C語言全部考試系統題庫含答案_第1頁
C語言全部考試系統題庫含答案_第2頁
C語言全部考試系統題庫含答案_第3頁
C語言全部考試系統題庫含答案_第4頁
C語言全部考試系統題庫含答案_第5頁
已閱讀5頁,還剩71頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

C語言考試系統題庫

第一章c語言基礎知識

(c語言概述、算法、數據類型運算符表達式、位運算)

一、判斷題(正確的填A,錯誤的填B)

R1.在C語言中,逗號運算符的優先級最低。(A)

2.在C語言可執行程序的開始執行點是程序中第一個函數。(B)

3.“5ch”是合法的變量名。(B)

4.C語言程序書寫格式自由,一行內可以寫幾個語句,一個語句可以分寫在多

行上。(A)

5.當輸入數據時,必須指明變量的地址,如scanf(飛(A)

N6.表達式i++與++i在任何場合功能完全相同。(B)

7.在賦值表達式中,賦值號左邊的變量和右邊的表達式之值的數據類型可以不

相同。(A)

R8.C語言程序中,語句以逗號結尾。(B)

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

10.a-=7等價于a=a-7o(A)

N11.printf函數中用到格式符%5s,其中數字5表示輸出的字符串占用5列。

如果字符串長度大于5,則輸出按原字符長從左向右全部輸出。(A)

12.如果x>y為真或a<b為真,表達式(x>y)&&(a<b)就為真。(B)

13.C語言程序的變量必須先定義再使用。(A)

14.若a和b是同類型變量,在執行了賦值語句a二b;Eb中的值將放入a中,b

中的值將丟失。(B)

15.程序的執行總是從main函數開始,在程序的最后一個函數中結束。(B)

16.變量的三個屬性是指變量的名字、變量的值和變量在內存中的地址。(A)

17.運算符優先順序:賦值運算符<邏輯運算符<關系運算符<算術運算符(B)

18.對應float類型的變量,也可以用等號“=”進行數值的判斷。(B)

19.表達式:1&&3.14和1&3的值一樣大。(B)

20.為了正確計算表達式既要考慮運算符的優先級,也要考慮其結合性。(A)

21、任何C程序都是從main函數開始和結束;(A)

22.在C程序中,使用分號“;”表示語句的結束。(A)

23.C程序中的必須要有至少一個main的函數,可以有多個。(B)

24.在C程序中,無論是整數還是實數,都能準確無誤的表示。(B)

25.在C程序中,賦值運算符的優先級最低。(B)

26.當輸入數值數據時,對于整型變量只能揄入整型值;對于實型變量只能榆入

實型值。(B)

第1頁共76頁

27.在C程序中,變量可以一邊定義一邊使用。(B)

28.C程序中的注釋部分可有可無,可以省略。(A)

29.字符型變量可以存放多個字符。(B)

30.在對一個C程序進行編譯的過程中,可發現注釋中的拼寫錯誤。(B)

5.在C程序中,無論是整數還是實數,都能被準確無誤地表示。(B)

1.一個C程序的執行是從本程序的main函數開始,到main函數結束。(A)

3.()

4.運算符優先順序:賦值運算符<邏輯運算符<關系運算符<算術運算符(B)

單項選擇題

R1、以下標識符中,不能作為合法的C用戶定義標識符的是:()

A.a3_b3B.voidC._123D.abc

R2、C語言規定:在一個源程序中,main函數的位置()。

A.必須在最后B.必須在系統調用的庫函數的后面。

C.必須在最開始。D.可以任意

R3、下列說法中正確的是()o

A.C程序書寫時,不區分大小寫字母

B.C程序書寫時,一行只能寫一個語句

C.C程序書寫時,一個語句可分成幾行書寫

D.C程序書寫時每行必須有行號

4、?已知ch是字符型變量,下面不正確的賦值語句是()。

A.ch=5+9;B.ch='a+b';C.ch=>\0';D.ch='7'

+'6';

5、?若有定義:inta=7;floatx=2.5,y=4.7;則表達式

x+a%3*(int)(x+y)%2/4的值是()。

A.2.750000B.0.00000C.3.500000D.2.500000

6.已知ch是字符型變量,下面正確的賦值語句是()。

A.ch='123';B.ch='\08';C.ch='\xff';D.ch="\

1.以下標識符中,不能作為合法的C用戶定義標識符的是:O

A)a3_b3B)voidC)_123D)abc

2.C語言中,運算對象必須是整型的運算符是。

A)%B)/C)%和/D)*

7.在C程序中,用表示邏輯值“真

A)1B)非0的數C)非1的數D)大于0的數

N8.設intc=5和inta;a=2+(c+=c,c+8,++c),則a=

A)15B)14C)13D)16

9.C語言中的標識符只能由字母、數字和下劃線三種字符組成,且第一個字符

A)必須為字母或下劃線。B)必須為下劃線。

C)必須為字母D)可以是字母、數字和下劃線中的任一種字符。

10.若變量已正確定義并賦值,表達式不符合C語言語法。

第2頁共76頁

A)a*b/c;B)3.14%2C)2,bD)a/b/c

11.下列說法中正確的是o

A)C程序書寫時,不區分大表達式小寫字母

B)C程序書寫時,一行只能寫一個語句

0C程序書寫時,一個語句可分成幾行書寫

D)C程序書寫時每行必須有行號

12.為表示數學關系x2y?z,正確的C語言表達式是

A)(x>=y)&&(y>=z)B)(x>=y)AND(y>=z)

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

13.不合法的八進制數是

A)0B)028C)077D)01

14、以下不能定義為用戶標識符是

AMainB0CintDsizeof

15.若x=5,y=4則y*=x+5;y的值為()。

A.40B.20CB.15D.30

16、組成C語言程序的基本單位是()o

A)過程??B)子程序

0函數?D)主程序和子程序

17.下列哪個標識符是C語言合法的標識符()o

A)a*bB)-xyz

C)ba2D)5i

N18.若有定義:inta=7;floatx=2.5,y=4.7;則表達式

x+a%3*(int)(x+y)/4的值是()。

A)2.75?B)3.5?

02.5??D)0

19.設intm=1,n=2;則++TF=n的結果是()

A、0B、1C、2D、3

N20.若變量已定義并賦值,下列符合C語法的表達式是:()

A、a:=b+1B、a=b=c+2

C、int18.5%3D、a=a+7=c+b

R(3)在C程序中,設一表達式中包含有int,long,unsigned和char類型的變

量和數據,則表達式最后的運算結果類型是()

A.intB.charC.unsignedD.Iong

R21.C語言中基本的數據類型包括o

A)整型、實型、邏輯型R)整型、實型、字符型

C)整型、字符型、邏輯型D)整型、實型、邏輯型、字符型

N22.若定義x和y為double類型,則表達式:x=2,y=x+5/2的值是

A)4B)4.504.0D)3.0

23.在以下運算符中,優先級最高的運算符是

A)?:B)++C)&&D)+=

第3頁共76頁

24.C語言中基本的數據類型不包括

A)整型B)字符串型

C)字符型D)實型

25.若定義intx=7,y=5,z;則表達式:z=x+5/2*y的值是

A)7B)7.5C)17D)19.5

6.以下說法中正確的是()

A、C語言程序總是從第一個定義的函數開始執行

B、在C語言程序中,要調用的函數必須在main。函數中定義

C、C語言程序總是從main。函數開始執行

D、C語言程序中的main。函數必須放在程序的開始部分

(1)設inta=2,b;則執行b二a&&1;語句后,b的結果是()

A.0B.1C.2D.3

N(2)逗號表達式(a=3*5,a*4),a+15的值是()

A.15B.60C.30D.75

7.若已經定義了一個字符型變量為a,下面哪個表達式的含義跟其余表達式不

同:

A)a!二0B)a!二'\0,C)aD)!a

8.在以下運算符中,優先級最高的運算符是

A),B)[]0&&D)+二

9.在C語言中,邏輯值“真”用表示。

A)trueB)大于。的數C)非0的整數D)非0的數

10.表達式是滿足:當c的值為1、3、5三個數中任意一個時值為“真”,

否則值為“假”的表達式

A)(c=1)||(c=3)||(c=5)B)(c!=1)&&(c!=3)&&(c!=5)

C)(c==1)&&(c==3)&&(c=5)D)(c==1)||(c==3)||(c==5)

