资源预览内容
第1页 / 共8页
第2页 / 共8页
第3页 / 共8页
第4页 / 共8页
第5页 / 共8页
第6页 / 共8页
第7页 / 共8页
第8页 / 共8页
亲,该文档总共8页全部预览完了,如果喜欢就下载吧!
资源描述
2009年08级C程序设计期末考试卷(B)注意 所有答案写在单张的答题卷上。一、 判断题(本题共10分,每小题1分,用A表示正确,用B表示错误。)(1)C语言程序的变量必须先定义再使用。a(2)do-while语句构成的循环不能用其他语句构成的循环来代替。b(3)C语言规定,函数的实参应与其对应的形参类型一致。a(4)C语言认为名为Student和student的变量是不同变量。a(5)当两个字符串所包含的字符个数相同时,才能比较两个字符串的大小。b(6)C语言程序的书写格式虽然自由,但为了清晰,一般在一行内写一个语句。a(7)在C语言中,八进制数是用英文字母o后加一个整数来表示,例如o123。b(8)C语言的所有循环语句都要求至少要执行一次循环体。b(9)在C语言中,函数不能嵌套定义,但可以嵌套调用。a(10)数组char x=12345;和char y=1,2,3,4,5;长度相同。b二、 单选题(本题共20分,每小题2分)(11)_c_是合法的用户自定义标识符。A b-bB C _iswD float(12)_c_是不正确的字符常量。A n B 1C aD 101(13)若变量已正确定义,语句“if(ab) k=0; else k=1;”和_c_等价。A k=(ab)?1:0; B k=ab;C k=a=b;D a=b ? 0 : 1;(14)在C程序中,若对函数类型未加说明,则函数的隐含类型为_a_。A intB double C voidD char(15)如果在用户的程序中要使用C库函数中的数学函数时,应在该源文件中使用的include命令是_b_。A#includeB#includeC#includeD#include(16)在C 语言程序中,在函数内部定义的变量称为_c_。 A 全局变量 B 外部变量 C 局部变量 D 内部变量(17)表达式 (4 2) - !-1 + 4 & 6 2 1的值是:aA 0 B 1 C 7 D 12(18)C程序的基本结构有_b_。A 选择、重复和模块B 顺序、选择和循环C 顺序、选择和模块 D 逻辑、物理和程序(19)函数调用语句 func(a1,a2,a3),(a4,a5); 的参数个数是 :aA 2 B 5 C 1 D 调用方式不合法(20)对于如下说明,语法和语义都正确的赋值是_C_。int c, *s, a=1, 3, 5;A c=*s; B s0=a0; C s=&a1; D c=a;三、 程序填空题(本题共30分,每小题2分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个最佳的答案。题号21222324252627282930答案DBABDBCDAA题号3132333435答案ADBCB1【程序说明】输入1 个正整数 n, 计算并输出 s 的前n项的和。S = 1 -1/2 + 1/3 - 1/4 + 1/5 -1/6 + 【程序代码】6第 页(共 7 页)#include void main( ) int k, flag, n; float s; flag=1; s=0; scanf(%d, &n); for (k=1 ; k=n; k+) s=s+ D 1.0/k*flag (21) ; (2B flag = -flag 2) ; printf(sum=%fn, s);【选项】(21)A 1/k B 1.0/kC 1/k*flag D 1.0/k*flag(22)A flag+ B flag = -flagC flag = -k D k= -flag 2【程序说明】输入以 -1结束的一批整数,输出其中的最大值。例如: 输入 -3 -8 -10 -1 后,输出:max=-3。【程序代码】#include void main( ) int max, x; scanf(%d, &x); if(x!=-1) (A max=x 23) ; while( (2 x!=-14) ) if(max-1 D x-1 (25)A scanf(%d, x)B scanf(%dn, &x)C printf(%d, &x)D scanf(%d, &x)3【程序说明】求出200以内的整数中,最大的可以被17整除的数是哪个数。【程序代码】#include _ void main()26 C i=200 _ int i; for(_2 D i07_;_28_;i-)if(_29A i % 17 = 0 _)break; printf(%dn,_ A i _30_); 【选项】(26)A main() B void main()C main(void) D int main()(27)A 200 B i=0C i=200 D int i=200(28)A i200C i0(29)A i % 17 = 0 B i % 17 != 0C i / 17 = 0D i / 17 != 0(30)A i B i%17C i/17 D i 174【程序说明】下列程序调用swap函数交换a和b的值,并输出交换后的a和b的值。程序的输出结果是:After swap 5, 3。【程序代码】#include stdio.hvoid main() int a, b; a = 3, b = 5; swap( 31 ) ; printf(After swap %d, %d, a, b);swap( 31 ) int t; 33 ; 34 ; 35 ;【选项】(31)A &a , &bB a , bC &b, &aD b, a(32)A int x, int yB int &x, int &yC int *y, int *xD int *x, int *y(33)A x=*tB t=*xC t=xD x=t(34)A x=yB x=*yC *x=*yD *x=y(35)A y=tB *y=tC y=*tD *y=*t四、 程序阅读题(本题共20分,每小题5分)阅读下列程序并写出运行结果。1【程序】# include void main() int k = 10; do k = k - 1; while (k = =0);printf(k=%d, k);程序的输出结果是_。2【程序】#include int z; void p(int *x, int y) +*x; y-; z=*x+y+z; printf(%d, %d, %dn, *x, y, z);void main() int x=1, y=5, z=9; p(&x, y); printf(%d, %d, %dn, x, y, z);程序的输出结果是_。3【程序】#include void main() int num=0; while(num=8) num+; printf(%d#,num+); printf(n);程序的输出结果是_。4【程序】# include void main( ) int k, n1, n310; char c; n1=0; for(k=0; k10; k+) n3k=0; while(c=getchar( )!=n) switch(c) case0:case 1: case 2:case 3: case 4:case5: case 6: case 7: case 8:case 9: n3c-0+; break; default:
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号