C語言練習(xí)題及答案1_第1頁
C語言練習(xí)題及答案1_第2頁
C語言練習(xí)題及答案1_第3頁
C語言練習(xí)題及答案1_第4頁
C語言練習(xí)題及答案1_第5頁
已閱讀5頁,還剩69頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

c

"——<.

習(xí)

1

第一章c語言概述

1、所有C函數(shù)的結(jié)構(gòu)都包括的三部分是(C)

A.語句、花括號和函數(shù)體

B.函數(shù)名、語句和函數(shù)體

函數(shù)名、形式參數(shù)和函數(shù)體

D.形式參數(shù)、語句和函數(shù)體

2、C語言中主函數(shù)的個數(shù)是(B)

A.2個B.1個C.任意個D.10個

3、下面可能不影響程序正常運行的是(C)

A.語法錯誤B.邏輯錯誤

C.警告提示D.算法錯誤

4、一個C程序的執(zhí)行是從(A)

A.本程序的main。函數(shù)開始,到main。函數(shù)結(jié)束.

B.本程序文件的第一個函數(shù)開始,到本程序文件第一個函數(shù)結(jié)束.

C.本程序文件的第一個函數(shù)開始,到本程序main函數(shù)結(jié)束.

D.本程序的main()函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束.

5、C程序由(C)組成。

A.子程序B.主程序和子程序

C一函數(shù)D.過程

6、下列關(guān)于C語言注釋的敘述中錯誤的是(D)。

A.以“/*”開頭并以“*/”結(jié)尾的字符串為C語言的注釋內(nèi)容。

B.注釋可出現(xiàn)在程序中的任何位置,用來向用戶提示或解釋程序的意義。

C.程序編譯時,不對注釋作任何處理。

D-程序編譯時,需要對注釋進行處理。

7、C語言源程序經(jīng)過編譯后,生成文件的后綴是_Co

A、.cB、.exe_C>>objD>.cc

8、以下說法中正確的是—Co

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

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

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

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

9、以下敘述中正確的是Ao

“C程序中注釋部分可以出現(xiàn)在程序中任意合適的地方

B:花括號〃{〃和〃}〃只能作為函數(shù)體的定界符

C:構(gòu)成C程序的基本單位是函數(shù),所有函數(shù)名都可以由用戶命名

D:分號是C語句之間的分隔符,不是語句的一部分

第二章變量與表達式

第一節(jié)簡單表達式

1.算術(shù)運算符及其表達式

1、C語言中運算對象必須是整型的運算符是Ao

A、%B、*C、+D、/

2.下面運算符優(yōu)先級最高的是(C)

A.<=B.=Q_%D.&&

3、下面程序

main()

{

intx=10,y=3;

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

)

的輸出是—C—o

A:0B:1C:3D:不確定的值

4、執(zhí)行下面程序段后,c3中的值是_A—

intcl=l,c2=2,c3;

c3=cl/c2;

A:0B:1/2C:0.5D:1

2.C語言表達式書寫規(guī)則

1、以下變量x、y、z均為double類型且已正確賦值,不能正確表示數(shù)學(xué)式

子x/(y*z)的C語言表達式是—A—o

A:x/y*zB:x*(l/(y*z))C:x/y*l/zD:x/y/z

2、設(shè)有定義:floata=2,b=4,h=3;,以下C語言表達式中與代數(shù)式1/2(a+b)h

計算結(jié)果不相符的是_B_。

A:(a+b)*h/2B:(1/2)*(a+b)*hC:(a+b)*h*l/2D:h/2*(a+b)

第二節(jié)變量

1.變量

1、下列關(guān)于C語言的關(guān)鍵字的敘述中錯誤的是(C)

A.關(guān)鍵字是C語言規(guī)定的具有特定意義的字符串,通常也稱保留字。

B.用戶定義的標(biāo)識符不應(yīng)與關(guān)鍵字相同。

C-ANSIC標(biāo)準(zhǔn)規(guī)定的關(guān)鍵字有64個。

D.ANSIC標(biāo)準(zhǔn)規(guī)定的關(guān)鍵字有32個。

2、下面關(guān)于C語言用戶標(biāo)識符的描述,正確的是(D)

A.不區(qū)分大小寫B(tài).用戶標(biāo)識符不能描述常量

