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