C语言程序设计 期末考试模拟试题二 一、单项选择题(10x2'=20) 1、以下叙述正确的是() A)C语言的源程序不必通过编译就可以直接运行。 B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令。 C)C语言源程序经编译形成的二进制代码可以直接运行。 D)C语言中的函数不可以单独进行编译。 2、一个c语言的源程序中( A)必须有一个主函数 B)可能有多个主函数 C)必须有除主函数外其它函数D)可以没有主函数 3、以下不能定义为用户标识符的是() A)scanf B)Void C)3com D)int 4、若以下选项中的变量已正确定义,则正确的赋值语句是( A)X1=26.8%3; B)1+2=x2;C)x3=0x12; D)x4=1+2=3; 5、设有定义:f1oata=2,b=4,h=3;以下c语言表达式中与代数式(a+b)*h的计 算结果不相符的是( A)(a+b)*h/2B)(1/2)*(a+b)*hC)(a+b)*h*1/2 D)h/2*(a+b) 6、C语言中用于结构化程序设计的3种基本结构是( ) A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue 7.在while(Ix)语句中的x与下面条件表达式等价的是() A)x!=0 B)X==1 C)x!=1 D)X=0 8、有以下程序: #include void main(){ int i=1,j=1,k=2; if(G++Ik++)&&i+) printf("%d,%d,%d\n",i,j,k);) 执行后的输出结果是( A)1,1,2B)2,2,1 C)2,2,2 D)2,23 9、有以下程序: #include void main() int i,s=0; for(i=1;i<10;it=2) s+=i+1; printf("%d\n",s);} 程序执行后的输出结果是( A)自然数1~9的累加和 B)自然数110的累加和
1 C 语言程序设计 期末考试模拟试题二 一、单项选择题(10x2’=20’) 1、以下叙述正确的是( ) A)C 语言的源程序不必通过编译就可以直接运行。 B)C 语言中的每条可执行语句最终都将被转换成二进制的机器指令。 C)C 语言源程序经编译形成的二进制代码可以直接运行。 D)C 语言中的函数不可以单独进行编译。 2、一个 C 语言的源程序中( ) A)必须有一个主函数 B)可能有多个主函数 C)必须有除主函数外其它函数 D)可以没有主函数 3、以下不能定义为用户标识符的是( ) A)scanf B)Void C)_3com D)int 4、若以下选项中的变量已正确定义,则正确的赋值语句是( ) A)x1=26.8%3; B)1+2=x2; C)x3=0x12; D)x4=1+2=3; 5、设有定义:float a=2,b=4,h=3;以下 C 语言表达式中与代数式 (a b) * h 2 1 + 的计 算结果不.相符的是( ) A)(a+b)*h/2 B)(1/2)*(a+b)*h C)(a+b)*h*1/2 D)h/2*(a+b) 6、C 语言中用于结构化程序设计的 3 种基本结构是( ) A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue 7.在 while(!x)语句中的!x 与下面条件表达式等价的是( ) A) x!=0 B) x==1 C) x!=1 D) x==0 8、有以下程序: #include void main(){ int i=1,j=1,k=2; if( (j++||k++)&&i++ ) printf(“%d,%d,%d\n”,i,j,k);} 执行后的输出结果是( ) A)1,1,2 B)2,2,1 C)2,2,2 D)2,2,3 9、有以下程序: #include void main(){ int i,s=0; for(i=1;i<10;i+=2) s+=i+1; printf(“%d\n”,s);} 程序执行后的输出结果是( ) A)自然数 1~9 的累加和 B)自然数 1~10 的累加和
C)自然数1~9中奇数之和 D)自然数1~10中偶数之和 10、有以下函数定义: void fun(int n,double x)f......}. 若以下选项中的变量都己经正确定义并赋值,则对函数fu的正确调用语句是 ( A)fun(int y,double m); B)k=fun(10,12.5i C)fun(x,n); D)void fun(n,x); 二、填空题(10x2'=20) 11、C语言描述“x和y都大于或等于z”的表达式是: 12、函数定义时涉及的基本要素是: 13、C语言可以用来实现循环的结构化语句是: 14、判断整型变量a即是5又是7的整数倍的c语言表达式是: 15、若x和n都是int型变量,且x和n的初值都是6,则计算表达式x+=n++ 后,x的值为: ,n的值为: 三、写出下列程序的运行结果(3x5'=15) 16、程序1 #include void main(){ inta=12,b=12; printf("%d,%d\n",--a,++b); 程序执行后的输出结果是: 17、程序2 #include void main(){ inta=5,b=4,c=3,d=2; if(a>b>c) printf("%d\n",d); else if((c-1>=d)==1) printf("%d\n",d+1); else printf("%d\n",d+2); } 程序执行后的输出结果是: 18、程序3 #include void main() { intx=0,y=5,z=3; while(z-->0&&++x<5) y=y-1; printf("%d,%d,%d\n",x,y,z);
2 C)自然数 1~9 中奇数之和 D)自然数 1~10 中偶数之和 10、有以下函数定义: void fun(int n,double x){……} 若以下选项中的变量都已经正确定义并赋值,则对函数 fun 的正确调用语句是 ( ) A)fun(int y,double m); B)k=fun(10,12.5); C)fun(x,n); D)void fun(n,x); 二、填空题(10x2’=20’) 11、C 语言描述“x 和 y 都大于或等于 z”的表达式是: 。 12、函数定义时涉及的基本要素是: 、 、 。 13、C 语言可以用来实现循环的结构化语句是: 、 、 。 14、判断整型变量a即是5又是7的整数倍的C语言表达式是: 。 15、 若 x 和 n 都是 int 型变量,且 x 和 n 的初值都是 6,则计算表达式 x+=n++ 后,x 的值为: ,n 的值为: 。 三、写出下列程序的运行结果(3x5’ = 15’) 16、程序 1 #include void main() { int a=12,b=12; printf(“%d,%d\n”,--a,++b); } 程序执行后的输出结果是: 17、程序 2 #include void main() { int a=5,b=4,c=3,d=2; if(a>b>c) printf(“%d\n”,d); else if((c-1>=d)==1) printf(“%d\n”,d+1); else printf(“%d\n”,d+2); } 程序执行后的输出结果是: 18、程序 3 #include void main() { int x=0,y=5,z=3; while(z-->0&&++x<5) y=y-1; printf(“%d,%d,%d\n”,x,y,z); }
程序执行后的输出结果是: 四、编程题(3x15=45) 19、编写一个程序。实现输入一个小写字母,程序输出它对应的大写字母。(提 示:小写字母的ASC码值比大些字母大32) 20、编写一个程序,计算100+101+102+.…+300的值。 21、已知学生成绩(100分为满分)与等级的对应关系为: 成绩(grade) 等级 90<=grade<=100 A 80<=grade<90 B 70<=grade<80 C 60<=grade<70 D grade<60 ◇ 请你编写一个程序,要求:输入学生成绩,输出学生成绩对应的等级。(提示: 使用switch..case语句)
3 程序执行后的输出结果是: 四、编程题(3x15’ = 45’) 19、编写一个程序。实现输入一个小写字母,程序输出它对应的大写字母。(提 示:小写字母的 ASCII 码值比大些字母大 32) 20、编写一个程序,计算 100+101+102+…+300 的值。 21、已知学生成绩(100 分为满分)与等级的对应关系为: 成绩(grade) 等级 90<=grade<=100 A 80<=grade<90 B 70<=grade<80 C 60<=grade<70 D grade<60 E 请你编写一个程序,要求:输入学生成绩,输出学生成绩对应的等级。(提示: 使用 switch….case 语句)
参考答案 1、B 4、C 5、B 6、A 7、D 8、C 9、D 10、C 11、X>=z&&y>=z 12、函数名、形式参数、函数体 13、while、do-while、for 14、a%5=0&&a%7==0 15、12,7 16、11,13 17、3 18、3,2,-1 19、程序代码如下: #include void main() { char ch; scanf("%c",&ch); printf("%c\n",ch-32); } 20、程序代码如下: #include void main() { int i,sum=0; for(i=100;i void main() { int grade; scanf("%d",&grade); switch(grade/10)
4 参考答案 1、B 2、A 3、D 4、C 5、B 6、A 7、D 8、C 9、D 10、C 11、 x>=z && y>=z 12、函数名、形式参数、函数体 13、 while 、 do-while 、for 14、a%5==0 && a%7==0 15、12,7 16、11,13 17、3 18、3,2,-1 19、程序代码如下: #include void main() { char ch; scanf("%c",&ch); printf("%c\n",ch-32); } 20、程序代码如下: #include void main() { int i,sum=0; for (i=100;i void main() { int grade; scanf("%d",&grade); switch(grade/10)
{ case 10: case 9: printf("A\n"); break; case 8: printf("B\n"); break; case 7: printf("C\n"); break; case 6: printf("D\n"); break; default: printf("E\n"); break; } 期末试题答案备用卷 1、B 2、A 3、D 4、D 5、B 6、A 7、A 8、B 9、B 10、A 11、整型、实型、字符型 12、3 13、2,1 14、9,0 15、return 16、double 17、7 18、2 19、2,1,1 20、程序代码: #include void main()
5 { case 10: case 9: printf("A\n"); break; case 8: printf("B\n"); break; case 7: printf("C\n"); break; case 6: printf("D\n"); break; default: printf("E\n"); break; } } 期末试题答案 备用卷 1、B 2、A 3、D 4、D 5、B 6、A 7、A 8、B 9、B 10、A 11、整型、实型、字符型 12、3 13、2,1 14、9,0 15、return 16、double 17、7 18、2 19、2,1,1 20、程序代码: #include void main()
{ int a,b,c; float pinjun; scanf("%d%d%d",&a,&b,&c); pinjun =(a+b+c)/3.0; printf("%.2f\n",pinjun); } 21、程序代码: #include void main() { int a; scanf("%d",&a); if(a void main() { float x,y; scanf("%f",&x); if(x0&&x<=1) y=x+5; else y=-2*x+8; printf("%.2f\n",y); 6
6 { int a,b,c; float pinjun; scanf("%d%d%d",&a,&b,&c); pinjun = (a+b+c)/3.0; printf("%.2f\n",pinjun); } 21、程序代码: #include void main() { int a; scanf("%d",&a); if(a void main() { float x,y; scanf("%f",&x); if(x0 && x<=1) y=x+5; else y=-2*x+8; printf("%.2f\n",y); }