C语言期末考试试卷及答案3
C语言期末考试试卷及答案3 一、单项选择题(本大题共20小题,每小题1分,共20分) 1. 下列说法正确的是() A. C程序可以从任何一个函数开始执行 B. main函数可以被其它函数调用 C. 一“ C程序只能有一“main函数 D. main函数中不能有形参 2. 下列属于正确的标示符是() A. ?a B. a=2 C. a. 3 D. a_3 3. 下列数据中属于“字符串常量”的是 A. ABC B. “ABC“ C. abc D. a 4. char型常量在内存中存放的是() A. ASCII代码B. BCD代码C.内码D.十进制代码 5. 设字符型变量a=3,b=6,计算表达式c=(a“b)〈〈2后c的二进制值是() A. 00011100 B. 00000111 C. 00000001 D. 00010100 6. 若有以下定义:char a; int b; float c: double d;则表达式a*b+d-c的值的类型为 ) A. float B. int C. char D. double 7. 以下程序的输出结果是a=5, b=4,则输入数据的形式应该是() #include “stdio. h“ main () ( int a, b; scanf (〃%d, b=%d,z, printf (〃a=%d, b=%d〃, a, b); } A 5 4 B 5, 4 C 5 b=4 D 5, b=4 8. C语言中,while和do,,while循环的主要区别是() A. while的循环控制条件比do„while的循环控制条件严格 B. do,,while的循环体至少无条件执行一次 C. do„while允许从外部转到循环体内 D. do„while的循环体不能是复合语句 9. 循环语句 for (x=0, y二0; (y!二 123) | | (xdata. a D. p. data, a 17. 有如下程序(提示:注意宏替换的规则) #define N 2 甘define M N+1 甘define NUM 2*M+1 #main() ( int i; for(i=l;ib) max二a; else max=b 8. 设有定义如下:#define F(N) 2*N,则表达式F(2+3)的值是 9. 在C语言中,指针运算符为,取地址运算符 O 10. 在C语言中,参数传递的两种形式是 和 三、程序分析题(本大题共5小题,每小题5分,共25分) 1. 若运行时输入:2〈回车〉,则以下程序的运行结果是 ttinclude main () ( char class; printf( Enter 1 for 1st class post or 2 for 2nd post:“); scanf( “%c” , if (class二二,r ) printf ( “1st class postage is 19p” ); else printf ( “2nd class postage is 14p” ); 2. 以下程序的执行结果是— #include void main () { int num=0