杭州电子科技大学学生考试卷(A)卷
考试课程C语言程序设计考试日期2010年1 月 日成绩课 程 号教 师 号任课教师姓名考生姓名学号(8位)年级专业座位号
说明: 请将全部答案都书写在最后页答题纸上,否则答题无效。
试题一、判断题,正确打钩,错误打叉 (共10分)
不同类型的变量在内存中占用存储空间的大小是一样。
break语句只能用在循环体中。
用C语言编写的源程序须经过编译连接后,生成扩展名为.exe的可执行文件,才能运行。
p是一个指针变量, *p++表示指针p的对象加1。
在函数体内定义的变量称局部变量,局部变量只能被本函数引用。
一维数组的数组名是一个地址常量,表示第一个元素的地址。
在printf函数中,如果用格式符“%d”输出实数时,则得不到正确的输出结果。
在C语言程序中变量必须定义后再使用。
如果s1、s2是两个字符串,可以用库函数strcpy(s1,s2)把字符串s2复制到s1中。
表达式3*5/2与表达式3/2*5等价,即两个表达式的值相等。
试题二、单选题,根据题目从A、B、C、D中选择一个正确的选项(共10分)
1.如果在程序中需调用库函数sqrt,则程序中必须包含头文件( )。
A、 string.hB、stdlib.hC、ctype.hD、math.h
2.若有定义语句:int a[10];则下列对a数组元素正确引用的是( )。
A、a[10/2]B、a[10]C、a[4.5]D、a(1)
3.用C语言逻辑表达式表示条件“–5≤x≤3”,下面正确的逻辑表达式是( )。
A、–5≤x≤3 B、–5≤x&&x≤3 C、–5≤x||x≤3 D、–5≤x,x≤3
4. 函数定义如下:
void fun(int *s,int c)
{ *s=5;
c=5;
}
如果在主函数中程序段有:int a=6,b=6; fun(&a,b); 则调用fun函数后,变量a,b的值分别是( )。
A、6,5 B、5,5 C、5,6 D、6,6
5. 若有定义语句:char c='\n';则变量c( ).含4个字符B.含3个字符
C.含2个字符D.含1个字符
6. 如果对变量的定义为: int c1, c2, s=5 ;则执行 “c1=s++; c2=++s;
printf("%d,%d,%d",c1,c2,s);” 语句后,c1,c2和s的输出值是( )。
A、 5,7,7 B、 6,7,7 C、 5,6,7 D、6,6,7
7. 若有float a=2.5,b=6.3, *pa=&a; 执行语句“ *pa*=3; pa=&b ”后; 则正确的是( )。
A、*pa的值是6.3 B、 pa的值是2.5
C、*pa的值是7.5 D、 pa的值是6.3
8. 若结构体变量x定义如下,下面能给变量x输入数据的正确语句是( )
struct cx
{ float rl;
float ie;
} x ;
A、 scanf("%f%f",x.rl,x.ie); B、scanf("%f%f",&x.rl,&x.ie);
C、 scanf("%f%f", cx.x.rl, cx.x.ie); D、scanf("%f%f", &cx.x.rl,&cx.x.ie);
9.f函数定义如下, f(3)的值是( )。
int f(int x)
{ int k=2;
k+=x;
return k;
}
A、3 B、5 C、7 D、10
10.假设变量x、k都已定义,下列语句片段中,无语法错误的是( )。
A、switch(x)
{ case x>=90: putchar('A');
case x<60: putchar('E');
}
B、switch(x)
{ case 1+2: k='A';
defualt: k='E';
case 2*4: k='B';
}
C、switch(x)
{ case 2+x: k=x-2;
case