1.C語言中,int類型數據占2個字節,則long類型數據占()

A、1個字節B、2個字節C、3個字節D、4個字節

1.下列字符串是合法的標識符的是()o

A、_HJB、9_studentC、IongD>LINE1

2.下列說法中正確的是()o

A、C程序書寫時,不區分大小寫字母

B、C程序書寫時,一行只能寫一個語句

C、C程序書寫時,一個語句可分成幾行書寫

D、C程序書寫時每行必須有行號

3.在C語言中,要求參加運算的數必須是整數的運算符是()o

A、/B、!C、%D、二二

4.C語言中,邏輯“真”等價于()o

A、大于零的數B、大于零的整數

C、非零的數D、非零的整數

第4頁共76頁

6.假設在程序中a,b,c均被定義為整型,并且已賦大于1的值,則下列能正確表

示代數式1/abc的表達式是()。

A、1/a*b*cB、1/(a*b*c)

C、1/a/b/(float)cD、1.0/a/b/c

1.下列合法的字符常量是()o

A、'\084'B、'\x43'C、'ab'D、"\0"

2.在C語言提供的合法的關鍵字是()

A^switchB、cherC、CaseD、sturet

3.若已定義x和y為double類型,則表達式:x=1,y=x+3/2的值是

A、2B、1C、2.0D、2.5

三、程序填空題

1以下程序不用第三個變量實現兩個數對調的操作。

#includ“stdio.h"

main()

(

inta,b;

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

a=<a+b>;(三個字符)

b=<a-b>;(三個字符)

a=a-b;

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

)

2、選擇程序的運行結果。

main()

{intx=1,y=2,z,a,b,c,d;

z=++x||++y;

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

printf("y=%d\n",y);/*輸出結果=2>(三個字符)*/

a=-1;b=-2;c=++a&&b++;

prinlf("b=%d\n",b);/*輸出結果。=-2>(三■個字符)*/}

3以下程序的結果為

main()

(

unsignedinta=3,b=10;

printf("%d\n",a?2|b?1);/*輸出結果<14>*/

第5頁共76頁

printf("%d\nn,a?2&b?1);/*輸出結果<0>*/

1

4若x=3,尸z=4,則下列表達式的值是。

(1)??????(z>=y>=x)?1:0

/*值為<0>*/

(2)??????z>=y&&y>=x

/*值為<1>*/

5已知floatx=4.3,inty;執行語句y=(int)x后,x為<訪》型(填寫小寫

英文字母),且尸<4>(填寫阿拉伯數字);

6裴達式'/d'的值為<1>(填寫阿拉伯數字),'c'&&,d'||!(3+4)的值

為<1>(填寫阿拉伯數字)。

7若x為int類型,則與邏輯表達式“x”等價的表達式是6!二0》,與邏輯表達

式“!x”等價的表達式是<x=0>。

8表示“整數x的值大于5”時邏輯值為“真”的表達式是<x>5>,邏輯值為“假”

的表達式是<x<=5>

9已知字母A的ASCII碼為十進制數65,且設ch為字符型變量,則表達式ch二

'A'-'4'+H的值為<'F'>(一個字符常量);若定義:charc='\72';

則變量c中包含的字符個數為<1>(數字)。

10、C語言所提供的基本數據類型的整型類型包括:<短整型)、整型、<長整型>。

(按每種類型所占字節數,從小到大排列)

第二章C語言程序結構

(順序程序設計、選擇結構程序設計、循環控制)

一、判斷題(正確的填A,錯誤的填B)

1.do-while語句中的條件為非0時,就結束該循環。(B)

2.在switch-case語句中,不是每個case后都要使用nreak語句。(A)

3.Break語句只能用于循環結構中。(B?)

48.未給變量賦初值,只是運行結果不正確,不會有其他不良影響。(B)

5、switch語句中,可以不使用break語句:(A)

6、for語句中,三個表達式都可以省略;(A)

7(7)在for循環中使用break語句的目的是使流程跳出循環體,終止當前循環

(A)

8.continue語句只能,用于循環語句中。(A)

9.while語句中的條件為0時,就結束該循環。(A)

10.在循環體內使用break語句或continue語句的作用相同。(B)

在C語言中,邏輯值“真”用表示。

11)112)大于。的數13)非0的整數14)非0的數

