C語言期末考試試題及詳細(xì)答案_第1頁
C語言期末考試試題及詳細(xì)答案_第2頁
C語言期末考試試題及詳細(xì)答案_第3頁
C語言期末考試試題及詳細(xì)答案_第4頁
C語言期末考試試題及詳細(xì)答案_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

選擇練習(xí)題

1、C語言中最簡單的數(shù)據(jù)類型包括(B)。

A、整型,實(shí)型,邏輯型B、整型,實(shí)型,字符型

C、整型,字符型,邏輯型D、整型,實(shí)型,邏輯型,字符型

2、C語言中,運(yùn)算對象必須是整型數(shù)的運(yùn)算符是(A)o

A,%B、/C、%和/D、*

3、為表示關(guān)系xVyVz,應(yīng)使用C語言表達(dá)式(A)。

A^(x<y)&&(yVz)B、(x<y)AND(y<z)

C、(xVyVz)D、(x<y)&(y<z)

4、C語言程序的基本單位是(C)o

A、程序行B、語句C、函數(shù)D、字符

5、C語言的程序一行寫不下時(shí),可以(D)o

A、用逗號換行B、用分號換行

C、用回車符換行D、在任意一空格處換行

6、下述標(biāo)識符中,(C)是合法的用戶標(biāo)識符。標(biāo)識符由字母,數(shù)字和下劃線

A、A&BB、voidC、_studentD、ab*組成且第一個(gè)字符必須為字母

7、在C語言中,字符型數(shù)據(jù)在內(nèi)存中以(B)形式存放

A、補(bǔ)碼B、ASCH碼C、反碼D、原碼

8、一個(gè)程序由若干文件組成,共用同一變量,則此變量的存儲類別應(yīng)該為(B)。

A、autoB、externC、staticD、Register

auto自動變量

9、以下關(guān)于switch語句和break語句的描述中,只有(B)是正彳register寄存器變量

A、在switch語句中必須使用break語句extern外部變量

B、在switch語句中,可以根據(jù)需要使用或不使用break語句static靜態(tài)變量

C、break語句只能用于switch語句中

D、break語句是switch語句的一部分

10、C語言規(guī)定:調(diào)用一個(gè)函數(shù)時(shí),實(shí)參變量和形參變量之間的數(shù)據(jù)傳遞是(B)o

A、地址傳遞B、值傳遞

C、由實(shí)參傳給形參,并由形參傳回給實(shí)參D、由用戶指定傳遞方式

11、下述C語言轉(zhuǎn)義符中(D)是非法的。

A、''b'B、''037'C、'\0xf'D、

12、為了要計(jì)算s=10!(10的階乘),則以下對s的定義正確的是(D)。

A、intsB、unsignedsC、shortsD、longs

13、判斷變量ch中的字符是否為大寫字母,最簡單的正確表達(dá)式是(A)。

A、ch>='A'&&ch<='z'B、A<=ch<=Z

C、'A'V=chV='z'D、ch>=A&&ch<=z

14、在C語言中,能表示無符號長整型常數(shù)的是(D)o

僅供個(gè)人學(xué)習(xí)參考

A、OLB、4962710UC、912374uD、2UL

15、能正確表示C語言的字符常量的是(C)o

A、'\0x41'B、''A''C、''0'D、

16、C語言中邏輯表達(dá)式的值為(A)o

A、0或IB、非零值或零值C、true或falseD、'true'或'false'

17、C語言提供的基本數(shù)據(jù)類型關(guān)鍵字是(C)o

A、integerB、FLOATC、unsignedD、Double

18、若定義語句:intb[]={1,2,3,4,5),*P=b;則表達(dá)式*p++的值是(A)。

A、IB、2C、b[0]的地址D、b[l]的地址

19、在下列選項(xiàng)中,不正確的表達(dá)式是(C)?

A、a>bB、c—,++b,a+=lC、a=c+b>n-m=kD、p++

20、若有以下定義:

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

charcl=,b',c2-2,;

則數(shù)值不為2的表達(dá)式是(D)o

