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
D.c/2*(a+b)
参考答案:B,因为a,b,c三个变量都是浮点数,所以在B答案中其结果是0,因为在计算1/2是就是0,如果改成1/2.0就正确了。
2、为了向二进制文件尾部增加数据,打开文件的方式应采用
A.″ab″
B.″rb+″
C.″wb″
D.″wb+″
参考答案:D
3:下述程序执行后的输出结果是
main() { int x=‘f‘; printf("%c\n",‘a‘+(x-‘a‘+1)); }
A.g B.h C.i D.j
参考答案:A
4、C语言中,下列运算符优先级最高的是
A.!
B.%
C.>>
D.= =
参考答案:A
5、定义函数时,缺省函数的类型声明,则函数类型取缺省类型
A.void
B.char
C.float
D.int
参考答案:D
6、若main()函数带参数,参数个数最多是
A.0
B.1
C.2
D.3
参考答案:C 只知道有定义形式main(int argc,char* argv[])
7、下列各个错误中,哪一个不属于编译错误
A.改变 x 原值 3 为 5 ,写作“ x==5 ”
B.花括号不配对
C.复合语句中的最后一条语句后未加分号
D.变量有引用、无定义
参考答案:A
8、下列程序段运行后, x 的值是( )
a=1; b=2; x=0; if(!( --a)) x--; if(!b) x=7; else ++x;
A.0
B.3
C.6
D.7
参考答案:A
9、若定义了char ch[]={″abc\0def″},*p=ch;则执行printf(″%c″,*p+4);语句的输出结果是
A.def
B.d
C.e
D.0
参考答案:C
10、下列转义字符中错误的是
A.′\000′
B.′\14′
C.′\x111′
D.′\2′
参考答案:C error C2022: ‘273‘ : too big for character
11、算术运算符,赋值运算符和关系运算符的运算优先级按从高到低依次为
A.算术运算、赋值运算、关系运算
B.算术运算、关系运算、赋值运算
C.关系运算、赋值运算、算术运算
D.关系运算、算术运算、赋值运算
参考答案:B
12、表达式 strcmp( “ 3.14 ”,“ 3.278 ” ) 的值是一个
A.非零整数
B.浮点数
C.0
D.字符
参考答案: A
13、设struct{
short a;
char b;
float c;
}cs;
则sizeof(cs)的值是
A.4
B.6
C.7
D.8
参考答案: D 字节对齐的话应该是8
14、若变量已正确定义,表达式( j=3 , j++ )的值是
A.3
B.4
C.5
D.0
参考答案:A
15、多态类中的虚函数表是Compile-Time,还是Run-Time时建立的?
参考答案:
虚拟函数表是在编译期就建立了,各个虚拟函数这时被组织成了一个虚拟函数的入口地址的数组.
而对象的隐藏成员--虚拟函数表指针是在运行期--也就是构造函数被调用时进行初始化的,这是实现多态的关键.
16、浅述GCC编译器在编译时都有哪几个过程:
gcc编译c源码有四个步骤:预处理,编译,汇编,链接。
17、二维数组AA [ 3 ][ 7 ]的另外一种表示方法:
原文:http://www.cnblogs.com/Huluwa-Vs-Aoteman/p/4941229.html