在循環語句的循環體中,continue語句的作用是()。

第6頁共76頁

15)立即終止整個循環16)繼續執行continue語句之后的循環體

17)結束本次循環18)結束本次循環并跳出循環

語句whiIe(!e);中,條件!e等價于()

19.e==020.e!=021.e!=122.e==1

設intc=5和inta;a=2+(c+=c++,c+8,++c),貝Ia=

23)1524)1425)1326)16

若要表示if(a不等于0)這一關系式,則能正確表示這一關系的表達式為if()

27)a<>028)!a29)a=030)a

單項選擇題

N1、以下不是死循環的語句是

for(;;x+i);

while(1)(x++;}

for(i=10;;i--)sum+-i;

for(;(c=getchar0)!=<\n,;)printf(a%cw,c);

2.設有程序段

intk=10;

while(k=0)k=k-1

以下描述正確的是()o

A.循環體語句一次也不執行。B.循環是無限循以。

C.while循環語句執行十次。D.循環體語句執行一次。

3.對下述程序,正確的判斷是

main()

{inta,b;

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

if(a>b)a=b;b=a;

eIsea++;b++;

printf(w%d,%d",a,h);

)

A.有語法錯誤不能通過編譯B.若輸入4,5則輸出5,6

C.若輸入5,4則輸出4,5D.若輸入5,4則輸出5,5

R4.以下程序

main()

(

inti=010,j=10,k=0x10;

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

}有語法錯誤不能通過編譯

輸出結果是()

A.8,10,16B.8,W,10C.10,10,10D,10,10,16

R5.若變量已正確說明為int類型,要給a,b,c輸入數據,以下語句正確的是

A)read(a,b,c);B)scanf(“%d%d%d”,a,b,c);

0scanf(“%D%D%D”,&a,%b,%c);D)scanf("%d%d%d",&a,&b,&c);

第7頁共76頁

R6.已知在ASCII字符集中,數孑0的序號為48,下面程序的輸出結果為

main()

charx,y;

x=fO';y二'9';

pirntf(<4%d,%d\nM,x,y);

)

A)因輸出格式不合法,輸出錯誤信息B)48,57

00.9D)48,58

7.語句for(k=0:k<5;++k)

if(k==3)continue:

printfk);

}的輸出結果為

A)012B)0124C)01234D)沒有輸出結果

8.為表示關系x>=y>=z,應使用C語言表達式O

A)(y<=x)&&(y>=z)B)(x>=y)AND(y>=z)

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

6.若變量已正確定義,語句“if(a>b)k=0;elsek=1;”和,等

價。

A、k=(a>b)?1:0;B、k=a>b;

C、k=a<=b;D、a<=b?0:1;

9.以下程序的輸出結果是.

voidmain()

inta=2,b=5;

printf(“a二%%%d,b二%%%d",a,b);

)

A)a=%2,b=%5B)a=2,b二5

C)a=%%d,b=%%dD)a二%d,b二%d

N10.以下程序的輸出結果是

voidmain()

{intx=10,y=10;

printf(u%d%d\nM,x—,-y);

)

A)1010B)99C)910D)109

11.若要表示if(a不等于0)這一關系式,則能正確表示這一關系的表達式為

if()

第8頁共76頁

A)a<>0B)!a0a=0D)a

R12對于循環語句whiIe(1);下面()是正確的

A、死循環B、循環一次

C、不進入循環體D、編譯有錯

13.下面程序的輸出是(假設int數據是2個字節)

voidmain()

{inta=32768;

printf(ua=%d\nv,a);

)

A)a=32768B)a=32767C)a=-32768D)a=-1

14.表達式是滿足:當c的值為1、3、5三個數中任意一個時值為“真”,

否則值為“假”的表達式

A)(c=1)||(c=3)||(c=5)B)(c!=1)&&(c!=3)&&(c!=5)

C)(c==1)&&(c-3)&&(c=5)D)(c=1)11(c=3)11(c=5)

N15.以下程序段的揄出結果是

intx=3;

do

(printf("%3d",x-=2;)

while(!(—x));

A)1B)30

C)1-2D)死循環

16、數字字符0的ASCII值為48,若有以下程序

