3.分析下面程序的执行结果( C )
main( ){
int a = -2;
while(a++);
printf("%d\n",a);
}
A. -1 B.0 C.1 D.死循环
本题应注意while语句执行完后的分号“ ;”,因为a的自增是放在后面的,所以先算 while(a)的值,a = -2,非0所以为真,执行空循环,a自增1后等于-1;同理a再执行一次空循环后等于0;此时条件为假,所以结束循环,a随后自增1后,值等于1,故选C。
4.关于函数叙述错误的是(AD)
A.函数的声明可以在另一个函数内 (此选项错误,函数不能嵌套声明、定义等)
B.函数的定义(或实现)不可以在另一个函数内
C.声明函数时必须指定函数形参的个数和类型
D.函数的声明必须指定形参名 (此选项错误,函数的声明不一定要指定形参名)
5.在C语言中,要求运算数必须是整型的运算符是 (D)
A./ B.++ C.!= D.%
7.若有说明:int n = 2,*p = &n,*q = p;则以下非法的赋值语句是(C) (此题需细心!)
A.n = *q B.p = q C.p = n D.*p = *q
13.以下程序的输出结果是(C) (此题是最最不应该答错的类型,应当非常注意宏定义的数值)
#define M 5
#define N M+M // N = 5 + 5
main()
{
int K;
k = N * N * 5;// k = 5 + 5 * 5 + 5 * 5 应当注意宏定义是直接替换
printf(“%d\n”,k);
}
A.500 B.125 C.55 D.100