A、a[l]B、'd'-clC、a['3'-c2]D、c2-0

25、下述對C語言字符數(shù)組的描述中轉(zhuǎn)送的是(C)o

A、字符數(shù)組可以存放字符串

B、字符數(shù)組中的字符串可以整體輸入、輸出

C、可以在賦值語句中通過賦值運(yùn)算符"="對字符數(shù)組整體賦值

D、不可以用關(guān)系運(yùn)算符對字符組中的字符串進(jìn)行比較

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

main()

{inti=010,j=10,k=oxl0;

printf(''%d,%d,%d\n'',i,j,k);

}

A、8,10,16B、8,10,10C、10,10,10D>10,10,16

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

#include<stdio.h>

main()

{printf(''%d\n'',NULL);)

A、不確定的值(因變量無定義)B、0C、-ID.1

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

main()

(charcl='6',c2='O';

printf(''%d,%d,%d\n'',cl,c2,cl-c2);

}

僅供個(gè)人學(xué)習(xí)參考

A、因輸出格式不合法,輸出出錯(cuò)信息B、54,48,6

C、6.0,7D^6,0,6

32、下述對C語言字符數(shù)組的描述中錯(cuò)誤的是(C)o

A、字符數(shù)組可以存放字符串

B、字符數(shù)組中的字符串可以整體輸入、輸出

C、可以在賦值語句中通過賦值運(yùn)算符'對字符數(shù)組整體賦值

D、不可以用關(guān)系運(yùn)算符對字符組中的字符串進(jìn)行比較

33、TurboC中,對于以下程序(A)。

main()

{intx,y;

y=creat(&x);

printfC'%d\n'',y);

}

creat(inta)

{returna++;}

A、編譯時(shí)會給出錯(cuò)信息

B、順利進(jìn)行編譯、連接、執(zhí)行;不報(bào)任何錯(cuò)誤

C、順利通過編譯、連接、但不能執(zhí)行

D、順利通過編譯,但連接出錯(cuò)

34、設(shè)有如下定義:

intx=10,y=4,z;

則語句:

printf(",%d\n'',z=(x%y,x/y));

的輸出結(jié)果是(C)o

A、IB,0C、2D、3

35、下述程序段的輸出結(jié)果是(D)o

main()

{intx=10,y=10;

printfC,%d,%d\n'',x++,++y);

}

A、10,10B、11,11C、11,10D、10,11

36、定義如下變量和數(shù)組:

intj;

intx[3][3]={1,2,3,4,5,6,7,8,9);

則下面語句的輸出結(jié)果是(C)o

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

printfC'%d'',x[i][2-i]);

A、159B、147C、357D、369

37、若要求在if后一對圓括號中表示a不等于0的關(guān)系,則不能正確表示這一關(guān)系的表達(dá)式為(C)。

A、aO0B>!aC、a=OD、a

38、若m,y,z均為int型變量,則執(zhí)行下面語句后m值是(A)。

m=l;x=2;y=3;z=4;

m=(m<x)?m:x;

m=(m<y)?m:y;

m=(m<z)?m:z;

A、IB、2C、3D、4

39、若有定義:inta=7;floatx=2.5,y=4.7,則表達(dá)式x+a%3*(int)(x+y)%2/4的值是(A)。

A、2.500000B,2.750000C,3.500000D,0.000000

40、如下說法不正確的是(C)o

A、c>a+b等效于c>(a+b)

B、若a,b均為真,則a||b為真

C、表達(dá)式'c'&&'d'的值為0

D、邏輯運(yùn)算符!比邏輯運(yùn)算符||的優(yōu)先級高

41、putchar()函數(shù)可以向終端輸出一個(gè)(B)。

A、整型變量表達(dá)式值B、字符

C、字符串D、實(shí)型變量值

42、表達(dá)式18/4*sqrt(4.0)/8值的數(shù)據(jù)類型為(C)。

A、intB、floatCsdoubleD、不確定

43、若已定義a為整型變量:

a=-2L;

printf(''%d\n'',a);

則以上語句(B)?

A、賦值不合法B、輸出值為-2C、輸出為不確定值D、輸出值為2

45、若int類型數(shù)據(jù)占兩個(gè)字節(jié),則以下語句的輸出為(D)。

intk=-l;

printfC,%d,%u\n,),k,k);

A、-1,-IB,-1,32767C.T,32768D、-1,65535

46、已知字母a的ASCH碼十進(jìn)制值為97,則執(zhí)行以下語句后的輸出為(C)。yhg

chara='a;

a-;

printf(''%d,%c\n'',a+'2'O',a+'3"O');

A、b,cB、a一運(yùn)算不合法,故有語法錯(cuò)

C、98,cD、格式描述和輸出項(xiàng)不匹配,輸出無定值

47、下面語句中(B)是C語言的正確賦值語句。

僅供個(gè)人學(xué)習(xí)參考

A、a=l,b=2B、I++;C>a=b=5D、y=int(x);

48、設(shè)有以下說明語句A中聲明變量并初始化時(shí):inta=1,b=5;但

structstu是,只賦值時(shí)是不能這樣寫的,應(yīng)該寫成

{inta;a=1;b=2;C無分號,不是完整的語句,D

floatb;中x沒有定義,如果是

}stutype;

則下面的敘述不正確的是(C)o

A、struct是結(jié)構(gòu)體類型的關(guān)鍵字B、structstu是用戶定義的結(jié)構(gòu)體類型

C、stutype是用戶定義的結(jié)構(gòu)體類型名D、a和b都是結(jié)構(gòu)體成員名

49、能正確表示:當(dāng)x的取值范圍在[1,10]或[100,110]內(nèi)為真,否則為假的表達(dá)式是(C)o

A、(x>=l)&&(x<=10)&&(x>=100)&&(x<=110)

B、(x>=l)|(x<=10)||(x>=100)I|(x<=110)

C、(x>=l)&&(x<=10)||(x>=100)&&(x<=110)

D>(x>=l))(x<=10)&&(x>=100)&&(x<=110)

50、設(shè)n為整型變量,則循環(huán)語句牝野叩眩^^^十7的循環(huán)次數(shù)為(A)o

A、10B>9C、11D.12

51、在對文件進(jìn)行操作時(shí),若要求文件的位置指針回到文件的開頭,則應(yīng)當(dāng)調(diào)用的庫函數(shù)是(D)o

A、fopen()B,fseek()C>fclose()D>rewind()

52、下列哪個(gè)數(shù)組定義是正確的(D)o

A、inta[5.5];B、INTa[10];C>inta[n];D>inta[3+2];

53、一個(gè)變量的指針就是(A)?

A、變量的地址B、變量的值C、變量的名稱D、變量的類型

55、下列正確的說法是(C)o

A、宏替換是在程序運(yùn)行時(shí)進(jìn)行的

B、函數(shù)調(diào)用是在程序編譯時(shí)進(jìn)行的

C、宏替換時(shí),如果實(shí)參是表達(dá)式,應(yīng)先求表達(dá)式的值,再替換

D、函數(shù)調(diào)用時(shí),如果實(shí)參是表達(dá)式,應(yīng)先求表達(dá)式的值,再替換

56、對于數(shù)學(xué)式4/2a,下面正確的C語言表達(dá)式是(D)o

A、sqr(x)/2aB、sqr(x)/2*aC、sqrt(x)/(2*a)D、sqrt(x)/2*a

57、若int類型數(shù)據(jù)占2字節(jié),則以下語句的輸出為(D)o

intk=32768;

printfC'%d,%u\n'',k,k);

A、-1,65535B,-1,32767C.T,-1,D、-32768,32768

59、下面程序中(B)有錯(cuò)誤。

1)#include<stdio.h>

2)main()

3){

4)inta[3]={0,0,0};

5)inti;

6)for(i=0;i<3;i++)scanf(''%D'',&a[i]);

7)for(i=l;i<3;i++)a[0]=a[0]+a[i];

