我们c语言考试 急~~请教高手~!

来源:百度知道 编辑:UC知道 时间:2024/06/06 17:09:11
有如下程序,输入数据25,13,10↙后,正确的运行结果是___.
main(){
int x,y,z;
scanf("%d%d%d",&x,&y,&z);
printf("x+y+z=%d\n",x+y+z);
}
A.x+y+z=48
B.x+y+z=35
C.x+y+z=38
D.不确定值

在执行static int a[][3]={{1,2},{3,4}};语句后,a[1][2]的值是___。
A.3 B.4 C.0 D.2

C语言是一种模块化的程序设计语言,下面对模块化的说法错误的是___.
A.一个模块一般是一个函数,这些函数可由不同的人去编写
B.模块化可以使程序结构清晰、容易理解
C.一个模块完成某一特定的功能
D.模块化使程序员的工作量增加

设整型变量a,b,c均为2,表达式a+++b+++c++的结果是___.
A.6
B.9
C.8
D.表达式出错

若已定义x和y为double类型,则表达式:x=1,y=x+3/2值是___.
A.1
B.2
C.2.0
D.2.5

第一题:x=25,y=13,z=10,所以x+y+z=48。选择A.
第二题:{1,2}给二维数组的第一行赋值,{3,4}给第二行赋值,所以a[1][0]=3,a[1][1]=4,那a[1][2]没有赋值,就自动为0了,选择C。
第三题:前三种说法都正确,所以选D。
第四题:++比+的优先级要高,并且结合方向从右向左,所以表达式等价于(a++)+(b++)+(c++),++在变量之后,是先取变量值再把变量自增,所以2+2+2=6。选A
第五题:x、2和3都是int整形的,所以x+3/2也是整形结果,即2,但是把这个值赋值给y之后就被自动装换成double型数据,变成了2.0,选C。

D
C
A
A
C

A
C
D
A
C

A
B
D
A
C