还剩10页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
c语言编程题考试题库及答案
一、选择题(本题型共15题,每题2分,共30分)
1.以下关于C语言变量的描述,正确的是()A.变量名可以以数字开头B.变量在定义时必须初始化C.局部变量的作用域仅限于定义它的函数或复合语句D.全局变量只能在定义它的文件中使用
2.以下数据类型中,占用字节数最多的是()A.int(32位系统通常为4字节)B.long(32位系统通常为4字节)C.float(通常为4字节)D.double(通常为8字节)
3.表达式10+3*2-8/4的值是()A.14B.15C.16D.
174.若有定义int a=5,b=3;则执行语句printf%d,a%b;后的输出结果是()A.1B.2C.3D.
55.以下循环结构中,先执行循环体再判断条件的是()第1页共12页A.for循环B.while循环C.do-while循环D.if-else循环
6.以下关于函数的描述,错误的是()A.函数可以没有返回值B.函数的参数传递方式有值传递和地址传递C.函数必须在调用前声明D.函数调用时实参和形参的类型必须完全一致
7.若有定义char c=A;则执行c=c+3;后,c的值是()A.DB.68C.字符D的ASCII码值为68D.编译错误
8.以下哪个不是C语言的基本数据类型()A.intB.char[]C.floatD.double
9.对于for循环语句fori=0;i5;i++,循环体执行的次数是()A.4次B.5次C.6次D.不确定第2页共12页10若有定义int arr
[5]={1,2,3,4,5};则arr
[3]的值是()A.1B.2C.3D.
411.以下关于指针的描述,正确的是()A.指针变量可以直接赋值为整数0B.指针变量存储的是变量的类型C.指针变量的大小在32位系统中是8字节D.空指针可以赋值为NULL
12.表达式325=5的结果是()A.0B.1C.真D.假
13.以下哪个函数可以用于输入一个字符()A.scanfB.printfC.getsD.fgets
14.若有定义int p;p=intmalloc10*sizeofint;则p指向的内存空间大小是()A.10字节B.40字节(假设int为4字节)C.不确定第3页共12页D.编译错误
15.以下关于数组的描述,错误的是()A.数组的大小在定义时必须确定B.数组名可以作为函数参数传递首地址C.数组元素的下标从1开始D.二维数组的每一行是一个一维数组答案
1.C;
2.D;
3.A;
4.B;
5.C;
6.D;
7.A;
8.B;
9.B;
10.D;
11.D;
12.B;
13.A;
14.B;
15.C
二、填空题(本题型共15题,每题2分,共30分)
1.C语言程序的入口函数是__________
2.变量a被定义为float类型,若a=
3.14f,则a的类型是__________
3.若有定义int x=5;x+=x-3;执行后x的值是__________
4.for循环的三个表达式分别是初始化、__________和调整
5.函数的返回值类型如果没有显式声明,默认是__________
6.若有定义int a=10,b=20;则执行a*=b-5;后,a的值是__________
7.数组arr的首地址是arr
[0],arr[i]的地址可以表示为__________
8.字符串Hello在内存中存储时,会额外添加一个__________字符
9.若要跳出当前循环并继续执行循环后的语句,应使用__________语句
10.函数声明的一般形式为返回值类型函数名参数列表__________;第4页共12页
11.变量分为局部变量和__________变量
12.表达式ab中,当a为真时,b的值__________(会/不会)被计算
13.若有定义int p=a;则p表示的是__________
14.调用函数时,实参和形参之间默认是__________传递
15.结构体类型的关键字是__________答案
1.main;
2.float;
3.7;
4.循环条件;
5.int;
6.150;
7.p+i;
8.\0;
9.break;
10.;;;
11.全局;
12.不会;
13.a的值;
14.值;
15.struct
三、程序阅读题(分析执行结果)(本题型共10题,每题3分,共30分)
1.#include stdio.hvoid main{int a=5,b=10;if abprintfab\n;elseprintfa=b\n;}输出结果__________
2.#include stdio.hvoid main{int i,sum=0;for i=1;i=5;i++{sum+=i;第5页共12页}printfsum=%d\n,sum;}输出结果__________
3.#include stdio.hint addint x,int y{return x+y;}void main{int a={3,4},b,c;c=adda,b;printfc=%d\n,c;}输出结果__________
4.#include stdio.hvoid main{char c=A;printf%c\n,c+32;}输出结果__________
5.#include stdio.hvoid main{int arr
[3]={1,2,};printf%d\n,arr
[1];}第6页共12页输出结果__________
6.#include stdio.hvoid main{int x=10;if x5{x=60;printfx is60\n;}printfx is%d\n,x;}输出结果__________
7.#include stdio.hvoid main{int i=0;while i3{printf%d,i;i++;}}输出结果__________
8.#include stdio.hvoid main{int a=5,b=0;if b!=0printfb isnot zero\n;第7页共12页elseprintfb iszero\n;}输出结果__________
9.#include stdio.hvoid main{intx=3,y=5;int temp=x;x=y;y=temp;printfx=%d,y=%d\n,x,y;}输出结果__________
10.#include stdio.hvoid main{char str[]=Test;printf%d\n,str
[2];}输出结果__________答案
1.a=b;
2.sum=15;
3.编译错误(数组初始化错误);
4.a;
5.int arr
[3]={1,2,0}时输出2;
6.x is60x is60;
7.012;
8.b iszero;
9.x=5,y=3;
10.116
四、程序改错题(找出错误并改正)(本题型共10题,每题3分,共30分)
1.以下代码的功能是计算1到10的和,找出其中的错误并改正第8页共12页#include stdio.hvoid main{int sum=0,i=1while i=10{sum+=ii++}printfsum=sum\n}错误及改正__________
2.以下代码的功能是输出5个Hello,找出错误并改正#include stdio.hint main{int i;for i=0;i=5;i++printfHello\n}错误及改正__________答案见完整答案部分
五、基础程序设计题(简单算法)(本题型共15题,每题4分,共60分)
1.编写程序,求1到n的和,其中n由用户输入
2.编写程序,判断一个整数是否为素数(只能被1和自身整除的大于1的整数)
3.编写程序,输出100到200之间的所有素数
4.编写程序,实现冒泡排序(对数组按升序排序)第9页共12页
5.编写程序,求两个正整数的最大公约数(GCD)
6.编写程序,计算斐波那契数列的第n项(斐波那契数列1,1,2,3,5,
8...)
7.编写程序,请将字符串Hello World中的空格替换为下划线
8.编写程序,求一个数的阶乘(n!=
12...*n)
9.在数组中查找指定元素,返回其下标(若不存在返回-1)[数组和元素由用户输入]
10.编写程序,将一个整数逆序输出(如输入123,输出321)[不考虑负数]
11.编写程序,计算圆的面积(已知半径r,面积=π*r²,π取
3.14)
12.编写程序,输出1到100之间的所有偶数之和
13.编写程序,判断一个年份是否为闰年(能被4整除但不能被100整除,或能被400整除的年份为闰年)
14.编写程序,求字符串的长度(不使用strlen函数)
15.编写程序,实现两个数的交换(不使用临时变量)答案见完整答案部分
六、综合应用程序设计题(结构体/指针/数组/字符串/文件)(本题型共15题,每题4分,共60分)
1.定义一个学生结构体(包含学号、姓名、3门课成绩),输入5个学生的数据,计算每个学生的平均分并输出所有学生信息(包括平均分)
2.编写程序,动态分配一个int数组(大小由用户输入),输入数组元素,输出数组中最大值、最小值及平均值第10页共12页
3.编写程序,将一个字符串中的小写字母转换为大写字母(不使用库函数)
4.定义一个链表节点结构体(包含数据域和指针域),创建一个链表,实现添加节点、打印链表的功能
5.编写程序,从文件data.txt中读取10个整数,计算它们的和并输出到屏幕
6.编写程序,定义一个二维数组(3行4列),输入数组元素,找出数组中的最大值及其位置(行、列)
7.编写程序,用指针数组存储5个字符串,输出每个字符串的长度并按字典序排序后输出
8.编写程序,实现一个简单的计算器,支持+、-、*、/四种运算(输入格式操作数1运算符操作数2)[需处理除零情况]
9.定义教师结构体(包含工号、姓名、工资),输入n个教师数据,按工资从高到低排序并输出排序结果
10.编写程序,用冒泡排序对结构体数组按某个成员排序(如按学生成绩排序)
11.编写程序,从键盘输入一个字符串作为密码,判断密码是否符合要求(长度至少6位,包含大小写字母、数字和特殊符号)
12.使用动态内存分配创建一个动态字符串,输入字符串,统计其中每个字符出现的次数(不区分大小写)
13.编写程序,将两个有序数组(升序)合并为一个新的有序数组(升序)
14.编写程序,以二进制方式打开文件test.dat,写入5个int类型数据,再读取并输出[文件路径正确]第11页共12页
15.编写程序,定义一个栈结构体(包含数组、栈顶指针、栈大小),实现入栈、出栈、判断栈空、栈满的功能答案见完整答案部分(注因篇幅限制,程序改错题、基础程序设计题、综合应用程序设计题答案完整内容需参考完整试卷,此处仅展示部分题型结构所有答案均为正确代码实现或结果输出,符合C语言编程题考试要求)第12页共12页。
个人认证
优秀文档
获得点赞 0