main()

(

chara='1,,b=,2,;

printf("%c,",b++);

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

1

程序運行后的輸出結果是

A3,2B50,2C2,2D2,50

17、有以下程序

main()

(

inta,b,d=25;

a=d/10&(-1);

b=a&&(-1);

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

1

程序運行后的輸出結果是

A6,1B2,1C6,0D2,0

第9頁共76頁

18.若定義floata;現要從鍵盤輸入a的數據,其整數位為3位,小數位為2

位,則選用()o

A)scanf(M%f",&a);?B)scanf("%5.2f",a);

0scanf("%6.2f",&a);?D)scanf(H%f",a);

19.若定義inti;則以下循環語句的循環執行次數是()。

for(i=2;i=0;)

printf("%d",i—);

A)無限次B)0次

C)1次D)2次

20.下面程序段

x=3;

do

1

y=x—;

if(!y){printf("x");continue;)

printf("#");

1

while(1<=x<=2);

A)將輸出##B)將輸出##*

C)是死循環D)含有不合法的控制表達式

21.以下程序中,whiIe循環的循環次數是()。

#incIude“stdio.h"

main()

{inti=0;

while(i<10)

{if(i<1)continue;

if(i==5)break;

i++;

)

)

A、1B、10C、6D、死循環,不能確定次數

N22.有以下程序:

#incIudeastdio.h"

inta=3;

main()

第10頁共76頁

ints=0;

inta=5;

s+=a++;

)

s+=a++;printf("%d\n",s);

)

程序運行后的輸出結果是()o

A、8B、10C、7D、11

23(4)下面程序段的運行結果是()

main()

{inta=11,b=10,c=0;

a/=b+(b&&c);

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

A.0B.1C.1.1D.11

24(5)兩次運行下面程序,如果從鍵盤上分別輸入6和4,則程序的輸出結果

是()

main()

{intx;

scanf(,z%d,/,&x);

if(x++>5)printf(*%d〃,x);

eIseprintf(,z%d\n,z,x-1);)

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

(6)語句whiIe(!e);中,條件!e等價于()

A.e=0B.e!=0C.e!=1D.e==0

R25下面程序的輸出是

main()

intk=11;

printf("k=%d,k=%o,k=%x\n",k,k,k);

A)k=11,k=12,k=13B)k=11,k=13,k=13

0k=11,k=013,k=oXbD)k=11,k=13,k=b

26(7)下面程序的運行結果是(

main()

[inti=1,sum=0;

lop:sum=sum+i;

i=i+2;

if(i<6)gotolop;

第11頁共76頁

printf(〃sum=%d\n,/,sum);)

A.sum=4B.sum=9C.sum=16D.sum=25

27.以下程序的揄出結果是

voidmain()(

inta=2,b=5;

printf(Ma=%%%d,b=%%%d",a,b);

)

A)a=%2,b=%5B)a=2,b二5

C)a=%%d,b=%%dD)a=%d,b=%d

28執行下面的程序后,a的值為

main()

{inta,b;

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

(

if(b>=20)break;

if(b%3=1)

{b+=3;continue;}

b-=5;

)

)

A)7B)8

C)9D)10

29

30.下面的程序會()

main()

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

if(x=y+z)printf("****”);

eIseprintf("####”);

)

A、有語法錯誤不能通過編譯B、揄出****

C、可以通過編譯,但不能通過連接,因而不能運行D、揄出####

4.以下程序的輸出結果是()

main。

{intx=10,y=10,i;

for(i=0;x>8;y=++i)

printf(**%d%d”,x一,y);

第12頁共76頁

)

A.10192B、9876C,10990D,101091

1.下面程序的揄出是

main()

(

intk=11;

printf("k=%d,k=%o,k=%x\n",k,k,k);

)

A)k=11,k=12,k=13B)k=11,k=13,k=13

0k=11,k=013,k=oXbD)k=11,k=13,k=b

2.兩次運行下面的程序,如果從鍵盤上分別輸入6和4,則輸出結果是

main()

(

intx;

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

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

eIseprintf("%d\n",x-);

1

A)7^5D)6^3

C)7和4D)6和4

3.讀程序

#includeMstdio.h"

main()

