C语言1-5章复习题及参考答案复习课程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语⾔1-5章复习题及参考答案复习课程C语⾔1-5章复习题及参考答案
⼀.选择题
1、若a为int类型,且其值为3,则执⾏完表达式a+=a-=a*a后,a的值是()。

A .-3 B.9 C.-12 D.6
2、若有定义:int a=8, b=5, c; 执⾏语句 c=a/b+0.4; 后,c的值为()。

A .1.4 B.1 C.2.0 D.2
3、有如下程序:
void main()
{
int i,sum;
for(i=1;i<=3;sum++)
sum+=i;
printf("%d\n",sum);
}
该程序的执⾏结果是()。

A .6 B.3 C.死循环 D.0
4、下列关于表达式的描述中,错误的是()。

A . 常量和变量都是表达式。

B. 运算符类型对应表达式的类型。

C. 每⼀个表达式都有⾃⼰的值。

D. 表达式必须以分号结尾。

5、C语⾔中,合法的长整型常数是()。

A . '\t' B.” A” C.65 D.a
6、若已定义 x 和 y为double 类型,则表达式 x=1;y=(x+3)/2 的值是()。

A .1 B.2 C.2.00000 D.2.50000
7、表达式:10!=9的值是()。

A . true B. ⾮零值 C.0 D.1
8、以下程序的输出结果是()。

#include
void main()
{
printf("%d\n", NULL);
}
A . 不确定的 B.0 C.-1 D.1
9、请选出合法的C语⾔赋值语句。

()
A . a=b=58 B.i++; C. a=58,b=58 D. k=int(a+b);
10、假设 int b=2; 表达式(b>>2)/(b>>1)的值是()。

A .0 B.2 C.4 D.8
11、关于语句printf(“hello world\n”);,下列描述中错误的是()。

A . printf()是格式化输出函数,⽤于输出信息。

B. printf()括号中的内容为函数的参数。

C. printf()括号中的内容会全部输出到控制台上。

D. \n表⽰换⾏操作。

12、下列选项中,哪⼀项不是C语⾔中的位运算符()。

A .& B.|| C.~ D.^
13、以下程序的输出结果是()。

void main()
{
char c='z';
printf("%c", c-25);
}
A .a B.Z C.z-25 D.y
14、若要求在if后⼀对圆括号中表⽰a不等于0的关系,则能正确表⽰这⼀关系的表达式为()。

A . a<>0 B. !a C. a=0 D. a
15、以下循环体的执⾏次数是()。

void main()
{
int i,j;
for (i=0,j=1; i<=j+1; i+=2,j--)
printf("%d\n",i);
}
A .3 B.2 C.1 D.0
16、下列运算符中优先级最⾼的是()。

A .|| B.&& C.+ D.=
17、若有以下定义和语句:char c1='b',c2='e'; printf("%d,%c\n",c2-c1,c2-
'a'+'A'); 那么输出结果是()。

A .2,M B.3,E C.2,E D. 输出项与对应的格式控制不⼀致,输出结果不确定
18、若有以下程序段:int c1=1,c2=2,c3; c3=1.0/c2*c1; 那么执⾏后,c3中的值是()。

A .0 B.0.5 C.1 D.2
19、若变量a是int类型,并执⾏了语句:a='A'+1.6; 则下列描述中,正确的是()。

A . a的值是字符’C' B. a的值是浮点型
C. 不允许字符型和浮点型相加
D. a的值是字符’A’的ASCII值加上1
20、若有定义:int x ,i;则下列for循环语句:
for(i = 0,x = 0; i<= 9 && x!=876;i++)
scanf(“%d”,&x);
下列选项中,描述正确的是()
A . 最多执⾏10次 B. 最多执⾏9次 C. 是⽆限循环 D. 循环体⼀次也不执⾏
21、假定有以下变量定义:int k=7,x=12; 那么能使值为3的表达式是()。

A . x%=(k%=5) B. x%=(k-k%5) C. x%=k-k%5 D. (x%=k)-(k%=5)
22、两次运⾏下⾯的程序,如果从键盘上分别输⼊6和4,那么输出结果是()。

