版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
PAGEPAGE12024年計(jì)算機(jī)二級《C語言程序設(shè)計(jì)》考試題庫大全(含真題、典型題等)一、單選題1.以下合法的標(biāo)識符是A、intB、_a12C、3ceD、stu#答案:B解析:合法的標(biāo)識符必須以字母、下劃線()或者美元符($)開頭,后面可以跟著字母、數(shù)字或者下劃線。根據(jù)這個(gè)規(guī)則,選項(xiàng)B的"_a12"是一個(gè)合法的標(biāo)識符,而選項(xiàng)A的"int"不是合法的標(biāo)識符,因?yàn)樗宰帜搁_頭,后面跟著數(shù)字;選項(xiàng)C的"3ce"也不是合法的標(biāo)識符,因?yàn)樗詳?shù)字開頭;選項(xiàng)D的"stu#"也不是合法的標(biāo)識符,因?yàn)樗朔欠ㄗ址?#"。2.若有說明“inta[3][4];”,則a數(shù)組元素的非法引用是()。A、[0][2*1]B、a[1][3]C、a[4-2][0]D、a[0][4]答案:D解析:根據(jù)題目中給出的說明“inta[3][4];”,可以知道a數(shù)組是一個(gè)二維數(shù)組,其中有3行4列,即a[0][0]~a[2][3]。而選項(xiàng)D中的a[0][4]是一個(gè)非法引用,因?yàn)閿?shù)組a的第二維只有4個(gè)元素,下標(biāo)最大只能是3,所以a[0][4]是越界的。因此,選項(xiàng)D是本題的正確答案。3.用getchar()函數(shù)可以從鍵盤讀入一個(gè)()。A、整型變量表達(dá)式值B、實(shí)型變量值C、字符串D、字符或字符型變量答案:D解析:getchar()函數(shù)是C語言中的一個(gè)函數(shù),用于從標(biāo)準(zhǔn)輸入(通常是鍵盤)讀取一個(gè)字符。這個(gè)函數(shù)可以讀取字符或字符型變量,因此選項(xiàng)D是正確的答案。4.已有定義“inta=-2;”和輸出語句“printf("%8lx",a);”,以下正確的敘述是()。A、整型變量的輸出形式只有%d一種B、%x是格式符的一種,它可以適用于任何一種類型的數(shù)據(jù)C、%x是格式符的一種,其變量的值按十六進(jìn)制輸出,但%8lx是錯(cuò)誤的D、%8lx不是錯(cuò)誤的格式符,其中數(shù)字8規(guī)定了輸出字段的寬度答案:C解析:本題考查對于C語言中printf函數(shù)的格式化輸出的理解。選項(xiàng)A錯(cuò)誤,因?yàn)槌?d,還有其他的格式符可以用于整型變量的輸出,如%x、%o等。選項(xiàng)B錯(cuò)誤,因?yàn)?x只適用于整型數(shù)據(jù)的輸出。選項(xiàng)D錯(cuò)誤,因?yàn)?8lx中的數(shù)字8表示輸出字段的寬度,而不是格式符的一部分。因此,正確答案為C,%x是格式符的一種,其變量的值按十六進(jìn)制輸出,但%8lx是錯(cuò)誤的。5."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,當(dāng)i小于9時(shí)繼續(xù)循環(huán),直到i=9時(shí)跳出循環(huán)。因此,循環(huán)共執(zhí)行了8次,選項(xiàng)B為正確答案。6.putchar()函數(shù)可以向終端輸出一個(gè)()。A、整型變量表達(dá)式值B、實(shí)型變量值C、字符串D、字符或字符型變量答案:D解析:putchar()函數(shù)是C語言中的一個(gè)標(biāo)準(zhǔn)庫函數(shù),用于向終端輸出一個(gè)字符。它可以輸出字符型變量或字符本身。因此,選項(xiàng)D是正確的答案。7.以下用戶標(biāo)識符中,合法的是()。A、intB、nitC、123D、a+b答案:B解析:用戶標(biāo)識符是指在程序中用來標(biāo)識變量、函數(shù)、類等的名稱。在命名時(shí)需要遵守一定的規(guī)則,如不能以數(shù)字開頭,只能包含字母、數(shù)字和下劃線等。選項(xiàng)A中的int是C++中的關(guān)鍵字,不能用作標(biāo)識符;選項(xiàng)C中的123以數(shù)字開頭,不符合命名規(guī)則;選項(xiàng)D中的a+b包含了加號,也不符合命名規(guī)則。因此,合法的用戶標(biāo)識符只有選項(xiàng)B中的nit。8.有定義語句:inta=5,b;不能給b賦2的賦值語句是()。A、b=a/2;B、=b+2;C、b=2%a;D、b=5;b=2;答案:B解析:根據(jù)題目中的定義語句,變量a被賦值為5,變量b沒有被賦值。因此,選項(xiàng)A中的表達(dá)式a/2的結(jié)果為2,可以被賦值給b;選項(xiàng)C中的表達(dá)式2%a的結(jié)果為2,也可以被賦值給b;選項(xiàng)D中的語句b=5;b=2可以被執(zhí)行,最終b的值為2。因此,正確答案為B,即選項(xiàng)B中的表達(dá)式b=b+2不能被賦值給b,因?yàn)樗鼤?huì)將b的值增加2。9.若有說明“inta[][4]={0,0};”,則下面不正確的敘述是()。A、數(shù)組a的每個(gè)元素都可得到初值0B、二維數(shù)組a的第一維大小為1C、當(dāng)初值的個(gè)數(shù)能被第二維的常量表達(dá)式的值除盡時(shí),所得商數(shù)就是第一維的大小D、只有元素a[0][0]和a[0][1]可得到初值,其余元素均得不到確定的初值答案:D解析:根據(jù)C語言的標(biāo)準(zhǔn),當(dāng)我們?yōu)槎S數(shù)組指定初始化列表時(shí),如果沒有顯式指定第一維的大小,那么第一維的大小將根據(jù)初始化列表中提供的元素的數(shù)量自動(dòng)確定。對于提供的聲明`inta[][4]={0,0};`,我們需要對其進(jìn)行解析。首先,第二維的大小是固定的,為4。初始化列表中有兩個(gè)整數(shù)0,它們將被用來初始化數(shù)組的前兩個(gè)元素。由于初始化列表中的元素?cái)?shù)量不足以填滿整個(gè)二維數(shù)組,編譯器將用0來填充剩余的元素。現(xiàn)在,我們逐一分析選項(xiàng):A.數(shù)組a的每個(gè)元素都可得到初值0-正確。因?yàn)楫?dāng)二維數(shù)組部分初始化時(shí),未明確初始化的部分會(huì)被自動(dòng)填充為0。B.二維數(shù)組a的第一維大小為1-錯(cuò)誤。根據(jù)初始化列表,實(shí)際上第一維的大小是由編譯器自動(dòng)計(jì)算的,因?yàn)檫@里只有兩個(gè)0作為初始化值,并且數(shù)組的第二維大小是4,所以編譯器會(huì)根據(jù)這些0的數(shù)量來分配足夠的空間來存儲(chǔ)它們,這意味著第一維的大小至少是2(每個(gè)0占用一個(gè)二維數(shù)組中的一維位置)。C.當(dāng)初值的個(gè)數(shù)能被第二維的常量表達(dá)式的值除盡時(shí),所得商數(shù)就是第一維的大小-正確,但這里不適用于本例,因?yàn)槌跏蓟档臄?shù)量不能整除第二維的大?。?不能整除4)。然而,這個(gè)選項(xiàng)本身描述了一個(gè)正確的規(guī)則,只是在本例中不適用。D.只有元素a[0][0]和a[0][1]可得到初值,其余元素均得不到確定的初值-錯(cuò)誤。實(shí)際上,由于初始化列表中有兩個(gè)0,它們將分別初始化a[0][0]和a[0][1]。但是,由于數(shù)組的部分初始化規(guī)則,剩余的數(shù)組元素(即a[0][2]、a[0][3]以及可能存在的其他行的所有元素)都會(huì)被自動(dòng)初始化為0。因此,根據(jù)以上分析,不正確的敘述是B和D,但根據(jù)提供的答案,這里只選擇了D作為錯(cuò)誤選項(xiàng)。雖然B選項(xiàng)的表述存在誤導(dǎo)性(因?yàn)樗凳玖说谝痪S大小是1,而實(shí)際上它至少是2),但D選項(xiàng)的表述直接違反了C語言數(shù)組初始化的規(guī)則。所以,如果必須選擇一個(gè)不正確的敘述,D選項(xiàng)是更準(zhǔn)確的答案。10.下列程序段的輸出結(jié)果是()。
#include
Intmain()
{inta=1234;
Floatb=123.456;
Doublec=12345.54321;
Printf("%2d,%2.1f,%2.1f",a,b,c);
Return0;}A、無輸出B、12,123.5,12345.5C、1234,123.5,12345.5D、1234,123.4,1234.5答案:C解析:程序中定義了一個(gè)整型變量a,一個(gè)單精度浮點(diǎn)型變量b,一個(gè)雙精度浮點(diǎn)型變量c。然后使用printf函數(shù)輸出它們的值,格式為"%2d,%2.1f,%2.1f",其中%2d表示輸出整型變量a時(shí)占2個(gè)字符的寬度,%2.1f表示輸出單精度浮點(diǎn)型變量b和雙精度浮點(diǎn)型變量c時(shí)占2個(gè)字符的寬度,小數(shù)點(diǎn)后保留1位。因此,輸出結(jié)果為"1234,123.5,12345.5",選項(xiàng)C為正確答案。11.若變量x、i、j和k都是int型變量,則計(jì)算下面表達(dá)式后,x的值是()。
X=(i=4,j=16,k=32)A、4B、16C、32D、52答案:C解析:在C語言中,當(dāng)使用逗號運(yùn)算符時(shí),會(huì)按照從左到右的順序依次計(jì)算各個(gè)表達(dá)式的值,并返回最后一個(gè)表達(dá)式的值。在這個(gè)例子中,表達(dá)式`X=(i=4,j=16,k=32)`使用了逗號運(yùn)算符,它將i的值設(shè)置為4,將j的值設(shè)置為16,將k的值設(shè)置為32,并返回k的值,即32。因此,表達(dá)式`X=(i=4,j=16,k=32)`的結(jié)果是x的值為32,所以正確答案是選項(xiàng)C。12.若有代數(shù)式,則不正確的C語言表達(dá)式是()。A、/b/c*e*3B、3*a*e/b/cC、3*a*e/b*cD、a*e/c/b*3答案:B13.C語言是一種()。A、機(jī)器語言B、匯編語言C、高級語言D、低級語言答案:C解析:本題考查對C語言的基本認(rèn)識。C語言是一種高級語言,它是一種通用的、面向過程的計(jì)算機(jī)編程語言,由DennisRitchie在20世紀(jì)70年代初期在貝爾實(shí)驗(yàn)室為Unix操作系統(tǒng)開發(fā)而設(shè)計(jì)。C語言具有高效、簡潔、靈活等特點(diǎn),被廣泛應(yīng)用于系統(tǒng)軟件、應(yīng)用軟件、嵌入式系統(tǒng)等領(lǐng)域。因此,本題的正確答案為C。14.以下選項(xiàng)中不是C語句的是()。A、++tB、k=i=j;C、{a/=b=1;b=a%2;}答案:A解析:選項(xiàng)A是C語言中的自增語句,表示將變量t的值增加1。選項(xiàng)B和C都是正確的C語句,分別表示將變量i和j的值設(shè)置為j,同時(shí)初始化一個(gè)新的代碼塊a并設(shè)置a的值為b,以及交換變量a和b的值。所以答案是A,這是沒有歧義的,其他選項(xiàng)都有不同的解釋或應(yīng)用方式。15.有以下定義:
Voidfun(intn,doublex){……}
若以下選項(xiàng)中的變量都已正確定義并賦值,則對函數(shù)fun的正確調(diào)用語句是A、fun(intx,doublen);B、m=fun(10,12.5);C、fun(10,12.5);D、voidfun(n,x);答案:C解析:根據(jù)題目中的定義,函數(shù)fun接受一個(gè)整型變量n和一個(gè)雙精度浮點(diǎn)型變量x作為參數(shù)。所以選項(xiàng)A和D都是錯(cuò)誤的,因?yàn)樗鼈兊膮?shù)類型和數(shù)量與函數(shù)定義不符。選項(xiàng)B也錯(cuò)誤,因?yàn)樗噲D將函數(shù)調(diào)用結(jié)果賦值給變量m,但在函數(shù)fun內(nèi)部并沒有返回值。因此,只有選項(xiàng)C是正確的,它只是簡單地調(diào)用函數(shù)fun并傳遞參數(shù)10和12.5。綜上所述,答案為C。16.現(xiàn)有以下程序段:
#include
Intmain()
{int
A,b,c;
Scanf("a=%*d%d,b=%d%*d,c=%d",&a,&b,&c);
Printf("a=%d,b=&d,c=%d\n",a,b,c);
Return0;
}
若輸出的結(jié)果為“a=20,b=30,c=40”,則以下能夠正確輸入數(shù)據(jù)的是A、=1020,b=2030,c=40B、20,30,40C、a=20,b=30,c=40D、a=1020,b=3020,c=40答案:D解析:在給出的程序段中,使用了`Scanf`函數(shù)進(jìn)行輸入數(shù)據(jù),并在`Printf`函數(shù)中進(jìn)行了輸出。從給出的輸出結(jié)果來看,正確輸入數(shù)據(jù)的方式應(yīng)為`a=1020,b=3020,c=40`,這是因?yàn)閌Scanf`函數(shù)中的`%*d`用于讀取空格前后的數(shù)字并丟棄,`%d`用于讀取一個(gè)整數(shù)并將其賦值給變量。因此,選項(xiàng)D符合要求。17.執(zhí)行完循環(huán)"for(i=1;i<100;i++);"后,i的值為()。A、99B、100C、101D、102答案:B解析:循環(huán)條件為i<100,因此當(dāng)i=100時(shí),循環(huán)結(jié)束。而循環(huán)體中只有一個(gè)空語句,不會(huì)對i的值產(chǎn)生影響。因此執(zhí)行完循環(huán)后,i的值為100,選項(xiàng)B正確。18.設(shè)有數(shù)組定義“chararr[]="China";”,則數(shù)組arr所占空間為()。A、4個(gè)字節(jié)B、5個(gè)字節(jié)C、6個(gè)字節(jié)D、7個(gè)字節(jié)答案:C解析:數(shù)組arr中存儲(chǔ)的是字符類型的數(shù)據(jù),每個(gè)字符占用一個(gè)字節(jié)的空間。而數(shù)組arr中共有6個(gè)字符,包括'C'、'h'、'i'、'n'、'a'和'\0'(字符串結(jié)束符),因此數(shù)組arr所占空間為6個(gè)字節(jié)。故選C。19.以下敘述不正確的是()。A、一個(gè)C源程序必須包含一個(gè)main函數(shù)B、一個(gè)C源程序可由一個(gè)或多個(gè)函數(shù)組成C、程序的基本組成單位是函數(shù)D、在C程序中,注釋說明只能位于一條語句的后面答案:D解析:A選項(xiàng)正確,因?yàn)閙ain函數(shù)是C程序的入口函數(shù),程序從這里開始執(zhí)行。B選項(xiàng)正確,因?yàn)镃程序可以由多個(gè)函數(shù)組成,每個(gè)函數(shù)都有自己的功能。C選項(xiàng)正確,因?yàn)镃程序的基本組成單位是函數(shù),每個(gè)函數(shù)都有自己的功能。D選項(xiàng)不正確,因?yàn)樵贑程序中,注釋可以位于一條語句的前面或后面,用來對代碼進(jìn)行解釋說明,提高代碼的可讀性和可維護(hù)性。綜上所述,選項(xiàng)D不正確。20.有以下程序段,其運(yùn)行結(jié)果是()。
Inti,j;
For(i=3;i>=1;i--)
{for(j=1;j<=2;j++)
Printf("%d",i+j);
Printf("\n");}A、234B、432C、23D、45答案:D解析:該程序段是一個(gè)嵌套的for循環(huán),外層循環(huán)從3開始,每次減1,內(nèi)層循環(huán)從1開始,每次加到2。由于內(nèi)層循環(huán)在每次外層循環(huán)結(jié)束后都會(huì)執(zhí)行,因此輸出的結(jié)果是:```34```在題目中,內(nèi)層循環(huán)使用了Printf函數(shù)來輸出結(jié)果,而i和j的值在每次循環(huán)中都會(huì)發(fā)生變化。因此,當(dāng)i從3遞減到1時(shí),j的值從1遞增到2。所以輸出的結(jié)果是:```45```因此,答案是D。21.下面程序段的輸出結(jié)果是()。
#include
Intmain()
{intk,a[3][3]={1,2,3,4,5,6,7,8,9};
For(k=0;k<3;k++)
Printf("%d",a[k][2-k]);
Return0;}A、357B、369C、159D、147答案:A解析:這道題考察的是二維數(shù)組的訪問。程序中定義了一個(gè)3行3列的二維數(shù)組a,并初始化為1~9。然后通過for循環(huán),依次輸出a[0][2]、a[1][1]、a[2][0]三個(gè)元素。因?yàn)閍[0][2]為3,a[1][1]為5,a[2][0]為7,所以輸出結(jié)果為357。因此,答案為A。22.以下能對二維數(shù)組a進(jìn)行正確初始化的語句是()。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選項(xiàng)中,第二維的長度沒有指定,無法正確初始化二維數(shù)組。B選項(xiàng)中,第一維長度為2,第二維長度為3,可以正確初始化二維數(shù)組。C選項(xiàng)中,第一維長度為2,第二維長度為4,但是初始化的元素個(gè)數(shù)不足,無法正確初始化二維數(shù)組。D選項(xiàng)中,第一維長度不確定,第二維長度為3,但是初始化的元素個(gè)數(shù)不確定,無法正確初始化二維數(shù)組。因此,正確答案為B。23.有如下函數(shù)定義:
#include
Intfun(intk)
{if(k<1)return0;
Elseif(k==1)return1;
Elsereturnfun(k-1)+1;
}
若執(zhí)行調(diào)用語句“n=fun(3);”,則函數(shù)fun總共被調(diào)用的次數(shù)是A、1B、2C、3D、5答案:C解析:當(dāng)調(diào)用fun(3)時(shí),fun(3)會(huì)調(diào)用fun(2),fun(2)會(huì)調(diào)用fun(1),fun(1)返回1,fun(2)返回2,fun(3)返回3,因此fun總共被調(diào)用了3次。所以答案為C。24.表達(dá)式18/4*sqrt(4.0)/8值的數(shù)據(jù)類型是()。A、intB、floatC、doubleD、不確定答案:C解析:根據(jù)運(yùn)算符優(yōu)先級,先計(jì)算括號內(nèi)的sqrt(4.0),結(jié)果為2.0。然后進(jìn)行除法運(yùn)算18/4,結(jié)果為4。最后進(jìn)行乘法運(yùn)算4*2.0/8,結(jié)果為1.0。因?yàn)槠渲邪烁↑c(diǎn)數(shù)2.0,所以結(jié)果的數(shù)據(jù)類型為double,因此選項(xiàng)C為正確答案。25.sizeof(double)的結(jié)果值是()。A、8B、4C、2D、出錯(cuò)答案:A解析:sizeof是C語言中的一個(gè)運(yùn)算符,用于計(jì)算數(shù)據(jù)類型或變量所占用的字節(jié)數(shù)。double是C語言中的一種浮點(diǎn)數(shù)類型,通常占用8個(gè)字節(jié)。因此,sizeof(double)的結(jié)果值為8,選項(xiàng)A為正確答案。選項(xiàng)B、C、D都不正確。26.已知intx=10,表達(dá)式x+=x-=x-x的值是()。A、10B、40C、30D、20答案:D解析:首先,根據(jù)運(yùn)算符優(yōu)先級,先執(zhí)行減法運(yùn)算,x-x的值為0。然后,x-=0相當(dāng)于x=x-0,不改變x的值。最后,x+=x,相當(dāng)于x=x+x,即x=2x。因此,最終x的值為20,選項(xiàng)D為正確答案。27.有以下程序段,其運(yùn)行結(jié)果是()。
Inty=9;
For(;y>0;y--)
If(y%3==0)printf("%d",--y);A、875421B、963C、852D、741答案:C解析:首先,定義了一個(gè)整型變量y并賦值為9。然后,進(jìn)入for循環(huán),循環(huán)條件為y>0,每次循環(huán)y自減1。在循環(huán)體內(nèi),判斷y是否能被3整除,如果能,則先將y自減1,再輸出y的值。因此,循環(huán)的執(zhí)行過程如下:第一次循環(huán),y=9,不能被3整除,不輸出。第二次循環(huán),y=8,不能被3整除,不輸出。第三次循環(huán),y=7,不能被3整除,不輸出。第四次循環(huán),y=6,能被3整除,先將y自減1,y變?yōu)?,再輸出5。第五次循環(huán),y=4,不能被3整除,不輸出。第六次循環(huán),y=3,能被3整除,先將y自減1,y變?yōu)?,再輸出2。第七次循環(huán),y=1,不能被3整除,不輸出。因此,程序的輸出結(jié)果為852,選項(xiàng)C為正確答案。28.以下for語句中,書寫錯(cuò)誤的是()。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++;答案:A解析:在A選項(xiàng)中,for語句的格式不正確。在for語句中,冒號后面應(yīng)該是一個(gè)分號,而不是一個(gè)分號加一個(gè)逗號,這是語法錯(cuò)誤。因此,A選項(xiàng)是錯(cuò)誤的。B、C、D選項(xiàng)的for語句格式都是正確的。29.當(dāng)整型變量x為大于1的奇數(shù)時(shí),值為0的表達(dá)式是()。A、x%2==0B、x/2C、x%2!=0D、x%2==1答案:A解析:根據(jù)題目描述,當(dāng)整型變量x為大于1的奇數(shù)時(shí),值為0的表達(dá)式是x%2==0。奇數(shù)除以2的余數(shù)一定是1,因此x%2的結(jié)果為1。而等于0的表達(dá)式可以通過判斷x%2是否等于0來實(shí)現(xiàn),因?yàn)橹挥信紨?shù)才能被2整除得到0。選項(xiàng)A、x%2==0正確地判斷了x是否為偶數(shù),如果x為奇數(shù),表達(dá)式結(jié)果為0。因此,根據(jù)題目描述,選項(xiàng)A、x%2==0是正確答案。30.下列敘述正確的是()。A、在switch語句中不一定有break語句B、在switch語句中必須使用default語句C、break語句必須與switch語句中的case配對使用D、break語句只能用于switch語句答案:A解析:A選項(xiàng)正確。在switch語句中,如果某個(gè)case語句執(zhí)行完畢后沒有break語句,程序會(huì)繼續(xù)執(zhí)行下一個(gè)case語句,直到遇到break語句或者整個(gè)switch語句結(jié)束。因此,在switch語句中不一定有break語句。B選項(xiàng)錯(cuò)誤。在switch語句中,default語句是可選的,如果沒有default語句,程序會(huì)跳過switch語句。C選項(xiàng)錯(cuò)誤。break語句可以用于任何循環(huán)語句或者switch語句中,不一定要與case語句配對使用。D選項(xiàng)錯(cuò)誤。break語句可以用于任何循環(huán)語句或者switch語句中,不一定只能用于switch語句。綜上所述,選項(xiàng)A正確,其他選項(xiàng)錯(cuò)誤。31.若已定義x和y為double類型,則表達(dá)式x=1,y=x+3/2的值是()。A、1B、2C、2.0D、2.5答案:C解析:根據(jù)運(yùn)算符優(yōu)先級,先計(jì)算3/2,結(jié)果為1,然后將x+1的結(jié)果賦值給y,即y=1+1=2,最后將2賦值給x,因此x的值為2.0,y的值為2.0,故選C。32.若函數(shù)調(diào)用時(shí)的實(shí)參為變量,以下關(guān)于函數(shù)形參和實(shí)參的敘述中正確的是()。A、函數(shù)的形參和實(shí)參分別占用不同的存儲(chǔ)單元B、形參只是形式上存在,不占用具體存儲(chǔ)單元C、同名的實(shí)參和形參占同一存儲(chǔ)單元D、函數(shù)的實(shí)參和其對應(yīng)的形參共占同一存儲(chǔ)單元答案:A解析:本題考查函數(shù)的形參和實(shí)參的存儲(chǔ)方式。函數(shù)的形參和實(shí)參在內(nèi)存中是不同的存儲(chǔ)單元,因此選項(xiàng)A正確。選項(xiàng)B錯(cuò)誤,形參在函數(shù)調(diào)用時(shí)會(huì)被賦值為實(shí)參,因此會(huì)占用具體的存儲(chǔ)單元。選項(xiàng)C錯(cuò)誤,同名的實(shí)參和形參雖然可以在函數(shù)內(nèi)部互相訪問,但它們在內(nèi)存中是不同的存儲(chǔ)單元。選項(xiàng)D錯(cuò)誤,函數(shù)的實(shí)參和形參在內(nèi)存中是不同的存儲(chǔ)單元。因此,本題的正確答案是A。33.設(shè)有語句“inta=3;”,則執(zhí)行了語句“a+=a-=a*=a;”后,變量a的值是()。A、3B、0C、9D、-12答案:D34.在C語言中,引用數(shù)組元素時(shí),其數(shù)組下標(biāo)的數(shù)據(jù)類型允許是()。A、整型常量B、整型表達(dá)式C、整型常量或整型表達(dá)式D、任何類型的表達(dá)式答案:C解析:在C語言中,引用數(shù)組元素時(shí),其數(shù)組下標(biāo)的數(shù)據(jù)類型允許是整型常量或整型表達(dá)式。整型常量是指固定的整數(shù)值,例如0、1、2等;而整型表達(dá)式是指由整型常量和運(yùn)算符組成的表達(dá)式,例如i+1、j*2等。因此,選項(xiàng)C正確。選項(xiàng)A和B都是正確的,但不全面;選項(xiàng)D是錯(cuò)誤的,因?yàn)閿?shù)組下標(biāo)必須是整型類型。35.以下語句的輸出結(jié)果是()。
Printf("%d\n",'A'-51);A、5B、14C、8D、輸出項(xiàng)不合法,無法正常輸出答案:B解析:本題目中的語句為Printf("%d\n",'A'-51),其中'A'的ASCII碼為65,減去51后得到14,因此輸出結(jié)果為14,選項(xiàng)B為正確答案。36.若有說明語句“charc='\72';”,則變量c在內(nèi)存中占用的字節(jié)數(shù)是()。A、1B、2C、3D、4答案:A解析:char類型在內(nèi)存中占用1個(gè)字節(jié),因此無論c的值是什么,它在內(nèi)存中占用的字節(jié)數(shù)都是1。所以答案為A。37.一個(gè)C源程序文件中所定義的全局變量,其作用域是()。A、由具體定義位置和extern說明來決定B、所在程序的全部范圍C、所在函數(shù)的全部范圍D、所在文件的全部范圍答案:A解析:全局變量是指在函數(shù)外部定義的變量,其作用域可以跨越多個(gè)函數(shù)。在C語言中,全局變量的作用域可以由具體定義位置和extern說明來決定,因此選項(xiàng)A是正確的。如果在定義全局變量時(shí)使用了extern關(guān)鍵字,則該變量的作用域?qū)U(kuò)展到整個(gè)程序中,即使在其他文件中也可以使用該變量。如果沒有使用extern關(guān)鍵字,則該變量的作用域?qū)⑾拗圃诋?dāng)前文件中。因此,選項(xiàng)B、C、D都是錯(cuò)誤的。38.在一個(gè)C程序中,下列說法正確的是()。A、main函數(shù)必須出現(xiàn)在所有函數(shù)之前B、main函數(shù)可以出現(xiàn)在其他函數(shù)之外的任何位置C、main函數(shù)必須出現(xiàn)在所有函數(shù)之后D、main函數(shù)必須出現(xiàn)在固定位置答案:B解析:在一個(gè)C程序中,main函數(shù)是程序的入口,程序從main函數(shù)開始執(zhí)行。因此,main函數(shù)必須存在于程序中。但是,main函數(shù)的位置并沒有固定的要求,可以出現(xiàn)在其他函數(shù)之外的任何位置,也可以出現(xiàn)在其他函數(shù)之后。因此,選項(xiàng)B是正確的。而選項(xiàng)A、C、D都是錯(cuò)誤的。39.已知intx=023,表達(dá)式++x的值是()。A、17B、18C、19D、20答案:D解析:題目中給出的int類型變量x的值為023,這是一個(gè)八進(jìn)制數(shù),轉(zhuǎn)換為十進(jìn)制為19。表達(dá)式++x表示先將x自增1,再將自增后的值作為表達(dá)式的值。因此,執(zhí)行++x后,x的值變?yōu)?0,表達(dá)式的值也為20。因此,選項(xiàng)D為正確答案。40.已知intx=7,y=3;表達(dá)式x/y的值是()。A、1B、2C、2.333333D、2.33答案:B解析:由于x和y都是int類型,所以進(jìn)行除法運(yùn)算時(shí)會(huì)自動(dòng)進(jìn)行整數(shù)除法,即只保留整數(shù)部分,舍去小數(shù)部分。因此,x/y的值為2。故選B。41.字符串"ABC"在內(nèi)存中占用的字節(jié)數(shù)是()。A、3B、4C、6D、8答案:B解析:字符串"ABC"由三個(gè)字符組成,每個(gè)字符占用一個(gè)字節(jié)的內(nèi)存空間,因此字符串"ABC"在內(nèi)存中占用的字節(jié)數(shù)為3個(gè)字節(jié)。但是,由于字符串在內(nèi)存中需要以某種方式進(jìn)行存儲(chǔ),通常會(huì)在字符串末尾添加一個(gè)表示字符串結(jié)束的特殊字符'\0',因此實(shí)際上字符串"ABC"在內(nèi)存中占用的字節(jié)數(shù)為4個(gè)字節(jié)。因此,選項(xiàng)B為正確答案。42.以下敘述中正確的是()。A、函數(shù)名允許用數(shù)字開頭B、函數(shù)調(diào)用時(shí),不必區(qū)分函數(shù)名稱的大小寫C、調(diào)用函數(shù)時(shí),函數(shù)名必須與被調(diào)用的函數(shù)名完全一致D、在函數(shù)體中只能出現(xiàn)一次return語句答案:C解析:A選項(xiàng)是錯(cuò)誤的,函數(shù)名不能以數(shù)字開頭。B選項(xiàng)是錯(cuò)誤的,函數(shù)名稱是區(qū)分大小寫的。D選項(xiàng)是錯(cuò)誤的,函數(shù)體中可以出現(xiàn)多個(gè)return語句。因此,正確答案是C選項(xiàng),調(diào)用函數(shù)時(shí),函數(shù)名必須與被調(diào)用的函數(shù)名完全一致。43.執(zhí)行下面的程序段后,變量k的值為()。
Intk=3,s[2];
S[0]=k;k=s[1]*10;A、不定值B、33C、30D、10答案:A解析:根據(jù)程序段,首先定義了一個(gè)整型變量k并賦值為3,然后定義了一個(gè)整型數(shù)組s,數(shù)組中第一個(gè)元素賦值為k,即s[0]=3。接著執(zhí)行k=s[1]*10,由于數(shù)組s沒有初始化,所以s[1]的值是不確定的,因此k的值也是不確定的,選項(xiàng)A為正確答案。44.函數(shù)返回值的類型是由()決定的。A、調(diào)用函數(shù)時(shí)臨時(shí)B、return語句的表達(dá)式類型C、調(diào)用該函數(shù)的主調(diào)函數(shù)類型D、定義函數(shù)時(shí),所指定的函數(shù)類型答案:D解析:本題考查函數(shù)返回值類型的確定方式。函數(shù)返回值類型是由定義函數(shù)時(shí)所指定的函數(shù)類型決定的,因此答案為D。A選項(xiàng)錯(cuò)誤,調(diào)用函數(shù)時(shí)臨時(shí)的數(shù)據(jù)類型是函數(shù)參數(shù)的類型,與返回值類型無關(guān)。B選項(xiàng)錯(cuò)誤,return語句的表達(dá)式類型只是返回值類型的一種表達(dá)方式,但并不決定返回值類型。C選項(xiàng)錯(cuò)誤,調(diào)用該函數(shù)的主調(diào)函數(shù)類型與返回值類型也無關(guān)。綜上所述,答案為D。45.已知字母A的ASCII碼為十進(jìn)制數(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';”后,先進(jìn)行'A'+'6'的運(yùn)算,得到119,再減去'3'的ASCII碼51,最終結(jié)果為68,對應(yīng)的字符為'D'。因此,選項(xiàng)A為正確答案。46.以下關(guān)于函數(shù)參數(shù)傳遞方式的敘述正確的是()。A、數(shù)據(jù)只能從實(shí)參單向傳遞給形參B、數(shù)據(jù)可以在實(shí)參和形參之間雙向傳遞C、數(shù)據(jù)只能從形參單向傳遞給實(shí)參D、函數(shù)參數(shù)既可以從實(shí)參單向傳遞給形參,也可以在實(shí)參和形參之間雙向傳遞,可視情況選擇使用答案:A解析:函數(shù)參數(shù)傳遞方式有兩種:值傳遞和引用傳遞。值傳遞是指將實(shí)參的值復(fù)制一份給形參,形參的修改不會(huì)影響實(shí)參。引用傳遞是指將實(shí)參的地址傳遞給形參,形參的修改會(huì)影響實(shí)參。無論是值傳遞還是引用傳遞,數(shù)據(jù)都是從實(shí)參傳遞給形參,因此選項(xiàng)A正確。選項(xiàng)B和C都是錯(cuò)誤的。選項(xiàng)D雖然說的是可以選擇使用哪種傳遞方式,但是并沒有涉及到數(shù)據(jù)傳遞的方向,因此不正確。47.以下不能對一維數(shù)組a進(jìn)行正確初始化的語句是()。A、inta[10]={0,0,0,0,0};B、inta[10]={};C、inta[]={0};D、inta[10]={10*1};答案:B解析:A選項(xiàng)中,數(shù)組a被正確初始化為10個(gè)元素,每個(gè)元素的值都為0。C選項(xiàng)中,數(shù)組a被正確初始化為1個(gè)元素,該元素的值為0。D選項(xiàng)中,數(shù)組a被正確初始化為10個(gè)元素,每個(gè)元素的值都為10。而B選項(xiàng)中,數(shù)組a被錯(cuò)誤地初始化為10個(gè)元素,但是每個(gè)元素的值都沒有被指定,因此不能保證它們的值是0。因此,B選項(xiàng)不能正確初始化一維數(shù)組a。48.以下敘述中不正確的是()。A、調(diào)用printf函數(shù)時(shí),必須要有輸出項(xiàng)B、使用putchar函數(shù)時(shí),必須在之前包含頭文件stdio.hC、在C語言中,整數(shù)可以以十進(jìn)制、八進(jìn)制或十六進(jìn)制的形式輸出D、使用putchar函數(shù)可以不要輸出項(xiàng)答案:A解析:printf函數(shù)是C語言中用于輸出格式化的函數(shù),它可以是無參函數(shù),即不需要輸出項(xiàng),所以A選項(xiàng)錯(cuò)誤。B選項(xiàng)正確,putchar函數(shù)是標(biāo)準(zhǔn)庫函數(shù),使用時(shí)需要包含頭文件stdio.h。C選項(xiàng)正確,整數(shù)可以用printf函數(shù)以十進(jìn)制、八進(jìn)制或十六進(jìn)制輸出。D選項(xiàng)正確,putchar函數(shù)可以不需要輸出項(xiàng),比如putchar('A')可以輸出字符'A'。因此,本題答案為A。49.能正確表示a和b同時(shí)為正或同時(shí)為負(fù)的邏輯表達(dá)式是()。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解析:本題考查邏輯表達(dá)式的構(gòu)建和理解。題目要求表示a和b同時(shí)為正或同時(shí)為負(fù)的邏輯表達(dá)式,即a和b同號。選項(xiàng)A中使用了或運(yùn)算符,無法準(zhǔn)確表示a和b同號的情況;選項(xiàng)B中使用了與運(yùn)算符,但是表達(dá)式不正確,應(yīng)該是(a>=0&&b>=0)||(a<0&&b<0);選項(xiàng)C中使用了加法,無法準(zhǔn)確表示a和b同號的情況。因此,正確答案為D,即a*b>0,因?yàn)楫?dāng)a和b同號時(shí),它們的乘積為正數(shù)。50.設(shè)a=1,b=2,c=3,d=4,則表達(dá)式aA、4B、3C、2D、1答案:D解析:根據(jù)題目可知,a=1,因此表達(dá)式a的值為1。選項(xiàng)中只有D選項(xiàng)的值為1,因此D選項(xiàng)為正確答案。51.有如下程序段:
#include"stdio.h"
Intmain()
{charc;
C=('z'-'a')/2+'A';
Putchar(c);
Return0;}
輸出結(jié)果為A、MB、NC、0D、Q答案:A解析:這道題考察的是字符類型和ASCII碼的知識。程序中定義了一個(gè)字符變量c,然后將字符常量'z'和'a'相減,得到的結(jié)果是25,再除以2,得到的結(jié)果是12。將12加上字符常量'A'的ASCII碼值65,得到的結(jié)果是77,即字符'M'的ASCII碼值。最后使用putchar函數(shù)輸出字符變量c的值,即輸出字符'M'。所以,答案為A。52.下列運(yùn)算符中優(yōu)先級最低的是()。A、?:B、&&C、+D、!=答案:A解析:本題考查運(yùn)算符的優(yōu)先級。在四個(gè)選項(xiàng)中,三個(gè)運(yùn)算符都是比較常見的,但是?:運(yùn)算符相對來說使用較少,因此容易被忽略。實(shí)際上,?:運(yùn)算符的優(yōu)先級是比較低的,它的優(yōu)先級僅僅高于賦值運(yùn)算符=。因此,本題的答案是A。53.一個(gè)C程序的執(zhí)行是從()。A、本程序的main函數(shù)開始,到main函數(shù)結(jié)束B、本程序文件的第一個(gè)函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束C、本程序文件的第一個(gè)函數(shù)開始,到本程序main函數(shù)結(jié)束D、本程序的main函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束答案:A解析:本題考查對C程序執(zhí)行過程的理解。C程序的執(zhí)行是從main函數(shù)開始,到main函數(shù)結(jié)束。因此,選項(xiàng)A是正確的。選項(xiàng)B和選項(xiàng)D都包含了“本程序文件的最后一個(gè)函數(shù)結(jié)束”,這是錯(cuò)誤的,因?yàn)槌绦蛑锌赡軙?huì)調(diào)用其他文件中的函數(shù),因此程序的執(zhí)行并不一定在本程序文件中結(jié)束。選項(xiàng)C則包含了“本程序文件的第一個(gè)函數(shù)開始”,這也是錯(cuò)誤的,因?yàn)槌绦蛑锌赡軙?huì)有其他函數(shù)在main函數(shù)之前被調(diào)用。因此,本題的正確答案是A。54.下面敘述正確的是()。A、兩個(gè)字符串所包含的字符個(gè)數(shù)相同時(shí),才能比較字符串B、字符個(gè)數(shù)多的字符串比字符個(gè)數(shù)少的字符串大C、字符串"STOP"與"STOP"相等D、字符串"That"小于字符串"The"答案:D解析:A選項(xiàng)是錯(cuò)誤的,因?yàn)閮蓚€(gè)字符串所包含的字符個(gè)數(shù)相同并不意味著它們相等,例如"abc"和"cba"就包含相同的字符個(gè)數(shù),但它們并不相等。B選項(xiàng)也是錯(cuò)誤的,因?yàn)樽址拇笮”容^是按照字典序進(jìn)行的,而不是按照字符個(gè)數(shù)進(jìn)行的。C選項(xiàng)是正確的,因?yàn)閮蓚€(gè)相同的字符串是相等的。D選項(xiàng)也是正確的,因?yàn)樵谧值湫蛑校?T"比"t"小,所以"That"比"The"小。55.下面程序的輸出結(jié)果是()
#include
Intmain()
{
Intx=7,y=3;
Printf("%d",y=x/y);
Return0;
}A、0B、2C、3D、不確定的值答案:B解析:程序中定義了兩個(gè)整型變量x和y,分別賦值為7和3。在輸出語句中,先執(zhí)行了y=x/y,由于x和y都是整型變量,所以執(zhí)行的是整型除法,即7/3=2,將結(jié)果賦值給y。然后輸出y的值,即2。所以,程序的輸出結(jié)果是B選項(xiàng),即2。56.一個(gè)C程序總是從()開始執(zhí)行的。A、main函數(shù)B、文件中的第一個(gè)函數(shù)C、文件中的第一個(gè)子函數(shù)調(diào)用D、文件中的第一條語句答案:A解析:C程序的執(zhí)行是從main函數(shù)開始的,因?yàn)椴僮飨到y(tǒng)在執(zhí)行程序時(shí)會(huì)首先找到程序中的main函數(shù),并從該函數(shù)開始執(zhí)行程序。因此,選項(xiàng)A是正確的答案。選項(xiàng)B、C、D都不正確,因?yàn)槲募械牡谝粋€(gè)函數(shù)、子函數(shù)調(diào)用或語句并不一定是main函數(shù),程序的執(zhí)行也不一定從這些位置開始。57.要為字符型變量a賦初值,下列語句中哪一個(gè)是正確的()。A、chara="3";B、chara='3';C、hara=%;D、chara=*;答案:B解析:本題考查對字符型變量賦值的語法規(guī)則的掌握。字符型變量的值必須用單引號括起來,而不能用雙引號或其他符號。因此,選項(xiàng)B是正確的,選項(xiàng)A、C、D都是錯(cuò)誤的。答案解釋:A選項(xiàng)中,用雙引號括起來的是字符串,而不是字符,因此是錯(cuò)誤的。B選項(xiàng)中,用單引號括起來的是字符,符合字符型變量的賦值語法規(guī)則,因此是正確的。C選項(xiàng)中,%不是字符,因此是錯(cuò)誤的。D選項(xiàng)中,*不是字符,因此是錯(cuò)誤的。58.下列運(yùn)算符中優(yōu)先級最高的是()。A、!B、==C、+D、>答案:A解析:本題考查運(yùn)算符的優(yōu)先級。在四個(gè)選項(xiàng)中,邏輯非運(yùn)算符"!"的優(yōu)先級最高,因此選項(xiàng)A正確。具體來說,邏輯非運(yùn)算符"!"的優(yōu)先級為1,表示在表達(dá)式中優(yōu)先級最高,其次是算術(shù)運(yùn)算符和關(guān)系運(yùn)算符,它們的優(yōu)先級為2和3,最后是邏輯運(yùn)算符,其優(yōu)先級為4。因此,選項(xiàng)B的優(yōu)先級為3,選項(xiàng)C的優(yōu)先級為2,選項(xiàng)D的優(yōu)先級為3,都不如選項(xiàng)A的優(yōu)先級高。59.若有以下語句,則正確的描述是()。
Chara[]="toyou";
Charb[]={'t','o','y','o','u'};A、數(shù)組和b數(shù)組的長度相同B、a數(shù)組長度小于b數(shù)組長度C、a數(shù)組長度大于b數(shù)組長度D、a數(shù)組等價(jià)于b數(shù)組答案:C解析:-Chara[]="toyou";這行代碼定義了一個(gè)字符數(shù)組a,并初始化為字符串"toyou"。由于字符串以'\0'結(jié)尾,所以a數(shù)組的長度為6。-Charb[]={'t','o','y','o','u'};這行代碼定義了一個(gè)字符數(shù)組b,并初始化為字符序列{'t','o','y','o','u'}。由于沒有以'\0'結(jié)尾,所以b數(shù)組的長度為5。-因此,a數(shù)組長度大于b數(shù)組長度,選項(xiàng)C正確。選項(xiàng)A和B都是錯(cuò)誤的。選項(xiàng)D也是錯(cuò)誤的,因?yàn)閍數(shù)組和b數(shù)組雖然存儲(chǔ)的內(nèi)容相同,但它們的長度不同。60.使用scanf("a=%d,b=%d",&a,&b)為變量a和b賦值。要使a和b均為50,正確的輸入是()。A、=50b=50B、5050C、a=50,b=50D、50,50答案:C解析:本題考查scanf函數(shù)的使用。scanf函數(shù)的格式控制字符串中可以包含除了轉(zhuǎn)換說明符之外的其他字符,這些字符將被原樣讀入并且必須與輸入流中的字符完全匹配。因此,正確的輸入應(yīng)該是a=50,b=50,即選項(xiàng)C。其他選項(xiàng)中,A和D中的逗號會(huì)被當(dāng)做普通字符讀入,導(dǎo)致輸入不正確;B中缺少了變量名,無法正確賦值。61.若變量已正確說明為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型,因此在輸入時(shí)需要使用%f格式控制符。根據(jù)題目要求,需要給a賦予10.0,b賦予22.0,c賦予33.0。因此,正確的輸入形式應(yīng)該是scanf("%f%f%f",&a,&b,&c);。選項(xiàng)A中輸入的數(shù)字串“102233”可以被正確解析為10.0、22.0、33.0,因此是正確的輸入形式。選項(xiàng)B中使用了逗號分隔符,而scanf函數(shù)默認(rèn)使用空格作為分隔符,因此無法正確解析輸入,是不正確的輸入形式。選項(xiàng)C中省略了空格或逗號分隔符,同樣無法正確解析輸入,是不正確的輸入形式。選項(xiàng)D中使用了空格分隔符,可以被正確解析為10.0、22.0、33.0,因此是正確的輸入形式。綜上所述,選項(xiàng)B是不正確的輸入形式,是本題的正確答案。62.有以下程序段,其運(yùn)行結(jié)果是()。
Inti=5;
Do{
If(i%3==1)
If(i%5==2)
{printf("*%d",i);
Break;}
I++;
}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。當(dāng)i=7時(shí),滿足i%3==1和i%5==2的條件,輸出"*7"并跳出循環(huán),所以答案為B。63.在C語言中,字符型數(shù)據(jù)在計(jì)算機(jī)內(nèi)存中,以字符的()形式存儲(chǔ)。A、原碼B、反碼C、ASCII碼D、BCD碼答案:C解析:在C語言中,字符型數(shù)據(jù)在計(jì)算機(jī)內(nèi)存中以ASCII碼的形式存儲(chǔ)。ASCII碼是一種將字符映射為數(shù)字的編碼方式,每個(gè)字符都對應(yīng)一個(gè)唯一的ASCII碼。例如,字符'A'對應(yīng)的ASCII碼是65,字符'a'對應(yīng)的ASCII碼是97。因此,當(dāng)我們在程序中使用字符型數(shù)據(jù)時(shí),實(shí)際上是在使用對應(yīng)的ASCII碼。所以,選項(xiàng)C是正確的答案。64.若i=10,則執(zhí)行下列程序后,變量i的值為()。Switch(i){case9:i+=1;Case10:i+=1;Case11:i+=1;Default:i+=1;}A、11B、12C、13D、14答案:C65.設(shè)a=3,b=4,c=5,則表達(dá)式!(a>b)&&!c||1的結(jié)果是()。A、1B、0C、2D、4答案:A解析:根據(jù)運(yùn)算符優(yōu)先級,先計(jì)算邏輯非運(yùn)算符!,再計(jì)算邏輯與運(yùn)算符&&,最后計(jì)算邏輯或運(yùn)算符||。!(a>b)的結(jié)果為false,因?yàn)閍=3,b=4,所以a不大于b。!c的結(jié)果為false,因?yàn)閏=5,所以c不為0。false&&false的結(jié)果為false,因?yàn)檫壿嬇c運(yùn)算符需要兩個(gè)操作數(shù)都為true才能返回true。false||1的結(jié)果為true,因?yàn)檫壿嫽蜻\(yùn)算符只需要有一個(gè)操作數(shù)為true就能返回true。因此,表達(dá)式的結(jié)果為1,選項(xiàng)A正確。66.()語句,在循環(huán)條件初次判斷為假,還會(huì)執(zhí)行一次循環(huán)體。A、forB、whileC、do-whileD、以上都不是答案:C解析:本題考查循環(huán)語句的執(zhí)行過程。在循環(huán)條件初次判斷為假時(shí),for和while循環(huán)會(huì)直接跳出循環(huán),不再執(zhí)行循環(huán)體內(nèi)的語句;而do-while循環(huán)會(huì)先執(zhí)行一次循環(huán)體內(nèi)的語句,再進(jìn)行循環(huán)條件的判斷,只有在循環(huán)條件為真時(shí)才會(huì)繼續(xù)執(zhí)行循環(huán)體內(nèi)的語句,否則跳出循環(huán)。因此,本題的正確答案為C。67.下列各項(xiàng)中,不是C語言特點(diǎn)的是()。A、語言簡潔、緊湊,使用方便B、數(shù)據(jù)類型豐富,可移植性好C、能實(shí)現(xiàn)匯編語言的大部分功能D、有較強(qiáng)的網(wǎng)絡(luò)操作功能答案:D解析:本題考查對C語言特點(diǎn)的理解。選項(xiàng)A、B、C都是C語言的特點(diǎn),而選項(xiàng)D則不是C語言的特點(diǎn)。C語言雖然可以通過庫函數(shù)實(shí)現(xiàn)網(wǎng)絡(luò)操作,但是它本身并沒有較強(qiáng)的網(wǎng)絡(luò)操作功能。因此,選項(xiàng)D是本題的正確答案。68."inta=2;while(a=0)a--;"該循環(huán)共執(zhí)行了()次。A、0B、1C、2D、3答案:A解析:該循環(huán)的條件為a=0,而不是a==0,因此每次循環(huán)都會(huì)將a賦值為0,導(dǎo)致循環(huán)條件不成立,從而跳出循環(huán)。因此該循環(huán)一次也不會(huì)執(zhí)行,答案為A。69.C語言中,要求運(yùn)算對象只能為整數(shù)的運(yùn)算符是()。A、%B、/C、>D、*答案:A解析:本題考查C語言中的運(yùn)算符。根據(jù)題干中的要求,運(yùn)算對象只能為整數(shù)的運(yùn)算符是哪一個(gè)。根據(jù)C語言的運(yùn)算符,可以得出以下結(jié)論:A.%:取模運(yùn)算符,要求運(yùn)算對象為整數(shù)。B./:除法運(yùn)算符,可以用于整數(shù)和浮點(diǎn)數(shù)的運(yùn)算。C.>:大于運(yùn)算符,可以用于整數(shù)和浮點(diǎn)數(shù)的比較。D.*:乘法運(yùn)算符,可以用于整數(shù)和浮點(diǎn)數(shù)的運(yùn)算。綜上所述,只有選項(xiàng)A符合題目要求,因此答案為A。70.以下選項(xiàng)中,()是不正確的C語言字符型常量。A、'a'B、'\x41'C、'\101'D、"a"答案:D解析:C語言中,字符型常量用單引號括起來,字符串常量用雙引號括起來。選項(xiàng)A、B、C都是正確的字符型常量,分別表示字符'a'、ASCII碼為65的字符、八進(jìn)制數(shù)101對應(yīng)的字符。選項(xiàng)D使用了雙引號,表示字符串常量,不是字符型常量,因此不正確。71.調(diào)用getchar和putchar函數(shù)時(shí),必須包含的頭文件是()。A、stdio.hB、stdlib.hC、defineD、以上都不對答案:A解析:本題考查對C語言中輸入輸出函數(shù)的基本知識。getchar和putchar函數(shù)都是C語言中的標(biāo)準(zhǔn)輸入輸出函數(shù),需要包含stdio.h頭文件才能使用。因此,本題的正確答案為A。選項(xiàng)Bstdlib.h是C語言中的標(biāo)準(zhǔn)庫函數(shù)頭文件,與本題無關(guān);選項(xiàng)Cdefine是C語言中的預(yù)處理指令,也與本題無關(guān);選項(xiàng)D以上都不對,顯然是錯(cuò)誤的。72.設(shè)a為整型變量,不能正確表達(dá)數(shù)學(xué)關(guān)系10A、10B、a==11||a==12||a==13||a==14C、a>10&;&a;<15D、!(a<=10)&;&!(a>=15)答案:A解析:題目要求表達(dá)數(shù)學(xué)關(guān)系10,即a等于10。根據(jù)選項(xiàng),只有A選項(xiàng)表達(dá)了a等于10的關(guān)系,因此A選項(xiàng)為正確答案。B選項(xiàng)表達(dá)了a等于11、12、13、14的關(guān)系,與題目要求不符。C選項(xiàng)表達(dá)了a大于10且小于15的關(guān)系,不能準(zhǔn)確表達(dá)a等于10的關(guān)系。D選項(xiàng)表達(dá)了a不小于等于10且不大于等于15的關(guān)系,也不能準(zhǔn)確表達(dá)a等于10的關(guān)系。綜上,A選項(xiàng)為正確答案。73.有以下程序:#includeIntmain(){Unsigneda=32768;intb;B=a;Printf("b=%d\n",b);Return0;}程序運(yùn)行的結(jié)果是A、b=32768B、=32767C、b=-32768D、b=-1答案:D解析:該程序中定義了一個(gè)無符號整型變量a并賦值為32768,超過了有符號整型變量的最大值,因此會(huì)發(fā)生溢出。然后將a賦值給有符號整型變量b,由于溢出,b的值為-1。最后輸出b的值為-1,因此答案為D。74.下列不正確的轉(zhuǎn)義字符是()。A、\\B、\'C、074D、\0答案:C解析:轉(zhuǎn)義字符是在字符串中使用反斜杠(\)加上一個(gè)字符來表示特殊字符的方法。常見的轉(zhuǎn)義字符包括\n(換行符)、\t(制表符)、\"(雙引號)等等。A選項(xiàng)中的\\表示一個(gè)反斜杠字符,是正確的轉(zhuǎn)義字符。B選項(xiàng)中的\'表示一個(gè)單引號字符,也是正確的轉(zhuǎn)義字符。C選項(xiàng)中的074不是轉(zhuǎn)義字符,它表示的是一個(gè)八進(jìn)制數(shù),對應(yīng)的十進(jìn)制數(shù)是60。D選項(xiàng)中的\0表示一個(gè)空字符,也是正確的轉(zhuǎn)義字符。因此,不正確的轉(zhuǎn)義字符是C選項(xiàng)中的074。75.i、j已定義為int類型,則以下程序段中內(nèi)循環(huán)體的執(zhí)行次數(shù)是()。For(i=5;i;i--)For(j=0;j<4;j++){…}A、20B、24C、25D、30答案:A76.下列敘述錯(cuò)誤的是()。A、C程序中的每條語句都用一個(gè)分號作為結(jié)束符B、C程序中的每條命令都用一個(gè)分號作為結(jié)束符C、程序中的變量必須先定義,后使用D、C語言以小寫字母作為基本書寫形式,并且C語言要區(qū)分字母的大小寫答案:B解析:在C程序中,每條語句都用一個(gè)分號作為結(jié)束符,而不是每條命令。命令是指C程序中的各種語句和表達(dá)式,而語句是指完成某種功能的一組命令的集合。因此,選項(xiàng)B中的敘述是錯(cuò)誤的。77.以下不構(gòu)成無限循環(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;答案:C78.對以下說明語句,理解正確的是()。Inta[10]={6,7,8,9,10};A、將5個(gè)初值依次賦給a[1]到a[5]B、將5個(gè)初值依次賦給a[0]到a[4]C、將5個(gè)初值依次賦給a[6]到a[10]D、因?yàn)閿?shù)組長度與初值的個(gè)數(shù)不相同,所以此語句不正確答案:B79.以下選項(xiàng)中,不正確的C語言浮點(diǎn)型常量是()。A、160.B、0.12C、2e4.2D、0.0答案:C解析:C語言中的浮點(diǎn)型常量可以用小數(shù)形式
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度注塑機(jī)設(shè)備轉(zhuǎn)讓及市場占有率提升合同樣本4篇
- 2025年度材料安全評價(jià)及風(fēng)險(xiǎn)評估合同范本3篇
- 2025年度新能源項(xiàng)目土地租賃經(jīng)營合同范本4篇
- 2025年度生態(tài)環(huán)保型安置房建設(shè)一體化服務(wù)合同3篇
- 2024版海鮮采購合同
- 2025年度外墻藝術(shù)裝飾工程承攬合同4篇
- 2024維修公司環(huán)保設(shè)備維修人員勞動(dòng)合同范本3篇
- 2024跨國物流倉儲(chǔ)服務(wù)全面合作框架協(xié)議
- 2025年度物流企業(yè)綠色包裝材料采購合同4篇
- 2025年度臨時(shí)設(shè)施搭建與場地租賃合同3篇
- 2024版塑料購銷合同范本買賣
- 【高一上】【期末話收獲 家校話未來】期末家長會(huì)
- JJF 2184-2025電子計(jì)價(jià)秤型式評價(jià)大綱(試行)
- GB/T 44890-2024行政許可工作規(guī)范
- 有毒有害氣體崗位操作規(guī)程(3篇)
- 兒童常見呼吸系統(tǒng)疾病免疫調(diào)節(jié)劑合理使用專家共識2024(全文)
- 2025屆山東省德州市物理高三第一學(xué)期期末調(diào)研模擬試題含解析
- 《華潤集團(tuán)全面預(yù)算管理案例研究》
- 2024-2025高考英語全國卷分類匯編之完型填空(含答案及解析)
- 二年級下冊加減混合豎式練習(xí)360題附答案
- 蘇教版五年級數(shù)學(xué)下冊解方程五種類型50題
評論
0/150
提交評論