平顶山工业职业技术学院C语言程序设计期末考试试卷
一、选择题(每小题1分,共20分)
1. 在C语言程序中,main()函数( )。
A. 必须作为第一个函数 B. 必须作为最后一个函数
C. 可以放在任意位置 D. 必须放在它所调用的函数之后
2. 表达式 ! ( 10 < 20 ) || 15 > 30 && 10 ! = 15的值是( )。
A.0 B. 1 C. 2 D. 10
3. 下列标识符中,合法的用户标识符是( )。
A. a_1234 B. 1234 C. char D. x?123
4. 下列的C语言常量中,错误的是( )。
A. 0Xff B. 1.2e0.5 C. 2LD.'\72'
5. 下列表达式中,( )满足x为奇数时为真,x为偶数时为假。
A. x%2 = = 0 B. (x/2*2-x)= =0 C. !!(x%2) D. !x%2!=0
6. 若有说明语句:int k=1,a=2,b=3,c=4; 表达式k
=1) i- -; 执行后,i的值为( )。
A. -1 B. 0 C. 1 D. 2
8. 若定义:int w=1,x=2,y=3,z=4,a=5,b=6;则执行语句(a=w>x)&&(b=y>z);后,a、b的值为( )。
A. 1和1 B. 0和6 C. 5和3 D. 0和0
9. 下列运算符中,具有右结合性的是( )。
A. %B. + C. && D. =
10. 以下关于getchar()函数的正确使用语句是( )。
A. char c; getchar(c); B. char c; c=getchar();
C. char c; getchar(&c); D. char *c=getchar();
11.字符串"\t\'Name\\Address
"的长度为( )。
A. 18 B. 17 C. 16D. 15
12.#define MUL 2+3, 则表达式“5+MUL*5.0”的值为( )。
A.20.0 B.22.0 C.30.0 D.50.0
13. 下面关于数组初始化的语句,错误的是( )。
A. int a[5]={1,2,3}; B. int a[2]={0,0};
C. int a[][]={1,2};D. int a[][3]={1,2,3,4,5,6};
14. 有定义语句:int a, b, *p1, **p2; 则下面语句正确的是( )。
A.a=*p1; B.b=*p2; C.p1=&a; D.p2=&b
15. 定义:int a[ ]={0,1,2,3,4,5},i; 其中0≤i≤5,则对a数据元素引用不正确的是( )。
A. a[0]B. a[i] C. *(a+i) D. a[6]
16. 如果函数定义时,实参是整型变量,则函数调用时,实参不可以是( )。
A. 字符型常量 B. 数组名 C. 整型常量 D. 整型表达式
17. for(i=0;i<=20;) printf(″%d
″,i+=2); 则循环体执行( )次。
A.21B.20C.11D.10
18. 以下关于switch语句的描述,正确的是( )。
A. 一个switch表达式可以是任意的类型;
B. 当遇到break语句时,程序停止运行;
C. 在switch语句中必需要有default子句;
D. switch语句总是可以用一系列的if…else语句来替换。
19. 在int a=3,*p; p=&a; 中,*p 的值是( )。
A.变量a的地址值 B.变量p的地址值C.3 D.无意义
20. 设a=5,b=3,则表达式a^b<<2的二进制表示的值为( )。
A. 00000100 B. 00001001 C. 00011000 D. 00001101
得分
阅卷人
二、填空题(每题2分,共20分)
1. C语言中,语句结束符是 ,注释符是。
2. 定义一个名为x的整型二维数组,其大小为3×4,要求每行第一个元素为1,其余均是0,则定义语句是 。
3. 函数调用时,若形式参数和实际参数均为变量名时,传递方式为;
若形式参数和实际参数均为数组名时,传递方式为 。
4. 设a=4,b=3,x=5.5,y=2.5,表达式(float)(a+b)/2+(int)x%(int)y的值是。
5. 若有声明语句:char *a="English"; ,则执行printf("%s",a);的输出结果是 ,而执行printf("%c",a);的输出结果是。
6."."称为运算符,"->"称为 运算符。
7. 结构化程序的三种基本结构分别是 、 和循环结构。
8. putchar()函数用于输出 ,使用该函数时,需要在程序头部写入
语句。
9. 有如下语句: struct { char ch,int i}arr[3]={ ′A′,65, ′a′,97, ′0′,48}; ,则输出结果为a,97的输出语句是printf() ;
10. struct{ int i[2]; char c[6]; float a;}ex1;
union{ int i[2]; char c[6]; float a;}ex2;
则sizeof(ex1)的值是,sizeof(ex2)的值是。
三、读程序写结果(每题4分,共20分)
1.void main(void)
{ int s=0,i;
1.执行后输出结果是:
for(i=1;;i++)
{
if(s>40) break;
if(i%2= =0 ) s+=i;
}
printf(″i=%d,s=%d
″,i,s);
}
2.void test()
2.执行后输出结果是:
{
static int x=0;
++x;
printf(″x=%d
″,x);
}
void main(void)
{
test();
test();
test();
}
3.