8)printf,%d\n'',a[0];}

A、第4行B、第6行C、第7行D、第8行

60、下面程序的運(yùn)行結(jié)果(C)。

main()

{unsigneda=3,b=10;5

printf(''%d\n''a<<2|b>>l=;

)

A、3B、10C、13D、14

61、已定義x為float型變量。

x=213.82631;%m.nd表示最大場寬m,小數(shù)位為n位,整數(shù)位則

Printf(''%-4.2f\n'',x);

為m-n-1位,夠m位右對齊。%-m.nf可以控制輸

則以上程序(A)o

A、輸出格式描述符的域?qū)挷粔?,不能輸出B、輸出為213.83

C、輸出為213.82D、輸出為-213.82

62、設(shè)已定義整型變量K,則下面的程序輸出為(D)o

k=017;s=lll;

printf('"d'',++k);

printfC'%x\n'),s++);

A、156fB、1670C、1571D、166f

63、不能正確表示a*b/c*d的C語言表達(dá)式是(C)?

A、a*b/c*dB、a/(c*d)*bC、a*b/c/dD、a*b/(c*d)

64、下列(C)表達(dá)式不滿足;當(dāng)x的值為偶數(shù)時(shí)值為“真”,為奇數(shù)時(shí)值為“假”。

A、x%2==0B、!x%2!=0C,x/2*2-x==0D、!(x%2)

65、設(shè)已定義k為int型變量,則下面while循環(huán)執(zhí)行(C)次。

k=10;

while(k=0)k=-l;

A、執(zhí)行10次B、無限循環(huán)C、一次也不執(zhí)行D、執(zhí)行一次

67、用高級語言編寫的程序稱之為(A)。

A、源程序B、目標(biāo)程序C、匯編程序D、命令程序

69、有以下程序的輸出結(jié)果為(B)o

main()

{chara=0x95,b,c;

b=(a&0xf)<<4;

僅供個(gè)人學(xué)習(xí)參考

c=(a&0xf0)>>4;

a=b|c;

printf(''%x\n,',a);

)

A、24B、59C、34D、56

70、下述程序段的輸出結(jié)果是(A)o

inta=3;b=4;

intc=ab>>3;

printf(''%d'',c)

A、3B、4C、5D、6

73、設(shè)int型變量在內(nèi)存中占用兩個(gè)字節(jié)存儲單元,定義如下結(jié)構(gòu)體:

structstudent

{charname[10];

charsex;

intage;

struct

{intyear;

intmonth;

intday;

}birth;

}stul;

則表達(dá)式sizeof(stul)的值是()o

A、5B、8C、2D、26

75、下述程序段的運(yùn)行結(jié)果是(B)o

#include<stdio.h>

main()

{intm=7,n=4;

floata=38.4,b=0.4,x;

x=m/2+n*a/b+l/2;

printf;

}

A、22B、387.000000C>27D、26

76、下面程序的運(yùn)行結(jié)果是(C)o

main()

{intcl=2,c2=0;

while(!c2一)

printf(',%d%d,',cl--,c2);

A、陷入死循環(huán)B、不輸出任何內(nèi)容

C、輸出2-1D、輸出20

77、下面程序的運(yùn)行結(jié)果是(B)。

intm=4,n=6;

max(intx,inty)

{intmax;

max=x>y?x:y;

return(max);

)

main()

{intm=10;

printf(''%d\n,',max(m,n));

)

A、4B、IOC、6D、5

78、下面程序的運(yùn)行結(jié)果是(B)o

fun(intp)

{intk=l;

statict=2;

k=k+l;

t=t+l;

return(p*k*t);

)

main()

{intx=4;

fun(x);

printfC'%d\n,',fun(x));

)

A、4B、32C、30D、16

79、閱讀下面的程序:

main()

{charch;

scanfC'%c'',&ch);

if(ch>='a'&&ch<=,z,)

ch=ch-32;

printfC'%c',ch);

}

僅供個(gè)人學(xué)習(xí)參考

若輸入字符為:e,則程序運(yùn)行結(jié)果為(A)。

A、EB>AC>eD>z

80、下面程序的運(yùn)行結(jié)果是(B)o

main()

{staticinta[3][3]={{3,2,1},(4,5,6),{-2,9,1}};

inti,j,sum=0;

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

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

{if(i==j)

sum=sum+a[ij[j]];

)

printf(''sum=%d'',sum);

)

A、sum=10B,sum=9C、9D、10

84、下述程序的運(yùn)行結(jié)果是(A)。

#include<stdio.h>

voidfun(intx)

{

putchar('0'+(x%10));

fun(x/10);

)

main()

{

printf(''\n'');

fun(1234);

)

A、4321B、321C>21D、1

86、設(shè)已定義i和k為int類型變量,則以下for循環(huán)語句(B)。

for(i=0,k=-l;;i++,k++)

printfC,****\n',);

A、判斷循環(huán)結(jié)束的條件不合法B、是無限循環(huán)

C、循環(huán)一次也不執(zhí)行D、循環(huán)只執(zhí)行一次

87、下列程序段選擇項(xiàng)中,使i的運(yùn)行結(jié)果為4的程序段是(D)o

A、inti=0,j=O;B>inti=l,j=70;

(i=3,(j++)+i);j=i=((i=3)*2);

C、inti=0,j=l;D>inti=l,j=l;

(j==l)?(i=l):(i=3);i+=j+=2;

89、閱讀以下程序(最左邊是附加的行號)。

1)#include<stdio.h>

