桂林电子科技大学C语言试题.wps资料文档下载
《桂林电子科技大学C语言试题.wps资料文档下载》由会员分享,可在线阅读,更多相关《桂林电子科技大学C语言试题.wps资料文档下载(5页珍藏版)》请在冰点文库上搜索。
D)intx23=l,2,3,4,5,6;
17、以下程序的输出结果是()。
#includevoidmain(void)inta=0,i;
for(i=1;
i5;
i+)switch(i)case0:
case3:
a+=2;
case1:
case2:
a+=3;
default:
a+=5;
printf(“%dn”,a);
A)31B)13C)10D)208、执行以下程序后的输出结果是()#includevoidmain(void)chara=”abc0abc”;
printf(“%s”,a);
A)abc0abcB)abcC)abc0D)abc9、若有语句:
char*line5;
,以下叙述中正确的是()。
A)定义line是一个数组,每个数组元素是一个基类型为char的指针变量B)定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组C)定义line是一个指针数组,语句中的*号是指针运算符。
D)定义line是一个指向字符型函数的指针10、有以下程序段typedefstructNODEintnum;
structNODE*next;
OLD;
以下叙述中正确的是()。
A)以上的说明形式非法B)NODE是一个结构体类型C)OLD是一个结构体类型D)OLD是一个结构体变量11、设有定义:
floata=2,b=4,h=3;
以下C语言表达式与代数式12(ab)h计算结果不相2符的是()。
A)(a+b)*h/2B)(1/2)*(a+b)*hC)(a+b)*h*1/2D)h/2*(a+b)12、有以下程序main()intx=102,y=012;
printf(“%2d,%2dn”x,y);
执行后输出结果是()。
A)10,01B)02,12C)102,10D)02,1013、有以下程序main()intm,n,p;
scanf(m=%dn=%dp=%d,&
m,&
n,&
p);
printf(%d%d%dn,m,n,p);
若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是()。
A)m=123n=456p=789B)m=123n=456p=789C)m=123,n=456,p=789D)12345678914、函数调用:
strcat(strcpy(str1,str2),str3)的功能是()。
A)将串str1复制到串str2中后再连接到串str3之后B)将串str1连接到串str2之后再复制到串str3之后C)将串str2复制到串str1中后再将串str3连接到串str1之后D)将串str2连接到串str1之后再将串str1复制到串str3中15、设变量a、b、c、d和y都已正确定义并赋值。
若有以下if语句if(ab)if(c=d)y=0;
elsey=1;
该语句所表示的含义是()。
16、若有以下说明和语句,intc45,(*p)5;
p=c;
能正确引用c数组元素的是()。
A)p+1B)*(p+3)C)*(p+1)+3D)*(p0+2)17、有以下程序voidswap1(intc)intt;
t=c0;
c0=c1;
c1=t;
voidswap2(intc0,intc1)intt;
main()inta2=3,5,b2=3,5;
swap1(a);
swap2(b0,b1);
printf(“%d%d%d%dn”,a0,a1,b0,b1);
其输出结果是()。
A)5353B)5335C)3535D)355318、有以下程序intf(intb4)inti,j,s=0;
for(j=0;
j2)i=3-j;
s+=bij;
returns;
main()inta44=1,2,3,4,0,2,4,5,3,6,9,12,3,2,1,0;
printf(“%dn”,f(a);
执行后的输出结果是()。
A)12B)11C)18D)1619、有以下定义#includechara10,*b=a;
不能给数组a输入字符串的语句是()。
A)gets(a)B)gets(a0)C)gets(&
a0)D)gets(b)4printf(%d%dn,a,b);
程序运行后的输出结果是()。
A)43B)73C)70D)4024、有以下程序#include“stdio.h”voidWriteStr(char*fn,char*str)FILE*fp;
fp=fopen(fn,w);
fputs(str,fp);
fclose(fp);
main()WriteStr(t1.dat,start);
WriteStr(t1.dat,end);
程序运行后,文件t1.dat中的内容是()。
A)startB)endC)startendD)endrt25、设有定义语句intx6=2,4,6,8,5,7,*p=x,i;
要求依次输出x数组6个元素中的值,不能完成此操作的语句是()。
A)for(i=0;
i6;
i+)printf(-,*(p+);
B)for(i=0;
i+)printf(-,*(p+i);
C)for(i=0;
i+)printf(-,*p+);
D)for(i=0;
i+)printf(-,(*p)+);
二、程序填空(每空2分,共36分)1、求1!
+2!
+3!
+。
+10!
#includevoidmain(void)floats=0,t=1;
intn;
for(n=1;
n+)printf(“1!
=%f”,s);
2、以下程序是用来统计从键盘输入的一个正整数中各位数字中零的个数,并求各位数字中最大者。
例如:
1080其零的个数是2,各位数字中最大者是8。
#includevoidmain(void)6第6/10页unsignedlongnum,max,t;
intcount;
count=max=0;
scanf(%ld,&
num);
dot=;
if(t=0)+count;
elseif(maxt);
num/=10;
while(num);
printf(count=%d,max=%ldn,count,max);
3、下面程序的功能是:
输出100以内能被3整除且个位数为6的所有整数。
#includevoidmain(void)inti,j;
for(i=0;
i+)j=i*10+6;
if()continue;
printf(%d,j);
4、定义compare(char*s1,char*s2)函数,以实现比较两个字符串大小的功能:
若字符串s1s2,返回一个正数,若字符串s1s2,返回一个负数,若相等,返回0。
#includeintcompare(char*s1,char*s2)while(*s1&
*s2&
)s1+;
return;
voidmain(void)printf(%dn,compare(abCd,abc);
7第7/10页5、函数fun的功能是:
使字符串str按逆序存放。
voidfun(charstr)charm;
inti,j;
for(i=0,j=strlen(str);
i;
i+,j-)m=stri;
stri=;
strj-1=m;
printf(%sn,str);
6、以下程序的功能是:
从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。
请填空。
#includevoidmain(void)floatx1000,sum=0.0,ave,a;
intn=0,i;
printf(Entermark:
n);
scanf(%f,&
a);
while(a=0.0&
n1000)sum+;
xn=;
n+;
ave=;
printf(Output:
printf(ave=%fn,ave);
in;
i+)if()printf(%fn,xi);
7、以下fun函数的功能是:
累加数组元素中的值.n为数组中元素的个数,累加的和值放入x所指的存储单元中。
voidfun(intb,intn,int*x)intk,r=0;
for(k=0;
kn;
k+)r=;
=r;
三、阅读程序,写出程序的输出结果(1,2每题3分,3,4每题4分,共14分)8第8/10页1、#includeintfun(intx,inty,int*cp,int*dp)*cp=x+y;
*dp=x-y;
voidmain(void)inta,b,c,d;
a=30;
b=50;
fun(a,b,&
c,&
d);
printf(%d,%dn,c,d);
2、#includevoidmain(void)intarray10=1,2,4,5,6,0,0,0,0,0,i;
printf(n);
i=2;
i-)arrayi=arrayi-1;
array2=3;
i10;
i+)printf(%3d,arrayi);
3、includevoidf(intc)inta=0;
staticintb=0;
a+;
b+;
printf(%d:
a=%d,b=%dn,c,a,b);
voidmain(void)inti;
i=3;
i+)f(i);
4、#includestructstuintnum;
charname10;
9第9/10页intage;
voidfun(structstu*p)printf(%sn,(*p).name);
voidmain(void)structstustudents3=9801,Zhang,20,9802,Wang,19,9803,Zhao,18;
fun(students+2);
10