计算机二级C语言模拟试题及答案汇总_第1页
计算机二级C语言模拟试题及答案汇总_第2页
计算机二级C语言模拟试题及答案汇总_第3页
计算机二级C语言模拟试题及答案汇总_第4页
计算机二级C语言模拟试题及答案汇总_第5页
已阅读5页,还剩167页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机二级C语言模拟试题及答案汇总

一、填空题

I、c语言中基本的数据类型有:、、

_______________________________O

2、C语言中普通整型变量的类型说明符为,在内存中

占字节,有符号普通整型的数据范围是o

3、整数-35在机内的补码表示为o

4、执行下列语句inta=8;a+=a-=a*a;后,a的值是。

5、有如下语句:charA[]={"Iamastudentv;该字符

串的长度是,A[3]=o

6、符号”a"和'a'的区别是o

7、所谓“指针”就是o

运算符的作用是。

“*”运算符的作用是o

8、有如下输入语句:scanf("a=%d,b=%d,c=%d",&a,&b,

&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数

据的正确形式应是o

二、选择题

1、设整型变量a为5,使b不为2的表达式是()。

A.b=a/2

B.b=6-(—a)

C.b=a%2

D.b=a》3?2:1

2、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:

C程序中的else总是与()组成配对关系。

A.缩排位置相同的if

B.在其之前未配对的if

C.在其之前未配对的最近的if

D.同一行上的if

3、以下程序的输出结果是()。

intx=10,y=10;

printf("%d%d\n",x-,--y);

A.1010

B.99

C.910

D.109

4、设A为存放(短)整型的一维数组,如果A的首地址为P,那

么A中第i个元素的地址为()。

A.P+i*2

B.P+(i-1)*2

C.P+(i-1)

D.P+i

5、选出下列标识符中不是合法的标识符的是()。

A.hotdo

B.catl

C._pri

D.2ab

6、以下程序的输出结果是()。

inta=5;

floatx=3.14;

a*=x*('E'-'A');

printf(,(float)a);

A.62.000000

B.62.800000

C.63.000000

D.62

7、设有说明double(*pl)[N];其中标识符pl是()。

A.N个指向double型变量的指针。

B.指向N个double型变量的函数指针。

C.一个指向由N个double型元素组成的一维数组的指针。

D.具有N个指针元素的一维指针数组,每个元素都只能指向

double型量。

8、在C程序中有如下语句:char*func(intx,inty);它

是()。

A.对函数func的定义。

B.对函数func的调用。

C.对函数func的原型说明。

D.不合法的。

9、以下程序的输出结果是()。

charstr[15]="hello!”;

printf("%d\n",strlen(str));

A.15

B.14

C.7

D.6

10、分析以下程序的输出结果是()。

main()

{inta=5,b=-l,c;

c=adds(a,b);

printf("%d”,c);

c=adds(a,b);

printf("%d\n",c);}

intadds(intx,inty)

{staticintm=0,n=3;

n*=++m;

m=n%x+y++;

return(m);)

A.2,3

B.2,2

C.3,2

D.2,4

11、下列描述中不正确的是()。

A.字符型数组中可能存放字符串。

B.可以对字符型数组进行整体输入、输出。

C.可以对整型数组进行整体输入、输出。

D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整

体赋值。

12、以下程序的输出结果是()。

#definef(x)x*x

main()

{inta=6,b=2,c;

c=f(a)/f(b);

printf("%d\n”,c);

)

A.9

B.6

C.36

D.18

13>设有如下定义:intx=10,y=3,z;

则语句printf("%d\n",z=(x%y,x/y));的输出结果是()。

A.1

B.0

C.4

D.3

14、定义如下变量和数组:inti;intx[3][3]={1,2,3,

4,5,6,7,8,9};

则语句for(i=0;i《3;i++)printf("%d",x[i][2-i]);

的输出结果是()。

A.159

B.147

C.357

D.369

15、以下对二维数组a进行正确初始化的是()

A.inta[2][3]={{1,2},{3,4},{5,6}};

B.inta[][3]={1,2,3,4,5,6};

C.inta[2][]={1,2,3,4,5,6};

D.inta[2][]={{1,2},{3,4}};

16、两次运行下面的程序,如果从键盘上分别输入6和3,则输

出结果是()。

intx;

scanf("%d",&x);

if(x++》5)printf("%d”,x);

elseprintf("%d\n”,x--);

A.7和5

B.6和3

C.7和4

D.6和4

17、设有如下定义:char*aa[2]={“abed”,“ABCD”};则

以下说法中正确的是()。

A)aa数组成元素的值分别是“abed”和ABCD"

B)aa是指针变量,它指向含有两个数组元素的字符型一维数组

Oaa数组的两个元素分别存放的是含有4个字符的一维字符数

组的首地址

D)aa数组的两个元素中各自存放了字符'a,和'A'的地址

18、下列程序的输出结果是()。

char*pl="abed",*p2="ABCD",str[50]="xyz

strepy(str+2,strcat(pl+2,p2+l));

printf("%s",str);

A.xyabcAB

B.abcABz

C.ABabcz

D.xycdBCD

19、下列程序的输出结果是()。

inta[5]={2,4,6,8,10),*P,**k;

p=a;k=&p;

printf("%d”,*(p++));

printf("%d\n",**k);

A.44

B.22

C.24

D.46

20、不能把字符串:Hello!赋给数组b的语句是()。

A.charb[10]={,<e,,T,'1',d,'!,};

B.charb[10];b="Hello!”;

C.charb[10];strcpy(b,"Hello!");

D.charb[10]="Hello!“;

三、读程序题

1、floatf=3.1415927;

printf("%f,%5.4f,%3.3f",f,f,f);

则程序的输出结果是o

2、intx=6,y=7;

printf("%d,",x++);

printf("%d\n",++y);

程序的输出结果是O

3、a=3;

a+=(a《1)?a:1;

printf("%d",a);

结果是o

4、for(a=l,b=l;a《=100;a++)

{if(b》=20)break;

if(b%3==l)

{b+=3;continue;}

b-=5;}

程序的输出结果a的值为。

5、inty=l,x,*p,a[]={2,4,6,8,10};

p=&a[1];

for(x=0;x《3;x++)

y+=*(p+x);

printf("%d\n",y);

程序的输出结果y的值是o

四、程序填空题

1、从键盘上输入10个数,求其平均值。

main()

{inti;

floatf,sum;

for(i=l,sum=0.0;i《ll;i++)

printf("average=%f\n”,sum/10);}

2、以下程序是建立一个名为myfile的文件,并把从键盘输入的

字符存入该文件,当键盘上输入结束时关闭该文件。

ftinclude

main()

{FILE*fp;

charc;

fp=;

do{

c=getchar();

fputs(c,fp);

}while(c!=EOF);

3、以下程序的功能是:从键盘上输入若干个学生的成绩,统计

并输出最高成绩和最低成绩,当输入负数时结束输入。请填空。

main()

{floatx,amax,amin;

scanf("%f",&x);

amax=x;amin=x;

while()

{if(x》amax)amax=x;

if()amin=x;

scanf("%f",&x);}

printf(a\namax=%f\namin=%f\nn,amax,amin);)

五、编程题

1.三个整数a、b、c,由键盘输入,输出其中最大的一个数。

2.输出1900~2000年中所有的闰年。每输出3个年号换一行。(判

断闰年的条件为下面二者之一:能被4整除,但不能被100整除。或

者能被400整除。)

3.请编一个函数intfun(inta),它的功能是:判断a是否是

素数,若a是素数,返回1;若不是素数,返回0。A的值由主函数

从键盘读入。

4.有N个学生,每个学生的信息包括学号、性别、姓名、四门课

的成绩,从键盘上输入N个学生的信息,要求输出总平均成绩最高的

学生信息,包括学号、性别、姓名和平均成绩。

参考答案

一、填空题

(1)整型、实型、字符型。(2)int,2,-32768"+32767

(3)1111111111011101(4)-112(5)14,'m,

(6)"a”是字符串常量,而'a,是字符常量。

(7)存放地址值的变量或常量,或者答地址。

(8)取运算对象的地址。取指针变量所指的内容。(8)a=l,

b=3,c=2

二、选择题

1、C2、C3、D4、B5、D

6、A7、C8、C9、D10、A

11、C12、C13、D14、C15、B

16、C17、D18、D19、C20、B

三、阅读程序题

(1)3.141593,3.1416,3.142(2)6,8(3)4(4)22

(5)19

四、程序填空题

1、scanf("%f",&f);sum+=f;

2、fopen("myfile”,w)fclose(fp);

3、x》=0.0x《=amin

五、编程题

1、main()

{inta,b,c;

printf(“请输入三个整数:”);

scanf("%d,%d,%d^^,&a,&b,&c);

if(aif(belseprintf("max=%d\n”,b);

elseif(aelseprintf("max=%d\n”,a);}

2、#include"stdio.h"

main()

{intI,n;

for(n=0,1=1900;I《=2000;I++)

{if(I%4==0&&!0!=0||l@0==0)

{printf("%d”,I);n++;}

if(n%3==0)

printf("\n"):}}}

3、^include"stdio.h"

intfun(inta)

{intI;

if(a==2)return1;1=2;

while((a%I)!=0&&I《=sqrt((float)a))

I++;

if(a%I==0)

{printf("%disnotaprime!”,a);

return0;}

printf("%disaprime!”,a);

return1;}

main()

{intx;

printf("\npleaseenteranumber:");

scanf("%d",&x);

printf("%d\n”,fun(x));}

4、ttinclude"stdio.h"

#defineN3

structstudent

(longstu_num;charsex;

charname[15];intscore[4];

floataverage;};

main()

{intI,j,index;floatsum,max;

structstudentstuarr[N];

for(1=0;I{printf("pleaseinput%dstudentinformation:

\n",1+1);

scanf(u%ld,%c,%s”,&stuarr[I].stunum,&stuarr[I].sex,

stuarr[I].name);

for(j=0;j《4;j++)

scanf("%d”,&stuarr[I].score[j]);}

for(1=0;I{sum=0.0;

for(j=0;j《4;j++)

sum+=stuarr[I].score[j];

stuarr[I].average=sum/4.0;}

max=stuarr[0].average;

index=0;

for(1=1;lif(stuarr[I].average》max)

{max=stuarr[I].average;

index=I;}

printf(“总平均成绩最高的学生信息是学号部Id,性别=%c,

姓名=%s,平均成绩=为4.1成n”,stuarr[index].stunum,stuarr

[index].sex,stuarr[index].name,stuarr[index].average);

)

一、填空题

1、C语言中普通整型变量的类型说明符为,在内存中占

字节,有符号普通整型的数据范围是。

2、C语言中基本的数据类型有:、、o

3、设整型变量n的值为2,执行语句“n+=n-=n*n”后,n的值

是0

4、共用体和结构体的定义格式类似,不同点是。

5、有如下输入语句:scanf(ua=%d,b=%d,c=%d",&a,&b,

&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数

据的正确形式应是o

6、有语句:charA[]={"Iamastudent"};该字符串的长

度是,A[3]=。

7、符号"a”和,a,的区别o

8、下列程序的输出结果是o

intast(intx,inty,int*cp,int*dp)

{*cp=x+y;*dp=x-y;}

main()

{inta=4,b=3,c,d;

ast(a,b,&c,&d);

printf("%d,%d/n”,c,d);}

二、选择题

I、以下选项中属于C语言的数据类型是()。

A.复合型

B.双精度型

C.逻辑型

D.集合型

2、以下说法中正确的是()。

A.C语言程序总是从第一个的函数开始执行

B.在C语言程序中,要调用的函数必须在main()函数中定义

C.C语言程序总是从main()函数开始执行

D.C语言程序中的main()函数必须放在程序的开始部分

3、选出下列标识符中不是合法的标识符的是()。

A.hot_do

B.catl

C._pri

D.2ab

4、下列描述中不正确的是()。

A、字符型数组中可能存放字符串。

B、可以对字符型数组进行整体输入、输出。

C、可以对整型数组进行整体输入、输出。

D、不能在赋值语句中通过赋值运算符“=”对字符型数组进行

整体赋值。

5、若已定义:inta[9],*p=a;并在以后的语句中未改变p

的值,不能表示a[1]地址的表达式为()。

A.p+1

B.a+1

C.a++

D.++p

6、设有如下定义:intx=10,y=3,z;

则语句printf("%d\n",z=(x%y,x/y));的输出结果是()。

A.1

B.0

C.4

D.3

7、定义如下变量和数组:inti,x[3][3]={1,2,3,4,

5,6,7,8,9};则卜面语句for(i=0;i《3;i++)printf("%d",

x[i][2-i]);的输出结果是()

A.159

B.147

C.357

D.369

8、读出以下语句的输出结果是()。

intx=10,y=10;

printf("%d%d\n”,x--,--y);

A.1010

B.99

C.910

D.109

9、两次运行下面的程序,如果从键盘上分别输入6和3,则输出

结果是()。

if(x++》5)printf("%d”,x);

elseprintf("%d\n”,x--);

A.7和5

B.6和3

C.7和4

D.6和4

10、设有如下定义:char*aa[2]={“abed”,“ABCD”};则

以下说法中正确的是()。

A)aa数组成元素的值分别是“abed”和ABCD"

B)aa是指针变量,它指向含有两个数组元素的字符型一维数组

Oaa数组的两个元素分别存放的是含有4个字符的一维字符数

组的首地址

D)aa数组的两个元素中各自存放了字符'a'和'A,的地址

11、以下语句的输出结果是()。

inta=~l,b=4,k;

k=(++a《0)&&!(b--《=0);

printf("%d,%d,%d\n”,k,a,b);

A.1,0,4

B.1,0,3

C.0,0,3

D.0,0,4

12、下列程序的输出结果是()。

char*pl="abed”,*p2="ABCD",str[50]="xyz

strepy(str+2,strcat(pl+2,p2+l));

printf("%s",str);

A.xyabcAB

B.abcABz

C.ABabcz

D.xycdBCD

13、执行下面的程序后,a的值是()。

#defineSQR(X)X*X

main()

{inta=10,k=2,m=l;

a/=SQR(k+m)/SQR(k+m);

printf("%d\n",a);}

A.10

B.1

C.9

D.0

14、设A为存放(短)整型的一维数组,如果A的首地址为P,

那么A中第i个元素的地址为()。

A.P+i*2

B,P+(i-1)*2

C.P+(i-1)

D.P+i

15、下列程序执行后输出的结果是()。

intd=l;

fun(intp)

{intd=5;

d+=p++;

printf(“%d,”,d);}

main()

{inta=3;

fun(a);

d+=a++;

printf("%d\n",d);}

A.8,4

B.9,6

C.9,4

D.8,5

16、表达式:10!=9的值是()。

A.true

B.非零值

C.0

D.1

17、若有说明:inti,j=7,*p=&i;,则与i=j;等价的语句

是()。

A.i=*p;

B.*p=*&j;

C.i=&j;

D.i=**p;

18、不能把字符串:Hello!赋给数组b的语句是()。

A.charb[10]={F',%',T,T,d,'!,};

B.charb[10];b="Hello!”;

C.charb[10];strcpy(b,"Hello!");

D.charb[10]="Hello!”;

19、在C程序中有如下语句:char*func(intx,inty);它

是()。

A.对函数func的定义。

B.对函数func的调用。

C.对函数func的原型说明。

D.不合法的。

20、以下程序的输出结果是()。

charstr[15]="hello!”;

printf("%d\n",strlen(str));

A.15

B.14

C.7

D.6

三、阅读程序题

1、intx=6,y=7;

printf("%d,",x++);printf("%d\n",++y);

程序的输出结果是o

2、floatf=3.1415927;

printf("%f,%5.4f,%3.3f“,f,f,f);

则程序的输出结果是o

3、a=3;

a+=(a《1)?a:1;printf("%d",a);

结果是0

4、main()

{inta[5]:⑵4,6,8,10),*P,**k;

p=a;k=&p;

printf(“%d,”,*(p++));

printf("%d\n",**k);}

程序的输出结果是o

5、main()

{inta,b;

for(a=l,b=l;a《=100;a++)

{if(b》=20)break;

if(b%3==l)

{b+=3;continue;}

b-=5;}}

程序的输出结果a的值为o

四、程序填空题

1、求主次对角线之和。

main()

{staticinta[][3]={9,7,5,1,2,4,6,8};

intI,j,sl=0,s2=0;

for(1=0;I《3;I++)

for(j=0;j《3;j++)

{if()

sl=sl+a[I][j];

if()

s2=s2+a[I][j];

)

printf("%d\n%d\n”,si,s2);

)

2、从键盘上输入10个数,求其平均值。

main()

{inti;

floatf,sum;

for(i=l,sum=0.0;i《ll;i++)

printf("average=%f\n”,sum/10);

3、以下程序是建立一个名为myfile的文件,并把从键盘输入的

字符存入该文件,当键盘上输入结束时关闭该文件。

ftinclude

main()

(

FILE*fp;

charc;

fp=;

do

(

c=getchar();

fputs(c,fp);

}while(c!=E0F);

五、编程题

1、三个整数a、b、c,由键盘输入,输出其中最大的数。

2、从键盘输入的10个整数中,找出第一个能被7整除的数。若

找到,打印此数后退出循环;若未找到,打印“notexist”。

3、有一个一维数组,内放10个学生成绩,写一个函数,求出平

均分。

4、有N个学生,每个学生的信息包括学号、性别、姓名、四门

课的成绩,从键盘上输入N个学生的信息,要求输出总平均成绩最高

的学生信息,包括学号、性别、姓名和平均成绩。

参考答案

一、填空题

1、int,2个字节,-32768~+32767。

2、整型、实型、字符型。

3^-4o

4、结构体的成员占有各自不同的空间,而共用体的各成员放到

同一存储空间。

5^a=l,b=3,c=2

7、“a”是字符串常量,而‘a,是字符常量。

8、7,1。

二、选择题

1、B2、C3、D4、C5、C

6、D7、C8、D9、C10、D

11、D12、D13、B14、B15、A

16、D17、B18、B19、C20、D

三、阅读程序题

(1)6,8(2)3.141593,3.1416,3.142(3)4(4)2,

4(5)8

四、程序填空题

1、I==jI+j==22>scanf("/f",&f);sum+=f;

3、fopen("myfile”,w)fclose(fp);

五、编程题

1、main()

{inta,b,c;

printf(“请输入三个整数:");scanf(“%d,%d,%d”,

&a,&b,&c);

if(aif(belseprintf("max=%d\n”,b);

elseif(aelseprintf("max=%d\n”,a);}

2、#include“stdio.h"

main()

{intI,a;

for(1=1;I《=10;I++)

{scanf("%d",&a);

{if(a%7==0)

printf("%d”,a);break;}}

if(I==ll)

printf("notexist");}

3、floataverage(floatarray[],intn)

{intI;

floataver,sum=array[0];

for(1=1;Isum=sum+array[I];

aver=sum/n;

return(aver);}

main()

{floatave,score[10];

intI;

for(I=0;I《10;I++)

scanf("%f”,&score[I]);

ave=average(score,10);

printf("%f\n",ave);}

4、ttinclude"stdio.h"

#defineN3

structstudent

{longstu_num;

charsex;

charname[15];

intscore[4];

floataverage;};

main()

{intI,j,index;

floatsum,max;

structstudentstuarr[N];

for(1=0;I{printf(^pleaseinput%dstudentinformation:

\n",1+1);

scanf("%ld,%c,%s”,&stuarr[I].stunum,&stuarr[I].sex,

stuarr[I].name);

for(j=0;j《4;j++)

scanf("%d”,&stuarr[I].score[j]);}

for(1=0;I{sum=0.0;

for(j=0;j《4;j++)

sum+=stuarr[I].score[j];

stuarr[I].average=sum/4.0;}

max=stuarr[0].average;

index=0;

for(1=1;lif(stuarr[I].average》max)

{max=stuarr[I].average;index=I;}

printf(“总平均成绩最高的学生信息是学号*Id,性别=%c,

姓名二%s,平均成绩=%4.lf\n”,stuarr[index].stu_num,stuarr

[index].sex,stuarr[index].name,stuarr[index].average);}

一.单项选择题

1.设intx=l,y=l;表达式(!x++||y一)的值是

A.0

B.1

C.2

D.-1

2.main()

{intn;

(n=6*4,n+6),n*2;

printf("n=%d\n",n);

}此程序的输出结果是.

A.30

B.24

C.60

D.48

3.若有如下定义,则是对数组元素的正确的引用。

inta[10],*p;

p=a;p=a;p=a;p=a;

A.*&a[10]

B.a[11]

C.*(p+10)

D.*p

4.设整型变量n的值为2,执行语句"n+=n-=n*n;”后,n的

值是_________

A.0

B.4

C.-4

D.2

5.以下不能正确定义二维数组的语句是

Aointa[2][2]={⑴,⑵};

B.inta口[2]={1,2,3,4};

C.inta[2][2]={{1},2,3};

D.inta[2][]={{1,2},{3,4}};

6.程序段的功能是将变量u、s中的最大值赋给

变量t。

A.if(u》s)t=u;t=s;

B.t=u;if(t)t=s;

C.if(u》s)t=s;elset=u;

Dot=s;if(u)t=u;

7.下列程序段的输出结果是。

voidmain()

{intk;

for(k=l;k《5;k++〉

{if(k%2!=0)

printf(;

else

printf("*");}

)

A.#*#*

Bo*#*#

C.##

D.以上都不对

8.设变量定义为inta[3]={1,4,7},*p=&a[2],则*p

的值是(35)o

A.&a[2]

B.4

C.7

D.1

9.能正确表示a和b同时为正或同时为负的逻辑表达式是

________O

A.a》二0||b》=0)&&(a《0|b《0)

B.(a》=0&&b》=0)&&(a《0&&b《0)

C.(a+b》0)&&(a+b《=0)

D.a*b》0

10.C语言中,合法的字符型常数是o

A.'A'

B.“A”

C.65

D.A

11.设有数组定义:chararray[]="China”;则数组所占的

空间是o

A.4个字节

B.5个字节

C.6个字节

D.7个字节

12.若变量c为char类型,能正确判断出c为小写字母的表达

式是o

A.'a'《=c《='z'

B.(c》=,a')||(c《=,z')

C.('a'《=c)and('z'》=c)

D.(c》='a')&&(c《='z')

13.设有定义:longx=T23456L;则以下能够正确输出变量x

值的语句是o

A.printf("x=%d\n",x)

B.printf("x=%ld\n”,x)

C.printf("x=l\n”,x)

D.printf("x=%LD\n”,x);

14.下列关于指针定义的描述,是错误的。

A.指针是一种变量,该变量用来存放某个变量的地址值的。

B.指针变量的类型与它所指向的变量类型一致。

C.指针变量的命名规则与标识符相同。

D.在定义指针时,标识符前的“*”号表示后面的指针变量所指

向的内容。

15.已知:intx;inty[10];下列是合法的。

A.&x

B.&(x+3)

C.&5

D.&y

16.指出下面正确的输入语句o

A.scanf("a=b=%d",&a,&b);

B.scanf("%d,%d",&a,&b);

C.scanf("%c”,c);

D.scanf("%f%d\n",&f)

17.C语言中以追加方式打开一个文件应选择

参数。

A.“r”

B.“w”

C.“rb”

D.“a”

18.Break语句的正确的用法是()。

A.无论在任何情况下,都中断程序的执行,退出到系统下一层。

B.在多重循环中,只能退出最靠近的那一层循环语句。

C.跳出多重循环。

D.只能修改控制变量。

19.为表示关系x》y》z,应使用C语言表达式

A.(x》=y)&&(y》=z)

B.(x》=y)AND(y》=z)

C.(x》=y》=z)

D.(x》=z)&(y》=z)

20.以下可以作为C语言合法整数的是o

A.1010B

B.0368

C.OXffa

D.x2a2

21.在函数中默认存储类型说明符的变量应该是存储类

型。

A.内部静态

B.外部

C.自动

D.寄存器

二.判断题

1.C语言源程序文件通过了编译、连接之后,生成一个后缀

为.EXE的文件。()

2.在C程序中,函数既可以嵌套定义,也可以嵌套调用。

()

3.在C程序中,APH和aph代表不同的变量。()

4.表达式0195是一个八进制整数。()

5.表达式_ya是不合法的C语言标识符。()

6.C程序总是从main()函数的第一条语句开始执行的。(

7.A-=7等价于a=a-7。()

8.利用fclose函数关闭已打开的文件。()

9.数组名可以作为参数进行传递。()

10.执行printf("%x”,12345);,输出12345。()

三、填空

1.C语言的预处理语句以开头。

2.表达式7+8》2&&25%5的结果是

3.下列程序段是从键盘输入的字符中统计数字字符的个数,用

换行符结束循环。

intn=0,ch;

ch=getchar();

while()

{if()n++;

c=getchar();}

4.C语言中putchar(c)函数的功能是

____________________________________________________________________o

5.int*p的含义是

___________________________________________________________________________________________o

6.定义fp为文件型指针变量的定义方法为

_____________________________________________O

7.数组inta[3][4];共定义了个数组元素。

四、读出程序。

1.改正下列程序中不正确的语句。

main()

{inta=8,b=l;

a=a+b;

b=a*b;

printf("%d,%d”,a,b);}

2.写出下列程序的运行结果。

fun(inta,intb)

{if(a》b)return(a);

Elsereturn(b);}

main()

{intx=3,y=8,z=6,r;

r=fun(fun(x,y),2*z);

printf("%d\n",r);}

3.改正下列程序中不正确的语句。

main()

{intn;

floats=l.0;

for(n=10;n》1;n---)

s=s+l/n;

printf("%6.lf\n",s);}

4.写出下列程序的运行结果。

main()

{intn;

For(n=3;n《=10;n++)

{if(n%5==0)break;

Printf(“%d”,n);}}

5.写出下列程序的运行结果。

ttinclude"stdio.h"

main()

{inta[]={1,2,3,-4,5);

intm,n,*p;

p=&a[0];p=&a[0];

m=*(p+2);

n=*(p+4);

printf(“%d%d%d",*p,m,n);}

五.编程序

1.编程计算下列表达式:s=l!+2!+3!+4!+……+10!

2.从键盘上输入a与n的值,计算sum=a+aa+aaa+aaaa+..(共

n项)的和。例a=2,n=4,则sum=2+22+222+2222。

3.求3X3矩阵的主对角线元素之和。

4.从键盘上输入10个数存入一维数组中,求这10数中的最大

值与最小值并输出。

5.从键盘上输入若干个字符存入文件write.txt中,遇到回车

键输入结束。(用“\n”表示回车键)

参考答案

一.单项选择题

1B2B3D4C5D

6C7A8C9D10A

11C12D13B14D15A

16B17D18B19A20C21C

二.判断题

1V2X3V4X5X6V7V8V9V10X

三、填空

1#号

20

3ch!='\n'ch》='0,&&ch《二'9'

4将变量c中的字符显示到屏幕上。

5指针变量p为整型

6FILE*fp

712

四、读出程序。

1printf("%d,%d”,&a,&b);212

3s=s+l.0/n

4.34

5135

五.编程序

1.

ttinclude"stdio.h"

main()

{longs=0,t=l;

inti;

for(i=l;i《=10;i++)

{t=t*i;

s=s+t;

}

printf("%ld",s);}

2

ttinclude"stdio.h"

main()

{inta,ncount=l,sn=0,tn=0;

scanf("%d%d”,&a,&n);

while(count《=n)

{tn=tn+a;

sn=sn+tn;

a=a*10;

++count;}

printf("%d”,sn);}

3.

ttinclude"stdio.h"

main()

{inta[3][3],i,j,s=0;

for(i=0;i《3;i++)

for(j=0;j《3;j++)

scanf("%d”,&a[i][j]);

for(i=0;i《3;i++)

for(j=0;j《3;j++)

if(i==j)

s=s+a[i][j];

printf("%d",s);}

4.

#include"stdio.h"

main()

{inta[10],max,min;

for(i=0;i《10;i++)

scanf("%d”,&a[i]);

max=a[0];

for(i=l;i《10;i++)

if(a[i]》max)

max=a[i];

min=a[0];

for(i=l;i《10;i++)

if(a[i]

min=a[i];

printf(“强d%d”,max,min);}

5.

#include"stdio.h"

main()

{intc;

FILE*fp;

fp=open("write,txt","w");

c=getchar();

while(c!='\n')

{fputc(c,fp);

c=getchar();

fclose();}

一.单项选择题

1.运算符的优先级最高。

A.[]

B.+=

C.?:

D.++

2.main()

{intn;(n=6*4,n+6),n*2;printf("n=%d\n”,n);}

此程序的输出结果是.

A.30

B.24

C.60

D.48

3.若有如下定义,则是对数组元素的正确的引用。。

inta[10],*p;p=a;

A.*&a[10]

B.a[11]

C.*(p+11)

D.*p*p*p

4.设整型变量n的值为2,执行语句“n+=n-=n*n;"后,n的

值是

A.0

B.4

C.-4

D.2

5.各种基本数据类型的存贮空间正确的长度排列为

A.Char

C.Char

6.下面的变量说明中是正确的。

A.char:a,b,c;

B.chara;b;c;

C.chara,b,c;

D.chara,b,c

7.表达式y=(13》12?15:6》7?8:9)的值为

A9

B8

C15

D.1

8.若x=5,y=3则y*=x+5;y的值为.

A.10

B.20

C.15

D.30

9.能正确表示a和b同时为正或同时为负的逻辑表达式是

O

A.a》二0||b》=0)&&(a《0!|b《0)

B.(a》=0&&b》=0)&&(a《0&&b《0)

C.(a+b》0)&&(a+b《=0)

D.a*b》0

10.C语言中,合法的字符型常数是o

A.,A'

B.“A”

C.65

D.A

11.已有定义intx=3,y=4,z=5;则表达式“!(x+y)

+zT&&y+z/2”的值是o

A.6

B.0

C.2

D.1

12.若变量c为char类型,能正确判断出c为小写字母的表达

式是O

A.'a'《=c《='z

B.(c》=7)||(c《=,z,)

C.('a'《=c)and('z'》=c)

D.(c》='a')&&(c《='z')

13.设有定义:longx=-123456L;则以下能够正确输出变量x

值的语句是o

A.printf("x=%d\n",x)

B.printf("x=%ld\n”,x)

C.printf("x=l'n”,x)

C.printf("x=%D\n”,x);

14.从循环体内某一层跳出,继续执行循环外的语句是:

__________O

A.break语句

B.return语句

C.continue语句

D.空语句。

15.C语言用表示逻辑“真”值。

A.true

B.t或y

C.非零整型值

D.整型值0

16.为了避免嵌套的条件分支语句if—else的二义性,C语言

规定:C程序中的else总是与组成配对关系。

A.缩排位置相同的if

B.在其之前未配对的if

C.在其之前未配对的最近的if

D.同一行上的if

17.在函数中默认存储类型说明符的变量应该是存储类

型。

A.内部静态

B.外部

C.自动

D.寄存器

18.C语言中以只读方式打开一个文件应选择

参数。

A.“r”

B.“w”

C.“rb”

D.“a”

19.设有数组定义:chararray[]="studentv;则数组所占

的存贮空间为0

A.6个字节

B.7个字节

C.8个字节

D.9个字节

20.根据C语言的语法规则,下列个是不合法标识符。

A.do

B.Name

C.R5

D.exam

—.判断题

1.C语言源程序文件通过了编译、连接之后,生成一个后缀

为.EXE的文件。()

2.在C程序中,函数既可以嵌套定义,也可以嵌套调用。

()

3.在C程序中,APH和aph代表不同的变量。()

4.表达式0195是一个八进制整数。()

5.Continue语句的作用是结束本次循环。()

6.Extern变量的生命期是整个程序执行期。()

7.C语言中字符串的结束符是'\0'。()

8.利用fclose函数关闭已打开的文件。()。

9.C程序总是从main()函数的第一条语句开始执行的。()

10.数组名代表数组的首地址。()

三.填空

1.C语言的预处理语句以开头。

2.表达式7+10》2&&25%5的结果是

3.下列程序段是从键盘输入的字符中统计数字字符的个数,用

换行符结束循环。

Intn=0,ch;Ch=getchar();

While()

{if()n++;c=getchar();}

4.C语言中getchar()函数的功能是

________________________________________________________________o

5.int*p的含义是

___________________________________________________________________________________o

6.定义fp为文件型指针变量的定义方法为

O

7.数组inta[3][3];共定义了个数组元素。

四、读程序。

1.改正下列程序中不正确的语句。

main()

{inta;

scanf("%d”,a);if(a=1)printf("One'n")

2.写出下列程序的运行结果。

fun(inta,intb)

{if(a》b)return(a);

Elsereturn(b);}

main()

{intx=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论