第三套期末考试题
一、单项选择题 ( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题 1 分,共 15 分 )
1. 完成 C 源文件编辑后、到生成执行文件, C 语言处理系统必须执行的步骤依次为 ( )
A. 连接、编译 B. 编译、连接
C. 连接、运行 D. 运行
2. 常数的书写格式决定了常数的类型和值, 0x1011 是 ( )
A.8 进制整型常量 B. 字符常量
C.16 进制整型常数 D.2 进制整型常数
3.C 语句“ x*=y+2 ;”还可以写作 ( )
A. x=x*y+2; B. x=2+y*x;
C. x=x*(y+2); D. x=y+2*x;
4. 下列格式符中,可以用于以 8 进制形式输出整数的是 ( )
A. %d B. %8d
C. %o D. %1d
5. 下列各语句中,能够且仅输出整型变量 a 、 b 中最大值的是 ( )
A. if(a>b) printf( ″ %d \ n ″ ,a);printf( ″ %d \ n ″ ,b);
B. printf( ″ %d \ n ″ ,b);if(a>b) printf( ″ %d \ n ″ ,a);
C. if(a>b) printf( ″ %d \ n ″ ,a);else printf( ″ %d \ n ″ ,b);
D. if(a
6. 执行语句“ for(s=0,i=1;i<=10;i=i+3) s+=i; ”后,变量 s 、 i 的当前值是 ( )
A. 22,13 B. 12,10
C. 22,10 D. 12,13
7. 下列各语句定义了数组,其中一个不正确的是 ( )
A. static int a [ 5 ] ,b [ 2 ][ 3 ] ;
B. char no [ 30 ] ,rec [ 30,6 ];
C. int x [] ={2,4,6,8,10};
D. int x [ 10 ] ={1,2,3,4,5} ;
8. 宏定义“# define p(x,y,z) x=y*z ;”的宏替换“ p(a,x+5,y - 3.1) ”应为 ( )
A. a=x+5*y - 3.1 B. a=(x+5)*(y - 3.1);
C. a=x+5*y - 3.1 D. a=(x+5)*(y - 3.1)
9. 下列语句定义 p 为指向 float 类型变量 d 的指针,其中哪一个是正确的 ( )
A. float d,*p=d; B. float d,*p=&d;
C. float d,p=d; D. float *p=&d,d;
10. 执行语句“ for(i=0;i<10;++i,++a)scanf( ″ %d ″ ,a); ”试图为 int 类型数组 a [ 10 ]输入数据,是错误的。错误的原因是 ( )
A. 指针变量不能做自增运算 B. 数组首地址不可改变
C.++i 应写作 i++ D.++a 应写作 a++
11. 定义函数时,缺省函数的类型声明,则函数类型取缺省类型 ( )
A. void B. char
C. float D. int
12. 执行语句“ k=5 | 3; ”后,变量 k 的当前值是 ( )