C.類型名也是用戶標(biāo)識符D.用戶標(biāo)識符可以作為變量名

3、以下(D)是正確的變量名。

A.a.beeB.-pllC.int匹p_ll

4、下面屬于C語言標(biāo)識符的是(D)

A.2abB.@fC.?bD._al2

5、下列保留字中用于構(gòu)成循環(huán)結(jié)構(gòu)的是(B)-

A.ifB.whileC.switchD.default

6、以下定義而中正確的是(C)o

A.chara='A'b='B';B.floata=b=10.0;

C.inta=10,*b=&a;D.float*a,b=&a;

7、下面標(biāo)識符中,不合法的用戶標(biāo)識符為(D)

A)PadB)a_10C)_12abD)int

8、C語言中的標(biāo)識符只能由字母、數(shù)字和下劃線三種字符組成,且第一個

字符C

A、必須為下劃線B、可以是字母、數(shù)字和下劃線中任

一種字符

必須為字母或下劃線D、必須為字母

9、請選出可用作C語言用戶標(biāo)識符的一組標(biāo)識符—B_o

①void②a3_b3④2a

define

casesizeof

A:①B:②C:③D:④

9、以下選項中合法的用戶標(biāo)識符是_B_o

A:longB:2TestC:3DmaxD:A.dat

10、以下不能定義為用戶標(biāo)識符的是_D_o

A:scanfB:VoidC:3comD:int

11、在C語言中,如果下面的變量都是int類型,則輸出結(jié)果是_A一

sum=pad=5;

pad=sum++,pad++,++pad;

printf(,,%d\n/,,pad);

A:7B:6bC;5D:4

2.常量和符號常量

1、以下(B)是錯誤的整型常量。

A.-OxcdfB.018C.OxeD.Oil

2、下列符號中用凝耒C語言中的回車換行的是(B)

A.\”\nC.\bD.\\

3、以下(C)是正確的字符常量。

A.〃c"B.C.'W'D.〃\32a〃

4、下面不正確的字符串常量是(A)

A)'abc'B)C)D)〃”

6、以下列出C語言常量中,錯誤的是—B—o

A:OxFFJhl.2e0.5C:2LD:'\72'

7、以下選項中,非法的字符常量是C。

A:'\t'B:'\17'C:"\n"D:'\xaa'

第三節(jié)數(shù)據(jù)類型

1.整型數(shù)據(jù)

1、以下選項中不屬于C語言的類型的是」O

A:signedshortintB:unsignedchar

C:singedlongD:longshort

2、以下選項中可作為C語言合法整數(shù)的是—C—o

A:10110BB:0386C:OXffaD:x2a2

2.實型數(shù)據(jù)

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

A:復(fù)數(shù)型B:邏輯型一C:雙精度型D:集合型

2、若已定義x和y為double類型,則表達式x=l,y=x+3/2的值是__C___。

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

3、設(shè)變量x為門oat型且已賦值,則以下語句中能將x中的數(shù)值保留到小數(shù)

點后兩位,并將第三位四舍五入的是—C—O

A:x=x*100+0.5/100.0;B:x=(x*100+0.5)/100.0

C:x=(int)(x*100+0.5)/100.0;D:x=(x/100+0.5)/100.0;

4、以下符合C語言語法的實型常量是_Co

A:1.2E0.5B:3.14159EC:.5E-3D:E15

3.字符型數(shù)據(jù)

1、判斷char型變量ch是否為大寫字母的正確表達式是Co

A、'A'<=ch<='Z'B、'A'<=chandch<='Z'

C、'A'<=ch&&ch<='Z'D、'A'<=ch||ch<='Z'

2.設(shè)有語句chara='\72';則變量a(A)。

包含1個字符B)包含2個字符C)包含3個字符D)說明不合法

3.判斷變量ch中的字符是否為數(shù)字字符,最簡單的正確表達式是(D)0

A)ch>=0&&ch<=9B)'O'<=ch<=,9'

C)ch>='O'||ch<=J9'D)ch>=,O'&&ch<='9'

4、設(shè)有說明語句:chara='\72';則變量a_A。

A:包含1個字符B:包含2個字符C:包含3個字符D:說明不合法

5、已知大寫字母A的ASCH碼是65,小寫字母a的ASCH碼是97,則用八進制

