2022年自学考试《C语言程序设计》习题及答案14
【1.66】说明语句'int(*p)();'的含义是。
A)p是一个指向一维数组的指针变量
B)p是指针变量,指向一个整型数据
C)p是一个指向函数的指针,该函数的返回值是一个整型
D)以上都不对
【1.67】设有说明int(*p)[4];其中的标识符p是。
A)4个指向整型变量的指针变量
B)指向4个整型变量的函数指针
C)一个指向具有4个整型元素的一维数组的指针
D)具有4个指向整型变量的指针元素的一维指针数组
【1.68】已知:char s[10],*p=s,则在下列语句中,错误的语句是。
A)p=s+5;B)s=p+s;C)s[2]=p[4];D)*p=s[0];
【1.69】已知:char s[100];int i;则引用数组元素的错误的形式是。
A)s[i+10]B)*(s+i)C)*(i+s)D)*((s++)+i)
【1.70】已知:char s[6],*ps=s;则正确的赋值语句是。
A)s='12345';B)*s='12345';C)ps='12345';D)*ps='12345';
【参考答案】
【1.66】答案:C
注释:要注意与说明语句'int(*p)[];'的区别。说明语句'int(*p)[];'说明的是一个指向数组的指针。
【1.67】答案:C
注释:题干中由于*和p被小括号括起,所以p应被解释为一个指针,而后的下标运算符[]说明所指向的对象是一个有4个int型元素的一维数组;如果是int(*p)(),则是指向函数的指针。对于int*p[4],则根据运算符的优先级,先考虑p和[]运算符的关系,所以它就是一个指针数组了。
【1.68】答案:B
注释:选项B有两处错误,一是数组名是常量,不能出现的赋值好的左侧,二是指针变量只能和整数做加,不能和作为地址常量的数组名相加。
【1.69】答案:D
注释:s作为数组名是地址常量,而s++是s=s+1,C语言不允许对常量进行赋值。
【1.70】答案:C
热门推荐:
自考有疑问、不知道如何选择主考院校及专业、不清楚自考当地政策,点击立即了解》》
推荐阅读: