國(guó)家二級(jí)C語(yǔ)言機(jī)試(選擇題)模擬試卷17(共255題)_第1頁(yè)
國(guó)家二級(jí)C語(yǔ)言機(jī)試(選擇題)模擬試卷17(共255題)_第2頁(yè)
國(guó)家二級(jí)C語(yǔ)言機(jī)試(選擇題)模擬試卷17(共255題)_第3頁(yè)
國(guó)家二級(jí)C語(yǔ)言機(jī)試(選擇題)模擬試卷17(共255題)_第4頁(yè)
國(guó)家二級(jí)C語(yǔ)言機(jī)試(選擇題)模擬試卷17(共255題)_第5頁(yè)
已閱讀5頁(yè),還剩67頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

國(guó)家二級(jí)C語(yǔ)言機(jī)試(選擇題)模擬試卷17(共9套)(共255題)國(guó)家二級(jí)C語(yǔ)言機(jī)試(選擇題)模擬試卷第1套一、選擇題(本題共25題,每題1.0分,共25分。)1、C源程序中不能表示的數(shù)制是A、八進(jìn)制B、十進(jìn)制C、二進(jìn)制D、十六進(jìn)制標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:在C語(yǔ)言的源程序中,數(shù)值可以用十進(jìn)制、八進(jìn)制和十六進(jìn)制來(lái)表示。不用二進(jìn)制來(lái)表示。2、C語(yǔ)言中的標(biāo)識(shí)符分為關(guān)鍵字、預(yù)定義標(biāo)識(shí)符和用戶(hù)標(biāo)識(shí)符,以下敘述正確的是A、關(guān)鍵字可用作用戶(hù)標(biāo)識(shí)符,但失去原有含義B、在標(biāo)識(shí)符中大寫(xiě)字*和小寫(xiě)字*被認(rèn)為是相同的字符C、用戶(hù)標(biāo)識(shí)符可以由字*和數(shù)字任意順序組成D、預(yù)定義標(biāo)識(shí)符可用作用戶(hù)標(biāo)識(shí)符,但失去原有含義標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:預(yù)定義標(biāo)識(shí)符是C語(yǔ)言中的標(biāo)識(shí)符,在C語(yǔ)言中也有特定的含義,如函數(shù)printf、scanf、sin等和編譯預(yù)處理命令名(如define和inc1ude)。預(yù)定義標(biāo)識(shí)符可以作為用戶(hù)標(biāo)識(shí)符使用,只是這樣會(huì)失去系統(tǒng)規(guī)定的原義。3、對(duì)長(zhǎng)度為n的線(xiàn)性表排序,在最壞情況下,比較次數(shù)不是n(n-1)/2的排序方法是A、快速排序B、冒泡排序C、直接插入排序D、堆排序標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:各種排序方法中最壞情況下需要比較的次數(shù)分別為:冒泡排序n(n-1)/2、快速排序n(n-1)/2、簡(jiǎn)單插入排序n(n-1)/2、希爾排序O(n1.5)、簡(jiǎn)單選擇排序n(n-1)/2、堆排序O(nlog2n)。4、若有定義:doublea=22;inti=0,k=18;則不符合C語(yǔ)言規(guī)定的賦值語(yǔ)句是A、i=(a+k)<=(i+k);B、a=a++,i++;C、i=a%11;D、i=!a;標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:在C語(yǔ)言中,求余運(yùn)算符的運(yùn)算對(duì)象只能是整型,在題目中,變量a是一個(gè)雙精型實(shí)型變量。5、有如下程序段:intx=12;doubley=3.141593;printf("%d%8.6f",x,y);其輸出結(jié)果是A、123.141593B、12.3.141593C、123.1415930D、123.141593標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:本題考查printf語(yǔ)句。printf()函數(shù)是格式化輸出函數(shù).一般用于向標(biāo)準(zhǔn)輸出設(shè)備按規(guī)定格式輸出信息。在編寫(xiě)程序時(shí)經(jīng)常會(huì)用劍此函數(shù)。printf()函數(shù)的調(diào)用格式為:printf("<格式化字符串>",<參量表>)。其中,“格式化字符串”包括兩部分內(nèi)容:一部分是正常字符,這些字符將按原樣輸出;另一部分是格式化規(guī)定字符.以“%”開(kāi)始,后跟一個(gè)或幾個(gè)規(guī)定字符.用來(lái)確定輸出內(nèi)容格式。格式化字符串的格式是:%[標(biāo)志][輸出最小寬度][精度][長(zhǎng)度]格式字符①標(biāo)志:標(biāo)志字符為-、+、窄格等,其意義如下所示:.-:結(jié)果左對(duì)齊,右邊填空格;.+:輸出符號(hào)(正號(hào)或負(fù)號(hào));.空格:輸出值為正時(shí)冠以空格,為負(fù)時(shí)冠以負(fù)號(hào)。②輸出最小寬度:用十進(jìn)制整數(shù)來(lái)表示輸出的最少位數(shù)(包括小數(shù)點(diǎn)在內(nèi)至少要輸出這么多位)。.若實(shí)際位數(shù)多于定義的寬度,則按實(shí)際位數(shù)輸出;.若實(shí)際位數(shù)少于定義的寬度,則右對(duì)齊,左邊留空;.有負(fù)號(hào).左對(duì)齊.右邊留空;.表示寬度的數(shù)字以0開(kāi)始,則右對(duì)齊,左邊留空。③精度:精度格式符以“.”開(kāi)頭.后跟十進(jìn)制整數(shù)。它的意義是:如果輸出數(shù)字,則表示小數(shù)的位數(shù),若實(shí)際位數(shù)人于所定義的精度數(shù),則四舍五入。若不足則補(bǔ)0;如果輸出的是字符,則表示輸出字符的個(gè)數(shù),若實(shí)際位數(shù)大于所定義的精度數(shù),則截去超過(guò)的部分;④長(zhǎng)度:長(zhǎng)度格式符為h和1兩種,h表示按短整型量輸出,1表示按長(zhǎng)整型量輸出。6、以下程序段中,與語(yǔ)句:k=a>b?(b>c?1:0):0;功能相同的是A、if((a>b)‖(b>c))k=1;elsek=0;B、if(a<=b)k=0;elseif(b<=c)k=1;C、if((a>b)&&(b>c))k=1;elsek=0;D、if(a>b)k=1;elseif(b>c)k=1;elsek=0;標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:題干中的表達(dá)式的功能是當(dāng)a>b并且b>c時(shí),變量k的值等于1,其余情況下,變量k的值都是等于0。7、下列選項(xiàng)中,能夠滿(mǎn)足“只要字符串s1等于字符串s2,則執(zhí)行ST”要求的是A、if(s1==s2)ST;B、if(strcpy(s1,s2)==1)ST;C、if(strcmp(s2,s1)==0)ST;D、if(s1-s2==0)ST;標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:在C語(yǔ)言中要對(duì)兩個(gè)字符串的大小進(jìn)行比較,就需要調(diào)用字符串比較函數(shù)stremp(),如果這個(gè)函數(shù)的返回值等于0,說(shuō)明兩個(gè)字符串相等。8、以下敘述中正確的是A、程序必須包含所有三種基本結(jié)構(gòu)才能成為一種算法B、如果算法非常復(fù)雜,則需要使用三種基本結(jié)構(gòu)之外的語(yǔ)句結(jié)構(gòu),才能準(zhǔn)確表達(dá)C、只有簡(jiǎn)單算法才能在有限的操作步驟之后結(jié)束D、我們所寫(xiě)的每條C語(yǔ)句,經(jīng)過(guò)編譯最終都將轉(zhuǎn)換成二進(jìn)制的機(jī)器指令標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:C語(yǔ)句構(gòu)成了函數(shù),函數(shù)構(gòu)成的程序,經(jīng)過(guò)編譯轉(zhuǎn)換成、二進(jìn)制代碼后可以運(yùn)行,算法是指為解決某個(gè)特定問(wèn)題而采取的確定且有限的步驟,可以利用代碼來(lái)描述算法,而算法+數(shù)據(jù)結(jié)構(gòu)才是程序,結(jié)構(gòu)化的程序由順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)和選擇結(jié)構(gòu)三種基本結(jié)構(gòu)組成。由這三種基本結(jié)構(gòu)組成的算法可以解決任何復(fù)雜的問(wèn)題,反之則不一定,所有算法必須在有限步驟后結(jié)束。9、以下關(guān)于邏輯運(yùn)算符兩側(cè)運(yùn)算對(duì)象的敘述中正確的是A、只能是整數(shù)0或非0整數(shù)B、可以是結(jié)構(gòu)體類(lèi)型的數(shù)據(jù)C、可以是任意合法的表達(dá)式D、只能是整數(shù)0或1標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:邏輯運(yùn)算符兩側(cè)的運(yùn)算對(duì)象可以是任意合法的表達(dá)式。邏輯表達(dá)式的運(yùn)算結(jié)果或者為1(“真”),或者為0(“假”)。10、若有定義語(yǔ)句:chars[10]="1234567\0\0";,則strlen(s)的值是A、7B、8C、9D、10標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:本題考查字符串?dāng)?shù)組和字符串函數(shù)。數(shù)組s有7個(gè)數(shù)字,然后跟著結(jié)束符“\0”,因此數(shù)組s的長(zhǎng)度為7。11、有以下程序#includevoidfun(int*a,intn)/*fun函數(shù)的功能是將a所指數(shù)組元素從大到小排序*/{intt,i,j;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}main(){intc[10]={1,2,3,4,5,6,7,8,9,0},i;fun(c+4,6);for(i=0;i<10;i++)printf("%d,",c[i]);printf("\n");}程序的運(yùn)行結(jié)果是A、1,2,3,4,9,8,7,6,5,0,B、0,9,8,7,6,5,1,2,3,4,C、0,9,8,7,6,5,4,3,2,1,D、1,2,3,4,5,6,7,8,9,0,標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:該題目中fun函數(shù)的功能是將a所指數(shù)組元素從大到小排序,fun(c+4,6);即指排序從第5個(gè)元素開(kāi)始進(jìn)行從大到小排序。因此A選項(xiàng)正確。12、流程圖是描述算法的很好的工具,一般的流程圖中由幾種基本圖形組成。其中輸入輸出框的圖形是()。A、平行四邊形B、長(zhǎng)方形C、橢圓型D、菱形標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:繪制流程圖中,習(xí)慣用圓角矩形表示"開(kāi)始"與"結(jié)束";用矩形表示行動(dòng)方案、普通工作環(huán)節(jié);用菱形表示問(wèn)題判斷或判定(審核/審批/評(píng)審)環(huán)節(jié);用平行四邊形表示輸入輸出;箭頭代表工作流方向。答案選A。13、有以下程序#includemain(){intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;for(i=0;i<3;i++)for(j=i;j<=i;j++)t+=b[i][b[j][i]];printf("%d\n",t);}程序運(yùn)行后的輸出結(jié)果是()。A、4B、3C、1D、9標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:考查二維數(shù)組的遍歷,t=t+b[0][b[0][0]]+b[1][b[1][1]]+b[2][b[2][2]]=t+b[0][0]+b[1][1]+b[2][2]=1+0+1+2=4,所以答案選A。14、有以下程序#include#defineN4voidfun(inta[][N],intb[]){inti;for(i=0;iA、-3,-1,1,3,B、-12,-3,0,0,C、0,1,2,3,D、-3,-3,-3,-3,標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:函數(shù)fun()的功能是計(jì)算b[i]:b[0]=a[0][0]-a[0][3]=-3,b[1]=a[1][1]-a[1][2]=-1,b[2]=a[2][2]-a[2][1]=1,b[3]=a[3][3]-a[3][0]=3,所以計(jì)算得到的y值為選項(xiàng)A)。15、下面結(jié)構(gòu)體的定義語(yǔ)句中,錯(cuò)誤的是A、structord{intx;inty;intz;);structorda;B、structord{intx;inty;intz;)structorda;C、structord{intx;inty;intz;}a;D、stmct{intx;inty;intz;)a;標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:在選項(xiàng)B中,由于在定義完結(jié)構(gòu)體后缺少分號(hào)“;”,所以這是一條不完整的語(yǔ)句,因而是錯(cuò)誤的。16、若有以下定義intx[10],*pt=x;則對(duì)x數(shù)組元素的正確引用是A、*(x+3)B、*&x[10]C、*(pt+10)D、pt+3標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:本題考查指針的調(diào)用。x代表x[10]數(shù)組的首地址指針,pt是指向x[10]數(shù)組的首地址的指針,即兩者指向同一內(nèi)存單元。*(x+3)等同于x[3]。17、若有以下程序typedefstructstu{charname[10],gender;intscore;}STU;voidf(STUa,STUb){b=a;printf("%s,%c,%d,",b.name,b.gende,b.score);}main(){STUa={"Zhao",’m’,290},b={"Qian",’f’,350};f(a,b);printf("%s,%c,%d\n",b.name,b.gender,b.score);}則程序的輸出結(jié)果是A、Zhao,m,290,Zhao,m,290B、Zhao,m,290,Qian,f,350C、Qian,f,350,Qian,f,350D、Zhao,m,290,Zhao,f,350標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:函數(shù)f(STUa,STUb)的主要功能是為把結(jié)構(gòu)體變量a的值存放到b中,然后輸出b中各個(gè)成員的值。主函數(shù)中調(diào)用函數(shù)f(a,b),輸出賦值以后b的數(shù)據(jù),實(shí)際為a{"Zhao",’m’,290}的數(shù)據(jù),函數(shù)調(diào)用結(jié)束,形參a和b撤銷(xiāo),流程到主函數(shù)輸出b{"Qian",’f’,350}的數(shù)據(jù)。18、讀取二進(jìn)制文件的函數(shù)調(diào)用形式為:fread(buffer,size,count,fp);其中buffer代表的是A、一個(gè)整型變量,代表待讀取的數(shù)據(jù)的字節(jié)數(shù)B、一個(gè)內(nèi)存塊的首地址,代表讀入數(shù)據(jù)存放的地址C、一個(gè)文件指針,指向待讀取的文件D、一個(gè)內(nèi)存塊的字節(jié)數(shù)標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:buffer是數(shù)據(jù)塊的指針,對(duì)fread來(lái)說(shuō),它是內(nèi)存塊的首地址,輸入的數(shù)據(jù)存入此內(nèi)存塊中。19、下面關(guān)于“EOF”的敘述,正確的是A、EOF的值等于0B、文本文件和二進(jìn)制文件都可以用EOF作為文件結(jié)束標(biāo)志C、EOF是在庫(kù)函數(shù)文件中定義的符號(hào)常量D、對(duì)于文本文件,fgetc函數(shù)讀入最后一個(gè)字符時(shí),返回值是EOF標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:EOF是在stdio.h庫(kù)函數(shù)文件中定義的符號(hào)常量,其值等于-1。EOF用作文件結(jié)束標(biāo)志,在二進(jìn)制或者文本文件內(nèi)部有一個(gè)位置指針,用以指示文件內(nèi)部的當(dāng)前讀寫(xiě)位置。使用fgetc函數(shù),每讀寫(xiě)一次,該指針均向后移動(dòng),20、以下結(jié)構(gòu)體類(lèi)型說(shuō)明和變量定義中正確的是()。A、typedefstruct{intn;charc;}REC;RECt1,t2;B、structREC;{intn;charc;};RECt1,t2;C、typedefstructREC;{intn=0;charc=’A’;}t1,t2;D、struct{intn;charc;}REC;RECt1,t2;標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:選項(xiàng)B)定義變量時(shí)需要加上struct,選項(xiàng)C)結(jié)構(gòu)體定義不正確,選項(xiàng)D中REC已經(jīng)為結(jié)構(gòu)體變量,不能用它去定義其他變量,所以答案選A)。21、若有以下程序#includechar*a="you",b[]="welcome#you#to#China!";main(){inti,j=0;char*p;for(i=0;b[i]!=’\0’;i++){if(*a==b[i]){p=&b[i];for(j=0;a[j]!=’\0’;j++){if(a[j]!=*p)break;p++;}if(a[j]==’\0’)break;}}printf("%s\n",p);}則程序的輸出結(jié)果是A、#to#China!B、#you#to#China!C、me#you#to#China!D、#China!標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:該程序首先定義*a和b[],并進(jìn)行初始化。主函數(shù)中通過(guò)外層for循環(huán)語(yǔ)句,遍歷字符數(shù)組b[],并且將符合if條件語(yǔ)句的字符賦給數(shù)組p;for內(nèi)層循環(huán)語(yǔ)句,遍歷字符數(shù)組a[]。再將符合if條件語(yǔ)句的結(jié)果輸出。因此A選項(xiàng)正確。22、以下敘述中正確的是A、邏輯"或"(即運(yùn)算符||)的運(yùn)算級(jí)別比算術(shù)運(yùn)算要高B、C語(yǔ)言的關(guān)系表達(dá)式:0C、邏輯"非"(即運(yùn)算符!)的運(yùn)算級(jí)別是最低的D、由&&構(gòu)成的邏輯表達(dá)式與由||構(gòu)成的邏輯表達(dá)式都有"短路"現(xiàn)象標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:B選項(xiàng)中,(x>0)&&(x<10)的值是1或0,條件是x>0并且x<10。但是0<x<10這種寫(xiě)法的結(jié)果任何時(shí)候都是1;C選項(xiàng)中,邏輯"非"(即運(yùn)算符!)的運(yùn)算級(jí)別是最高的;A選項(xiàng)中,算術(shù)運(yùn)算符優(yōu)先級(jí)較高,關(guān)系和邏輯運(yùn)算符優(yōu)先級(jí)較低。因此D選項(xiàng)正確。23、下面關(guān)于位運(yùn)算符的敘述,正確的是A、||表示"按位或"的運(yùn)算B、#表示"按位異或"的運(yùn)算C、&表示"按位與"的運(yùn)算D、~表示"按位異或"的運(yùn)算標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題考查位運(yùn)算。^為按位異或,|為按位或,~表示按位取反。所以C選項(xiàng)正確。24、由關(guān)系R1和R2得到關(guān)系R3的操作是()。A、笛卡爾積B、并C、等值連接D、交標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:關(guān)系R1和關(guān)系R2沒(méi)有同名列,但關(guān)系Rl中的B列與關(guān)系R2中的D列有相等值,因此屬于等值連接。25、若有定義語(yǔ)句:char*s1="OK",*s2="ok";,以下選項(xiàng)中,能夠輸出"OK"的語(yǔ)句是()。A、if(strcmp(s1,s2)!=0)puts(s2);B、if(strcmp(s1,s2)!=0)puts(s1);C、if(strcmp(s1,s2)==1)puts(s1);D、if(strcmp(s1,s2)==0)puts(s1);標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:“strcmp(s1,s2)”是字符串比較函數(shù),比較規(guī)則是兩個(gè)字符串自左向右逐個(gè)字符相比較(按照ASCII值大小)。因?yàn)椤癘K”<“ok”,所以“strcmp(s1,s2)”為負(fù)值。故本題答案為B選項(xiàng)。國(guó)家二級(jí)C語(yǔ)言機(jī)試(選擇題)模擬試卷第2套一、選擇題(本題共25題,每題1.0分,共25分。)1、下列敘述中正確的是A、線(xiàn)性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)與順序存儲(chǔ)結(jié)構(gòu)所需要的存儲(chǔ)空間是相同的B、線(xiàn)性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)所需要的存儲(chǔ)空間一般要多于順序存儲(chǔ)結(jié)構(gòu)C、線(xiàn)性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)所需要的存儲(chǔ)空間一般要少于順序存儲(chǔ)結(jié)構(gòu)D、上述三種說(shuō)法都不對(duì)標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:線(xiàn)性表的存儲(chǔ)分為順序存儲(chǔ)和鏈?zhǔn)酱鎯?chǔ)。在順序存儲(chǔ)中,所有元素所占的存儲(chǔ)空間是連續(xù)的,各數(shù)據(jù)元素在存儲(chǔ)空間中是按邏輯順序依次存放的。所以每個(gè)元素只存儲(chǔ)其值就可以了,而在鏈?zhǔn)酱鎯?chǔ)的方式中,將存儲(chǔ)空間的每一個(gè)存儲(chǔ)結(jié)點(diǎn)分為兩部分,一部分用于存儲(chǔ)數(shù)據(jù)元素的值,稱(chēng)為數(shù)據(jù)域;另一部分用于存儲(chǔ)下一個(gè)元素的存儲(chǔ)序號(hào),稱(chēng)為指針域。所以線(xiàn)性表的鏈?zhǔn)酱鎯?chǔ)方式比順序存儲(chǔ)方式的存儲(chǔ)空間要大一些。2、C語(yǔ)言程序中,若函數(shù)無(wú)返回值,則應(yīng)該對(duì)函數(shù)說(shuō)明的類(lèi)型是()。A、intB、doubleC、charD、void標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:int表示返回值是整型,double表示返回值是雙精度型,char表示返回值是字符型,voicl表示無(wú)返回值。3、有以下定義語(yǔ)句,編譯時(shí)會(huì)出現(xiàn)編譯錯(cuò)誤的是A、chara=’\n’;B、chara="aa";C、chara=’a’;D、chara=’\x2d’;標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:在選項(xiàng)B中,由兩個(gè)字符aa組成一個(gè)字符串賦給一個(gè)字符變量a時(shí)會(huì)出錯(cuò)。4、下面不能作為軟件設(shè)計(jì)工具的是()。A、PAD圖B、程序流程圖C、數(shù)據(jù)流程圖(DFD圖)D、總體結(jié)構(gòu)圖標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:軟件設(shè)計(jì)可以使用的工具有總體結(jié)構(gòu)圖、程序流程圖、N-S圖、PAD圖、PDL。數(shù)據(jù)流程圖(DFD圖)是需求分析使用的工具。5、以下關(guān)于C語(yǔ)言數(shù)據(jù)類(lèi)型使用的敘述中錯(cuò)誤的是()。A、若要處理如“人員信息”等含有不同類(lèi)型的相關(guān)數(shù)據(jù),應(yīng)自定義結(jié)構(gòu)體類(lèi)型B、若要保存帶有多位小數(shù)的數(shù)據(jù),可使用雙精度類(lèi)型C、若只處理“真”和“假”兩種邏輯值,應(yīng)使用邏輯類(lèi)型D、整數(shù)類(lèi)型表示的自然數(shù)是準(zhǔn)確無(wú)誤差的標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:C語(yǔ)言中沒(méi)有邏輯類(lèi)型,所以C錯(cuò)誤。若要保存帶有多位小數(shù)的數(shù)據(jù),可以用單精度類(lèi)型,也可以用雙精度類(lèi)型。處理包含不同類(lèi)型的相關(guān)數(shù)據(jù)可以定義為結(jié)構(gòu)體類(lèi)型。整數(shù)類(lèi)型可以無(wú)誤差地表示自然數(shù)。6、某二叉樹(shù)共有7個(gè)結(jié)點(diǎn),其中葉子結(jié)點(diǎn)只有1個(gè),則該二叉樹(shù)的深度為(假設(shè)根結(jié)點(diǎn)在第1層)()。A、3B、4C、6D、7標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:根據(jù)二叉樹(shù)的基本性質(zhì):在任意一棵二叉樹(shù)中,度為0的葉子結(jié)點(diǎn)總比度為2的結(jié)點(diǎn)多一個(gè),因此本題中度為2的結(jié)點(diǎn)為1—1=0個(gè),據(jù)此可以知道本題中的二叉樹(shù)的每一個(gè)結(jié)點(diǎn)都有一個(gè)分支,所以共有7個(gè)結(jié)點(diǎn)、共7層,即深度為7,選擇D。7、將E-R圖轉(zhuǎn)換到關(guān)系模式時(shí),實(shí)體與聯(lián)系都可以表示成()。A、屬性B、關(guān)系C、記錄D、碼標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:E-R圖由實(shí)體、實(shí)體的屬性和實(shí)體之間的聯(lián)系3個(gè)要素組成,關(guān)系模型的邏輯結(jié)構(gòu)是一組關(guān)系模式的集合,將E-R圖轉(zhuǎn)換為關(guān)系模型:將實(shí)體、實(shí)體的屬性和實(shí)體之間的聯(lián)系轉(zhuǎn)化為關(guān)系模式。如表4-1所示。8、有以下程序:#include<stdio.h>main(){ints[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;for(i=0;i<12;i++)e[s[i]]++;for(i=1;i<5;i++)printf("%d",c[i]);printf("\n");}程序的運(yùn)行結(jié)果是()。A、2344B、4332C、1234D、1123標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:在for(i=0;i<12;i++)c[s[i]]++中,數(shù)組元素s[i]的值作為數(shù)組c的下標(biāo),當(dāng)退出循環(huán)時(shí),數(shù)組c的4個(gè)元素的值分別為4、3、3、2,因此B選項(xiàng)正確。9、下列關(guān)系表達(dá)式中,結(jié)果為“假”的是()。A、(3+4)>6B、(3!=4)>2C、3<=4||3D、(3<4)=1標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:在一個(gè)表達(dá)式中,括號(hào)的優(yōu)先級(jí)高,先計(jì)算3!=4,為真即1,1>2為假。10、設(shè)變量x和變量y都是int類(lèi)型,且x=1,y=2,則printf(’’%d%d’’,x,y,(x,y))的輸出結(jié)果是()。A、12B、122C、1,2D、輸出值不確定標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:本題考查printf函數(shù)的格式和逗號(hào)表達(dá)式。printf函數(shù)在輸出時(shí),是根據(jù)格式說(shuō)明符的個(gè)數(shù)輸出的,如果函數(shù)中有多余的項(xiàng)將不予輸出;如果有輸出項(xiàng)少于格式說(shuō)明符,則出錯(cuò),不能輸出正確的結(jié)果。本題中逗號(hào)表達(dá)式(x,y)只返回y的值。此時(shí)格式說(shuō)明的個(gè)數(shù)是2,而輸出項(xiàng)的個(gè)數(shù)是3,因此,printf函數(shù)只輸出前兩項(xiàng)。11、有以下程序:#includemain(){FILE*fp;inti,aE6]={1,2,3,4,5,6};fp=fopen(“d2.dat”,“W+”);for(i=0;i<6;i++)fprintf(fp,“%d\n”,a[i]);rewind(fp);for(i=0;i<6;i++)fscanf(fp,“%d”,&aE5一i]);fclose(fp);for(i=0;i<6;i++){prinff(“%d,”,a[i]);}prinff(“\n”);}程序運(yùn)行后的輸出結(jié)果是()。A、4,5,6,1,2,3,B、1,2,3,3,2,1,C、1,2,3,4,5,6,D、6,5,4,3,2,1,標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:這是對(duì)文件的操作,把數(shù)組的數(shù)寫(xiě)到文件里,然后再?gòu)奈募锏剐蜃x出。所以輸出結(jié)果為6,5,4,3,2,1,。12、有以下程序intd=1;voidfun(intp){intd=5;d+=p++;printf("%d",d);}main(){inta=3;fun(a);d+=a++;printf("%d\n",d);}程序的輸出結(jié)果是A、96B、94C、84D、85標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:代碼考查點(diǎn)為全局變量和局部變量的同名問(wèn)題,若全局變量和某個(gè)函數(shù)中的局部變量同名,則在該函數(shù)中,此全局變量被屏蔽,在該函數(shù)內(nèi),訪(fǎng)問(wèn)的是局部變量,與同名的全局變量不發(fā)生任何關(guān)系。主函數(shù)執(zhí)行fun(3)時(shí)候,執(zhí)行調(diào)用函數(shù)fun,使用局部變量d=5,執(zhí)行d+=p++,相當(dāng)于d=d+(p++),得到d的值為8,輸出。函數(shù)調(diào)用結(jié)束,轉(zhuǎn)到主函數(shù),繼續(xù)執(zhí)行d+=a++,此時(shí)d為全局變最,執(zhí)行語(yǔ)句以后,d值為4。13、若有定義intw[3][5];,則以下不能正確表示該數(shù)組元素的表達(dá)式是()。A、*(&w[0][0]+1)B、*(**+3)C、*(*(w+1))D、*(w+1)[4]標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:A選項(xiàng)中*(&w[0][0]+1)表示w[0][1];B選項(xiàng)中*(*w+3)表示w[0][3];C選項(xiàng)中*(*(w+1))表示w[1][0];而D選項(xiàng)中*(w+1)[4]的正確寫(xiě)法是(*w+1)[4],表示w[1][4],因此選擇D選項(xiàng)。14、若有定義語(yǔ)句:intk[2][3],*pk[3];,則以下語(yǔ)句中正確的是A、pk=k;B、pk[0]=k[1][2];C、pk=k[0];D、ok[]=k;標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:本題考查多維數(shù)組和數(shù)組指針。k是一個(gè)二維數(shù)組,pk是一個(gè)指針數(shù)組,該數(shù)組有3個(gè)元素,每個(gè)元素都是一個(gè)指向整型對(duì)象的指針。選項(xiàng)A錯(cuò)誤,等號(hào)的左邊是一個(gè)數(shù)組地址,不是變量;選項(xiàng)B是把元素k[1][2]賦值給pk[0];選項(xiàng)C中等號(hào)左邊不是變量:選項(xiàng)D類(lèi)型不匹配,pk[1]是指向一個(gè)整型對(duì)象,而k是一個(gè)二維數(shù)組首地址。15、若typedefcharT[3];T*a;上述定義中a的類(lèi)型與下面選項(xiàng)中完全相同的是()。A、char(*A)[3];B、char*a;C、chara[3];D、char*a[3];標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:C語(yǔ)言允許用typed說(shuō)明一種新類(lèi)型名。題目中利用typedef定義了字符數(shù)組類(lèi)型T,而后定義了該類(lèi)型的指針a,因此a為指針數(shù)組。16、在數(shù)據(jù)庫(kù)系統(tǒng)中,考慮數(shù)據(jù)庫(kù)實(shí)現(xiàn)的數(shù)據(jù)模型是A、概念數(shù)據(jù)模型B、邏輯數(shù)據(jù)模型C、物理數(shù)據(jù)模型D、結(jié)構(gòu)數(shù)據(jù)類(lèi)型標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:數(shù)據(jù)模型按照不同的應(yīng)用層次分為以下3種類(lèi)型,概念數(shù)據(jù)模型,著重于對(duì)客觀世界中復(fù)雜事物的描述及對(duì)它們內(nèi)在聯(lián)系的刻畫(huà);邏輯數(shù)據(jù)模型,是面向數(shù)據(jù)庫(kù)系統(tǒng)的模型,著重于在數(shù)據(jù)庫(kù)系統(tǒng)一級(jí)的實(shí)現(xiàn);物理數(shù)據(jù)模型,是面向計(jì)算機(jī)物理實(shí)現(xiàn)的模型,此模型給出了數(shù)據(jù)模型在計(jì)算機(jī)上物理結(jié)構(gòu)的表示。故選項(xiàng)B正確。17、有以下程序main(){inta=l,b=2,c=3,x;x=(a^b)&c;printf(’’%d\n’’,x);)程序的運(yùn)行結(jié)果是A、1B、2C、3D、0標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:1、2、3的二進(jìn)制形式分別為00000001、00000010、00000011。首先計(jì)算1與2的或運(yùn)算,即1^2=(00000001)^(00000010)=00000011,再將其與3進(jìn)行”與”運(yùn)算,結(jié)果為(00000011)&(00000011)=00000011,即十進(jìn)制數(shù)3。18、有以下程序main(){inta=3;d0{printf("%d,",a-=2);}while(!(--a));printf("\n");}程序運(yùn)行后的輸出結(jié)果是A、1,B、1,-2,C、3,0,D、1,0標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:循環(huán)體執(zhí)行兩次。首先輸出a=1,然后判斷表達(dá)式!(--a),a為0,循環(huán)條件表達(dá)式值為1,執(zhí)行第二次循環(huán)體,輸出a=-2。判斷循環(huán)條件表達(dá)式值為0,循環(huán)退出。19、以下敘述中正確的是A、結(jié)構(gòu)體數(shù)組名不能作為實(shí)參傳給函數(shù)B、結(jié)構(gòu)體變量的地址不能作為實(shí)參傳給函數(shù)C、結(jié)構(gòu)體中可以含有指向本結(jié)構(gòu)體的指針成員D、即使是同類(lèi)型的結(jié)構(gòu)體變量,也不能進(jìn)行整體賦值標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題考查結(jié)構(gòu)體變量作為函數(shù)參數(shù),結(jié)構(gòu)體變量的地址可以作為參數(shù)傳給函數(shù),結(jié)構(gòu)體數(shù)組名就是一個(gè)地址,可以傳給函數(shù),如果是同類(lèi)型的結(jié)構(gòu)體變量,可以整體賦值。20、若有以下程序段intr=8:printf("%d\n",r>>1);輸出結(jié)果是A、8B、4C、16D、2標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:定義了整型變量r,其值等于8,在輸出語(yǔ)句中,把變量r值向右移動(dòng)一位,在C語(yǔ)言中把變量向右移動(dòng)一位,相當(dāng)于其值除以2,所以在題中把變量r的值8除2,得到其值等于4。21、有以下程序main(){inti=0;i=~i;.printf("%d\n",i);}程序運(yùn)行后的輸出結(jié)果是A、0B、1C、8D、-1標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:運(yùn)算符(~)是位運(yùn)算符中唯一的一個(gè)單目運(yùn)算符,運(yùn)算對(duì)象應(yīng)置于運(yùn)算符的右邊,其運(yùn)算功能是把運(yùn)算對(duì)象的內(nèi)容按位取反(使每一位上的0變1,1變0)。i的初值為0,二進(jìn)制位00000000,因此取反后結(jié)果為11111111,最高位為符號(hào)位,為-1的補(bǔ)碼形式,因此輸出結(jié)果為-1.22、設(shè)p是指針變量,語(yǔ)句p=NULL;等價(jià)于A、p=’0’;B、p=’’;C、p="";D、p=0;標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:p=NULL;等價(jià)p=0;因此D選項(xiàng)正確。23、有以下程序:#includemain(){chara,b,c,d;scanf("%c%c",&a,&b);c=getchar();d=getchar();printf("%c%c%c%c\n",a,b,c,d);}當(dāng)執(zhí)行程序時(shí),按下列方式輸入數(shù)據(jù)(從第1列開(kāi)始,代表回車(chē),注意:回車(chē)也是一個(gè)字符)1234則輸出結(jié)果是()。A、1234B、12C、1234D、123標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:按照從鍵盤(pán)輸入的數(shù)據(jù)可以判斷字符1給了變量a,字符2給了變量b,字符即回車(chē)給了變量c,字符3給了變量d。所以打印輸出的結(jié)果為D)選項(xiàng)。24、下面結(jié)構(gòu)體的定義語(yǔ)句中,錯(cuò)誤的是()。A、structord{intx;inty;intz;}structorda;B、structord{intx;inty;intz;};structorda;C、structord{intx;inty;intz;}a;D、struct{intx;inty;intz;}a;標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:A)選項(xiàng)structord{intx;inty;intz;}structorda;錯(cuò)誤,不能在定義結(jié)構(gòu)體的同時(shí),又用結(jié)構(gòu)體類(lèi)型名定義變量。應(yīng)該寫(xiě)成B)選項(xiàng)或者D)選項(xiàng)的格式。25、設(shè)有如下類(lèi)型說(shuō)明語(yǔ)句typedefstruct{intnum;struct{inty,m,d;}date;}PER;則以下定義結(jié)構(gòu)體數(shù)組并賦初值的語(yǔ)句中錯(cuò)誤的是()。A、PERst[2]={{1001},2008,8,1,{1002},2006,5,20};B、PERst[2]={1001,{2008,8,1},1002,{2006,5,20}};C、PERst[2]={{1001,2008,8,1},{1002,2006,5,20}};D、PERst[2]={1001,2008,8,1,1002,2006,5,20};標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:結(jié)構(gòu)體PER類(lèi)型定義了兩個(gè)成員:num為整型,date為嵌套的結(jié)構(gòu)體類(lèi)型。初始化時(shí),成員值的順序必須與成員定義的順序相同,num必須是整數(shù),date必須是用花括號(hào)標(biāo)注的嵌套的3個(gè)整數(shù)。選項(xiàng)A中,{1001}和{1002}都不是整數(shù),所以選項(xiàng)A錯(cuò)誤。故本題答案為A選項(xiàng)。國(guó)家二級(jí)C語(yǔ)言機(jī)試(選擇題)模擬試卷第3套一、選擇題(本題共25題,每題1.0分,共25分。)1、以下敘述中正確的是A、程序的算法只能使用流程圖來(lái)描述B、N—S流程圖只能描述簡(jiǎn)單的順序結(jié)構(gòu)的程序C、計(jì)算機(jī)可以直接處理C語(yǔ)言程序,不必進(jìn)行任何轉(zhuǎn)換D、結(jié)構(gòu)化程序的三種基本結(jié)構(gòu)是循環(huán)結(jié)構(gòu)、選擇結(jié)構(gòu)、順序結(jié)構(gòu)標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:結(jié)構(gòu)化程序有三種基本結(jié)構(gòu)循環(huán)結(jié)構(gòu)、選擇結(jié)構(gòu)、順序結(jié)構(gòu),描述算法常見(jiàn)的有文字描述,流程圖,盒圖,偽代碼等。N-S圖為盒圖,可以描述比較復(fù)雜的程序結(jié)構(gòu),而計(jì)算機(jī)不能直接處理C程序,只能處理二進(jìn)制代碼。2、下列關(guān)于棧的描述中正確的是A、在棧中只能插入元素而不能刪除元素B、在棧中只能刪除元素而不能插入元素C、棧是特殊的線(xiàn)性表,只能在一端插入或刪除元素D、棧是特殊的線(xiàn)性表,只能在一端插入元素,而在另一端刪除元素標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:棧是限定在一端進(jìn)行插入與刪除的線(xiàn)性表,在棧中,允許插入與刪除的一端稱(chēng)為棧頂,不允許插入與刪除的另一端稱(chēng)為棧底。3、為了避免嵌套的條件語(yǔ)句if-else的二義性,C語(yǔ)言規(guī)定:與else配對(duì)的是()。A、if同一行上的ifB、縮排位置相同的ifC、其之前最近的ifD、其之后最近的if標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:C語(yǔ)言中在if語(yǔ)句中又包含一個(gè)或多個(gè)if語(yǔ)句稱(chēng)為if語(yǔ)句的嵌套。使用嵌套的if語(yǔ)句時(shí)應(yīng)注意if-else的配對(duì)關(guān)系,else總是與它上面的最近if配對(duì)。4、有以下程序main(){charc1,c2;c1=’A’+’8’一’4’:c2=’A’+’8’一’5’:Printf("%C,%d\n",c1,c2);}已知字母A的ASCII碼為65,程序運(yùn)行后的輸出結(jié)果是A、D,,69B、E,68C、E,DD、輸出無(wú)定值標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:字符變量c1的ASCII值等于69,而字符變量c2的ASCII值等于68,當(dāng)分別以字符和整型輸出c1和c2的ASCII碼值時(shí),其結(jié)果為E,68。5、若有定義:inta=1,b=2,c=3;,則執(zhí)行表達(dá)式(a=b+c)||(++b)后,a,b,c的值依次為()。A、1,2,3B、5,3,2C、5,2,3D、5,3,3標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:||表示或運(yùn)算,當(dāng)?shù)谝粋€(gè)表達(dá)式為真時(shí),第二個(gè)表達(dá)式就不會(huì)被執(zhí)行。根據(jù)優(yōu)先級(jí)規(guī)則,兩邊都是括號(hào),所以先計(jì)算(a=b+c),將b+c的值賦值給a,則a=5,而右邊的括號(hào)不會(huì)被執(zhí)行,所以b=2,c=3。6、在學(xué)校每間宿舍住1到6名學(xué)生,每個(gè)學(xué)生只在一間宿舍居住,則實(shí)體宿舍與實(shí)體學(xué)生間的聯(lián)系是()。A、一對(duì)一B、一對(duì)多C、多對(duì)一D、多對(duì)多標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:一間宿舍可以住多名學(xué)生,一個(gè)學(xué)生只能在一個(gè)宿舍,則實(shí)體宿舍與實(shí)體學(xué)生間的聯(lián)系是一對(duì)多。宿舍是一的一方,學(xué)生是多的一方。7、要求通過(guò)while循環(huán)不斷讀入字符,當(dāng)讀入字母N時(shí)結(jié)束循環(huán)。若變量已正確定義,以下正確的程序段是()。A、while(eh=getchar()=’N’)pfintf("%c",ch);B、while((ch=getchar())!=’N’)pfintf("%c",ch);C、while(ch=getchar()==’N’)pfintf("%c",ch);D、while((ch=getchar())==’N’)pfintf("%c",ch);標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:在C語(yǔ)言中,等于號(hào)用“==”表示,一個(gè)“=”表示賦值,當(dāng)讀入字母N時(shí),選項(xiàng)A中,while后的條件值為“N”,是非零數(shù),條件成立,循環(huán)繼續(xù)執(zhí)行,所以A選項(xiàng)錯(cuò)誤。c、D選項(xiàng)的含義都是如果輸入的字符為“N”,則打印輸出,所以正好和題意相反。8、以下敘述中正確的是A、對(duì)于“for(表達(dá)式1;表達(dá)式2;表達(dá)式3)循環(huán)體”首先要計(jì)算表達(dá)式2的值,以便決定是否開(kāi)始循環(huán)B、對(duì)于“for(表達(dá)式1;表達(dá)式2;表達(dá)式3)循環(huán)體”,只在個(gè)別情況下才能轉(zhuǎn)換成while語(yǔ)句C、只要適當(dāng)?shù)匦薷拇a,就可以將do.while與while相互轉(zhuǎn)換D、如果根據(jù)算法需要使用無(wú)限循環(huán)(即通常所稱(chēng)的“死循環(huán)”),則只能使用while語(yǔ)句標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:while和do…while語(yǔ)句和for語(yǔ)句很容易進(jìn)行相互轉(zhuǎn)換。對(duì)于for循環(huán)的執(zhí)行過(guò)程如下:①計(jì)算表達(dá)式1。②計(jì)算表達(dá)式2。若其值為非0,轉(zhuǎn)步驟③;若其值為0,轉(zhuǎn)步驟⑤。③執(zhí)行一次for循環(huán)體。④計(jì)算表達(dá)式3,轉(zhuǎn)向步驟②。⑤結(jié)束循環(huán)。任何循環(huán)都有可能成為死循環(huán)。9、以下敘述中錯(cuò)誤的是A、結(jié)構(gòu)化程序由順序、分支、循環(huán)三種基本結(jié)構(gòu)組成B、C語(yǔ)言是一種結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言C、使用三種基本結(jié)構(gòu)構(gòu)成的程序只能解決簡(jiǎn)單問(wèn)題D、結(jié)構(gòu)化程序設(shè)計(jì)提倡模塊化的設(shè)計(jì)方法標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:結(jié)構(gòu)化程序由順序結(jié)構(gòu)、選擇結(jié)掏和循環(huán)結(jié)構(gòu)3種基本結(jié)構(gòu)組成。已經(jīng)證明,由3種基本結(jié)構(gòu)組成的算法可以解決任何復(fù)雜的問(wèn)題。由3種基本結(jié)構(gòu)所構(gòu)成的算法稱(chēng)為結(jié)構(gòu)化算法:由3種基本結(jié)構(gòu)所構(gòu)成的程序稱(chēng)為結(jié)構(gòu)化程序。10、下列定義數(shù)組的語(yǔ)句中錯(cuò)誤的是()。A、intx[2][3]={1,2,3,4,5,6};B、intx[][3]={0};C、intx[][3]={{1,2,3},{4,5,6}};D、intx[2][3]={{1,2},{3,4},{5,6}};標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:D選項(xiàng)中x[2][3]定義的是一個(gè)2行3列的二維數(shù)組,而在給數(shù)組元素賦值時(shí)卻賦成了3行,所以錯(cuò)誤。11、以下選項(xiàng)中合法的標(biāo)識(shí)符是A、1-1B、1_1C、_11D、1__標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題考查標(biāo)識(shí)符定義。合法標(biāo)識(shí)符的要求是由下劃線(xiàn)、英文大小寫(xiě)字母和數(shù)字組成的字符串,且第一個(gè)字符必須是字母或下劃線(xiàn)。12、在關(guān)系數(shù)據(jù)庫(kù)中,用來(lái)表示實(shí)體間聯(lián)系的是A、屬性B、二維表C、網(wǎng)狀結(jié)構(gòu)D、樹(shù)狀結(jié)構(gòu)標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:在關(guān)系數(shù)據(jù)庫(kù)中,實(shí)體間的聯(lián)系由個(gè)二維表來(lái)表示。13、若有代數(shù)式(其中e僅代表自然對(duì)數(shù)的底數(shù),不是變量),則以下能夠正確表示該代數(shù)式的C語(yǔ)言表達(dá)式是()。A、sqrt(fabs(pow(n,x)+exp(X)))B、sqrt(fabs(pow(n,x)+pow(x,e)))C、sqrt(abs(n^x+e^x))D、sqrt(fabs(pow(x,n)+exp(x)))標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:B選項(xiàng)中函數(shù)pow(x,e)錯(cuò)誤,應(yīng)該直接使用exp(x)函數(shù)。C選項(xiàng)中函數(shù)abs(n^x+e^x)錯(cuò)誤,應(yīng)該使用fabs()返回浮點(diǎn)數(shù)的絕對(duì)值。D選項(xiàng)中pow(x,n)參數(shù)順序錯(cuò)誤。14、若有以下程序intf(inta[],intn){if(n>1){intt;t=f(a,n-1);returnt>a[n-1]?t:a[n-1];}elsereturna[0];}main(){inta[]={8,2,9,1,3,6,4,7,5};printf("%d\n",f(a,9));}則程序的輸出結(jié)果是A、9B、1C、8D、5標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:主函數(shù)中調(diào)用f(a,9),遞歸函數(shù)的調(diào)用過(guò)程如下:f(a,9)→f(a,8)→f(a,7)→f(a,6)→f(a,5)→f(a,4)→f(a,3)→f(a,2)→f(a,1),f(a,1)得到返回值為a[0],值為8,遞歸過(guò)程開(kāi)始回歸,回歸過(guò)程描述如下:8>a[1],返回8→8>a[2]不成立,返回a[2]的值為9…因此函數(shù)f的主要功能為計(jì)算數(shù)組中的最大值。主函數(shù)中輸出最大值為9。15、有以下程序,程序的輸出結(jié)果是main(){charc1=’A’,c2=’Y’;printf("%d,%d\n",c1,c2);}A、輸出格式不合法,輸出出錯(cuò)信息B、65,90C、65,89D、A,Y標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:C語(yǔ)言允許對(duì)整型變量賦以字符值,也允許對(duì)字符變量賦以整型值。在輸出時(shí),允許把字符變量按整型量輸出,也允許把整型量按字符量輸出。16、有以下程序#includevoidmain(){chars[]={"012xy"};inti,n=0;for(i=0;s[i]!=0;i++)if(s[i]>=’a’&&s[i]<=’z’)n++;printf("%d\n",n);}程序運(yùn)行后的輸出結(jié)果是A、0B、3C、5D、2標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:這段程序的功能求出字符串s中字符在小寫(xiě)字符a到z之間字符的個(gè)數(shù)。在程序中字符串s的值為“012xy”,所以在字符串s中符合要求的字符的個(gè)數(shù)等于2。17、以下選項(xiàng)中,能正確進(jìn)行字符串賦值的是A、chars[5]={’A’,’B’,’C’,’D’,’E’);B、char*s=’’abcDE’’:C、chars[4][5]={’’tabcDE’’};D、char*s;gets(s);標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:對(duì)于選項(xiàng)A字符串中無(wú)法存放字符串結(jié)束標(biāo)志’\0’,選項(xiàng)C每行僅僅存放5個(gè)字符,同樣的不能存放字符串結(jié)束標(biāo)志,選項(xiàng)D中指針變量s沒(méi)有實(shí)際的內(nèi)存空間,無(wú)法存放輸入的字符串。因此正確的選項(xiàng)為B,相當(dāng)于char+s;s=’’ABCDE’’,把字符串常量的首地址存放到指針變量中存儲(chǔ)。18、在數(shù)據(jù)庫(kù)系統(tǒng)中,給出數(shù)據(jù)模型在計(jì)算機(jī)上物理結(jié)構(gòu)表示的是A、概念數(shù)據(jù)模型B、邏輯數(shù)據(jù)模型C、物理數(shù)據(jù)模型D、以上三項(xiàng)標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:數(shù)據(jù)模型按照不同的應(yīng)用層次分為以下3種類(lèi)型,著重于對(duì)客觀世界中復(fù)雜事物的描述及對(duì)它們內(nèi)在聯(lián)系的刻畫(huà);邏輯數(shù)據(jù)模型,是面向數(shù)據(jù)庫(kù)系統(tǒng)的模型,著重于在數(shù)據(jù)庫(kù)系統(tǒng)一級(jí)的實(shí)現(xiàn);物理數(shù)據(jù)模型,是面向計(jì)算機(jī)物理實(shí)現(xiàn)的模型,此模型給出了數(shù)據(jù)模型在計(jì)算上物理結(jié)構(gòu)的表示。故選項(xiàng)C正確。19、以下選項(xiàng)中,當(dāng)x為大于1的奇數(shù)時(shí),值為0的表達(dá)式是A、x/2B、x%2!=0C、x%2==0D、x%2==1標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:由于x為大于1的奇數(shù),因此x%2取余的值為1,和0不相等。20、有如下嵌套的if語(yǔ)句if(a<b)if(a<c)k=a;elsek=c;elseif(b<c)k=b;elsek=c;以下選項(xiàng)中與上述if語(yǔ)句等價(jià)的語(yǔ)句是A、k=(a<b)?((bc)?b:c);B、k=(a<c)?b:c;C、k=(a<c)?a:c;D、k=(a<b)?((a<c)?a:c):((b<c)?b:c);標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:嵌套的ifelse語(yǔ)句的含義是,在變量a的信小干蠻量h的值,同時(shí),變量a的值小于變量c的值時(shí),把變量a的值賦給變量k。在變量a的值小于變量b的值,同時(shí),變量a的值大丁等丁變量c的值時(shí),把變量c的值賦給變量k。在變量a的值大于等于變量b的值,同時(shí),變量b的值小于變量c的值時(shí),把變量b的值賦給變量k。在變量a的值大于等于變量b的值,同時(shí),變量b的值大于等于變量c的值時(shí),把變量c的值賦給變量k。21、avg函數(shù)的功能是求整型數(shù)組中的前若干個(gè)元素的平均值,設(shè)數(shù)組元素個(gè)數(shù)最多不超過(guò)10,則下列函數(shù)說(shuō)明語(yǔ)句錯(cuò)誤的是A、intavg(int*a,intn);B、intavg(inta[10],intn);C、intavg(inta[],intn);D、intavg(inta,intn);標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:本題考查函數(shù)的定義。題目要求計(jì)算數(shù)組的平均值,因此函數(shù)必須獲取數(shù)組的地址(指針),即函數(shù)必須要有一個(gè)指針類(lèi)型的參數(shù),選項(xiàng)D)中函數(shù)參數(shù)都是整型,錯(cuò)誤。22、有以下程序#include#includetypedefstruct{charname[9];charsex;intscore[2];}STU;STUf(STUa){STUb={"Zhao",’m’,85,90};inti;strcpy(a.name,b.name);a.sex=b.sex;for(i=0;i<2;i++)a.score[i]=b.score[i];retuma;}main(){STUc={"Qian",’f’,95,92),d;d=f(c);printf("%s,%c,%d,%d,",d.name,d.sex,d.score[0],d.score[1]);printf("%s,%c,%d,%d,",c.name,c.sex,c.score[0],c.score[1]);}A、Zhao,m,85,90,Zhao,m,85,90B、Qian,f,95,92,Qian,f,95,92C、Zhao,m,85,90,Qian,f,95,92D、Qian,f,95,92,Zhao,m,85,90標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:在C語(yǔ)言中,函數(shù)實(shí)參與形參之間數(shù)據(jù)的傳遞是傳值,也就是說(shuō)在用實(shí)參調(diào)用形參時(shí),是把實(shí)參的值拷貝一份給形參,而實(shí)參的值并不變化,仍是原來(lái)的值。所以對(duì)于本題來(lái)說(shuō),在主函數(shù)中調(diào)f(e)后,實(shí)參e的值并不會(huì)變化,仍是原值。在函數(shù)f中把局部變量b的值依次返回給變量d。23、以下敘述中正確的是A、即使不進(jìn)行強(qiáng)制類(lèi)型轉(zhuǎn)換,在進(jìn)行指針賦值運(yùn)算時(shí),指針變量的基類(lèi)型也可以不同B、如果企圖通過(guò)一個(gè)空指針來(lái)訪(fǎng)問(wèn)一個(gè)存儲(chǔ)單元,將會(huì)得到一個(gè)出錯(cuò)信息C、設(shè)變量p是一個(gè)指針變量,則語(yǔ)句p=0;是非法的,應(yīng)該使用p=NULL;D、指針變量之間不能用關(guān)系運(yùn)算符進(jìn)行比較標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:A選項(xiàng)描述不正確,指針變量的賦值只能賦予地址,決不能賦予任何其它數(shù)據(jù),否則將引起錯(cuò)誤;C選項(xiàng)中,p=NULL;和p=0;是等價(jià)的;D選項(xiàng)中,指向同一數(shù)組的兩指針變量進(jìn)行關(guān)系運(yùn)算可表示它們所值數(shù)組元素之間的關(guān)系。因此B選項(xiàng)正確。24、若有函數(shù)聲明voidfun(floatarray[],int*ptr);以下敘述正確的是()。A、函數(shù)參數(shù)array,ptr都是指針變量B、函數(shù)參數(shù)array不是指針變量,ptr是指針變量C、調(diào)用函數(shù)時(shí),實(shí)參數(shù)組的值將一一復(fù)制給array數(shù)組D、調(diào)用函數(shù)時(shí),array是按值傳送,ptr是按地址傳送標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:數(shù)組名表示該數(shù)組的首地址,是一個(gè)地址常量,作為函數(shù)參數(shù)時(shí)傳遞的是數(shù)組的首地址,屬于地址傳參,所以答案選A。25、以下結(jié)構(gòu)體說(shuō)明和變量定義中,正確的是A、typedefstructabc{intn;doublem;}ABC;ABCx,y;B、structabc{intn;doublem};structabcx,y;C、structABC{intn;doublem;}structABCx,y;D、structabc{intn;doublem;};abcx,y;標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:選項(xiàng)B中結(jié)構(gòu)體定義中每個(gè)成員后面的分號(hào)都不能省略,doublem后沒(méi)分號(hào),因此錯(cuò)誤。選項(xiàng)C結(jié)構(gòu)體類(lèi)型定義完畢后,}外沒(méi)加分號(hào)。選項(xiàng)D中定義變量要加上關(guān)鍵字struct。國(guó)家二級(jí)C語(yǔ)言機(jī)試(選擇題)模擬試卷第4套一、選擇題(本題共25題,每題1.0分,共25分。)1、以下語(yǔ)句定義正確的是()。A、inta[1][4]={1,2,3,4,5};B、floata[3][]={{1},{2},{3}};C、longa[2][3]={{1},{1,2},{1,2,3},{0,0}};D、doublea[][3]={0};標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:本題考查的是如何對(duì)二維數(shù)組進(jìn)行賦值。選項(xiàng)A中數(shù)組第二維的大小是4,但卻給賦了5個(gè)元素;選項(xiàng)B中C語(yǔ)言規(guī)定,對(duì)于二維數(shù)組,只可以省略第一個(gè)方括號(hào)中的常量表達(dá)式而不可以省略第二個(gè)方括號(hào)中的常量表達(dá)式;選項(xiàng)C中數(shù)組第一維的大小是2,但是賦值卻超過(guò)了2;選項(xiàng)D中在對(duì)二維數(shù)組元素賦初值時(shí),可以只對(duì)部分元素賦初值,未賦初值的元素自動(dòng)取0。2、下列敘述中正確的是()。A、一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度也必定大B、一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度必定小C、一個(gè)算法的時(shí)間復(fù)雜度大,則其空間復(fù)雜度必定小D、算法的時(shí)間復(fù)雜度與空間復(fù)雜度沒(méi)有直接關(guān)系標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:算法的時(shí)間復(fù)雜度是指之行算法所需要的計(jì)算工作量;算法的空間復(fù)雜度是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間,兩者之間沒(méi)有直接關(guān)系。3、一棵二叉樹(shù)中共有80個(gè)葉子結(jié)點(diǎn)與70個(gè)度為1的結(jié)點(diǎn),則該二叉樹(shù)中的總結(jié)點(diǎn)數(shù)為()。A、219B、229C、230D、231標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:根據(jù)二叉樹(shù)的性質(zhì),度為0的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè),葉子結(jié)點(diǎn)為80,度為2的結(jié)點(diǎn)為79,所以總結(jié)點(diǎn)數(shù)為:80+70+79=229,選B。4、在深度為7的滿(mǎn)二叉樹(shù)中,度為2的結(jié)點(diǎn)個(gè)數(shù)為A、64B、63C、32D、31標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:因?yàn)樵谌我獾亩鏄?shù)中,度為0的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總比度為2的結(jié)點(diǎn)的個(gè)數(shù)多1個(gè),而度為0的結(jié)點(diǎn)數(shù)n0=2m-1(其中m為二叉樹(shù)的深度)。本題的度為0的結(jié)點(diǎn)個(gè)數(shù)n0=27-1=26=64。因此,度為2的結(jié)點(diǎn)數(shù)n2=n0-1=63。所以選項(xiàng)B正確。5、某二叉樹(shù)中有n個(gè)葉子結(jié)點(diǎn),則該二叉樹(shù)中度為2的結(jié)點(diǎn)數(shù)為A、n+1B、n-1C、2nD、n/2標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:對(duì)于任意一棵二叉樹(shù),如果其葉結(jié)點(diǎn)數(shù)為N0,而度數(shù)為2的結(jié)點(diǎn)總數(shù)為N2,則N0=N2+1;N2=N0-1。所以如果二叉樹(shù)中有n個(gè)葉子結(jié)點(diǎn),則該二叉樹(shù)中度為2的結(jié)點(diǎn)數(shù)為n-1。因此選項(xiàng)B正確。6、C語(yǔ)言程序中,若函數(shù)無(wú)返回值,則應(yīng)該對(duì)函數(shù)說(shuō)明的類(lèi)型是()。A、intB、doubleC、charD、void標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:int表示返回值是整型,double表示返回值是雙精度型,char表示返回值是字符型,voicl表示無(wú)返回值。7、有以下程序#include<stdio.h>main(){inta=1,b=0;printf(’’%d,’’,b=a+b);printf(’’%d\n’’,a=2%);}程序運(yùn)行后的輸出結(jié)果是A、1.0B、3,2C、1,2D、0,0標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:在主函數(shù)中定義了兩個(gè)整型變量a和b,并把它們的初值分別設(shè)置為1和0;在第二條語(yǔ)句中,首先計(jì)算出a和b的和等于1,把此值賦給變量b,并在屏幕上輸出此時(shí)變量b的值1;在第三條語(yǔ)句中,計(jì)算出2乘以1的積等于2,把2賦給變量a,再把變量a的值在屏幕上輸出。8、有以下程序:#includevoidfun(intn,int*s){intf:if(n==1)*s=n+1;else{fun(n一1,&f);*s=f;}}main(){intx=0;fun(4,&x);prinff(“%d\n”,x);}程序運(yùn)行后的輸出結(jié)果是()。A、3B、1C、2D、4標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題考查函數(shù)的遞歸調(diào)用。將函數(shù)參數(shù)帶入函數(shù)中,一步步遞歸即可得到結(jié)果,結(jié)果為2。故選項(xiàng)C正確。9、一間宿舍可住多個(gè)學(xué)生,則實(shí)體宿舍和學(xué)生之間的聯(lián)系是A、一對(duì)一B、一對(duì)多C、多對(duì)一D、多對(duì)多標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:兩個(gè)實(shí)體集間的聯(lián)系可以有下面幾種:一對(duì)一的聯(lián)系、一對(duì)多或多對(duì)一的聯(lián)系和多對(duì)多的聯(lián)系。由于一個(gè)宿舍可以住多個(gè)學(xué)生,所以它們的聯(lián)系是一對(duì)多聯(lián)系。10、用樹(shù)形結(jié)構(gòu)表示實(shí)體之間聯(lián)系的模型是A、關(guān)系模型B、網(wǎng)狀模型C、層次模型D、以上三個(gè)都是標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:層次模型的基本結(jié)構(gòu)是樹(shù)形結(jié)構(gòu),這種結(jié)構(gòu)方式在現(xiàn)實(shí)世界中很普遍,它們自頂向下、層次分明。11、以下程序的輸出結(jié)果是()。#includemain(){inta=0,b=0,c=0;c=(a一=++a),(a+=b,b+=4);printf(’’%d,%d,%d\n’’,a,b,c);}A、1,4,4B、1,4,0C、0,4,0D、0,4,4標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:表達(dá)式c=(a-=++a),(a+=b,b+=一4)是一個(gè)逗號(hào)表達(dá)式,c的值為a+=b,b+=4的值,首先計(jì)算c=(a-=++a),其中a-=++a)等價(jià)于a=a-(++a),得到a的值0,在計(jì)算(a+=b,b+=4)時(shí),a和b的初值為0,計(jì)算以后,a為0,b為4,則(a+=b,b+=4的值為4),c的值也為4。12、用樹(shù)形結(jié)構(gòu)表示實(shí)體之間聯(lián)系的模型是A、關(guān)系模型B、網(wǎng)狀模型C、層次模型D、以上三個(gè)都是標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:層次模型的基本結(jié)構(gòu)是樹(shù)形結(jié)構(gòu),這種結(jié)構(gòu)方式在現(xiàn)實(shí)世界中很普遍,它們自頂向下、層次分明。13、關(guān)于continue和break的敘述中正確的是()。A、當(dāng)break出現(xiàn)在循環(huán)體中的switch語(yǔ)句體內(nèi)時(shí),其作用是跳出該switch語(yǔ)句體,并終止循環(huán)體的執(zhí)行B、只能在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)使用break語(yǔ)句C、continue語(yǔ)句的作用是:在執(zhí)行完本次循環(huán)體中剩余語(yǔ)句后,終止循環(huán)D、在while語(yǔ)句和do一while語(yǔ)句中無(wú)法使用continue語(yǔ)句標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:break語(yǔ)句可以使程序流程跳出switch語(yǔ)句體,也可用break語(yǔ)句在循環(huán)結(jié)構(gòu)中終止循環(huán)體,但一次只能跳出或終止一層switch語(yǔ)句或循環(huán),因此,當(dāng)break出現(xiàn)在循環(huán)體中的switch語(yǔ)句體內(nèi)時(shí),其作用只是跳出該switch語(yǔ)句體,并不能終止循環(huán)體的執(zhí)行。continue語(yǔ)句的作用是結(jié)束本次循環(huán),在while和dowhile循環(huán)中.continue語(yǔ)句使得流程直接跳到循環(huán)控制條件的測(cè)試部分,判斷是否會(huì)進(jìn)入下一次循環(huán)。14、有以下程序#includemain(){intx=35,B;charz=’B’;B=((x)&&(z<’b’));printf("%d\n",B);}程序運(yùn)行后的輸出結(jié)果是()。A、1B、0C、35D、66標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:邏輯表達(dá)式的值只能為1或者0,而邏輯表達(dá)式"((x)&&(z<?b?))"中表達(dá)式"(x)"為真,大寫(xiě)字母的ASCII要比對(duì)應(yīng)的小寫(xiě)字母的ASCII碼值小32,所以表達(dá)式"(z<?b?)"為真,邏輯表達(dá)式為真,其值為1,所以答案選A。15、設(shè)變量均已正確定義,若要通過(guò)scanf("%d%c%d%c",&a1,&c1,&a2,&c2);語(yǔ)句為變量a1和a2賦數(shù)值10和20,為變量c1和c2賦字符X和Y。以下所示的輸入形式中正確的是(注:□代表空格字符)()。A、10X<回車(chē)>20Y<回車(chē)>B、10□X20□Y<回車(chē)>C、10□X<回車(chē)>20□Y<回車(chē)>D、10□X□20□Y<回車(chē)>標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:考查scanf函數(shù)。格式控制符為"%c"的情況下,空格和回車(chē)也能作為一個(gè)字符被接收,要保證輸入結(jié)果的正確性,a1和c1數(shù)據(jù)之間以及a2和c2數(shù)據(jù)之間在輸入時(shí)不能帶有其他字符(空格或者回車(chē)),由此答案選A。16、以下選項(xiàng)中正確的定義語(yǔ)句是A、doublea=b=7;B、doublea:b;C、double,a,b;D、doublea=7,b=7;標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:在C語(yǔ)言中,可以用一條語(yǔ)句同時(shí)定義幾個(gè)同類(lèi)型的變量,變量之間用逗號(hào)隔開(kāi)。17、以下敘述中正確的是A、字符變量在定義時(shí)不能賦初值B、同一英文字母的大寫(xiě)和小寫(xiě)形式代表的是同一個(gè)字符常量C、字符常量可以參與任何整數(shù)運(yùn)算D、轉(zhuǎn)義字符用@符號(hào)開(kāi)頭標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:一個(gè)字符常量代表ASCII字符集中的一個(gè)字符,在C程序中,字符常量可參與任何整數(shù)運(yùn)算,轉(zhuǎn)義字符以一個(gè)反斜線(xiàn)開(kāi)頭后跟一個(gè)特定的字符。18、以下敘述中正確的是A、對(duì)于“for(表達(dá)式1;表達(dá)式2;表達(dá)式3)循環(huán)體”首先要計(jì)算表達(dá)式2的值,以便決定是否開(kāi)始循環(huán)B、對(duì)于“for(表達(dá)式1;表達(dá)式2;表達(dá)式3)循環(huán)體”,只在個(gè)別情況下才能轉(zhuǎn)換成while語(yǔ)句C、只要適當(dāng)?shù)匦薷拇a,就可以將do-while與while相互轉(zhuǎn)換D、如果根據(jù)算法需要使用無(wú)限循環(huán)(即通常所稱(chēng)的“死循環(huán)”),則只能使用while語(yǔ)句標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:while和do…while語(yǔ)句和for語(yǔ)句很容易進(jìn)行相互轉(zhuǎn)換。對(duì)于for循環(huán)的執(zhí)行過(guò)程如下:①計(jì)算表達(dá)式1。②計(jì)算表達(dá)式2。若其值為非0,轉(zhuǎn)步驟③:若其值為0,轉(zhuǎn)步驟⑤。③執(zhí)行一次for循環(huán)體。④計(jì)算表達(dá)式3,轉(zhuǎn)向步驟②。⑤結(jié)束循環(huán)。任何循環(huán)都有可能成為死循環(huán)。19、若有定義語(yǔ)句:chars[10]="1234567\0\0";則strlen(s)的值是A、8B、7C、9D、10標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:字符串長(zhǎng)度函數(shù)strlen(s)表示計(jì)算出以s為起始地址的字符串的長(zhǎng)度,并作為函數(shù)值返回。這個(gè)長(zhǎng)度值不包括串尾的結(jié)束標(biāo)志,’\0’。20、下列關(guān)于C語(yǔ)言文件的敘述中正確的是A、文件由結(jié)構(gòu)序列組成,可以構(gòu)成二進(jìn)制文件或文本文件B、文件由一系列數(shù)據(jù)依次排列組成,只能構(gòu)成二進(jìn)制文件C、文件由數(shù)據(jù)序列組成,可以構(gòu)成二進(jìn)制文件或文本文件D、文件由字符序列組成,其類(lèi)型只能是文本文件標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:在C語(yǔ)言中,對(duì)輸入、輸出的數(shù)據(jù)都按”數(shù)據(jù)流”的形式進(jìn)行處理。數(shù)據(jù)可以按文本形式或二進(jìn)制形式存放在介質(zhì)上,因此文件可以按數(shù)據(jù)的存放形式分為文本文件和二進(jìn)制文件。21、以下敘述中正確的是A、語(yǔ)句inta[4][3]={1,2,4,5};是錯(cuò)誤的初始化形式B、語(yǔ)句inta[][3]={1,2,4,5};是錯(cuò)誤的初始化形式C、在邏輯上,可以把二維數(shù)組看成是一個(gè)具有行和列的表格或矩陣D、語(yǔ)句inta[4][3]={{1,2},{4,5}};是錯(cuò)誤的初始化形式標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:在理解二維數(shù)組的時(shí)候,可以把一個(gè)二維數(shù)組看成是一個(gè)一維數(shù)組,每個(gè)數(shù)組元素又是包含有若干個(gè)元素的一維數(shù)組,也就是具有行列的結(jié)構(gòu),二維數(shù)組初始化也是在類(lèi)型說(shuō)明時(shí)給各下標(biāo)變量賦以初值。二維數(shù)組可按行分段賦值,也可按行連續(xù)賦值。22、有以下程序段structst{intx;int*y;}*pt;inta[]={1,2},b[]={3,4};structstc[2]={10,a,20,b};pt=c;以下選項(xiàng)中表達(dá)式的值為11的是A、pt->xB、*pt->yC、++pt->xD、(pt++)->x標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:由題目的已知條件可知,pt指向結(jié)構(gòu)體數(shù)組c[2]的第一元素c[0],所以pt->x=10,執(zhí)行自加運(yùn)算后為11。23、若有以下程序#includeint*f(int*s,int*t){intk;if(*s<*t){k=*s;*s=*t;*t=k;}returns;}main(){inti=3,j=5,*p=&i,*q=&j,*r;r=f(p,q);printf("%d,%d,%d,%d,%d\n",i,j,*p,*q,*r);}則程序的輸出結(jié)果是A、5,3,3,5,5B、3,5,5,3,5C、3,5,3,5,5D、5,3,5,3,5標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:在主函數(shù)中分別給整型變量i、j和指針型變量p、q賦初值,并聲明指針變量r;調(diào)用f函數(shù),并將實(shí)參變量p和q的值傳遞給形參變量s和t,并且f函數(shù)是指針型函數(shù),即函數(shù)的返回值將是一個(gè)地址。在f函數(shù)中,如果條件成立,則將指針變量s和t的值互換,并且將指針s的地址返回主函數(shù)。最后輸出i,j,*p,*q,*r的值,即5,3,5,3,5。因此D選項(xiàng)正確。24、以下敘述中正確的是A、函數(shù)名允許用數(shù)字開(kāi)頭B、函數(shù)調(diào)用時(shí),不必區(qū)分函數(shù)名稱(chēng)的大小寫(xiě)C、調(diào)用函數(shù)時(shí),函數(shù)名必須與被調(diào)用的函數(shù)名完全一致D、在函數(shù)體中只能出現(xiàn)一次return語(yǔ)句標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:B選項(xiàng)中,函數(shù)調(diào)用時(shí),函數(shù)名稱(chēng)是需要區(qū)分大小寫(xiě)的;A選項(xiàng)中,函數(shù)名不允許以數(shù)字開(kāi)頭;D選項(xiàng)中,在函數(shù)中允許有多個(gè)return語(yǔ)句,但每次調(diào)用只能有一個(gè)return語(yǔ)句被執(zhí)行。因此C選項(xiàng)正確。25、下列敘述中正確的是A、循環(huán)隊(duì)列中的元素個(gè)數(shù)隨隊(duì)頭指針與隊(duì)尾指針的變化而動(dòng)態(tài)變化B、循環(huán)隊(duì)列中的元素個(gè)數(shù)隨隊(duì)頭指針的變化而動(dòng)態(tài)變化C、循環(huán)隊(duì)列中的元素個(gè)數(shù)隨隊(duì)尾指針的變化而動(dòng)態(tài)變化D、以上說(shuō)法都不對(duì)標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:在循環(huán)隊(duì)列中,用隊(duì)尾指針rear指向隊(duì)列中的隊(duì)尾元素,用排頭指針front指向排頭元素的前一個(gè)位置。因此,從排頭指針front指向的后一個(gè)位置直到隊(duì)尾指針rear指向的位置之間所有的元素均為隊(duì)列中的元素。所以循環(huán)隊(duì)列中的元素個(gè)數(shù)與隊(duì)頭指針和隊(duì)尾指針的變化而變化,A正確。國(guó)家二級(jí)C語(yǔ)言機(jī)試(選擇題)模擬試卷第5套一、選擇題(本題共40題,每題1.0分,共40分。)1、計(jì)算機(jī)能直接執(zhí)行的程序是A、目標(biāo)程序B、可執(zhí)行程序C、匯編程序D、源程序標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:把由高級(jí)語(yǔ)言編寫(xiě)的程序稱(chēng)為”源程序”,由二進(jìn)制代碼表示的程序稱(chēng)為”目標(biāo)程序”(后綴名為.obi),由匯編語(yǔ)言編寫(xiě)的程序稱(chēng)為”匯編程序”。為了把源程序轉(zhuǎn)換成機(jī)器能接受的目標(biāo)程序,軟件工作者編制了一系列軟件,通過(guò)這些軟件可以把用戶(hù)按規(guī)定語(yǔ)法寫(xiě)出的語(yǔ)句一一翻譯成二進(jìn)制的機(jī)器指令。這種具有翻譯功能的軟件稱(chēng)為”編譯程序”,每種高級(jí)語(yǔ)言都有與它對(duì)應(yīng)的編譯程序。c源程序經(jīng)過(guò)C編譯程序編譯之后生成一個(gè)后綴為.obi的二制進(jìn)文件(稱(chēng)為目標(biāo)文件),這個(gè)F1標(biāo)程序要和C語(yǔ)言的庫(kù)函數(shù)相鏈接生成一個(gè)后綴為.exe的文件,這個(gè)文件可以在操作系統(tǒng)中直接執(zhí)行,稱(chēng)為可執(zhí)行程序。2、線(xiàn)性表的長(zhǎng)度為n。在最壞情況下,比較次數(shù)為n-1的算法是()。A、順序查找B、同時(shí)尋找最大項(xiàng)與最小項(xiàng)C、尋找最大項(xiàng)D、有序表的插入標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:順序查找要逐個(gè)查看所有元素,會(huì)比較n次。在最壞情況下,尋找最大項(xiàng)無(wú)論如何需要查看表中的所有元素,n個(gè)元素比較次數(shù)為n-1。同時(shí)尋找最大項(xiàng)和最小項(xiàng),需要為判斷較大值和較小值分別進(jìn)行比較,會(huì)有更多的比較次數(shù)。有序表的插入最壞情況下是插入到表中的最后一個(gè)元素的后面位置,則會(huì)比較n次。3、以下選項(xiàng)中不能用作C程序合法常量的是A、’\123’B、1,234C、123D、’\x7D’’標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:選項(xiàng)B中的1,234在兩側(cè)加雙引號(hào)才是C程序的合法字符串常量。4、下列關(guān)于線(xiàn)性鏈表的敘述中,正確的是A、各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)空間可以不連續(xù),但它們的存儲(chǔ)順序與邏輯順序必須一致B、各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)順序與邏輯順序可以不一致,但它們的存儲(chǔ)空間必須連續(xù)C、進(jìn)行插入與刪除時(shí),不需要移動(dòng)表中的元素D、以上都不正確標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:線(xiàn)性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)稱(chēng)為線(xiàn)性鏈表。在鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中,存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)空間可以不連續(xù),各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)順序與數(shù)據(jù)元素之間的邏輯關(guān)系可以不一致,而數(shù)據(jù)元素之間的邏輯關(guān)系是由指針域來(lái)確定的。5、下列各項(xiàng)中,對(duì)對(duì)象概念描述正確的是()。A、對(duì)象間的通信靠消息傳遞B、對(duì)象是名字和方法的封裝體C、任何對(duì)象必須有繼承性D、對(duì)象的多態(tài)性是指一個(gè)對(duì)象有多個(gè)操作標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:對(duì)象之間進(jìn)行通信的構(gòu)造叫作消息,選項(xiàng)A正確。封裝性是指從外面看只能看到對(duì)象的外部特征,而不知道也無(wú)須知道數(shù)據(jù)的具體結(jié)構(gòu)以及實(shí)現(xiàn)操作,選項(xiàng)B錯(cuò)誤。對(duì)象不一定必須有繼承性,選項(xiàng)C錯(cuò)誤。多態(tài)性是指同一個(gè)操作可以是不同對(duì)象的行為,選項(xiàng)D錯(cuò)誤。6、數(shù)據(jù)模型的三個(gè)要素是()。A、外模式、概念模式、內(nèi)模式B、實(shí)體完整性、參照完整性、用戶(hù)自定義完整性C、數(shù)據(jù)增加、數(shù)據(jù)修改、數(shù)據(jù)查詢(xún)D、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作、數(shù)據(jù)約束標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:數(shù)據(jù)模型是數(shù)據(jù)特征的抽象,所描述的內(nèi)容有三個(gè)部分:數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作、數(shù)據(jù)約束。數(shù)據(jù)結(jié)構(gòu)主要描述數(shù)據(jù)的類(lèi)型、內(nèi)容、性質(zhì)以及數(shù)據(jù)間的聯(lián)系等。數(shù)據(jù)操作主要描述在相應(yīng)數(shù)據(jù)結(jié)構(gòu)上的操作類(lèi)型與操作方式。數(shù)據(jù)約束主要描述數(shù)據(jù)結(jié)構(gòu)內(nèi)數(shù)據(jù)間的語(yǔ)法、語(yǔ)義聯(lián)系,它們之間的制約與依存關(guān)系,以及數(shù)據(jù)動(dòng)態(tài)變化的規(guī)則,以保證數(shù)據(jù)的正確、有效與相容。7、下列選項(xiàng)中,不能作為合法常量的是()。A、1.234e04B、1.234e0.4C、1.234e+4D、1.234e0標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:用指數(shù)形式表示的實(shí)型常量需注意兩點(diǎn):①e或E后面的指數(shù)必須是整數(shù);②指數(shù)必須是不超過(guò)數(shù)據(jù)表示范圍的正負(fù)整數(shù),并且在e或E前必須有數(shù)字。8、若變量已正確定義為int型,要通過(guò)語(yǔ)句scanf("%d,%d,%dtt,&a,&b,&c);給a賦值1、給b賦值2、給C賦值3,以下輸入形式中錯(cuò)誤的是(注:口代表一個(gè)空格符)A、□□□1,2,3B、1,□□□2,□□□3C、1,2,3D、1□2□3標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:本題主要考查scanf函數(shù)的輸入格式問(wèn)題。scanf函數(shù)的一般形式為:scanf(格式控制字符串,地址1,地址2,…);格式控制字符串是由雙撇號(hào)括起來(lái)的字符串,它主要由兩種類(lèi)型的字符組成:①格式說(shuō)明符由“%”和格式字符組成,如%c,%d,%s,%f等。其作用是將輸入的數(shù)據(jù)轉(zhuǎn)換為指定的格式,賦給scanf的二個(gè)參量(是地址1)所指定的內(nèi)存單元(可能一次使用多個(gè))中。格式說(shuō)明以“%”字符為標(biāo)志。②普通字符,是需要用戶(hù)在輸入時(shí)原樣輸入的字符。在本題中格式控制字符串為“%d,%d,%d”,表示按十進(jìn)制輸入三個(gè)數(shù)據(jù)。要求在輸入數(shù)據(jù)時(shí),兩個(gè)數(shù)據(jù)間一定以一個(gè)逗號(hào)“,”作為間隔符。9、以下選項(xiàng)中,合法的一組C語(yǔ)言數(shù)值常量是()。A、12.0Xa234.5e0B、028.5e-3-0xfC、.1774e1.50abcD、0x8A10,0003.e5標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:C語(yǔ)言中,八進(jìn)制整型常量的開(kāi)頭數(shù)字是0,十六進(jìn)制整型常量的開(kāi)頭數(shù)字是0x或0X。C語(yǔ)言中的實(shí)型常量有兩種表示形式:小數(shù)形式,表示的實(shí)型常量必須要有小數(shù)點(diǎn);指數(shù)形式,以e或E后跟一個(gè)整數(shù)來(lái)表示以10為底數(shù)的冪數(shù),且規(guī)定字母e或E之前必須要有數(shù)字,且e或E后面的指數(shù)必須為整數(shù)。B選項(xiàng)中028錯(cuò)誤,八進(jìn)制中沒(méi)有數(shù)字8。C選項(xiàng)中4e1.5中e后面的指數(shù)不是整數(shù)。D選項(xiàng)中10,000數(shù)字之間不能有逗號(hào)。10、在數(shù)據(jù)管理技術(shù)發(fā)展的三個(gè)階段中,數(shù)據(jù)共享最好的是A、人工管理階段B、文件系統(tǒng)階段C、數(shù)據(jù)庫(kù)系統(tǒng)階段D、三個(gè)階段相同標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:數(shù)據(jù)管理技術(shù)的發(fā)展經(jīng)歷了三個(gè)階段:人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫(kù)系統(tǒng)階段。人工管理階段無(wú)共享,冗余度大;文件管理階段共享性差,冗余度大;數(shù)據(jù)庫(kù)系統(tǒng)管理階段共享性大,冗余度小。11、以下程序段中,與語(yǔ)句:k=a>b?(b>c?1:0):0;功能相同的是A、if((a>b)‖(b>c))k=1;elsek=0;B、if(a<=b)k=0;elseif(b<=c)k=1;C、if((a>b)&&(b>c))k=1;elsek=0;D、if(a>b)k=1;elseif(b>c)k=1;elsek=0;標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:題干中的表達(dá)式的功能是當(dāng)a>b并且b>c時(shí),變量k的值等于1,其余情況下,變量k的值都是等于0。12、有以下程序:#includedoublef(doubleX);main(){doublea=0;inti;for(i=0;i<30;i+=10)a+=f((double)i);printf(“%3.of\n”,a);}doublef(doubleX){returnx*x+1:}程序的運(yùn)行結(jié)果是()。A、500B、401C、503D、1404標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題重點(diǎn)考查函數(shù)的定義和調(diào)用。第一次循環(huán),a=0,i=0,返回值a=0*0+1=1;第二次循環(huán),a=1,i=10,返回值a=10*10+1+1=102;第三次循環(huán),a=102,i=20,返回值a=20*20+1+102=503;第四次循環(huán),a=503,i=30,不符合i<30,跳出循環(huán),最后結(jié)果輸出a=503。13、若有函數(shù)首部intfun(doublex[10],int,*n),則下列針對(duì)此函數(shù)的函數(shù)聲明語(yǔ)句中正確的是()。A、intfun(double,int);B、intfun(double*,int*);C、intfun(double*x,

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論