C语言程序设计真题精选.docx
《C语言程序设计真题精选.docx》由会员分享,可在线阅读,更多相关《C语言程序设计真题精选.docx(14页珍藏版)》请在冰点文库上搜索。
C语言程序设计真题精选
[填空题]1编写程序,输入两个整数:
1500和350,求出它们的商数和余数并进行输出。
参考答案:
[单项选择题]
2、述关于枚举类型名的定义中,正确的是()
A.enuma={one,two,three};
B.enuma{one=9,two=-1,three};
C.enuma={"one","two","three"};
D.enuma{"one","two","three"}
参考答案:
B[填空题]
3下列程序的输出结果是()
参考答案:
6[填空题]4编写程序,读入三个整数给a,b,c,然后交换它们中的数,把a中原来的值给b,把b中原来的值给c,把c中的值给a。
参考答案:
[填空题]5设有三人的姓名和年龄存在结构体数组中,以下程序输出年龄居中者的姓名和年龄。
请填空。
参考答案:
(1)max=person[I].age
(2)min=person[I].age
(3)&&
[填空题]6编写程序,输入一个整数,打印出它是奇数还是偶数。
参考答案:
[填空题]7下面程序的功能是从键盘上顺序输入整数,直到输入的整数小于0时才停止输入。
然后反序输出这些整数。
请填空。
参考答案:
(1)return
(2)
(structdata*)malloc(sizeof(structdata))
(3)input()
(4)p!
=NULL
(5)p=p->next[填空题]8已知学生的记录由学号和学习成绩构成,用函数实现输出学生的记录及平均成绩的输出。
参考答案:
[填空题]9编写一程序,要求输入x的值,输出y的值。
分别
(1)不嵌套的if语句
(2)嵌套的if语句
(3)if_else语句
(4)switch语句
参考答案:
[填空题]10以下函数creatlist用来建立一个带头结点的单链表,新的结点总是插入在链表的末尾。
链表的头指针作为函数值返回,链表最后一个结点的next域放入NULL,作为链表结束标志。
data为字符型数据域,next为指针域。
读入时字符以#表示输入结束(#不存入链表)。
参考答案:
(1)structnode*
(2)ch
(3)NULL
[填空题]11已知12个学生记录,要求求出成绩平均值,并把高于平均值的记录显示出来。
参考答案:
[填空题]12编写程序,输出从公元1000年至2000年所有闰年的年号每输出3个年号换一行。
判断公元年是否闰年的条件是:
(1)公元年数如能被4整除,而不能被100整除,则是闰年。
(2)公元年数能被400整除也是闰年。
参考答案:
[填空题]13已知head指向单链表的第一个结点,以下程序段的功能是统计链表中所有inf域值之和。
请填空。
参考答案:
(1)p!
=NULL
(2)p->inf[填空题]14输入两个两位整数m,n,求出每位数字,并且m上低位成为新数字的高位,m上高位成为新数字的第三位,n上高位成为新数字的高位,n上低位成为新数字的最低位。
参考答案:
[填空题]15当a>0时,请将以下语句改写成switch语句。
参考答案:
[填空题]16下列程序按学生的姓名查询其成绩排名和平均成绩。
查询时可连续进行,直到输入0时结束。
请填空
参考答案:
(1)structstudent
(2)strcmp(stu[k].name,str)==0
(3)break[填空题]17已知16个学生记录,要求求出最高成绩,并把最高成绩记录全部显示出来。
参考答案:
[填空题]
18编写程序,求e的值,e=1+1/1!
+1/2!
+1/3!
+1/4!
+...+1/n!
(1)
用for循环,计算前50项
(2)用while循环,要求直至最后一项的值小于
参考答案:
[填空题]19下面的程序将规定的明码转换为暗码,其它字符不变。
请填空。
参考答案:
(1)ch=*s++
(2)p=tab
(3)p->real!
=’/0’
(4)*t++=p->code
(5)*t++=’/0’
[填空题]20已知16个学生记录,输入学号,查找此学号对应成绩。
参考答案:
[填空题]21请编写程序,输入一行字符(用回车结束),输出每个字符以及与之对应的ASCII代码值,每行输出三队.
参考答案:
更多内容请访问《睦霖题库》微信公众号
[填空题]22已知head指向单向链表的第一个结点,以下函数完成往降序单向链表中插入一个结点,插入后链表仍有序。
请填空。
参考答案:
(1)p0->link=head
(2)p0->link=p1
(3)p0->link=NULL
[填空题]23已知8个学生记录,求平均成绩,并按链表形式显示。
参考答案:
[填空题]24请编写程序统计输入的行数,输入用EOF结束输入。
参考答案:
[填空题]25编写一个C程序,定义一个一周的枚举变量,根据键盘输入的一周中的星期几(整数值),输出其英文名称。
参考答案:
[填空题]26假设今天是星期三,编程求20天之后是星期几?
参考答案:
[填空题]27以下fun函数用以判断n是否是素数,fun函数中有逻辑错,请调试改正。
参考答案:
[填空题]28某班学生的记录由学号和成绩组成。
编写一个C程序,将学生记录按分数由高向低排列。
参考答案:
[填空题]29输入一个大写英文字母,将它转化为小写输出。
参考答案:
[填空题]30编写程序求:
1-1/2+1/3-1/4+1/5-1/6+1/7-...1/n
参考答案:
[填空题]31输入长方形的长和宽,编程求该长方形的周长和面积。
参考答案:
[填空题]32编写一个程序求复数之积。
参考答案:
[判断题]
33、如果想使一个数组中全部元素的值为0,可以写成inta[10]={0*10};
参考答案:
错
[填空题]34请编写函数,其功能是对传送过来的两个浮点数求出和值与差值,并通过形参传送回调用函数。
参考答案:
[填空题]35编写程序,输入两个实数,按代数值由大到小的顺序输出这两个实数。
参考答案:
[单项选择题]
36、对于inta,要使表达式((1<>1)|a)==a的值为1;则a可以是()
A.2
B.6
C.10
D.2,6,10均可
参考答案:
D[填空题]37输入一行数字字符,请用数组元素作为计数器来统计每个数字字符的个数.用下标为0元素统计字符"1"的个数,下标为1的元素统计字符"2"的个数,...
参考答案:
[填空题]38编写程序,输入一个不多于5位的正整数,输出该正整数是几位数。
参考答案:
[判断题]
39、inta[3]
[4]={{1},{5},{9}};它的作用是将数组各行第一列的元素赋初值,其余元素值为
0.
参考答案:
对
[单项选择题]
40、表达式-1|0377的值是()
A.0177111
B.0177711
C.0177771
D.0177777
参考答案:
D
[填空题]41编写函数把数组中所有奇数放在另一个数组中返回.
参考答案:
[填空题]42编写程序,输入2015年的一个月份,输出该月有多少天。
(使用switch语句实现)
参考答案:
[判断题]
43、若有inti=10,j=0;则执行完语句if(j=0)i++;
elsei--;
i的值为
11.
参考答案:
错
[单项选择题]
44、若以“a+”方式打开一个已存在的文件,则以下叙述正确的是()
A.文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作
B.文件打开时,原有文件内容不被删除,位置指针移到文件开头,可作添加和读操作
C.文件打开时,原有文件内容被删除,位置指针移到文件末尾,可作添加和读操作
D.文件打开时,原有文件内容被删除,位置指针移到文件开头,可作添加和读操作
参考答案:
A
[填空题]45编写函数把任意十进制整数转换成二进制数.提示:
把十进制数不断除2除,余数放在一个一维数组中,直到商数为
零.在主函数中进行输出,要求不得按逆序输出.
参考答案:
[多项选择题]
46、下面的二维数组初始化语句中,正确的是:
()
A.inta[3]
[]={1};
B.inta[3]
[3]={1,2};
C.inta[]
[]={1,2};
D.inta[]
[4]={2,3};
参考答案:
B,D
[单项选择题]
47、以下fread函数的调用形式中,参数类型正确的是()
A.fread(unsignedsize,unsignedn,char*buffer,FILE*fp)
B.fread(char*buffer,unsignedsize,unsignedn,FILE*fp)
C.fread(unsignedsize,unsignedn,FILE*fp,char*buffer)
D.fread(FILE*fp,unsignedsize,unsignedn,char*buffer)
参考答案:
B
[单项选择题]
48、函数rewind的作用是()
A.将文件位置指针重新返回文件的开始
B.将文件位置指针指向文件中所要求的特定位置
C.将文件位置指针指向文件的尾部
D.将文件位置指针自动移向下一个字符位置
参考答案:
A
[填空题]49编写程序,编写程序,根据输入的学生成绩输出相应的等级。
90分以上(包括90分)为A等,80~89分为B等,70~79分为C等,60~69分为D等,60分以下为E等。
参考答案:
[单项选择题]
50、fprintf函数的正确调用形式是()
A.fprintf(文件指针,格式字符串,输出表列)
B.fprintf(文件指针,格式字符串,输入表列)
C.fprintf(格式字符串,输出表列,文件指针)
D.fprintf(格式字符串,输入表列,文件指针
参考答案:
A
[判断题]
51、在C语言中定义的auto变量,若没有对其进行显式初始化,则初值是一个不确定的值。
参考答案:
对
[单项选择题]
52、下列单词中,哪个有“打断、中断”的意思()。
A.break
B.continue
C.if
D.while
参考答案:
A
[判断题]
53、若i=3,则printf("%d",-i++);输出的值为-
4.
参考答案:
错[填空题]54编写程序,输入三角形的3条边
a、b、c,判断它们能否构成三角形。
若能构成三角形,求出三角形面积。
(s=(a+b+c)/2,三角形面积area=sqrt(s(s-a)
(s-b)
(s-c)))
参考答案:
[填空题]55有如下程序,若文本文件f1.txt中原有内容为:
good,则运行程序后文件
f1.txt中的内容为()
参考答案:
abc[填空题]56求任意方阵每行、每列、两对角线上元素之和。
参考答案:
[填空题]
57调用随机函数为5x4的矩阵置100以内的整数,输出该矩阵,求出每行
元素之和并把和值最大的那一行与第一行上的元素对调。
若已定义x为
int类型,调用随机函数步骤如下:
#include"
stdio.h".
x=rand()%100/*产生0到100的随机数*/
参考答案:
[填空题]58输出6~10000之间的亲密数对。
说明:
若(a,b)是亲密数对,则a的因子和等于b,b的因子和等于a,且a不等于b。
如(220,284)是一对亲密数对。
参考答案:
[填空题]
59写出以下程序的输出结果。
参考答案:
[填空题]60编写程序,编程实现以下功能:
读入两个运算数(data1和data2)及一个运算符(op),计算表达式data1opdata2的值,其中op可为+,?
,*,/(执行除法运算时假设data2不为0,用switch语句实现)。
参考答案: