C语言程序设计入门第一次单元测试(中国大学MOOC)

版权声明:本文为博主原创文章,若需转载,请邮件联系. https://blog.csdn.net/YiferHuang/article/details/79970443

  • 以下代码片段的输出是:
int j=4;
for ( int i=j; i<=2*j; i++ ) {
    switch ( i/j ) {
    case 0:
    case 1: printf(“*”); break;
    case 2: printf(“#”);
    }
}

答案:****#

解析:i/j的结果是 11112,所以就很容易写出答案了


  • 以下哪个不是C语言关键字?

int    for    include    while

答案:include


  • 在代码: while(!e)中,!e等价于

e==0    e!=0    e==1    e!=1

答案:e==0

解析:while(true),!e=true ==> e==0


  • 下列可用于C语言程序标识符的一组是(名字中间以逗号分隔)

void,_2a, 2a

2_a, xyz, b1_s

void, d, WORD

_if, _123, file

答案:_if, _123, file

解析:关键字不行,数字开头不行


  • 对于以下代码输出结果是:
char ch = -1;
printf("%d\n", ch);

答案:-4

解析:字符存储就是用数字存储的,那么赋值了一个整数,让输出对应的整数,那肯定就是刚才赋值了的


  • 对于以下代码,执行后,i有几种可能性
int i;	
scanf("%d", &i);	
i %= 4;

答案:7

解析:结果分别是0,1,2,3,-1,-2,-3 注意的是,1.2 % 4 = 1


  • 对于下面代码,哪句话是对的
int i=6;
do{
printf("%d", i--);
} while (0);

答案:打印出6


  • 对于下面代码,for循环结束后,i的值是多少
int i;
for(i=0;i<10;i++)
  printf("%d",i);

答案:10


  • 以下哪个for语句是错误的?

for(i=0;i++)

for(i=0;i<10,j<10;i++)

for(;;)

for(int i=0;i<10,j<10;i++)

答案:for(i=0;i++)


  • 表达式ch =‘B’+‘8’-‘3’表示的字符是:

答案:G

解析:'8'-'3'=5,B后面的第5个字母,是G


  • 以下代码的输出是:
int x=0, y=0, z=0;
z = (x==1) && (y=2);
printf("%d ", y);

答案:0

解析:很多人会疑问,y=2是赋值语句,为什么不是2?这里需要注意的是,(x==1)是0,而后面用的是且&&,所以前面的x==1判断为0后,就不执行后面的了,因为结果一定是0


  • 以下代码结果是:
int i=10;
long long t = sizeof(i++);
printf("%d", i);

答案:10

解析:关键在于sizeof,sizeof()中的表达式是不进行计算的。


  • 表达式(double)(10/4*4)的结果是

答案:8.000000


  • 以下代码的输出是:
int i,x,y;	
i=x=y=0;
do {
	++i;
	if ( i%2 ) 
		x+=i, 
	i++;
	y +=i++;
} while ( i<=7 );
printf("%d %d %d", i, x, y);

答案:9 1 20

解析:直接手动模拟一下就可以了,值得注意的是y+=i++的执行顺序为,y = y + i ; i ++;


阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页