2)main()

3){floats[5];

4)inti,k=O;

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

6)scanf(''%d'',s+i);

7)for(i=0;i<5;i++)

8)k=s[i];

9)printfC'\n%f'(float)k);

10)}

此段程序(A)o

A、沒有錯(cuò)誤B、第4行錯(cuò)誤C、第6行錯(cuò)誤D、第9行錯(cuò)誤

90、下列程序中有三個(gè)是完全相同的功能,只有(B)所完成的功能與其他程序不同。

A、s=0;B>s=0;

i=0;i=l;

while(i<=100)while(i++<100)

s+=i++;s+二i;

C、s=0;D>s=0;

i=0;i=0;

while(i<=100)while(++i<=100)

s+=++i;s+=i;

92、執(zhí)行下面的程序后,a的值為(D)o

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、7B、8C、D、10

93、下面的程序中(C)有錯(cuò)誤。

1)#include<stdio.h>

2)main()

僅供個(gè)人學(xué)習(xí)參考

3)

4)floata[3]={0.0};

5)inti;

6)for(i=0;i<3;i++)

7)scanf(''%D'',&a[i]);

8)for(i=l;i<3;i++)a[0]=a[0]+a[i];

9)printf(''%f\n'',a[0]);

)

A、第4行B、第6行C、第7行D、第8行

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

#include<stdio.h>

main()

{inti;

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

{if(i%2)

print",+,,)

else

continue;

print"',')

)

printf(''$\n'');

)

A、$B、-+-+-+$C、+_+_$D、-+-+$

95、下述程序段的輸出結(jié)果是(C)。

intx=3;

do

{printf(''%d'',x-=2);

}while(!(-x));

A、IB、30C、1-2D、死循環(huán)

96、定義如下變量:

intn=10;

則下列循環(huán)的輸出結(jié)果是(A)o

while(n>7)