void main()
{
int x;
scanf("%d",&x);
if (x++ > 5)
printf("%d",x);
else
printf("%d\n",x--);
}
A . 7和5 B. 6和3 C. 7和4 D. 6和4
23、若已定义x和y为double类型,则表达式:x=1, y=x+3/2 的值是()。

A . 1 B. 2 C. 2.0 D. 2.5
24、执⾏下⾯程序⽚段的结果是()。

int x=23;
do
{
printf("%2d",x--);
} while (!x);
A . 打印出321 B. 打印出23 C. 不打印任何内容 D. 陷⼊死循环
25、以下选项中合法的字符常量是()。

A . "B" B. '\010' C. 68 D. D
26、将⼆进制数00001011进⾏>>位运算,将其结果转换为⼗进制是()。

A . 101 B. 1 C. 11 D. 5
27、下列说法中正确的是()。

A . 在switch语句中⼀定要使⽤break语句
B. 在switch语句中不⼀定要使⽤break语句
C. break语句是switch语句的⼀部分
D. break只能⽤于switch语句中
28、假设有如下的变量定义:
int i=8,k,a,b; unsigned long w=5; double x=1.42,y=5.2; 则以下符合C语⾔语法的表达式是()。

A . a+=a-=(b=4)*(a=3) B. x%(-3)
C. a=a*3=2
D. y=float(i)
29、若a为int型变量,则下列C语⾔表达中,不能表达数学关系式10
A . 10
B. a==11||a==12||a==13||a==14
C. a>10&&a<15
D. !(a<=10)&&!(a>=15)
30、表⽰关系x<=y<=z的C语⾔表达式为()。

A . (X<=Y)&&(Y<=Z)
B. (X<=Y)AND(Y<=Z)
C. (X<=Y<=Z)
D. (X<=Y)&(Y<=Z)
⼆.判断题
1、C语⾔属于机器语⾔。

(×)
2、C语⾔中的逻辑值“真”是⽤1表⽰的,逻辑值“假”是⽤0表⽰的。

(√)
3、在C语⾔中转义字符有特殊的含义,它以反斜杠\开头,后⾯接特定的字符。

(√)
4、机器语⾔是由⼆进制数0和1组成的⼀串指令。

(√)
5、continue只能⽤于循环语句。

(×)
6、C语⾔中的逻辑值“真”是⽤1表⽰的,逻辑值“假”是⽤0表⽰的。

(√)
7、将浮点型数据转换为整型数据时,⼩数点后的数会进⾏四舍五⼊。

(×)
8、字符常量⽤于表⽰⼀个字符,⼀个字符常量要⽤⼀对英⽂半⾓格式的双引号()引起来。

(×)
9、通常将不可改变的数值称为常量。

(√)
10、变量虽有不同的数据类型,但它们所占内存的⼤⼩是⼀样的。

(×)
11、位运算符“<<”就是将操作数所有⼆进制位向左移动⼀位。

运算时,右边的空位补0。

左边移⾛的部分舍去。

(√)
12、⼗进制数10转换为⼆进制为1010。

(√)
13、计算机使⽤特定的整数编码来表⽰对应的字符,我们通常使⽤的英⽂字符编码是ASCII。

(√)
14、逻辑运算符⽤于判断数据的真假,其结果为“真”或“假”。

(√)
15、⼗进制转换成⼆进制可以采⽤除2取余的⽅式。

(√)
16、变量的值保存在内存单元上,是可以被改变的。

(√)
17、⼗进制和⼆进制只是针对数字的不同表⽰⽅式,⽆论采⽤哪种⽅式表⽰⼀个数,它的值都是⼀样的。

(√)
18、位运算符是针对⼆进制数的每⼀位进⾏运算的符号,是专门针对数字0和1进⾏操作的。

(√)
19、sizeof运算符的功能是获取某⼀数据或数据类型在内存中所占的字节数。

(√)
20、两个⼆进制数进⾏“|”运算,如果⼆进制位上只有⼀个值为1,则该位的运⾏结果为0。

(×)
三.填空题
1、在C语⾔中根据运算符进⾏运算需根据变量的个数可以将运算符分为单⽬运算符、双⽬运算符和(三⽬)运算符。

2、定义变量int x = 1.20,则%d格式输出x的结果为( 1 )。

3、运算符“||”表⽰或操作,当且仅当运算符两边的表达式结果都为假时,其结果为(假)。

