1 / 14
文档名称:

C语言程序设计试卷及答案.pdf

格式:pdf   大小:832KB   页数:14页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C语言程序设计试卷及答案.pdf

上传人:我是开始 2023/3/20 文件大小:832 KB

下载得到文件列表

C语言程序设计试卷及答案.pdf

文档介绍

文档介绍:该【C语言程序设计试卷及答案 】是由【我是开始】上传分享,文档一共【14】页,该文档可以免费在线阅读,需要了解更多关于【C语言程序设计试卷及答案 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:.
C语言程序设计笔试试题
笔试综合
题号一二三四五六总分
(70%)(30%)
分数
号试卷说明:
学1。笔试卷面总分100分,取卷面成绩的70%计入总分;
(10%)和实验成绩(20%)之和,占总分的30%;
3。答题时禁止拆开试卷钉,试卷背面即为草稿纸;
4。答题时间120分钟。
一、单项选择题。将正确答案填入下面框中.
名(本题16分,每小题1分)

题号12345678
答案
题号9101**********
答案


main()

{inta=1,b=0;

if(!a)b++;

范elseif(a==0)if(a)b+=2;
elseb+=3;
printf(“%d\n”,b);

}则程序输出(A)。


A)0B)1C)2D)3

:inta;longb;doublex,y;则下列正确的是(A).

A)a%(int)(x—y)B)a=x!=yC)(a*y)%bD)y=x+y=x

