文档介绍:选择题
1:设float a=2, b=4, c=3;,以下C语言表达式与代数式(a+b)+c计算结果不一致的是
A.(a+b)*c/2
B.(1/2)*(a+b)*c
C.(a+b)*c*1/2
*(a+b)
参考答案:B,因为a,b,c三个变量都是浮点数,所以在B答案中其结果是0,因为在计算1/2是就是0,如果改成1/。
2:为了向二进制文件尾部增加数据,打开文件的方式应采用
A.″ab″
B.″rb+″
C.″wb″
D.″wb+″
参考答案:D
3:下述程序执行后的输出结果是
#include
main()
{
int x='f';
printf("%c\n",'a'+(x-'a'+1));
}
参考答案:A
4:C语言中,下列运算符优先级最高的是
A.!
B.%
C.>>
D.= =
参考答案:A
5:数组定义为“ int a [ 4 ] ; ”,表达式( ) 是错误的。
A.*a
[ 0 ]
++
参考答案:D
6:执行语句“ k=7>>1; ”后,变量 k 的当前值是
参考答案:C
7:定义函数时,缺省函数的类型声明,则函数类型取缺省类型
参考答案:D
8:若main()函数带参数,参数个数最多是
参考答案:C 只知道有定义形式main(int argc,char* argv[]))
9:若有宏定义:#define MOD(x,y) x%y
则执行以下语句后的输出结果是
int a=13,b=94;
printf(″%d\n″,MOD(b,a+4));
参考答案:B
10:下列各个错误中,哪一个不属于编译错误
x 原值 3 为 5 ,写作“ x==5 ;”
、无定义
参考答案:A
11:下列程序段运行后, x 的值是( )
a=1;b=2;x=0;
if(!( -- a))x -- ;
if(!b)x=7;else ++x;
参考答案:A
12:设
#define N 3
#define Y(n) ((N+1)*n)
则表达式2*(N+Y(5+1))的值是
参考答案:B Y(5+1) 传递过去的应该是6,而不是简单的把5+1给替换掉
13:若定义了char ch[]={″abc\0def″},*p=ch;则执行printf(″%c″,*p+4);语句的输出结果是
参考答案:C
14:下列转义字符中错误的是
A.′\000′
B.′\14′
C.′\x111′
D.′\2′
参考答案:C error C2022: '273' : too big for character
15:算术运算符,赋值运算符和关系运算符的运算优先级