仲 恺 农 业 工 程 学 院 试 卷 《计算机程序设计基础》 2013至 2014 学年度第 1 学期期 末 (B)卷 专业班级 姓名 学号 题 号 一 二 三 四 五 六 七 八 合计 得 分 评卷人 (考生注意:考试时间为120分钟。答案须写在答题纸上,并注明题号,考试结束后将试卷连同答题纸一齐交) 一、单项选择题(每小题2分,共40分) 1.在一个C语言程序中,有并且只能有一个( )函数。 A. main函数 B.自定义函数 C.外部函数 D.内部函数 2.一个C语言程序,总是从( )函数开始执行。 A. main函数 B.自定义函数 C.外部函数 D.内部函数 3.下列标识符中,不能用作变量名的是( )。 A. _1234_ B. _1_2 C. int_2_ D. 2_int_ 4.下列字符常量不合法的是( )。 A. ?2? B. ?\\t? C. ?ab? D. ? \\n? 5.执行以下语句后的输出结果为( )。 int x; float y; y=3.6; x=(int)y+10; printf(“x=%d,y=%f”,x,y); A. x=13.6,y=3.600000 B. x=13,y=3.600000 A. 整型变量 A. 1 B.实型变量 B. 2 C. x=13,y=3 D. x=13,y=3.6 D.字符变量 D. 0 6.以下哪种变量类型在C语言中不存在 ( )。 C. 字符串变量 C. 3 7.设m=10,n=4,则赋值运算m%=n+1执行后m的值是( )。 8.下面语句执行后输出结果为( )。 int x=10,y=3,z; printf(“%d\\n”,z=(x%y,x/y));} A. 0 B.1 C. 3 D. 4 9. 下面语句执行后输出结果为( )。 int x=10,y=10,z=10; printf(“%d,%d,%d ”,x++,--y,++z);} 第 1 页,共 1 页
A. 10,10,10 B. 10,9,11 C. 9,10,11 B. ; D. { ; } D. 11,10,9 10.以下选项中不是C语句的是( )。 A. {int i; i++; printf(\ C. a=5,c=10 main( ) { int x=2,y=-1,z=2; if( x A.0 0 B.0 1 C.1 0 D.1 1 20.下列语句( )可以实现变量a与b的数值交换。 A.{a=b;b=a;} B.{t=a;b=a;a=t;} C{t=a;a=b;b=t;}. D.以上都正确 二、填空(每空1分,共20分) 1. C语言源程序文件的后缀是_____,经过编译后,生成文件的后缀是_____,经过连接后,生成文件的后缀是_____。 2. 表达式3.5+1/2+56的结果为_____。 3. C语言中的三种逻辑运算符分别是_____、_____、_____。 4. 填空完成以下计算s=1+1/2+1/3+??+1/10的程序 main( ) { int n; float s=1.0; for(n=10; _____; _____ ) s=s+_____; printf(“%f”,s);} 5. 以下程序的功能是用选择法对数组a中的整数由小到大进行排序。 void sort(int b[],int n) { int i,j,t; for(i = 0;i #include main( ) { int i,j,k,t; scanf(“%d”,&t); i=t; t=t/10; j=t; k=t/10; printf(“%d”,i*100+j*10+k); } 当输入123时,输出结果为____。 2. 以下程序的输出结果是____。 main( ) { int i=0,j=0,a=6; if((++i>0)||(++j>0)) a++; printf(“i=%d,j=%d,a=%d”,i,j,a); } 3. 以下程序的输出结果是____。 main( ) { int n=10; while(n>7) { printf(“%d,”n); n-- ;} 4. 以下程序的输出结果是____。 fun1(int a,int b) { int c; a+=a; b+=b; c=fun2(a,b); return c; } fun2(int a,int b) { int c; c=a*b%3; return c; } main( ) { int x=2,y=4; printf(\} 第 5 页,共 5 页 5. 若有以下程序段,执行后的输出结果是____。 int a=0,b=0,c=0; c=(a-=a-5),(a=b,b+3); printf(“%d,%d,%d\\n”,a,b.c); 6. 若有以下程序段,执行后的输出结果是____。 main() { int i; for(i=3;i<10;i++) {if(i%4= =0)continue; else printf(\,i);} } 四、编程题(每小题5分,共10分) 1. 编程求1+2+3+4+……+100。 2. 编写程序求e的值,当通项小于10-7停止计算。e≈1+五、附加题(不计入总分) 请完整写出用递归方法实现汉诺塔问题的C语言程序。 111????? 1!2!n!第 6 页,共 6 页