職業(yè)資格-C語言程序設計真題庫-1_第1頁
職業(yè)資格-C語言程序設計真題庫-1_第2頁
職業(yè)資格-C語言程序設計真題庫-1_第3頁
職業(yè)資格-C語言程序設計真題庫-1_第4頁
職業(yè)資格-C語言程序設計真題庫-1_第5頁
已閱讀5頁,還剩23頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

職業(yè)資格-C語言程序設計真題庫_11、單選題C語言是一種()。A、

機器語言B、

匯編語言C、

高級語言D、

低級語言正確答案:

C

參考解析:本題考查對C語言的基(江南博哥)本認識。C語言是一種高級語言,它是一種通用的、面向過程的計算機編程語言,由DennisRitchie在20世紀70年代初期在貝爾實驗室為Unix操作系統(tǒng)開發(fā)而設計。C語言具有高效、簡潔、靈活等特點,被廣泛應用于系統(tǒng)軟件、應用軟件、嵌入式系統(tǒng)等領域。因此,本題的正確答案為C。2、填空題C語言的程序模塊稱為____。1、正確答案:

函數(shù)、

參考解析:3、單選題已知intx=7,y=3;表達式x/y的值是()。A、

1B、

2C、

2.333333D、

2.33正確答案:

B

參考解析:由于x和y都是int類型,所以進行除法運算時會自動進行整數(shù)除法,即只保留整數(shù)部分,舍去小數(shù)部分。因此,x/y的值為2。故選B。4、簡答題C程序的執(zhí)行總是從____開始。請輸入答案,該題沒有正確答案請自行判斷..0/500正確答案:

參考解析:main函數(shù);5、單選題已知intx=10,表達式x+=x-=x-x的值是()。A、

10B、

40C、

30D、

20正確答案:

D

參考解析:首先,根據(jù)運算符優(yōu)先級,先執(zhí)行減法運算,x-x的值為0。然后,x-=0相當于x=x-0,不改變x的值。最后,x+=x,相當于x=x+x,即x=2x。因此,最終x的值為20,選項D為正確答案。6、簡答題在調(diào)用一個函數(shù)時,當實參是數(shù)組名時,參數(shù)傳遞的方式為____,當實參是普通變量時,參數(shù)的傳遞方式為____。請輸入答案,該題沒有正確答案請自行判斷..0/500正確答案:

參考解析:地址傳遞;值傳遞;7、單選題在C語言中,字符型數(shù)據(jù)在計算機內(nèi)存中,以字符的()形式存儲。A、

原碼B、

反碼C、

ASCII碼D、

BCD碼正確答案:

C

參考解析:在C語言中,字符型數(shù)據(jù)在計算機內(nèi)存中以ASCII碼的形式存儲。ASCII碼是一種將字符映射為數(shù)字的編碼方式,每個字符都對應一個唯一的ASCII碼。例如,字符'A'對應的ASCII碼是65,字符'a'對應的ASCII碼是97。因此,當我們在程序中使用字符型數(shù)據(jù)時,實際上是在使用對應的ASCII碼。所以,選項C是正確的答案。8、簡答題使用函數(shù)的遞歸調(diào)用求解Fibonacci數(shù)列。請輸入答案,該題沒有正確答案請自行判斷..0/500正確答案:

參考解析:

#include

Intf(intn);

Intmain()

{

Inta;

Scanf("%d",&a);

Printf("%d\n",f(a));

Return0;

}

Intf(intn)

{

If(n==1||n==2)

Return1;

Else

Return(f(n-1)+f(n-2));

}9、單選題若變量x、i、j和k都是int型變量,則計算下面表達式后,x的值是()。<brclass="markdown_return">X=(i=4,j=16,k=32)A、

4B、

16C、

32D、

52正確答案:

C

參考解析:在C語言中,當使用逗號運算符時,會按照從左到右的順序依次計算各個表達式的值,并返回最后一個表達式的值。在這個例子中,表達式`X=(i=4,j=16,k=32)`使用了逗號運算符,它將i的值設置為4,將j的值設置為16,將k的值設置為32,并返回k的值,即32。因此,表達式`X=(i=4,j=16,k=32)`的結果是x的值為32,所以正確答案是選項C。10、簡答題用冒泡法對10個整數(shù)進行由小到大排序請輸入答案,該題沒有正確答案請自行判斷..0/500正確答案:

參考解析:

#include

intmain()

{

inti,j,t,a[10];

printf("input10numbers:");

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

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

printf("\n");

/*冒泡排序*/

for(i=0;i<9;i++)//9輪比較與交換

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

if(a[j]>a[j+1])

{

t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}

printf("thesortednumbers:");//輸出排序結果

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

printf("%5d",a[j]);

printf("\n");

return0;

}11、單選題下列不正確的轉義字符是()。A、

\\B、

\'C、

074D、

\0正確答案:

C

參考解析:轉義字符是在字符串中使用反斜杠(\)加上一個字符來表示特殊字符的方法。常見的轉義字符包括\n(換行符)、\t(制表符)、\"(雙引號)等等。A選項中的\\表示一個反斜杠字符,是正確的轉義字符。B選項中的\'表示一個單引號字符,也是正確的轉義字符。C選項中的074不是轉義字符,它表示的是一個八進制數(shù),對應的十進制數(shù)是60。D選項中的\0表示一個空字符,也是正確的轉義字符。因此,不正確的轉義字符是C選項中的074。12、填空題scanf()函數(shù)語句的“格式控制字符串”和“地址表列”用____分開。1、正確答案:

逗號;、

參考解析:scanf()函數(shù)用于從標準輸入(通常是鍵盤)讀取數(shù)據(jù),并將讀取的數(shù)據(jù)存儲到指定的變量中。該函數(shù)需要一個格式控制字符串,用于指定要讀取的數(shù)據(jù)的類型和其他格式要求,以及一個地址表列,用于指定要存儲讀取數(shù)據(jù)的變量的地址。在scanf()函數(shù)語句中,格式控制字符串和地址表列使用逗號分隔。例如:```cintnum;scanf("%d",&num);```在上面的例子中,"%d"是格式控制字符串,表示要讀取一個整數(shù),"&num"是地址表列,表示將讀取的整數(shù)存儲到變量num的地址中。13、填空題scanf()函數(shù)是一個標準庫函數(shù),它的函數(shù)原型在頭文件____。1、正確答案:

stdio.h;、

參考解析:scanf()函數(shù)是C語言中的一個標準庫函數(shù),用于從標準輸入(如鍵盤)讀取數(shù)據(jù)。它的函數(shù)原型通常在頭文件stdio.h中聲明。14、單選題若有代數(shù)式,則不正確的C語言表達式是()。A、

a/b/c*e*3B、

3*a*e/b/cC、

3*a*e/b*cD、

a*e/c/b*3正確答案:

C

參考解析:根據(jù)C語言運算符的優(yōu)先級,乘法和除法的優(yōu)先級相同,從左到右依次計算。因此,選項A、B、D都是正確的C語言表達式。而選項C中,C選項:3*a*e/b*c:按照從左到右的順序,先計算3*a*e/b,一的運算然后乘以c。,這與代數(shù)式3*a*e/bc順序不符,該表達式相當于3*a*e/b*c。在C語言中,乘法和除法的運算順序是從左到右,在將代數(shù)式轉化為C語言表達式時,需要遵循這個順序,避免因運算符結合性的錯誤導致結果不符合預期。因此,答案為C。15、單選題要為字符型變量a賦初值,下列語句中哪一個是正確的()。A、

chara="3";B、

chara='3';C、

chara=%;D、

chara=*;正確答案:

B

參考解析:本題考查對字符型變量賦值的語法規(guī)則的掌握。字符型變量的值必須用單引號括起來,而不能用雙引號或其他符號。因此,選項B是正確的,選項A、C、D都是錯誤的。答案解釋:A選項中,用雙引號括起來的是字符串,而不是字符,因此是錯誤的。B選項中,用單引號括起來的是字符,符合字符型變量的賦值語法規(guī)則,因此是正確的。C選項中,%不是字符,因此是錯誤的。D選項中,*不是字符,因此是錯誤的。16、填空題設a為float型變量,輸入寬度為6,小數(shù)占2位,正確的scanf()函數(shù)語句是____。1、2、正確答案:

scanf(“%6.2f”、

&a);、

參考解析:根據(jù)題目要求,輸入寬度為6,小數(shù)占2位,因此格式化字符串應為"%6.2f"。同時,需要將輸入讀入float型變量a,因此需要使用"&a"來獲取a的地址。所以正確的scanf()函數(shù)語句為scanf("%6.2f",&a)。17、單選題字符串"ABC"在內(nèi)存中占用的字節(jié)數(shù)是()。A、

3B、

4C、

6D、

8正確答案:

B

參考解析:字符串"ABC"由三個字符組成,每個字符占用一個字節(jié)的內(nèi)存空間,因此字符串"ABC"在內(nèi)存中占用的字節(jié)數(shù)為3個字節(jié)。但是,由于字符串在內(nèi)存中需要以某種方式進行存儲,通常會在字符串末尾添加一個表示字符串結束的特殊字符'\0',因此實際上字符串"ABC"在內(nèi)存中占用的字節(jié)數(shù)為4個字節(jié)。因此,選項B為正確答案。18、填空題getchar()函數(shù)得到的字符可以賦給一個____變量或一個____1、正確答案:

字符;整型;、

參考解析:根據(jù)題目,getchar()函數(shù)用于從標準輸入(通常是鍵盤)讀取一個字符。這個字符可以被賦給一個字符類型的變量,因為getchar()函數(shù)返回的是字符類型的數(shù)據(jù)。同時,由于題目要求填空,我們也可以將字符賦給一個整型變量,因為字符在計算機內(nèi)部通常是以整數(shù)值表示的。因此,答案為:字符;整型。19、填空題使用getchar()函數(shù)接收字符,若輸入多于一個字符時,只接收個____字符。1、正確答案:

1個;、

參考解析:getchar()函數(shù)用于從標準輸入(通常是鍵盤)接收一個字符。當輸入一個字符時,getchar()函數(shù)只接收一個字符。如果輸入多個字符,它只會接收第一個字符,其余的字符會被忽略。因此,答案為“1個”。20、單選題設有語句“inta=3;”,則執(zhí)行了語句“a+=a-=a*=a;”后,變量a的值是()。A、

3B、

0C、

9D、

-12正確答案:

B

參考解析:首先分析復合賦值運算符的運算規(guī)則對于復合賦值表達式aop=b(這里op可以是+、-、*、/等運算符),它等價于a=aopb。在a+=a-=a*=a;這個表達式中,賦值運算符=的結合性是從右到左。然后從右到左逐步計算先計算a*=a:已知a=3,a*=a等價于a=a*a,此時a=3*3=9。接著計算a-=a:此時a的值為9,a-=a等價于a=a-a,所以a=9-9=0。最后計算a+=a:此時a的值為0,a+=a等價于a=a+a,所以a=0+0=0。

因此,執(zhí)行完a+=a-=a*=a;后,變量a的值是0。21、單選題若有說明語句“charc='\72';”,則變量c在內(nèi)存中占用的字節(jié)數(shù)是()。A、

1B、

2C、

3D、

4正確答案:

A

參考解析:char類型在內(nèi)存中占用1個字節(jié),因此無論c的值是什么,它在內(nèi)存中占用的字節(jié)數(shù)都是1。所以答案為A。22、填空題已知a=7.5,b=2,c=3.6,表達式a>b&;&c;>a||ab的值是____。1、正確答案:

0;、

參考解析:知識點:知識點/運行結果/C2復合賦值運算符T23、單選題下列各項中,不是C語言特點的是()。A、

語言簡潔、緊湊,使用方便B、

數(shù)據(jù)類型豐富,可移植性好C、

能實現(xiàn)匯編語言的大部分功能D、

有較強的網(wǎng)絡操作功能正確答案:

D

參考解析:本題考查對C語言特點的理解。選項A、B、C都是C語言的特點,而選項D則不是C語言的特點。C語言雖然可以通過庫函數(shù)實現(xiàn)網(wǎng)絡操作,但是它本身并沒有較強的網(wǎng)絡操作功能。因此,選項D是本題的正確答案。24、填空題已知a=3,b=-4,c=5,表達式(a&&b)==(a||c)的值是____。1、正確答案:

1;、

參考解析:知識點:知識點/運行結果/C2復合賦值運算符T25、單選題C語言中,要求運算對象只能為整數(shù)的運算符是()。A、

%B、

/C、

>D、

*正確答案:

A

參考解析:本題考查C語言中的運算符。根據(jù)題干中的要求,運算對象只能為整數(shù)的運算符是哪一個。根據(jù)C語言的運算符,可以得出以下結論:A.%:取模運算符,要求運算對象為整數(shù)。B./:除法運算符,可以用于整數(shù)和浮點數(shù)的運算。C.>:大于運算符,可以用于整數(shù)和浮點數(shù)的比較。D.*:乘法運算符,可以用于整數(shù)和浮點數(shù)的運算。綜上所述,只有選項A符合題目要求,因此答案為A。26、簡答題C程序一般由若干個函數(shù)構成,程序中應至少包含一個____,其名稱只能為____。請輸入答案,該題沒有正確答案請自行判斷..0/500正確答案:

參考解析:main()函數(shù);main();27、單選題若已定義x和y為double類型,則表達式x=1,y=x+3/2的值是()。A、

1B、

2C、

2.0D、

2.5正確答案:

C

參考解析:根據(jù)運算符優(yōu)先級,先計算3/2,結果為1,然后將x+1的結果賦值給y,即y=1+1=2,最后將2賦值給x,因此x的值為2.0,y的值為2.0,故選C。28、簡答題計算機編程語言分成____、____、____三大類。C語言誕生于____年,1983年,美國制定的C語言標準為____,1999年由ISO/IEC發(fā)布的C語言標準為____。請輸入答案,該題沒有正確答案請自行判斷..0/500正確答案:

參考解析:機器語言;匯編語言;高級語言;1972;ANSIC;C99;29、單選題sizeof(double)的結果值是()。A、

8B、

4C、

2D、

出錯正確答案:

A

