二級C語言模擬試題_第1頁
二級C語言模擬試題_第2頁
二級C語言模擬試題_第3頁
二級C語言模擬試題_第4頁
二級C語言模擬試題_第5頁
已閱讀5頁,還剩102頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

二級C語言模擬試題

一、填空題

1、C語言中基本的數(shù)據(jù)類型有:、、。

2、C語言中普通整型變量的類型說明符為,在內(nèi)存中占字節(jié),有符號普通整型

的數(shù)據(jù)范圍是。

3、整數(shù)-35在機內(nèi)的補碼表示為。

4,執(zhí)行下列語句inta=8;a+=a-=a*a:后,a的值是?

5、有如口語句:charA|amastudent");該字符串的長度是>A[3]=----------?

6、符號"a”和W的區(qū)別是。

7、所謂“指針”就是.

“&”運算符的作用是?

“*”運算符的作用是。

8、有如下輸入語句:5?2”("=%<1?=%<1£=%(1”,&2,&15,&<:);為使變量2的值為1,b的值為3,c的值為

2,從鍵盤輸入數(shù)據(jù)的正確形式應(yīng)是。

一、選拜四

1、設(shè)整型變量a為5,使b不為2的表達式是()。

A.b=a/2

B.b=6-(—a)

C.b=a%2

D.b=a>3?2:l

2、為了避免嵌套的條件分支語句if-else的二義性,C語言規(guī)定:C程序中的else總是與()組成配對關(guān)

系。

A.縮排位置相同的if

B.在其之前未配對的if

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

D.同一行上的if

3、以下程序的輸出結(jié)果是()。

intx=10,y=10;

printf(44%d%d\n,,,x—y);

A.1010

B.99

C.910

D.109

4、設(shè)A為存放(短)整型的?維數(shù)組,如果A的首地址為P,那么A中第i個元素的地址為()。

A.P+i*2

B.P+(i-l)*2

C.P+(i-l)

D.P+i

5、選出下列標識符中不是合法的標識符的是()o

A.hot_do

B.cat!

C._pri

D.2ab

6、以下程序的輸出結(jié)果是()。

inta=5;

floatx=3.14;

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

printf(t*%f\n,,,(float)a);

A.62.000000

B.62.800000

C.63.000000

D.62

7、設(shè)有說明double(*pl)[N];其中標識符pl是()。

A.N個指向double型變量的指針。

B.指向N個double型變量的函數(shù)指針。

C.?個指向由N個double型元素組成的一維數(shù)組的指針。

D.具有N個指針元素的?維指針數(shù)組,每個元素都只能指向double型量。

8、在C程序中有如下語句:char*func(y);它是()。

A.對函數(shù)func的定義。

B.對函數(shù)ftinc的調(diào)用。

C.對函數(shù)func的原型說明。

D.不合法的。

9、以下程序的輸出結(jié)果是()。

charstrU5]="helb!";

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

A.15

B.14

C.7

D.6

10、分析以下程序的輸出結(jié)果是()。

main()

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

c=adds(a,b);

