C语言考题A卷文档格式.docx
- 文档编号:18325851
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:14
- 大小:21.28KB
C语言考题A卷文档格式.docx
《C语言考题A卷文档格式.docx》由会员分享,可在线阅读,更多相关《C语言考题A卷文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
3.设inti=0,j=1,k=2,a=3,b=4,c=5;
执行表达式(a=i<
j)&
&
(b=j<
k)&
(c=i,j,k)后,a,b,c的值分别是()
(A)1,1,5(B)1,0,2
(C)3,4,5(D)1,1,0
4.设inta=1,b;
执行下列switch语句后,b获值为2的是()
(A)switch(a)(B)switch(a)
{case1:
b=1;
{case1:
break;
case2:
b=2;
case2:
default:
b=3;
default:
}}
(C)switch(a)(D)switch(a)
{case1:
break;
case2:
default:
5.下列程序段运行后,输出GOOD的行数是()
inti,j,k;
for(i=1;
i<
3;
i++)
for(j=1;
j<
j++)
for(k=i;
k<
j;
k++)printf("
GOOD\n"
);
(A)27(B)3(C)1(D)9
6.二维数组正确的初始化是()
(A)charstr[][3]={“a”,”1”};
(B)charstr[][3]={‘abc’,’4’};
(C)charstr[3][]={“a”,”1”};
(D)charstr[][3]=‘a’,’1’,’t’;
7.以下各判断是否为素数的函数中(是素数返回1,不是素数返回0),正确的是()
(A)(B)
#include<
math.h>
#include<
prime(intn)prime(intn)
{{
for(inti=2;
=sqrt(n);
i++)for(inti=2;
if(n%i==0)if(n%i==0)
return0;
return1;
elseelse
return1;
return0;
}}
(C)(D)
for(inti=2;
if(n%i==0)break;
if(n%i==0)
return0
return1;
8、以下程序段()
intx=-1;
do{
x=x*x;
printf("
%d\n"
x);
}while(!
x);
A.是死循环B.循环执行两次
C.循环执行一次D.有语法错误
9、对于函数,下列叙述中正确的是()
A.在调用某函数前,必须对该函数作原型说明,否则一定出错。
B.调用函数时,实参变量和形参变量参数个数一般要相等,顺序要一致,
类型要相同或相容。
C.调用函数时,形参变量名为inta[],主函数中的数组intscore[10]必须与
形参变量同名。
D.函数必须有返回值,而且只能有一个返回值。
10、下列程序运行结果是()。
stdio.h>
#defineM66
voidconvert(intn)
{
if(n/8)
convert(n/8);
printf("
%d"
n%8);
}
voidmain()
convert(M);
\n"
}
A.102B.201
C.0201D.
三.写出程序运行结果:
(每小题5分,共35分)
1.#include<
inta,b,c;
a=b=c=5;
a=++b+c++;
\n%d,%d,%d"
a,b,c);
a=b+++++c;
a=++b+c--;
2.#include<
#defineMAINprintf("
MAIN:
i=%d,a=%d,b=%d,c=%d\n"
i,a,b,c);
#defineOTHERprintf("
OTHER:
inti=10;
voidother()
staticinta=2,b;
intc=10;
a+=2;
i+=32;
c+=5;
OTHER
b=a;
staticinta;
registerintb=-10;
intc=0;
MAIN
c+=8;
other();
i+=10;
3.#include<
voidtest(int*x,inty)
intt;
t=*x;
*x=y;
y=t;
inta=10,b=20;
voidtest(int*x,inty);
a=%d,b=%d\n"
a,b);
test(&
a,b);
4.#include<
intx=10,a=10,b=20,ok1=5,ok2=0;
if(a<
b)
if(b!
=15)
if(!
ok1)
x=1;
elseif(ok2)
x=10;
x=-1;
x=%d\n"
5.#include<
inti,j;
for(i=j=2;
=50;
{
if(i>
=10)break;
if(i%2)
{
i+=5;
continue;
i-=3;
}
j=%d\n"
j);
6.inta[]={1,2,3,4,5,6,7,8,9};
inti=0,t;
for(;
9/2;
t=a[i];
a[i]=a[8-i];
a[8-i]=t*5;
}
for(i=0;
9;
printf("
%d"
a[i]);
7.#include<
staticinta[][3]={{1,2,3},{4,5},{6}};
inti,*p=a[2],(*q)[3]=a;
%2d"
*p++);
%2d\n"
*(*(q+i-1)+i-2));
四.程序填空题(每空4分,共20分)
1.由键盘输入两个字符串a和b,并比较它们的大小。
chara[40],b[40];
inti,x;
for(i=0;
;
x=a[i]-b[i];
if(x>
0)
a>
b\n"
elseif(x<
a<
else
a=b\n"
2.一个班学生的学号和一门课的成绩为外部结构:
structstuinf
intstid;
/*学号*/
intscore;
/*成绩*/
下列程序是依成绩由高到低对STNUM(定义为30)个学生排序,而后输出结果。
#defineSTNUM30
structstuinf
intstid;
intscore;
}stu[STNUM];
structstuinf*p[STNUM],
i++)
{
scanf("
%d%d"
&
stu[i].stid,&
stu[i].score);
p[i]=&
stu[i];
}
=STNUM-2;
{
k=i;
for(j=i+1;
=STNUM-1;
if(p[k]->
score<
p[j]->
score)
if(k!
=i)
ptemp=p[i];
p[i]=p[k];
p[k]=ptemp;
%d%d\n"
p[i]->
stid,p[i]->
score);
五.编程题:
(共25分)
1.设数组a中有10个整型元素,求a中各相邻两个元素之和,将这些和存在数组b中,并由小到大排序。
2.从键盘输入若干人员(不少于5人)的姓名和电话号码(8位),以字符‘#’结束输入,用结构型数组存放这些信息,并将这些信息送到一个磁盘文件“file.txt”中保存。
然后输入姓名,找出该人的电话号码。
答案:
一.填空题:
1.主函数
2.14
3.6,5
4.c>
=0&
c<
=9
5.duoble
6.1e
7.110
8.pf为指向函数的指针,
qf为返回值为指针的函数。
9.6
二.选择题:
(每小题1分,共10分)
1.C2.D3.D4.C5.C
6.A7.D8.C9.B10.A
三.写出程序运行结果:
1.11,6,6
13,7,7
15,8,6
2.i=10,a=0,b=-10,c=0
i=42,a=4,b=0,c=15
i=42,a=0,b=-10,c=8
i=84,a=6,b=4,c=15
3.a=10,b=20
a=20,b=20
4.x=-1
5.j=10
6.987652015105
7.600
0
1.
scanf(“%s%s”,a,b);
a[i]==b[i]&
a[i]!
=’\0’
2.
*ptemp;
STNUM-1k=j
1.
#defineN10
inti=0,j;
doublex,temp,y[N];
for(x=0.1;
x<
=1;
x+=0.1)
y[i]=2*x+sin(x)-log(x);
%8.2f\n"
y[i]);
i++;
//由小到大排序。
i<
N;
i++)
for(j=i;
j<
j++)
{if(y[i]>
y[j])
{temp=y[j];
y[j]=y[i];
y[i]=temp;
\n\n"
y的最大值=%8.2f\n"
y[9]);
stdlib.h>
string.h>
#defineSIZE5
structtelephone
charname[8];
chartelno[9];
};
FILE*fp;
structtelephones[SIZE],*p;
voidsearch(structtelephoneb[],char*x);
inti=0;
charna[8];
for(p=s;
p<
s+SIZE;
p++)
{
输入姓名:
scanf("
%s"
p->
name);
if(strcmp(p->
name,"
#"
)==0)
break;
输入电话号码:
telno);
if((fp=fopen("
file.txt"
"
w"
))==NULL)
{printf("
cannotopenfile.txt\n"
exit(0);
/*写到磁盘文件中去*/
fprintf(fp,"
nameteleno\n"
SIZE;
fprintf(fp,"
%s%s\n"
s[i].name,s[i].telno);
fclose(fp);
输入要查找的姓名:
"
na);
if(strcmp(p->
name,na)==0)
电话号码是:
%s\n"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 考题