1.对于"int *pa[5];"的描述中,( )是正确的。
A.pa是一个指向数组的指针,所指向的数组是5个int型元素
B.pa是一个指向某数组中第5个元素的指针,该元素是int型变量
C.pa [5]表示某个元素的第5个元素的值
D.pa是一个具有5个元素的指针数组,每个元素是一个int型指针
正确答案: D
解析:int(*ptr)[ ]
与int*ptr[ ]
的区别。int(*ptr)[ ]
是指一个指向整形数组的指针,而 int *ptr[ ]
是指指针数组,ptr[ ]
里面存的是地址。它指向的位置的值就是*ptr[0]
、*ptr[1]
…*ptr[3]
.
2.指出以下关于C程序书写格式的叙述中哪些是正确的。
A.C程序书写格式中,要求每行必须写多个语句。
B.C程序书写格式限制严格,一行内必须写一个语句。
C.C程序书写格式比较自由,一个语句可以分写在多行上。
D.C程序书写格式严格,要求一行内必须写一个语句,并要求有行号。
正确答案: C
3.以下程序的输出结果为()。
A.11,10 B.9,10 C.010,9 D.10,9
#include<stdio.h>
int main()
{
int i = 010, j = 10;
printf("%d,%d\n", ++i, j--);
}
正确答案: B
4.已知x=43,ch='A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是()。
A.0 B.语法错 C.1 D.“假”
正确答案: C
解析:表达式x>=y&&ch<’B’&&!y等价于(x>=y)&&(ch<’B’)&&(!y),(x>=y)
的值为真,(ch<‘B’)的值也为真(因’A’<’B’),而y=0,所以(!y)的值也为真,所以整个表达式的值为真,即为1。
5.在 C 语言程序中,若对函数类型未加显式说明,则函数的隐含类型为()。
A.void B.double C.char D.int
正确答案: D
解析:C中:如果函数未指定返回值类型,则默认为int。
c++中:如果一个函数没有返回值,返回值类型必须指定为void。