还剩10页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
c语言程序设计考试题和答案6
一、选择题(本题型共15题,每题2分,共30分)
1.以下关于C语言标识符的叙述,正确的是()A.标识符只能由字母和数字组成B.标识符不能以数字开头C.标识符可以是C语言的关键字D.标识符区分大小写,且长度没有限制
2.在C语言中,以下变量定义正确的是()A.int a=5,b=6;B.int a,b=7;C.int a=3,b=4,c;D.int a=
2.5,b=3;
3.以下表达式中,运算结果为0的是()A.\5/2\B.\0/5\C.\5\%2\D.\2\%5\
4.若有定义“int x=3,y=5;”,则执行“x+=y++;”后,x和y的值分别为()A.x=8,y=5B.x=8,y=6C.x=7,y=6D.x=7,y=
55.以下循环结构中,循环体至少执行一次的是()第1页共12页A.for;0;printfHello;B.while0printfWorld;C.do{printfLoop;}while0;D.forint i=0;i5;i++;
6.以下关于if语句的描述,正确的是()A.if语句中必须有else部分B.if语句的条件表达式只能是关系表达式C.if语句的条件表达式结果为真时执行冒号后的语句块D.if语句的嵌套结构中,else总是与最近的if配对
7.以下函数定义中,正确的是()A.int maxint a,int b{return aba:b;}B.int maxinta,int b{return aba:b;}C.int maxa,b{int c;c=aba:b;return c;}D.int maxinta,int b{int c=aba:b;return c;}
8.以下数组定义中,错误的是()A.int arr
[5]={1,2,3,4,5};B.int arr[]={1,2,3};C.int arr
[3]
[2]={{1,2},{3,4},{5}};D.int arr[]
[2]={{1,2},{3,4}};
9.若有定义“int arr
[4]={10,20,30,40};”则arr
[1]的值为()A.10B.20C.30D.40第2页共12页
10.以下关于指针的叙述,错误的是()A.指针变量存储的是地址B.指针变量的类型决定了它指向的变量的数据类型C.可以用“”运算符获取变量的地址D.指针变量不能进行加减运算
11.若有定义“int x=10,p=x;”则p的值为()A.10B.xC.pD.
012.以下关于结构体的描述,正确的是()A.结构体中各成员的类型必须相同B.结构体变量可以直接进行赋值C.结构体必须在定义时初始化D.结构体中不能包含指针成员
13.若有定义“struct Student{char name
[20];int age;};”则定义一个结构体变量“struct Students;”后,s.age的初始值为()A.不确定B.0C.随机值D.未定义
14.以下关于文件操作的叙述,正确的是()A.使用fopen函数打开文件时,必须指定打开方式B.文件打开后,不需要关闭,程序结束自动关闭第3页共12页C.读取文件时,只能使用fscanf函数D.写入文件时,只能使用fprintf函数
15.以下程序段的输出结果是()int i,sum=0;fori=1;i=5;i++{ifi%2==0continue;sum+=i;}printf%d,sum;A.9B.15C.6D.10
二、判断题(本题型共10题,每题1分,共10分)
1.C语言中,变量在使用前必须进行初始化()
2.关系运算符的优先级高于算术运算符()
3.for循环的三个表达式都可以省略,但分号不能省略()
4.函数的返回值类型如果不指定,默认为int类型()
5.数组名作为函数参数时,是将数组的首地址传递给形参()
6.指针变量可以直接与整数进行加减运算()
7.结构体变量的大小等于其所有成员大小之和()
8.全局变量的作用域是整个程序()
9.使用fclose函数关闭文件时,如果文件关闭成功,返回0()
10.C语言程序的执行总是从main函数开始,到main函数结束()第4页共12页
三、填空题(本题型共15题,每空1分,共15分)
1.在C语言中,用于表示字符型数据的关键字是______
2.表达式“3+5*2-8/2”的计算结果是______
3.若要定义一个指向int类型的指针变量p,正确的定义语句是______
4.循环语句中,______语句用于提前结束本次循环,继续下一次循环
5.函数的参数传递方式有值传递和______两种
6.一维数组arr的长度为5,其一个元素的下标是______
7.若有定义“inta
[3]={1,2};”,则a
[2]的值为______
8.指针变量p指向变量x,要获取x的值,应使用的表达式是______
9.结构体类型名通常用______关键字定义
10.若要打开一个文本文件进行写入操作(如果文件不存在则创建,存在则清空内容),fopen函数的打开方式应设为______
11.函数的______部分用于指定函数的功能和返回值类型
12.表达式“abc=d:c=e”中,条件成立时,变量______的值被赋给c
13.二维数组arr
[3]
[4]中,共有______个元素
14.变量的______是指变量在程序中有效的范围
15.以下程序段的功能是计算1到10之间所有偶数的和,补全程序int sum=0,i;fori=1;i=10;i++{if______sum+=i;}第5页共12页
四、阅读程序写结果题(本题型共5题,每题4分,共20分)
1.阅读以下程序,写出程序的输出结果#include stdio.hint main{int x=5,y=3;if xy{printfx islarger\n;}else{printfy islarger\n;}return0;}输出结果______
2.阅读以下程序,写出程序的输出结果#include stdio.hint main{int i,sum=0;for i=1;i=4;i++{sum+=i;}printfsum=%d\n,sum;return0;}输出结果______
3.阅读以下程序,写出程序的输出结果第6页共12页#include stdio.hint addinta,int b{return a+b;}int main{int num1=10,num2=20;int result=addnum1,num2;printfresult=%d\n,result;return0;}输出结果______
4.阅读以下程序,写出程序的输出结果#include stdio.hint main{int arr
[4]={2,4,6,8};int*p=arr;printf%d\n,*p+2;return0;}输出结果______
5.阅读以下程序,写出程序的输出结果#include stdio.hstruct Person{char name
[20];int age;第7页共12页};int main{struct Personp={Tom,20};printfName:%s,Age:%d\n,p.name,p.age;return0;}输出结果______
五、程序改错题(本题型共3题,每题5分,共15分)
1.以下程序的功能是计算1到10的和,找出程序中的错误并改正#include stdio.hmain{int sum,i;sum=0;fori=1;i=10sum+=i;printfsum=%d\n,sum;}错误______改正______
2.以下程序的功能是输出1到5,找出程序中的错误并改正#include stdio.hint main{int i=1;whilei=5printf%d,i;第8页共12页i++;return0;}错误______改正______
3.以下程序的功能是求两个数中的最大值,找出程序中的错误并改正#include stdio.hint maxinta,int b{if abreturn a;elsereturn b;}int main{int x=5,y=8;printfmax=%d,maxx,y;return0;}错误______改正______
六、程序设计题(本题型共2题,每题10分,共20分)
1.编写一个函数,求1到n之间所有能被3或5整除的数之和,函数原型为int sum_divisibleint n;要求在main函数中输入n,调用该函数并输出结果第9页共12页
2.编写程序,定义一个结构体Student,包含学号(id)、姓名(name)、成绩(score)三个成员,创建3个结构体变量,输入学生信息,计算并输出他们的平均成绩答案汇总
一、选择题答案
1.B
2.A
3.B
4.B
5.C
6.D
7.A
8.C
9.B
10.D
11.A
12.B
13.A
14.A
15.A
二、判断题答案
1.×
2.×
3.√
4.√
5.√
6.√
7.×
8.√
9.√
10.√
三、填空题答案
1.char
2.
93.int*p;
4.continue
5.地址传递
6.
47.
08.*p
9.struct
10.w
11.函数声明
12.d
13.
1214.作用域
15.i%2==0
四、阅读程序写结果题答案
1.x islarger
2.sum=
103.result=
304.
65.Name:Tom,Age:20
五、程序改错题答案
1.错误for循环条件缺少分号;改正fori=1;i=10;i++
2.错误while循环体未用大括号;改正whilei=5{printf%d,i;i++;}
3.错误printf语句缺少换行符;改正printfmax=%d\n,maxx,y;
六、程序设计题答案(代码片段)#include stdio.hint sum_divisibleint n{第10页共12页int sum=0;forint i=1;i=n;i++{ifi%3==0i%5==0sum+=i;}return sum;}int main{int n;scanf%d,n;printf%d\n,sum_divisiblen;return0;}#include stdio.hstruct Student{int id;char name
[20];float score;};int main{struct Students
[3];float sum=0;forint i=0;i3;i++{scanf%d%s%f,s[i].id,s[i].name,s[i].score;sum+=s[i].score;第11页共12页}printf平均成绩:%.2f\n,sum/3;return0;}第12页共12页。
个人认证
优秀文档
获得点赞 0