(*p)[3];则下列说法正确的是(C)。
第1页(共14页):.
A)定义了基类型为int的三个指针变量
B)定义了一个名为*pt、具有三个元素的整型数值
C)定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组
D)定义了基类型为int的具有三个元素的整型数组
4。有以下程序段
main()
{intx=10;
while(x-—);
printf("x=%d\n”,x);}
则最后的输出结果是:(B)。
A)x=0B)x=-1C)x=1D)while构成无限循环
5。有以下程序:
intfun()
{staticintx=1;
x*=2;
returnx;}
main()
{inti,s=1;
for(i=1;i<=2;i++)s=fun();
printf(“%d\n”,s);}
执行后的输出结果为(D)。
A)0B)1C)8D)4
(){
intk=011;
printf(”%d\n",k++);}
}程序输出结果是(D)
A)12B)11C)10D)9
,不合法的是(C)。
A)_2B)a_bC)a—-bD)AaBc
8。C语言允许函数类型默认定义,此时该函数值隐含的类型是(B).
A)floatB)intC)longD)double
9。以下程序段运行结果是(B).
enumweekday{aa,bb=2,cc,dd,ee}week=ee;
第2页(共14页):.
printf(“%d\n“,week);
A)4B)5C)eeD)0
,不正确的是(B)。
A)不同函数中可以使用相同名字变量B)函数可以嵌套定义
C)函数可以没有返回值D)程序由函数组成
11。若有定义语句:doublex[5]={,2。0,,4。0,},*p=x;则错误引用x数
组元素的是(D)。
A)*pB)*xC)*(p+1)D)x[5]
(B).
inta=6;
printf(“%d\n“,a〉>1);
A)12B)3C)6D)1
:doublex,y,*px,*py;执行了px=&x;py=&y;之后,正确的输
入语句是(B).
A)scanf(“%lf%lf”,x,y);B)scanf(“%lf,%lf”,px,py);
C)scanf(“%f%f”,&x,&y);D)scanf(“%f%f”,x,y);
(D)。
charstr[]=“abc“;
printf(“%d,%d\n“,strlen(str),sizeof(str));
A)6,3B)3,3C)10,10D)3,10
(A)。
#definef(x)x*x*x
main()
{inta=1,b,c;
b=f(a+1);c=f((a+1));
printf(“%d,%d\n“,b,c);}
A)4,8B)8,4C)8,8D)4,4
16。有以下程序:
main()
{FILE*f;
f=fopen(“fa。txt“,“w“);
fprintf(f,“day“);
fclose(f);}
第3页(共14页):.
:hello,则运行以上程序后,文件fa。txt中的
内容为(A)。
A)dayB)hellodayC)dayloD)dayhello
二、填空题。请按序号把答案填入下面框中,
不允许出框线。(本题20分,每空2分)
题号答案题号答案
1a[row][col]6k<=n
2x%10或x%100%107k++
323hE45a8m%i==0&&n%i==0
4fun()9p=p—〉next
5m++10s[i]或’\0'
1。以下fun函数功能是在N行M列的整型二维数组中,选出一个最大值作为函数
值返回。
intfun(inta[N][M])
{inti,j,row=0,col=0;
for(i=0;i〈N;i++)
for(j=0;j〈M;j++)
if(a[i][j]>a[row][col]){row=i;col=j;}
return(【1】);}
2。以下程序的功能是:将值为三位正整数的变量x中的数值按照个位、十位,百
位的顺序拆分输出。
main()
{intx=123;
printf(“%d—%d-%d\n”,【2】,x/10%10,x/100);}
3。下列程序运行时,若输入23he45a〈回车>,输出结果是【3】
#include〈〉
main()
{chara=0;ch;
while((ch=getchar())!=’\n’)
第4页(共14页):.
{if(a%2!=0&&(ch〉='a’&&ch〈='z’))ch=ch-‘a'+’A’;
a++;putchar(ch);}
printf(“\n”);}
,通过函数fun输入字符并统计输入字符个数。用字符$作为
输入结束标志.
#include<〉
long【4】;/*函数声明语句*/
main()
{longn;
n=fun();printf(“n=%ld\n”,n);}
longfun()
{longm;
for(m=0;getchar()!=’$’;【5】);
returnm;}
5。有以下程序段,且变量已正确定义和赋值
for(s=,k=1;k〈=n;k++)s=s+/(k*(k+1));
printf("s=%f\n\n”,s);
请填空,是下面程序段的功能与之完全相同
s=;k=1;
while(【6】){s=s+/(k*(k+1));【7】;}
printf("s=%f\n\n”,s);

fun(intm,intn)
{inti=1,t;
for(;i<=m&&i<=n;i++)
if(【8】)t=i;
return(t);}
,并在while循环中输出链
表节点数据域中的数据。
structnode
{intdata;structnode*next;}
main()
{structnodea,b,c,*p,*q;
第5页(共14页):.
a。data=10;b。data=20;c。data=30;p=&a;
=&b;b。next=&c;c。next=NULL;q=p;
while(p){printf(“%d,”,p->data);【9】;}
printf(“\n”);}
8。以下程序的功能是:删除字符串中所有的空格。
main()
{chars[20]="howareyou!";
inti,j;
for(i=j=0;s[i]!=’\0';i++)
if(s[i]!=’’){s[j]=s[i];j++;}
s[j]=【10】;}
三、请把下列程序运行结果填入答案框中,不允
许出框线,用“↙"表示回车。(本题24分,每小题3分)
题号12345678
答案1244364**********
1。main()
{inti,j,a[][2]={1,2,3,4};
for(i=0;i〈2;i++)
for(j=i;j<2;j++)printf(“%d”,a[i][j]);
printf(“\n”);}
2。main()
{charch[]=”453cd34”;
inti,s=0;
for(i=0;ch[i]>'0’&&ch[i]<’9’;i+=2)
s=10*s+ch[i]-'0';
printf(“%d\n",s);}
(intn)
{if(n>2)return(fib(n—1)+fib(n-2));
elsereturn(2);}
voidmain()
{printf(“%d\n”,fib(4));}
第6页(共14页):.
()
{unionexample{
struct
{intx;
inty;
}in;
inta;
intb;
}e;
e。a=2;=1;
e。=+
e。=e。a*;
printf(“%d\n",e。);}
5。structNODE
{intk;
structNODE*link;};
voidmain()
{structNODEm[3],*p=m,*q=m+2;
inti=0;
while(p!=q){
p->k=++i;p++;
q—>k=i++;q——;}
q—>k=i;
for(i=0;i〈3;i++)printf(“%d”,m[i]。k);
printf(“\n”);}
6。main()
{intj,a[]={1,3,5,7,9},*p=a+3;
for(j=3;j;j——)
{switch(j)
{case1:
case2:printf(”%d",*(p++));
case3:printf(”%d",*(——p));
}}}
第7页(共14页):.
7。main()
{intx;
for(x=1;x〈=50;x++)
if(x%2==0)
if(x%3==0)
if(x%5==0)
printf(”%d”,x);}
(){
inta,b;
for(a=1,b=1;a〈=50;a++)
{if(b〉8)break;
if(b%3==1){b+=3;continue;}
b-=5;}
printf("%d\n",a);}
四、根据功能描述改正程序中的错误。
不得增行或删行,不得更改程序结构。(本题10分)
,函数fun的功能是:实现两个整数的交换。例如给a和b分别
输入60和65,输出为:a=65b=60。(本小题6分)
#include<conio。h>
#include<〉
voidfun(inta,b)
{
intt;
t=b;b=a;a=t;
}
main()
{
inta,b;
printf("Entera,b:");
scanf(”%d%d",a,b);
fun(&a,&b);
printf("a=%db=%dn”,a,b);
}
第8页(共14页):.
答案:
scanf("%d%d",a,b);改为:scanf("%d%d”,&a,&b);--—--—2分
fun(inta,b)改为:fun(int*a,int*b)----——2分
t=b;b=a;a=t;改为:t=*b;*b=*a;*a=t;—--——-2分
,用其声明指针变量*s,并完成对这个指针变
量的赋值、,并予以更正(本小题4分)
structSTRU
{intnum;
charname[20];
floatscore;
structSTRU*p1;
};
main()
{
STRU*s=(structSTRU*)malloc(sizeof(structSTRU));
s。num=123;
s—〉name=”zhang";
s->score=61。5;
printf(“num=%d,name=%s,score=%f",s-〉num,s-〉name,s—>score);
}
答案:
s。num=123;改为:s—〉num或(*s)。sum-——---2分
s-〉name=”zhang”;改为:strcpy(s->name,”zhang”)-————-2分
五、请用标准程序流程图描述下列问题的算法
(本题10分)
依次从键盘输入30个学生的《计算机实用基础》成绩,请分别统计不及格的
人数和优秀(成绩不小于90)的人数,并打印输出统计结果。
答案:
第9页(共14页):.
开始1分
定义循环变量i、成绩fScore、不及格
1分
nuPass和优秀计数器nGood并初始化

1分i>30输出统计结果1分

1分输入成绩结束1分

1分i<60

是i>=901分

nuPass++
nGood++
1分i++
1分
六、编程题(本题20分)
(考查课做前两道,考试课做后两道)
,数据是四位的整数,在
传递过程中是加密的,加密规则如下:每位数字都加上5,
然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三
位交换。(本小题10分)
答案:
main()
{inta,i,aa[4],t;
scanf(”%d”,&a);
aa[0]=a%10;
aa[1]=a%100/10;
aa[2]=a%1000/100;
aa[3]=a/1000;
for(i=0;i<=3;i++)
{aa[i]+=5;
aa[i]%=10;
}
第10页(共14页):.
for(i=0;i<=3/2;i++)
{
t=aa[i];
aa[i]=aa[3-i];
aa[3—i]=t;
}
for(i=3;i〉=0;i--)
printf("%d",aa[i]);
}
2。假定输入的字符串中只包含字母和*,它的功能是:删除字符
串中所有的*号。在编写函数时,不得使用C语言提供的字符串函数。(本小题10
分)
例如:若字符串中的内容为****A*BC*DEF*G*******
删除后,字符串内容应该是:ABCDEFG
voidfun(char*a)
{
}
main()
{ints[81];
gets(s);
fun(s);
puts(s);
}
参考答案:
fun(char*a)
{inti=0;char*p=a;
while(*p!='\0’)
{if(*p!=’*')
{a[i]=*p;i++;}
p++;
}
a[i]='\0’;
}
第11页(共14页):.
3。60名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的
头节点。请编写函数fun(),它的功能是:找出学生的最低分,由函数值返回。(本
小题10分)
#include〈stdio。h>
#include〈>
#defineN60
structslist
{doubles;
structslist*next;
};
typedefstructslistSTREC;
doublefun(STREC*h)
{
}
STREC*creat(double*s)
{STREC*h,*p,*q;
inti=0;
h=p=(STREC*)malloc(sizeof(STREC));
p-〉s=0;
while(i〈N)
{
q=(STREC*)malloc(sizeof(STREC));
p—>s=s[i];i++;p—〉next=q;p=q;
第12页(共14页):.
}
p—>next=NULL;
returnh;
}
outlist(STREC*h)
{STREC*p;
p=h-〉next;
printf("head");
do
{
printf("—>%2。0f”,p—〉s);
p=p—>next;
}while(p!=0);
printf(”—>NULL\n\n”);
}
main()
{doubles[N]={56,89,76,95,91,68,75,85},max;
STREC*h;
h=creat(s);
outlist(h);
max=fun(h);
printf("min=%6。1f\n”,max);
}
参考答案:
第13页(共14页):.
doublefun(STREC*h)
{doublemax=h-〉s;
while(h!=NULL)
{
if(max<h—〉s)
max=h—〉s;
h=h—〉next;
}
returnmax;
}
第14页(共14页)

最近更新

五年级科学上册期末试卷(完整版) 6页

人教版三年级数学上册第九单元分数的初步认识.. 6页

仓库布局优化方案设计 7页

2020届高三物理高考一轮复习同步测试卷:探究.. 20页

八年级上册英语完形填空和阅读理解练习(含解答.. 23页

六年级解方程练习题上册100道 6页

刘桂喜与中国医学科学院阜外医院医疗损害责任.. 9页

制造业工艺路线图设计与优化 5页

北师大二年级上混合加减法练习题及答案(二年级.. 8页

医疗行业分析报告 4页

卫生事业管理中级资格考试试题及答案汇总 26页

同比和环比的区别 6页

2019高考物理总复习选择题增分练(八) 5页

国际货运代理实务(第二版)每章教学指南 8页

基于Python的人事信息管理系统的设计与实现 9页

星系相互作用与并合研究 33页

安全教育日活动方案5篇 9页

小学劳动教育二年级上第四单元第三课《自创水.. 4页

口腔主治医师模拟题及答案 18页

山西省运城市夏县2022-2023学年八年级下学期期.. 7页

幼儿园儿童行为观察记录案例及幼儿心理分析报.. 5页

感染管理工作计划分享10篇 20页

2019年高考数学总复习优编增分练:高考附加题.. 4页

2019年高考化学一轮复习专题核外电子数相等的.. 4页

2019年高三新课件历史二轮练习:中国古代经济.. 6页

申论范文:让非物质文化遗产活起来 5页

篮球教案教学设计优秀10篇 26页

新型气凝胶基复合相变材料研究进展 24页

正确使用网络严守思想防线专题党课讲稿 3页

智能家居招标文件 4页