C语言试题4.docx
《C语言试题4.docx》由会员分享,可在线阅读,更多相关《C语言试题4.docx(15页珍藏版)》请在冰点文库上搜索。
C语言试题4
《高级程序设计基础(C语言)》考试题四
一、选择题(共20题,每题2分)
1、若有说明语句:
inta,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是()。
A)scanf("%d%d%d",&a,&b,d); B)scanf("%d%d%d",&a,&b,&d);
C)scanf("%d%d%d",a,b,d); D)scanf("%d%d%d",a,b,*d);
2、.执行下面程序时,欲将25和2.5分别赋给a和b,正确的输入方法是()。
inta;
floatb;
scanf("a=%d,b=%f",&a,&b);
A)25,2.5
B)25,2.5
C)a=25,b=5.5
D)a=25,b=2.5
3、假定w、x、y、z、m均为int型变量,有如下程序段:
w=1;x=2;y=3;z=4;
m=(ww:
x;
m=(mm:
y;
m=(mm:
z;
则该程序运行后,m的值是()。
A)4 B)3 C)2 D)1
4、判断char型变量ch是否为大写字母的正确表达式是()。
A)’A’<=ch<=’Z’ B)(ch>=’A’)&(ch<=’Z’)
C)(ch>=’A’)&&(ch<=’Z’) D)(‘A’<=ch)AND(‘Z’>=ch)
5、以下程序的输出结果是()。
main()
{ intx=2,y=-1,z=2;
if(x if(y<0) z=0;
else z=z+1;
printf(“%d\n”,z);
}
A)3 B)2 C)1 D)0
6、以下程序的输出结果是()。
main()
{ inta=100,x=10,y=20,ok1=5,ok2=0;
if(x if(y!
=10)
if(!
ok1)
a=1;
else
if(ok2)a=10;
a=-1;
printf(“%d\n”,a);
}
A)1 B)0 C)-1 D)值不确定
7、下列程序的输出结果是().
#include
main()
{
inti=1,sum=0;
while(i<6)
{
i++;
if(i%2==0)continue;
sum=sum+i;
}
printf(“%d”,sum);
}
A)9 B)10 C)8 D)15
8、下面程序的功能是计算:
至50中是7的倍数的数值之和,在空白处最合适的是()。
#include
main()
{
int i,sum=0;
for(i=1;i<=50;i++)
if(_____________) sum+=i;
printf("%d",sum);
}
A)(int)(i/7)==i/7 B)(int)i/7==i/7
C) i%7=0 D) i%7==0
9、对下面程序段,说法正确的是()。
for (t=1; t<=100;t++)
{
scanf("%d",&x);
if(x<0) continue;
printf("%3d",t);
}
A)当x<0时整个循环结束
B)x>=0时什么也不输出
C)printf函数永远也不执行
D)最多允许输出100个非负整数
10、对以下说明语句的正确理解是()。
inta[10]={6,7,8,9,10};
A)将5个初值依次赋给a[1]至a[5]
B)将5个初值依次赋给a[0]至a[4]
C)将5个初值依次赋给a[6]至a[10]
D)因为数组长度与初值的个数不相同,所以此语句不正确
11、以下不正确的定义语句是()。
A)doubley[5]={2.0,4.0,6.0,8.0,10.0};
B)inty[5]={0,1,3,5,7,9};
C)charc[]={‘1’,’2’,’7’,’4’,’5’};
D)charc[]={“abcdf”};
12、当执行下面的程序时,如果输入ABC,则输出结果是()。
#include"stdio.h"
#include"string.h"
main()
{
charss[10]="1,2,3,4,5";
gets(ss);
strcat(ss,"6789");
printf("%s\n",ss);
}
A)ABC6789 B)ABC67 C)12345ABC6 D)ABC456789
13、以下正确的描述是()。
A)continue语句的作用是结束整个循环的执行
B)只能在循环体内和switch语句体内使用break语句
C)在循环体内使用break语句或continue语句的作用相同
D)从多层循环嵌套中退出时,只能使用goto语句
14、若有定义:
int aa[8];。
则以下表达式中不能代表数组元aa[1]的地址的是()。
A)&aa[0]+1 B)&aa[1] C)&aa[0]++ D)aa+1
15、在执行charstr[10]=”China\0”;strlen(str)的结果是()。
A)5 B)6 C)7 D)9
16、下面程序段的运行结果是()。
charstr[]=”abc”,*p=str;
printf(“%d\n”,*(p+3));
A)67; B)0; C)字符‘c’的地址; D)字符‘c’;
17、下面程序段的运行结果是()。
chars[6];
s=”abcd”;
printf(“\”%s\”\n”,s);
A)”abcd”; B)”\”abcd”; C)”\”abcd\””; D)编译出错;
18、C语言中规定函数的返回值的类型是由(D)。
A)retrurn语句中的表达式类型所决定
B)调用该函数时的主调用函数类型所决定
C)调用该函数时系统临时决定
D)在定义该函数时所指定的函数类型所决定
19、以下程序的输出结果是()。
#include
main()
{
inta=2,i;
for(i=0;i<3;i++)
printf(“%d”,func(a));
}
func(inta)
{
intb=0;
staticintc=3;
b++; c++;
return(a+b+c);
}
A)777 B)7 7 7 C)789 D)7 8 9
20、以下程序的的功能是()。
#include
main()
{
FILE*fp;
charstr[]=”HELLO”;
fp=fopen(“PRN”,“w”);
fputs(str,fp);
fclose(fp);
}
A)在屏幕上显示”HELLO” B)把”HELLO”存入PRN文件中
C)在打印机上打印出”HELLO” D)以上都不对
二、分析程序题(共10题,每题3分)
1、下面程序段在执行时输入5,6,则输出结果是__________________。
#include
voidmain()
{
inta,b;
scanf("%d,%x",&a,&b);
b+=a;
printf("%d",b);
}
2、下面程序段的输出结果是__________________。
inta,b,c=123;
a=c%100/9;
b=(-1)&&1;
printf("%d,%d",a,b);
3、以下程序的运行结果是__________________。
main()
{ inta,b,c,d,x;
a=c=0;b=1; d=20;
if(a) d=d-10;
elseif(!
b)
if(!
c) x=15;
elsex=25;
printf(“%d\n”,d);
}
4、以下程序段的运行结果是__________________。
intx=1,y=0;
switch(x)
{ case1:
switch(y)
{ case0:
printf(“**1**\n”);break;
case1:
printf(“**2**\n”);break;
}
case2:
printf(“**3**\n”);
}
5、以下程序段的输出结果是__________________。
int x=7,s=0;
while (x>0)
{ x=x――;
s=s+x;
}
printf("x=%d,s=%d",x,s);
6、以下程序的执行结果是__________________。
#include
main()
{
inta[]={1,2,3,4},i,j,s=0;
j=0;
for(i=3;i>=0;i--)
{
s=s+a[i]*j;
j=j*10;
}
printf(“s=%d\n”,s);
}
7、以下程序执行时输入LanguageProgramming<回车>的结果是__________________。
#include
main()
{
charstr[30];
gets(str);
printf(“str=%s\n”,str);
}
8、以下程序的执行结果是__________________。
#include
structstrin{
charc[5];
char*s;
};
main(){
structstrins={"ABCD","EFGH"};
printf("%s",s.c);
printf("%c\n",*s.s);
}
9、以下程序的执行结果是__________________。
#include
voidfinc(int);
main()
{
intk=4;
func(k);
func(k);
}
func(inta)
{
staticintm=0;
m+=a;
printf(“%d”,m);
}
10、以下程序的执行结果是__________________。
structstru
{
intx;
charc;
};
main()
{
struct stru a={10,‘x’};
func(a);
printf(“%d,%c\n”,a.x,a.c);
}
func(structstrub)
{
b.x=20;
b.c=’y’;
}
三、编写程序题(共3题,每题10分)
1、从键盘输入四个整数,输出其中的最大者。
2、求和S=1-1/2+1/3-1/4+…+1/99-1/100。
3、自定义函数countArray(),在该函数中输入一个数组的10个元素,然后求它们的和,将结果返回给调用它的函数。
然后在主函数中调用该函数,并输出结果。
第四套考试题参考答案
一、选择题
1、A
2、D
3、D
4、C
5、B
6、C
7、C
8、D
9、D
10、B
11、B
12、A
13、B
14、C
15、A
16、B
17、D
18、D
19、C
20、C
二、 程序分析题
1、11
2、2,1
3、20
4、**1**
**3**
5、x=0,s=21
6、s=0
7、str=LanguageProgramming
8、ABCDE
9、48
10、10,x
三、 编程题
1、
#include
main()
{
int a,b,c,d,max;
printf(“请输入4个整数:
”);
scanf(“%d%d%d%d”,&a,&b,&c,&d);
max=a;
if(max
if(max if(max printf(“最大的数为:
%d\n”,max);
2、
#include
main()
{
doubleresult=1.0;
doublesign=-1.0;
inti;
for(i=2;i<=100;i++)
{
result+= sign/i;
sign=-sign;
}
printf("结果为:
%lf\n",result);
}
3、
#include
intcountArray();
main()
{
intresult;
result=countArray();
printf("结果为:
%d\n",result);
}
intcountArray()
{
inti,array[10],sum;
sum=0;
printf("请输入10个整数:
");
for(i=0;i<10;i++)
scanf("%d",&array[i]);
for(i=0;i<10;i++)
sum+=array[i];
returnsum;
}