C语言复习题.docx
《C语言复习题.docx》由会员分享,可在线阅读,更多相关《C语言复习题.docx(96页珍藏版)》请在冰豆网上搜索。
![C语言复习题.docx](https://file1.bdocx.com/fileroot1/2022-11/24/eb3206b5-1629-4ae7-9f00-8a9952e98d95/eb3206b5-1629-4ae7-9f00-8a9952e98d951.gif)
C语言复习题
试卷名称:
课后作业1
试卷说明:
第1、4章概述和数据类型
一、单项选择题(总分60)
1.(分值:
2.0分)下列变量名中合法的是
A:
B.C.Tom
B:
3a6b
C:
_6a7b
D:
$ABC
序号:
11难度:
1考查点:
C语言概述
2.(分值:
2.0分)C语言的基本单位是
A:
函数
B:
源程序
C:
语句
D:
程序行
序号:
13难度:
1考查点:
C语言概述
3.(分值:
2.0分)以下说法中正确的是
A:
C语言程序总是从第一个定义的函数开始执行;
B:
C语言程序中至少有一个main函数;
C:
C语言程序总是从main函数开始执行;
D:
C语言程序中的main函数必须放在程序的开始部分;
序号:
14难度:
1考查点:
C语言概述
4.(分值:
2.0分)C源程序文件的扩展名为
A:
.exe
B:
.txt
C:
.c
D:
.obj
序号:
15难度:
1考查点:
C语言概述
5.(分值:
2.0分)以下说法中正确的是
A:
C源程序可以直接运行产生结果;
B:
C源程序经编译后才可直接运行产生结果;
C:
C源程序经连接后才可直接运行产生结果;
D:
C源程序经编译和连接后才可直接运行产生结果;
序号:
16难度:
1考查点:
C语言概述
6.(分值:
2.0分)在C程序中,main()函数的位置是
A:
必须作为第一个函数;
B:
必须作为最后一个函数;
C:
可以任意;
D:
必须放在它所调用的函数之后;
序号:
17难度:
1考查点:
C语言概述
7.(分值:
2.0分)以下叙述不正确的是
A:
一个C源程序可由一个或多个函数构成;
B:
一个C源程序必须包含一个main函数;
C:
C程序的基本组成单位是函数;
D:
在对一个C程序进行编译的过程中,可发现注释中的拼写错误;
序号:
18难度:
1考查点:
C语言概述
8.(分值:
2.0分)以下正确的整型常量是
A:
12
B:
-20
C:
1,000
D:
456
序号:
21难度:
1考查点:
数据类型、运算符与表达式
9.(分值:
2.0分)C语言中,逻辑“真”等价于
A:
大于零的数
B:
大于零的整数
C:
非零的数
D:
非零的整数
序号:
25难度:
1考查点:
逻辑运算和判断选取控制
10.(分值:
2.0分)有程序段:
intx;
scanf(“%d\n”,&x);
printf(x%2==0?
“evennumber%d”:
“oddnumber%d”,x,x);
若输入3,则printf语句
A:
输出oddnumber3
B:
输出evennumber3
C:
输出evennumber3oddnumber3
D:
格式不正确
序号:
27难度:
3考查点:
逻辑运算和判断选取控制
11.(分值:
2.0分)字符型常量在内存中存放的是
A:
ASCⅡ代码
B:
BCD代码
C:
内部码
D:
十进制码
序号:
33难度:
1考查点:
数据类型、运算符与表达式
12.(分值:
2.0分)对于语句scanf(“%f︼︼%f,z=%f”,&x,&y,&z);,其合法的输入形
式为()(其中的︼表示空格)
A:
︼14.7︼2.0︼15.3
B:
14.7,2.0,15
C:
14.7︼︼2.0,15.3
D:
14.7︼︼︼2.0,z=15
序号:
34难度:
2考查点:
顺序结构
13.(分值:
2.0分)下列运算符中,结合方向为自左向右的是
A:
?
:
B:
C:
+=
D:
++
序号:
35难度:
1考查点:
数据类型、运算符与表达式
14.(分值:
2.0分)整型变量x=1,y=3,经下列计算后,x的值不等于6的是()
A:
x=(x=1+2,x*2)
B:
x=y>2?
6:
5
C:
x=8-(--y)-(--y)
D:
x=y*4.8/2
序号:
37难度:
2考查点:
逻辑运算和判断选取控制
15.(分值:
2.0分)有整型变量x,单精度变量y=5.5,表达式:
x=(float)(y*3+((int)y)%4)执
行后,x的值为()
A:
17
B:
17.500000
C:
17.5
D:
16
序号:
38难度:
3考查点:
数据类型、运算符与表达式
16.(分值:
2.0分)在C语言中运算对象必须是整型的运算符是
A:
%
B:
!
C:
/
D:
*
序号:
39难度:
1考查点:
数据类型、运算符与表达式
17.(分值:
2.0分)可在C语言中用作用户标识符的一组标识符是
A:
voiddefineword
B:
as_b3_123ff
C:
for_abccase
D:
2cdosig
序号:
40难度:
1考查点:
C语言概述
18.(分值:
2.0分)以下程序的输出结果是()
main()
{intsum,pad;
sum=pad=5;
pad=sum++;
pad++;
++pad;
printf(“%d”,pad);
}
A:
7
B:
5
C:
6
D:
4
序号:
54难度:
3考查点:
数据类型、运算符与表达式
19.(分值:
2.0分)若有:
inta=1,b=2,c=3,d=4,m=2,n=2;
则执行(m=a>b)&&(n=c>d)后n的值是()
A:
1
B:
2
C:
3
D:
4
序号:
55难度:
2考查点:
逻辑运算和判断选取控制
20.(分值:
2.0分)main()
{inta,b,d=241;
a=d/100%9;
b=(-1)&&(-1);
printf(“%d,%d”,a,b);
}
A:
6,1
B:
2,1
C:
6,0
D:
2,0
序号:
56难度:
1考查点:
逻辑运算和判断选取控制
21.(分值:
2.0分)若有intx=10,y=20,z=30;以下语句执行后x,y,z的值是()
if(x>y)
z=x;x=y;y=z;
A:
x=10,y=20,z=30
B:
x=20,y=30,z=30
C:
x=20,y=30,z=10
D:
x=20,y=30,z=20
序号:
57难度:
1考查点:
逻辑运算和判断选取控制
22.(分值:
2.0分)为了避免嵌套的if—else语句的二义性,C语言规定else总是与()
组成配对关系。
A:
缩排位置相同的if
B:
在其之前未配对的if
C:
在其之前未配对的最近的if
D:
同一行上的if
序号:
61难度:
1考查点:
逻辑运算和判断选取控制
23.(分值:
2.0分)若x、a、b和。
均是int型变量,则执行表达式x=(a=1,b=2)后的结
果为
A:
1
B:
2
C:
3
D:
x无确定值
序号:
62难度:
2考查点:
数据类型、运算符与表达式
24.(分值:
2.0分)以下是正确的C语言标识符是____。
A:
#define
B:
_123
C:
%d
D:
\n
序号:
64难度:
1考查点:
C语言概述
25.(分值:
2.0分)下列关于C语言的叙述错误的是
A:
大写字母和小写字母的意义相同
B:
不同类型的变量可以在一个表达式中
C:
在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型
D:
同一个运算符号在不同的场合可以有不同的含义
序号:
65难度:
1考查点:
数据类型、运算符与表达式
26.(分值:
2.0分)在C语言中,错误的int类型的常数是。
A:
32768
B:
0
C:
037
D:
0xAF
序号:
66难度:
1考查点:
数据类型、运算符与表达式
27.(分值:
2.0分)逗号表达式"(a=3*5,a*4),a+15"的值是
A:
15
B:
60
C:
30
D:
不确定
序号:
67难度:
2考查点:
数据类型、运算符与表达式
28.(分值:
2.0分)已知intx=1,y;执行下述语句后变量x的值是____。
y=++x>5&&++x<10;
A:
1
B:
2
C:
3
D:
4
序号:
68难度:
3考查点:
逻辑运算和判断选取控制
29.(分值:
2.0分)使用语句scanf("x=%f,y=%f",&x,&y);输入变量x、y的值(︼代表空
格),正确的输入是
A:
1.25,2.4
B:
1.25︼2.4
C:
x=1.25,y=2.4
D:
x=1.25︼y=2.4
序号:
69难度:
2考查点:
顺序结构
30.(分值:
2.0分)与条件表达式"(n)?
(c++):
(c--)"中的表达式(n)等价的表达式是____。
A:
(n==0)
B:
(n==1)
C:
(n!
=0)
D:
(n!
=1)
序号:
70难度:
2考查点:
数据类型、运算符与表达式
二、填空题(总分40)
1.(分值:
0.0)若有以下定义:
intm=5,y=2;则计算表达式y+=y-=m*=y后y的值是-16.
序号:
10难度:
2考查点:
数据类型、运算符与表达式
2.(分值:
0.0)在C语言中,实现循环的语句有:
if---goto语句、while语句、do-while语句
和for语句。
序号:
11难度:
1考查点:
循环控制
3.(分值:
0.0)以下程序运行后的输出结果是88
main()
{intx=0210;printf("%X\n",x);
}
序号:
111难度:
1考查点:
基础知识
4.(分值:
0.0)以下程序运行后的输出结果是1
main()
{inta=1,b=2,c=3;
if(c=a)printf("%d\n",c);
elseprintf("%d\n",b);
}
序号:
112难度:
2考查点:
逻辑运算和判断选取控制
5.(分值:
0.0)以下程序运行后的输出结果是220
main()
{charc;intn=100;
floatf=10;doublex;
x=f*=n/=(c=50);
printf("%d%f\n",n,x);
}
序号:
114难度:
3考查点:
数据类型、运算符与表达式
6.(分值:
0.0)已知字母A的ASCII码为65。
以下程序运行后的输出结果是67G
main()
{chara,b;
a='A'+'5'-'3';b=a+'6'-'2';
printf("%d%c\n",a,b);
}
序号:
116难度:
2考查点:
数据类型、运算符与表达式
7.(分值:
0.0)多分支选择可以用嵌套的if语句和switch语句来实现。
序号:
12难度:
1考查点:
顺序结构
8.(分值:
0.0)结构化程序设计的基本结构有三种,分别是顺序结构、分支结构和循环结构。
序号:
13难度:
1考查点:
顺序结构
9.(分值:
0.0)问题处理方案的正确而完整的描述称为算法.
序号:
148难度:
1考查点:
C语言概述
10.(分值:
0.0)以下程序运行时若从键盘输入:
102030<回车>。
输出结果是10300
#include
main()
{inti=0,j=0,k=0;
scanf("%d%*d%d",&i,&j,&k);
printf("%d%d%d",i,j,k);
}
序号:
149难度:
3考查点:
顺序结构__
试卷名称:
课后作业2
试卷说明:
第2章选择结构
一、单项选择题(总分40)
1.(分值:
2.0分)C语言中,逻辑“真”等价于
A:
大于零的数
B:
大于零的整数
C:
非零的数
D:
非零的整数
序号:
25难度:
1考查点:
逻辑运算和判断选取控制
2.(分值:
2.0分)C语言的switch语句中,case后
A:
只能为常量
B:
只能为常量或常量表达式
C:
可为常量及表达式或有确定值的变量及表达式
D:
可为任何量或表达式
序号:
26难度:
1考查点:
逻辑运算和判断选取控制
3.(分值:
2.0分)有如下程序段:
intx=1,y=1;
intm,n;
m=n=1;
switch(m)
{case0:
x=x*2;
case1:
{
switch(n)
{case1:
x=x*2;
case2:
y=y*2;break;
case3:
x++;
}
}
case2:
x++;y++;
case3:
x*=2;y*=2;break;
default:
x++;y++;
}
执行完成后,x和y的值分别为()
A:
x=6y=6
B:
x=2y=1
C:
x=2y=2
D:
x=7y=7
序号:
32难度:
3考查点:
逻辑运算和判断选取控制
4.(分值:
2.0分)整型变量x=1,y=3,经下列计算后,x的值不等于6的是()
A:
x=(x=1+2,x*2)
B:
x=y>2?
6:
5
C:
x=8-(--y)-(--y)
D:
x=y*4.8/2
序号:
37难度:
2考查点:
逻辑运算和判断选取控制
5.(分值:
2.0分)若有:
inta=1,b=2,c=3,d=4,m=2,n=2;
则执行(m=a>b)&&(n=c>d)后n的值是()
A:
1
B:
2
C:
3
D:
4
序号:
55难度:
2考查点:
逻辑运算和判断选取控制
6.(分值:
2.0分)能正确表示a和b同时为正或同时为负的逻辑表达式是()。
A:
(a>=0‖b>=0)&&(a<0‖b<0)
B:
(a>=0&&b>=0)&&(a<0&&b<0)
C:
(a+b>0)&&(a+b<=0)
D:
a*b>0
序号:
1295难度:
1考查点:
逻辑运算和判断选取控制
7.(分值:
2.0分)有以下程序
#include
main()
{inta,b,c=246;
a=c/100%9;
b=(-1)&&(-1);
printf("%d,%d\n",a,b);
}
输出结果是()。
A:
2,1
B:
3,2
C:
4,3
D:
2,-1
序号:
1408难度:
1考查点:
逻辑运算和判断选取控制
8.(分值:
2.0分)下面的程序
main()
{intx=3,y=0,z=0;
if(x=y+z)printf("****");
elseprintf("####");}
A:
有语法错误不能通过编译
B:
输出****。
C:
可以通过编译,但是不能通过连接,因而不能运行。
D:
输出####。
序号:
1594难度:
1考查点:
逻辑运算和判断选取控制
9.(分值:
2.0分)设ch是char型变量,其值为A,且有下面的表达式:
ch=(ch>='A'&&ch<='Z')?
(ch+32):
ch
上面表达式的值是
A:
A
B:
a
C:
Z
D:
z
序号:
1639难度:
1考查点:
逻辑运算和判断选取控制
10.(分值:
2.0分)能表示x为偶数的表达式是
A:
x%2==0
B:
x%2==1
C:
x%2
D:
x%2!
=0
序号:
1679难度:
1考查点:
逻辑运算和判断选取控制
11.(分值:
2.0分)下面的程序段中共出现了几处语法错误?
inta,b;
scanf("%d",a);
b=2a;
if(b>0)printf("%b",b);
A:
1
B:
2
C:
3
D:
4
序号:
1702难度:
1考查点:
逻辑运算和判断选取控制
12.(分值:
2.0分)设有inti,j,k;则表达式i=1,j=2,k=3,i&&j&&k的值为
A:
1
B:
2
C:
3
D:
0
序号:
322难度:
1考查点:
逻辑运算和判断选取控制
13.(分值:
2.0分)逻辑运算符两侧运算对象的数据类型
A:
只能是0或1
B:
只能是0或非0正数
C:
只能是整型或字符型数据
D:
可以是任何类型的数据
序号:
344难度:
1考查点:
逻辑运算和判断选取控制
14.(分值:
2.0分)能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为
假”的表达式是()
A:
(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)
B:
(x>=1)||(x<=10)||(x>=200)||(x<=210)
C:
(x>=1)&&(x<=10)||(x>=200)&&(x<=210)
D:
(x>=1)||(x<=10)&&(x>=200)||(x<=210)
序号:
345难度:
1考查点:
逻辑运算和判断选取控制
15.(分值:
2.0分)已知x=43,ch=’a’,y=0;则表达式(x>=y&&ch<’b’&&!
y)的值
是()
A:
0
B:
1
C:
语法错误
D:
假
序号:
348难度:
1考查点:
逻辑运算和判断选取控制
16.(分值:
2.0分)设有intm=1,n=2;则++m==n的结果是
A:
0
B:
1
C:
2
D:
3
序号:
389难度:
1考查点:
逻辑运算和判断选取控制
17.(分值:
2.0分)若有intx=10,y=20,z=30;以下语句执行后x,y,z的值是()
if(x>y)
z=x;x=y;y=z;
A:
x=10,y=20,z=30
B:
x=20,y=30,z=30
C:
x=20,y=30,z=10
D:
x=20,y=30,z=20
序号:
57难度:
1考查点:
逻辑运算和判断选取控制
18.(分值:
2.0分)为了避免嵌套的if—else语句的二义性,C语言规定else总是与()
组成配对关系。
A:
缩排位置相同的if
B:
在其之前未配对的if
C:
在其之前未配对的最近的if
D:
同一行上的if
序号:
61难度:
1考查点:
逻辑运算和判断选取控制
19.(分值:
2.0分)请读程序:
#include
main()
{floatx,y;
scan("%f",&x);
if(x<0.0)y=0.0
elseif((x<5.0)&&(x!
=2.0))
y=1.0/(x+2.0);
elseif(x<10.0)y=1.0/x;
elsey=10.0;
printf("%f\n",y);
}
若运行时从键盘上输入2.0(表示回车),则上面程序的输出结果是
A:
0.000000
B:
0.250000
C:
0.500000
D:
1.000000
序号:
1657难度:
2考查点:
逻辑运算和判断选取控制
20.(分值:
2.0分)下述程序的输出是______。
main()
{charc='A';
if('0'<=c<='9')printf("YES");
elseprintf("NO");
}
A:
YES
B:
NO
C:
YESNO
D:
语句错误
序号:
551难度:
2考查点:
逻辑运算和判断选取控制
二、编程题(总分60)
1.(分值:
20.0分)编程判断输入的正整数是否既是5又是7的整倍数。
若是,输出yes,否则
输出no。
参考答案:
#include"stdio.h"
main()
{
intgoal;
printf("Pleaseinputanumber:
");
scanf("%d",&goal);
if(goal<=0)
printf("error\n");
elseif(goal%5==0&&goal%7==0)
printf("Yes!
\n");
else
printf("No!
\n");
}
序号:
6难度:
2考查点:
逻辑运算和判断选取控制
2.(分值:
20.0分)编写一程序,对于给定的一个百分制成绩,输出相应的五分制成绩。
设:
90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。
参考答案:
#include"stdio.h"
main(){
inta,b;
printf("Pleaseinputthescore:
");
scanf("%d",&a);
b=a/10;
switch(b){
case10:
case9:
printf("A!
\n");
break;
case8:
printf("B!
\n");
break;
case7:
printf("C!
\n");
break;
case6:
printf("D!
\n");
break;
default:
printf("E!
\n");
break;
}
}
序号:
8难度:
2考查点:
逻辑运算和判断选取控制
3.(分值:
20.0分)已知银行整存整取存款不同期限的月息利率分别为:
0.315%期限一年
0.330%期限二年
月息利率=0.345%期限三年
0.375%期限五年
0.420%期限八年
要求输入存钱的本金和期限,求到期时能从银行得到的利息与本金的合计。
参考答案:
#include
main()
{intyear;
floatmoney,rate,total;/*money:
本金rate:
月利率total:
本利合计*/
printf("Inputmoneyandyear=?
");
scanf("%f%d",&money,&year);/*输入本金和存款年限*/
if(year==1)rate=0.00315;/*根据年限确定利率*/
elseif(year==2)rate=0.00330;
elseif(year==3)rate=0.00345;
elseif(year==5)rate=0.00375;
elseif(year==8)rate=0.00420;
elserate=0.0;
total=money+money*rate*12*year;/*计算到期的本利合计*/
printf("Total=%.2f\n",total);
}
序号:
94难度:
2考查点:
逻辑运算和判断选取控制
试卷名称:
课后作业3
试卷说明:
第3章循环结构
一、单项选择题(总分60)
1.(分值:
3.0分)有程序段:
intn=1;
do{n=++n*5;}
while(n=10);
则此循环的循环体()
A:
执行1次
B:
执行2次
C:
不执行
D:
执行无