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
{ 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
。
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
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
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
{ 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
{float sj,gz,yfgz;
printf(\ scanf(\ yfgz=sj*gz*0.9;
printf(\}
本程序运行结果为:
time,salary:4,3
3. 从键盘输入一个英文字母,如果是大写字母,则将它变为小写字母输出;如果是小写
字母,则将其变为大写字母输出。
#include
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