表示的字符常量''101'是—A―o

A:字符AB:字符aC:字符eD:非法的常量

6、若有以下定義和語句:

charcl='b',c2=,e';

printf(,,%d,%c\n?,,c2-cl,c2-a+'A');

則輸出結(jié)果是—B

A:2,MB:3,EC:2,eD:輸出結(jié)果不確定

7、已知字符A的ASCH碼為十進制的65,下面程序的輸出是A

main()

charchi,ch2;

chl='A'+'5'」3';

ch2='A'+'6'」3';

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

)

A:67,DB:B,CC:C,DD:不確定的值

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

A:a,<=c<='z'B:(c>='a:)||(c<='z')

C:Ca<=C)and('z'>=c)D:(c>=*a)&&(c<='z')

4.類型轉(zhuǎn)換

1、表達式'f'+10的類型是—Ao

A、intB、charC、doubleD、float

2、設(shè)a和b均為double型常量,且a=5.5、b=2.5,則表達式(int)a+b/b的值

是—D—o

A:6.500000B:6C:5.500000D:6.000000

第四節(jié)賦值語句

1、若有定義:inta=2;則正確的賦值表達式是(A)。

A.a-=(a*3)B.double(-a)C.a*3D.a*4=3

2、若a為int類型,且其值為3,則執(zhí)行完表達式a+=a-=a*a后,a的值

是(C)

A)-3B)9C)-12D)6

3、請選出合法的C語言賦值語句_B—。

A:a=b=58B:i++;C:a=58,b=58D:k=int(a+b);

4、若變量已正確定義并賦值,下面符合C語言的表達式是_B—。

A:a:=b+lB:a=b=c+2C:int18.5%3D:a=a+7=c+b

5、若變量a、i已正確定義,且i已正確賦值,合法的語句是_Bo

A:a==lB:++i;C:a=a++=5D:a=int(i);

6、以下非法的賦值語句是_C—。

A:n=(i=2,++i);B:j++;C:++(i+l);D:x=j>0;

7、以下選項中非法的表達式是_D_o

A:0<=x<100B:i=j==0C:(char)(65+3)D:x+l=x+l

8、若以下選項中的變量已正確定義,則正確的賦值語句是—C—o

A:xl=26.8%3;B:l+2=x2;C:x3=0x12;D:x4=l+2=3;

第五節(jié)復(fù)雜表達式

1.自增、自減運算符

1、設(shè)x、y均為整型變量,且x=10,y=3,則以下語句的輸出結(jié)果是

printf("%d,%d\n”,x—,一y);(D)

A)10,3B)9,3C)9,2D)10,2

2、設(shè)i為整型變量,且值為100,則語句++i;執(zhí)行后i的值是Bo

A、100B、101C、102D、語句錯

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

#include<stdio.h>

main()

inti=010,j=10;

printf("%d,%d\n”,++i,j-;

)

A)11,10Bl9,10C)010,9D)10,9

4.下列程序的運行結(jié)果是(A)

#defineA5

#defineBA+l

main()

{inta;

a=B;

printf("%d\n"a一);

)

A^6B.5C.4D.出錯

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

#include<stdio.h>

main()