參考解析:sizeof是C語言中的一個運算符,用于計算數(shù)據(jù)類型或變量所占用的字節(jié)數(shù)。double是C語言中的一種浮點數(shù)類型,通常占用8個字節(jié)。因此,sizeof(double)的結果值為8,選項A為正確答案。選項B、C、D都不正確。30、簡答題C程序中一行內(nèi)可寫多條語句,一個語句可寫在多行上,但每條語句必須以____結束。請輸入答案,該題沒有正確答案請自行判斷..0/500正確答案:

參考解析:分號;31、單選題以下用戶標識符中,合法的是()。A、

intB、

nitC、

123D、

a+b正確答案:

B

參考解析:用戶標識符是指在程序中用來標識變量、函數(shù)、類等的名稱。在命名時需要遵守一定的規(guī)則,如不能以數(shù)字開頭,只能包含字母、數(shù)字和下劃線等。選項A中的int是C++中的關鍵字,不能用作標識符;選項C中的123以數(shù)字開頭,不符合命名規(guī)則;選項D中的a+b包含了加號,也不符合命名規(guī)則。因此,合法的用戶標識符只有選項B中的nit。32、簡答題最初編寫的C程序稱為____,其擴展名為____。編譯后生成的文件為____,其擴展名是____。連接后生成的文件是____,其擴展名是____。請輸入答案,該題沒有正確答案請自行判斷..0/500正確答案:

參考解析:源程序;.c;目標文件;.obj;可執(zhí)行文件;.exe;33、單選題表達式18/4*sqrt(4.0)/8值的數(shù)據(jù)類型是()。A、

intB、

floatC、

doubleD、

不確定正確答案:

C

參考解析:根據(jù)運算符優(yōu)先級,先計算括號內(nèi)的sqrt(4.0),結果為2.0。然后進行除法運算18/4,結果為4。最后進行乘法運算4*2.0/8,結果為1.0。因為其中包含了浮點數(shù)2.0,所以結果的數(shù)據(jù)類型為double,因此選項C為正確答案。34、簡答題C語言規(guī)定,標識符只能由____三種字符組成,而且第一個字母必須是____。請輸入答案,該題沒有正確答案請自行判斷..0/500正確答案:

參考解析:字母、數(shù)字、下劃線;字母、下劃線;35、單選題已知字母A的ASCII碼為十進制數(shù)65,且C2為字符型,則執(zhí)行語句“C2='A'+'6'-'3';”后C2中的值是()。A、

DB、

67C、

不確定的值D、

C正確答案:

A

參考解析:根據(jù)ASCII碼表可知,字符'A'的ASCII碼為65,字符'6'的ASCII碼為54,字符'3'的ASCII碼為51。執(zhí)行語句“C2='A'+'6'-'3';”后,先進行'A'+'6'的運算,得到119,再減去'3'的ASCII碼51,最終結果為68,對應的字符為'D'。因此,選項A為正確答案。36、簡答題若x和n都是int型變量,且x的初值為12,n的初值為5,則計算表達式x%=(n%=2)后x的值為____。請輸入答案,該題沒有正確答案請自行判斷..0/500正確答案:

參考解析:0;37、單選題以下選項中不是C語句的是()。A、

++tB、

k=i=j;C、

{a/=b=1;b=a%2;}正確答案:

A

參考解析:選項A是C語言中的自增語句,表示將變量t的值增加1。選項B和C都是正確的C語句,分別表示將變量i和j的值設置為j,同時初始化一個新的代碼塊a并設置a的值為b,以及交換變量a和b的值。所以答案是A,這是沒有歧義的,其他選項都有不同的解釋或應用方式。38、簡答題在計算機中,字符的比較是對它們的____數(shù)值進行比較。請輸入答案,該題沒有正確答案請自行判斷..0/500正確答案:

參考解析:ASCII碼;39、單選題有定義語句:inta=5,b;不能給b賦2的賦值語句是()。A、

b=a/2;B、

b=b+2;C、

b=2%a;D、

b=5;b=2;正確答案:

B

參考解析:根據(jù)題目中的定義語句,變量a被賦值為5,變量b沒有被賦值。因此,選項A中的表達式a/2的結果為2,可以被賦值給b;選項C中的表達式2%a的結果為2,也可以被賦值給b;選項D中的語句b=5;b=2可以被執(zhí)行,最終b的值為2。因此,正確答案為B,即選項B中的表達式b=b+2不能被賦值給b,因為它會將b的值增加2。40、簡答題設“floatx=2.5,y=4.7;inta=7;”,表達式x+a%3*(int)(x+y)%2/4的值為____。請輸入答案,該題沒有正確答案請自行判斷..0/500正確答案:

參考解析:2.5;41、單選題已有定義“inta=-2;”和輸出語句“printf("%8lx",a);”,以下正確的敘述是()。A、

整型變量的輸出形式只有%d一種B、

%x是格式符的一種,它可以適用于任何一種類型的數(shù)據(jù)C、

%x是格式符的一種,其變量的值按十六進制輸出,但%8lx是錯誤的D、

%8lx不是錯誤的格式符,其中數(shù)字8規(guī)定了輸出字段的寬度正確答案:

C

參考解析:本題考查對于C語言中printf函數(shù)的格式化輸出的理解。選項A錯誤,因為除了%d,還有其他的格式符可以用于整型變量的輸出,如%x、%o等。選項B錯誤,因為%x只適用于整型數(shù)據(jù)的輸出。選項D錯誤,因為%8lx中的數(shù)字8表示輸出字段的寬度,而不是格式符的一部分。因此,正確答案為C,%x是格式符的一種,其變量的值按十六進制輸出,但%8lx是錯誤的。42、簡答題求解賦值表達式a=(b=10)%(c=6),表達式值為____,a、b、c的值依次為____、____、____。請輸入答案,該題沒有正確答案請自行判斷..0/500正確答案:

參考解析:4;4;10;6;43、單選題下列程序段的輸出結果是()。<brclass="markdown_return">#include<brclass="markdown_return">Intmain()<brclass="markdown_return">{inta=1234;<brclass="markdown_return">Floatb=123.456;<brclass="markdown_return">Doublec=12345.54321;<brclass="markdown_return">Printf("%2d,%2.1f,%2.1f",a,b,c);<brclass="markdown_return">Return0;}A、

無輸出B、

12,123.5,12345.5C、

1234,123.5,12345.5D、

1234,123.4,1234.5正確答案:

C

參考解析:程序中定義了一個整型變量a,一個單精度浮點型變量b,一個雙精度浮點型變量c。然后使用printf函數(shù)輸出它們的值,格式為"%2d,%2.1f,%2.1f",其中%2d表示輸出整型變量a時占2個字符的寬度,%2.1f表示輸出單精度浮點型變量b和雙精度浮點型變量c時占2個字符的寬度,小數(shù)點后保留1位。因此,輸出結果為"1234,123.5,12345.5",選項C為正確答案。44、簡答題求解逗號表達式“x=a=3,6*a”后,表達式值為____,x、a的值依次為____、____。請輸入答案,該題沒有正確答案請自行判斷..0/500正確答案:

參考解析:18;3;3;45、單選題下列敘述錯誤的是()。A、

C程序中的每條語句都用一個分號作為結束符B、

C程序中的每條命令都用一個分號作為結束符C、

C程序中的變量必須先定義,后使用D、

C語言以小寫字母作為基本書寫形式,并且C語言要區(qū)分字母的大小寫正確答案:

B