{n—;

printf(''%d,',n);

}

A、1098B、987C>10987D.9876

100、兩次運(yùn)行下面的程序,如果鍵盤上分別輸入6和4,則輸出結(jié)果是(A)o

mainO

{intx;

scanf(''%d'',&x);

int(x++>5)

printf(''%d\n,',x--);

}

A、7和5B、6和3C、7和4D、6和4

101、運(yùn)行下段程序的結(jié)果是(D)o

#include<stdio.h>

mainO

{intx;

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

if(++x%=0)

if(++x%3=0)

if(++x%5==0)

printf(',%d,',x);

)

A、31,61,91B>30,60,90

C、不輸出任何內(nèi)容D、29,59,89

102、運(yùn)行下述程序段后,i值為4的是(B)o

A、inti=l,j=O;B>inti=l,j=l;

i=j=((i=3)++);i+=i+=2;

C、inti==O,j=O;D>inti=O,j=l;

(i=2,i+(j=2));(j==l)?i+=3:i=2;

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

mainO

{inta=-l,b=4,k;

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

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

}

A、1,0,4B>1,0,3C>0,0,3D、0,0,4

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

main()

{intx=3,y=0,z=0;

if(x=y+z)

printf(''****'');

僅供個(gè)人學(xué)習(xí)參考

else

printf(''####'');

)

A、ID、4

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

intm=13;

intfun2(intx,inty)

{intm=3;

return(x*y-m);

)

main()

{inta=7,b=5;

printfCf%d\n,',fun2(a,b)/m);

)

A、2B、3C、7D、5

112、閱讀程序:

#include<stdio.h>

mainO

{intm,n,w;

scanf(''%d,%d'',&m,&n);

while(n)

{w=m%n;

m=n;

n=w;

)

printf(''%d'',m);

如果輸入10,6,則輸出結(jié)果是(D)o

A、60B、120C>2D、10

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

#include<stdio.h>

f(inta)

{intb=O;

staticc=2;

a=c++,b++;

return(a+b);

mainO

{inta=2,i,k;

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

k=f(a++);

printf('<%d\n'',k);

)

A、3B、OC、4D、5

115、下列程序的運(yùn)行結(jié)果是(B)o

main()

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

inti,j,sum=0;

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

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

if(j>i)

sum+=a[i][j]:

printf(''sum=%d\n'',sum);

)

A、40B、36C、24D、30

120、閱讀下列程序:

main()

{intn[3],i,j,k;

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

n[i]=0;

k=2;

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

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

n[j]=n[i]+l;

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

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

printf'\n'');

)

運(yùn)行該程序,其輸出結(jié)果是(B)o

A、230B、330C、123D、321

123、下述程序段的運(yùn)行結(jié)果是(B)。

main()

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

intb[3][2],i,j;

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

僅供個(gè)人學(xué)習(xí)參考

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

{b[i][j]=a[j][i]+a[i][j]:

printf(''%5d'',b[i][j]);

)

printfC'\n'');

)

)

A、247B、2610C、181410D、1823

210861014141064102

36181014181062742

124、如果程序中有如下的說明和定義:

structs

{intx,y;}

structsx,y;

則會發(fā)生的情況是(A)。

A、編譯出錯(cuò)

B、能順利編譯和鏈接,但不能執(zhí)行

C、程序能順利通過編譯,但是鏈接時(shí)會出錯(cuò)

D、程序能順利編譯,鏈接,執(zhí)行

127、對C語言的文件存取方式的論述中,正確的是文件(C)o

A、只能順序存取

B、只能隨機(jī)存取(也稱直接存取)

C、可以是順序存取,也可以是隨機(jī)存取

D、只能從文件的開頭存取

填空練習(xí)題

1、有以下定義:intx;floaty;執(zhí)行scanf("%3d%f”,&x,&y);時(shí),如果輸入的數(shù)據(jù)為:

]2345678<CR>,則x的值為123,y的值為這個(gè)與12345后有沒有空格有關(guān),到時(shí)候看著辦吧(有

空格就是45.000000)。

2、有定義語句:intx,y,z;,執(zhí)行x=(y=4,z=8,z=16)后,x的值為。。

3、計(jì)算表達(dá)式b=25/3%3后,b的值為2。

4、設(shè)有定義語句intx=l,y=0;,則表達(dá)式x—〉(y+x)?10:12〉y++?'A':'Z'的值是:650

5、請寫出以下語句的輸出結(jié)果%

printfstrlen("\t\"065\xffab'n"));

7、C語言規(guī)定:標(biāo)識符只能由字母、數(shù)字、下劃線三種字符組成。

8、有定義語句:intx=5,y=l;表達(dá)式x&y==y?x|y:x~y的值為g。

9、下述程序段的循環(huán)次數(shù)是Q次,輸出結(jié)果是y=l,x=0。

intx=0,y=0;

do

{y++;

X*二X;

}while(x>0&&y>5)

printf(,,y=%d,x=%d〃,y,x);

10、若m,y,z,均為int型變量,則執(zhí)行下面語句后m值是1

m=l;x=2;y=3;z=4;

m=(m<x)?m:x

m=(m<y)?m:y

m=(m<z)?m:z

11、下述程序段的運(yùn)行結(jié)果是3。

intx,y;

x=17;

y=26;

printf(*%d,z,y/=(x%=6));

12、下列循環(huán)語句執(zhí)行的循環(huán)次數(shù)是:無數(shù)次。

for(a=l,b=l;a<4&站!=4田++)〃循環(huán)體內(nèi)b的值不變。

13、下面程序的輸出是。

#include<stdio.h>

main()

{printf(//%d\n,/,strlen("\nabcc\\\",\\",\041\0xf\t\n"));)

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

inta=3;b=4;

intc=ab>>3;

printf("%d”,c);

17、下述程序段的輸出結(jié)果是1245056。

#include<stdio.h>

voidfun(int*x)

printf(級d",++x):

)

main()

{inty=20;

fun(&y);

)

20、下述程序段的運(yùn)行結(jié)果是比。

#include<stdio.h>

僅供個(gè)人學(xué)習(xí)參考

main()

{inta[3][3]={1,2,3,4,5,6,7,8,9);

ints=O,i;

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

s+=(*(a+i))[i];

printf(〃%d〃,s);

}

21、下述程序的輸出結(jié)果是當(dāng)。

#include<stdio.h>

main()

{intx=8,y=9;

intk;

k=(x++)+(++y);

printfk);

)

22、下述程序的輸出結(jié)果是g。

#include<stdio.h>

intfun(intx)

{staticinta=3;

a+=x;

returna;

)

main()

{intk=2,m=l,n;

n=fun(k);

n=fun(m)

printf(〃%d〃,n);

)

23、用“冒泡法”對輸入的10個(gè)字符按由小到大順序排序,請?zhí)羁铡?/p>

#include<stdio.h>

#include<conio.h>

#definenlO

main()

{inti,j;

charstr[11];

scanf(〃%s〃,str);

chart;

for(j=l;j<n;j++)

for(i=0;(i<n-j)&&(str[i]!=\0();i++)

if(str)

{t=str[i];

str[i]=str[1+1];

str[i+l]=t;

)

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

printf("枇",str[i]);

)

24、把字符數(shù)組中的字符串按反序存放,例如:字符串"ABCD”的輸出結(jié)果應(yīng)為"DCBA”,請?zhí)羁铡?/p>

#include<stdio.h>

#include<conio.h>

#include<string.h>

main()

(

chara[100],t;

printr("輸入字符串:\n");

scanfa);

inti,j;

for(i=0,j=strlen(a);i<strlen(a)/2;i++,j―)

{t=a[i];

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

)

printf(“轉(zhuǎn)換后的字符串是:%s\n",a);

)

27、下面程序的執(zhí)行結(jié)果是ZN。

#include<stdio.h>

main()

{intarray[][3]={{10,20,30},{28,15.-10},{-50,10,60}};

inti,j,row=0,col=0;

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

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

if(array[i][j]>array[row][col])

{row=i;col=j;}

printf(〃%d,%d〃,row,col);

僅供個(gè)人學(xué)習(xí)參考

28、求出1000以內(nèi)能被7或11整除,但不能同時(shí)被7和11整除的數(shù),存放到數(shù)組xx中。請?zhí)羁铡?/p>

main()

inti,j=0;

intxx[1000];

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

if(((i%7=0)||(i%ll=0))&&(!((i%7=0)&&(i%ll==0))))

xx[j++]=I;

printf(〃%d〃,j);

}

29、下面程序的執(zhí)行結(jié)果為:2,000000o

main()

{floatx,y;

x=l/2;

y=2;

printf(〃%f\n〃,x+y);

}

32、程序的功能是求兩個(gè)整數(shù)的最大公約數(shù),請?zhí)羁铡?/p>

main()

{inta=12,b=8,t;

while(b>l)

{t=a%b;

a=b;

b=t;

}

printf("%3d〃,a);

)

35、求下列算式1+1/2+1/3+……+1/100的值,請?zhí)羁铡?/p>

main()

{inti;

floatsum=0;

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

sum+=l/i;

printf(級f\n〃,sum);

36、將輸入的百分制的分?jǐn)?shù)轉(zhuǎn)換為相應(yīng)的等級并輸出,100~90分則為A;89~80分則為B;79~70

