C语言期末考试题9Word下载.docx
- 文档编号:18613975
- 上传时间:2022-12-29
- 格式:DOCX
- 页数:17
- 大小:19.07KB
C语言期末考试题9Word下载.docx
《C语言期末考试题9Word下载.docx》由会员分享,可在线阅读,更多相关《C语言期末考试题9Word下载.docx(17页珍藏版)》请在冰豆网上搜索。
A、B、C都不对
第4题(2.0分)
"
\\\″ABC\″\\″的长度是(B).
7
5
3
第5题(2.0分)
以下程序的功能是:
给r输入数据后,计算半径为r的圆面积s.程序在编译时出错.
/*Beginning*/
{intr;
floats;
scanf("
%d"
&
r);
s=p*r*r;
s=%f\n"
s);
出错的原因是(D).
注释语句书写位置错误
存放圆半径的变量r不应该定义为整型
输出语句中格式描述符非法
计算圆面积的赋值语句中使用了非法变量
第6题(2.0分)
要求计算s=1+1/2+1/3+…+1/10,程序为:
{intn;
s=1.0;
for(n=10;
n>
1;
n––)s=s+1/n;
%6.4f\n"
程序运行后输出结果错误,导致错误结果的程序行是(C).
s=1.0;
for(n=10;
n––)
s=s+1/n;
printf("
s);
第7题(2.0分)
执行以下程序后,输出的结果是(D).
{inty=10;
do{
y––;
}while(––y);
%d\n"
y––);
8
第8题(2.0分)
程序运行后输出结果错误,导致错误结果的程序行是(C).
第9题(2.0分)
以下程序的输出结果是(B).
{intk=0,m=0;
inti,j;
for(i=0;
i<
2;
i++)
{for(j=0;
j<
3;
j++)k++;
k–=j;
}
m=i+j;
k=%d,m=%d"
k,m);
k=0,m=3
k=0,m=5
k=1,m=3
k=1,m=5
第10题(2.0分)
已有定义:
charc;
程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是(B).
isupper(c)
'
A'
<
=c<
='
Z'
=c&
c<
=('
z'
–32)&
('
a'
–32)<
=c
第11题(2.0分)
有以下程序:
{ints=0,a=1,n;
&
n);
s+=1;
a=a–2;
}while(a!
=n);
若要使程序的输出值为2,则应该从键盘输入给n的值是(B).
-3
-5
第12题(2.0分)
下述循环程序(C).
for(a=0,b=0;
a<
3&
b!
=3;
a++);
无限次循环
循环次数不定
循环3次
循环4次
第13题(2.0分)
{inti,j,m=55;
for(i=1;
for(j=3;
=i;
j++)
m=m%j;
m);
程序的运行结果是(B)
第14题(2.0分)
以下程序的输出结果是(D).
{inta,b;
for(a=1,b=1;
=100;
a++)
{if(b>
=10)break;
if(b%3==1)
{b+=3;
continue;
a);
101
6
4
第15题(2.0分)
以下错误的定义语句是(C).
intx[][3]={{0},{1},{1,2,3}};
intx[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};
intx[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};
intx[][3]={1,2,3,4};
第16题(2.0分)
下面程序的输出结果是(B).
{inti,k,a[10],p[3];
k=5;
10;
i++)a[i]=i;
i++)p[i]=a[i*(i+1)];
i++)k+=p[i]*2;
k);
20
21
22
23
第17题(2.0分)
以下程序的输出结果是(B).
{intx[3][2]={0},i;
i++)scanf("
x[i]);
%3d%3d%3d\n"
x[0][0],x[0][1],x[1][0]);
输入:
246
200
204
240
第18题(2.0分)
{ints[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;
12;
i++)c[s[i]]++;
5;
i++)printf("
c[i]);
\n"
);
程序的运行结果是(C).
1234
2344
4332
1123
第19题(2.0分)
有如下程序:
#include<
{inta[3][3],*p,i;
p=&
a[0][0];
9;
i++)p[i]=i+1;
%d\n"
a[1][2]);
9
第20题(2.0分)
以下程序运行后,输出结果是(C)
func(inta,intb)
{
staticintm=0,i=2;
i+=m+1;
m=i+a+b;
return(m);
main()
intk=4,m=1,p;
p=func(k,m);
%d,"
p);
}C
8,15
8,16
8,17
8,8
第21题(2.0分)
在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是B
地址传递
单向值传递
由实参传给形参,再由形参传回实参
传递方式是由用户指定
第22题(2.0分)
sub2()
inta[MAX],i,max;
max=5;
max;
sub1()
MAX;
i++)a[i]=i*2;
sub3(inta[])
inti;
a[i]);
D
024681012141618
01234
0123456789
012345
第23题(2.0分)
intfun(intx[],intn)
{staticintsum=0,i;
n;
i++)sum+=x[i];
returnsum;
{inta[]={1,2,3,4,5},b[]={6,7,8,9},s=0;
s=fun(a,5)+fun(b,4);
45
50
60
55
第24题(2.0分)
若有定义int*p[3];
则以下叙述中正确的是(B).
定义了一个基类型为int的指针变量p,该变量具有3个指针
定义了一个指针数组p,该数组含有3个元素,每个元素都是基类型为int的指针
定义了一个名为*p的整型数组,该数组含有3个int类型元素
定义了一个可指向一维数组的指针变量p,所指一维数组应具有3个int类型元素
第25题(2.0分)
满足字符串s1大于字符串s2时if条件为真,应当使用(D).
if(s1>
s2)
if(strcmp(s1,s2))
if(strcmp(s2,s1)>
0)
if(strcmp(s1,s2)>
第26题(2.0分)
{charch[2][5]={"
6937"
"
8254"
},*p[2];
inti,j,s=0;
for(i=0;
i++)p[i]=ch[i];
for(j=0;
p[i][j]>
\0'
;
j+=2)
s=10*s+p[i][j]–'
0'
该程序的输出结果是(C).
69825
63825
6385
693825
第27题(2.0分)
在以下程序中,函数scmp()的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址.
string.h>
char*scmp(char*s1,char*s2)
{if(strcmp(s1,s2)<
return(s1);
elsereturn(s2);
{inti;
charstring[20],str[3][20];
gets(str[i]);
strcpy(string,scmp(str[0],str[1]));
/*库函数strcpy对字符串进行复制*/
strcpy(string,scmp(string,str[2]));
%s\n"
string);
运行时依次输入:
abcd、abba和abc3个字符串,则输出结果为(B).
abcd
abba
abc
abca
第28题(2.0分)
在文件包含预处理语句的使用形式中,当#include后面的文件名用双引号括起来时,寻找被包含文件的方式是(B).
直接按系统设定的标准方式搜索目录
先在源程序所在目录搜索,再按系统设定的标准方式搜索
仅仅搜索源程序所在目录
仅仅搜索当前目录
第29题(2.0分)
有以下程序段:
{inta=5,*b,**c;
c=&
b;
b=&
a;
…}
程序在执行了c=&
b=&
语句后,表达式**c的值是(C).
变量a的地址
变量b中的值
变量a中的值
变量b的地址
第30题(2.0分)
设有定义语句:
intx[6]={2,4,6,8,5,7},*p=x,i;
要求依次输出x数组6个元素中的值,不能完成此操作的语句是(D).
6;
%2d"
*(p++));
*(p+i));
*p++);
(*p)++);
二、程序填空共1题(共计10分)
第1题(10.0分)
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:
计算平均成绩并统计90分以上人数。
-------------------------------------------------------*/
main()
{
intn,m;
floatgrade,average;
/***********SPACE***********/
average=n=m=【?
】;
while
(1)
{
【?
】
("
%f"
grade);
if(grade<
0)break;
n++;
average+=grade;
90)
【?
m++;
if(n)printf("
%.2f%d\n"
average/n,m);
三、程序改错共1题(共计10分)
/*------------------------------------------------------
【程序改错】
--------------------------------------------------------
一个5位数,判断它是不是回文数。
即12321是回文数,个
位与万位相同,十位与千位相同。
------------------------------------------------------*/
#include"
stdio.h"
/**********FOUND**********/
longge,shi,qian;
wan,x;
%ld"
x);
wan=x%10000;
qian=x%10000/1000;
shi=x%100/10;
ge=x%10;
if(ge==wan||shi==qian)
thisnumberisahuiwen\n"
else
thisnumberisnotahuiwen\n"
getch();
四、程序设计共1题(共计20分)
第1题(20.0分)
/*------------------------------------------------
【程序设计】
--------------------------------------------------
从低位开始取出长整型变量s中偶数位上的数,依次
构成一个新数放在t中。
例如:
当s中的数为:
7654321时,t中的数为:
642。
------------------------------------------------*/
#include"
longfun(longs,longt)
/**********Program**********/
/**********End**********/
returnt;
}
main()
longs,t,m;
clrscr();
\nPleaseenters:
s);
m=fun(s,t);
Theresultis:
%ld\n"
m);
yzj();
yzj()
FILE*IN,*OUT;
intn;
longi,t,m;
IN=fopen("
in.dat"
r"
if(IN==NULL)
ReadFileError"
OUT=fopen("
out.dat"
w"
if(OUT==NULL)
WriteFileError"
for(n=0;
n<
n++)
{
fscanf(IN,"
i);
m=fun(i,t);
fprintf(OUT,"
%ld\n"
fclose(IN);
fclose(OUT);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 期末 考试题