C语⾔程序设计试题题库
第⼀章基础知识
⼀.填空
1.每个C程序都必须有且仅有⼀个________ 函数。
2.C语⾔程序开发到执⾏通常要经过6个阶段即编辑、预处理、________、链接、加载和执⾏。
3.软件是程序,以及______、使⽤和维护所需要的所有⽂档。
4.国标中规定:“计算机程序是按照具体要求产⽣的适合于计算机处理的_________”。
5.程序设计语⾔按照书写形式,以及思维⽅式的不同⼀般分为低级语⾔和________两⼤类。
6.C语⾔是由________组成的。
7. C语⾔的函数可分为主函数main、标准库函数和_________。
8.⼀个函数是由两部分组成的,即:________和函数体。
9..编译是将C语⾔所编写的源程序________成机器代码,也称为建⽴⽬标代码程序的过程。
10.程序是由某种程序设计语⾔编制出来,体现了编程者的控制思想和对计算机执⾏操作
的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本⾝软硬件协调⼯作,并使其设备充分发挥效⼒,⽅便⽤户使⽤的系统软件程序,称为操作系统;⽽为办公⾃动化(OA)、管理信息系统(MIS)、⼈⼯智能、电⼦商务、⽹络互联等等应⽤⽽开发的软件程序,统称为_________。
11. 机器语⾔是以__________形式表⽰的机器基本指令的集合,是计算机系统唯⼀不需要翻译可以直接识别和执⾏的程序设计语⾔。
c语言六种基本语句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位计算机为例,若定义long int a; 则变量a占______个字节的内存空间。
2.以16位计算机为例,若定义double a; 则变量a占______个字节的内存空间。
3.以16位计算机为例,若定义long double; 则变量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.若有char ch1; ch1='a'+4; 则语句printf("%c",x)的输出结果为______。
24.字符串常量“Hello, everyone!”占据的内存空间为______个字节
25.字符串常量“Hello,Bob!”占据的内存空间为______个字节。
26.⼗进制整型常量由0~9个数据组成,但不能以______开始,没有⼩数部分
27.⼗六进制常量由0~9和______组成
28.unsigned long类型常量通常以______为后缀
29.实型常量通常有⼩数形式和______两种表达⽅式
30.C语⾔中是⽤编译预处理命令______来包含其他源⽂件
31.为了表⽰字符串的结束,系统⾃动在字符串的最后加⼀个______,但不被输出
32.C语⾔中,其值可被改变的量称为变量,它具有三个基本要素:变量名、______和变量值。
33.C语⾔规定,变量的标识符只能由字母、数字和下划线组成,且不能以______开头。
34.在16位机中,sizeof(“hello\n”)等于______。
35.在16位机中,printf(“\“hello\””)等于_____。
36.字符变量在内存中占⽤______个字节的存储空间。
37.若有定义int x=27, y=6; 则表达式x/y的值为______。
38.若有定义int x=47, y=8; 则表达式x%y的值为______。
39.若有定义char ch1='A',ch2,ch3; 执⾏ch2=ch1++; ch3=++ch1; printf("ch1=%c, ch2=%
c",ch1,ch2); 则输出为______。
40.若有定义char ch1='A',ch2,ch3; 执⾏ch2=ch1++; ch3=++ch1; printf("ch2=%c, ch3=%
c",ch2,ch3); 则输出为______。
41.若有定义int i=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; double b=5.45; 执⾏x=b后,则x的值为______。
46.若定义int y; char c='A'; 执⾏y=c后,则y的值为______。
47.若定义int a=8; float b=2.5; 则a/(int)(b)的值为______。
48.若a=5,则执⾏a*=7-3语句后,a的值是______。
49.若int a=1,b=0,c=4,d=2; 则表达式(a>b ? a:b)&&(c-d)的值为______。
50.已知a = 0 ,表达式a = 1?b = 1:b = 0; 执⾏后,b的值是_____。
51.若定义int m=7,n=12; 则表达式n%=m-m%5的值是______。
52.若定义int a=8; float b=4.5;执⾏a*=a/=a-b后,a的值为______。
53.int a=2; !a++的值为_____。
54.int a=0; !++a的值为______。
55.int a=7;float b=4.5;则printf(“%d”,a*=a/=a-b)的值为______。
56.int k=7;float a=2.5,b=4.7;则表达式a+k%3*(int)(a+b)%2/4的值为______。
57.#define MM(a,b) (a-b)?a:b int a=2,b=6;printf(“%d\n”,MM(a,b))的值为______。
58.在32位机中,int a=4,b=7; printf(“%0x”,a-b)的值为:______。
59.int x,y,z; x=y=2;z=3;y=x++-1;printf(“%d,%d”,x,y)的值为: ______。
60.int i=2,j; printf(“%d”,j=i<1)的值为:______ 。
解答:
1. 4;
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. 6.000000;4
5. 5;4
6. 65;4
7. 4;4
8. 20;4
9. 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.有char ch,则从键盘给ch赋值的格式输⼊语句为:________________。
10.如果要输出字符串常量“HelloWord!”,则格式输出语句为:________________。
11.设有定义:long x=-123456L;,请写出能够正确输出变量x值的语句________________。
12.若有int a,b; ,想通过scanf("%d%d",&a,&b);输⼊语句给a赋于1,给b赋于2,则从键盘输⼊数据的形式是
________________。
13.若有int i,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.有int m,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; float b, c; scanf("%2d%3f%4f",&a,&b,&c); printf("\na=%d, b=%f, c=%f\n", a, b,
c);,若运⾏时从键盘上输⼊9876543210<;回车>,则程序的输出结果是_____________。
17.有int m=0256,n=256; 则printf("%o %o\n",m,n); 的输出结果是__________________。
18.有int x=102,y=012; ,则printf(“%2d,%2d\n”,x,y); 的输出结果是____________。
19.有定义和语句:int a; char c=10; float f=100.0; double x; a=f/=c*=(x=6.5); 则printf("%d %d %3.1f %3.1f\n",a,c,f,x); 的输出结果是_____________________。
20.若有定义和语句:int m=0xabc,n=0xabc; m-=n; 则printf("%o\n",m);的输出结果是___。
21.若有int m=32,n=032; ,则printf("%d,%x\n",m,n); 执⾏后输出结果是______________。
22.若有int a=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.0 33.0<;回车> D) 10 22<;回车> 33<;回车>
24.若有int x=3,y=1; 则printf("%d %d\n",x++,y+2); 的输出结果是________________。
25.若有定义和语句:double d; float f; long l; int i; 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.若有int k=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.若有定义和语句:int u=010,v=0x10,w=10;则printf("%d,%d,%d\n",u,v,w); 输出结果是_____________________。
30.若有int a=1,b=4,c=2; float x=10.5, y=4.0, z; z=(a+b)/c+sqrt((double)y)*1.2/c+
x; ,则printf("%f\n",z); 的输出结果是_____________________ 。
31.若有int a=2,c=5; ,则printf("a=%%d,b=%%d\n",a,c);的输出结果是________________。
32.有char c; int n=100; float f=10; double x; 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); 的输出结果
是___________。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。