C语言测试错题解析

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值