C语言程序设计试题卷集与答案解析.docx
《C语言程序设计试题卷集与答案解析.docx》由会员分享,可在线阅读,更多相关《C语言程序设计试题卷集与答案解析.docx(255页珍藏版)》请在冰点文库上搜索。
C语言程序设计试题卷集与答案解析
第一章基础知识
一、填空
1、
ﻩﻩ每个C程序都必须有且仅有一个________ 函数。
2、 C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、 链接 、加载
与执行.
3、软件就是程序,以及______、使用与维护所需要得所有文档。
4、国标中规定:
“计算机程序就是按照具体要求产生得适合于计算机处理得_________”。
5、 程序设计语言按照书写形式,以及思维方式得不同一般分为低级语言与________两大类
.
6、C语言就是由________组成得.
7、C语言得函数可分为主函数main、标准库函数与_________.
8、一个函数就是由两部分组成得,即:
________与 函数体。
9、编译就是将C语言所编写得源程序________成机器代码,也称为建立目标代码程序得过程。
10、
ﻩﻩ程序就是由某种程序设计语言编制出来,体现了编程者得控制思想与对计算机执行操作
得要求。
不同得任务功能,就会需求不同得软件程序,如:
控制计算机本身软硬件协调工作
,并使其设备充分发挥效力,方便用户使用得系统软件程序,称为操作系统;而为办公自动
化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发得软件程
序,统称为_________。
11、机器语言就是以__________形式表示得机器基本指令得集合,就是计算机系统唯一不需要翻
译可以直接识别与执行得程序设计语言。
12、与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令得操作码与操作对
象,也可以用标号与符号来代替地址、常量与变量。
13、
ﻩﻩ在编译程序之前,凡以____开头得代码行都先由预处理程序预处理。
14、C程序得执行均就是由执行_________开始。
15、
函数体即为包含在{}内得部分.它分为________与为完成功能任务由若干个C语句
组成得执行部分。
16、
ﻩC语言程序中一条简单语句就是以________字符作为结束符得。
17、
ﻩﻩC语言就是结构化、________得程序设计语言。
18、
ﻩ由于计算机硬件不能直接识别高级语言中得语句,因此,必须经过“_______程序”,
将用高级语言编写得程序翻译成计算机硬件所能识别得机器语言程序方可执行。
19、
ﻩ用高级语言编写得程序需翻译成计算机硬件所能识别得机器语言程序方可执行.所以
说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。
20、
第一个系统体现结构化程序设计思想得教学工具语言就是_______语言.
解答:
1、main()
2、 编译
3、开发
4、 指令序列
5、高级语言
6、 函数
7、自定义函数
8、函数首部
9、翻译
10、应用软件
11、二进制代码
12、 助记符
13、#
14、 main函数
15、声明部分
16、;(或分号)
17、模块化
18、翻译
19、执行速度
20、 PASCAL
二、阅读程序写结果
解答:
三、补充程序
解答:
四、改错题
解答:
五、编程一
解答:
六、编程二
解答:
第二章常量、变量与表达式
一、填空
1、 以16位计算机为例,若定义longint a;则变量a占______个字节得内存空间。
2、以16位计算机为例,若定义doublea;则变量a占______ 个字节得内存空间。
3、以16位计算机为例,若定义longdouble;则变量a占______ 个字节得内存空间。
4、在______位机,int型占4个字节.
5、C语言得数据类型有:
基本数据类型、构造数据类型、枚举类型、______ 、空类型
。
6、在C语言中,基本数据类型有:
______ 。
7、整型常量046转换为十进制数等于______ 。
8、整型常量054转换为十进制数等于______ 。
9、整型常量0x125转换为十进制数等于______。
10、整型常量0x7C转换为十进制数等于 ______。
11、整型常量39转换为八进制等于 ______。
12、实数473、468写成规范化指数形式,则应为______。
13、实数0、0453写成规范化指数形式,则应为______。
14、将0x123转换为二进制等于______。
15、字符’A'表示成十六进制等于______。
16、在C语言中,称代表常量得标识符为______.
17、 C语言中就是用编译预处理命令______来定义符号常量
18、在C语言中,以反斜杠符(\)开头,后跟字符得字符序列,称之为______ ,主
要用来表示控制及不可见得字符或者一些图形符号
19、语句printf("\106")执行得结果输出就是 ______。
20、语句printf(“b”)执行得结果输出就是______.
21、语句printf(“\\b”)执行得结果输出就是______.
22、语句printf("\102”)执行得结果输出就是 ______。
23、若有charch1;ch1='a’+4;则语句printf(”%c",x)得输出结果为______。
24、 字符串常量“Hello, everyone!
”占据得内存空间为______ 个字节
25、字符串常量“Hello,Bob!
”占据得内存空间为______ 个字节
26、十进制整型常量由0~9个数据组成,但不能以______ 开始,没有小数部分
27、 十六进制常量由0~9与______ 组成
28、unsignedlong类型常量通常以______ 为后缀
29、实型常量通常有小数形式与______ 两种表达方式
30、C语言中就是用编译预处理命令______ 来包含其她源文件
31、为了表示字符串得结束,系统自动在字符串得最后加一个______ ,但不被输出
32、C语言中,其值可被改变得量称为变量,它具有三个基本要素:
变量名、______
与变量值
33、C语言规定,变量得标识符只能由字母、数字与下划线组成,且不能以______ 开
头.
34、 在16位机中,sizeof(“hello\n")等于______。
35、 在16位机中,printf(“\“hello\”")等于______。
36、字符变量在内存中占用______ 个字节得存储空间。
37、若有定义intx=27, y=6;则表达式x/y得值为 ______。
38、 若有定义intx=47, y=8;则表达式x%y得值为 ______。
39、若有定义charch1='A’,ch2,ch3;执行ch2=ch1++;ch3=++ch1;printf("ch1=%c,ch2=%
c",ch1,ch2);则输出为______。
40、若有定义charch1='A',ch2,ch3;执行ch2=ch1++;ch3=++ch1;printf("ch2=%c,ch3=%
c",ch2,ch3);则输出为______。
41、 若有定义inti=5,j,k;执行j=i-—;k=--i;printf(”i=%d,j=%d\n",i,j); 则输
出为 ______。
42、 表达式(int)(13、7+25、6)/4%5 得值就是______。
43、表达式 3、6—5/2+1、2+5%3 得值就是______.
44、 表达式54%10/2+4、0*(8/5)得值就是 ______。
45、若定义int x; doubleb=5、45; 执行x=b后,则x得值为______.
46、若定义inty;charc='A';执行y=c后,则y得值为 ______。
47、 若定义 inta=8; floatb=2、5; 则a/(int)(b)得值为 ______。
48、若a=5,则执行a*=7-3语句后,a得值就是 ______.
49、若inta=1,b=0,c=4,d=2; 则表达式(a>b?
a:
b)&&(c-d)得值为______。
50、已知a= 0,表达式a= 1?
b=1:
b =0; 执行后,b得值就是______.
51、 若定义intm=7,n=12;则表达式n%=m-m%5得值就是______.
52、若定义inta=8;floatb=4、5;执行a*=a/=a—b后,a得值为______。
53、inta=2; !
a++得值为 ______。
54、inta=0; !
a++&++a得值为______。
55、 inta=7;float b=4、5;则printf(“%d”,a*=a/=a-b)得值为______.
56、intk=7;floata=2、5,b=4、7;则表达式a+k%3*(int)(a+b)%2/4得值为 ______.
57、#defineMax(a,b)(((a)-(b))&0x80000000)?
(a):
(b),int a=2,b=6;printf(“%d\n”,M
ax(a,b))得值为
ﻩ______。
58、在32位机中,inta=4,b=7; printf(“%0x",a-b)得值为:
______。
59、intx,y,z; x=y=2;z=3;y=x++-1;printf(“%d,%d",x,y)得值为:
______。
60、inti=2,j; printf(“%d”,j=i<1)得值为:
______
解答:
1、0
2、4
3、10
4、32
5、指针类型
6、 int、float、double、char
7、 38
8、44
9、 293
10、124
11、047
12、4、734680e+002
13、4、530000e—002
14、 100100011
15、\x41/41H
16、 符号常量
17、 #define
18、转义字符常量
19、F
20、b
21、 \b
22、B
23、e
24、16
25、11
26、0
27、A~F
28、U
29、指数形式
30、#include
31、“\0”
32、变量类型
33、数字
34、7
35、“hello"
36、1
37、4
38、7
39、 ch1=C,ch2=A
40、ch2=A,ch3=C
41、 i=3,j=5
42、4
43、 4、800000
44、7、000000
45、 5
46、 65
47、4
48、20
49、1
50、1
51、2
52、4
53、0
54、0
55、4
56、2、500000
57、2
58、fffffffd
59、3,1
60、 0
二、阅读程序写结果
解答:
三、补充程序
解答:
四、改错题
解答:
五、编程一
解答:
六、编程二
解答:
第三章 顺序结构
一、填空
1、C语言得语句可分为5类,它们就是:
控制语句、____________、函数语句、符合语句与空
语句。
2、常用于字符输入得函数为:
________________。
3、常用于字符输出得函数为:
________________。
4、常用于字符串输入得函数为:
________________。
5、常用于字符串输出得函数为:
________________。
6、格式输入函数得一般形式为:
________________.
7、格式输出函数得一般形式为:
________________。
8、printf与scanf就是标准得库函数,它们得函数原型在头文件________________中。
9、 有charch,则从键盘给ch赋值得格式输入语句为:
________________。
10、如果要输出字符串常量“HelloWord!
”,则格式输出语句为:
________________。
11、设有定义:
long x=—123456L;,请写出能够正确输出变量x值得语句________________
。
12、若有inta,b;,想通过scanf("%d%d”,&a,&b);输入语句给a赋于1,给b赋于2,则从键盘
输入数据得形式就是________________。
13、若有inti,j; scanf("i=%d,j=%d”;&i,&j);,要求给i赋10,给j赋20,则应该从键盘
输入_______。
14、已知i、j、k为int型变量,若从键盘输入:
1,2,3<回车>,使i得值为1、j得值为2、k
得值为3,请写出正确得输入语句________________。
15、 有intm,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p); printf(”%d%d%d\n",m,n,p);若想
从键盘上输入数据,使变量m中得值为123,n中得值为456,p中得值为789,则正确得输入就是_____
___________。
16、 有int a;floatb,c; scanf("%2d%3f%4f”,&a,&b,&c); printf(”\na=%d,b=%f, c=
%f\n”, a,b,c);
,若运行时从键盘上输入9876543210〈回车>,则程序得输出结果就是___________________
__。
17、有intm=0256,n=256;则printf("%o%o\n",m,n); 得输出结果就是__________________
___。
18、有intx=102,y=012; ,则printf(“%2d,%2d\n”,x,y); 得输出结果就是______________
_______。
19、有定义与语句:
inta;char c=10;floatf=100、0;double x;a=f/=c*=(x=6、5);
则
printf(”%d %d%3.1f%3。
1f\n",a,c,f,x);得输出结果就是_____________________.
20、若有定义与语句:
intm=0xabc,n=0xabc;m—=n; 则printf(”%o\n”,m);得输出结果就是___
__________.
21、若有intm=32,n=032;,则printf("%d,%x\n",m,n); 执行后输出结果就是______________
_____ 。
22、若有inta=1234;,则printf(”%2d\n",a); 得输出结果就是_____________________
。
23、若变量已正确说明为float类型,要通过语句scanf(“%f%f%f”,&a,&b,&c);给a赋于1
0、0,b赋予22、0,c赋予33、0,不正确得输入形式就是_____________________.
ﻩA)10〈回车〉22<回车>33<回车> B)10、0,22、0,33、0<回车〉
C)10、0<回车>22、033、0〈回车> D)10 22<回车>33〈回车〉
24、若有 intx=3,y=1;则printf("%d%d\n",x++,y+2);得输出结果就是__________________
___.
25、若有定义与语句:
doubled;float f;long l;inti; i=f=l=d=20/3;则printf("%
d%ld %f%f\n",i,l,f,d);得输出结果就是(小数点后只写一位)_____________________。
26、以下说法中正确得就是_____________________。
ﻩA)#define与printf都就是C语句
ﻩB)#define就是C语句,而printf不就是
ﻩC) printf就是C语句,但#define不就是
ﻩD)#define与printf都不就是C语句
27、若有 intk=17;,则printf("%d,%o,%x\n",k,k,k);得输出结果就是_________________
____。
28、 以下叙述中正确得就是_____________________。
A)输入项可以就是一个实型常量,如:
scanf("%f",3、5);
ﻩB)只有格式控制,没有输入项,也能正确输入数据到内存,例如:
scakf(”a=%d,b=%d");
C) 当输入数据时,必须指明变量地址,例如:
scanf("%f",&f);
29、 若有定义与语句:
intu=010,v=0x10,w=10;则printf(”%d,%d,%d\n",u,v,w);输出结果就是
_____________________。
30、 若有inta=1,b=4,c=2;floatx=10、5, y=4、0,z;z=(a+b)/c+sqrt((double)y)*1、2/c+
x;,则printf("%f\n”,z);得输出结果就是_____________________.
31、 若有inta=2,c=5;,则printf(”a=%%d,b=%%d\n”,a,c);得输出结果就是________________
_____。
32、 有char c;intn=100; floatf=10; doublex;x=f*=n/=(c=50);则printf("%d%f\
n",n,x);得输出结果就是_____________________.
33、 有int i=0,j=0,k=0;scanf("%d%*d%d",&i,&j,&k); printf("%d%d%d\n",i,j,k); 若
从键盘输入:
10 20 30<回车>。
输出结果就是_____________________.
34、若有int a,b,c;a=25;b=025;c=0x25;,则printf(”%d%d%d\n”,a,b,c); 得输出结果
就是___________。
35、有以下语句段
ﻩintn1=10,n2=20;printf(“________________",n1,n2);
ﻩ要求按以下格式输出n1与n2得值,每个输出行从第一列开始,请填空。
n1=10n2=20
36、若有语句inti=-19,j=i%4;则printf("%d\n",j);得输出结果就是_____________________
。
37、有inta=0;a+=(a=8);则printf("%d\n",a);得输出结果就是_____________________。
38、 有int a=1,b=2; a=a+b; b=a-b;a=a-b;则printf(“%d,%d\n",a, b);得输出结果就是
______________。
39、有unsignedshorta=65536; intb;,则printf(“%d\n",b=a);得输出结果就是________
______.
40、 语句printf("\10289\n”);得数据结果为:
__________________.
解答:
1、 表达式语句
2、getchar()
3、 putchar()
4、 gets()
5、 puts()
6、scanf(“格式控制字符串",地址表列);
7、printf(“格式控制字符串",输出表列);
8、stdio、h
9、scanf(“%c”,&ch);
10、 printf(“%s”,HelloWord!
);
ﻩ或者:
printf(“HelloWord!
”);
11、printf(“x=%1d\n",x);
12、 12或者 1
ﻩ 2
13、 i=10,j=20
14、scanf(“%d,%d,%d”,&i,&j,&k);
15、m=123n=456p=789
16、a=98, b=765、000000,c=4321、000000
17、 256400
18、 102,10
19、 1 651、56、5
20、0
21、32,1a
22、1234
23、B
24、3 3
25、 666、0 6、0
26、D
27、17,21,11
28、 C
29、 8,16,10
30、 13、700000
31、a=%d,b=%d
32、220、000000
33、10300
34、2521 37
35、 n1=%d\nn2=%d
36、—3
37、 16
38、2,1
39、0
40、B89
二、阅读程序写结果
解答:
三、补充程序
解答:
四、改错题
解答:
五、编程一
解答:
六、编程二
解答:
第四章选择结构
一、填空
1、在if,while, case, do, else等关键字中,用于选择结构得有(
)、
2、已知 a= 1; 那么if( a= 2)printf("%d",2);elseprintf(”%d",1);得输出结
果就是( )、
3、已知 char a ='A’;那么if( a〉65)printf("%s", ”bigger");else printf("%s”
, ”smaller”);得输出结果就是( )、
4、 表示“x≥y≥z"得C语言表达式就是( ).
5、在C语言中,用于实现选择结构得语句有( )语句与( )语句
.
6、判断两个浮点型变量x与y就是否相等一般用:
if( <1e-6)…。
7、设有程序段:
t=6;a=7;b=8;if(a=b)t=a;,这段程序执行后,t得结果就是( )
。
8、设a=1,b=2,c=3,d=4,则表达式:
a>b?
a:
c>d?
a:
d得结果为( ).
9、表达式98 && 8&& 31&&(98- ’a')得值为( )。
10、 若inta=3; 则表达式(a〉2)&