分則為C;69?60分則為D;小于60分為E,請?zhí)羁铡?/p>

mainO

{intscore,i;

scanf(〃%d〃,&scorer);

i=score/10;

switch(i)

{caselO:

case9:printf(〃A〃);bresk;

case8:printf(〃B〃);break;

case?:printf(〃C〃);break;

case6:printf(,ZD/Z);break;

default:printf(,ZEZ/);

)

)

38、下面程序是在兩位數(shù)中統(tǒng)計(jì)所有能被3整除的數(shù)的個(gè)數(shù)。

mainO

{inti,num=0;

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

if(i%3=0)

num++;

printfC\nThereare%dnumbers!〃,num);

)

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

mainO

{intx=3;

do

{printfx-=2);

}while(!(-x));

)

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

mainO

{inta=~l,b=4,k;

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

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

}

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

#include<stdio.h>

僅供個(gè)人學(xué)習(xí)參考

f(inta)

{intb=O;

staticc=3;

a=c++,b++;

return(a);

)

main()

{inta=2,i,k;

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

k=f(a++);

printf(級d\n〃,k);

}

46、閱讀程序,請寫出結(jié)果:

mainO

{intx,y;

scanf(〃%d〃,&x)

y=-l;

if(x!=O)

if(x>O)y=l;

elsey=O;

printf(〃尸%d\n〃,y);

)

