考研C/C++语言程序设计在线题库每日一练(一十七)
以下是希赛网给大家分享考研C/C++语言程序设计在线题库每日一练,希望通过刷题可以帮助大家巩固重要知识点,对知识点查漏补缺,祝愿大家能顺利通过考试!
本文提供考研C/C++语言程序设计在线题库每日一练,以下为具体内容
1、下列程序中格式错误的是( )。
A、 a=2:b=3;
B、 int a,b,z;
C、 main( )
D、 z=a+b;
2、对for(表达式1;;表达式3)可以理解为( )。
A、for (表达式1;表达式3;表达式3)
B、for (表达式1;表达式1;表达式3)
C、for (表达式1;1;表达式3)
D、for (表达式1;0;表达式3)
3、设有以下定义: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]
4、若有说明:int a[5][4];则数组a中各元素( )。
A、不能得到确定的初值
B、可在程序的编译阶段得到初值0
C、可在程序的运行阶段得到初值0
D、可在程序的编译或运行阶段得到初值0
5、若有说明: int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是( )。
A、2
B、3
C、4
D、5
1、试题答案:A
试题解析:
【考点】本题考查C语言语法规则
C语言允许在一个定义语句中定义多个变量,变量间用逗号','隔开;例int a,b;,故选项B格式正确。"a=2:b=3;"中冒号':'不能单独出现,没有实际意义;故选项A格式错误,选A。
2、试题答案:C
试题解析:
【考点】本题考查for循环。
for语句的一般格式为for(表达式1;表达式2;表达式3)循环体。若省略表达式2,循环将无终止地执行,也就是认为表达式2始终为真(非0);题中只有选项C符合题意,故本题选C。
3、试题答案: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。
4、试题答案:A
试题解析:
【考点】本题考查数组的初始化。
C语言规定,普通数组没有赋初值,默认的数组元素值是随机数。故选项A正确,本题选A。
5、试题答案:B
试题解析:
【考点】本题考查二维数组的定义与初始化。
数据总个数为7,第2维长度为3,7除3等于2,还余1;则第一维大小为2+1=3,故本题选B。
定义二维数组时,如果对全部元素都赋初值(即提供全部的初始数据),则定义数组时对第1维的长度可以不指定,但第2维的长度不能省略。系统会根据数据总个数和第2维的长度计算出第1维的长度。

