c语言题目,求大侠解答

2024-05-18 12:25

1. c语言题目,求大侠解答

首先要知道以下几点:
1、default不管放在前后,default语句是最后执行的;
2、如果default后面带有break,那么程序就会正常跳出switch,否则,程序会继续向后执行switch语句(不管符不符合case)
3、case2不是case 2,少了空格(- -感觉这里有点坑),那case2算什么?大概只能算是个goto标签吧,知识有限不敢确定,只能确定它和case 2是完全不同的。

具体流程:
开始k=1 , case2、case4不符,转到defult语句,c=1。然后根据上述第2点,执行了case2那行,c=2. 然后遇到break,跳出switch.

接着k=2,case2、case4不符(格式已错,没相不相符而言了),如k=1过程一样,最后c=5.

最后k=3,不符循环条件,结束for循环。

所以,default最好一般放在最后一行,并有加个break;具体可百科一下default.把case2、case4改成case 2、case 4后,你会发现结果变成了3,这也证明了以上是正确的。

c语言题目,求大侠解答

2. 大学c语言基本题,求高手解答,满意加悬赏

一
D
C
C
无解
D
D
B
D
A
C
D
D
B
A
ABC

二
15
y>-9&&y<9
1
1    4    3

三

1.
#include int main(){    char c=getchar();    if(c>='A'&&c<='Z')    {        c=c-'A'+'a';    }    putchar(c);    return 0;}2.
#include int main(){    int year;    scanf("%d",&year);    if(year%400==0||y%4==0&&y%100!=0)    {        printf("YES\n");    }    else    {        printf("NO\n");    }    return 0;}

3. 高分悬赏,c语言高手进,关于C语言的简单问题。

1、main函数的格式和函数定义的格式就是一样的,都是“函数类型+函数名(形参){   }”,差别就是main的函数类型是“主”函数,其他的函数在相应位置是“int,float”等等,在我看来,编写main函数就是函数定义的过程。
2、圆括号中的内容(在上一问中,我在圆括号内写了“形参”),就是形参,我估计你提这个问题是因为在学习了将数组作为形参之后有点迷糊了。如果是常量(即int,float等类型的)作为形参,那么在调用子函数的过程中,实参的数值不会改变,所以你要获得通过子函数计算的结果,就必须在子函数中写上return语句;但是如果将数组作为形参,那么在调用子函数的过程中,是将数组的首地址传给了形参,子函数在计算时是在原存储空间中进行计算,也就是说实参的值发生了改变,所以不用再写return语句。
3、至于第三个问题,我不太明白你所指的是什么问题
希望能帮到你!

高分悬赏,c语言高手进,关于C语言的简单问题。

4. C语言的题,都不难,帮忙解答,追加悬赏喔。麻烦把各个选项都解释解释最好了:)

第一题:
这里的p是一个指针,他指向数组a的第一个元素,其实这里的p就可以认为是a了。
还有就是这个P++与++P的问题了,P++是先返回P的值在把p递增。++p则是把P先递增再返回。
所以P++ —>n 相当于a[0].n = 5;p->n ++ 相当于(p->n)++是先返回在递增,注意->运算符的优先级大于++,所以还是相当于a[0].n = 5;同理 ++ p->n 就相当于++(p->n) = ++a[0]. n = 6;++(*p).n 是把p的地址递增一,也就是相当于a[1].n  = 7.

第二题:
这个union是表示,一块储存空间用short,long,char,三种类型来描述,所以c[0] 与i[0]一样的。这个程序是要打印s->c[0],printf("%x\n", s ->c[0])这句里的%x表示打印的数字是十六进制的。由于c[0]里面放的是0x39,所以这里打印的正好是39.
第三题:
与第二题类似,注意这里求的是them的空间大小,因为them表示成两个long型的数组,一个long是32位,及八个字节,所以两个就是16个字节。所以答案是16.
第四题: 
D)scanf("%d",ps -> age);这里的ps->age 并不能表示地址,他只是返回age的值,ABC中的都表示的是地址。

第五题:
这个题是因为C选项for语句在读入一个换行之后就停止了,所以并不能统计所有输入。

第六题:
这里的p是指针,他就相当于dt,++p->x = (d[1].x) = ++3 = 4,注意这里的++是作用于P的,所以要先递增p,后面的++p—>y,其实这个值是不确定的,以为p现在已经不是指向a中的元素了。所以有前面的值确定答案的。

