青海大学昆仑学院C语言期末考试试卷带答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
青 海 大 学 昆 仑 学 院 试 卷(A )
班级: 学号: 姓名:
考试课程: 程序设计语言(C ) 考试日期:2011X 年 7 月 日 注:所有答案均写在答题卡上,答在试卷上不得分,考试结束后试卷和答题卡一并交回
一.填空题(每空1分,共15分)
1.一个C 程序总是从 主函数(或main ) 开始执行的。
2.表达式2/3+7%4+3.5/7的值是 3.5 。
3.在函数内部定义只在本函数内有效的变量叫 内部变量(或局部变量) 。
4.C 语言中用 1(或非零) 表示逻辑值“真”,用 0 表示逻辑值“假”。
5. 将数学式2b a 改写成C 语言表达式为 sqrt(a+b*b) 。
6. 有程序段:int f=-1;printf(“%d,%u ”,f,f);则输出结果为 -1 、 65535 。
7. 数组在内存中占 连续 的存储区,用 数组名 代表其首地址。
8.有定义static int a[5]={2,4,6,8,10},*p ; p=&a[0];
与p=&a[0]等价的语句是 p=a ,*(p+1)的值是 4 ,*(a+2)的值是 6 。
9.有结构体和共用体的变量定义如下:
struct aa{int a ;char c ;float x ;}b1;
union bb{int a ;char c ;float x ;}b2;
则变量b1和b2占用的内存空间的字节数分别为 7 和 4 。
二.选择题(每小题2分,共计40分)
1.下列变量名合法的是( B )。
A .B.C.TOM
B ._test
C .3a6b
D .ab$
2.C 语言中运算对象必须是整型的运算符是( B )。
A . /
B .%
C .!
D .*
3.以下程序的输出结果是( D )。
A .a=%2,b=%5
B .a=2,b=5
C .a=%%d ,b=%%d
D .a=%d ,b=%d
main ()
{ int a=4,b=9; printf (“a=%%d ,b=%%d\n ”,a ,b );}
4.下列程序的输出结果是( C )。
A .18
B .9
C .-18
D .-9
main () { int a=9;a+=a-=a+a ;printf (“%d\n ”,a ); }
5.为表示关系a ≥b ≥c ,应使用的C 语言表达式是( A )。
A.(a>=b)&&(b>=c)
B.(a>=b)AND(b>=c)
C.(a>=b>=c) D .(a>=b)&(b>=c)
6.字符型常量在内存中存放的是( B )。
A .BCD 代码
B .ASCII 代码
C .内部码
D . 十进制码
7.对下面程序段描述正确的是( D )。
A . while 循环执行了10次
B . 循环是无限循环
C . 循环体语句一次也不执行
D . 循环体语句只执行一次
{int x=10;do{ x=x-1;} while (x==0);}
8. 下面选项中,与if(a)等价的是(D )。
A .if(a==0)
B .if(a!=0)
C .if(a=0)
D . if(a==1)
9.有程序段: int n=1;do{++n ;n=n*5;}while(n=10); ( B )
A .执行一次
B .执行2次
C .不执行
D .执行无限次
10.若有声明语句:int b[2][4];则对a 数组元素的正确引用是( A )。
A.b[1][3] B. b[1][4] C. b[2][4] D.b[0][4]
11.欲将字符串“kunlun college”赋给字符数组str,正确的语句是( D )。
A.str=“kunlun college”; B.str=“kunlun college\n”;
C.strcpy(“kunlun college”,str); D.strcpy(str ,“kunlun college”);
12.语句printf(“%d\n”,strlen(“xining”));的输出结果是(B)。
A.7 B.6 C.存在语法错误 D.不定值
13.以下函数的类型是(C)。
A.与参数x的类型相同 B.void类型 C.int类型 D.无法确定
ff(float x)
{ printf(“%d\n”,x*x);}
14. 若用数组名作为函数调用的实参,传递给形参的是( A )
A.数组的首地址 B.数组第一个元素的值
C.数组中全部元素的值 D.数组元素的个数
15.以下不正确的说法是( C )。
A.在C语言中允许函数递归调用
B.函数值类型与返回值类型出现矛盾时,以函数值类型为准
C.形参可以是常量、变量或表达式
D.C语言规定,实参变量对形参变量的数据传递是“值传递”
16.以下程序的输出结果是( D )。
A.15 B.100 C.10 D.150
#define MAX(x,y)(x)>(y)?(x):(y)
main()
{ int i=10,j=15,k;k=10*MAX(i,j);
printf(“%d\n”,k);}
17.函数直接或间接地自己调用自己,被称为函数的(A)。
A.递归调用 B.主函数调用 C.自定义调用 D.嵌套调用
18.下列说法中错误的是(D)。
A.枚举类型中的枚举元素是常量 B.一个整数不能直接赋给一个枚举变量
C.枚举类型中枚举元素的值都是从0开始以1为步长递增
D.typedef可以用来定义新的数据类型
19.在C语言中,对文件的存取是以(A)为单位的。
A. 字节
B.函数
C. 记录
D.模块
20.当fclose函数正确执行后,函数的返回值是(A)。
A.0 B.-1 C.1 D.非零值
三.阅读下列程序,按题意填空(每空2分,共计16分)
1.有以下程序(求20以内的偶数和,包括20)。请填空:
#include
main(){ int n=0,sum=0;
do{ n++;if(①n%2==0 ); sum+=n;} while(② n<=20 ); printf(“%d\n”,sum);}
2.以下程序判断输入的一个整数m是否既能被4又能被6整除,若能整除,输出“YES”,若不能整除,输出“NO”。请填空:#include
main(){ int m;
printf(“Enter a int number:”); scanf(“%d”,③&m);
if(④m%4==0 && m%6==0) printf(“YES\n”);
else printf(“NO\n”);}
3.以下程序的功能是输出杨辉三角形。请填空: