考研C程序设计在线题库每日一练(六十三)
以下是希赛网给大家分享考研C程序设计在线题库每日一练,希望通过刷题可以帮助大家巩固重要知识点,对知识点查漏补缺,祝愿大家能顺利通过考试!
本文提供考研C程序设计在线题库每日一练,以下为具体内容
1、对以下说明语句int a[10]={6,7,8,9,10};的正确理解是( )。
A、将5个初值依次赋给a[6]至a[10]
B、将5个初值依次赋给a[0]至a[4]
C、因为数组长度与初值的个数不相同,所以此语句不正确
D、将5个初值依次赋给a[1]至a[5]
2、下面程序段不是死循环的是( )。
A、int j=50; while(1){j=j%100+1; if(j>100) break;}
B、for(;;)
C、int k=0; do{++k;}while(k>=0);
D、int s=36; while(s) --s;
3、以下程序的输出结果是( )。main(){int **k,*a,b=100;a=&b;k=&a;printf("%d\n",**k);}
A、运行错误
B、a的地址
C、100
D、b的地址
4、有定义语句:char *p[3];以下选项中与此语句等价的是( )。
A、char p[3];
B、char **p;
C、char *(p[3]);
D、char (*p)[3];
5、下列表达式中,错误的是( )。
A、5.0%2.0
B、i+++j
C、x*=y+8
D、2>1?a:b
1、试题答案:B
试题解析:
一维数组初始化的方法:
(1)在定义数组时对全部数组元素赋初值。
(2)只给数组中一部分元素赋值,系统会自动给后面未赋值的元素赋初值为0。
(3)若想使一个数组中全部元素值为0,可以写成int a[5]={0};
(4)对全部数组元素赋初值时,由于数据的个数已经确定,因此可以不指定数组长度。如int a[5]={0,1,2,3,4};可以写成int a[]={0,1,2,3,4};。但是,如果数组长度与提供初值的个数不相同,则方括号中的数组长度不能省略。故本题选B。
2、试题答案:D
试题解析:
选项A中,循环条件语句为1,恒为真;j的初值为50,变量j的变化语句为j=j%100+1;,则j的值一直加1,直到j值100时,j=j%100+1=0+1=1,故j的值的取值范围为1~100,故j>100恒为假,则恒不会执行break语句。故循环为死循环。
选项B中,循环条件语句为空,系统认为表达式恒为真,即循环无终止进行下去,为死循环。
选项C中,k的初值为0,循环变量增值语句为++k;,则k的值恒大于等于0,即循环条件语句恒为真。故循环为死循环。
选项D中,s的初值为36,循环变量增值语句为--s;,则循环执行36次时,s的值为0,此时循环条件语句为假,循环结束,故循环不是死循环。
综上本题选D。
3、试题答案:C
试题解析:
由程序可知,b是int型变量,a是int型指针变量,k是指向int型指针变量的指针变量。语句a=&b;令指针a指向变量b;语句k=&a;令指针k指向指针变量b。故*k=a,则**k=*a=b;故输出结果为b的值,即100。故本题选C。
4、试题答案:C
试题解析:
语句char *p[3];中,运算符"[]"优先级高于运算符"*",那么可以写成char *(p[3]);。故本题选C。
5、试题答案:A
试题解析:
'%'运算符要求参加运算的运算对象(即操作数)为整数,结果也是整数。故选项A错误,本题选A。
点击查看【完整】试卷>>