c语言复习题答案.docx
- 文档编号:11008800
- 上传时间:2023-02-24
- 格式:DOCX
- 页数:32
- 大小:31.51KB
c语言复习题答案.docx
《c语言复习题答案.docx》由会员分享,可在线阅读,更多相关《c语言复习题答案.docx(32页珍藏版)》请在冰豆网上搜索。
c语言复习题答案
练习一
一、选择题
1
2
3
4
5
6
7
8
9
10
C
D
A
C
D
C
B
C
C
C
11
12
13
14
15
A
B
D
C
B
二、填空题
(注:
答案中的□代表空格)
1
编译
6
主函数(或main函数)
2
.exe
7
/*…*/
3
编译
8
算法
4
顺序结构
9
main函数
5
函数
10
流程图
三、编程/思考题
1.C语言的主要特点有:
(1)C语言具有结构化的高级编程语言应有的所有高级指令,使程序员不需要知道硬件细节。
同时,C也具有一些低级指令,允许程序员能够直接快速地访问硬件。
(2)C语言是结构式语言。
(3)C语言是一种高效的语言。
(4)C语言简洁紧凑,使用方便灵活。
(5)C语言运算符丰富。
(6)C语言是一种可移植性语言。
2.编辑C语言程序源代码,编译源文件,连接程序,执行程序。
3.算法具有以下特点:
(1)有穷性;
(2)确定性;(3)有零个或多个输入;(4)有一个或多个输出;(5)有效性。
4.算法流程图如下:
5.#include
voidmain()
{
printf("*********************************\n");
printf("ThisisasimpleCprogram!
\n");
printf("*********************************\n");
}
练习二
一、选择题
1
2
3
4
5
6
7
8
9
10
B
C
B
A
D
A
D
B
D
A
11
12
13
14
15
16
17
18
19
20
C
D
B
D
A
C
D
A
D
B
21
22
23
24
25
C
B
B
A
B
二、填空题
1
float,double
6
doubea=5.6,b=5.6;
2
普通常量和符号常量
7
intx=32768
3
字母、数字、下划线
8
‘a’
4
回车换行,回车不换行
9
9,90
5
float、double、char
10
Beijing
China
三、思考题
1.解:
C语言中,要求对所有用到的变量“先定义,后使用”,这样做的好处是:
能够保证程序中变量名使用得正确;在编译时就能为变量分配相应的存储单元;便于在编译过程中检查对该变量进行的运算是否合法。
2.解:
字符常量是一个字符,在程序中是用单撇号括起来的;字符串常量由0个或若干个字符组合而成,在程序中是用双撇号括起来的,在存储时,系统自动在字符串最后加上一个字符串结束符’\0’。
3.解:
在内存中,字符型数据以ASCII码存储,ASCII码是一串二进制编码,每个字符的ASCII码对应一个整数值,大写字母与其对应小写字母的ASCII码对应整数值相差32。
因此,要将一个大写字母转换为小写字母,只需将该变量的值加上32即可。
4.解:
常量’a’与”a”在内存中所占用的字节数不相同,因为’a’是字符常量,在内存中占用一个字节存储,而”a”是字符串常量,在内存中存储时,系统自动在其后加上一个字符串结束符’\0’,在内存中占用2个字节存储。
5.若有定义inta;floatf,则表达式’c’+a+f的结果为double型。
因为表达式中f为float型,在计算之前必须先转换为double型,根据数据类型的自动转换规则,表达式的结果为double型。
6.解:
整数在内存中以补码形式存储,负数的补码为反码+1,所以,当x=-12时,其在内存中的存储形式为:
1111111111110100。
7.解:
输出结果为-32768,因为一个short型数据在内存中占用2个字节存储,所能表示的数值范围为-32768~32767,当x=32768时,超出了其能表示的范围,发生了溢出,数值32768的二进制编码的16位正好对应数值-32768。
8.解:
若有x为int型变量,则执行x=3.14后,变量x的值为3,因为x为int型变量,不能存储实型数据,当把一个实型数据赋给x时,发生了数据类型转换,系统自动把实型数据的小数部分舍去。
9.解:
两个程序的运行结果相同。
因为字符型数据以ASCII码存储,ASCII码是一串二进制编码,每个字符的ASCII码对应一个整数值。
因此,在一定范围内,整型数据和字符型数据是可以通用的。
字符’a’和’b’对应的ASCII编码值分别为97,98。
10.解:
(注:
答案中的□代表空格)
运行结果为:
aAbB□□□□cC□□□□□□abc
A□□□□□□□BB
练习三
一、选择题
1
2
3
4
5
6
7
8
9
10
C
D
A
B
C
C
D
B
D
B
11
12
13
14
15
16
17
18
19
20
C
C
C
D
B
C
D
D
D
A
21
22
23
24
25
26
27
28
29
30
C
C
C
B
A
D
A
D
A
A
31
32
33
34
35
36
37
38
39
40
B
B
A
D
B
C
C
D
C
D
二、填空题
(注:
答案中的□代表空格)
1
1
11
1
2
2
12
1
3
5.5
13
x>=0&&x<=1||x>=-1&&x<=0
4
3.5
14
-16
5
1
15
-60
6
0
16
26
7
0
17
10,6
8
&&,||,!
18
3
9
0
19
A
10
0
20
4
三、编程题
1.
(1)2.5,
(2)4.5;
2.如果一个表达式的值为“真”,则以1表示,如果值为“假”,则以0表示;当判断一个量的逻辑值时,系统将0判断为“假”,将非0判断为“真”。
3.
(1)0;
(2)1;(3)1;(4)0;(5)1
4.
(1)30;
(2)10;(3)45;(4)0;(5)0;(6)-420;(7)0;
5.a=4,b=6,表达式的值为6;
6.11,9,11,10
7.2,0
3,-1
8.5
9.#include
voidmain()
{
intx;
printf("请输入x的值:
");
scanf("%d",&x);
x%2?
printf("奇数\n"):
printf("偶数\n");
}
10.#include"stdio.h"
voidmain()
{charch;
printf("请输入一个大写字母:
");
scanf(“%c”,&ch);
ch=ch+32;
printf("%c\n",ch);
}
练习四
一、选择题
1
2
3
4
5
6
7
8
9
10
A
B
A
D
B
D
D
A
A
B
11
12
13
14
15
16
17
18
19
20
C
A
B
D
B
A
C
D
B
D
21
22
23
24
25
26
27
28
29
30
D
B
A
B
A
D
B
B
A
D
二、填空题
(注:
答案中的□代表空格)
1
;(分号)
9
20
2
输出数据左对齐
10
1234
3
可以使同一输出语句中的输出宽度得以改变
11
*3.140000,3.14*
4
x=1y=2*sum*=3
12
2,48,20.0,20.0
5
261
13
3.6
6
scanf("%d%f%f%c%c",&a,&b,&c1,&c2);
14
a=66,b=E
7
a=%d\nb=%d\n
15
A□□□B□□□<回车>
8
10,11
三、编程题
1.#include
main()
{inta;
a=0x123;
printf(“%d\n”,A.;
}
2.#include
main()
{inth,m,t=450;
h=t/24;
m=t%24;
printf("450分钟换算成小时和分钟表示:
%d小时,%d分钟\n",h,m);
}
3.#include
main()
{floatpi,r,h,c1,cs,cvz;
printf("请输入圆的半径r和圆柱的高h:
");
scanf("%f,%f",&r,&h);
pi=3.14159;
c1=2*pi*r;
cs=pi*r*r;
cvz=pi*r*r*h;
printf("圆的周长为:
%6.2f\n",c1);
printf("圆的面积为:
%6.2f\n",cs);
printf("圆柱的体积为:
%6.2f\n",cvz);
}
4.#include
main()
{charch;
printf("请输入一个字母:
");
scanf("%c",&ch);
printf("字母%c对应的ASCII码为%d\n",ch,ch);
}
5.#include
main()
{intx,y;
printf("请输入两个整数:
");
scanf("%d%d",&x,&y);
printf("两数的商是%5.2f,两数的余数是%d\n",(double)x/y,x%y);
}
6.#include
main()
{floatf,c;
printf("请输入华氏温度:
");
scanf("%f",&f);
c=5.0/9.0*(f-32);
printf("摄氏温度为:
%f\n",C.;
}
7.#include
main()
{charch;
printf("请输入一个大写字母:
");
scanf("%c",&ch);
ch=ch+32;
printf("小写字母为:
%c\n",ch);
}
8.#include
main()
{intnum1,num2,num3;
floataver;
printf("请输入三个整数:
");
scanf("%d,%d,%d",&num1,&num2,&num3);
aver=(num1+num2+num3)/3.0;
printf("三个整数分别为:
%d,%d,%d\n",num1,num2,num3);
printf("平均值=%7.2f\n",aver);
}
9.#include
main()
{intx,y,t;
printf("请输入两个整数:
");
scanf("%d,%d",&x,&y);
printf("交换前:
x=%d,y=%d\n",x,y);
t=x;x=y;y=t;
printf("交换后:
x=%d,y=%d\n",x,y);
}
XX文库-让每个人平等地提升自我XX文库-让每个人平等地提升自我10.#include"stdio.h"
main()
{charch1,ch2;
printf("请输入两个字符:
");
ch1=getchar();
ch2=getchar();
printf("用putchar函数输出结果为:
");
putchar(ch1);putchar(ch2);
putchar('\n');
printf("用printf函数输出结果为:
");
printf("%c,%c\n",ch1,ch2);
}
练习五
一、选择题
1
2
3
4
5
6
7
8
9
10
D
C
B
B
D
A
C
B
D
B
11
12
13
14
15
16
17
18
19
20
D
C
D
C
A
B
B
B
A
C
21
22
23
24
25
26
27
28
29
30
D
B
A
D
D
D
A
B
B
A
31
32
33
34
35
36
37
38
39
40
C
B
B
B
D
C
A
A
D
C
二、填空题
1
your$3.0yuan/xiaoshi
11
x<110&&x>=100
2
当a<0,b=-1;当a=0,b=0;当a>0,b=1
12
x=5
Thevalueofxisunknown.
3
3635.4
13
F
4
x>y
14
输入两个数x,y,比较x+y和x*y哪个大。
5
x=2
15
2,0,0
6
x>-1&&x<=2
16
20
7
a+b>c&&b+c>a&&a+c>b
17
5
5
1
8
-1
18
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 复习题 答案