參考解析:在C程序中,每條語句都用一個分號作為結束符,而不是每條命令。命令是指C程序中的各種語句和表達式,而語句是指完成某種功能的一組命令的集合。因此,選項B中的敘述是錯誤的。46、簡答題C語言中的三目運算符是____。請輸入答案,該題沒有正確答案請自行判斷..0/500正確答案:

參考解析:?:;47、單選題以下語句的輸出結果是()。<brclass="markdown_return">Printf("%d\n",'A'-51);A、

5B、

14C、

8D、

輸出項不合法,無法正常輸出正確答案:

B

參考解析:題目中的語句為Printf("%d\n",'A'-51),其中'A'的ASCII碼為65,減去51后得到14,因此輸出結果為14,選項B為正確答案。48、簡答題空字符串的長度是____。請輸入答案,該題沒有正確答案請自行判斷..0/500正確答案:

參考解析:1;49、簡答題C語言中,數(shù)值常量59、0123、0x9f對應的十進制分別為____、____、____<brclass="markdown_return">。請輸入答案,該題沒有正確答案請自行判斷..0/500正確答案:

參考解析:59;83;159;50、單選題有以下程序:<p>#include</p><p>Intmain()</p><p>{</p><p>Unsigneda=32768;intb;</p><p>B=a;</p><p>Printf("b=%d\n",b);</p><p>Return0;</p><p>}</p><p>程序運行的結果是</p>A、

b=32768B、

b=32767C、

b=-32768D、

b=-1正確答案:

C

參考解析:本題可根據(jù)無符號整數(shù)和有符號整數(shù)在內(nèi)存中的存儲方式以及數(shù)據(jù)類型轉換規(guī)則來分析程序運行結果。步驟一:分析無符號整數(shù)unsigned和有符號整數(shù)int的存儲范圍在16位系統(tǒng)中,unsignedint(無符號整數(shù))的取值范圍是0到216?1,即0到65535;int(有符號整數(shù))的取值范圍是?215到215?1,即?32768到32767。在32位和64位系統(tǒng)中,unsignedint的取值范圍是0到232?1,int的取值范圍是?231到231?1。但通常在一些題目中默認以16位系統(tǒng)來考察這類知識點,下面按16位系統(tǒng)進行分析。步驟二:分析變量a的存儲形式變量a被定義為unsignedint類型,初始值為32768。在16位系統(tǒng)中,32768的二進制表示為1000000000000000。步驟三:分析將a賦值給b時的類型轉換變量b被定義為int類型,當把unsignedint類型的a賦值給int類型的b時,由于int類型是有符號整數(shù),最高位為符號位,所以b會將a的二進制值1000000000000000按照有符號整數(shù)來解釋。

在有符號整數(shù)中,最高位為1表示負數(shù),對于負數(shù)在計算機中是以補碼形式存儲的,已知補碼求原碼的方法是:補碼減1再取反。

1000000000000000減1得到0111111111111111,再取反得到1000000000000000,其對應的十進制數(shù)就是?32768。

所以程序運行的結果是b=-32768,答案選C。

需要注意的是,上述代碼存在語法錯誤,正確的代碼應該將關鍵字改為小寫,并且字符串要用雙引號括起來,以下是修正后的代碼:

c#include<stdio.h>intmain(){unsigneda=32768;intb;b=a;printf("b=%d\n",b);return0;}51、單選題下面程序的輸出結果是()<brclass="markdown_return">#include<brclass="markdown_return">Intmain()<brclass="markdown_return">{<brclass="markdown_return">Intx=7,y=3;<brclass="markdown_return">Printf("%d",y=x/y);<brclass="markdown_return">Return0;<brclass="markdown_return">}A、

0B、

2C、

3D、

不確定的值正確答案:

B

參考解析:程序中定義了兩個整型變量x和y,分別賦值為7和3。在輸出語句中,先執(zhí)行了y=x/y,由于x和y都是整型變量,所以執(zhí)行的是整型除法,即7/3=2,將結果賦值給y。然后輸出y的值,即2。所以,程序的輸出結果是B選項,即2。52、單選題若變量已正確說明為float型,要通過語句“scanf("%f%f%f",&a,&b,&c);”給a賦予10.0,b賦予22.0,c賦予33.0,下列不正確的輸入形式是()。A、

102233B、

10.0,22.0,33.0C、

10.022.033.0D、

102233正確答案:

B

參考解析:本題考查對scanf函數(shù)的理解和使用。scanf函數(shù)是C語言中用于輸入的函數(shù),其格式為scanf("格式控制字符串",變量列表)。其中,格式控制字符串用于指定輸入的格式,變量列表用于指定輸入的變量。根據(jù)題目中的說明,變量a、b、c已正確說明為float型,因此在輸入時需要使用%f格式控制符。根據(jù)題目要求,需要給a賦予10.0,b賦予22.0,c賦予33.0。因此,正確的輸入形式應該是scanf("%f%f%f",&a,&b,&c);。選項A中輸入的數(shù)字串“102233”可以被正確解析為10.0、22.0、33.0,因此是正確的輸入形式。選項B中使用了逗號分隔符,而scanf函數(shù)默認使用空格作為分隔符,因此無法正確解析輸入,是不正確的輸入形式。選項C中省略了空格或逗號分隔符,同樣無法正確解析輸入,是不正確的輸入形式。選項D中使用了空格分隔符,可以被正確解析為10.0、22.0、33.0,因此是正確的輸入形式。綜上所述,選項B是不正確的輸入形式,是本題的正確答案。53、單選題現(xiàn)有以下程序段:<brclass="markdown_return">#include<brclass="markdown_return">Intmain()<brclass="markdown_return">{int<brclass="markdown_return">A,b,c;<brclass="markdown_return">Scanf("a=%*d%d,b=%d%*d,c=%d",&a,&b,&c);<brclass="markdown_return">Printf("a=%d,b=&d,c=%d\n",a,b,c);<brclass="markdown_return">Return0;<brclass="markdown_return">}<brclass="markdown_return">若輸出的結果為“a=20,b=30,c=40”,則以下能夠正確輸入數(shù)據(jù)的是A、

a=1020,b=2030,c=40B、

20,30,40C、

a=20,b=30,c=40D、

a=1020,b=3020,c=40正確答案:

D

參考解析:在給出的程序段中,使用了`Scanf`函數(shù)進行輸入數(shù)據(jù),并在`Printf`函數(shù)中進行了輸出。從給出的輸出結果來看,正確輸入數(shù)據(jù)的方式應為`a=1020,b=3020,c=40`,這是因為`Scanf`函數(shù)中的`%*d`用于讀取空格前后的數(shù)字并丟棄,`%d`用于讀取一個整數(shù)并將其賦值給變量。因此,選項D符合要求。54、單選題使用scanf("a=%d,b=%d",&a,&b)為變量a和b賦值。要使a和b均為50,正確的輸入是()。A、

a=50b=50B、

5050C、

a=50,b=50D、

50,50正確答案:

C

參考解析:本題考查scanf函數(shù)的使用。scanf函數(shù)的格式控制字符串中可以包含除了轉換說明符之外的其他字符,這些字符將被原樣讀入并且必須與輸入流中的字符完全匹配。因此,正確的輸入應該是a=50,b=50,即選項C。其他選項中,A和D中的逗號會被當做普通字符讀入,導致輸入不正確;B中缺少了變量名,無法正確賦值。55、單選題調(diào)用getchar和putchar函數(shù)時,必須包含的頭文件是()。A、

