考研高级程序设计在线题库每日一练(二十四)
以下是希赛网给大家分享考研高级程序设计在线题库每日一练,希望通过刷题可以帮助大家巩固重要知识点,对知识点查漏补缺,祝愿大家能顺利通过考试!
本文提供考研高级程序设计在线题库每日一练,以下为具体内容
1、若有语句int c[4][5],(*p)[5];p=c;,能正确引用数组元素的是( )。
A、p+1
B、*(p+3)
C、*(p+1)+3
D、*(p[0]+2)
2、若有说明int i,j=2,*p=&i;则能完成i=j赋值功能的语句是( )。
A、i=*p
B、*p=*&j
C、i=&j
D、i=**p
3、若有#define S(x) x*x 执行语句printf("%d",S(2+3));的结果为( )。
A、11
B、13
C、17
D、25
1、试题答案:D
试题解析:
【考点】本题考查指针指向一维数组。
【解析】语句int (*p)[5];表示p为指向包含5个元素的一维数组的指针变量。且有p=c,故p指向二维数组c的第一行,则有:
p+1指向二维数组c的第二行(即c[1]的地址);
*(p+3)指向数组c的第四行的第1个元素(即c[3][0]的地址);
*(p+1)+3指向数组c的第二行的第4个元素(即c[1][3]的地址);
p[0]指向数组c的第一行的第1个元素,则*(p[0]+2)表示数组c第一行的第3个元素(即数组元素c[0][2])。
综上本题选D。
2、试题答案:B
试题解析:
【考点】本题考查指针的引用。
【解析】由题中定义,*p是i的值,*&j是j的值,&j是j的地址,**p错误。故本题选B。
3、试题答案:A
试题解析:
【考点】本题考查符号常量。
【解析】由题,S(x)被定义为符号常量,则S(2+3)就是2+3*2+3,即2+6+3=11,故本题选A。
符号常量使用#define定义,它是预编译指令,它只是用符号常量代表一个字符串,在预编译后,符号常量就不存在了,全置换成字符串,对符号变量的名字是不分配存储单元的。替换文本时只是将其看作一个字符串,并不会有任何的计算发生。
简单的宏定义:#define <宏名> <字符串> 例:#define PI 3.1415926
带参数的宏定义:#define <宏名> (<参数表>) <宏体>

