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页)

最近更新

商业银行市场结构与经营绩效关系研究——以山.. 2页

2024年小学老师年度个人总结 28页

2024年小学美术教研组学期工作总结 5页

听障儿童唇读汉字识别与理解的比较研究的开题.. 2页

第四章证据的筛选 20页

2024年小学生观察日记范文汇编六篇 6页

可视化技术在林分空间结构与经营模拟中的应用.. 2页

可入网电动汽车在电力系统中的应用研究中期报.. 2页

变速抽水蓄能系统(VSPS)的解耦控制的开题报告.. 2页

2024年小学生期末自我评价三篇 4页

双馈风力发电机组交流励磁控制系统设计的开题.. 2页

2024年小学生少工委观后感(精选15篇) 11页

2024年小学生周记(精华) 7页

2024年小学生发言稿汇总五篇 5页

2024年小学生30秒自我介绍范文-自我介绍范文 3页

危害结果研究的开题报告 2页

2024年小学班主任工作教学计划(精选6篇) 21页

南阳网通故障受理系统的研究与实现的开题报告.. 2页

南方汉族KIR系统分子遗传多态性及其与白血病的.. 2页

2024年小学校长自我鉴定汇总6篇 31页

第二节医院饮食 25页

半导体制冷及其在动力电池热管理中的性能研究.. 2页

地铁防淹门简介 7页

2024年健康教育知识试题及答案精选 2页

管理提升奖评比方案 2页

中频炉漏炉事故应急预案 6页

电梯井采光井防护方案 6页

幕墙清洗方案 19页

第三节热值与燃烧温度及燃烧速度 9页

2022年司法所所长个人对照检验材料 7页