stdio.hB、

stdlib.hC、

defineD、

以上都不對正確答案:

A

參考解析:本題考查對C語言中輸入輸出函數(shù)的基本知識。getchar和putchar函數(shù)都是C語言中的標準輸入輸出函數(shù),需要包含stdio.h頭文件才能使用。因此,本題的正確答案為A。選項Bstdlib.h是C語言中的標準庫函數(shù)頭文件,與本題無關;選項Cdefine是C語言中的預處理指令,也與本題無關;選項D以上都不對,顯然是錯誤的。56、單選題以下敘述中不正確的是()。A、

調(diào)用printf函數(shù)時,必須要有輸出項B、

使用putchar函數(shù)時,必須在之前包含頭文件stdio.hC、

在C語言中,整數(shù)可以以十進制、八進制或十六進制的形式輸出D、

使用putchar函數(shù)可以不要輸出項正確答案:

A

參考解析:printf函數(shù)是C語言中用于輸出格式化的函數(shù),它可以是無參函數(shù),即不需要輸出項,所以A選項錯誤。B選項正確,putchar函數(shù)是標準庫函數(shù),使用時需要包含頭文件stdio.h。C選項正確,整數(shù)可以用printf函數(shù)以十進制、八進制或十六進制輸出。D選項正確,putchar函數(shù)可以不需要輸出項,比如putchar('A')可以輸出字符'A'。因此,本題答案為A。57、單選題putchar()函數(shù)可以向終端輸出一個()。A、

整型變量表達式值B、

實型變量值C、

字符串D、

字符或字符型變量正確答案:

D

參考解析:putchar()函數(shù)是C語言中的一個標準庫函數(shù),用于向終端輸出一個字符。它可以輸出字符型變量或字符本身。因此,選項D是正確的答案。58、單選題用getchar()函數(shù)可以從鍵盤讀入一個()。A、

整型變量表達式值B、

實型變量值C、

字符串D、

字符或字符型變量正確答案:

D

參考解析:getchar()函數(shù)是C語言中的一個函數(shù),用于從標準輸入(通常是鍵盤)讀取一個字符。這個函數(shù)可以讀取字符或字符型變量,因此選項D是正確的答案。59、單選題一個C程序的執(zhí)行是從()。A、

本程序的main函數(shù)開始,到main函數(shù)結束B、

本程序文件的第一個函數(shù)開始,到本程序文件的最后一個函數(shù)結束C、

本程序文件的第一個函數(shù)開始,到本程序main函數(shù)結束D、

本程序的main函數(shù)開始,到本程序文件的最后一個函數(shù)結束正確答案:

A

參考解析:本題考查對C程序執(zhí)行過程的理解。C程序的執(zhí)行是從main函數(shù)開始,到main函數(shù)結束。因此,選項A是正確的。選項B和選項D都包含了“本程序文件的最后一個函數(shù)結束”,這是錯誤的,因為程序中可能會調(diào)用其他文件中的函數(shù),因此程序的執(zhí)行并不一定在本程序文件中結束。選項C則包含了“本程序文件的第一個函數(shù)開始”,這也是錯誤的,因為程序中可能會有其他函數(shù)在main函數(shù)之前被調(diào)用。因此,本題的正確答案是A。60、單選題有如下程序段:<brclass="markdown_return">#include"stdio.h"<brclass="markdown_return">Intmain()<brclass="markdown_return">{charc;<brclass="markdown_return">C=('z'-'a')/2+'A';<brclass="markdown_return">Putchar(c);<brclass="markdown_return">Return0;}<brclass="markdown_return">輸出結果為A、

MB、

NC、

0D、

Q正確答案:

A

參考解析:這道題考察的是字符類型和ASCII碼的知識。程序中定義了一個字符變量c,然后將字符常量'z'和'a'相減,得到的結果是25,再除以2,得到的結果是12。將12加上字符常量'A'的ASCII碼值65,得到的結果是77,即字符'M'的ASCII碼值。最后使用putchar函數(shù)輸出字符變量c的值,即輸出字符'M'。所以,答案為A。61、單選題當整型變量x為大于1的奇數(shù)時,值為0的表達式是()。A、

x%2==0B、

x/2C、

x%2!=0D、

x%2==1正確答案:

A

參考解析:

根據(jù)題目描述,當整型變量x為大于1的奇數(shù)時,值為0的表達式是x%2==0。

奇數(shù)除以2的余數(shù)一定是1,因此x%2的結果為1。而等于0的表達式可以通過判斷x%2是否等于0來實現(xiàn),因為只有偶數(shù)才能被2整除得到0。

選項A、x%2==0正確地判斷了x是否為偶數(shù),如果x為奇數(shù),表達式結果為0。

因此,根據(jù)題目描述,選項A、x%2==0是正確答案。62、單選題設a為整型變量,不能正確表達數(shù)學關系10A、

10B、

a==11||a==12||a==13||a==14C、

a>10&;&a;<15D、

!(a<=10)&;&!(a>=15)正確答案:

A

參考解析:題目分析:題目要求表達數(shù)學關系10,即a等于10。根據(jù)選項,只有A選項表達了a等于10的關系,因此A選項為正確答案。B選項表達了a等于11、12、13、14的關系,與題目要求不符。C選項表達了a大于10且小于15的關系,不能準確表達a等于10的關系。D選項表達了a不小于等于10且不大于等于15的關系,也不能準確表達a等于10的關系。綜上,A選項為正確答案。解析完畢。63、單選題能正確表示a和b同時為正或同時為負的邏輯表達式是()。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正確答案:

D

參考解析:本題考查邏輯表達式的構建和理解。題目要求表示a和b同時為正或同時為負的邏輯表達式,即a和b同號。選項A中使用了或運算符,無法準確表示a和b同號的情況;選項B中使用了與運算符,但是表達式不正確,應該是(a>=0&&b>=0)||(a<0&&b<0);選項C中使用了加法,無法準確表示a和b同號的情況。因此,正確答案為D,即a*b>0,因為當a和b同號時,它們的乘積為正數(shù)。64、單選題下列運算符中優(yōu)先級最低的是()。A、

?:B、

&&C、

+D、

!=正確答案:

A

參考解析:本題考查運算符的優(yōu)先級。在四個選項中,三個運算符都是比較常見的,但是?:運算符相對來說使用較少,因此容易被忽略。實際上,?:運算符的優(yōu)先級是比較低的,它的優(yōu)先級僅僅高于賦值運算符=。因此,本題的答案是A。65、單選題下列運算符中優(yōu)先級最高的是()。A、

!B、

==C、

+D、

>正確答案:

A

參考解析:本題考查運算符的優(yōu)先級。在四個選項中,邏輯非運算符"!"的優(yōu)先級最高,因此選項A正確。具體來說,邏輯非運算符"!"的優(yōu)先級為1,表示在表達式中優(yōu)先級最高,其次是算術運算符和關系運算符,它們的優(yōu)先級為2和3,最后是邏輯運算符,其優(yōu)先級為4。因此,選項B的優(yōu)先級為3,選項C的優(yōu)先級為2,選項D的優(yōu)先級為3,都不如選項A的優(yōu)先級高。66、單選題設a=3,b=4,c=5,則表達式!(a>b)&&!c||1的結果是()。A、

1B、

0C、

2D、

4正確答案:

A

參考解析:根據(jù)運算符優(yōu)先級,先計算邏輯非運算符!,再計算邏輯與運算符&&,最后計算邏輯或運算符||。!(a>b)的結果為false,因為a=3,b=4,所以a不大于b。!c的結果為false,因為c=5,所以c不為0。false&&false的結果為false,因為邏輯與運算符需要兩個操作數(shù)都為true才能返回true。false||1的結果為true,因為邏輯或運算符只需要有一個操作數(shù)為true就能返回true。因此,表達式的結果為1,選項A正確。67、單選題設a=1,b=2,c=3,d=4,則表達式aA、

4B、

3C、

2D、

1正確答案:

D

參考解析:根據(jù)題目可知,a=1,因此表達式a的值為1。選項中只有D選項的值為1,因此D選項為正確答案。68、單選題下列敘述正確的是()。A、

在switch語句中不一定有break語句B、

在switch語句中必須使用default語句C、

break語句必須與switch語句中的case配對使用D、

break語句只能用于switch語句正確答案:

A

參考解析:A選項正確。在switch語句中,如果某個case語句執(zhí)行完畢后沒有break語句,程序會繼續(xù)執(zhí)行下一個case語句,直到遇到break語句或者整個switch語句結束。因此,在switch語句中不一定有break語句。B選項錯誤。在switch語句中,default語句是可選的,如果沒有default語句,程序會跳過switch語句。C選項錯誤。break語句可以用于任何循環(huán)語句或者switch語句中,不一定要與case語句配對使用。D選項錯誤。break語句可以用于任何循環(huán)語句或者switch語句中,不一定只能用于switch語句。綜上所述,選項A正確,其他選項錯誤。69、單選題若i=10,則執(zhí)行下列程序后,變量i的值為()。<br/>Switch(i)<br/>{case9:i+=1;<br/>Case10:i+=1;<br/>Case11:i+=1;<br/>Default:i+=1;<br/>}A、

11B、

12C、

13D、

14正確答案:

C

參考解析:首先明確switch語句的執(zhí)行規(guī)則:switch語句會根據(jù)給定的表達式的值,與各個case后面的值進行匹配,如果匹配成功,則執(zhí)行對應的語句塊,直到遇到break語句或者switch語句結束。如果沒有break語句,程序會繼續(xù)執(zhí)行下一個case語句塊。分析給定的程序:初始i=10。進入switch(i),因為i=10,所以匹配到case10。在case10中,i+=1,此時i變?yōu)?1。但是沒有break語句,程序繼續(xù)執(zhí)行下一個case。接著執(zhí)行case11,i+=1,i變?yōu)?2。同樣沒有break語句,繼續(xù)執(zhí)行下一個case。執(zhí)行default,i+=1,i變?yōu)?3。

所以執(zhí)行完程序后,變量i的值為13。70、單選題以下敘述不正確的是()。A、

一個C源程序必須包含一個main函數(shù)B、

一個C源程序可由一個或多個函數(shù)組成C、

C程序的基本組成單位是函數(shù)D、

在C程序中,注釋說明只能位于一條語句的后面正確答案:

D

參考解析:A選項正確,因為main函數(shù)是C程序的入口函數(shù),程序從這里開始執(zhí)行。B選項正確,因為C程序可以由多個函數(shù)組成,每個函數(shù)都有自己的功能。C選項正確,因為C程序的基本組成單位是函數(shù),每個函數(shù)都有自己的功能。D選項不正確,因為在C程序中,注釋可以位于一條語句的前面或后面,用來對代碼進行解釋說明,提高代碼的可讀性和可維護性。綜上所述,選項D不正確。71、單選題"for(i=1;i<9;i+=1);"循環(huán)共執(zhí)行了()次。A、

7B、

8C、

9D、

10正確答案:

B

參考解析:根據(jù)題目中的循環(huán)語句,可以得知循環(huán)的初始值為i=1,每次循環(huán)i增加1,當i小于9時繼續(xù)循環(huán),直到i=9時跳出循環(huán)。因此,循環(huán)共執(zhí)行了8次,選項B為正確答案。72、單選題"inta=2;while(a=0)a--;"該循環(huán)共執(zhí)行了()次。A、

0B、

1C、

2D、

3正確答案:

A

參考解析:該循環(huán)的條件為a=0,而不是a==0,因此每次循環(huán)都會將a賦值為0,導致循環(huán)條件不成立,從而跳出循環(huán)。因此該循環(huán)一次也不會執(zhí)行,答案為A。73、單選題執(zhí)行完循環(huán)"for(i=1;i<100;i++);"后,i的值為()。A、

99B、

100C、

101D、

102正確答案:

B

參考解析:循環(huán)條件為i<100,因此當i=100時,循環(huán)結束。而循環(huán)體中只有一個空語句,不會對i的值產(chǎn)生影響。因此執(zhí)行完循環(huán)后,i的值為100,選項B正確。74、單選題以下for語句中,書寫錯誤的是()。A、

for(i=1;i<5;i++)B、

i=1;for(;i<5;i++);C、

for(i=1;i<5;i++);D、

for(i=1;i<5;)i++;正確答案:

D

參考解析:分析各選項中for語句的語法結構選項A:for(i=1;i<5;i++)是標準的for循環(huán)語句格式。它的語法結構為for(初始化表達式;條件表達式;迭代表達式),這里首先將變量i初始化為1,然后只要i小于5就執(zhí)行循環(huán)體(這里沒寫具體循環(huán)體語句,默認執(zhí)行空語句),每次循環(huán)結束后i的值自增1,語法正確。選項B:i=1;for(;i<5;i++);這種寫法也是合法的??梢韵仍趂or語句外面對循環(huán)控制變量進行初始化(如這里先將i賦值為1),for語句中省略了初始化表達式部分(留空),接著按照條件表達式i<5判斷是否執(zhí)行循環(huán),每次循環(huán)后通過i++對i進行自增操作,最后的分號表示空語句作為循環(huán)體(雖然一般不這么寫,但語法上允許這樣構造),語法正確。選項C:for(i=1;i<5;i++);這里的for語句后面直接跟了一個分號,分號在C語言等編程語言中表示一條空語句,意味著這個for循環(huán)的循環(huán)體就是這個空語句,本身語法上沒有錯誤,只是通常情況下可能循環(huán)體里應該有實際要執(zhí)行的操作內(nèi)容,但僅從語法角度看是可以這樣寫的。選項D:for(i=1;i<5;)i++;這個for語句的語法不符合規(guī)范。在for語句的語法結構中,必須要有用于改變循環(huán)控制變量的迭代表達式部分(如i++、i--、i+=2等能改變i值的表達式),這里把應該放在for括號內(nèi)的迭代表達式部分寫在了循環(huán)體里,違背了for語句的正常語法要求,所以是書寫錯誤的。結論答案是選項D。75、單選題()語句,在循環(huán)條件初次判斷為假,還會執(zhí)行一次循環(huán)體。A、

forB、

whileC、

do-whileD、

以上都不是正確答案:

C

參考解析:本題考查循環(huán)語句的執(zhí)行過程。在循環(huán)條件初次判斷為假時,for和while循環(huán)會直接跳出循環(huán),不再執(zhí)行循環(huán)體內(nèi)的語句;而do-while循環(huán)會先執(zhí)行一次循環(huán)體內(nèi)的語句,再進行循環(huán)條件的判斷,只有在循環(huán)條件為真時才會繼續(xù)執(zhí)行循環(huán)體內(nèi)的語句,否則跳出循環(huán)。因此,本題的正確答案為C。76、單選題有以下程序段,其運行結果是()。<brclass="markdown_return">Inti=5;<brclass="markdown_return">Do{<brclass="markdown_return">If(i%3==1)<brclass="markdown_return">If(i%5==2)<brclass="markdown_return">{printf("*%d",i);<brclass="markdown_return">Break;}<brclass="markdown_return">I++;<brclass="markdown_return">}while(i!=0);A、

*2*6B、

*7C、

*5D、

*3*5正確答案:

B

參考解析:程序段中使用了do-while循環(huán),先執(zhí)行一次循環(huán)體再判斷條件是否成立。循環(huán)體中先判斷i是否滿足i%3==1,如果滿足再判斷i是否滿足i%5==2,如果滿足則輸出"*i"并跳出循環(huán),否則i自增1。當i=7時,滿足i%3==1和i%5==2的條件,輸出"*7"并跳出循環(huán),所以答案為B。77、單選題i、j已定義為int類型,則以下程序段中內(nèi)循環(huán)體的執(zhí)行次數(shù)是()。<p>For(i=5;i;i--)</p><p>For(j=0;j<4;j++){…}</p>A、

20B、

24C、

25D、

30正確答案:

A

參考解析:這是一個嵌套循環(huán)的問題。首先,外層循環(huán)從5開始,每次遞減1,直到0。內(nèi)層循環(huán)從0開始,每次遞增4,直到小于或等于外層循環(huán)的當前值i。因此,整個循環(huán)體的執(zhí)行次數(shù)可以通過計算5到0的總和來得到,即5*6/2=15次。因此,選項D是正確的答案。78、單選題以下不構成無限循環(huán)的語句或語句組是()。A、

n=10;while(n);{n--;}B、

n=0;while(1){n++;}C、

n=0;do{++n;}while(n<=0);D、

for(n=0,i=1;;i++)n+=i;正確答案:

C

參考解析:這道題答案是C。解析A選項:n=10;while(n);{n--;}中,while(n)只要n不為0就會持續(xù)循環(huán),后面的{n--;}語句塊在while循環(huán)體之外,不會被執(zhí)行。由于while(n)沒有改變n的操作(循環(huán)體為空語句),且初始n=10不為0,所以會構成無限循環(huán)。B選項:n=0;while(1){n++;}中,while(1)條件恒為真(1在C語言中表示邏輯真),循環(huán)體內(nèi)不斷執(zhí)行n++,但循環(huán)條件始終滿足,會一直循環(huán)下去,構成無限循環(huán)。C選項:n=0;do{++n;}while(n<=0);中,先執(zhí)行do后面的循環(huán)體++n,此時n變?yōu)?,然后判斷while(n<=0),因為1>0,條件不成立,循環(huán)結束,不會構成無限循環(huán)。D選項:for(n=0,i=1;;i++)n+=i;中,for語句的循環(huán)條件為空,意味著條件恒為真,循環(huán)體不斷執(zhí)行n+=i和i++,沒有使循環(huán)終止的條件,會構成無限循環(huán)。79、單選題有以下程序段,其運行結果是()。<br/>Inty=9;<br/>For(;y>0;y--)<br/>If(y%3==0)printf("%d",--y);A、

875421B、

963C、

852D、

741正確答案:

C

參考解析:答案是C。

以下是對該程序段的分析:

首先定義了一個整型變量y并初始化為9,然后進入for循環(huán),循環(huán)條件是y>0,每次循環(huán)結束后y--。在循環(huán)體中,使用if語句判斷y%3==0,即判斷y是否能被3整除。當y=9時,9%3==0條件成立,執(zhí)行printf("%d",--y);。先對y進行自減操作,y變?yōu)?,然后輸出8。當y=8時,8%3!=0,不執(zhí)行if語句中的內(nèi)容。當y=7時,7%3!=0,不執(zhí)行if語句中的內(nèi)容。當y=6時,6%3==0條件成立,執(zhí)行printf("%d",--y);。先對y進行自減操作,y變?yōu)?,然后輸出5。當y=5時,5%3!=0,不執(zhí)行if語句中的內(nèi)容。當y=4時,4%3!=0,不執(zhí)行if語句中的內(nèi)容。當y=3時,3%3==0條件成立,執(zhí)行printf("%d",--y);。先對y進行自減操作,y變?yōu)?,然后輸出2。當y=2時,2%3!=0,不執(zhí)行if語句中的內(nèi)容。當y=1時,1%3!=0,不執(zhí)行if語句中的內(nèi)容。當y=0時,不滿足循環(huán)條件y>0,循環(huán)結束。

所以最終輸出的結果是852,答案選C。80、單選題有以下程序段,其運行結果是()。<brclass="markdown_return">Inti,j;<brclass="markdown_return">For(i=3;i>=1;i--)<brclass="markdown_return">{for(j=1;j<=2;j++)<brclass="markdown_return">Printf("%d",i+j);<brclass="markdown_return">Printf("\n");}A、

234B、

432C、

23D、

45正確答案:

D

參考解析:該程序段是一個嵌套的for循環(huán),外層循環(huán)從3開始,每次減1,內(nèi)層循環(huán)從1開始,每次加到2。由于內(nèi)層循環(huán)在每次外層循環(huán)結束后都會執(zhí)行,因此輸出的結果是:```34```在題目中,內(nèi)層循環(huán)使用了Printf函數(shù)來輸出結果,而i和j的值在每次循環(huán)中都會發(fā)生變化。因此,當i從3遞減到1時,j的值從1遞增到2。所以輸出的結果是:```45```因此,答案是D。81、單選題以下選項中,不正確的C語言浮點型常量是()。A、

160.B、

0.12C、

2e4.2D、

0.0正確答案:

C

參考解析:C語言中的浮點型常量可以用小數(shù)形式表示,也可以用科學計數(shù)法表示。其中,科學計數(shù)法表示的形式為aEb,其中a為實數(shù)部分,E為指數(shù)符號,b為指數(shù)部分,表示為10的b次方。例如,2e4.2表示的是2乘以10的4.2次方。根據(jù)題目所給選項,A、B、D三個選項都是合法的浮點型常量,而C選項中的2e4.2不是合法的浮點型常量,因為指數(shù)部分不能是小數(shù)。因此,本題的答案是C。82、單選題以下不能對一維數(shù)組a進行正確初始化的語句是()。A、

inta[10]={0,0,0,0,0};B、

inta[10]={};C、

inta[]={0};D、

inta[10]={10*1};正確答案:

B

參考解析:A選項中,數(shù)組a被正確初始化為10個元素,每個元素的值都為0。C選項中,數(shù)組a被正確初始化為1個元素,該元素的值為0。D選項中,數(shù)組a被正確初始化為10個元素,每個元素的值都為10。而B選項中,數(shù)組a被錯誤地初始化為10個元素,但是每個元素的值都沒有被指定,因此不能保證它們的值是0。因此,B選項不能正確初始化一維數(shù)組a。83、單選題在C語言中,引用數(shù)組元素時,其數(shù)組下標的數(shù)據(jù)類型允許是()。A、