{

inti=10,j=10;

printf("%d,%d\n”,++i,j一);

A;11,10B:9,10C:010,9D:10,9

6、有如下程序

main()

{inty=3,x=3,z=l;

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

)

運行該程序的輸出結(jié)果是_D—。

A:34B:42C:43D;33

7、設(shè)x,y均為int型變量,且x=10,y=3,則以下數(shù)據(jù)的輸出結(jié)果是D

printf("%d,%d\n”,x一,一y)。

A:10,3B:9,3C:9,2D;10,2

8、下列關(guān)于單目運算符++、一的敘述中正確的是—D—o

A:它們的運算對象可以是任何變量和常量

B:它們的運算對象可以是char型變量和int型變量,但不能是float型變

C:它們的運算對象可以是int型變量,但不能是double型變量和float型

變量

D:它們的運算對象可以是char型變量、int型變量和float型變量

9.main()

{intm=3,n=4,x;

x=_m++;

x=x+8/++n;

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

程序運行后的輸出結(jié)果是_D_o

A:3B:5C:-1D:-2

10、有以下程序

main()

{chara-a',b;

printf(,,%c,z,,++a);

printf("%c\n",b=a++);

)

程序運行后的輸出結(jié)果是_A_。

A:b,bB:b,cC:a,bD:a,c

11、若有以下定義和語句:

inta=5

a++;

此處表達式a++的值是_B_

A:7B:6C:5D:4

2.關(guān)系運算符與關(guān)系表達式

1、設(shè)有intx,y;以下語句判斷x和y是否相等,正確的說法是該語句

(B)

if(x=y)printf("xisequaltoy.");

A.語法錯區(qū)不能判斷x和y是否相等

C.編譯出錯D.能判斷x和y是否相等

2、表達式:10!=9的值是—D—o

A:trueB:非零值C:0D:1

3.邏輯運算符與邏輯表達式

1、能表示條件OWxW100的表達式是(D)

A)0<=x<=100B.x>=0,x<=100

C)OWxW100__D)_x>=0&&x<=100

2、設(shè)有:inta=l,b=2,c=3,d=4,m=2,n=2;

執(zhí)行(m=a>b)&&(n=c>d)后n的值為(C)

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

3、能正確表示a和b同時為正或同時為負的邏輯表達式是_Do

A、(a>=0IIb>=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

4、設(shè)有定義inta=1,b=2,c=3;則下面的值為1的表達式是A。

A、a&&7B、a〈b&&!cC、a&&!bD、b〉=c

5、設(shè)a、b和c都是int型變量,且a=3、b=4、c=5,則下面的表達式中,值

為。的表達式是—D—o

A:'a'&&'b'B:a<=bC:a||+c&&b-c_

D:!((a<b)&&!c|11)

6、設(shè)a=5、b=6、c=7、d=8、m=2、n=2,執(zhí)行

(m=a>b)&&(n=c>d)

后n的值為_B_o

A:1B;2C:3D:4

7、有如下程序段

inta=14,b=15,x;

charc='A';

x=(a&&b)&&(c<'B');

執(zhí)行該程序段后,X的值為—D—o

A:trueB:falseC:0D;1

8、設(shè)x、y、t均為int型變量,則執(zhí)行語句:x=y=3;t=++x||++y;后,y的值

為一C―。

A:不定值B:4C:3D:1

9.以下程序的輸出結(jié)果是o

main()

{inta=4,b=5,c=0,d;

d=!a&&!b||!c;

printf("%d\n",d)

)

A:1B:0C:非。的數(shù)D:-1

10、有以下程序

main()

{inta=l,b=2,m=0,n=0,k;

k=(n=b>a)||(m=a〈b);

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

)

程序運行后的輸出結(jié)果是_Co

A:0,0B:0,1C:1,0D:1,1

11、有以下程序

main()

{inti=l,j=l,k=2;

if((j++||k++)&&i++)

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

)

執(zhí)行后輸出結(jié)果是C

A:1,1,2B:2,2,1C:2,2,2D:2,2,3

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

main()

{inta=4,b=5,c=0,d;

d=!a&&!b||!c;

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

)

A;1B:0C:非0的數(shù)D:-1

4.逗號運算符

1、若x,i,j,k都是int型變量,則執(zhí)行下面表達式后x的值為—C—

x=(i=ll,j=22,k=33)

A、11B、22C>33D、66

2、若x和y都是int型變量,x=100、y=200,且有下面的程序片段

printf(x,y));

上面程序片段的輸出結(jié)果是_A_o

A;200B:100C:100200D:輸入格式符不夠,輸出不確定的值

3、若執(zhí)行以下程序段,其輸出結(jié)果是B

inta=0,b=0,c=0;

c=(a-=a-5),(a=b,b+3);

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

A:3,0,-10B:0,0,5C:-10,3,-10D:3,0,3

第六節(jié)基本輸入輸出語句

2.格式化輸入與輸出函數(shù)

1、若有說明語句:inta,b,c,*d=&c;,則能從鍵盤讀入三個整數(shù)分別賦

給變量a、b、c的語句是(A)

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

C.scanf("%d%d%d”,a,b,d);D.scanf("%d%d%d”,a,b,*d);

2、調(diào)用scanf("%d,%d”,&a,&b);時一,正確的鍵盤輸入是(A)

A)10,20B)a=10,b=20C)10:20D)1020

3、下面的程序段

inti=6;

printf("***%-4d***\n",i);

的輸出是Bo

A、***6***B、***6***

C、***0006***D、出錯

4.已知在ASCII代碼中,字母A的序號為65,以下程序的輸出的結(jié)果是

(D)o

#include<stdio.h>

main()

charcl=,A',c2=,Y';

printf("%d,%d\n”,cl,c2);

A)因輸出格式不合法,輸出錯誤信息B)65,90C)A,YD)65,

89

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

main()

{intk=17;

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

)

A:17,021,0x11B:17,17,17C:17,0x11,021D:17,21,11

6、若變量已正確說明為float類型,要通過語句

scanf(繪f%f”,&a,&b,&c);給a賦予10.0,b賦予22.0,c賦予33.0,不

正確的輸入形式是:—B—。

A:10

22

33

B;10.0,22.0,33.0

C:10.0

22.033.0

D:1022

33

7、X、Y、Z被定義為int型變量,若從鍵盤給X、Y、Z輸入數(shù)據(jù),正確的輸

入語句是Bo

A:INPUTX,Y,Z;B:scanf("%d%d%d〃,&X,&Y,&Z);

C:scanf("%d%d%d”,X,Y,Z);D:read("%d%d%d〃,&X,&Y,&Z);

8、已知i、j、k為int型變量,若從鍵盤輸入:1,2,3/,使i的值為1、j的

值為2、k的值為3,以下選項中正確的輸入語句是_Co

A:scanfC%2d%2d%2d",&i,&j,&k);B:

scanf("%d%d%d”,&i,&j,&k);

C:scanf("%d,%d,%d",&i,&j,&k);D:

scanf("i=%d,j=%d,k=%d",&i,&j,&k);

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

—B—o

A:printf("x=%d\n”,x);B:printf("x=%ld\n”,x);

C:printf("x=%8dL\n”,x);D:printf("x=%LD\n”,x);

10、有以下程序段

intm=0,n=0;charc=,a;

scanf("%d%c%d”,&m,&c,&n);

printf(,z%d,%c,%d\n”,m,c,n);

若從鍵盤上輸入:10A10/,則輸出結(jié)果是—A—o

Aj10,A,10B:10,a,10C:10,a,0D:10,A,0

11、有以下程序

main()

{intx=102,y=012;

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

執(zhí)仃后輸出結(jié)果是C____o

A:10,01B:02,12C2102,10D:02,10

12、有以下程序

main()

{chara,b,c,d;

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

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

}

若運行時從鍵盤上輸入:6,5,65,66/。則輸出結(jié)果是—A

A;6,5,A,BB:6,5,65,66C:6,5,6,5D:6,5,6,6

13、有以下程序

main()

{unsignedinta;

intb=T;

a=b;

printfa);

)

程序運行后的輸出結(jié)果是_B_。

A:-1B:65535C:32767D:-32768

14、下面程序的輸出是_D.

main()

intk=ll;

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

)

A:k=ll,k=12,k=13B:k=ll,k=13,k=13C:k=ll,k=013,k=oXbD;

k=ll,k=13,k=b

15、若有定義:intx,y;chara,b,c;并有以下輸入數(shù)據(jù)(此處<CR>代表

換行):

12<CR>

ABC<CR>

則能給x賦整數(shù)1,給y賦數(shù)2,給a賦字符A,給b賦字符B,給c賦字符C的正

確程序段是_C—

A:scanf(,,x=%dy=%d",&x,&y);a=getchar();c=getchar();

B:scanf("%d%d”,&x,&y);a=getchar();b=getchar();c=getchar();

C;scanf("%d%d%c%c%c”,&x,&y,&a,&b,&c);

D:scanf(,/%d%d%c%c%c%c%c%c",&x,&y,&a,&a,&b,&b,&c,&c);

16、設(shè)i是int型變量,f是float型變量,用下面的語句給這兩個變量輸入值:

scanf("i=%d,&i,&f);

為了把100和765.12分別賦給i和f,則正確的輸入為B

A:100〈空格>765.12〈回車>B:i=100,f=765.12〈回車>

C:100〈回車>765.12〈回車>D:x=100〈回車>,y=765.12〈回車》

第七節(jié)順序結(jié)構(gòu)程序設(shè)計

1、C語言中用于結(jié)構(gòu)化程序設(shè)計的三種基本結(jié)構(gòu)是_A__。

A:順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)B:if、switch、break

C:for>while、do-whileD:if、for、continue

第三章控制語句

第一節(jié)if語句

1.if…else語句的三種形式

1、以下if語句錯誤的是(A)

A,if(x<y)x++;y++;elsex一;y一;B.if(y)x+=y;

C.if(x>y);D.if(x==5)scanf("%d",&x);else

x++;

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

main()

{

intx;

scanf("%d",&x);

if(x++>5)

printfx);

else

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

)

必7和5B)6和3C)7和4D)6和4

3、若執(zhí)行下面的程序時從鍵盤上輸入3和4,

main()

{inta,b,s;

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

s=a;

if(a<b)s=b;

s=s*s;

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

)

則輸出是_B____o

A:14B:16C:18D:20

4、有如下程序

main()

{floatx=2.0,y;

if(x<0.0)y=0.0;

elseif(x<10.0)y=l.0/x;

elsey=1.0;

printfy);

)

該程序輸出結(jié)果是—C—。

A:0.000000B:0.250000C:0.500000D:1.000000

5、有如下程序

main()

inta=2,b=-1,c=2;

if(a<b)

if(b<0)c=0;

elsec++;

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

)

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

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

