1、第五套试题第五套试题一、单项选择题(30个小题,每题2分,共60分):1一个C语言程序的执行是从_。Amain函数开始,直到main函数结束 B第一个函数开始,直到最后一个函数结束C第一个函数开始,直到最后一个语句结束 Dmain函数开始,直到最后一个函数结束2设ch是char型变量,其值为A,且有表达式:ch=(ch=A& ch=Z)?(ch+32):ch,该表达式的值为_。AA Ba CZ Dz3在C语言中,合法的字符常量是_。A084 Bx43 Cab D“0”4当运行以下程序时,在键盘上从第一列开始输入9876543210(此处代表Enter),则程序的输出结果是_。main( ) i
2、nt a;float b,c;scanf(“%2d%3f%4f”,&a,&b,&c);printf(“na=%d,b=%f,c=%fn”,a,b,c);Aa=98,b=765,c=4321 Ba=10,b=432,c=8765Ca=98,b=765.000000,c=4321.000000 Da=98,b=765.0,c=4321.05以下叙述正确的是_。Ado_while语句构成的循环不能用其它语句构成的循环来代替Bdo_while语句构成的循环只能用break语句退出C用do_while语句构成循环时,只有在while后的表达式为非零时结束循环D用do_while语句构成循环时,只有在wh
3、ile后的表达式为零时结束循环6以下的序的输出结果是_。main( ) int x=10,y=3;printf(“%dn”,y=x/y);A0 B1 C3 D不确定的值7以下程序段的输出结果是_。int k,j,s;for(k=2;k6;k+,k+) s=1;for(j=k;j6;j+) s+=j;printf(“%dn”,s);A9 B1 C11 D 108设有如下函数:ggg(float *x) printf(“%dn”,*x); 则函数的类型是_。A与参数x的类型相同 Bvoid Cint D无法确定9C语言源程序的基本单位是_。A过程 B函数 C子程序 D标识符10以下程序的输出结果是
4、_。double f(int n) int i; double s=1.0;for(i=1;i=n;i+) s+=1.0/i;return s;main( ) int i,m=3;float a=0.0;for(i=0;im;i+) a+=f(i);printf(“%fn”,a);A5.500000 B3.000000 C4.000000 D8.2511以下程序的输出结果是_。f(int a) int b;static int c=3;b+; c+;return(a+b+c);main( ) int a=2,i;for(i=0;i3;i+) printf(“%dn”,f(a);A7 B7 C7
5、 D78 9 10 79 11 13 712若a、b、c1、c2、x、y均是整型变量,正确的switch语句是_。A switch(a+b); case 1 : y=a+b;break;case 3 : y=a-b;break; Bswitch(a*a+b*b) case 3 ;case 1 : y=a+b;break;case 3 : y=a-b;break;Cswitch a case c1 : y=a-b;break; case c2 : y=a*b;break; default : x=a+b; Dswitch(a-b) default : y=a*b;break;case 3 : c
6、ase 4 : x=a+b;break;case 10 : case 11 : y=a+b;break;13在C语言中,以下所列的各函数首部正确的是_。Avoid play(var a : Integer,var b : Integer) Bvoid play(int a,b)Cvoid play(int a,int b) Dvoid play(a As Integer,b As Integer)14设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是_。A把x和y按从大到小排序 B把x和y按从小到大排序 C无确定结果 D交换x和y中的值15在执行以下程序时,如果从键
7、盘上输入:ABCdef,则输出为_。#include main( ) char ch;while(ch=getchar( )!=n) if(ch=A& ch=a& ch=z) ch=ch-32;printf(“%c”,ch);AABCdef BabcDEF Cabc DDEF16下列程序的运行结果是_。main( ) int i,j,x=0;for(i=0;i2;i+) x+;for(j=0;j=y)&(y=z) B(x=y)AND(y=z) C(x=y=z) D(x=y)&(y=z)18设有语句char a=72; 则变量a_。A包含1个字符 B包含2个字符 C包含3个字符 D说明不合法19
8、下面程序的输出结果是_。 #include “stdio.h”main( ) int num=0;while(num=2) num+;printf(“%dn”,num);A1 B 2 C 1 D12 2 23 3420下面程序的输出结果是_。void fun(int *x,int *y) printf(“%d %d”,*x,*y); *x=3; *y=4;main( ) int x=1,y=2;fun(&y,&x); printf(“%d %d”,x,y);A2 1 4 3 B1 2 1 2 C1 2 3 4 D2 1 1 221下面程序的输出结果是_。#include “stdio.h”#i
9、nclude “string.h”main( ) char *p1=“abc”,*p2=“ABC”,str50=“xyz”;strcpy(str+2, strcat(p1, p2);printf(“%sn”,str);AxyzabcABC BzabcABC CyzabcABC DxyabcABC22以下程序的输出结果是_。void prtv(int *x) printf(“%dn”,+*x);main( ) int a=25;prtv(&a);A23 B24 C25 D2623以下程序中的for循环执行的次数是_。#define N 2#define M N+1#define NUM (M+1
10、)*M/2main( ) int i;for(i=1;i=NUM;i+);printf(“%dn”,i);A5 B6 C8 D924以下对二维数组a进行不正确初始化的是_。Aint a 3=3,2,1,1,2,3; Bint a 3=3,2,1,1,2,3;Cint a23=3,2,1,1,2,3; Dint a =3,2,1,1,2,3;25若有定义和语句:char s10;s=“abcd”;printf(“%sn”,s); 则结果是_。Aabcd Ba C“abcd” D编译不通过26执行下列程序后,y的值是_。main( ) int a =2,4,6,8,10,y=1,*p,x;p=&a
11、1;for(x=0;x3;x+) y+=*(p+x);printf(“%dn”,y);A17 B18 C19 D2027以下程序的输出结果是_。 main( ) char s =“ABCD”,*p;for(p=s;ps+4;p+) printf(“%sn”,p);AABCDBCDCDDBABCDCDCBADABCDABCABA28对于如下的结构体定义:struct date int year,month,day;struct worklist char name20;char sex;struct date birthday;person; 若对变量person的出生年份进行赋值,_是正确的赋
12、值语句。Ayear=1976; Bbirthday.year=1976; Cperson.birthday.year=1976; Dperson.year=1976;29以下程序的输出结果是_。main( ) int aa33=2,4,6,i,*p=&aa00;for(i=0;i2;i+) if(i=0) aaii+1=*p+1;else +p;printf(“%d”,*p); printf(“n”);A23 B26 C33 D3630根据以下定义,能输出字母M的语句是_。struct person char name9;int age;struct person class4=“John”,
13、17,“Paul”,19,“Mary”,18,“Adam”,16;A. printf(“%cn”,class3.name); B. printf(“%cn”,class3.name1);C. printf(“%cn”,class2.name1); D. printf(“%cn”,class2.name0);二、读下面程序,写出执行结果(5个小题,每题4分,共20分):1int i,j,m=0;for(i=1;i=15;i+=4)for(j=3;j=19;j+=4) m+;printf(“%dn”,m);2f(int b ,int n) int i,r=1;for(i=0;i=n;i+) r=r
14、*bi;return r;main( ) int x,a =2,3,4,5,6,7,8,9;x=f(a,3);printf(“%dn”,x);3若输入“adequacy” ,写出程序的执行结果。#include main( ) char c; int v0=0,v1=0,v2=0;while(c=getchar( )!=n) switch(c) case a:case e:case i:case o:case u:v1+;default:v0+;v2+;printf(“v0=%d,v1=%d,v2=%dn”,v0,v1,v2);4main( ) char a =“ABCDEDGH”,b =“a
15、bCDefGh”,*p1=a,*p2=b;int k;for(k=0;kb) t=a; a=b; b=t; if(ac) t=a; a=c; c=t; if(bc) t=b; b=c; c=t; printf(“%d,%d,%dn”,a,b,c);2求n!,即计算1*2*3*n的值。(5分)main( ) int s=1,i,n;printf(“Enter n:”);scanf(“%d”,&n);for(i=1;i=n;i+) s=s*i;printf(“s=%dn”,s);3输入10个学生的成绩,求平均成绩,并将低于平均成绩的分数输出。(10分)要求:(1)使用数组存放成绩,数组名为scor
16、e。(2)编写三个函数,函数input:输入学生成绩,函数average:求平均成绩,函数result:将低于平均成绩的分数输出。void input(float score10,int n) int i;printf(“Enter students scores:n”);for(i=0;in;i+)scanf(“%f”,&scorei);return;float average(float score10,int n) float sum=0;int i;for(i=0;in;i+)sum=sum+scorei;return (sum/n);void result(float score10,float ave,int n) int i;printf(“Below the average:n”);for(i=0;in;i+)if(scoreiave) printf(“%8.2f”,scorei);return;main( ) float ave,score10;input(score,10);ave=average(score,10);printf(“average=%6.2fn”,ave);print(score,ave,10);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1