整型常量B、

整型表達式C、

整型常量或整型表達式D、

任何類型的表達式正確答案:

C

參考解析:在C語言中,引用數(shù)組元素時,其數(shù)組下標的數(shù)據(jù)類型允許是整型常量或整型表達式。整型常量是指固定的整數(shù)值,例如0、1、2等;而整型表達式是指由整型常量和運算符組成的表達式,例如i+1、j*2等。因此,選項C正確。選項A和B都是正確的,但不全面;選項D是錯誤的,因為數(shù)組下標必須是整型類型。84、單選題對以下說明語句,理解正確的是()。<p>Inta[10]={6,7,8,9,10};</p>A、

將5個初值依次賦給a[1]到a[5]B、

將5個初值依次賦給a[0]到a[4]C、

將5個初值依次賦給a[6]到a[10]D、

因為數(shù)組長度與初值的個數(shù)不相同,所以此語句不正確正確答案:

B

85、單選題執(zhí)行下面的程序段后,變量k的值為()。<brclass="markdown_return">Intk=3,s[2];<brclass="markdown_return">S[0]=k;k=s[1]*10;A、

不定值B、

33C、

30D、

10正確答案:

A

參考解析:根據(jù)程序段,首先定義了一個整型變量k并賦值為3,然后定義了一個整型數(shù)組s,數(shù)組中第一個元素賦值為k,即s[0]=3。接著執(zhí)行k=s[1]*10,由于數(shù)組s沒有初始化,所以s[1]的值是不確定的,因此k的值也是不確定的,選項A為正確答案。86、單選題若有說明“inta[][4]={0,0};”,則下面不正確的敘述是()。A、

數(shù)組a的每個元素都可得到初值0B、

二維數(shù)組a的第一維大小為1C、

當初值的個數(shù)能被第二維的常量表達式的值除盡時,所得商數(shù)就是第一維的大小D、

只有元素a[0][0]和a[0][1]可得到初值,其余元素均得不到確定的初值正確答案:

D

參考解析:根據(jù)題目中的說明"inta[][4]={0,0};",可以得出以下信息:-數(shù)組a是一個二維數(shù)組,第一維的大小沒有明確指定,第二維的大小為4。-數(shù)組a的第一個元素a[0]被初始化為{0,0},即a[0][0]=0,a[0][1]=0,其余元素沒有被初始化。根據(jù)以上信息,可以得出以下結論:A、數(shù)組a的每個元素都可得到初值0。這是正確的,因為數(shù)組a的第一個元素a[0]被初始化為{0,0},其余元素沒有被初始化,所以默認初值為0。B、二維數(shù)組a的第一維大小為1。這是不正確的,因為題目中沒有明確指定第一維的大小。C、當初值的個數(shù)能被第二維的常量表達式的值除盡時,所得商數(shù)就是第一維的大小。這是不正確的,因為題目中沒有給出初值的個數(shù),無法確定第一維的大小。D、只有元素a[0][0]和a[0][1]可得到初值,其余元素均得不到確定的初值。這是正確的,因為數(shù)組a的第一個元素a[0]被初始化為{0,0},其余元素沒有被初始化,所以沒有確定的初值。綜上所述,選項D是不正確的敘述。87、單選題若有說明“inta[3][4];”,則a數(shù)組元素的非法引用是()。A、

a[0][2*1]B、

a[1][3]C、

a[4-2][0]D、

a[0][4]正確答案:

D

參考解析:根據(jù)題目中給出的說明“inta[3][4];”,可以知道a數(shù)組是一個二維數(shù)組,其中有3行4列,即a[0][0]~a[2][3]。而選項D中的a[0][4]是一個非法引用,因為數(shù)組a的第二維只有4個元素,下標最大只能是3,所以a[0][4]是越界的。因此,選項D是本題的正確答案。88、單選題以下能對二維數(shù)組a進行正確初始化的語句是()。A、

inta[2][]={{1,0,1},{5,2,3}};B、

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

inta[2][4]={{1,2,3},{4,5},{6}};D、

inta[][3]={{1,0,1},{},{1,1;正確答案:

B

參考解析:A選項中,第二維的長度沒有指定,無法正確初始化二維數(shù)組。B選項中,第一維長度為2,第二維長度為3,可以正確初始化二維數(shù)組。C選項中,第一維長度為2,第二維長度為4,但是初始化的元素個數(shù)不足,無法正確初始化二維數(shù)組。D選項中,第一維長度不確定,第二維長度為3,但是初始化的元素個數(shù)不確定,無法正確初始化二維數(shù)組。因此,正確答案為B。89、單選題下面程序段的輸出結果是()。<brclass="markdown_return">#include<brclass="markdown_return">Intmain()<brclass="markdown_return">{intk,a[3][3]={1,2,3,4,5,6,7,8,9};<brclass="markdown_return">For(k=0;k<3;k++)<brclass="markdown_return">Printf("%d",a[k][2-k]);<brclass="markdown_return">Return0;}A、

357B、

369C、

159D、

147正確答案:

A

參考解析:這道題考察的是二維數(shù)組的訪問。程序中定義了一個3行3列的二維數(shù)組a,并初始化為1~9。然后通過for循環(huán),依次輸出a[0][2]、a[1][1]、a[2][0]三個元素。因為a[0][2]為3,a[1][1]為5,a[2][0]為7,所以輸出結果為357。因此,答案為A。90、單選題設有數(shù)組定義“chararr[]="China";”,則數(shù)組arr所占空間為()。A、

4個字節(jié)B、

5個字節(jié)C、

6個字節(jié)D、

7個字節(jié)正確答案:

C

參考解析:數(shù)組arr中存儲的是字符類型的數(shù)據(jù),每個字符占用一個字節(jié)的空間。而數(shù)組arr中共有6個字符,包括'C'、'h'、'i'、'n'、'a'和'\0'(字符串結束符),因此數(shù)組arr所占空間為6個字節(jié)。故選C。91、單選題若有以下語句,則正確的描述是()。<brclass="markdown_return">Chara[]="toyou";<brclass="markdown_return">Charb[]={'t','o','y','o','u'};A、

a數(shù)組和b數(shù)組的長度相同B、

a數(shù)組長度小于b數(shù)組長度C、

a數(shù)組長度大于b數(shù)組長度D、

a數(shù)組等價于b數(shù)組正確答案:

C

參考解析:-Chara[]="toyou";這行代碼定義了一個字符數(shù)組a,并初始化為字符串"toyou"。由于字符串以'\0'結尾,所以a數(shù)組的長度為6。-Charb[]={'t','o','y','o','u'};這行代碼定義了一個字符數(shù)組b,并初始化為字符序列{'t','o','y','o','u'}。由于沒有以'\0'結尾,所以b數(shù)組的長度為5。-因此,a數(shù)組長度大于b數(shù)組長度,選項C正確。選項A和B都是錯誤的。選項D也是錯誤的,因為a數(shù)組和b數(shù)組雖然存儲的內(nèi)容相同

溫馨提示

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

評論

0/150

提交評論