6.main()

intx;

scanf&x);

if(x一<5)printf("%d\n”,x);

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

}

程序運行后,如果從鍵盤上輸入5,則輸出結(jié)果是3

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

7、有一函數(shù)

r1x>0

y=T0x=0

L-1x<0

以下程序段中不能根據(jù)x的值正確計算出y的值的是—C—o

A:if(x>0)y=l;elseif(x==0)y=0;elsey=T;

B:y=0;if(x>0)y=l;elseif(x<0)y=-l;

C:y=0;if(x>=0)if(x〉0)y=l;elsey=T;

D:if(x>=0)if(x>0)y=l;elsey=0;elsey=-l;

8、有以下程序

main()

{inti=l,j=l,k=2;

if((j++1|k++)&&i++)printf("%d,%d,%d\n”,i,j,k);

)

執(zhí)行后輸出的結(jié)果是_C_。

A:1,1,2B:2,2,1C:2,2,2D:2,2,3

9、有以下程序

main()

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

if(a>b>c)

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

elseif((c-l>=d)==l)

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

else

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

)

執(zhí)行后輸出的結(jié)果是_B_。

A:2B:3C:4D:編譯時有錯,無結(jié)果

10、有定義語句:inta=l,b=2,c=3,x;,則以下選項中各程序段執(zhí)行后,

的值不為3的是—C—。

A:if(c<a)x=l;

elseif(b<a)x=2;

elsex=3;

B:if(a<3)x=3;

elseif(a<2)x=2;

elsex=l;

C;if(a<3)x=3;

if(a<2)x=2;

if(a<l)x=l;

D:if(a<b)x=b;

if(b<c)x=c;

if(c<a)x=a;

11、下列條件語句中,功能與其他語句不同的是_D_0

A:if(a)printf("%d\n",x);elseprintf("%d\n",y);

B:if(a==0)printf("%d\n",y);elseprintf("%d\n",x);

