考研C/C++语言程序设计在线题库每日一练(一十四)
以下是希赛网给大家分享考研C/C++语言程序设计在线题库每日一练,希望通过刷题可以帮助大家巩固重要知识点,对知识点查漏补缺,祝愿大家能顺利通过考试!
本文提供考研C/C++语言程序设计在线题库每日一练,以下为具体内容
1、合法的数组定义是( )。
A、 char a[]={0,1,2,3,4,5};
B、 int a[5]={0,1,2,3,4,5};
C、 char a={"string"} ;
D、 int a[6]={"string"} ;
2、设有以下定义:int w[3][4]={{0,1}, {2,4}, {5,8}}; int (*p)[4]=w; 则数值为4的表达式是( )。
A、*w[1]+1
B、p[1][1]
C、p++, *(p+1)
D、w[2] [2]
3、若有说明:int a[5][4];则数组a中各元素( )。
A、不能得到确定的初值
B、可在程序的编译阶段得到初值0
C、可在程序的运行阶段得到初值0
D、可在程序的编译或运行阶段得到初值0
4、C语言的if语句中,用作判断的表达式为( )。
A、任意表达式
B、算术表达式
C、逻辑表达式
D、关系表达式
5、在以下给出的表达式中,与do-while (E)语句中的(E)不等价的表达式是( )。
A、(E>0||E<0)
B、(E==0)
C、(!E==0)
D、(E!=0)
1、试题答案:A
试题解析:
【考点】本题考查数组的定义
对全部数组元素赋初值时,由于数据的个数已经确定,因此可以不指定数组长度,故A正确。B选项赋初值时超出数组范围,错误。C选项中a是字符变量,不能赋值为字符串,错误。D选项,字符串赋值时,系统会自动加一个结束标志'\0',故数组长度应为7,故错误。综上选A。
2、试题答案:B
试题解析:
【考点】本题考查指针引用二维数组。
int (*p)[4]=w表示p为指向包含4个元素的一维数组的指针变量,并将二维数组名w赋值给p。
对于二维数组w,w[1]表示数组第二行的首地址,则*w[1]表示第二行的首元素,故*w[1]+1就是w[1][0]+1=3,选项A不符题意。二维数组w初始化时,若只给数组中一部分元素赋值,系统会自动给后面为赋值的元素赋初值为0,故数组元素w[2][2]值为0,选项D不符题意。
对于指针p,p[1][1]与w[1][1]表示的内容一致,值为4,选项B符合题意。逗号表达式p++, *(p+1)的值就是*(p+1)的值,依次执行p++、 *(p+1),则*(p+1)表示的是数组第3行元素的首地址,故选项C不符题意。**(p+1)表示数组元素w[2][0],值为5;*(*p+1)才表示数组元素w[1][1],值为4。
综上本题选B。
3、试题答案:A
试题解析:
【考点】本题考查数组的初始化。
C语言规定,普通数组没有赋初值,默认的数组元素值是随机数。故选项A正确,本题选A。
4、试题答案:A
试题解析:
【考点】本题考查if语句。
if语句中,判断的是表达式值,若值为假(0),则不执行语句体,否则执行语句体;表达式的形式不限定。故本题选A。
5、试题答案:B
试题解析:
【考点】本题考查逻辑表达式。
对于do-while (E)语句中的E:若E等于0,则为假;否则E不等于0,则为真。逻辑或运算符'||'连接两个表达式,若表达式有一个以上为真,则结果为真,二者都为假时,结果才为假。!E表示:若E为假(0),则!E为真(非0),若E为真(非0),则!E为假(0)。各选项的情况如下:


