2013-2014第二学期C语言期末试卷A 下载本文

2013-2014学年第二学期

A.a=%2,b=%5 B.a=2,b=5 C.a=d,b=d D.2,5

8.定义一整型变量int m,给m输入数值,正确的语句为( )。

A.scanf(\(m); 《C语言程序设计》期末试卷(A)

姓 名: 班 级: 年级编号: 题 号 一 二 三 四 五 六 总 分 得 分 一、单项选择题:(本题共30小题,每小题1分,共30分) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1.以下说法正确的是( )。

A.C语言程序总是从第一个函数开始执行。

B.C语言程序中要调用的函数必须在main()函数中定义。 C.C语言程序总是从main()函数开始执行。

D.C语言程序中的main()函数必须放在程序的开始部分。 2.以下几组选项中为合法的标识符是( )。

A.int B.float C.b-a D._123 3.起换行作用的转义字符是( )。

A.’\\t’ B.’\\b’ C.’\\n’ D.’\\r’ 4.在以下几组运算符中,优先级最高的运算符是( )。

A.<=

B.=

C./

D.&&

5.设有定义“int i=1;”,以下选项的四个表达式中与其他三个表达式的值不相同的是( )。

A.i++ B.i+=1 C.i+1 D.++i

6.若变量已正确定义并赋值,以下符合C语言语法的表达式是( )。

A.a:=b+1 B. int 18.5[%]3 C.a=a+7=c+b D.a=b=c+2 7.以下程序的输出结果为( )。 # include main()

{ int a=2,b=5;

printf(\ }

9.下面程序的输出结果是( )。 main()

{ int a,b; a=3;b=5;

if(a>b) printf(\else

printf(\

}

A.3 B .5 C.3,5 D.5,3 10.执行下面两个语句后,输出的结果为( )。 char c1=97,c2=98; printf(\

A.97 98

B.97

b

C.a 98

D.a b

11.设有程序段 int k=10; while (k=0) k=k-1; 则下面描述中正确的是( )A. while循环执行10次 B.循环是无限循环 C.循环体语句一次也不执行 D.循环体语句执行一次

12.C语言的三种基本结构是( )。

A.顺序结构.逻辑结构.选择结构 B.顺序结构.选择结构.循环结构 C.逻辑结构.层次结构.网状结构 D.层次结构.顺序结构.循环结构

13.switch(表达式)语句中表达式的类型不能为( )。

A.整型 B.字符型 C.整型或者字符型 D.实型 14.关于数组元素类型的说法,下列( )是正确的。

A.必须是整数类型 B.必须是整型或实型 C.必须是相同数据类型 D.可以是不同数据类型 15.以下程序段的输出结果是( )。

#include void main() {

int i,j,m=0; for(i=1;i<=5;i+=4) for(j=3;j<=19;j+=4) m++; printf(\}

A.10 B.15 C.20 D.25

16.设x=2.5,a=7,y=4.7,则算术表达式x+a%3*(int)(x+y)%2/4值为( )。

A. 2.5

B. 7

C. 4.7

D. 2.75

17.下面程序的结果是( )。

main()

{int x=1,a=0,b=0; switch(x) {case 0: b++; case 1: a++; case 2: a++;b++; }

printf(\

A.a=2,b=1 B.a=1,b=1 C.a=1,b=0 D.a=2,b=2 18.运行以下程序后,输出( )。 #include void main() {

int k=-3; if(k<=0)

printf(\

else

printf(\

}

A.&&&& B.**** C.****&&&& D.有语法错误不能通过编译

19.若变量已说明为int类型,要通过以下赋值语句给a赋予10、b赋予22、c赋予33,以下不正确的输入形式是( )。 scanf(\

A.10 22 33 B.10,22,33 C.10 22 D.10 33 22 33 20.下面程序的结果是( )。

main() { int x=1; while(x<20) { x=x*x; x=x+1; } printf(\

A.1 B.20 C.25 D.26 21.以下程序的输出结果为( )。 #include void main( ) {

int a[]={2,3,4,5,6,7,8,9}; int i,r=1; for(i=0;i<=3;i++) r=r*a[i]; printf(\

}

A.720 B.120 C.24 D.6 22.运行如下程序,其结果为( )。

main() { int i=3;

printf(“%d\\n”,++i); } A.4

B.3

C.2

D.5

23.已定义x和y为int类型,x=5,y=2则表达式“x/y”的值是( )。

A.1 B.1.0 C.1.5 D.2

24.C语言程序是从main函数开始执行的,这个函数写在( )。

A.程序文件的开始 B.它所调用的函数的前面 C.程序文件的最后

D.程序文件的任何位置

25.若i为整型变量,则for(i=2;i==0;i--) printf(\循环体执行次数是

( )。 A.无限次 B.0次

C.1次 D.2次

26.表达式17%4/8的值为( )。

A.0

B.1

C.2

D.3

27.若有定义:int a[10];则对数组元素的正确应用是( )。

A.a[10] B.a[10-10] C.a(5) D.a[3.5] 28.构成C语言源程序的基本单位是( )。

A.文本 B.过程 C.函数 D.对象

29.如要求从键盘读入含有空格字符的字符串,应使用函数( )。

A.getc()

B.gets()

C.getchar()

D.scanf()

30.以下关于break语句的描述,只有( )是正确的。

A.在循环语句中必须使用break语句。 B.break语句只能用于switch语句中。 C.在循环语句中可以根据需要使用break语句。 D.break语句可以强制跳出所有循环。

二、判断题:(本大题共10小题,每小题1分,共10分) ( )1.所谓常量,就是在程序运行过程中其值可以改变的量。

( )2.在C语言中 do-while 语句和for循环均是先执行循环体语句,再判断表达式。

( )3.在函数调用中将变量的地址作为实参传递给对应形参时,实现的是单向的值传递。

( )4.C语言中所有字符串都是以‘\\0’结束的。 ( )5.数组名在C语言中表示的是数组的首地址。 ( )6.算术运算符中‘/’的优先级高于‘%’。

( )7.char a[10];该语句表明数组a中的第五个元素为a[10]。 ( )8.C语言源程序文件的扩展名均为.c。

( )9.char a[5];数组a中有a[1]、a[2]、a[3]、a[4]、a[5]共5个元素。 ( )10.C语言程序的标识符区分大小写,字符常量必须定义为大写。

三、填空题:(本大题共10空,每空1分,共10分) 1.C语言的预处理语句以__________开头。

2.表达式7+8>2 && 25 %5的结果是_______________________ 3.int *p 的含义是___________________________________________。 4.数组 int a[3][4];共定义了____________个数组元素。 5.break语句只能用于 语句和循环结构语句中。

6.整型的标示符关键字为int,字符型标示符关键字为 。 7.若有定义int a=10,b=3;则a%b的值为1,a/b的值为 。 8.有定义int a=12;则表达式a+5,a*3的值为: 。 9.表达式2>3的值为:0;表达式3>=0的值为: 。 10.若a,b之一为真,则a || b 的值为___________。

四、程序阅读题:(本大题共5小题,每小题3分,共15分)

1.main() { int x,y;

scanf(\

printf(\

}

执行时输入:1234567

输出的结果为: 2.main() { int x=4,y=0,z; x*=3+2; printf(\x*=y=z=4; printf(\ }

输出的结果为: 3.main() { int a=2; a%=4-1; printf(\ a+=a *=3; printf(\}

输出的结果为:

4. include main()

{ int a=-1,b=4,k;

k=(a++<=0)&&(!(b--<=0)); printf(\}

输出的结果为:

5. main()

{ int x,y,z; x=3; y=z=4;

printf(\ printf(\}

输出的结果为:

五、简答题:(本大题共3小题,每小题5分,共15分) 1.用流程图表示出C语言三种基本结构。

2.C语言中有哪些数据类型?

3.什么是常量?什么是变量?作出简要说明。

六、程序设计题:(本大题共4小题,每小题5分,共20分)

1.编程求下面算术表达式的值。

x+a%3*(int)(x+y)%2/4,设x=2.5,a=7,y=4.7;

2. 某工种按小时计算工资,每月劳动时间(小时)×每小时工资=总工资,总工资中扣除10%公积金,剩余的为应发工资。编写一个程序从键盘输入劳动时间和每小时工资,打印出应发工资。

3. 从键盘输入一个英文字母,如果是大写字母,则将它变为小写字母输出;如果是小写字母,则将其变为大写字母输出。

4. 根据输入的x值依据下列表达式,计算y的值。

2x (x>-1) y = 3 (x=-1) 4+x (x<-1)

《C语言程序设计》期末试卷(A)答案 一、单项选择题:(本题共30小题,每小题1分,共30分) 1-5CDCAC;6-10DBBBB;11-15CBDCA; 16-20AABAD;21-25BADDB;26-30ABCDC; 二、判断题:(本大题共10小题,每小题1分,共10分) 1-5××√√√ ;6-10 ; ××√×√ 三、填空题:(本大题共15空,每空1分,共15分)

1、#include ;2、0;3、定义整型指针变量p;4、12;5、选择结构; 6、int,char;7、1,3;8、36;9、0,1;10、非0;11、执行,判断; 四、程序阅读题:(本大题共5小题,每小题2分,共10分) 1、17;2、20 80;3、2 12;4、0,0,3;5、0 1;

五、简答题:(本大题共3小题,每小题5分,共15分) 1.用流程图表示出C语言三种基本结构。 答:

2.C语言中有哪些数据类型?

答:整型,实数型,空类型,字符型, 指针类型,数组,函数,结构体,枚举类型 3.什么是常量?什么是变量?作出简要说明。

答:常量是指在程序执行过程中值不能改变、具有固定值的量。 常量可以分为直接常量、符号常量两种。

变量是指在程序执行过程中值可以改变的量。变量是程序中数据的临时存放场所。六、程序设计题:(本大题共4小题,每小题5分,共20分)

1.编程求下面算术表达式的值。

x+a%3*(int)(x+y)%2/4,设x=2.5,a=7,y=4.7; (1)main()

{ int a=7;

float x=2.5,y=4.7;

printf(\

2. 某工种按小时计算工资,每月劳动时间(小时)×每小时工资=总工资,总工资中扣除10%公积金,剩余的为应发工资。编写一个程序从键盘输入劳动时间和每小时工资,打印出应发工资。

解:#include main()

{float sj,gz,yfgz;

printf(\ scanf(\ yfgz=sj*gz*0.9;

printf(\}

本程序运行结果为:

time,salary:4,3 total salary:10.800000

3. 从键盘输入一个英文字母,如果是大写字母,则将它变为小写字母输出;如果是小写

字母,则将其变为大写字母输出。

#include main() {char ch; ch=getchar();

if(ch>='A'&&ch<='Z') ch+=32;

else if(ch>='a'&&ch<='z') ch-=32; putchar(ch); putchar('\\n'); }

4. 根据输入的x值依据下列表达式,计算y的值。 2x (x>-1) y = 3 (x=-1) 4+x (x<-1) 解:main() {

float x,y;

scanf(\ if(x>-1) y=2*x;

else if(x==1) y=3;

else y=4+x; printf(\}

本程序运行结果为: -2 y=2.000000