C:if(a!=0)printf("%d\n",x);elseprintf("%d\n”,y);

D:if(a==0)printf("%d\n",x);elseprintf("%d\n',y);

12、若執(zhí)行下面的程序從鍵盤輸入3和4,則輸出是—B—

main()

{inta,b,s;

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

s=a;

if(a<b)s=b;

s=s*s;

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

)

A:14B:16C:18D:20

13、以下程序輸出結(jié)果是C

main()

{intm=5;

if(m>5)printf("%d\n",m);

elseprintf("%d\n",m一);

A:7B:6C:5D:4

14、假定所有變量均已正確說明,下列程序段運行后x的值是B

a=b=c=0;x=35;

if(!a)x--;

elseif(b);if(c)x=3;

elsex=4;

A:34B24C:35D:3

14、若執(zhí)行以下程序時從鍵盤上輸入9,則輸出結(jié)果是B

Main()

{intn;

scanf("%d",&n);

if(n++<10)

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

else

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

)

A:11B:10C:9D:8

2.if語句的嵌套

1、C語言中規(guī)定,if語句的嵌套結(jié)構(gòu)中,else總是(D)配對。

A.與最近的ifB.與第一個if

C.與按縮進位置相同的ifD.與最近的且尚未配對的if

2、下面程序

main()

{intx=100,a=10,b=20,okl=5,ok2=0;

if(a<b)

if(b!=15)

if(!okl)x=l;

elseif(ok2)x=10;

x=-l;

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

)

的輸出是—A—o

A:-1B:0C:1D:不確定的值

3.條件運算符

1、設(shè)ch是char型變量,其值為A,且有下面的表達式

ch=(ch>='A'&&ch<='Z')?(ch+32):ch

上面表達式的值是_B_。

A:AB:aC:ZD:z

2、假定w、x、y、z、m均為int型變量,有如下程序段:

w=l;xz=2;y=3;z=4

m=(w<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:z;

則該程序段執(zhí)行后,m的值是D。

A:4B:3C:2D:1

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

main()

{inta=5,b=4,c=6,d;

printf("%d\n",d=a>c?(a>c?a:c):(b));

)

A:5B:4C:6D:不確定

第二節(jié)switch…case語句

1.以下關(guān)于switch語句和break語句的描述中,只有(B)是正確的。

A)在switch語句中必須使用break語句

B)在switch語句中,可以根據(jù)需要使用或不使用break語句

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

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

2.如下程序

main()

{intx=l,a=0,b=0;

switch(x)

{case0:b++;break;

case1:a++;

case2:a++;b++;break;

default:a一;b一;break;

}

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

)

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

A)a=2,b=lB)a=l,b=lC)a=l,b=0D)a=2,b=2

3、有以下程序

main()

{intc;

while((c=getchar())!='\n'){

switch(c」2'){

case0:case1:putchar(c+4);

case2:putchar(c+4);break;

case3:putchar(c+3);

default:putchar(c+2);break;}

}

}

從第一列開始輸入以下數(shù)據(jù),/代表一個回車符。

2473/

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

A:668977B:668966C:66778777D:6688766

4、有如下程序

main()

{intx=l,a=O,b=0;

switch(x){

case0:b++;

case1:a++;

case2:a++;b++;

}

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

)

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

A:a=2,b=lB:a=l,b=lC:a=l,b=0D:a=2,b=2

5、若a、b、cl、c2、x、y均是整型變量,正確的switch語句是—D

switch(a+b);

{case1:y=a+b;break;

case0:y=a-b;break;

switch(a*a+b*b)

{case3:

case1:y=a+b;break;

case3:y=b-a;break;

)

switcha

{casecl:y=a-b;break;

casec2:x=a*b;break;

default:x=a+b;

)

switch(a-b)

{defau11:y=a*b;break;

case3:case4:x=a+b;break;

case10:case11:y=a-b;break;

)

A:①B:②C:③D:④

6、有以下程序

main()

{inta=15,b=21,m=0;

switch(a%3)

{case0:m++;break;

case1:m++;

switch(b%2)

{default:m++;

case0:m++;break;

)

)

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

)

程序運行后的輸出結(jié)果是_A_。

A:1B:2C:3D:4

第三節(jié)for語句

1.以下的for循環(huán)(C)。

for(x=0,y=0;(y!=123)&&(x<4);x++);

A)是無限循環(huán)B)循環(huán)次數(shù)不定a執(zhí)行4次D)執(zhí)行3次

2.下面程序的輸出是B

main()

inty=9;

for(;y>0;y-)

if(y%3==0)

printf(,,%d//,一y);continue;

)

).

)

A)741_B)_852C)963D)875421

3.執(zhí)行下面的程序后,a的值為B

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)9D)10

4.設(shè)intk;則語句for(k=O;k=l;k++);和語句for(k=0;k==l;k++);執(zhí)行

的次數(shù)分別是(A)

b無限和0B.O和無限C.都是無限D(zhuǎn).都是0

5.語句for(i=0;i++<3;);執(zhí)行后,變量i的值為(C)。

A)2B)3O4D)5

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

main()

{intx—10,y=10,i;

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

printf(z,%d%d”,x-,y);

)

A:10192B:9876C;10990D;101091

7、若x是int型變量,且有下面的程序片段

for(x=3;x<6;x++)printf((x%2)?("**%d"):('##%d\n"),x);

上面程序片段的輸出結(jié)果是—D—。

①**3②##3③##3④**3##4

##4**4**4##5**5

**5##5

A:①B:②C:③D:④

8、下面的程序中_C_錯誤(每行程序前面的數(shù)字是行號)。

1#include<stdio.h>

2main()

3{

4floata[3]={0.0};

5inti;

6for(i=0;i<3;i++)scanfa[i]);

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

8printfa[0]);

9)

A:沒B:第4行C:第6行D:第8行

9、有如下程序

main()

{inti,sum;

for(i=l;i<=3;sum++)sum+=i;

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

)

該程序的執(zhí)行結(jié)果是_Co

A:6B:3C:死循環(huán)D:0

10、有如下程序

main()

(

intn[5]={0,0,0},i,k=2;

for(i=0;i<k;i++)n[i]=n[i]+1;

printf("%d\n",n[k]);

該程序的輸出結(jié)果是—D-。

A:不確定的值B:2C:1殳0

11、有如下程序

main()

{

inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;

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

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

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

,,,,

printf(%d\n(s);

)

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

A;18B:19C:20D:21

12、以下程序執(zhí)行后sum的值是_Co

main()

{inti,sum;

for(i=l;i<6;i++)sum+=i;

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

)

A:15B:14C:不確定D:0

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

main()

{inta=0,i;

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

{switch(i)

{caseO:

case3:a+=2;

easel:

case2:a+=3;

default:a+=5;

}

}

printf("%d\n",a)

)

A:31B:13C:10D:20

14、以下程序的功能是:按順序讀入10名學(xué)生4門課程的成績,計算出每位

學(xué)生的平均分并輸出,程序如下:

main()

{intn,k;

floatscore,sum,ave;

sum=0.0;

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

{for(k=l;k<=4;k++)

{scanf&score);sum+=score;}

ave=sum/4.0;

printf(,,N0%d:%f\n/,,n,ave);

}

)

上述程序運行后結(jié)果不正確,調(diào)試中發(fā)現(xiàn)有一條語句出現(xiàn)在程序的位置不

正確。這條語句是—A—o

A:sum=0.0;B:sum+=score;C:ave=sum/4.0;D:

printf("N0%d:%f\n”,n,ave);

15、有以下程序

main()

{inti;

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

switch(i)

{case1:printfi);

case2:printfi);

default:printfi);

)

)

執(zhí)行后輸出的結(jié)果是_A—。

A:011122B:012C:012020D:120

16、有以下程序

main()

{intk=4,n=0;

for(;n<k;)

{n++;

if(n%3!=0)continue;

k—;}

printf(,z%d,%d\n”,k,n);

)

程序運行后的輸出結(jié)果是_C_。

A:1,1B:2,2C:3,3D:4,4

17、有以下程序

main()

{chark;inti;

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

{scanf&k);

switch(k)

{case'O':printf("another\n");

case'1':printf("number\n");

)

程序運行時,從鍵盤輸入:01/,程序執(zhí)行后的輸出結(jié)果是_c

A:another

number

B:another

number

another

C:another

number

number

D:number

number

18、有以下程序

main()

{inti,s=0;

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

printf(?d\n”,s);

)

程序執(zhí)行后的輸出結(jié)果是_D_。

A:自然數(shù)1?9的累加和B:自然數(shù)1?10的累加和

C:自然數(shù)1?9中奇數(shù)之和D:自然數(shù)1?10中偶數(shù)之和

19、以下程序中,while循環(huán)的循環(huán)次數(shù)是D

main()

{inti=0;

while(i<10)

{if(i<l)continue;

if(i==5)break;

i++;

)

)

A:1B:10C:6D:死循環(huán),不能確定次數(shù)

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

main()

{inta=0,i;

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

{switch(i)

{case0:

case3:a+=2;

case1:

case2:a+=3;

default:a+=5;

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

A:31B:13C:10D:20

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

main()

{intx=10,y=10,i;

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

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

)

A:10192B:9876C:10990D:101090

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

main()

{inti;

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

{if(i%2)

{printf("#");continue;}

printf(〃*〃);

)

printf;

)

A:#*#*#B:#####C:*****D:*#

溫馨提示

  • 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. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論