(inta;floatb,c;

scanf("%2d%3f%4f",&a,&b,&c);

printf("\na=%d,b=%f,c=%f\n",a,b,c);

1

A)a=98,b=765,c=4321

B)a二1,b=432,c=8765

C)a=98,b=765.000000,c=4321.000000

D)a=98,b=765.0,c=4321.0

5.下面程序的輸出是

main()

(intx=3,y=6,a=0;

while(x++!=(y-=1))

(

a+=1;

if(y<x)break;

)

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

)

A)x=4,y=4,a=1B)x=5,y=5,a=1

C)x=5,y=4,a=3D)x=5,y=4,a=1

第13頁共76頁

6.

7.

8.

8.

三、程序填空題

F1.以下程序可判斷揄入的一個整數是否能被3或7整除,若能整除,揄出“yes”,

否則輸出“no”。請填空。

#incIude“stdio.h"

voidmain()

(

intk;

printf(uEnteraintnumber:");

scanf(“*d",<&k>);

if?k%3=0||k%7==0?

printf("yes'n");

eIse

printf(ano\n");

)

N2.下面程序的功能是計算1-3+5-7+?……7-99+101的值。

main()

(

?int?i,t=1,s=0;

for(i=1;i<=101;i+=2;

(?

?t=<t*i>;

s=s+t;

)

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

)

F3.下面程序的功能是從鍵盤上輸入若干學生的學習成績,統計并輸出最高成績

和最低成績,當輸入為負數時結束輸入。

main()

{?float?x,amax,amin;

scanf;

amax=x;

amin=x;

while?x>=0?

{?if(x>amax)?amax=x:?

if?x<amin??amin=x;

scanf("%f",&x);

第14頁共76頁

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

)

F4.下面程序的功能是計算100至1000之間有多少個數其各位數字之和是5。

#include"stdio.h”

voidmainO

(

inti,s,k,count=0;

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

(

s=0;

k=i;

whiIe(k)

(

s=s+k%10;

k=<k/10>;

)

if?s=5?count++;

)

printf(w,count);

)

F5下列程序功能是求數組中主對角線元素之和,請補充完成

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+=a[i][j];

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

I

R6.下面程序的功能是:輸入一個字符,如果它是一個大寫字母,則把它變

成小寫字母,如果它是一個小寫字母,則把它變成大寫字母,其它字符不變,請

將程序補充完整:

main()

第15頁共76頁

(charch;

scanf("%c",&ch);

if(ch>='A'&&ch<二'Z')ch=ch+32;

elseif?ch>=,a'&&ch<二'z'?

<ch=ch-32>;

printf("%c”,ch);

)

R7.請將用戶輸入的x,y,z三個整數按照從小到大的順序排列

main()

(

intx,y,z,t;

scanf("%d,%d,%d",&x,&y,&z);

if(x>y)

{t=y;y=x;x=t;}

if?x>z?

(t=Z;Z=X;X=t;}

if?y>z?

(t=y;y=z;z=t;}

printt("smaIItobig:%d,%d,%d\n",x,y,z);

)

F8.以下程序從讀入的整數數據中,統計大于零的整數個數和小于零的整數個

數。用輸入零來結束輸入,程序中用i統計大于零的個數,用變量j統計小于零

的整數。請填空。

voidmain()

(intn,i,j;

i=0;j=0;

printf(uEnterINTnumbers,with0toend\n");

scanf("%d”,&n);

while(<n!=0>)

{if(n>0)i=i++;

if(n<0)j=j++;

<scanf("%d”,&n)〉;

1

printf(“i二%4dj=%4d\nw,i,j);

)

F9.以下程序用“輟轉相除法”來求出兩個正整數的最大公約數。請填空。若

兩個數分別放在m和n中,求最大公約數的算法如下:

z1X

\f/)將兩數中最大的那個放在m中,小的放在n中。

(/2

\求出m被n除后的余數r。

f73

\若余數為0則執行步驟(7);否則執行步驟(4)。

/4

xl把除數作為新的破除數;把余數作為新的除數。

(z5)\

\z求出新的余數r

z6\0

\(/J重復步驟⑶到⑸。

第I6頁共76頁

(7)輸出n,n即為最大公約數。

voidmain()

{intr,m,n;

printf(Enterm,n:w;

scanf(“%d%d”,<&m,&n>);

printf("m=%dn=%d\nw,m,n);

if(m<n)

{r=m;m=n;n=r;}

r=<m/n>;

whiIe(r!=0)

{m=n,n=r,r=m;}

printf(“

)

R10.以下程序可判斷輸入的一個字符是否為小寫字母,如果是,則轉換為對應

的大寫字母并輸出;否則,就原樣輸出。請填空。

#include“stdio.h"

voidmain()

{chark;

printf(MEnteracharacterhere:w;

scanf(a%cf,,<&k?;

if?k>=,a'&&k<='zf?

printf(“比\n”,k-32);

eIse

printf("%c\n",k);

)

1.程序打印如下形式的圖杉

*

**

***

****

main()

{for(inti=1;i<=4;i++)

{for(inti=1;?j<=i;i-H-)

1

1

2,充下列程序,找出10—200之間的全部素數

第17頁共76頁

#include"math,h”

main()

{intm,k,i,n=0;

for(m=101;m<=200;m=m+2)

(

k=sqrt(m);

for(i=2;(6)i<=k;i++)

if((7)m%i=0)break;

if((8)i>k)

{printf("%d",m);

n=n+1;}

if(n%10=0)printf("\n”);

)

printf(“\n”);

)

第三章數組(正確的填A,錯誤的填B)

一、判斷題

1.字符串“girl"大于字符串“good”。(B)

2.C語言中有字符串變量,與字符數組等價。(B)

R3.同一數組可以存儲不同類型的值。(?B)

N4.若有:inta[2][3];則a+1和a[1]的值以及類型都一樣。(B)

R5.字符'\0'的值就是0。(A)

6.C語言中是用字符串變量來存放字符串。(B)

7.表達式sizeof(Rabcw)的值是4。(B)A

N8.同數組的名字一樣,函數的名字也是一種指針。(A)

9、C語言中在定義數組時,一個數組的數組元素的數據類型可以不相同;(B)

10、chara[10];a[10]=9;上述語句編譯不會出錯:(A)B

R11.數組元素的下標是從1開始標號的。(B)

N12.若a為一維數組名,則*(a+i)與a[i]等價。(A)

13.循環語句中的continue語句的作用是結束整個循環。(B)

14.字符串"That"小于字符串"the"。(A)

15.字符個數多的字符串比字符個數少的字符串大。(B)

有以下語句:intb;charc[10]則正確的輸入語句是

16)scanf("%d%s",&b,&c);17)scanf("%d%s",&b,c);

第18頁共76頁

18)scanf("%d%s",b,c);19)scanf("%d%s",b,&c);

已有定義:chara[]="xyz",b[]={'x'?'y','z');,以下敘述中正確的是

20數組a和b的長度相同21a數組長度小于b數組長度

22a數組長度大于b數組長度

設有數組定義:chararray口="China”;則數組array所占的存貯空間為個

字節.

234245256267

若定義intx[10];W)TurboC編譯系統為該數組分配個字節存儲單元。

27.1028.1129.2030.21

二、單項選擇題

R1、對兩個數組a和b進行如下初始化

chara[]="ABCDEF";

charb[]={,A-B,J(T,D,JE\?};

則以下敘述正確的是()

A)a與b數組完全相同B)a與b長度相同?

C)a和b中都存放字符串D)a數組比b數組長度長

R2.若有說明:int式3][捫;則對a數組元素的正確引用是()

A.a[2][4]B.a[1,3]C.a[1+1][0]

D.a(2)(1)

R3.合法的數組定義是()

A、inta[]="string";B、inta[5]={0,1,2,3,4,5};

C、vhsts="string";D、chara[]={0,1,2,3,4,5};

4.以下正確的聲明是(Jo

A.inta[1][4]={1,2,3,4,5);B.floatx[3][]={{1},{2),(3});

C.longb[2][3]={(1),(1,2),{1,2,31);D.doubley[][3]={0);

5下列語句的執行結果是()o

staticcharstr[10]={<,china,>);

printf(a%dw,strlen(str));

A.10B.6C.5D.0

R6、以下能正確定義一維數組的選項是

Ainta[5]={0,1,2,3,4,51;

溫馨提示

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

評論

0/150

提交評論