考研高级程序设计在线题库每日一练(二十七)
以下是希赛网给大家分享考研高级程序设计在线题库每日一练,希望通过刷题可以帮助大家巩固重要知识点,对知识点查漏补缺,祝愿大家能顺利通过考试!
本文提供考研高级程序设计在线题库每日一练,以下为具体内容
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、设C语言中,int类型数据占2个字节,则short类型数据占( )。
A、1个字节
B、2个字节
C、4个字节
D、8个字节
3、若有int a[2][3],*p1=a[1],(*p2)[3]=a;以下能正确引用数组元素的是( )。
A、**(p1+2);
B、*(p1+2);
C、**(p2+2);
D、*(p2+2);
4、若有char s[]="\123456abc\t",则strlen(s)的返回值是( )。
A、8
B、9
C、10
D、12
5、若有#define S2(x) x*x #define S3(x) S2(x)*x执行语句printf("%d",S3(1+2));的结果为( )。
A、7
B、9
C、11
D、27
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、试题答案:B
试题解析:
【考点】本题考查数据类型的存储大小。
【解析】由下表可知,short类型数据占2个字节,故本题选B。
3、试题答案:B
试题解析:
【考点】本题考查指针指向数组。
【解析】由题中定义,指针变量p1指向int变量(数组元素a[1][0]),p2指向含有3个int型元素的一维数组(即数组a第首行a[0])。故选项A错误,应为*(p1+2);指向数组元素a[1][2];故选项B正确。选项C、D中p2+2表示数组的第三行a[2],但是超出数组长度,数组元素溢出,故错误。综上本题选B。
4、试题答案:A
试题解析:
【考点】本题考查变量的默认存储类型。
【解析】strlen测字符串长度:注意转义字符遇'\0'就停止统计。字符串s中,'\123'是转义字符(123为八进制,十进制为83,取值范围为0~255),所对应的字符为S;'\t'为转义字符,表示水平制表符。故字符串中的字符依次为'S'、'4'、'5'、'6'、'a'、'b'、'c'、'\t'、'\0',故返回值为8,本题选A。
5、试题答案:A
试题解析:
【考点】本题考查符号常量。
【解析】由题,S2(x)、S3(x)被定义为符号常量,则S3(1+2)就是S2(1+2)*1+2,则有1+2*1+2*1+2,即1+2+2+2=7,故本题选A。
符号常量使用#define定义,它是预编译指令,它只是用符号常量代表一个字符串,在预编译后,符号常量就不存在了,全置换成字符串,对符号变量的名字是不分配存储单元的。替换文本时只是将其看作一个字符串,并不会有任何的计算发生。
简单的宏定义:#define <宏名> <字符串> 例:#define PI 3.1415926
带参数的宏定义:#define <宏名> (<参数表>) <宏体>

