考研高级程序设计在线题库每日一练(二十三)
以下是希赛网给大家分享考研高级程序设计在线题库每日一练,希望通过刷题可以帮助大家巩固重要知识点,对知识点查漏补缺,祝愿大家能顺利通过考试!
本文提供考研高级程序设计在线题库每日一练,以下为具体内容
1、设a是一个m行n列的二维数组,则a[i][j]是该数组中的第( )个元素。(注:a[0][0]表示该数组中的第0个元素)
A、i*m+j
B、i*n+j
C、j*m+i
D、j*n+i
E、无正确答案
2、设有如下定义struct sk{int a;float b;}data,*p;若要使p指向data中的a域,则正确的赋值语句是( )。
A、p=(struct sk*)&data.a
B、p=(struct sk*)data.a
C、p=&data.a
D、*p=data.a
3、若有int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则下列表示值不为5的是( )。
A、*p+5
B、p[5]
C、*(p+5)
D、*p[5]
4、设有以下语句:int x=3,y=2;则表达式x*=y+8的值为( )。
A、14
B、5
C、30
D、10
5、以下选项中合法的用户标识符( )。
A、long
B、_2Test
C、3Dmax
D、.dat
1、试题答案:E
试题解析:
【考点】本题考查二维数组的引用。
【解析】C语言规定数组元素的下标从0开始(注:a[0][0]表示该数组中的第1个元素)。数组定义为int a[m][n],表示有m行n列,即一共m行,每行n个元素;则a[i][j]应是数组中第i*n+j+1个元素;ABCD没有符合的选项,故无正确答案。
2、试题答案:A
试题解析:
【考点】本题考查数据类型的强制转换。
【解析】*p是指向结构体类型的,若要让其指向int型,需将a域的地址强制转换为结构体类型的指针,即p=(struct sk*)&data.a。故本题选A。
3、试题答案:D
试题解析:
【考点】本题考查指针指向数组。
【解析】题中定义p是一个指针整型变量指针,且赋值为a(即数组a的首元素地址)。由下表可知,*p表示a[0],*p+5=0+5=5;p[5]与*(p+5)就是元素a[5],值为5;故选项A、B、C的值均为5。选项D中报错,p[5]是int型变量,不能再使用指针运算符'*'。综上本题选D。
4、试题答案:C
试题解析:
【考点】本题考查复合赋值运算符。
【解析】赋值运算符'*='结合方向自右至左。故表达式可以写成x=x*(y+8)(即3*(2+8)=30),即表达式的值为30;故本题选C。
复合赋值运算符(在等号'='前加一个运算符)。如:
a+=3 等价于 a=a+3
x*=y+8 等价于 x=x*(y+8)
5、试题答案:B
试题解析:
【考点】本题考查标识符。
【解析】选项A中为long关键字声明长整型变量或函数返回值类型,故不合法。选项C中3Dmax的第一个字符为数字,故不合法。选项D中.dat有字符'.',故不合法。选项B符合标识符命名标准,故合法。综上本题选B。
C语言规定标识符只能由字母、数字、下划线3种字符组成,且第一个字符必须为字母或下划线。编译系统将大写字母和小写字母认为是两个不同的字符。关键字不能作为用户标识符。

