1、第5次实验C程序设计试题及答案2013 /2014 学年 第 2 学期课程代码: 课程名称 :程序设计与实践(C) 试卷: A、B考试形式:闭卷 考试时间: 分钟学号 姓名 任课教师_ _ _ 专业 得分 一、选择题(每题1分,共20分) 1. 是不合法的用户自定义标识符号。 A. _char B. a.b C. x D. st2_flag 答案:B2. 在C语言的源程序中main函数 。 A. 可以没有 B. 可以有多个 C. 有且只有一个 D. 若有,只有一个 答案:Cprintf(“ “,i+x-c*8); A%f B %d C%c D%s答案:A4. 有以下代码:int a,b;pri
2、ntf(“%dn”,(a=2,b=5,b+,a+b);输出函数所输出的表达式值为 。 A2 B6 C8 D7 答案:C5. 不是转义字符。 A. n B. t C.b D. “9”答案:D6. 在内存中需要 个字节来存放转义字符n. A. 1 B. 2 C. 3 D. 4 答案:A7. 不是合法的数值常量。 A. 123 B.M C. 0892 D. “Flag”答案:C8. 在一个C程序中,main函数的位置是 。A. 程序之首 B. 程序任意处 C. 程序之末 D.程序中间答案:B9. 有以下代码:int a=3;printf(“%d,%dn”,a1,a);输出函数所输出的表达式值为 。
3、A. 0,4 B. 0,3 C. 1,4 D. 1,3 答案:B10. 有以下代码:int a =5;printf(“%dn”,a+=a-=a*a); 输出函数所输出的表达式值为 。 A. -15 B. 5 C. 25 D. -40 答案:D11. 有以下代码:double x=1,y;y=x+3/2的值 。A. 1 B. 2 C. 2.0 D. 2.5答案:C12. 有以下代码:double x=3.5, y=2.5, z ; z=(int)x+y的值 。A. 5.5 B. 5.0 C. 6 D. 6.0答案:A13. 在C语言中,5种基本数据类型的存储空间长度的排列顺序为 。 Achar
4、int long = float double B. char = int long = float double C. char int long = float = double D. char = int = long = float bc的值 。 A. 0 B. 1 C. 2 D. 3答案:A18. 是sizeof(float)的值。 A. 1 B. 2 C. 3 D. 4答案:D19. 是代数式|x3+lgx|,对应的C语言表达式。 A. abs(x*3+logx) B. abs(x3+log10x) C. fabs(pow(x,3)+log10(x) D. fabs(pow(x,3
5、)+logx) 答案:C20. 不是C语言的语句。 A. x=x+1 B. scanf(%d,&a); C. t=a; a=b; b=t; D. ; 答案:A二、程序改错题(每题4分,共20分)1、#1 main()#2 int a = 3;#3 if (a = 2)#4 printf(ok);#5 else#6 printf(hello);预期的结果:答案:#0 #include #3 if(a=2)#7 2、#1 main()#2 int a = 65;#3printf(%d,%d,%o,%x,a,a,a);预期的结果:答案:#0 #include #2int a=65;#3 printf
6、(“%c,%d,%o,%x”,a,a,a,a);#4 3、#1 main()#2 int i=j=3;#3 printf(%d,%d,+i, + j);预期的结果:答案:#0 #include #2 int i=3,j=3;#3 printf(“%d,%d”,+i,j+); 4、#1 main()#2 int a, b, c;#3 a = 10; b = 20; c = 30; #4 if ( a b )a = b; b = c; c = a; #5 printf(%f,%f,%f,a,b,c);#6 预期的结果:答案:#0 #include #4 if ( a b )a = b; b = c
7、; c = a;#5 printf(“%d,%d,%d”,a,b,c); 5、#1 main()#2 int x=1,a=0,b=0;#3 switch(x)#4 case 1: a+; #5 case 2: a+; b+; break;#6 default: b+;#7 printf(a=%d,b=%dn,a,b);预期的结果:答案:#0 #include #6 default: b+;#7 printf(a=%d,b=%dn,a,b);三、设计题(每题5分,共30分)1、根据框图编写代码答案 :#include main() int x,y,z; printf(input x,y); sc
8、anf(%d%d,&x,&y); if(x2) if(y2) z=x+y;printf(z is %dn,z); else printf(x is %dn,x); 2、根据框图编写代码答案:#include main() int n,s=0; for(n=0;n100;n+) s=s+n; printf(s=%dn,s);3、某幼儿园只收2至6岁的小孩,23岁编入小班,4岁编入中班,56岁编入大班,编制程序实现每输入一个年龄,输出该编入什么班。#include f1() x;for(;)printf(输入入园幼儿年龄);scanf(%d,&x);if(x=2&x=6) break; retur
9、n x; f2( ) return ;main() switch(f2(f1() case 1:printf(“您的孩子被编入小班!n”);break; case 2:printf(“您的孩子被编入中班!n”);break;case 3:printf(“您的孩子被编入大班!n”);break; 答案:intintint int x(x=3)?1:(x=4)?2:3 4、读下列程序框图,写出s的值。答案: s=155、下列代码是判断闰年,填写代码中的空白。#include int f1() int x; printf(输入年份); scanf(%d,&x); printf(nnt%d,x); r
10、eturn ;int f2(int x) return ;main() ?printf(年是闰年):printf(年不是闰年);答案:x(x%4=0&x%100!=0)|(x%400=0)?1:0;(f2(f1()6、给出30个数:1,2,4,7,11,其规律是:第1个数是1,第2个数比第1个数大1, 第3个数比第2个数大2,第4个数比第3个数大3,依此类推,要计算这30个数的和,现已给出了该问题算法的程序框图.(1)补充程序框图,使之能完成该题算法功能.(2)根据程序框图写出程序.(所用变量要与算法中一致)printf(s=%dn,s);答案 :i=30#include main() int
11、 i,s=0,p=1;s=s+p for(i=1;i=30;i+) s=s+p;p=p+i;p=p+i printf(s=%dn,s);四、编程题(每题5分,共30分)1、编程实现:输入圆柱体的半径和高,输出其体积。(已知圆柱体的体积公式为3.1415926r2h)答案:#include #define PI 3.1415926float f1() float x; printf(input data); scanf(%f,&x); return x;float f2(float x,float y) return PI*x*x*y;main() printf(v=%fn,f2(f1(),f1
12、();2、输入一个三位数,输出其各位数字之和,例如:781,7+8+1=16。答案:#include int f1() int x; for(;) printf(input data); scanf(%d,&x); if(x=100&x=999) return x;int f2(int x) int s=0; while(x) s=s+x%10; x=x/10; return s;main() printf(s=%dn,f2(f1();3、输入一个正整数,判断其是否既是5的倍数又是7的倍数。若是,输出yes;否则输出no。答案:#include int f1() int x; printf(i
13、nput data); scanf(%d,&x); return x;int f2(int x) return (x%5=0)?(x%7=0)?1:0):0;main() f2(f1()?printf(Yesn):printf(Non);4. 编程实现如下功能,即:程序运行时,输入整数n(0n10)后,输出一个字符金字塔,如输入错误,则重新输入。如输入5,则输出:答案:#include main() int i,j,n; char c; do printf(输入一整数(0n10):); scanf(%d,&n); while(n10); for(i=0;in;i+) for(j=0;jn-i;
14、j+) printf( ); for(j=0;j2*i+1;j+) printf(%c,A+j); printf(n); 5.双12期间,某网店优惠规定:所购物品不超过150元时,按九折付款,如超过150元不足500元,超过150元部分按8折收费,超过500元部分按7折收费,请编一程序完成网店计费的工作。答案:#includefloat f1() float x; printf(输入价格); scanf(%f,&x); return x;float f2(float a)return (a=150)?a*0.9:(a500)?150*0.9+(a-150)*0.8:150*0.9+350*0.
15、8+(a-500)*0.7;main() printf(您应支付:%.2f,f2(f1();62011年7月7日公布的最新金融机构人民币存款基准利率。活期存款:0.50%定期存款分为六类:利息=本金利率存款时间三个月:3.10%半 年:3.30%一 年:3.50%二 年:4.40%三 年:5.00%五 年:5.50%例如:假设本金一万元,定期三个月利息是77.5元(100003.10%3/12=100000.0310.25=77.5)请编一程序完成根据本金和存款时间计算利息的工作。答案:#include #include void ShowMenu() char*str8=请选择存款时间:,1
16、:三个月,2:半 年,3:一 年,4:二 年,5:三 年,6:五 年,0:退出; int i; for(i=0;i8;i+) printf(nt%sn,stri);float f1() float x; printf(输入本金); scanf(%f,&x); return x;void f2(float x,float y,float z) system(cls); printf(应支付利息%.2fn,x*y*z); system(pause);main() char ch; for (;) system(cls); ShowMenu(); ch=getch(); switch(ch) cas
17、e1:f2(f1(),0.031,3.0/12);break; case2:f2(f1(),0.033,6.0/12);break; case3:f2(f1(),0.035,1);break; case4:f2(f1(),0.044,2);break; case5:f2(f1(),0.05,3);break; case6:f2(f1(),0.055,5);break; case0: return; break; defalut:break; 五、文字题(字数500字左右)简论C语言参数传递2013 /2014 学年 第 2 学期课程代码: 课程名称 :程序设计与实践(C) 试卷: A、B考试形式:闭卷 考试时间: 分钟学号 姓名 任课教师_ _ _ 专业 得分 一、选择题(每题1分,共20分) 1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、18、19、20、二、程序改错题(每题4分,共20分)1、2、3、4、5、三、设计题(每题5分,共30分)1、2、3、4、5、6、四、编程题(每题5分,共30分)1、2、3、4、5、6、
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1