若運(yùn)行該程序,輸入值為:5<CR>,則輸出結(jié)果為:匕1。

47、閱讀程序,請寫出結(jié)果:

main()

{chare;

intsl=O,s2=0;

do

{swith(c=getchar())

{case'a':

case,e:

case,x,:

case,o':

case,u':sl+=l;

default:s2+=l;

}while(c!=,\n,);

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

)

若輸入數(shù)據(jù)為:computer<CR>,則輸出結(jié)果為:3.9。

48、閱讀程序,請寫出結(jié)果:

main()

{intm,i,k;

scanf("%d",&m);

for(i=2;i<m;i++)

if(m%i==O)break;

if(i>=m)

printf(級d\n”,m);

)

若輸入數(shù)據(jù)為:19<CR>,則輸出結(jié)果為:19o

49、下述程序的運(yùn)行結(jié)果是超1。

#include<stdio.h>

voidfun(intx)

{putchar('O'+(x%10));

fun(x/10);

)

voidmain()

{

printf("\n");

fun(1234);

)

53、求20以內(nèi)3的倍數(shù)和suml及其余數(shù)的和sum2。

main()

{intsum=0,sum2=0,i;

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

if(i%3=0)

suml+=i;

else

sum2+=i;

printf(z/%d,%d\n”,suml,sum2);

)

55、下面函數(shù)把兩字符串si和s2連接起來。

Con(chars1[],chars2[])

{inti=0,j=0;

僅供個(gè)人學(xué)習(xí)參考

while(si[i]!='\0')i++;

while(s2[j]!='\。)si[i++]=s2[j++];

sl[i]八O';

)

57、統(tǒng)計(jì)文件fl.dat中的字符個(gè)數(shù)。

#include<stdio.h>

mainO

{FILE*fp;

longnum=0;

if((fp=fopen(

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論