还剩5页未读,继续阅读
文本内容:
计算机科学与技术学院计算机专业科班《C语言程序设计》课程A/B卷总分题号一二三四五六七八九十题分核分人得分考试时间200年月日上、下午学号姓名得分.
1、选择题(每小题2分,共40分)
1、属于C语言基本数据类型的是 A.指针型 B.无符号整型 C.数组型 D.结构型
2、C语言中,″\x3d″在内存中占用的字节数是 A.1 B.2 C.4 D.
53、字符a的ASCII码为97,在C程序中可用下列方法表示,除了A.‘a’B.‘97’C.‘\141’D.‘\x61’
4、设inta*p;则语句p=a;中的运算符“”的含义是 A.位与运算 B.逻辑与运算 C.取指针内容 D.取变量地址
5、设有如下定义intx=l,y=-1;,则语句printf%d\n,x--++y;的输出结果是A.1B.0C.-1D.
26、当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是A.c=b=a;B.a=c||b=c;C.a=cb=c;D.a=c=b;
7、设有说明语句chara=\72abc;则变量aA.包含6个字符B.包含5个字符C.包含4个字符D.说明不合法
8、在C语言中,数字029是一个()A.八进制数B.十六进制数C.十进制数D.非法数
9、C语言的编译系统对宏命令是A.在程序运行时进行代换处理的B.在程序连接时进行代换处理的C.和源程序中其它C语句同时进行编译的D.在对源程序中其它成份正式编译之前进行处理的
10、以下说法中正确的是()A.C语言程序总是从第一个定义的函数开始执行B.在C语言程序中,要调用的函数必须在main中有定义C.C语言程序的执行既可以采用解释方式,也可以采用编译方式D.C语言程序中的main函数可以不放在程序的开始部分
11、若有声明语句charch=’a’*pc=ch;以下语句中,有语法错误的是A.*pc++B.ch+=-‘a’+’A’;C.toupperch=ch;D.ch++;
12、以下关于函数叙述中,正确的是A.在函数体中可以直接引用另一个函数中声明为static类别的局部变量的值B.在函数体中至少必须有一个return语句C.在函数体中可以定义另一个函数D.在函数体中可以调用函数自身
13、以下不能正确进行字符串赋初值的语句是() A.charstr
[5]=good!;B.charstr[]=good!;C.char*str=good!;D.charstr
[5]={g,o,o,d};
14、以下关于switch语句和break语句的描述中,只有()是正确的A.在switch语句中必须使用break语句B.在switch语句中,可以根据需要使用或不使用break语句C.break语句只能用于switch语句中D.break语句是switch语句的一部分
15、设有数组定义chararray[]=China;则数组array所占的空间为( )A.4个字节B.5个字节C.6个字节 D.7个字节
16、设有说明语句chara=“\123abc”;则变量aA.包含7个字符B.包含6个字符C.包含5个字符D.包含4个字符
17、在C语言中,不正确的int类型的常数是()A.32768B.0C.037D.0xAF
18、设staticcharx[]=″12345″y[]={′1′′2′′3′′4′′5′′\0′};那么 A.x数组的长度等于y数组的长度 B.x数组的长度大于y数组的长度 C.x数组的长度少于y数组的长度 D.x数组与y数组的存储区域相同
19、设intix
[3]
[3]={123456789}; 则下面语句 fori=0;i3;i++ printf″%d″x[i][2-i]; 的输出结果是 A.147 B.159 C.357 D.
36920、下面函数定义有错误的是 A.f1x1x2 B.f1x1x2 intx1x2; intx1;intx2; {函数体} {函数体} C.f1intx1x2 D.f1intx1intx2 {函数体} {函数体}
2、填空题(每小题2分,共20分.
1、设inty;执行表达式y=4||y=5||y=6后,y的值是______
2、设charch=′A′;则printf″%c″ch=′A′ch=′Z′ch+32:ch;的是______
3、结构化程序设计的三种基本结构是选择结构、循环结构和______
4、设inta
[3]
[4]={{1357}{2468}};则**a+1的值为______
5、若函数定义为 intdata { floatx=
9.9; returnx; } 则函数返回的值是______
6、设structstudent {intno;charname
[12]; floatscore
[3]; {s1*p=s1;. 用指针变量p给s1的成员no赋值1234的方法是______
7、判断文本文件是否结束时使用的符号常量EOF的值是______
8、在C语言中,一个二维数组可以看成若干个______数组
9、设有一个名为″myfile.c″的C程序, 其主函数为mianintargcchar*argv[]如果在执行时,输入的命令行为 myfileaabb↙ 则形式参数argc的值是______
10、设inta
[10];数组元素a
[5]用指针表示的形式是_______
3、判断题(每小题2分,共20分)
1、在对某一函数进行多次调用时,系统会对相应的自动变量重新分配存储单元2、在C语言的复合语句中,只能包含可执行语句3、自动变量属于局部变量4、一个函数利用return只能返回一个函数值5、在程序运行过程中,系统分配给实参和形参的内存单元是不同的6、已知charc=A;inti=1,j;执行语句j=!ci++;则i和j的值分别是0,17、所有定义在主函数之前的函数无需进行声明8、既可以用作单目运算符也可以用作双目运算符9、宏定义和文件包含都是C语言中的编译预处理命令,对它们的处理都是在编译前完成的
10、一个函数利用return不可能同时返回多个值
4、编程题(每小题10分,共20分)
1、写程序,求1!+2!+……n!,要求从主函数输入n的值,用函数实现阶乘的计算,并通过函数值返回(请注意合理的类型选取)
2、将100个整数输入数组后按每行10个数输出答案
一、选择题
1.B
2.A
3.B
4.D
5.B
6.C
7.D
8.A
9.D
10.D
11.C
12.D
13.A
14.B
15.C
16.C
17.A
18.A
19.C
20.C
二、填空题
1.
42.
963.顺序结构
4.
25.
96.p-no=1234;
7.
18.一维
9.
310.*a+5
三、判断题
1.对
2.错
3.对
4.对
5.对
6.对
7.错
8.对
9.对
10.对
四、编程题
1.#includestdio.hvoidmain{intinsum=0;printf请输入n的值;scanf%dn;fori=1;i=n;i++sum+=fi;printf阶乘的和为%d\nsum;}intfintm{intimul=1;fori=1;i=m;i++mul*=i;returnmul;}
2.#includestdio.hvoidmain{inta
[100];inti=0count=0;fori=0;i10;i++{scanf%da[i];}fori=0;i10;i++{printf%da[i];if++count%5==0printf\n;}}。