primf("%d”,c);

c=adds(a,b);

printf(u%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.字符型數(shù)組中可能存放字符串。

B.可以對字符型數(shù)組進行整體輸入、輸出。

C.可以對整型數(shù)組進行整體輸入、輸出。

D.不能在賦值語句中通過賦值運算符“=”對字符型數(shù)組進行整體賦值。

12、以下程序的輸出結(jié)果是()。

#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、設(shè)有如下定義:intx=10,y=3,z;

則語句printf("%d\n”,z=(x%y,x/y));的輸出結(jié)果是()。

A.1

B.0

C.4

D.3

14、定義如下變量和數(shù)組:inti;intx[3][3]={123,4,5,6,7,8,9};

則語句%r(i=0;iv3;i++)printf(M%dM,x[i][2-i]);的輸出結(jié)果是(<

A.159

B.147

C.357

D.369

15、以下對二維數(shù)組a進行正確初始化的是()

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

B.inta[][3]={1,23,4,5,6);

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

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

16、兩次運行下面的程序,如果從鍵盤上分別輸入6和3,則輸出結(jié)果是()0

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、設(shè)有如下定義:char*aa[2]=("abcd","ABCD"J;則以下說法中正確的是()。

A)aa數(shù)組成元素的值分別是"abed"和ABCD"

B)aa是指針變量,它指向含有兩個數(shù)組元素的字符型一維數(shù)組

C)aa數(shù)組的兩個元素分別存放的是含有4個字符的?維字符數(shù)組的首地址

D)aa數(shù)組的兩個元素中各自存放了字符區(qū)和A的地址

18、下列程序的輸出結(jié)果是()。

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

strcpy(str+2,slrcat(p1+2,p2+1));

printf(n%s",str);

A.xyabcAB

B.abcABz

C.ABabcz

D.xycdBCD

19、下列程序的輸出結(jié)果是()o

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!賦給數(shù)組b的語句是()o

A.charb[

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

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

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

三、讀程序題

1、floatf=3.1415927;

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

則程序的輸出結(jié)果是

2、intx=6,y=7;

printf(u%d/\x++);

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

程序的輸出結(jié)果是o

3、a=3;

a+=(a<l)?a:l;

primf("%d”,a);

結(jié)果是o

4、for(a=1,b=1;a<=100;a++)

{if(b>=20)break;

if(b%3==l)

{b+=3;continue;)

b-=5;}

程序的輸出結(jié)果a的值為o

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

p=&a[l];

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

y+=*(p+x);

primf("%d\n”,y);

程序的輸出結(jié)果y的值是o

四、程序填空題

1、從鍵盤上輸入10個數(shù),求其平均值。

main()

(inti;

floatf,sum;

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

printf(uaverage=%f\n,,,sum/10);}

2、以下程序是建立一個名為myfile的文件,并把從鍵盤輸入的字符存入該文件,當(dāng)鍵盤I:輸入結(jié)束時

關(guān)閉該文件。

#include

main()

{FILE*fp;

charc;

fp=;

do(

c=getchar();

fputs(c,fp);

}while(c!=EOF);

____________)

3、以下程序的功能是:從鍵盤上輸入若干個學(xué)生的成績,統(tǒng)計并輸出最高成績和最低成績,當(dāng)輸入負數(shù)

時結(jié)束輸入.請?zhí)羁?

main()

(floatx,amax,amin;

scanfC'%f',&x);

amax=x;amin=x;

whilc()

{if(x>amax)amax=x;

if()amin=x;

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

printf("\namax=%f\namin=%f\n",amax5amin);)

五、編程題

1.三個整數(shù)a、b、c,由鍵盤輸入,輸出其中最大的一個數(shù)。

2.輸出1900~2000年中所有的閏年。每輸出3個年號換一行。(判斷閏年的條件為下面二者之一:能被

4整除,但不能被100整除?;蛘吣鼙?00整除。)

3.請編一個函數(shù)intfun(inta),它的功能是:判斷a是否是素數(shù),若a是素數(shù),返回1;若不是素數(shù),返

回0。A的值由主函數(shù)從鍵盤讀入。

4.有N個學(xué)生,每個學(xué)生的信息包括學(xué)號、性別、姓名、四門課的成績,從鍵盤上輸入N個學(xué)生的信

息,要求輸出總平均成績最高的學(xué)生信息,包括學(xué)號、性別、姓名和平均成績。

參考答案

-、填空題

⑴整型、實型、字符型。⑵int,2,-32768-+32767

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

(6)“a”是字符串常量,而3是字符常量。

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

⑻取運算對象的地址。取指針變量所指的內(nèi)容。(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

四、程序填空題

1scanf(u%f\&f);sum+=f;

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

3、x>=0.0x<=amin

五、編程題

1main()

{inta,b,c;

printf(“請輸入三個整數(shù):”);

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

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

elseif(aelseprintf(umax=%d\n,\a);)

2、#include,,stdio.hM

main()

{intI,n;

for(n=0,I=l900:I<=2000;I++)

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

(printfC4%d”,I);n++;}

if(n%3==0)

prinlf("\n");}})

3、#include”stdio.h"

intfun(inta)

{intI;

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

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

I++;

if(a%I==O)

{printf(u%disnotaprime!*',a);

return0;)

printf(M%disaprime!M,a);

return1;}

main()

(intx;

printf(44\npleaseenteranumber:'?);

scanf("%d”,&x);

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

4、#includenstdio.h"

#defineN3

structstudent

{longstu_num;charsex;

charname[15];intscore[4];

floataverage;};

main()

{intI,j,index;floatsum,max;

structstudentstuarr[NJ;

for(I=0;I{printf("pleaseinput%dstudentinformation:\nH,I+1);

scanf("%ld,%cT%s'\&stuaiT[I].stu_num,&stuarr[I].sex,stuarr[I].namc);

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

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

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

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

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

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

max=stuarr[O].average;

index=0;

for(I=l;Iif(stuarr[I].average>max)

{max=stuair[I].average;

index=I;)

primf("總平均成績最高的學(xué)生信息是學(xué)號=%ld,性別二%c,姓名=%s,平均成績=%4.1f\n”,stuarr[index].sni_

num,stuarr|index].sex?stuarr|index).name,stuarr|index].average);

)

一、填空題

I、c語言中普通整型變量的類型說明符為,在內(nèi)存中占字節(jié),有符號普通整型的數(shù)據(jù)范圍

是.

2、C語言中基本的數(shù)據(jù)類型有;、、。

3、設(shè)整型變量n的值為2,執(zhí)行語句“n+=n-=n*n”后,n的值是。

4、共用體和結(jié)構(gòu)體的定義格式類似,不同點是。

5、有如下輸入語句:$?211長匕=%(1由=%<1£=%<1”.&&&1>,&<:);為使變量2的值為1,b的值為3,c的值為

2,從鍵盤輸入數(shù)據(jù)的正確形式應(yīng)是.

6、有語句:charA[]=("!amastudent");該字符串的長度是?A[3]=。

7、符號”a"和'a,的區(qū)別。

8、下列程序的輸出結(jié)果是。

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(n%d,%d/nn,c,d);}

一?、西洋題

1、以下選項中屬于C語言的數(shù)據(jù)類型是()。

A.復(fù)合型

B.雙精度型

C.邏輯型

D.集合型

2、以下說法中正確的是()。

A.C語言程序總是從第一個的函數(shù)開始執(zhí)行

B.在C語言程序中,要調(diào)用的函數(shù)必須在main。函數(shù)中定義

C.C語言程序總是從main()函數(shù)開始執(zhí)行

D.C語言程序中的main()函數(shù)必須放在程序的開始部分

3、選出下列標識符中不是合法的標識符的是()。

A.hot_do

B.catl

C._pri

D.2ab

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

A、字符型數(shù)組中可能存放字符串。

B、可以對字符型數(shù)組進行整體輸入、輸出。

C、可以對整型數(shù)組進行整體輸入、輸出。

D、不能在賦值語句中通過賦值運算符?”對字符型數(shù)組進行整體賦值。

5、若已定義:inta[9],*p=a;并在以后的語句中未改變p的值,不能表示a【l]地址的表達式為()。

A.p+1

B.a+1

C.a++

D.++p

6、設(shè)有如下定義:intx=10,y=3,z;

則語句printf("%d\n”,z=(x%y,x/y));的輸出結(jié)果是()。

A.1

B.0

C.4

D.3

7、定義如下變量和數(shù)組:inti,x[3][3]=[1,234,5,6,7,8,9};則下面語句for(i=0;iv3;i++)printf(”%d”,x[i][2

-il);的輸出結(jié)果是()

A.159

B.147

C.357

D.369

8、讀出以下語句的輸出結(jié)果是()o

intx=IO,y=lO;

printf(4€%d%d\n”,Xr-y);

A.1010

B.99

C.910

D.109

9、兩次運行卜.面的程序,如果從鍵盤上分別輸入6和3,則輸出結(jié)果是()。

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

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

A.7和5

B.6和3

C.7和4

D.6和4

10、設(shè)有如下定義:char*aa[2]={“abcd”,“ABCD”};則以下說法中正確的是()。

A)aa數(shù)組成元素的值分別是“abed”和ABCD"

B)aa是指針變量,它指向含有兩個數(shù)組元素的字符型一維數(shù)組

C)aa數(shù)組的兩個元素分別存放的是含有4個字符的一維字符數(shù)組的首地址

D)aa數(shù)組的兩個元素中各自存放了字符才和A的地址

11、以下語句的輸出結(jié)果是()。

inta=-1,b=4,k;

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

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

A.1,0,4

B.1,0,3

C.0,0,3

D.0,0,4

12、下列程序的輸出結(jié)果是()。

char*pl="abcd'\*p2="ABCD",str[50]=,'xyzM;

strcpy(str+2,strcat(p1+2,p2+1));

printf(,'%s,',str);

A.xyabcAB

B.abcABz

C.ABabcz

D.xycdBCD

13、執(zhí)行下面的程序后,a的值是()o

#defineSQR(X)X*X

main()

(inta=10,k=2,m=1;

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

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

A.10

B.1

C.9

D.0

14、設(shè)A為存放(短)整型的一維數(shù)組,如果A的首地址為P,那么A中第i個元素的地址為()。

A.P+i*2

B.P+(i-l)*2

C.P+(i-l)

D.P+i

15、下列程序執(zhí)行后輸出的結(jié)果是()。

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;等價的語句是()o

A.i=*p;

B.*p=*&j;

C.i=&j;

D.i=**p;

18、不能把字符串:Hello!賦給數(shù)組b的語句是()o

A.charb[10]={H;e',T"o','!'};

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

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

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

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

A.對函數(shù)func的定義。

B.對函數(shù)func的調(diào)用。

C.對函數(shù)func的原型說明。

D.不合法的。

20、以下程序的輸出結(jié)果是()o

charstr[15]="heHo!'';

prinlf("%d\n”,slrlen(slr));

A.15

B.14

C.7

D.6

三、閱讀程序題

1intx=6,y=7;

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

程序的輸出結(jié)果是o

2、floatf=3.1415927;

primf("%f,%5.4f,%3.3f',f,f,f);

則程序的輸出結(jié)果是1

3、a=3;

a+=(a<I)?a:1;printf(<<%d,,,a);

結(jié)果是o

4、main()

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

p=a;k=&p;

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

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

程序的輸出結(jié)果是o

5、main()

{inta,b;

for(a=1,b=1;a<=100;a++)

(if(b>=20)break;

if(b%3==l)

{b+=3;continue;)

b-=5;}}

程序的輸出結(jié)果a的值為

四、程序填空題

1、求主次對角線之和。

main()

{staticinta[][3]={9,7,5,1,2,4,6.8);

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

for(I=0;l<3;I++)

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

{if()

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

if()

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

I

printf(<<%d\n%d\n,,,sl,s2);

)

2、從鍵盤上輸入10個數(shù),求其平均值。

main()

(inti;

floatf,sum;

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

printf(t4average=%f\n,,,sum/10);

I

3、以下程序是建立個名為myfile的文件,并把從鍵盤輸入的字符存入該文件,當(dāng)鍵盤上輸入結(jié)束時

關(guān)閉該文件。

#include

main()

FILE*fp:

charc;

fp=;

do

I

c=getchar();

fputs(c,fp);

}while(c!=EOF);

五、編程題

1、三個整數(shù)a、b、c,由鍵盤輸入,輸出其中最大的數(shù)。

2、從鍵盤輸入的10個整數(shù)中,找出第?個能被7整除的數(shù)。若找到,打印此數(shù)后退出循環(huán);若未找到,

打印“notexist”。

3、有一個?維數(shù)組,內(nèi)放10個學(xué)生成績,寫一個函數(shù),求出平均分。

4,有N個學(xué)生,每個學(xué)生的信息包括學(xué)號、性別、姓名、四門課的成績,從鍵盤上輸入N個學(xué)生的

信息,要求輸出總平均成績最高的學(xué)生信息,包括學(xué)號、性別、姓名和平均成績。

參考答案

一、填空題

1、int,2個字節(jié),-32768-+32767。

2、整型、實型、字符型。

3、-4o

4、結(jié)構(gòu)體的成員占有各自不同的空間,而共用體的各成員放到同一存儲空間。

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

7、是字符串常量,而H是字符常量。

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(u%f\&f);sum+=f;

3、fopcn(t4myfile,,,w)fclose(fp);

五、編程題

1、main()

{inta,b,c;

printf(“請輸入三個整數(shù):");scanf("%d,%d,%d'',&a,&b,&c);

if(aif(belscpnntf(i*max=%d\n,,,b);

elseif(aelseprintf(umax=%d\n,,,a);}

2、#include,,stdio.hM

main()

{intI,a;

for(I=l;I<=10;I++)

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

{if(a%7==0)

printf(u%d,\a);break;}}

if(I==ll)

printf(44notexistv);}

3、floataverage(floatarray[],intn)

{intI;

floataver,sum=array[O];

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

aver=sum/n;

return(aver);)

niain()

{floatave,score[10];

intI;

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

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

ave=average(score,10);

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

4、#include"stdio.h"

#defineN3

structstudent

{longstu_num;

charsex;

charnamc|15];

intscore[4];

floataverage;);

main()

{intLj,index;

floatsumjnax;

structstudentstuarr[NJ;

for(I=0;I{printf(npleaseinput%dstudentinformation:\n",I+l);

scanf(',%ld,%c,%s",&stuarr[I].stu_num,&stuarr[I|.sex,stuarr[I].namc);

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

scanf("%d'1,&stuarr[I].scorelj]);}

for(I=0;I)sum=0.0:

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

sum+=stuarr[I].scorelj];

stuarr[I].avcrage=sum/4.0;)

max=stuarr[O].average;

index=0;

for(I=l;Iif(stuarr[I].average>max)

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

printf("總平均成績最高的學(xué)生信息是學(xué)號=%ld,性別=%c,姓名=%s,平均成績=%4.1外"產(chǎn)8311411(1?乂]601_

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

一.單項選擇題

1.設(shè)ini乂=1,丫=1;表達式(以++IIy-)的值是

A.0

B.1

C.2

D.-1

2.main()

{intn;

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

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

}此程序的輸出結(jié)果是.

A.30

B.24

C.60

D.48

3.若有如下定義,則是對數(shù)組元素的正確的引用。

inta[10],*p;

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

A.*&a[10]

B.a[ll]

C.*(p+10)

D.*p

4.設(shè)整型變量n的值為2,執(zhí)行語句“n+=n?=n*n;"后,n的值是

A.0

B.4

C.-4

D.2

5.以下不能正確定義二維數(shù)組的語句是

A.inia[2][2]={{l},{2});

B.inta[][2]={1,2,3,41;

C.inta[2][2]={{1),23);

D.inta[2][]={{1,2)43,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;

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

7.下列程序段的輸出結(jié)果是。

voidmain()

{intk;

for(k=l;k<5;k++)

(if(k%2!=0)

printf("#,,);

else

printfT*");}

)

A.#*#*

B.*#*#

c.##

D.以上都不對

8.設(shè)變量定義為inta[3]={l,4,7},*p=&a[2],則*p的值是(35)。

A.&a[2]

B.4

C.7

D.1

9.能正確表示a和b同時為正或同時為負的邏輯表達式是.

A.a>=0llb>=0)&&(a<0llb<0)

B.(a>=0&&b>=0)&&(a<0&&b<0)

C.(a+b>0)&&(a+b<=0)

D.a*b>0

IOC語言中,合法的字符型常數(shù)是o

AJA'

B.“A”

C.65

D.A

11.設(shè)有數(shù)組定義:charan*ay[]FChina”;則數(shù)組所占的空間是.

A.4個字節(jié)

B.5個字節(jié)

C.6個字節(jié)

D.7個字節(jié)

12.若變量c為char類型,能正確判斷出c為小寫字母的表達式是

A.,a,<=c<=,z,

B.(c>='a')II(cv='z')

C.('a'v=c)and('z'>=c)

D.(c>='a')&&(cv='z')

13.設(shè)有定義:longx=-123456L;則以下能夠正確輸出變量x值的語句是一

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

B.printf(ux=%ld\n'\x)

C.printf(<4x=l\nM,x)

D.printf(t<x=%LD\n,,,x);

14.下列關(guān)于指針定義的描述,是錯誤的。

A.指針是?種變量,該變量用來存放某個變量的地址值的。

B.指針變量的類型與它所指向的變量類型一致。

C.指針變量的命名規(guī)則與標識符相同.

D.在定義指針時,標識符前的“*”號表示后面的指針變量所指向的內(nèi)容。

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\nM,&f);

17.C語言中以追加方式打開一個文件應(yīng)選擇參數(shù)。

A."r”

B.“w”

C.'Tb"

D."a”

18.Break語句的正確的用法是()。

A.無論在任何情況下,都中斷程序的執(zhí)行,退出到系統(tǒng)下一層。

B.在多重循環(huán)中,只能退出最靠近的那一層循環(huán)語句。

C.跳出多重循環(huán)。

D.只能修改控制變量。

19.為表示關(guān)系x>y>z,應(yīng)使用C語言表達式

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

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

C.(x>=y>=z)

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

20.以下可以作為C語言合法整數(shù)的是。

A.1010B

B.0368

C.OXffa

D.x2a2

21.在函數(shù)中默認存儲類型說明符的變量應(yīng)該是存儲類型。

A.內(nèi)部靜態(tài)

B.外部

C.自動

D.寄存器

二.判斷題

1.C語言源程序文件通過了編譯、連接之后,生成一個后綴為.EXE的文件。()

2.在C程序中,函數(shù)既可以嵌套定義,也可以嵌套調(diào)用。()

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

4.表達式0195是一個八進制整數(shù)。()

5.表達式_ya是不合法的C語言標識符。()

6.C程序總是從main()函數(shù)的第條語句開始執(zhí)行的。()

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

8.利用fclose函數(shù)關(guān)閉已打開的文件。()

9.數(shù)組名可以作為參數(shù)進行傳遞。()

10.執(zhí)行printf("%x”,12345);,輸出12345。()

三、填空

1.C語言的預(yù)處理語句以開頭。

2.表達式7+8>2&&25%5的結(jié)果是。

3.下列程序段是從鍵盤輸入的字符中統(tǒng)計數(shù)字字符的個數(shù),用換行符結(jié)束循環(huán)。

intn=0,ch;

ch=getchar();

while()

{if()n++;

c=getchar();}

4.C語言中putchar(c)函數(shù)的功能是。

5.ini*p的含義是o

6.定義fp為文件型指針變量的定義方法為。

7.數(shù)組inta[3][4];共定義了個數(shù)組元素。

四、讀出程序。

1.改正下列程序中不正確的語句。

main()

{inta=8,b=l;

a=a+b;

b=a*b;

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

2.寫出下列程序的運行結(jié)果。

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(u%d\n,\r);)

3.改正下列程序中不正確的語句。

main()

{intn;

floats=1.0;

for(n=10;n>l;n--)

s=s+l/n;

printf("%6.1f\n”,s);)

4.寫出下列程序的運行結(jié)果。

main()

{intn;

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

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

Printf("%d”,n);))

5.寫出下列程序的運行結(jié)果。

#include“sldio.h"

main()

{int={123,-4,5};

intm,n,*p;

p=&a[O];p=&a[O];

m=*(p+2);

n=*(p+4);

printf(u%d%d%dM,*p,m,n);)

五.編程序

1.編程計算下列表達式:s=l!+2!+3!+4!+……+10!

2.從鍵盤I:輸入a與n的值,計算sum=a+aa+aaa+aaaa+..(共n項)的和。例a=2,n=4,貝ijsum=2+22

+222+2222o

3.求3X3矩陣的主對角線元素之和。

4.從鍵盤上輸入10個數(shù)存入?維數(shù)組中,求這10數(shù)中的最大值與最小值并輸出。

5.從鍵盤上輸入若干個字符存入文件write.txl中,遇到回車鍵輸入結(jié)束。(用“\n”表示回車鍵)

參考答案

?.單項選擇題

1B2B3D4C5D

6C7A8C9D10A

11C12D13B14D15A

16BI7D18B19A20C21C

二.判斷題

N2X3<4X5X6d748、W10X

三、填空

1#號

20

3ch!=’\n'ch>=,0,&&chv='9'

4將變量c中的字符顯示到屏幕ko

5指針變量p為整型

6FILE*fp

712

四、讀出程序。

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

3s=s+1.0/n

4.34

5135

五.編程序

1.

#include"stdio.h"

main()

{longs=O,t=l;

inti;

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

{t=t*i;

s=s+t;

printf(n%ld",s);}

2

#include"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.

#include"stdio.h"

main()

{inta[3][3],ij,s=O;

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(n%d",s);}

4.

#includc"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[O];

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

min=a[i];

printf("%d%dn,max,min):)

5.

#include"stdio.h"

main()

(intc;

FILE*fp;

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

c=getchar();

while(c!=,\n,)

{fputc(c,fp);

c=gctchar():

}

fclose();)

一.單項選擇題

1.運算符的優(yōu)先級最高。

A.[]

B.+=

C.?:

D.++

2.main()

{intn;(n=6*4,n+6),n*2;printf(<tn=%d\n,,,n);)

此程序的輸出結(jié)果是.

A.30

B.24

C.60

D.48

3.若有如下定義,則是對數(shù)組元素的正確的引用。.

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

A.*&a[10]

B.a[ll]

C.*(p+ll)

D.*p*p*p

4.設(shè)整型變量n的值為2,執(zhí)行語句“n+=n-=n*n;”后,n的值是

A.0

B.4

C.-4

D.2

5.各種基本數(shù)據(jù)類型的存貯空間正確的長度排列為

A.Char

C.Char

6.下面的變量說明中是正確的。

A.char:a,b.c;

B.chara;b;c;

C.chara,b,c;

D.chara,b,c

7.表達式y(tǒng)=(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.能正確發(fā)示a和b同時為正或同時為負的邏輯表達式是

A.a>=0llb>=0)&&(a<0llb<0)

B.(a>=0&&b>=0)&&(a<0&&b<0)

C.(a+b>0)&&(a+b<=0)

D.a*b>0

10.C語言中,合法的字符型常數(shù)是o

A.'A'

B."A”

C.65

D.A

11.已有定義intx=3,y=4,z=5;則表達式“!(x+y)+z-l&&y+z/2”的值是一

A.6

B.O

C.2

D.l

12.若變量c為char類型,能正確判斷出c為小寫字母的表達式是

A.,a,<=c<=,z,

B.(c>='a')II(cv='z')

C.('a'v二c)and('z'>=c)

D.(c>='a')&&(c<='z')

13.設(shè)有定義:longx=-123456L;則以下能夠正確輸出變量x值的語句是

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

B.printf(ux=%ld\n'\x)

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

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

14.從循環(huán)體內(nèi)某?層跳出,繼續(xù)執(zhí)行循環(huán)外的語句是:。

A.break語句

B.return語句

C.continue語句

D.空語句。

15.C語言用表示邏輯“真”值。

A.true

B.t或y

C.非零整型值

D.整型值0

16.為了避免嵌套的條件分支語句if—else的二義性,C語言規(guī)定:C程序中的else總是與組成配

對關(guān)系。

A.縮排位置相同的if

B.在其之前未配對的if

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

D.同一行上的if

17.在函數(shù)中默認存儲類型說明符的變量應(yīng)該是存儲類型。

A.內(nèi)部靜態(tài)

B.外部

C.自動

D.寄存器

18.C語言中以只讀方式打開一個文件應(yīng)選擇參數(shù)。

AW

B."w”

C.“rb”

D.“a”

19.設(shè)有數(shù)組定義:chararrayU="student”;則數(shù)組所占的存貯空間為一

A.6個字節(jié)

B.7個字節(jié)

C.8個字節(jié)

D.9個字節(jié)

20.根據(jù)C語言的語法規(guī)則,下列個是不合法標識符。

A.do

B.Name

C.R5

D._exam

二.判斷題

1.C語言源程序文件通過了編譯、連接之后,生成個后綴為.EXE的文件。()

2.在C程序中,函數(shù)既可以嵌套定義,也可以嵌套調(diào)用。()

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

4.表達式0195是?個八進制整數(shù)。()

5continue語句的作用是結(jié)束本次循環(huán)。()

6.Extern變量的生命期是整個程序執(zhí)行期。()

7.C語言中字符串的結(jié)束符是'\0'。()

8.利用fclose函數(shù)關(guān)閉已打開的文件。()。

9.C程序總是從main()函數(shù)的第一條語句開始執(zhí)行的。()

10.數(shù)組名代發(fā)數(shù)組的首地址。()

三.填空

1.C語言的預(yù)處理語句以開頭。

2.表達式7+10>2&&25%5的結(jié)果是。

3.下列程序段是從鍵盤輸入的字符中統(tǒng)計數(shù)字字符的個數(shù),用換行符結(jié)束循環(huán)。

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

While()

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

4.C語言中g(shù)etchar()函數(shù)的功能是________________________________

5.int*p的含義是.

6.定義fp為文件型指針變量的定義方法為。

7.數(shù)組inta[3][3];共定義了個數(shù)組元素。

四、讀程序。

1.改正下列程序中不正確的語句。

main()

{inta;

scanf(u%d,\a);if(a=1)printf(t<One\n,>);)

2.寫出下列程序的運行結(jié)果。

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=1.0;

for(n=10;n>l;n--)

s=s+l/n;

printf(u%6.1f\nn,s);}

4.寫出下列程序的運行結(jié)果。

main()

{intn;

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

{if(n%6==0)break;Printf("%d”,n);}}

5.寫出下列程序的運行結(jié)果。

#include"stdio.h"

Main()

{int叫={1,2,3,45);

intm,n,*p;p=&a[O];m=*(p+l);n=*(p+4);

printf(u%d%d%d”,*p,m,n);)

五.編程

1.編程計算下列表達式:s=n!(n從鍵盤上輸入)

2.輸出1—100之間不能被12整除的數(shù)。

3.從鍵盤上輸出10個整數(shù)存入?維數(shù)組中,按由大到小的順序輸出。

4.從鍵盤上輸入9個數(shù),按3行3列的格式輸出。

5.編程將文件read.txt中的字符讀出顯示到屏幕上。

參考答案

一.單項選擇題

1A2B3D4C5C

6C7C8D9D10A

HD12D13B14A15C

16C17A18A19C20A

二.判斷題

Z2X374X57

6<7<879yl10^

三、填空

1#號

20

3ch!=’\n'ch>='O'&&chv='9'

4從鍵盤上輸入一個字符。

5指針變量p為整型

6FILE*fp

79

四、讀出程序。

1primf(“%d,”,&a);if(a==l)

212

3s=s+1.0/n

4.345

5125

五.編程序

1.

#includc"stdio.h"

main()

{longt=l;

inti;

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

t=t*i;

printf("%ld",t);}

2

#include"stdio.h"

niain()

{inti;

for(i=l;i<=100;i++)

{if(i=0)

continue;

printf("%d”,i);

3.

#includc"stdio.h"

main()

{inti,j,a[10];

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

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

for(i=0;i<9=;i++)

for(j=9;j>i;j-)

if(a|j-l]{t=a|j-l];

a[j-l]=a[j];

a[j]=t;}

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

printf(n%d",a[i]);

4.

#include"stdio.h"

main()

{inta[3][3],ij,s=O;

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++)

printf(t<%d);

primf("\n”);

5.

#includeHstdio.h"

main()

{intc;

FILE*fp;

fp=open("read.txt","r");

c=fgetc(fp);

while(c!=,\n')

(putchar(c);

c=fgetcr(fp);

))

fclose();}

一、填空

1.實型變量的類型說明符有:、O

2.表達式7+8>2&&25%5的結(jié)果是。

3.下列程序段是從鍵盤輸入的字符中統(tǒng)計數(shù)字字符的個數(shù),用換行符結(jié)束循環(huán)。

Intn=0,ch;

Ch=getchar();

While())))

{if()n++;

4.putchar(c)函數(shù)的功能是是是。

5int*p的含義是是是是o

6.C語言中數(shù)組的下標下限為o

7.定義fp為文件型指針變量的定義方法為。

8.數(shù)組inta[3][4];共定義了個數(shù)組元素。

二、單項選擇題

1、下列屬于整型常量的是o

A、12

B、12.0

C、-12.0

D、10E10

2、不屬于字符型常量的是。

AJA'

B、W

C、“A”

D、b'

3、下列表達式為關(guān)系表達式的為。(其中a為一整型變量)

A.3+4*5

B、a=10

C>a>0?a:-a

D、a=l

4、下面不正確的賦值語句是。

A.a=a+1

B、a==b

C、a+=b

D、a=l

5、下列對數(shù)組定義不正確的語句是。

A.intm[5];

B、charb[]={

C、inia[10]={l,6,M};

D、charp[];

6、若有以下定義,則和是對數(shù)組元素的正確引用。

inta[5],*p=a

A.*&a[6]

B、*p+8

C、*(a+2)

D、*p

7、執(zhí)行下列語句后,a的值是。

inta=8;

a+=a-=a*a;

A.-240

B、64

C、112

D、-112

8.指出下面正確的輸入語句()o

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

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

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

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

9.下面的變量說明中正確的是

A.int:a,b,c;

B.inta;b;c;

C.inta,b,c

D.inta,b,c;

10.C語言用()表示邏輯“真”

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論