4、运算符“&&”表⽰与操作,当且仅当运算符两边的表达式结果都为真时,其结果才为(真),否则结果为假。

5、若有定义int x = 7;则表达式x/=3;的值为(2 )。

6、计算机语⾔可分为三⼤类,即机器语⾔、汇编语⾔和(⾼级语⾔)。

7、在进⾏取模运算时,运算结果的正负取决(被模数)的符号,与模数的符号⽆关。

8、在进⾏除法运算时,当除数和被除数都为整数时,得到的结果也是⼀个(整数)。

9、C语⾔中的数据类型可分为4种,分别是(基本类型)、构造类型、指针类型、空类型。

10、注释有两种类型,分为(单⾏注释)和多⾏注释。

11、整型变量是⽤来存储整型数据,(实型)变量⽤来存储⼩数类型。

12、实型常量也称为浮点数常量,可以分为单精度浮点数和(双精度)两种类型。

13、sizeof运算符⽤于获取某⼀数据或(数据类型)在内存中所占的字节数。

14、在C语⾔中,如果除法运算有浮点数参与运算,得到⼀个(浮点)型结果。

15、C语⾔的⽐较运算中,“真”⽤数字“(1)”来表⽰,“假”⽤数字“(0)”来表⽰。

16、在C语⾔中,常量包括(整型常量)、浮点数常量、字符常量等。

17、在C语⾔中,运算符都有⼀定的结合性,则赋值运算符的结合性为(左结合)。

18、赋值运算符的作⽤就是将常量、变量或(表达式)的值赋给某⼀个变量。

19、已知a = 10, b = 20,则表达式!a
20、在C语⾔中,(sizeof )运算符可以求算出数据字节数。

21、关系运算符中表⽰不等于的运算符是“(!= )”。

22、关系运算符的结果⽤逻辑值(真)和(假)来表⽰。

23、在C语⾔的运算符中,(关系)运算符和逻辑运算符是⽤“真”和“假”来表达结果。

24、C语⾔中的基本数据类型分别是整型变量、实型变量、(字符型)、枚举型变量。

四.阅读程序,填空。

1、请阅读下⾯的程序,在空⽩处填写正确的代码,该程序的功能是:通过输⼊成绩,为成绩评等级,90~100为A,80~89为B,70~79为C,60~69为D,60以下为E。

#include
void main()
{
printf("Please input your score:");
scanf("%d", &score);
switch ( score/10 )
{
case 10:
case 9:
printf("Your level is A.\n");
break;
case 8:
printf("Your level is B.\n");
break;
case 7:
printf("Your level is C.\n");
break;
case 6:
printf("Your level is D.\n");
break;
(default )
printf("Your level is E.\n");
}
}
2、请阅读下⾯的程序,在空⽩处填写正确的代码,该程序的功能是:从键盘上输⼊⼀⾏字符(不多于40个,以回车换⾏符作为输⼊结束标记),将其中的⼤写字母改为⼩写字母,其它字符不变,然后逆向输出。

void main()
{
char a[40];
int n=0;
do
{
scanf("%c", &a[n]);
if ( a[n]>=’A’&&a[n]<=’Z )
a[n]+=32;
n++;
} while (__a[n-1] _ != '\n');
n=n-2;
printf("%c", a[n--]);
}
3、请阅读下⾯的程序,在空⽩处填写正确的代码,该程序的功能是:求
s=3+5+7+…+29之和。

void main()
{
int i,sum=0;
for (i=3; i<=29; _i=i+2 __)
sum = sum+i ___;
printf("sum=%d\n",sum);
}
4、请阅读下⾯的程序,在空⽩处填写正确的代码,该程序的功能是:从键盘输⼊⼀个年份数据,判断此年份是否为闰年。

(注:满⾜下⾯两个条件中的⼀个即为闰年:⼀、400的倍数;⼆、4的倍数但不是100的倍数)。

void main()
{
int x,i;
scanf("%d",&x);
if (x%400==0)
i=1;
else if (_x%100!=0&&x%4==0 __)
i=1;
else
__i=0__;
if (i==1)
printf("该年为闰年\n");
if (i==0)
printf("该年为平年\n");
}。

相关文档
最新文档