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

下載本文檔

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

文檔簡(jiǎn)介

國(guó)家二級(jí)C語(yǔ)言機(jī)試(選擇題)模擬試卷12(共9套)(共270題)國(guó)家二級(jí)C語(yǔ)言機(jī)試(選擇題)模擬試卷第1套一、選擇題(本題共25題,每題1.0分,共25分。)1、算法的空間復(fù)雜度是指A、算法在執(zhí)行過(guò)程中所需要的計(jì)算機(jī)存儲(chǔ)空間B、算法所處理的數(shù)據(jù)量C、算法程序中的語(yǔ)句或指令條數(shù)D、算法在執(zhí)行過(guò)程中所需要的臨時(shí)工作單元數(shù)標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:算法的空間復(fù)雜度是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。這個(gè)內(nèi)存空間包括算法程序所占的空間,輸入的初始數(shù)據(jù)所占的存儲(chǔ)空間以及算法執(zhí)行過(guò)程中所需要的額外空間。2、某帶鏈的隊(duì)列初始狀態(tài)為front=rear=NULL。經(jīng)過(guò)一系列正常的入隊(duì)與退隊(duì)操作后,front=10,rear=5。該隊(duì)列中的元素個(gè)數(shù)為()。A、4B、5C、6D、不確定標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:帶鏈的隊(duì)列使用了鏈表來(lái)表示隊(duì)列,而鏈表中的元素存儲(chǔ)在不連續(xù)的地址中,因此當(dāng)front=10,rear=5時(shí),不能確定隊(duì)列中元素的個(gè)數(shù)。3、閱讀以下程序#includemain(){intcase;floatprintF;printf("請(qǐng)輸入2個(gè)數(shù):");scanf("%d%f",&case,&printF);prin七f("%d%f\n",case,printF);}該程序在編譯時(shí)產(chǎn)生錯(cuò)誤,其出錯(cuò)原因是A、定義語(yǔ)句出錯(cuò),printF不能用作用戶自定義標(biāo)識(shí)符B、定義語(yǔ)句出錯(cuò),case是關(guān)鍵字,不能用作用戶自定義標(biāo)識(shí)符C、定義語(yǔ)句無(wú)錯(cuò),scanf不能作為輸入函數(shù)使用D、定義語(yǔ)句無(wú)錯(cuò),printf不能輸出case的值標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:case是C語(yǔ)言中的一個(gè)關(guān)鍵字,不能用作用戶標(biāo)識(shí)符來(lái)使用,所以這段程序代碼在編譯時(shí)就會(huì)出錯(cuò)。4、有以下程序#include<stdio.h>main(){inta=3;printf(’’%d\n’’,(a+=a-=a*a));}程序運(yùn)行后的輸出結(jié)果是A、9B、0C、3D、-12標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:對(duì)于表達(dá)式a+=a-=a*a相當(dāng)于a=a.(a*a),然后計(jì)算a=a+a,a的初值為3,則表達(dá)式的值為-12。5、設(shè)有某函數(shù)的說(shuō)明為:int*fune(inta[10],intn);則下列敘述中,正確的是()。A、形參a對(duì)應(yīng)的實(shí)參只能是數(shù)組名B、說(shuō)明中的a[10]寫(xiě)成a[]或*a效果完全一樣C、func的函數(shù)體中不能對(duì)a進(jìn)行移動(dòng)指針(如a++)的操作D、只有指向10個(gè)整數(shù)內(nèi)存單元的指針,才能作為實(shí)參傳給a標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:考查數(shù)組名作為函數(shù)參數(shù)。傳遞給形參的實(shí)參可以是數(shù)組名,還可以是指向該數(shù)組的指針變量,選項(xiàng)A錯(cuò)誤;a[10]、a[]、*a做形參都是接受實(shí)參數(shù)組首地址,效果一樣,選項(xiàng)B正確;數(shù)組名可以看作一個(gè)指針常量,對(duì)其進(jìn)行自加自減運(yùn)算相當(dāng)于指針變量的自加自減,選項(xiàng)C錯(cuò)誤;數(shù)組名作為函數(shù)參數(shù)時(shí),只傳遞數(shù)組的首地址而不檢查形參數(shù)組的長(zhǎng)度,所以形參表中可以不給出形參數(shù)組的長(zhǎng)度,形參數(shù)組和實(shí)參數(shù)組長(zhǎng)度也可以不同,選項(xiàng)D錯(cuò)誤。故答案選B。6、C語(yǔ)言中允許用外部說(shuō)明來(lái)指定變量、函數(shù)和其他標(biāo)識(shí)符的特征,這里所說(shuō)的外部指的是()。A、冠以關(guān)鍵字externB、位置在函數(shù)體外部C、作用范圍是全程的D、位置在函數(shù)的外部標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:C語(yǔ)言中允許用位置在函數(shù)外部的說(shuō)明來(lái)指定變量、函數(shù)和其他標(biāo)識(shí)符的特征。7、有以下程序main(){intx=1,y=0;if(!x)y++;elseif(x==0)if(x)y+=2;elsey+=3;pfintf("%d\n",y);}程序運(yùn)行后的輸出結(jié)果是A、2B、0C、1D、3標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:x=1,if和elseif的條件都不滿足,故y值不改變輸出。8、有兩個(gè)關(guān)系R和T如下:則由關(guān)系R得到關(guān)系T的操作是A、選擇B、投影C、交D、并標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:由關(guān)系R和T所包含的元素可知,關(guān)系R經(jīng)過(guò)選擇操作就可以得到關(guān)系T。9、以下程序段的輸出結(jié)果是()。inta,b,c;a=10;b=50;c=30;if(a>b)a=b,b=c;c=a;printf(’’a=%db=%dc=%d\n’’,a,b,c);A、a=30b=50c=10B、a=10b=30c=10C、a=10b=50c=10D、a=50b=30c=50標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題考查條件表達(dá)式,程序段首先定義三個(gè)整型變量a,b,c,并且其初始值分圳等于10,50,30,然后判斷a>b是否成立,如果條件成立,則把b的值賦給a,把c的值賦給b。由a和b的初始值可知,此條件表達(dá)式不成立,所以a和b的值保持不變。再執(zhí)行下一條語(yǔ)句,把a(bǔ)的值賦給c,所以c的當(dāng)前值等于10,最后由輸出語(yǔ)句輸出變量a,b,c的當(dāng)前值,分別為10,50,10。10、設(shè)有定義語(yǔ)句:char*aa[2]={"abcd","ABCD"};則以下敘述正確的是A、aa數(shù)組的兩個(gè)元素只能存放含有4個(gè)字符的一維數(shù)組的首地址B、aa數(shù)組的值分別是字符串"abcd"和"ABCD"C、aa是指針變量,它指向含有兩個(gè)元素的字符型數(shù)組D、aa[0]存放了字符串"abcd"的首地址標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:題目中char*aa[2],定義了指針數(shù)組aa,有兩個(gè)元素,aa[0]存放"abcd"地址,而aa[1]存放”ABCD"地址。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、0,4,4B、1,4,1C、0,4,0D、1,4,4標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:表達(dá)式c=(a-=++a),(a+=b,b+=4)相當(dāng)于逗號(hào)表達(dá)式,首先計(jì)算c=(a-=++a),其中a-=++a)等價(jià)于a=a-(++a),得到a的值0,c的值為0,在計(jì)算(a+=b,b+=4)時(shí),a和b的初值為0,計(jì)算以后,a為0,b為4。12、若有以下程序#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、#you#to#China!B、me#you#to#China!C、#China!D、#to#China!標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:程序中循環(huán)部分的主要功能是,在字符串b中尋找是否含有子串a(chǎn),如果含有則退出,字符指針p指向該匹配子串后面的位置,利用printf函數(shù)輸出則從該位置開(kāi)始一直輸出到字符串b的結(jié)尾。13、若有定義inta;floatb;doublec;程序運(yùn)行時(shí)輸入:345<回車(chē)>能把值3輸入給變量a、4輸入給變量b、5輸入給變量c的語(yǔ)句是()。A、scanf("%d%f%lf",&a,&b,&c);B、scanf("%d%lf%lf",&a,&b,&c);C、scanf("%d%f%f",&a,&b,&c);D、scanf("%lf%lf%lf",&a,&b,&c);標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:考查scanf的格式輸入。scanf函數(shù)的一般形式為scanf("格式控制字符串",輸入項(xiàng)1,輸入項(xiàng)2,…),其中,"格式控制字符串"用于指定輸入的格式,"%d"表示按照十進(jìn)制整型輸入,"%f"表示按照浮點(diǎn)型輸入,"%lf"表示按照長(zhǎng)精度浮點(diǎn)型輸入,所以答案選A。14、以下關(guān)于typedef的敘述錯(cuò)誤的是A、typedef只是將已存在的類(lèi)型用一個(gè)新的名字來(lái)代表B、用typedef可以為各種類(lèi)型說(shuō)明一個(gè)新名,但不能用來(lái)為變量說(shuō)明一個(gè)新名C、用typedef可以增加新類(lèi)型D、用typedef為類(lèi)型說(shuō)明一個(gè)新名,通??梢栽黾映绦虻目勺x性標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:C語(yǔ)言允許用typedef說(shuō)明一種新的類(lèi)型名,其一般形式為:typedef類(lèi)型名標(biāo)識(shí)符;在此“類(lèi)型名”必須是在此語(yǔ)句之前已有定義的類(lèi)型標(biāo)識(shí)符。“標(biāo)識(shí)符”是一個(gè)用戶定義標(biāo)識(shí)符,用作新的類(lèi)型名。Typedef語(yǔ)句的作用僅僅是用“標(biāo)識(shí)符”來(lái)代表已存在的“類(lèi)型名”,并未產(chǎn)生新的數(shù)據(jù)類(lèi)型.原來(lái)的類(lèi)型名依然有效,這樣可以增加程序的可讀性。15、在關(guān)系表中,屬性值必須是另一個(gè)表主鍵的有效值或空值,這樣的屬性是A、外鍵B、候選鍵C、主鍵D、主屬性標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:如果公共關(guān)鍵字在一個(gè)關(guān)系中是主關(guān)鍵字,那么這個(gè)公共關(guān)鍵字被稱為另一個(gè)關(guān)系的外鍵。由此可見(jiàn),外鍵表示了兩個(gè)關(guān)系之間的相關(guān)聯(lián)系。以另一個(gè)關(guān)系的外鍵作主關(guān)鍵字的表被稱為主表,具有此外鍵的表被稱為主表的從表。外鍵又稱作外關(guān)鍵字。為了保持?jǐn)?shù)據(jù)一致性,完整性,主要目的是控制存儲(chǔ)在外鍵表中的數(shù)據(jù)。使兩張表形成關(guān)聯(lián),外鍵只能引用外表中的列的值或使用空值。所以選項(xiàng)A正確。16、下列關(guān)系表達(dá)式中,結(jié)果為“假”的是A、(3<<4)==1B、(3+4)>6C、(3!=4)>2D、3<=4標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:關(guān)系表達(dá)式和邏輯表達(dá)式的結(jié)果為非零或者0,其中0表示假,而非零表示真,由于3!=4的結(jié)果為1,而1>2的結(jié)果為假。17、有以下程序main(){inta=3;do{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)退出。18、有以下程序#include<stdio.h>voidmain(){chars[]="012xy\08s34f4w2";inti,n=0;for(i=0;s[i]!=0;i++)if(s[i]>=’0’&&s[i]<=’9’)n++;printf("%d\n",n);}程序運(yùn)行后的輸出結(jié)果是A、0B、7C、3D、8標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:在主函數(shù)中的for循環(huán)語(yǔ)句中,當(dāng)s[i]的值不等于0~9之間的數(shù)字時(shí),結(jié)束循環(huán)語(yǔ)句的執(zhí)行。由字符數(shù)組s的初值可以得到for循環(huán)語(yǔ)句執(zhí)行了三次,所以變量n的值等于3。19、有下列程序:#include<stdio.h>/*fun函數(shù)的功能是將a所指數(shù)組元素從大到小排序*/voidfun(int*a,intn){intt,i,j;for(i=0;i<n-1.j++)ford=i+1;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[i]=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ù)的功能是對(duì)數(shù)組a[]的元素從大到小進(jìn)行排序。所以在主函數(shù)執(zhí)行fun(c+4,6)語(yǔ)句時(shí),將從數(shù)組c的第5個(gè)元素開(kāi)始的后6個(gè)元素進(jìn)行從大到小排序。排序之后,數(shù)組c的內(nèi)容變?yōu)閧1,2,3,4,9,8,7,6,5,0}。20、有以下程序#includemain(){intc[6]={10,20,30,40,50,60},*p,*s;p=c;s=&c[5];printf("%d\n",s-p);}程序運(yùn)行后的輸出結(jié)果是A、50B、6C、5D、60標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:主函數(shù)中指針變量p指向數(shù)組c,s保存了數(shù)組最后一個(gè)元素的地址,那么s中為兩個(gè)地址之間的元素差5。21、有以下程序#include<stdio.h>main()voidfun(char*c,intd){charb=’a’,a=’A’;{*c=*c+1;d=d+1;fun(&b,a);printf("%c,%c\n",b,a);printf("%c,%c,",*c,d);}}程序運(yùn)行后的輸出結(jié)果是A、b,B,b,AB、b,B,B,AC、a,B,B,aD、a,B,a,B標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:本題中fun函數(shù)的參數(shù)傳遞方式,形參c是傳地址,形參d是傳值,所以在主函數(shù)中,執(zhí)行脅時(shí),把變量b的地址傳給了c,把a(bǔ)的值傳遞給了d,經(jīng)過(guò)運(yùn)算,輸出的值為b.B。在主函數(shù)的輸出語(yǔ)句中,輸出變量b的值為b,變量a的值為A。22、有以下程序voidfun(intx,inty,int*c,int*d){*c=x+y;*d=x-y;}main(){inta=4,b=3,c=0,d=0;fun(a,b,&c,&d);printf("%d%d\n",c,d);}程序的輸出結(jié)果是A、43B、34C、71D、00標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:函數(shù)fun有四個(gè)形參,功能是利用參數(shù)的地址傳遞來(lái)計(jì)算前兩個(gè)參數(shù)的和與差。主函數(shù)中調(diào)用fun函數(shù)c計(jì)算4+3,d計(jì)算4.3值為1。23、有下列程序:main(){inta[4][4]={{1,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}},i,k,t;for(i=0;i<3;i++)for(k=i+l;k<4;k++)if(a[i][i]<a[k][k]){t=a[i][i];a[i][i]=a[k][k];a[k][k]=t;}for(i=0;i<4;i++)printf("%d,",a[0][i]);}程序運(yùn)行后的輸出結(jié)果是A、6,2,1,1,B、1,1,2,6,C、2,3,4,6,D、6,4,3,2,標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:利用二重for循環(huán)對(duì)二維數(shù)組a[4][4]的主對(duì)角線上的元素{1,6,2,1}實(shí)現(xiàn)按列從大到小排序,所以數(shù)組a[4][4]的值變?yōu)閧{6,4,3,2,},{8,2,5,7},{3,7,1,5},{4,8,6,1}},最后輸出數(shù)組a[4][4]第一行上的元素,所以輸出結(jié)果為6,4,3,2。24、以下敘述中錯(cuò)誤的是A、函數(shù)的返回值類(lèi)型不能是結(jié)構(gòu)體類(lèi)型,只能是簡(jiǎn)單類(lèi)型B、只要類(lèi)型相同,結(jié)構(gòu)體變量之間可以整體賦值C、可以通過(guò)指針變量來(lái)訪問(wèn)結(jié)構(gòu)體變量的任何成員D、函數(shù)可以返回指向結(jié)構(gòu)體變量的指針標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:函數(shù)的返回值類(lèi)型可以是結(jié)構(gòu)體類(lèi)型。結(jié)構(gòu)體變量之間可以相互復(fù)制。25、以下關(guān)于typedef的敘述錯(cuò)誤的是A、typedef只是將已存在的類(lèi)型用一個(gè)新的名字來(lái)代表B、用typedef可以為各種類(lèi)型說(shuō)明一個(gè)新名,但不能用來(lái)為變量說(shuō)明一個(gè)新名C、用typedef可以增加新類(lèi)型D、用typedef為類(lèi)型說(shuō)明一個(gè)新名,通常可以增加程序的可讀性標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:C語(yǔ)言允許用typedef說(shuō)明一種新的類(lèi)型名,其一般形式為:typedef類(lèi)型名標(biāo)識(shí)符;在此“類(lèi)型名”必須是在此語(yǔ)句之前已有定義的類(lèi)型標(biāo)識(shí)符。“標(biāo)識(shí)符”是一個(gè)用戶定義標(biāo)識(shí)符,用作新的類(lèi)型名。Typedef語(yǔ)句的作用僅僅是用“標(biāo)識(shí)符”來(lái)代表已存在的“類(lèi)型名”,并未產(chǎn)生新的數(shù)據(jù)類(lèi)型,原來(lái)的類(lèi)型名依然有效,這樣可以增加程序的可讀性。國(guó)家二級(jí)C語(yǔ)言機(jī)試(選擇題)模擬試卷第2套一、選擇題(本題共40題,每題1.0分,共40分。)1、以下敘述中正確的是A、每個(gè)后綴為.c的C語(yǔ)言源程序都應(yīng)該包含一個(gè)main函數(shù)B、在C語(yǔ)言程序中,main函數(shù)必須放在其他函數(shù)的最前面C、每個(gè)后綴為.c的C語(yǔ)言源程序都可以單獨(dú)進(jìn)行編譯D、在C語(yǔ)言程序中,只有main函數(shù)才可單獨(dú)進(jìn)行編譯標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:每一個(gè)C語(yǔ)言的文件或函數(shù)都可以單獨(dú)編譯,但只有main函數(shù)的才可以執(zhí)行。2、下列敘述中正確的是A、在棧中,棧中元素隨棧底指針與棧頂指針的變化而動(dòng)態(tài)變化B、在棧中,棧頂指針不變,棧中元素隨棧底指針的變化而動(dòng)態(tài)變化C、在棧中,棧底指針不變,棧中元素隨棧頂指針的變化而動(dòng)態(tài)變化D、上述三種說(shuō)法都不對(duì)標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:在棧中,允許插入與刪除的一端稱為棧頂,而不允許插入與刪除的另一端稱為棧底。棧跟隊(duì)列不同,元素只能在棧頂壓入或彈出,棧底指針不變,棧中元素隨棧頂指針的變化而動(dòng)態(tài)變化,遵循后進(jìn)先出的規(guī)則。3、下面對(duì)軟件特點(diǎn)描述正確的是()。A、軟件具有明顯的制作過(guò)程B、軟件在使用中存在磨損、老化問(wèn)題C、軟件復(fù)制不涉及知識(shí)產(chǎn)權(quán)D、軟件是一種邏輯實(shí)體,具有抽象性標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:軟件具有以下特點(diǎn):軟件是一種邏輯實(shí)體,而不是物理實(shí)體,具有抽象性;軟件的生產(chǎn)與硬件不同,它沒(méi)有明顯的制作過(guò)程;軟件在運(yùn)行、使用期間不存在磨損、老化問(wèn)題;軟件的開(kāi)發(fā)、運(yùn)行對(duì)硬件和環(huán)境具有依賴性;軟件復(fù)雜性高,成本昂貴;軟件開(kāi)發(fā)涉及諸多的社會(huì)因素(包括軟件知識(shí)產(chǎn)權(quán)及法律等問(wèn)題)。4、已知大寫(xiě)字母A的ASCII碼是65,小寫(xiě)字母a的ASCII碼是97。以下不能將變量c中的大寫(xiě)字母轉(zhuǎn)換為對(duì)應(yīng)小寫(xiě)字母的語(yǔ)句是A、c=(’A’+c)%26-’a’B、c=C+32C、c=C-’A’+’a’D、c=(C-’A’)%26+’a’標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:由題意可知,小寫(xiě)字符a和大寫(xiě)字符A的ASCⅡ代碼相差為32,所以選項(xiàng)C能將大寫(xiě)字符C的ASCII代碼轉(zhuǎn)換為小寫(xiě)字符c的ASCII代碼;選項(xiàng)D和C)左側(cè)的表達(dá)式都是大寫(xiě)字符C與大寫(xiě)字符A的差與’a’的ASCII代碼的和就是小寫(xiě)字符c的ASCII代碼。而選項(xiàng)A中應(yīng)該是加上’a’,而不是減去’a’。5、結(jié)構(gòu)化程序設(shè)計(jì)中,下面對(duì)goto語(yǔ)句使用描述正確的是()。A、禁止使用goto語(yǔ)句B、使用goto語(yǔ)句程序效率高C、應(yīng)避免濫用goto語(yǔ)句D、以上說(shuō)法都不對(duì)標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:結(jié)構(gòu)化程序設(shè)計(jì)中,應(yīng)盡量避免使用GOTO語(yǔ)句,但不是禁止使用,所以選擇C。6、面向?qū)ο蠓椒ㄖ?,繼承是指A、一組對(duì)象所具有的相似性質(zhì)B、一個(gè)對(duì)象具有另一個(gè)對(duì)象的性質(zhì)C、各對(duì)象之間的共同性質(zhì)D、類(lèi)之間共享屬性和操作的機(jī)制標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:面向?qū)ο蠓椒ㄖ?,繼承是使用已有的類(lèi)定義作為基礎(chǔ)建立新類(lèi)的定義技術(shù)。廣義地說(shuō),繼承是指能夠直接獲得已有的性質(zhì)和特征,而不必重復(fù)定義它們。7、下列定義變量的語(yǔ)句中錯(cuò)誤的是()。A、int_int;B、doubleint;C、charFor;D、floatUS$;標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:C語(yǔ)言規(guī)定,變量命名必須符合標(biāo)識(shí)符的命名規(guī)則。D選項(xiàng)中包含了非法字符“$”,所以錯(cuò)誤。標(biāo)識(shí)符由字母、數(shù)字或下劃線組成,且第一個(gè)字符必須是大小寫(xiě)英文字母或者下劃線,而不能是數(shù)字。大寫(xiě)字符與小寫(xiě)字符被認(rèn)為是兩個(gè)不同的字符,所以For不是關(guān)鍵字for。8、某二叉樹(shù)共有399個(gè)結(jié)點(diǎn),其中有199個(gè)度為2的結(jié)點(diǎn),則該二叉樹(shù)中的葉子結(jié)點(diǎn)數(shù)為A、不存在這樣的二叉樹(shù)B、200C、198D、199標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:在二叉樹(shù)中,設(shè)葉子結(jié)點(diǎn)個(gè)數(shù)為n0,度為2的結(jié)點(diǎn)個(gè)數(shù)為n2,葉子結(jié)點(diǎn)的個(gè)數(shù)計(jì)算方法n0=n2+1=199+1=200,所以選項(xiàng)B正確。9、若a、b、c、d都是int型變量且都已經(jīng)正確賦初值,則以下不正確的賦值語(yǔ)句是()。A、a+d:B、a++;C、a=b=c=d=100;D、a=(b=3)+(d=5);標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:C語(yǔ)言規(guī)定,賦值號(hào)的右邊可以是一個(gè)賦值表達(dá)式,因此選項(xiàng)C、選項(xiàng)D正確;在選項(xiàng)B中,a++是一個(gè)自加1的表達(dá)式,a被重新賦值,因此它是一個(gè)合法的賦值表達(dá)式;選項(xiàng)A中,a+d是一個(gè)算術(shù)表達(dá)式,雖然最后有一個(gè)分號(hào),但這個(gè)表達(dá)式中沒(méi)有賦值操作,因此它不是一條賦值語(yǔ)句。10、若有以下程序段:intr=8;printf(”%d\n”,r>>1);輸出結(jié)果是()。A、16B、8C、4D、2標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題考查位運(yùn)算,屬于基礎(chǔ)知識(shí)。題目中的整型變量8,二進(jìn)制表達(dá)為00001000,右移一位為00000100,即4,C選項(xiàng)正確。11、以下敘述中錯(cuò)誤的是()。A、gets函數(shù)用于從終端讀入字符串B、getchar函數(shù)用于從磁盤(pán)文件讀人字符C、fputs函數(shù)用于把字符串輸出到文件D、fwrite函數(shù)用于以二進(jìn)制形式輸出數(shù)據(jù)到文件標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:本題考查字符處理函數(shù)和文件做操函數(shù),屬于基礎(chǔ)知識(shí)。其中B選項(xiàng)的getehar函數(shù)用于從終端讀入字符。12、在數(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)管理階段共享性大,冗余度小。13、若變量已正確定義,則語(yǔ)句s=32;s^=32;printf("%d",s);的輸出結(jié)果是()。A、-1B、0C、1D、32標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:本題考查邏輯異或運(yùn)算。異或運(yùn)算只有在兩個(gè)比較的位不同時(shí)其結(jié)果為1,否則結(jié)果為0,題目中兩個(gè)值相同,所以結(jié)果為0。14、子函數(shù)的功能是通過(guò)鍵盤(pán)輸入給x所指的整型數(shù)組所有元素賦值。在下劃線處應(yīng)填寫(xiě)的是()。#include#defineN5voidfun(intx[N]){intm;for(m=N一1;m>=0;m一一)scanf(’’%d’’,__);}A、x+mB、x[++m]C、x+(m++)D、x[m+1]標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:本題用for循環(huán)給數(shù)組賦值,與上題類(lèi)似,選項(xiàng)B和選項(xiàng)D不是地址,錯(cuò)誤。選項(xiàng)A和選項(xiàng)C是地址,但是選項(xiàng)C的m值會(huì)++自增,然后for循環(huán)里面又m一一自減,會(huì)導(dǎo)致死循環(huán),不滿足要求,選項(xiàng)A正確。15、數(shù)據(jù)庫(kù)DB、數(shù)據(jù)庫(kù)系統(tǒng)DBS、數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS之間的關(guān)系是A、DB包含DBS和DBMSB、DBMS包含DB和DBSC、DBS包含DB和DBMSD、沒(méi)有任何關(guān)系標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:數(shù)據(jù)庫(kù)系統(tǒng)(DatabaseSystem簡(jiǎn)稱DBS)由下列幾個(gè)部分組成:數(shù)據(jù)庫(kù)(DB)、數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)、數(shù)據(jù)庫(kù)管理員(人員)、系統(tǒng)平臺(tái)之一——硬件平臺(tái)(硬件)、系統(tǒng)平臺(tái)之二——軟件平臺(tái)(軟件)。這五個(gè)部分構(gòu)成了一個(gè)以數(shù)據(jù)庫(kù)為核心的完整的運(yùn)行實(shí)體,稱為數(shù)據(jù)庫(kù)系統(tǒng)。其中:DB(DataBase)即數(shù)據(jù)庫(kù),是統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合:DBMS(DatabaseManagementSystem)即數(shù)據(jù)庫(kù)管理系統(tǒng),是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,為用戶或應(yīng)用程序提供訪問(wèn)DB的方法。16、以下選項(xiàng)中不合法的標(biāo)識(shí)符是A、FORB、&aC、printD、_00標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:合法的標(biāo)識(shí)符要滿足組成字符為a~z以及A~Z,數(shù)字字符0到9和下劃線,其中數(shù)字不開(kāi)頭,不能是關(guān)鍵字。選項(xiàng)B)中,&不屬于組成字符,是錯(cuò)誤的。17、下面不屬于黑盒測(cè)試方法的是A、邊界值分析法B、基本路徑測(cè)試C、等價(jià)類(lèi)劃分法D、錯(cuò)誤推測(cè)法標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:常用的黑盒測(cè)試方法和技術(shù)有:等價(jià)類(lèi)劃分法、邊界值分析法、錯(cuò)誤推測(cè)法和因果圖等。白盒測(cè)試是把程序看成裝在一只透明的白盒里,測(cè)試者完全了解程序的結(jié)構(gòu)和處理過(guò)程。它根據(jù)程序的內(nèi)部邏輯來(lái)設(shè)計(jì)測(cè)試用例,檢查程序中的邏輯通路是否都按預(yù)定的要求正確地工作。白盒測(cè)試的主要技術(shù)有邏輯覆蓋測(cè)試、基本路徑測(cè)試等,故選擇B選項(xiàng)。18、有以下程序intfun(intn){ifln=1)return1;elseretum(n+fun(n-1));}main(){intx;scanf(’’%d’’,&x);x=fun(x);printf(’’%d\n’’,x);}執(zhí)行程序時(shí),給變量x輸入10,程序的輸出結(jié)果是A、54B、65C、45D、55標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:在C語(yǔ)言中函數(shù)可以遞歸調(diào)用,即直接或間接地自己調(diào)用自己。本題在函數(shù)intfun(intn)的定義中又出現(xiàn)了對(duì)函數(shù)fun的調(diào)用,所以函數(shù)fun是遞歸函數(shù)。因而在主函數(shù)中調(diào)用x=fun(x)時(shí),當(dāng)輸入10賦給變量x時(shí),遞歸調(diào)用的過(guò)程為:fun(10)=10+fun(9)=10+9+fun(8)=10+9++8+fun(7)=10+9++8+7+fun(6)=10+9++8+7+6+fun(6)=10+9++8+7+6+5+fun(4)=10+9++8+7+6+5+4+fun(3)=10+9++8+7+6+5+4+3+fun(2)=10+9++8+7+6+5+4+3+2+fun(1)=10+9++8+7+6+5+4+3+2+1=5519、關(guān)于變量的定義和說(shuō)明的敘述中正確的是()。A、對(duì)于變量而言,“定義”和“說(shuō)明”這兩個(gè)詞實(shí)際上是同一個(gè)意思B、在復(fù)合語(yǔ)句中不能定義變量C、全局變量的存儲(chǔ)類(lèi)別可以是靜態(tài)類(lèi)D、函數(shù)的形式參數(shù)不屬于局部變量標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:C語(yǔ)言的關(guān)鍵字static說(shuō)明符說(shuō)明全局變量時(shí),此變量可稱作靜態(tài)全局變量。靜態(tài)全局變量只限于本編譯單位使用,不能被其他編譯單位所引用。在一個(gè)函數(shù)內(nèi)部定義的變量(包括形參)是局部變量,它只在本函數(shù)范圍內(nèi)有效。不同函數(shù)中可以使用相同名字的局部變量,它們代表不同的對(duì)象,互不影響。在函數(shù)內(nèi)部復(fù)合語(yǔ)句中也可以定義變量,這些變量都是局部變量,只在本復(fù)合語(yǔ)句中有效。20、學(xué)院的每名教師只能屬于一個(gè)系,則實(shí)體系和實(shí)體教師間的聯(lián)系是A、一對(duì)多B、多對(duì)多C、多對(duì)一D、一對(duì)一標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:一對(duì)多關(guān)系是關(guān)系數(shù)據(jù)庫(kù)中兩個(gè)表之問(wèn)的一種關(guān)系,該關(guān)系中第一個(gè)表中的單個(gè)行可以與第二個(gè)表中的一個(gè)或多個(gè)行相關(guān),但第二個(gè)表中的一個(gè)行只可以與第一個(gè)表中的一個(gè)行相關(guān)。本題中一個(gè)是體系有多個(gè)老師,但老師只能屬于一個(gè)系,因此是一對(duì)多關(guān)系。21、已定義以下函數(shù)intfun(int*p){return*p;}fun函數(shù)返回值是A、一個(gè)整數(shù)B、不確定的值C、形參p中存放的值D、形參p的地址值標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:返回值為指針變量指向的數(shù)據(jù),該數(shù)據(jù)已被定義為整型。因此A選項(xiàng)正確。22、有以下程序:#include<stdio.h>#definePT3.5:#defineS(x)PT*x*x;main(){inta=1,b=2;prinff("%4.1f\n",S(a+b));}程序的運(yùn)行結(jié)果是()。A、7.5B、31.5C、程序有錯(cuò)無(wú)輸出結(jié)果D、14.0標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:宏定義不是C語(yǔ)句,末尾不需要有分號(hào),語(yǔ)句printf("%4.1f\n",s(a+b));展開(kāi)后為printf("%4.1f\n",3.5;*a+b*a+b;);,所以程序會(huì)出現(xiàn)語(yǔ)法錯(cuò)誤。23、23.以下程序的輸出結(jié)果是()。main(){intm=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf(’’%d,%d,%d,%d\n’’,m,n,*P,*q);}A、2,1,2,1B、1,2,2,1C、1,2,1,2D、2,1,1,2標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:題目中在主函數(shù)定義了3個(gè)整數(shù)指針變量p,q,r,并且使p指向m,q指向n,再執(zhí)行“r=p;p=q;q=r;”這三條語(yǔ)句,使q指向m,p指向n,再輸出變量“m,n,*p,*q”時(shí),它們值分別為1,2,2,1。24、有以下程序#include#defineSUB(a)(a)-(a)main(){inta=2,b=3,c=5,d;d=SUB(a+b)*c;printf("%d\n",d);}程序運(yùn)行后的輸出結(jié)果是A、-12B、0C、10D、-20標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:本題主要考查的是宏替換,在程序中執(zhí)行d=sub(a+b)*c這條語(yǔ)句時(shí),首先要進(jìn)行宏替換,依據(jù)宏SUB(a)的定義可知,上面這條語(yǔ)句替換為d=(a+b)-(a+b)*c,因?yàn)槌朔ǖ膬?yōu)先級(jí)比減法的優(yōu)先級(jí)高,所以先進(jìn)行乘法運(yùn)算,即d=5-5*5=.20,.25、以下程序的輸出結(jié)果是()。#includemain()#defineN4{intx[][N]={{1,2,3),{4),{5,6,7,8),{9,10}},voidfun(inta[][N],intb[])y[N],i;{inti;fun(x,y);for(i=0;i<N;i++)b[i]=a[i][i];for(i=0;i<N;i++)printf(’’%d,’’,y[i]);}printf(’’\n’’);}A、3,4,8,10,B、1,4,5,9,C、1,0,7,0,D、1,2,3,4,標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:題目中函數(shù)fun(inta[][N],intb[])的功能是把矩陣a[N][N]主對(duì)角線上的元素賦給一維數(shù)組b[]。在主函數(shù)中由x[][N]的初始化可知,其主對(duì)角線上的元素是1,0,7,0。所以當(dāng)執(zhí)行完函數(shù)fun(x,v)后,一維數(shù)組y[]中的元素值為1,0,7,0,選項(xiàng)為C。26、以下能正確輸出字符a的語(yǔ)句是()。A、printf("%s","a");B、printf("%s",’a’);C、printf("%c","a");D、printf("%d",’a’);標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:輸出函數(shù)printf()的一般形式為"printf("格式控制字符串",輸出項(xiàng)1,輸出項(xiàng)2,…)",輸出項(xiàng)的形式要和格式控制字符串中的格式控制符保持一致,"%s"為輸出字符串,"%c"為輸出單個(gè)字符,"%d"為以十進(jìn)制形式輸出帶符號(hào)整數(shù),答案選A。27、在進(jìn)行數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)時(shí),可將E-R圖中的屬性表示為關(guān)系模式的A、屬性B、鍵C、關(guān)系D、域標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:在進(jìn)行數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)時(shí),可將E-R圖中的屬性表示為關(guān)系模式的屬性。28、在數(shù)據(jù)庫(kù)中,數(shù)據(jù)模型包括數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和A、查詢B、數(shù)據(jù)類(lèi)型C、關(guān)系運(yùn)算D、數(shù)據(jù)約束標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:在數(shù)據(jù)庫(kù)系統(tǒng)中的數(shù)據(jù)模型有三個(gè)要素:數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和數(shù)據(jù)的約束條件。其中數(shù)據(jù)的約束條件包括三種:實(shí)體完整性約束條件、參照完整性約束條件和用戶定義的完整性約束條件。因此選項(xiàng)D正確。29、若變量均已正確定義并賦值,以下合法的C語(yǔ)言賦值語(yǔ)句是A、x=n%2.5;B、x+n-i;C、x=5=4+1;D、x=y==5;標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:選項(xiàng)D的含義是把關(guān)系表達(dá)式y(tǒng)=5的值賦給變量x。所以這是一條正確的賦值語(yǔ)句。因?yàn)橘x值運(yùn)算符左側(cè)的操作數(shù)必須是一個(gè)變量,而不能是表達(dá)式或者常量。因?yàn)榍笥噙\(yùn)算符“%”兩側(cè)的運(yùn)算對(duì)象都應(yīng)當(dāng)是整型數(shù)據(jù)。30、有以下程序#include<stdio.h>main(){inty=10;while(y--);printf("y=%d\n",y);}程序執(zhí)行后的輸出結(jié)果是A、y=0B、y=-1C、y=1D、while構(gòu)成無(wú)限循環(huán)標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:在while循環(huán)中每次變量y的值減1,直到其值等于0時(shí)退出循環(huán),這時(shí)y的再減1變?yōu)?1。31、有以下程序main(){inta=0,b=0,c=0,d=0;if(a=1)b=1;c=2;elsed=3;printf("%d,%d,%d,%d\n",a,b,c,d);}程序輸出A、0,0,0,3B、1,1,2,0C、編譯有錯(cuò)D、0,1,2,0標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:if語(yǔ)句的格式為:if(表達(dá)式)語(yǔ)句1else語(yǔ)句2if和else是C語(yǔ)言的關(guān)鍵字。"語(yǔ)句1"稱為if子句,"語(yǔ)句2"稱為else子句,這些子句只允許為一條語(yǔ)句,若需要多條語(yǔ)句時(shí),則應(yīng)該使用復(fù)合語(yǔ)句。因此題目if(a=1)b=1;c=2;elsed=3;if分支有兩條語(yǔ)句,沒(méi)構(gòu)成復(fù)合語(yǔ)句。32、以下敘述中正確的是A、函數(shù)的返回值不能是結(jié)構(gòu)體類(lèi)型B、函數(shù)的返回值不能是結(jié)構(gòu)體指針類(lèi)型C、在調(diào)用函數(shù)時(shí),可以將結(jié)構(gòu)體變量作為實(shí)參傳給函數(shù)D、結(jié)構(gòu)體數(shù)組不能作為參數(shù)傳給函數(shù)標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:和普通變量相似,結(jié)構(gòu)體變量也可以作為函數(shù)實(shí)參或者形參,函數(shù)的返回值也可以是結(jié)構(gòu)體類(lèi)型。33、若有以下程序#includeint*f(int*s,int*t){int*k;if(*s<*t){k=s;s=t;t=k;}returns;}main(){inti=3,j=5,*p=&i,*=&j,*r;r=f(p,q);printf("%d,%d,%d,%d,%d\n",i,j,*P,*q,*r);}則程序的輸出結(jié)果是A、3,5,5,3,5B、5,3,5,3,5C、5,3,3,5,5D、3,5,3,5,5標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:本題考查了返回值為指針的函數(shù),函數(shù)f的主要功能為第一個(gè)參數(shù)小于第二個(gè)參數(shù),那么交換指針的指向,這對(duì)于實(shí)參指向的數(shù)據(jù)時(shí)沒(méi)有影響的。最后返回比較大的元素的地址。主函數(shù)中p指向i,q指向j,調(diào)用r=f(P,q),返回q的地址,因此*p=3,*q=5,*r=5。34、有以下程序main(){chara[5][10]={"one","two","three","four","five"};inti,j;chart;for(i=0;i<4;i++)for(j=i+1;j<5;j++)if(a[i][0]>a[j][0]){t=a[i][0];a[i][0]=a[j][0];a[j][0]=t;}puts(a[1]);}程序運(yùn)行后的輸出結(jié)果是A、fwoB、owoC、twoD、fix標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:這個(gè)程序的執(zhí)行過(guò)程是當(dāng)i=0時(shí),j=1,a[0][0]=o<a[1][0]=t;不置換;當(dāng)i=1時(shí),j=2,a[1][0]=t=a[2][0]=t;不置換;當(dāng)i=2時(shí),j=3,a[2][0]=t>a[3][0]=f;置換a[2][0]=f,a[3][0]=t;此時(shí),a[2][0]=f,a[1][0]=t,再置換a[2][0]=t,a[1][0]=f,;當(dāng)i=3時(shí),j=4,a[3][0]=f=a43][0]=f;不置換;所以a[1]的結(jié)果為fwo。35、若有以下程序typedefstructstu{charname[10],gender;intscore;)STU;voidf(char*P){strcpy(P,"Qian");}main(){STUa={"Zhao",’m’,290},b;b=a;f(b.name);b.gender=’f’;b.score=350;printf("%s,%c,%d,",a.name,a.gender,a.score);printf("%s,%c,%d\n",b.name,b.gender,b.score);}則程序的輸出結(jié)果是A、Zhao,m,290,Zhao,m,290B、Qian,f,350,Qian,f,350C、Zhao,m,290,Qian,f,350D、Zhao,m,290,Zhao,f,350標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:主函數(shù)中結(jié)構(gòu)體變量定義同時(shí)賦初值。執(zhí)行b=a;語(yǔ)句后,b的數(shù)據(jù)和a的數(shù)據(jù)相同,調(diào)用函數(shù)f(b.name),形參指針p接收實(shí)參b.name的地址,此時(shí)p和b.name指向同一個(gè)存儲(chǔ)空間,流程轉(zhuǎn)到f執(zhí)行,p指向的存儲(chǔ)空間仔放字符串"Qian",流程結(jié)束返同主函數(shù)。主函數(shù)中變量b的其他成員仔放數(shù)據(jù)。兇此a的數(shù)據(jù){"Zhao",’m’,290},b的數(shù)據(jù)為{"Qian",’f’,350}。注意本題結(jié)構(gòu)體STU類(lèi)型變量a和b中的name成員為數(shù)組,不是指針,它具有自己的存儲(chǔ)空間。36、下面描述中不屬于數(shù)據(jù)庫(kù)系統(tǒng)特點(diǎn)的是A、數(shù)據(jù)共享B、數(shù)據(jù)完整性C、數(shù)據(jù)冗余度高D、數(shù)據(jù)獨(dú)立性高標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)為高共享、低冗余、獨(dú)立性高、具有完整性等,C錯(cuò)誤。37、以下敘述中正確的是A、函數(shù)的形式參數(shù)不屬于局部變量B、對(duì)于變量而言,"定義"和"說(shuō)明"這兩個(gè)詞實(shí)際上是同一個(gè)意思C、在復(fù)合語(yǔ)句中不能定義變量D、全局變量的存儲(chǔ)類(lèi)別可以是靜態(tài)類(lèi)標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:聲明變量不分配空間,定義變量要分配空間,所以B選項(xiàng)錯(cuò)誤。符合語(yǔ)句中可以定義變量,所以C選項(xiàng)錯(cuò)誤。函數(shù)的形參屬于局部變量,所以A選項(xiàng)錯(cuò)誤。38、設(shè)有定義:charp[]={’1’,’2’,’3’},*q=p;,以下不能計(jì)算出一個(gè)char型數(shù)據(jù)所占字節(jié)數(shù)的表達(dá)式是()。A、sizeof(p)B、sizeof(char)C、sizeof(*q)D、sizeof(p[0])標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:根據(jù)題目中的定義可以知道sizeof(p),計(jì)算的是數(shù)組p中所有元素所占用的字節(jié)數(shù),而不是char型數(shù)據(jù)所占字節(jié)數(shù)。39、有以下程序#includemain(){inti,j,m=55;for(i=1;i<=3;i++)for(j=3;j<=i;j++)m=m%j;printf("%d\n",m);}程序的運(yùn)行結(jié)果是A、0B、1C、2D、3標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:第一次執(zhí)行外循環(huán)i的值為1,滿足條件,判斷第一次內(nèi)循環(huán),j的值為3,不滿足條件,跳出內(nèi)循環(huán),第二次執(zhí)行外循環(huán)i的值為2,同理也不滿足內(nèi)循環(huán)條件,跳出內(nèi)循環(huán),第三次執(zhí)行外循環(huán)i的值為3,此時(shí)進(jìn)入內(nèi)循環(huán)判斷條件時(shí),條件成立,執(zhí)行m=m%j,m的值為1,跳出內(nèi)循環(huán),跳出外循環(huán)打印m的值。40、設(shè)有定義:doublea,b,c;若要求通過(guò)輸入分別給a、b、c輸入1、2、3,輸入形式如下(注:此處□代表一個(gè)空格)□□1.0□□2.0□□3.0<回車(chē)>則能進(jìn)行正確輸入的語(yǔ)句是A、scanf("%lf%lf%lf",a,b,c);B、scanf("%lf%lf%lf",&a,&b,&c);C、scanf("%f%f%f",&a,&b,&c);D、scanf("%5.1lf%5.1lf%5.1lf",&a,&b,&c);標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:scanf函數(shù)的一般形式為scanf(格式控制,變量1地址,變量2地址,…),其中,格式字符串要與數(shù)據(jù)類(lèi)型保持一致,所以格式字符串中應(yīng)為%lf,后面應(yīng)該為變量地址,所以需要加上符號(hào)"&",所以選擇B。國(guó)家二級(jí)C語(yǔ)言機(jī)試(選擇題)模擬試卷第3套一、選擇題(本題共25題,每題1.0分,共25分。)1、下列敘述中正確的是A、算法就是程序B、設(shè)計(jì)算法時(shí)只需要考慮數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)C、設(shè)計(jì)算法時(shí)只需要考慮結(jié)果的可靠性D、以上三種說(shuō)法都不對(duì)標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:所謂算法是指解題方案的準(zhǔn)確而完整的描述。是一組嚴(yán)謹(jǐn)?shù)囟x運(yùn)算順序的規(guī)則,并且每一個(gè)規(guī)則都是訂效的,且是明確的,此順序?qū)⒃谟邢薜拇螖?shù)下終止。算法不等于程序,也不等于計(jì)算方法。設(shè)汁算法時(shí)不儀要考慮對(duì)數(shù)據(jù)對(duì)象的運(yùn)算和操作,還要考慮算法的控制結(jié)構(gòu)。2、下列關(guā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、以上說(shuō)法均不正確標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:一般來(lái)說(shuō),在線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中,各數(shù)據(jù)節(jié)點(diǎn)的存儲(chǔ)序號(hào)是不連續(xù)的,并且各節(jié)點(diǎn)在存儲(chǔ)空間中的位置關(guān)系與邏輯關(guān)系也不一致。線性鏈表中數(shù)據(jù)的插入和刪除都不需要移動(dòng)表中的元素,只需改變節(jié)點(diǎn)的指針域即可。3、下述程序的輸出結(jié)果是()。#include<stdio.h>voidmain(){inta[5]={1,2,3,4,5};int*p=a,**q=&p;printf(’’%d’’,*(p++));printf(’’%d’’,**q);}A、22B、11C、34D、12標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:。程序首先定義了一個(gè)指向一維數(shù)組a的指針p,一個(gè)指向指針變量p的指針變量q,輸出*(p+)是先輸出*p即a[0]的值,再將指針p指向數(shù)組的下一個(gè)元素a[1],輸出**q是輸出指針p所指向單元的內(nèi)容,即a[1]的值。4、若有以下程序段:structst{intn;int*m;};inta=2,b=3,c=5;structsts[3]=({101,&a},{102,&c},{103,&b}};main(){structst*p;p=s;…}則以下表達(dá)式中值為5的是()。A、(p++)->mB、*(p++)->mC、(*p)-mD、*(H_p)->m標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:本題考查如何通過(guò)指針引用數(shù)組元素。首先定義了一個(gè)結(jié)構(gòu)體,然后定義了一個(gè)結(jié)構(gòu)體變量s[3],并賦了初值。在主程序中,定義了一個(gè)指向結(jié)構(gòu)體變量s的指針p,要使表達(dá)式的值為5,就應(yīng)該引用s[1].m的值,使指針p指向s[1],++p可以實(shí)現(xiàn)將p指針加1,指向s[1]。5、設(shè)有表示學(xué)生選課的3張表,學(xué)生S(學(xué)號(hào),姓名,性別,年齡,身份證號(hào)),課程C(課號(hào),課名),選課SC(學(xué)號(hào),課號(hào),成績(jī)),則表SC的關(guān)鍵字(鍵或碼)為()。A、課號(hào),成績(jī)B、學(xué)號(hào),成績(jī)C、學(xué)號(hào),課號(hào)D、學(xué)號(hào),姓名,成績(jī)標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:學(xué)號(hào)是學(xué)生表S的主鍵,課號(hào)是課程表C的主鍵,所以選課表SC的關(guān)鍵字就應(yīng)該是與前兩個(gè)表能夠直接聯(lián)系且能唯一定義的學(xué)號(hào)和課號(hào),所以選擇C選項(xiàng)。6、有以下程序#defineF(X,Y)(X)*(Y)main(){inta=3,b=4;printf("%d\n",F(xiàn)(a++,b++));}程序運(yùn)行后的輸出結(jié)果是()。A、12B、15C、16D、20標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:此題考查的是編譯預(yù)處理命令以及自加運(yùn)算符?!癋(a++,b++)”先取a和b的值,參加運(yùn)算,再把a(bǔ)和b的值分別加1,所以“F(a++,b++)=F(3,4)=3*4=12”。7、下面描述中,不屬于軟件危機(jī)表現(xiàn)的是A、軟件過(guò)程不規(guī)范B、軟件開(kāi)發(fā)生產(chǎn)率低C、軟件質(zhì)量難以控制D、軟件成本不斷提高標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:軟件危機(jī)主要表現(xiàn)在以下6個(gè)方面:①軟件需求的增長(zhǎng)得不到滿足。②軟件開(kāi)發(fā)成本和進(jìn)度無(wú)法控制。③軟件質(zhì)量難以保證。④軟件不可維護(hù)或維護(hù)程度非常低。⑤軟件的成本不斷提高。⑥軟件開(kāi)發(fā)生產(chǎn)率的提高趕不上硬件的發(fā)展和應(yīng)用需求增長(zhǎng)。8、占構(gòu)化程序設(shè)計(jì)的基本原則不包括A、多元性B、自頂向下C、模塊化D、逐步求精標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:結(jié)構(gòu)化程序設(shè)計(jì)方法的主要原則可以概括為:自頂向下,逐步求精,模塊化和限制使用GOTO語(yǔ)句,其中不包括多態(tài)性。9、以下程序段完全正確的是A、intk,*p=&k;scanf("%d",p):B、int*p;scanf("%d",p):C、int*p;scanf("%d",&p);D、intk,*p;*p=&k;scantf("%d",p);標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:選項(xiàng)B)沒(méi)有對(duì)指針進(jìn)行初始化,無(wú)效指針。選項(xiàng)C)錯(cuò)在沒(méi)有對(duì)指針進(jìn)行初始化,無(wú)效指針,并且在scanf("%d",&p)中無(wú)需再進(jìn)行取地址操作。選項(xiàng)D),語(yǔ)句*p=&k;的左端*p是指針?biāo)竷?nèi)存空間的值,&k是地址,應(yīng)為p=&k。10、下列關(guān)于數(shù)據(jù)庫(kù)設(shè)計(jì)的敘述中,正確的是A、在需求分析階段建立數(shù)據(jù)字典B、在概念設(shè)計(jì)階段建立數(shù)據(jù)字典C、在邏輯設(shè)計(jì)階段建立數(shù)據(jù)字典D、在物理設(shè)計(jì)階段建立數(shù)據(jù)字典標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:數(shù)據(jù)字典是指對(duì)數(shù)據(jù)的數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)、處理邏輯、外部實(shí)體等進(jìn)行定義和描述,其目的是對(duì)數(shù)據(jù)流程圖中的各個(gè)元素做出詳細(xì)的說(shuō)明。11、合法的C語(yǔ)言數(shù)值常量是()。A、21.0Xa334.5e0B、018.5e-3-0xfC、.1344el.50abcD、0x8A10,0003.e5標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:C語(yǔ)言常量數(shù)制中的八進(jìn)制數(shù)其開(kāi)頭必須是數(shù)字“0”,其數(shù)字包括0~7,而在選項(xiàng)B中,018是錯(cuò)誤的。浮點(diǎn)數(shù)據(jù)的指數(shù)形式表示常量中,C語(yǔ)言規(guī)定字母e或E之前必須要有數(shù)字,且e或E之后的指數(shù)必須為整,而選項(xiàng)C中4e1.5是錯(cuò)誤的。在選項(xiàng)D中,整型數(shù)據(jù)10,000的表示形式是錯(cuò)誤的。12、以下數(shù)組定義中錯(cuò)誤的是A、intx[][3]={0};B、intx[2][3]={{1,2},{3,4},{5,6}};C、intx[][3]={{1,2,3},{4,5,6}};D、intx[2][3]={1,2,3,4,5,6};標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:二維數(shù)組的初始化有以下幾種形式:①分行進(jìn)行初始化;②不分行的初始化;③部分?jǐn)?shù)組元素初始化;④省略第一維的定義,不省略第一維的定義。在選項(xiàng)A)中賦值號(hào)左邊定義了一個(gè)3行2列的二維數(shù)組,而右邊用2行3列的數(shù)字進(jìn)行賦初值。所以出現(xiàn)了邊界的越界溢出而出錯(cuò)。13、下列選項(xiàng)中,不能用作標(biāo)識(shí)符的是A、_1234B、_1_2C、int_2_D、2_int_標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:C語(yǔ)言中標(biāo)識(shí)符必須以字母或者下劃線開(kāi)始,選項(xiàng)D)中是以數(shù)字開(kāi)始的不能作為標(biāo)識(shí)符。14、若有以下程序段charstr[4][12]={"aa","bbb","ccccc","d"},*strp[4];inti;for(i=0;i<4;i++)strp[i]=str[i];不能正確引用字符串的選項(xiàng)是A、strpB、str[0]C、strp[3]D、*strp標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:程序段中定義指針數(shù)組*strp,含有4個(gè)元素,for循環(huán)strp分別保存了二維數(shù)組str中的4個(gè)字符串的首地址,因此strp為二級(jí)地址,不能保存字符串的首地址,*strp或者strp[0]中存放了字符串”aa”的首地址。所以不能正確引用字符串的為選項(xiàng)A。15、以下敘述中錯(cuò)誤的是()。A、C程序在運(yùn)行過(guò)程中所有計(jì)算都以二進(jìn)制方式進(jìn)行B、C程序在運(yùn)行過(guò)程中所有計(jì)算都以十進(jìn)制方式進(jìn)行C、所有C程序都需要編譯鏈接無(wú)誤后才能運(yùn)行D、C程序中字符變量存放的是字符的ASCII值標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:C程序在運(yùn)行過(guò)程中的所有計(jì)算都以二進(jìn)制方式進(jìn)行,所以B選項(xiàng)錯(cuò)誤。16、設(shè)循環(huán)隊(duì)列的存儲(chǔ)空間為Q(1:35),初始狀態(tài)為front=rear=35?,F(xiàn)經(jīng)過(guò)一系列入隊(duì)與退隊(duì)運(yùn)算后,front=15,rear=15,則循環(huán)隊(duì)列中的元素個(gè)數(shù)為A、15B、16C、20D、0或35標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:在循環(huán)隊(duì)列中,用隊(duì)尾指針rear指向隊(duì)列中的隊(duì)尾元素,用排頭指針front指向排頭元素的前一個(gè)位置。在循環(huán)隊(duì)列中進(jìn)行出隊(duì)、入隊(duì)操作時(shí),頭尾指針仍要加1,朝前移動(dòng)。只不過(guò)當(dāng)頭尾指針指向向量上界時(shí),其加1操作的結(jié)果是指向向量的下界0。由于入隊(duì)時(shí)尾指針向前追趕頭指針,出隊(duì)時(shí)頭指針向前追趕尾指針,故隊(duì)空和隊(duì)滿時(shí),頭尾指針均相等。答案為D選項(xiàng)。17、現(xiàn)有表示患者和醫(yī)療的關(guān)系如下:P(P#,Pn,Pg,By),其中P#為患者編號(hào),Pn為患者姓名,Pg為性別,By為出生日期,Tr(P#,D#,Date,Rt),其中D#為醫(yī)生編號(hào),Date為就診日期,Rt為診斷結(jié)果。檢索在1號(hào)醫(yī)生處就診的病人姓名的表達(dá)式是A、πpn(πp#(σD#=(Tr))P)B、πp#(σD#=(Tr)C、πpn(P)D、πpn(TrP)標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:檢索在1號(hào)醫(yī)生處就診的病人姓名的表達(dá)式,首先對(duì)Tr(P#,D#,Date,Rt)關(guān)系在以就診日期D#=1為條件作選擇運(yùn)算,得到在1號(hào)出診的醫(yī)生信息,然后再與患者P(P#,Pn,Pg,By)關(guān)系作自然連接運(yùn)算,對(duì)運(yùn)算結(jié)果在患者編號(hào)列作投影運(yùn)算,再在患者姓名列作一次投影運(yùn)算,得到在1號(hào)醫(yī)生處就診的病人姓名。所以選項(xiàng)A正確。18、若有定義:inta,b;通過(guò)語(yǔ)句scanf("%d;%d",&a,&b);能把整數(shù)3賦給變量a,5賦給變量b的輸入數(shù)據(jù)是A、3,5B、35C、3;5D、35標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:在采用scanf這個(gè)函數(shù)輸入數(shù)據(jù)時(shí),要嚴(yán)格遵守其輸入的規(guī)則定義。本題此函數(shù)定義的規(guī)則是,在兩個(gè)整數(shù)之間加分號(hào)輸入。19、以下程序段中,與語(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、iffa>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。20、設(shè)有如下函數(shù)定義intfun(intk){if(k<1)return0;elseif(k==1)return1;elsereturnfun(k-1)+1;}若執(zhí)行調(diào)用語(yǔ)句:n=fun(3);,則函數(shù)fun總共被調(diào)用的次數(shù)是A、2B、4C、3D、5標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:這道題目考查了函數(shù)的遞歸調(diào)用,當(dāng)執(zhí)行調(diào)用語(yǔ)句n=fun(3)時(shí),返回n=fun(2)+1,再執(zhí)行fun(2),返回n=fun(1)+1+1,而fun(1)等于1,所以最后n的值等于3。而函數(shù)fun總共被調(diào)用了3次。即fun(3),fun(2),fun(1)。21、下列選項(xiàng)中,能夠滿足“只要字符串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ù)strcmp(),如果這個(gè)函數(shù)的返回值等于0,說(shuō)明兩個(gè)字符串相等。22、若有定義語(yǔ)句:inta[3][6];,按在內(nèi)存中的存放順序,a數(shù)組的第10個(gè)元素是A、a[0][4]B、a[1][3]C、a[0][3]D、a[1][4]標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:本題考查多維數(shù)組的定義和使用。a是一個(gè)二維數(shù)組,有3行6列,即每行6個(gè)元素,a的第10個(gè)元素位于第二行的第四個(gè)位置,即a[1][3]。23、下面屬于黑盒測(cè)試方法的是A、語(yǔ)句覆蓋B、邏輯覆蓋C、邊界值分析D、路徑覆蓋標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:黑盒測(cè)試不關(guān)心程序內(nèi)部的邏輯,只是根據(jù)程序的功能說(shuō)明來(lái)設(shè)計(jì)測(cè)試用例。在使用黑盒測(cè)試法時(shí),手頭只需要有程序功能說(shuō)明就可以了。黑盒測(cè)試法分等價(jià)類(lèi)劃分法、邊界值分析法和錯(cuò)誤推測(cè)法,答案為C。而A、B、D均為白盒測(cè)試方法。24、若有以下程序段charstr[4][12]={"aa","bbb","ccccc","d"},*strp[4];inti;for(i=0;i<4;i++)strp[i]=str[i];不能正確引用字符串的選項(xiàng)是A、strpB、str[0]C、strp[3]D、*strp標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:程序段中定義指針數(shù)組*strp,含有4個(gè)元素,for循環(huán)strp分別保存了二維數(shù)組str中的4個(gè)字符串的首地址,因此strp為二級(jí)地址,不能保存字符串的首地址,*strp或者strp[0]中存放了字符串"aa"的首地址。所以不能正確引用字符串的為選項(xiàng)A。25、以下選項(xiàng)中,值為1的表達(dá)式是A、1-’0’B、1-’\0’C、’1’-0D、’\0’-’0’標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:\0,空值,其ASCII碼值為0,所以B選項(xiàng)的值為1。字符0的ASCII碼值為048,所以A,C,D的值均不為1。國(guó)家二級(jí)C語(yǔ)言機(jī)試(選擇題)模擬試卷第4套一、選擇題(本題共25題,每題1.0分,共25分。)1、下列關(guān)于二叉樹(shù)的敘述中,正確的是()。A、葉子節(jié)點(diǎn)總是比度為2的節(jié)點(diǎn)少一個(gè)B、葉子節(jié)點(diǎn)總是比度為2的節(jié)點(diǎn)多一個(gè)C、葉子節(jié)點(diǎn)數(shù)是度為2的節(jié)點(diǎn)數(shù)的兩倍D、度為2的節(jié)點(diǎn)數(shù)是度為1的節(jié)點(diǎn)數(shù)的兩倍標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:由二叉樹(shù)的性質(zhì)可以知道,在二叉樹(shù)中葉子節(jié)點(diǎn)總是比度為2的節(jié)點(diǎn)多一個(gè)。2、設(shè)非空二叉樹(shù)的所有子樹(shù)中,其左子樹(shù)上的節(jié)點(diǎn)值均小于根節(jié)點(diǎn)值,而右子樹(shù)上的節(jié)點(diǎn)值均不小于根-節(jié)點(diǎn)值,則稱該二叉樹(shù)為排序二叉樹(shù)。對(duì)排序二叉樹(shù)的遍歷結(jié)果為有序序列的是()。A、前序序列B、中序序列C、后序序列D、前序序列或后序序列標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:中序遍歷的次序是先遍歷左子樹(shù),再遍歷根節(jié)點(diǎn),最后遍歷右子樹(shù)。而在排序二叉樹(shù)中,左子樹(shù)節(jié)點(diǎn)值<根節(jié)點(diǎn)值≤右子樹(shù)節(jié)點(diǎn)值,要使對(duì)排序二叉樹(shù)的遍歷結(jié)果為有序序列,只能采用中序遍歷。3、以下敘述錯(cuò)誤的是()。A、C語(yǔ)言區(qū)分大小寫(xiě)B(tài)、C程序中的一個(gè)變量,代表內(nèi)存中一個(gè)相應(yīng)的存儲(chǔ)單元,變量的值可以根據(jù)需要隨時(shí)修改C、整數(shù)和實(shí)數(shù)都能用C語(yǔ)言準(zhǔn)確無(wú)誤地表示出來(lái)D、在C程序中,正整數(shù)可以用十進(jìn)制、八進(jìn)制和十六進(jìn)制的形式來(lái)表示標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題涉及C語(yǔ)言最基本的3個(gè)概念:①C語(yǔ)言是區(qū)分大小寫(xiě)的,q和Q是兩個(gè)不同的變量;②變量的實(shí)質(zhì)就是在內(nèi)存中占據(jù)一定的存儲(chǔ)單元,存儲(chǔ)單元里存放的是該變量的值,變量的值可以根據(jù)需要進(jìn)行修改;③整數(shù)在允許的范圍內(nèi)可以準(zhǔn)確的表示出來(lái),但不可能表示無(wú)限度的實(shí)數(shù)。正整數(shù)可用二進(jìn)制、十進(jìn)制、八進(jìn)制和十六進(jìn)制表示。4、有以下程序#include<stdio.h>voidmain(){inta=1,b=0;printf*(’’%d,’’,b=(a++)+(a++));printf(’’%d\n’’,a+b);}程序運(yùn)行后的輸出結(jié)果是()。A、4,6B、2,5C、3,5D、2,6標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:在主函數(shù)中定義了兩個(gè)整型變量a和b,并把它們的初值分別設(shè)置為1和0;在第二條語(yǔ)句中,首先計(jì)算b=a+a,然后a自增兩次,因此第二句結(jié)束時(shí),b=2,a=3,然后第三句,a+b=5。5、以下程序段給數(shù)組所有元素輸入數(shù)據(jù)()。main(){intt[10],j=0;while(j<10)scanf("%d",);}A、&t[j+1];B、t+(j++);C、&t[++j];D、t+j;標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:本題利用while循環(huán)給數(shù)組t的所有元素賦值,橫線處應(yīng)該填寫(xiě)數(shù)組元素的地址。選項(xiàng)A)能給t[1]賦值;選項(xiàng)D)只能給t[0]賦值;選項(xiàng)C)可以給下標(biāo)為1~10的數(shù)組元素賦值,但沒(méi)給a[0]賦值,還使元素的下標(biāo)越界,因此都不正確。只有選項(xiàng)B)是正確的,在什(j++)中,a代表數(shù)組的首地址,當(dāng)j為0時(shí),輸入項(xiàng)是t[0]的地址,第二次循環(huán)時(shí),輸入項(xiàng)是t[1]的地址,依次類(lèi)推,直到最后一項(xiàng)t[9]的地址,j為10時(shí)退出循環(huán)。6、有以下程序#includemain(){inta=3;printf("%d\n",(a+=a-=a*a));)程序運(yùn)行后的輸出結(jié)果是A、9B、0C、3D、-12標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:對(duì)于表達(dá)式a+=a-=a*a梢當(dāng)于a=a-(a*a),然后計(jì)算a=a+a,a的初值為3,則表達(dá)式的值為-12。7、下列不屬于軟件工程3個(gè)要素的是,()。A、工具B、過(guò)程C、方法D、環(huán)境標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:軟件工程包括3個(gè)要素,即方法、工具和過(guò)程。方法是完成軟件工程項(xiàng)目的技術(shù)手段;工具支持軟件的開(kāi)發(fā)、管理、文檔生成;過(guò)程支持軟件開(kāi)發(fā)的各個(gè)環(huán)節(jié)的控制、管理。8、設(shè)有定義:intk=0;,以下選項(xiàng)的4個(gè)表達(dá)式中與其他3個(gè)表達(dá)式的值不相同的是()。A、++kB、k+=1C、k++D、k+1標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:++k,先使得k的值自增1后再使用,k++是先取得k的值再將k的值自增1,所以C選項(xiàng)中表達(dá)式的值為0,而其他3個(gè)表達(dá)式的值均為1,所以選擇C選項(xiàng)。9、表達(dá)式3.6—5/2+1.2+5%2的值是()。A、1.8B、2.8C、3.8D、3.3標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:表達(dá)式的計(jì)算過(guò)程為:3.6—5/2+1.2+5%2=3.6—2+1.2+1=3.8。此題要注意整數(shù)相除會(huì)丟掉小數(shù)位,5/2的結(jié)果是2,而不2.5,因?yàn)槌ㄟ\(yùn)算符兩邊的數(shù)值類(lèi)型均為整型,故運(yùn)算結(jié)果的數(shù)值類(lèi)型也被認(rèn)定為整型。10、下面不屬于結(jié)構(gòu)化程序設(shè)計(jì)原則的是A、模塊化B、自頂向下C、可繼承性D、逐步求精標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:結(jié)構(gòu)化程序設(shè)計(jì)(structuredprogramming)是進(jìn)行以模塊功能和處理過(guò)程設(shè)計(jì)為主的詳細(xì)設(shè)計(jì)的基本原則。結(jié)構(gòu)化程序設(shè)計(jì)是過(guò)程式程序設(shè)計(jì)的一個(gè)子集,它對(duì)寫(xiě)入的程序使用邏輯結(jié)構(gòu),使得理解和修改更有效更容易。結(jié)構(gòu)化程序設(shè)計(jì)原則是:自項(xiàng)向下、逐步求精、模塊化和結(jié)構(gòu)化編碼。11、若已定義:inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0≤i≤9,則對(duì)a數(shù)組元素不正確的引用是()。A、a[p-a]B、*(&a[i])C、p[i]D、a[10]標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:此題考查對(duì)一維數(shù)組的引用。對(duì)于已定義的數(shù)組a[M],數(shù)組元素的正確引用必須滿足下標(biāo)小于M且為正整數(shù)。選項(xiàng)D)中下標(biāo)值出現(xiàn)溢出。12、有以下程序#includeintflintx,inty){return((y-x)*x);}main()finta=3,b=4,c=5,d;d=f(f(a,b),f(a,c));printf("%d\n",d);}程序運(yùn)行后的輸出結(jié)果是A、10B、8C、9D、7標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題考查函數(shù)的嵌套調(diào)用。首先計(jì)算f(a,b)與f(a,c),f(a,b)=(b—a)*a=3,f(a,c)=(c-a)*a=6,然后計(jì)算f(3,6)=(6—3)*3=9。13、有以下程序:#include<stdio.h>intf(intx,inty){return((y-x)*x);}main(){inta=3,b=4,c=5,d;d=f(f(a,b),f(a,c));printf(’’%d\n’’,d);}程序的運(yùn)行結(jié)果是()。A、7B、10C、8D、9標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:調(diào)用f(a,b)函數(shù)返回3,調(diào)用f(a,c)函數(shù)返回6,所以外層調(diào)用f(f(a,1)),f(a,c));即調(diào)用f(3,6)函數(shù)返回9。14、C語(yǔ)言主要是借助以下哪種手段來(lái)實(shí)現(xiàn)程序模塊化A、定義常量和外部變量B、使用豐富的數(shù)據(jù)類(lèi)型C、使用三種基本結(jié)構(gòu)語(yǔ)句D、定義函數(shù)標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:C語(yǔ)言用函數(shù)實(shí)現(xiàn)軟件的模塊化設(shè)計(jì)。15、下面描述中錯(cuò)誤的是()。A、系統(tǒng)總體結(jié)構(gòu)圖支持軟件系統(tǒng)的詳細(xì)設(shè)計(jì)B、軟件設(shè)計(jì)是將軟件需求轉(zhuǎn)換為軟件表示的過(guò)程C、數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)庫(kù)設(shè)計(jì)是軟件設(shè)計(jì)的任務(wù)之一D、PAD圖是軟件詳細(xì)設(shè)計(jì)的表示工具標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:詳細(xì)設(shè)計(jì)的任務(wù)是為軟件結(jié)構(gòu)圖中而非總體結(jié)構(gòu)圖中的每一個(gè)模塊確定實(shí)現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu),用某種選定的表達(dá)工具表示算法和數(shù)據(jù)結(jié)構(gòu)的細(xì)節(jié),所以A)錯(cuò)誤。16、數(shù)字字符0的ASCII值為48,若有以下程序,程序運(yùn)行后的輸出結(jié)果是main(){chara=’1’,b=’2’;printf("%c,",b++);printf("%d\n",b-a);}A、3,2B、50,2C、2,2D、2,50標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題主要考查ASCII碼和自加運(yùn)算。第一個(gè)printf語(yǔ)句中,是以字符形式輸出b++的值,++放在變量的后面是先使用然后自增,因此第一個(gè)primf輸出值是2,然后b的值變成’3’。在第二個(gè)printf語(yǔ)句中,b的值為’3’,a的值為’1’,所以b-a的值為2。17、在16位編譯系統(tǒng)上,若有定義“inta[]={10,20,30},*p=a;”,當(dāng)執(zhí)行“p++;”后,下列說(shuō)法錯(cuò)誤的是A、P向高地址移了一個(gè)字節(jié)B、P向高地址移了一個(gè)存儲(chǔ)單元C、P向高地址移了兩個(gè)字節(jié)D、P與a+1等價(jià)標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:本題考查數(shù)組和數(shù)組指針。a是一個(gè)整型數(shù)組,p指針指向a數(shù)組,即p指向a數(shù)組的首元素的地址,因此p++之后,p往高地址移動(dòng),指向首元素后面一個(gè)元素的地址。18、有以下程序voidfun(intn,int*s){intf;if(n==1)*s=n+1;else{fun(n-1,&f);}s=f;}}main(){intx=0;fun(4,&x);printf("%d\n",x);}程序運(yùn)行后的輸出結(jié)果是A、1B、3C、4D、2標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:函數(shù)fun為遞歸調(diào)用函數(shù),如果n的值為1,那么后面形參指向的空間存放n+1,否則繼續(xù)計(jì)算fun(n-1)的值。調(diào)用分析過(guò)程:fun(4,&x)-→fun(3,&x)-→fun(2,&x)-→fun(1,&x)在回歸的過(guò)程中,對(duì)于x內(nèi)的數(shù)據(jù)并沒(méi)有改動(dòng)。19、有以下程序#includemain(){intk=4,m=1,p;fun(inta,intb){intstaticm=0,i=2;p=fun(k,m);i=i+m+1;printf("%d,",p);m=i+a+b;p=fun(k,m);returnm;}printf("%d\n",p);}程序運(yùn)行后的輸出結(jié)果是A、8,17B、7,16C、8,8D、7,17標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:本題考查了靜態(tài)變量以及局部變量的同名問(wèn)題。主函數(shù)中調(diào)用fun函數(shù)兩次,第一次調(diào)用fun(4,1),形參a和b接收以后,i值為3,m的值為8,調(diào)用結(jié)束返回8存放到p中并且輸出p的值為8,除了靜態(tài)變量m和i,變量a,b撤銷(xiāo)。第二次調(diào)用fun(4,1),接收實(shí)參值以后,i為3+8+1,而m為12+4+1,即輸出函數(shù)值17。20、下列選項(xiàng)中,能正確定義數(shù)組的語(yǔ)句是A、intnum[];B、intN=2008;intnum[N];C、intnum[0..2008];D、#defineN2008inthum[N];標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:在定義一維數(shù)組時(shí),數(shù)組的下標(biāo)應(yīng)該是一個(gè)確定的整數(shù)值。要注意的是在定義二維數(shù)組時(shí),其第一維下標(biāo)可以省略,但第二維下標(biāo)不能省略。21、設(shè)fp為指向某二進(jìn)制文件的指針,且已讀到此文件末尾,則函數(shù)feof(fp)的返回值為A、’\0’B、0C、NULLD、非0值標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:ANSIC提供的feof函數(shù)的功能是判斷fp所指的文件的位置是否已達(dá)到文件尾,如果達(dá)到文件尾,則feof函數(shù)的值為1,否則為0,表不文件尚末結(jié)束。22、一間宿舍可住多個(gè)學(xué)生,則實(shí)體宿舍和學(xué)生之間的聯(lián)系是()。A、一對(duì)一B、一對(duì)多C、多對(duì)一D、多對(duì)多標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:因?yàn)橐婚g宿舍可以住多個(gè)學(xué)生即多個(gè)學(xué)生住在一個(gè)宿舍中,但一個(gè)學(xué)生只能住一間宿舍,所以實(shí)體宿舍和學(xué)生之間是一對(duì)多的關(guān)系。23、假定已建立以下鏈表結(jié)構(gòu),且指針p和q已指向如圖所示的結(jié)點(diǎn):則以下選項(xiàng)中可將q所指結(jié)點(diǎn)從鏈表中刪除并釋放該結(jié)點(diǎn)的語(yǔ)句組是A、p->next=q->next;free(q);B、p=q->next;free(q);C、p=q;free(q);D、(*p).next=(*q).next;free(p);標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:本題考查刪除鏈表中的節(jié)點(diǎn)操作,其方法是將要?jiǎng)h除節(jié)點(diǎn)的上個(gè)節(jié)點(diǎn)的下個(gè)節(jié)點(diǎn)指向要?jiǎng)h除節(jié)點(diǎn)的下個(gè)節(jié)點(diǎn),然后釋放該要?jiǎng)h除節(jié)點(diǎn),所以選項(xiàng)A正確。24、在軟件開(kāi)發(fā)中,需求分析階段產(chǎn)生的主要文檔是A、軟件集成測(cè)試計(jì)劃B、軟件詳細(xì)設(shè)計(jì)說(shuō)明書(shū)C、用戶手冊(cè)D、軟件需求規(guī)格說(shuō)明書(shū)標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:需求分析階段的工作可以概括為:需求獲取、需求分析、編寫(xiě)需求規(guī)格說(shuō)明書(shū)、需求評(píng)審四個(gè)方面。所以選擇D。25、有以下定義和語(yǔ)句:structworkers{intnum;charname[20];charc;struct{intday;intmonth;intyear;}s;};structworkersw,*pw;pw=&w;能給w中year成員賦1980的語(yǔ)句是()。A、pw->year=1980;B、w.year=1980;C、w.s.year=1980;D、*pw.year=1980;標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題考查結(jié)構(gòu)體變量的引用。題目中定義了一個(gè)結(jié)構(gòu)體,結(jié)構(gòu)體中的成員又是一個(gè)結(jié)構(gòu)體,w為結(jié)構(gòu)體workers的變量。如果給內(nèi)層結(jié)構(gòu)體成員賦值,先要得到內(nèi)層結(jié)構(gòu)體變量,即“w.s”。若要給year賦值,表示為“w.s.year”即可。故本題答案為C選項(xiàng)。國(guó)家二級(jí)C語(yǔ)言機(jī)試(選擇題)模擬試卷第5套一、選擇題(本題共25題,每題1.0分,共25分。)1、算法的有窮性是指A、算法程序的運(yùn)行時(shí)間是有限的B、算法程序所處理的數(shù)據(jù)量是有限的C、算法程序的長(zhǎng)度是有限的D、算法只能被有限的用戶使用標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:算法的有窮性,是指算法必須能在有限的時(shí)間內(nèi)做完,即算法必須能在執(zhí)行有限個(gè)步驟之后終止。2、C語(yǔ)言源程序名的后綴是A、.exeB、.objC、.cD、.cp標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:由C語(yǔ)言構(gòu)成的指令序列稱為C源程序,源程序文件的后綴為“.c”。源程序經(jīng)過(guò)c編譯程序編譯生成后綴為“.obi”的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論