您的当前位置:首页正文

C语言期末考试题(含答案)

2022-01-14 来源:客趣旅游网
《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)(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 〈stdio。h> 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 〈stdio.h〉 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中偶数之和

1

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 〈stdio。h〉 void main() {

int a=12,b=12;

printf(“%d,%d\\n\——a,++b); } 程序执行后的输出结果是: 17、程序2

#include 〈stdio.h〉 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\;

}

程序执行后的输出结果是: 18、程序3

#include 〈stdio。h〉 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); }

程序执行后的输出结果是:

2

四、编程题(3x15' = 45’)

19、编写一个程序.实现输入一个小写字母,程序输出它对应的大写字母.(提示:小写字母的ASCII码值比大些字母大32)

20、编写一个程序,计算100+101+102+…+300的值。

21、已知学生成绩(100分为满分)与等级的对应关系为: 成绩(grade) 等级 A 90<=grade〈=100 B 80〈=grade<90 70<=grade<80 C 60<=grade<70 D grade<60 E 请你编写一个程序,要求:输入学生成绩,输出学生成绩对应的等级.(提示:使用switch…。case语句)

期末试题答案

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 〈stdio.h> void main()

3

{ int i,sum=0; for (i=100;i〈=300;i++) sum+=i; printf(”sum=%d\\n”,sum); }

21、程序代码如下: #include 〈stdio。h> void main() { int grade; scanf(”%d\; 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、整型、实型、字符型

4

12、3 13、2,1 14、9,0 15、return 16、double 17、7 18、2

19、2,1,1 20、程序代码:

#include 〈stdio。h> 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 〈stdio。h> void main() { int a; scanf(”%d\",&a); if(a〈0) a=—a; printf(\"%d\\n”,a); }

22、程序代码:

#include 〈stdio.h〉 void main() { float x,y; scanf(”%f”,&x); if(x〈=0) y=3*x+5; else if(x>0 && x〈=1) y=x+5; else y=—2*x+8; printf(”%。2f\\n”,y); }

5

因篇幅问题不能全部显示,请点此查看更多更全内容