第七题:
字符串首先是用双引号引起来,常量就是一般的字符,“”这个表示的的是空字符,他也是一个字符常量,“\\\”这个反斜杠是用来表示转义的,单引号表示字符的ASCN码运算。

第八题:
a[][] 是一个二维数组,*p[3]这是定义一个Int型的指针数组,表示p[i]中存的是指针(地址),所以C正确,他是a[1][2]的地址存放到p[0]中。因为a二维数组的地址,p指向的是一维数组所以A,B,C错。

第九题:
fun函数的作用是把字符s接到字符t后面,所以在主函数中调用fun(ss,aa)后,ss="accbbxxyy",aa不变。所以输出结果是D

第十题:
A)int a=b=0 ;不允许这样赋值,可以int b=0;a=b;
B)char A=65+1,b='b';这个A的赋值错误, 
C)float a=1,*b=&a,*c=&b ; 这个&b的是指针类型,而C却是float
D)double a=0.0,b=1.1; 正确

第十一题:
先判断a>b,不是,所以a=b不执行,接着执行c=a,所以这时c,a都是3,在判断c!=a,不是,所以直接打印,结果是3,5,3

第十二题:
定义二维数组a[m][n]的时候,m可以没有,但是n必须给出。C)int x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}}; 这个错了。

第十三题:
这段程序,中fun函数的作用是;首先有个char型指针数组s[]参数,还有一个n表示长度,从数组(每个数组元素中存放的是字符串)的下标为0的元素开始到下标为n-1的元素为止一共n个元素,依次与该元素后面的一共n-1个元素进行比较(比较数组元素中的字符串),就是s[0]要和s[1]到s[n—1]中的每个元素比较,如果这字符串的长度大于后面的字符串的长度,就把这两个数组元素中的字符串互换。
这个操作和冒泡排序比较类似
所以main()中fun(aa,5)执行之后,ss[] = {"xy","bbc","bbcc","aabcc","aaaacc"}
那么输出结果应该是xy,aabcc。
好了,都搞定了,因为水平有限,很难保证全对,但是我也是很认真的做了,希望对你有帮助。

5. c语言题求解,百分悬赏

输出为
-125=-5*5*5
先在主函数中输出原数值,和等于号,
然后输出符号-
然后调用
fun(125);
fun的功能分解质因数
于是fun会输出 5*5*5
所以总的输出为
-125=5*5*5
注意 在fun结尾的输出换行那句不会执行,所以最终的结果没有换行。

c语言题求解,百分悬赏

6. C语言的题,谢谢您的解答

这个问题看你较真到什麼程度。


A一定错---源程序不能直接运行,CPU只识别二进制代码,你知道的.
C应该是错的---源程序被编译之後,二进制代码仅仅是你在源文件里写的那些,不包括任何库文杰,所以不能执行,还需要连接库的二进制代码文件。不过也有例外,如果你什麼代码都没写,main是空的就不行了。但这麼想也有漏洞,见D。
D应该是对的---可以啊,一个空空的main就行了嘛。但是其实从汇编角度来说,main之外可能还有一部分的东西,例如Windows MFC的程序,都需要再连接一个预先写好的程序片段。
B我就叫不准---二进制由两部分:执行性代码和数据。此外,源程序还多了一些 预处理指令。但是我觉得只要是可执行代码就一定是二进制的执行性代码了。

7. 跪求大神帮我解答c语言的选择题,感谢

1题选D,strcat是连接函数;
2题选C,
3题选B,i>3取1;i<3取0;结果就出来了;
4题选C,*(P+3)代表啊a[3]=4;*(p+3)+=2后,*(p+3)=*(p+3)+2=4+2=6;p是数组a的首地址,所以*p=1;

跪求大神帮我解答c语言的选择题,感谢

8. C语言题,求答案,求解释

怎么看怎么是7
\\是第一个字符,他是字符‘\’
TOP分别是三个字符
\t是第五个字符,是一个tab(标准的8个空格,不过是一个字符)
\65是一个8进制的数字,值为53,在ASSIC中53表示字符5,是一个字符
\"是一个字符,是字符““”,是最后一个字符
综上统计,一共是7个字符
另外,有图为证: