84C语言上机考试试题18Word文档格式.docx
- 文档编号:19411462
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:11
- 大小:19.42KB
84C语言上机考试试题18Word文档格式.docx
《84C语言上机考试试题18Word文档格式.docx》由会员分享,可在线阅读,更多相关《84C语言上机考试试题18Word文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
y[];
5.若有如下定义和语句,且0<
=i<
5,下面________是对数值为3的数组元素的引用。
int
a[]={1,2,3,4,5},*p,i;
p=a;
(A)*(a+2)
(B)a[p-3]
(C)p+2
(D)a+3
6.若有如下语句,下列________表达式的值为真。
a=5;
b=8;
c=10;
d=0;
(A)a*2>
8+2
(B)a&
&
d
(C)(a*2-c)||d
(D)a-b<
c*d
7.下列字符数组长度为5的是________。
(A)chara[]={'
a'
b'
c'
d'
(B)charb[]={'
\0'
(C)charc[10]={'
(D)chard[6]={'
\0'
};
8.执行下列程序后,其结果为________。
int
a[]={2,4,6,8,10,12};
*p;
p=a;
*(p+4)=2;
printf(“%d,%d\n”,*p,*(p+4));
(A)0,10
(B)0,2
(C)2,10
(D)2,2
9.有下列结构体,对该结构体变量stu的成员项引用不正确的是________。
struct
student
{
int
m;
float
n;
}stu,*p;
(A)stu.n
(B)p->
m
(C)(*p).m
(D)p.stu.n
10.下列函数中不能用于对磁盘文件进行输入输出操作的是________。
(A)fscanf()
(B)printf()
(C)fgetc()
(D)fputs()
套数号
答案
18
1.D2.C3.C4.D5.A6.D7.A8.D9.D10.B
2.判断题(评分标准20分,每小题2分)
1.在C语言中,int、char和short三种类型数据所占用的内存均为2个字节。
2.在C语言中,数组名代表数组中最后一个元素的地址。
3.ASCII文件是把内存中的数据按照其在内存中的存储形式原样输出到磁盘上存放。
4.C语言中字符串的结束符是'
。
5.若打开文件的方式为“r”而该文件已经存在,则文件中原有数据被清空。
6.在定义inta[5]后,可以引用a[0]到a[5]中的元素。
7.不能将一个结构体变量作为一个整体进行输入输出。
8.在C语言中,所有的变量在使用前都必须予以定义。
9.用结构体变量作实参,形参也必须是同类型的结构体变量。
10.如果x<
y或a<
b为真,那么表达式(x<
y&
a<
b)为真。
19
1.F2.F3.F4.T5.F6.F7.T8.T9.T10.F
3.填空题(评分标准10分,每小题2分)
1.以0x开头的C整型常数是_________进制数。
2.运算表达式!
(10<
9)||(6>
10)的结果为_________。
3.假设所有变量均为整型,则表达式(a=2,b=5,b+1,a+b)的值是_________。
4.设x、y和z是int型变量,且x=3,y=4,z=5;
,则下面表达式x||y+z&
y-z的值是_________。
5.若有定义intk=7,x=12;
,则表达式(x%=(k%=5))的值是_________。
第4套
(1)
16
(2)
1
(3)
7
(4)
(5)
4.程序改错题(评分标准20分,每小题5分)
1.下列给定的程序中,函数fun()的功能是:
计算并输出500以内最大的6个能被7或11整除的自然数之和。
#include<
stdio.h>
conio.h>
intfun(intk)
{intm=0,mc=0;
while((k>
=2)&
(mc<
6)){
if((k%7=0)||(k%11=0))/*$*/
{printf("
%d\n"
k);
m+=k;
mc++;
}
k--;
returnm;
}
main()
{printf("
%d"
fun(500));
操作说明:
在考生目录的**子目录下,有*.c文件,该文件中“/*$1*/”行中的语句if((k%7=0)||(k%11=0))有错误,请改正(注意:
不得加行、减行、加句、减句,否则后果自负)。
该程序功能:
答案:
if((k%7==0)||(k%11==0))
运行样例1行
运行结果:
2925
2.下列程序中,函数fun()的功能是:
用选择法对数组中的n个元素按从大到小的顺序进行排序。
#defineN20
voidfun(inta[],intn)
{inti,j,t,p;
for(j=0;
j<
n-1;
j++)
{p=j;
for(i=j;
i<
n;
i++)
if(a[i]>
a[p])
p=i;
t=a[p];
a[p]=a[j];
a[p]=t;
/*$*/
{inta[N]={11,32,-5,2,14,100,50,48,71,30},i,m=10;
fun(a,m);
for(i=0;
m;
printf("
a[i]);
在考生目录的**子目录下,有*.c文件,该文件中“/*$1*/”行中的语句a[p]=t;
有错误,请改正(注意:
a[j]=t;
100715048323014112-5
3.程序中函数fun()的功能是:
依次取出字符串中所有的字母,形成新的字符串,并取代原字符串。
voidfun(char*s)
{inti,j;
for(i=0,j=0;
s[i]!
='
;
i++)
if((s[i]>
='
A'
s[i]<
Z'
)&
(s[i]>
z'
))/*$*/
s[j++]=s[i];
s[j]='
{charitem[80]="
abc456d8er9"
fun(item);
printf("
%s"
item);
在考生目录的**子目录下,有*.c文件,该文件中“/*$1*/”行中的语句if((s[i]>
)&
(s[i]>
))有错误,请改正(注意:
答案:
:
if((s[i]>
)||(s[i]>
))
abcder
4.下列给定程序中函数fun()的功能是:
从n个学生的成绩中统计出高于平均分的学生人数,人数由函数值返回,平均分存放在形参aver所指的存储单元中。
intfun(floats[],intn,float*aver)
{
floatave,t=0;
intcount=0,k,i;
for(k=0;
k<
k++)
t+=s[k];
ave=t/n;
if(s[i]>
ave)
count++;
aver=ave;
/*$*/
returncount;
{floats[30]={85,65.5,69,95.5,87,55,62.5,75},aver;
%.2f%d"
aver,fun(s,8,&
aver));
在考生目录的**子目录下,有*.c文件,该文件中“/*$1*/”行中的语句aver=ave;
有错误,请改正(注意:
*aver=ave;
74.314
5.程序填空(评分标准10分,每小题5分)
1.程序运行结果为输出下边图形,请填写程序空白处。
*
***
*****
*******
*
{inti,j,k;
for(i=1;
=4;
{for(j=1;
=4-i;
j++)
printf("
"
);
for(k=1;
=2*i-1;
*"
\n"
}
=3;
{for(j=1;
=i;
/*$*/;
k++)
在考生目录的**子目录下,有*.c文件,该文件中“/*$1*/”行是根据程序功能需要填充部分,请完成程序填充(注意:
填写程序,实现输出下边图形。
=2*(4-i)-1
运行样例7行
2.请填空函数fun()中的语句,该函数的功能是:
分类统计一个字符串中元音字母和其他字符的个数(不区分大小写)。
例如,输入aeiouAOUpqrt,运行结果为A:
2E:
1I:
1O:
2U:
2other:
4。
voidfun(char*str,intbb[])
{char*p=str;
inti=0;
6;
bb[i]=0;
while(*p)
{
switch(*p)
case'
:
bb[0]++;
break;
E'
bb[1]++;
I'
i'
bb[2]++;
O'
bb[3]++;
U'
u'
bb[4]++;
default:
bb[5]++;
}
main()
{charstr[]="
aeiouAOUpqrt"
charss[6]="
AEIOU"
inti,bb[6];
fun(str,bb);
5;
%c:
ss[i],bb[i]);
other:
%d"
bb[i]);
在考生目录的**子目录下,有*.c文件,该文件中“/*$1*/”行是根据程序功能需要填充部分,请完成程序填充(注意:
p++;
A:
4
6.程序设计(评分标准20分,每小题10分)
1.请编写一个函数fun(),它的功能是:
比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较短的字符串。
若两个字符串长度相等,则返回第1个字符串。
例如在主函数中输入字符串:
nanjing,nanchang,调用函数fun()后将返回输出:
nanjing。
参考答案:
char*fun(char*s,char*t)
s[i]!
i++);
t[j]!
j++);
if(i<
=j)
returns;
else
returnt;
{chara[20],b[10];
gets(a);
gets(b);
fun(a,b));
运行样例3行
运行样例1:
nanjing
nanchang
2.请编写函数fun(),它的功能是:
求出1到30之内能被5或13整除的数,并将它们放在指定的aa数组中,同时通过变量n返回这些数的个数。
要求在主函数中先输出“能被5或13整除的数”,然后输出“这些数的个数”,输出要求在同一行上。
voidfun(int*a,int*n)
{inti,j=0;
=30;
i++)
if(i%5==0||i%13==0)
a[j++]=i;
*n=j;
{intaa[30],n,k;
fun(aa,&
n);
aa[k]);
n);
5101315202526308
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 84 语言 上机 考试 试题 18