版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
國家二級(C語言)機(jī)試模擬試卷12(共9套)(共343題)國家二級(C語言)機(jī)試模擬試卷第1套一、選擇題(本題共39題,每題1.0分,共39分。)1、一間宿舍可住多個(gè)學(xué)生,則實(shí)體宿舍和學(xué)生之間的聯(lián)系是()。A、一對一B、一對多C、多對一D、多對多標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:實(shí)體間的聯(lián)系有如下情況:①一對一(1:1);②一對多(1:m);③多對多(m:n)。本題中,一間宿舍對應(yīng)多個(gè)學(xué)生,那么宿舍和學(xué)生之間的聯(lián)系是一對多,學(xué)生和宿舍的聯(lián)系是多對一。2、對長度為n的線性表排序,在最壞情況下,比較次數(shù)不是n(n-1)/2的排序方法是()。A、快速排序B、冒泡排序C、直接插入排序D、堆排序標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:除了堆排序算法的比較次數(shù)是O(nlog2,n),其他的都是,n(n-1)/2。3、以下4個(gè)選項(xiàng),不能看作一條語句的是()。A、{;}B、intx=0,y=1,z=0;C、if(1a);D、if(b==0)m=1;n=2;標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:if語句是用來判定所給的條件是否滿足,根據(jù)判定的結(jié)果(真或假)決定執(zhí)行給出的兩種操作之一。在if和else后面可以只含一個(gè)內(nèi)嵌的操作語句,也可以有多個(gè)操作語句,此時(shí)用花括號“{}”將幾個(gè)語句括起來成為一個(gè)復(fù)合語句。選項(xiàng)D中沒有將兩個(gè)操作語句括起來,不能看作一條語句。4、運(yùn)行下面程序時(shí),從鍵盤輸入字母A,則輸出結(jié)果是()。#include<stdio.h>main(){charch;ch=getchar();switch(ch){case’A’:printf(’’AAAA\n’’);case’B’:printf(’’BBBBkn’’);default:printf(’’CCCC\n’’);}}A、AAAAB、AAAABBBBC、AAAABBBBCCCCD、AAAACCCC標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題考查“switch”語句。因?yàn)椤癱h=A”,所以第一個(gè)switch語句,執(zhí)行“case’A’”后面的語句,輸出AAAA,沒有遇到break語句,所以接著再執(zhí)行“case’B’”和default,分別輸出BBBB和CCCC。5、請閱讀以下程序:#include#includevoidfun(intb[])main(){staticinti=0;{intk,a[5]={1,3,5,4,9};Do{b[i]+=b[i+1];fun(a);}while(++i<2);}for(k=0;k<5;k++)printf("%d",a[k]);}上面程序的輸出是()。A、13579B、48579C、48549D、48999標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題考查的是for循環(huán)以及while循環(huán)。fun函數(shù)中定義了靜態(tài)變量i=0,fun(a)使得a[0]=a[0]+a[1]=4,a[1]=a[1]+a[2]=8,此時(shí)i的值變?yōu)?,++i<2不成立,所以do-while循環(huán)結(jié)束,輸出數(shù)組a的各元素即得到48549。6、下列各選項(xiàng)中,不屬于序言性注釋的是()。A、程序標(biāo)題B、程序設(shè)計(jì)者C、主要算法D、數(shù)據(jù)狀態(tài)標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:注釋一般為序言性注釋和功能性注釋。序言性注釋常位于程序開頭部分,它包括程序標(biāo)題、程序功能說明、主要算法、接口說明、程序位置、開發(fā)簡歷、程序設(shè)計(jì)者、復(fù)審者、復(fù)審日期及修改日期等。功能性注釋一般嵌在源程序體之中,用于描述其后的語句或程序的主要功能。7、有三個(gè)關(guān)系R、S和T如下:則下列操作中正確的是()。A、T=R∩SB、T=R∪SC、T=R×SD、T=R-S標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:圖中關(guān)系R比關(guān)系s多一行T中的元組,故由關(guān)系R和S得到關(guān)系T的操作是差。8、有以下程序:#include<stdio.h>main(){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、3B、4C、1D、9標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:每次內(nèi)循環(huán)只循環(huán)一次就結(jié)束,第一次外循環(huán)時(shí)t=t+b[0][b[0][o]]=1+b[0][0]=1+0=1;第二次外循環(huán)時(shí)t=t+b[1][b[1][1]]=1+b[1][1]=1+1=2;第三次外循環(huán)時(shí)t=t+b[2][b[2][2]]=2+b[2][2]=2+2=4。9、有以下程序:#include<stdio.h>voidfun(intp){intd=2;p=d++;printf("%d",p);}main(){inta=1:fun(a);printf("%d\n",a);}程序運(yùn)行后的輸出結(jié)果是()。A、32B、12C、21D、22標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:C語言中函數(shù)參數(shù)傳遞滿足“單向傳遞”,實(shí)現(xiàn)傳遞值的功能,實(shí)參能傳給形參,形參卻不能傳回給實(shí)參。fun函數(shù)體內(nèi)輸出p的值為2,并不影響到fun函數(shù)外a的值,a的值在main函數(shù)內(nèi)依然為1。10、設(shè)有如下函數(shù)定義:#include<stdio.h>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、2B、4C、4D、5標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:首先n=fun(3),3被當(dāng)作參數(shù)傳遞進(jìn)去,這就進(jìn)行了一次調(diào)用,3被當(dāng)做參數(shù)傳進(jìn)去后,程序會(huì)執(zhí)行這句elsereturnfun(k-1)+1;這就調(diào)用了第二次,而參數(shù)是3-1也就是2。2被當(dāng)做參數(shù)傳進(jìn)去后,程序會(huì)執(zhí)行這句elsereturnfun(k-1)+1;這就調(diào)用了第三次,而參數(shù)是2-1也就是1。1被當(dāng)做參數(shù)傳進(jìn)去后,程序會(huì)執(zhí)行這句elseif(k==1)return1;不再遞歸調(diào)用,所以最終結(jié)果為3次。11、交換兩個(gè)變量的值,不允許用臨時(shí)變量,應(yīng)該使用下列()位運(yùn)算符。A、&B、^C、‖D、~標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:按邏輯位運(yùn)算的特定作用主要有3點(diǎn):①用按位與運(yùn)算將特定位清0或保留特定位;②用按位或運(yùn)算將特定的位置設(shè)置為1;③用按位異或運(yùn)算將某個(gè)變量的特定位翻轉(zhuǎn)或交換兩個(gè)變量的值。12、運(yùn)行下列程序時(shí),若輸入數(shù)據(jù)為“321”,則輸出結(jié)果是()。main(){intnum,i,j,k,s;scanf(“%d”,&num);if(num>99)s=3:elseif(num>9)s=2:elses=1;i=num/100;j=(num—i*100)/10;k=(num—i*100-j*10);switch(s){case3:printf(“%d%d%d\n”,k,j,i);break;case2:printf(“%d%d\n”,k,j);case1:printf(“%d\n”,k);}}A、123B、1,2,3C、321D、3,2,1標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:本題考查if-else語句和switch語句。scanf函數(shù)通過鍵盤讀入num的值。因?yàn)閚um=321>99,所以s=3,i=3,i=2,k=1。因?yàn)閟=3,所以執(zhí)行case3,輸出k,i,i的值,然后通過break結(jié)束程序。13、有以下程序#include<stdio.h>#defineS1(z)4*z+4*(z)#defineS2(x,y)4*(x)*(y)+y*xmain(){inta=1,b=2;printf("%d,",S1(a+b));printf("%d,",S2(a,b)+S1(3));printf("%d",S2(3+a,b+3));程序執(zhí)行后的輸出結(jié)果是()。A、18,34,100B、24,34,92C、24,34,100D、18,34,92標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:程序中S1和S2都是宏定義,所以S1(a+b)宏展開后的表達(dá)式為:4*a+b+4*(a+b),即4*1=1+2+4*(1+2),結(jié)果為18;S2(a,b)宏展開的表達(dá)式為:4*(a)*(b)+b*a,即4*(1)*(2)+2*1,結(jié)果為10;S1(3)宏展開后的表達(dá)式為:4*3+4*(3),結(jié)果為24;S2(3+a,b+3)宏展開的表達(dá)式為:4*(3+a)*(b+3)+b+3*3+a,即4*(3+1)*(2+3)+2+3*3+1,結(jié)果為92,本題輸出:18,34,92,答案為D。14、設(shè)p是指針變量,語句p=NULL;等價(jià)于()。A、p=0;B、p=’’;C、p="";D、p=’0’;標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:本題考查指向指針的指針。i是int類型的變量,p為基本類型為int的指針變量,r為二級指針,指向的是指針p的地址,因此,*p就代表i;**r就代表*p,也等價(jià)于i。二級指針作為函數(shù)參數(shù),形參和實(shí)參指向同一個(gè)地址空間,兩者的改變保持同步。函數(shù)fun()的功能是將r指向的存有變量i的地址的指針變量改為指向存有變量k的地址的指針變量,*p的值發(fā)生了改變。函數(shù)f()中語句"int*t=&k;*s=t;"同樣使得**s、*t、k等價(jià),所以剛開始輸出3個(gè)7,函數(shù)調(diào)用結(jié)束之后*p與**r的值均為7,i不變,答案選A)。15、下列敘述中錯(cuò)誤的是()。A、C語句必須以分號結(jié)束B、復(fù)合語句在語法上被看作一條語句C、空語句出現(xiàn)在任何位置都不會(huì)影響程序運(yùn)行D、賦值表達(dá)式末尾加分號就構(gòu)成賦值語句標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:C語言規(guī)定每條語句和數(shù)據(jù)定義的最后必須有一個(gè)分號,分號是C語句的必要組成部分。復(fù)合語句也稱為“語句塊”,其形式如下:{語句1;語句2;……語句n;},即用一對大括號把若干語句括起來構(gòu)成一個(gè)語句組。一個(gè)復(fù)合語句在語法上視為一條語句,在一對花括號內(nèi)的語句數(shù)量不限。一個(gè)賦值表達(dá)式的最后加一個(gè)分號就成為一條語句,即賦值語句??照Z句是只有一個(gè)分號的語句,它什么也不做,程序設(shè)計(jì)中有時(shí)需要加一個(gè)空語句來表示存在一條語句,但隨意加分號會(huì)導(dǎo)致邏輯上的錯(cuò)誤,而且這種錯(cuò)誤十分隱蔽,編輯器也不會(huì)提示邏輯錯(cuò)誤,需要慎用。16、交換兩個(gè)變量的值,不允許用臨時(shí)變量,應(yīng)該使用下列()位運(yùn)算符。A、&B、^C、‖D、~標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:按邏輯位運(yùn)算的特定作用主要有3點(diǎn):①用按位與運(yùn)算將特定位清0或保留特定位;②用按位或運(yùn)算將特定的位置設(shè)置為1;③用按位異或運(yùn)算將某個(gè)變量的特定位翻轉(zhuǎn)或交換兩個(gè)變量的值。17、某系統(tǒng)總體結(jié)構(gòu)圖如下圖所示:該系統(tǒng)總體結(jié)構(gòu)圖的深度是()。A、7B、6C、3D、2標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:根據(jù)總體結(jié)構(gòu)圖可以看出該樹的深度為3,比如:XY系統(tǒng)---功能2----功能2.1,就是最深的度數(shù)的一個(gè)表現(xiàn)。18、下列敘述中正確的是()。A、有一個(gè)以上根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是非線性結(jié)構(gòu)B、只有一個(gè)根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是線性結(jié)構(gòu)C、循環(huán)鏈表是非線性結(jié)構(gòu)D、雙向鏈表是非線性結(jié)構(gòu)標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:線性結(jié)構(gòu)應(yīng)滿足:有且只有一個(gè)根結(jié)點(diǎn)與每個(gè)結(jié)點(diǎn)最多有一個(gè)前件,也最多有一個(gè)后件,所以B正確。所以有一個(gè)以上根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)一定是非線性結(jié)構(gòu),所以A錯(cuò)誤。循環(huán)鏈表和雙向鏈表都是線性結(jié)構(gòu)的數(shù)據(jù)結(jié)構(gòu)。19、下列選項(xiàng)中屬于面向?qū)ο笤O(shè)計(jì)方法主要特征的是()。A、繼承B、自頂向下C、模塊化D、逐步求精標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:面向?qū)ο蠡痉椒ǖ幕靖拍钣袑ο?、類和?shí)例、消息、繼承與多態(tài)性,所以選擇A。20、若輸入“abcdef”、“abdef”,以下程序的輸出結(jié)果為()。#include#includemain(){intn;chars1[20],s2[20],*p1,*p2;scanf(“%s”,s1);scanf(“%s”,s2);p1=s1;p2=s2;n=strcmp(p1,p2);printf(“%d\n”,n);}A、-1B、0C、“abcdef”D、“abdef”標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:本題考查兩個(gè)知識(shí)點(diǎn):①字符串比較函數(shù)strcmp(s1,s2),若s1>s2,則返回1;若s1=s2,則返回0;若s121、以下選項(xiàng)中,合法的是()。A、charstr3[]={’d’,’e’,’b’,’u’,’g’,’0’};B、charstr4;str4="helloworld";C、charname[10];name=’china";D、charstd[5]="pass",str2[6];str2=std;標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:選項(xiàng)B不能把一個(gè)字符串賦值給一個(gè)字符變量,選項(xiàng)C和D犯了同樣的錯(cuò)誤是把字符串賦給了數(shù)組名。22、軟件開發(fā)中,需求分析階段可以使用的工具是()。A、N-S圖B、DFD圖C、PAD圖D、程序流程圖標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:結(jié)構(gòu)化解析方法是結(jié)構(gòu)化程序設(shè)計(jì)理論在軟件需求解析階段的運(yùn)用,數(shù)據(jù)流圖(DataFlowDiagram,DFD))是結(jié)構(gòu)化解析常用的工具之一,數(shù)據(jù)字典、判定樹和判定表也是常用的結(jié)構(gòu)化分析工具。程序流程圖、NS圖、PAD圖等圖形工具用于詳細(xì)設(shè)計(jì)的過程中。23、有三個(gè)關(guān)系R、S和R如下:由關(guān)系R和S通過運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為()。A、并B、自然連接C、笛卡爾積D、交標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:自然連接是一種特殊的等值連接,它要求兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相同的屬性組,并且在結(jié)果中把重復(fù)的屬性列去掉,所以B)錯(cuò)誤。笛卡爾積是用R集合中元素為第一元素,S集合中元素為第二元素構(gòu)成的有序?qū)?,所以C)錯(cuò)誤。根據(jù)關(guān)系T可以很明顯的看出是從關(guān)系R與關(guān)系S中取得相同的關(guān)系組所以取得是交運(yùn)算,選擇D)。24、若有代數(shù)式,(其中e僅代表自然對數(shù)的底數(shù),不是變量),則以下能夠正確表示該代數(shù)式的c語言表達(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ù)的絕對值。D選項(xiàng)中,pow(x,n)參數(shù)順序錯(cuò)誤。25、有以下程序:#include<stdio.h>main(){inta=1,}1=2;for(;a<8;a++){b+=a;a+=2;}printf("%d,%d\n",a,b);}程序運(yùn)行后的輸出結(jié)果是()。A、9,18B、8,11C、7,11D、10.14標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:第一次循環(huán)a的值為1,滿足條件,執(zhí)行b+=a,與a+=2,則b的值變?yōu)?,a的值變?yōu)?。執(zhí)行a++,a的值為4,滿足條件進(jìn)入第二次循環(huán),執(zhí)行完循環(huán)體后b的值為7,a的值為6。執(zhí)行a++,a的值為7,滿足條件進(jìn)入第三次循環(huán),執(zhí)行完循環(huán)體后b的值為14,a的值為9。執(zhí)行a++,a的值變?yōu)?0,不滿足條件,循環(huán)結(jié)束。所以選擇D選項(xiàng)。26、設(shè)有定義:chars[81];inti=0;以下不能將一行(不超過80個(gè)字符)帶有空格的字符串正確讀入的語句或語句組是()。A、scanf("%s",s);B、while((s[i++]=getchar())!=’\n’);s[i]=’\0’;C、gets(s);D、do{scanf("%c",&s[i]);}while(s[i++]!=’\n’);s[i]=’\0’;標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:函數(shù)scanf()輸入字符串時(shí)默認(rèn)空格為間隔符,所以不能輸入空格,答案選A)。27、若有以下程序:#include#defineS(x)(x)*(x)#defineT(x)S(x)/S(x)+1main(){intk=3j=2;printf("%d,%d\n",S(k+j),T(k+j));}則程序的輸出結(jié)果是()。A、11,2B、25,2C、11,12D、25,26標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:本題考查宏定義。宏定義只是做簡單的替換,執(zhí)行語句s(k+j)=(k+j)*(k+j)=25,T(k+j)=S(k+j)/S(k+j)+1=(k+j)*(k+j)/(k+j)*(k+j)+1=26,因此選項(xiàng)D正確。28、以下程序段中的變量已正確定義folr(i=0;i<4;i++,i++)for(k=1;k<3;k++);printf("*");該程序段的輸出結(jié)果是()。A、*B、****C、**D、********標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:C語言約定分號為一條語句的結(jié)束。因此for(i=0;i<4;i++,i++)for(k=1;k<3;k++);是完整的語句,對printf();沒有任何影響,最后printf("*"),執(zhí)行一次。因此答案為A選項(xiàng)。29、以下選項(xiàng)中不屬于C語言標(biāo)識(shí)符的是A、常量B、用戶標(biāo)識(shí)符C、關(guān)鍵字D、預(yù)定義標(biāo)識(shí)符標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:常量是指在程序運(yùn)行過程中其值不能被改變的量,如5、1.0、字符’a’等。C語言的標(biāo)識(shí)符分為3類:關(guān)鍵字、預(yù)定義標(biāo)識(shí)符和用戶標(biāo)識(shí)符,常量不屬于標(biāo)識(shí)符,所以選擇A。30、有以下函數(shù):intfun(char*s){char*c=s;while(*c++);return(c一s);}該函數(shù)的功能是()。A、計(jì)算s所指字符串占用內(nèi)存字節(jié)的個(gè)數(shù)B、比較兩個(gè)字符串的大小C、計(jì)算s所指字符串的長度D、將s所指字符串復(fù)制到字符串c中標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:while(*cc++)的結(jié)果是將c移動(dòng)到字符串的結(jié)尾,即當(dāng)c=’\0’時(shí),循環(huán)結(jié)束。此時(shí)s依然指向的是字符串的首字符,因此,返回值c一s是字符串的長度,答案C正確。31、下列敘述中正確的是A、空字符串不占用內(nèi)存,其內(nèi)存空間大小是0B、兩個(gè)連續(xù)的單引號(’’)是合法的字符常量C、可以對字符串進(jìn)行關(guān)系運(yùn)算D、兩個(gè)連續(xù)的雙引號("")是合法的字符串常量標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:字符串常量是由一對雙引號括起的字符序列。A選項(xiàng)描述不正確。B選項(xiàng)描述的不夠完善;字符常量占一個(gè)字節(jié)的內(nèi)存空間。D選項(xiàng)正確;字符常量是用單引號括起來的一個(gè)字符。C語言字符串比較不能直接用關(guān)系運(yùn)算符進(jìn)行正確比較??梢杂米址容^函數(shù)strcmp來實(shí)現(xiàn),C選項(xiàng)是錯(cuò)誤的;字符串常量占的內(nèi)存字節(jié)數(shù)等于字符串中字節(jié)數(shù)加1。因此D選項(xiàng)正確。32、設(shè)x=021,y=012,則z=x|y的值是()。A、1B、0C、00011011D、1.1e+007標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題主要考查按位或運(yùn)算。按位或是對兩個(gè)運(yùn)算對象相應(yīng)的位進(jìn)行邏輯或運(yùn)算,其運(yùn)算規(guī)則和邏輯或相同,兩個(gè)運(yùn)算對象只要有一個(gè)是1,則結(jié)果為1。33、以下選項(xiàng)中,合法的C語言常量是A、1.234B、’C++’C、"\2.0D、2Kb標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:整型常量:用不帶小數(shù)點(diǎn)的數(shù)字表示。實(shí)型常量:用帶小數(shù)點(diǎn)的數(shù)字表示。字符型常量:用帶有單引號的字符表示。字符串常量:用一對雙引號括起來的一串字符。1.234為實(shí)型常量,A選項(xiàng)正確?!疌++’不合法,若改成"C++"則為字符串常量,B選項(xiàng)錯(cuò)誤。"\2.0不合法,不是任何類型常量,C選項(xiàng)錯(cuò)誤。2Kb不合法,若加上雙引號"2Kb"為字符串常量,D選項(xiàng)錯(cuò)誤。34、設(shè)有定義:inta=0,b=1;,以下表達(dá)式中,會(huì)產(chǎn)生"短路"現(xiàn)象,致使變量b的值不變的是A、a++&&b++B、a++||++bC、++a&&b++D、+a||++b標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:運(yùn)算符"++"放在變量前面時(shí),表示將變量+1,再參與其他操作,a++&&b++時(shí),由于a值是0直接判定與運(yùn)算結(jié)果為0,忽視b++的值,因此b值不發(fā)生改變,答案為A選項(xiàng)。35、下列各序列中不是堆的是A、(91,85,53,36,47,30,24,12)B、(91,85,53,47,36,30,24,12)C、(47,91,53,85,30,12,24,36)D、(91,85,53,47,30,12,24,36)標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:若有n個(gè)元素的序列,將元素按順序組成一棵完全二叉樹,當(dāng)且僅當(dāng)滿足下列條件時(shí)稱為堆:大根堆,所有結(jié)點(diǎn)的值大于或等于左右子結(jié)點(diǎn)的值;小根堆,所有結(jié)點(diǎn)的值小于或等于左右子結(jié)點(diǎn)的值。A、B、D選項(xiàng)屬于大根堆,C選項(xiàng)由于47<91,判斷屬于小根堆,但91>85,不滿足條件,不是堆,故正確答案為C選項(xiàng)。36、關(guān)于C語言標(biāo)識(shí)符,以下敘述錯(cuò)誤的是A、標(biāo)識(shí)符可全部由數(shù)字組成B、標(biāo)識(shí)符可全部由下劃線組成C、標(biāo)識(shí)符可全部由小寫字母組成D、標(biāo)識(shí)符可全部由大寫字母組成標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:標(biāo)識(shí)符只能由字母、數(shù)字、下劃線組成,且標(biāo)識(shí)符的第一個(gè)字符只能是字母或下劃線。所以,B,C,D選項(xiàng)正確,答案為A選項(xiàng)。37、數(shù)據(jù)庫的數(shù)據(jù)模型分為A、層次、關(guān)系和網(wǎng)狀B、網(wǎng)狀、環(huán)狀和鏈狀C、大型、中型和小型D、線性和非線性標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:數(shù)據(jù)庫的數(shù)據(jù)模型分為層次、關(guān)系和網(wǎng)狀三種。其中:用樹形結(jié)構(gòu)表示實(shí)體及其之間聯(lián)系的模型稱為層次模型,模型中結(jié)點(diǎn)是實(shí)體,樹枝是聯(lián)系,從上到下是一對多的關(guān)系。用網(wǎng)狀結(jié)構(gòu)表示實(shí)體及其之間聯(lián)系的模型稱為網(wǎng)狀模型,它是層次模型的擴(kuò)展,表示多個(gè)從屬關(guān)系的層次結(jié)構(gòu),呈現(xiàn)一種交叉關(guān)系。關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)非常單一,在關(guān)系模型中,現(xiàn)實(shí)世界的實(shí)體以及實(shí)體間的各種聯(lián)系均用關(guān)系來表示。故本題選A選項(xiàng)。38、以下敘述正確的是A、C程序由函數(shù)組成,可以不包含main函數(shù)B、每個(gè)C程序文件中的main函數(shù)都應(yīng)當(dāng)放在最前面C、每個(gè)C程序文件都應(yīng)當(dāng)包含一個(gè)main函數(shù)D、每個(gè)C程序都只能有一個(gè)main函數(shù)標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:雖然一個(gè)C程序可以包含多個(gè)文件,但是有且只有一個(gè)文件中包含main函數(shù),因此,選項(xiàng)A,C錯(cuò)誤。main函數(shù)可以放在程序的任意位置。因此,選項(xiàng)B錯(cuò)誤。答案為D選項(xiàng)。39、下列關(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、以上三種說法都不對標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:一般來說,在線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中,各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)序號是不連續(xù)的,并且各節(jié)點(diǎn)在存儲(chǔ)空間中的位置關(guān)系與邏輯關(guān)系也不一致。線性鏈表中數(shù)據(jù)的插入和刪除都不需要移動(dòng)表中的元素,只需改變節(jié)點(diǎn)的指針域即可。故C選項(xiàng)正確。二、程序填空題(本題共1題,每題1.0分,共1分。)40、給定程序的功能是:從鍵盤輸入若干行文本(每行不超過80個(gè)字符),寫到文件myfile4.txt中,用-1作為字符串輸入結(jié)束的標(biāo)志。然后將文件的內(nèi)容讀出顯示在屏幕上。文件的讀寫分別由自定義函數(shù)ReadText和WriteText實(shí)現(xiàn)。請?jiān)诔绦虻南聞澗€處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。注意:源程序存放在考生文件夾下的BLANK1.C中。不得增行或刪行,也不得更改程序的結(jié)構(gòu)!#include<stdio.h>#include<string.h>#include<stdlib.h>voidWriteText(FILE*);voidReadText(FILE*);main(){FILE*fp;if((fp=fopen("myfile4.txt","w"))==NULL){printf("openfail!!\n");exit(0);}WriteText(fp);fclose(fp);if((fp=fopen("myfile4.txt","r"))==NULL){printf("openfail!!\n");exit(0);}ReadText(fp);fclose(fp);}/**********found**********/voidWriteText(FILE___1___){charstr[81];printf("\nEnterstringwith-1toend:\n");gets(str);while(strcmp(str,"-1")!=0){/**********fbund**********/fputs(___2___,fW);fputs("\n",fw);gets(str);}}voidReadText(FILE*fr){charstr[81];printf("\nhaReadfileandoutputtoscreen:\n");fgets(str,81,fr);while(!feof(fr)){/**********found**********/printf("%s",___3___);fgets(str,81,fr);}}標(biāo)準(zhǔn)答案:(1)*fw(2)str(3)str知識(shí)點(diǎn)解析:第一空:此處是補(bǔ)充函數(shù)參數(shù)名,參數(shù)類型已知是FILE文件指針,fbuts("\n",fw)是將字符“\n”寫入文件,可知fw是文件指針名,因此第一空處應(yīng)該是voidWriteText(FILE*fw);第二空:while(strcmp(str"-1")!=0)循環(huán)的結(jié)束標(biāo)志是str字符串等于“-1”時(shí)循環(huán)退出,如果str不等于“-1”,執(zhí)行循環(huán)體內(nèi)容:用fbuts函數(shù)將str字符串寫入文件。fputs函數(shù)的調(diào)用形式是:fputs(s,fp),其中s是指向字符串的指針或字符串?dāng)?shù)組名,fp是指向?qū)⒁粚懭氲奈募奈募羔?,因此第二處?yīng)該是fputs(str.fw)。第三空:while(!feof(fr))循環(huán)的作用是不斷讀取文件直到到達(dá)文件尾,每次最多讀81個(gè),將讀到的數(shù)據(jù)放在str字符串里,并用printf輸出到屏幕,因此第三處應(yīng)該是printf("%s"str)。三、程序修改題(本題共1題,每題1.0分,共1分。)41、由N個(gè)有序整數(shù)組成的數(shù)列已放在一維數(shù)組中,給定程序MODIl.C中函數(shù)fun的功能是:利用折半查找算法查找整數(shù)m在數(shù)組中的位置。若找到,返回其下標(biāo)值;反之,返回-1。折半查找的基本算法是:每次查找前先確定數(shù)組中待查的范圍:low和high(10whigh,查找結(jié)束。請改正程序中的錯(cuò)誤,使它能得出正確結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。#include{}defineN10/************found************/voidfun(inta[],intm){intlow=0,high=N一1,mid;while(low<=high){mid=(low+high)/2;if(ma[mid])low=mid+1;elsereturn(mid);}return(一1);}main(){inti,a[N]={一3,4,7,9,13,45,67,89,100,180},k,m;printf("a數(shù)組中的數(shù)據(jù)如F:");for(i=0;i=0)printf("m=%d,index=%d\n",m,k);elseprintf("Notbefound!\n");}標(biāo)準(zhǔn)答案:(1)intfun(inta[],intm)(2)elseif(m>a[mid])知識(shí)點(diǎn)解析:(1)根據(jù)主函數(shù)中“k=fun(a,m);”,知道函數(shù)fun應(yīng)該是返回int型的函數(shù),所以第一個(gè)標(biāo)識(shí)下面定義的“voidfun(inta[],intm)”應(yīng)該改為“intfun(inta[],intm)”。(2)第二個(gè)標(biāo)識(shí)下的“elseIf(m>a[mid])”是判斷m是否比a[mid]大,在while循環(huán)中采用的是if-elseif-else語句,顯然“elself”當(dāng)中“If”應(yīng)當(dāng)小寫,故第二標(biāo)識(shí)下“elseIf(m>a[mid])”應(yīng)改為“elseif(m>a[mid])”。國家二級(C語言)機(jī)試模擬試卷第2套一、選擇題(本題共38題,每題1.0分,共38分。)1、算法的有窮性是指()。A、算法程序的運(yùn)行時(shí)間是有限的B、算法程序所處理的數(shù)據(jù)量是有限的C、算法程序的長度是有限的D、算法在執(zhí)行過程中所需要的臨時(shí)工作單元數(shù)標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:算法原則上能夠精確地運(yùn)行,而且人們用紙筆做有限次運(yùn)算后即可完成。有窮性是指算法程序的運(yùn)行時(shí)間是有限的。2、一個(gè)棧的初始狀態(tài)為空?,F(xiàn)將元素1、2、3、4、5、A、B、C、D、E依次入棧,然后再依次出棧,則元素出棧的順序是()。A、12345ABCDEB、EDCBA54321C、ABCDE12345D、54321EDCBA標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:棧是按照“先進(jìn)后出”的原則組織數(shù)據(jù)的,入棧的順序?yàn)?2345ABCDE,則出棧的順序應(yīng)為其逆序,即EDCBA54321。3、下列關(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、以上三種說法都不對標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:一般來說,在線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中,各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)序號是不連續(xù)的,并且各節(jié)點(diǎn)在存儲(chǔ)空間中的位置關(guān)系與邏輯關(guān)系也不一致。線性鏈表中數(shù)據(jù)的插入和刪除都不需要移動(dòng)表中的元素,只需改變節(jié)點(diǎn)的指針域即可。故C選項(xiàng)正確。4、在長度為n的有序線性表中進(jìn)行二分查找,最壞情況下需要比較的次數(shù)是()。A、O(n)B、O(n2)C、O(log2n)D、O(nlog2n)標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:二分查找的最壞情況是不斷的二分直至無法再分時(shí),仍然沒有查找成功。對于有序的線性表,二分查找法只需比較log2n次。5、假定已建立以下數(shù)據(jù)鏈表結(jié)構(gòu),且指針p和q已指向如下圖所示的結(jié)點(diǎn):則以下選項(xiàng)中可將q所指結(jié)點(diǎn)從鏈表中刪除并釋放該結(jié)點(diǎn)的語句是()。A、(*)p.next=(*q).next;free(p)B、b=q一>next;free(q)C、p=q;free(q)D、p=>next=q一>next;free(q)標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:要?jiǎng)h除結(jié)點(diǎn)q,應(yīng)首先由q的上一個(gè)結(jié)點(diǎn)p的指針域指向q的指針域所指向的結(jié)點(diǎn),即p一>next=q一>next;,然后才能釋放結(jié)點(diǎn)q,即free(q)。6、軟件開發(fā)中,需求分析階段可以使用的工具是()。A、N-S圖B、DFD圖C、PAD圖D、程序流程圖標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:結(jié)構(gòu)化分析方法是結(jié)構(gòu)化程序設(shè)計(jì)理論在軟件需求解析階段的運(yùn)用,數(shù)據(jù)流圖(DataFlowDiagram,DFD)是結(jié)構(gòu)化分析常用的工具之一,數(shù)據(jù)字典、判定樹和判定表也是常用的結(jié)構(gòu)化分析工具。程序流程圖、NS圖、PAD圖等圖形工具用于詳細(xì)設(shè)計(jì)的過程中。7、在面向方法中,不屬于“對象”基本特點(diǎn)的是()。A、一致性B、分類性C、多態(tài)性D、標(biāo)識(shí)唯一性標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:對象的基本特點(diǎn)有:①標(biāo)識(shí)唯一性,是指對象是可區(qū)分的;②分類性,是指可將具有相同屬性和操作的對象抽象成類;③多態(tài)性,是指同一個(gè)操作可以是不同對象的行為;④封裝性,是指對象的內(nèi)部對外不可見,在外面不可直接使用對象的處理能力,也不能直接修改對象的內(nèi)部狀態(tài);⑤模塊獨(dú)立性,是指模塊內(nèi)部各部分及模塊間的關(guān)系的一種衡量標(biāo)準(zhǔn),由內(nèi)聚和耦合來度量。8、在數(shù)據(jù)管理技術(shù)發(fā)展的三個(gè)階段中,數(shù)據(jù)共享最好的是()。A、人工管理階段B、文件系統(tǒng)階段C、數(shù)據(jù)庫系統(tǒng)階段D、三個(gè)階段相同標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:數(shù)據(jù)庫系統(tǒng)階段實(shí)現(xiàn)了數(shù)據(jù)共享,具有數(shù)據(jù)的集成性.這使得數(shù)據(jù)可被多個(gè)應(yīng)用所共享,還可以極大地減少數(shù)據(jù)冗余性。A項(xiàng)。在人工管理階段,數(shù)據(jù)不保存,沒有對數(shù)據(jù)進(jìn)行管理的軟件,數(shù)據(jù)不能共享;B項(xiàng),文件系統(tǒng)階段是數(shù)據(jù)庫系統(tǒng)發(fā)展的初級階段,它提供了簡單的數(shù)據(jù)共享與數(shù)據(jù)管理能力,但是這種能力十分有限。從人工管理階段到文件系統(tǒng)階段再到數(shù)據(jù)庫系統(tǒng)階段,對數(shù)據(jù)共享的能力在不斷增強(qiáng)。9、一間宿舍可住多個(gè)學(xué)生,則實(shí)體宿舍和學(xué)生之間的聯(lián)系是()。A、一對一B、一對多C、多對—D、多對多標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:實(shí)體間的聯(lián)系有如下情況:①一對一(1:1);②一對多(1:m);③多對多(m:n)。本題中,一間宿舍對應(yīng)多個(gè)學(xué)生,那么宿舍和學(xué)生之間的聯(lián)系是一對多,學(xué)生和宿舍的聯(lián)系是多對一。10、有三個(gè)關(guān)系R、S和T如下:由關(guān)系R和S通過進(jìn)行運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為()。A、笛卡爾積B、交C、并D、自然連接標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:交和并運(yùn)算要求關(guān)系R和S具有相同的屬性,BC兩項(xiàng)錯(cuò)誤。R與S的笛卡兒積是一個(gè)4元關(guān)系,有4個(gè)元素,A項(xiàng)錯(cuò)誤。R與S有公共的屬性B,可通過公共屬性的相等值進(jìn)行連接,這種連接稱之為自然連接。11、以下敘述中正確的是()。A、C程序的基本組成單位是語句B、C程序中的每一行只能寫一條語句C、簡單C語句必須以分號結(jié)束D、C語言必須在一行內(nèi)寫完標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:C程序的基本組成單位是函數(shù),A項(xiàng)錯(cuò)誤;C程序以分號作為每個(gè)語句結(jié)尾,一行能寫多條語句,也可以將一條語句分幾行書寫,BD兩項(xiàng)錯(cuò)誤;而簡單C語言語句必須以分號結(jié)束,所以C項(xiàng)正確。12、C源程序中不能表示的數(shù)制是()。A、二進(jìn)制B、八進(jìn)制C、十六進(jìn)制D、十六進(jìn)制標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:C語言中整型常量可以用十進(jìn)制數(shù)、八進(jìn)制數(shù)、十六進(jìn)制數(shù)來表示。雖然計(jì)算機(jī)只能識(shí)別二進(jìn)制數(shù),但二進(jìn)制不能用來表示整型常量。13、以下敘述中錯(cuò)誤的是()。A、用戶定義的函數(shù)中可以沒有return語句B、用戶定義的函數(shù)中可以有多個(gè)return語句,以便可以調(diào)用一次返回多個(gè)函數(shù)值C、用戶定義的函數(shù)中若沒有return語句,則應(yīng)當(dāng)定義函數(shù)為voie類型D、函數(shù)的return語句中可以沒有表達(dá)式標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:用戶定義的函數(shù)有兩種:①void函數(shù),可以沒有return語句,如果有return語句,也不可以返回任何表達(dá)式;②指定返回類型函數(shù),至少有一個(gè)返回語句。在一個(gè)函數(shù)內(nèi),可以根據(jù)需要在多處出現(xiàn)return語句,但無論有多少個(gè)return語句,return語句只會(huì)被執(zhí)行一次,然后退出函數(shù),并且只能返回一個(gè)函數(shù)值。14、以下選項(xiàng)中不能作為C語言合法常量的足()。A、'cd'B、0.1e+6C、"a"D、'\)11'標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:常量包括整型常量、實(shí)型常量、字符常量和字符串常量等。單引號表示字符常量,但不能包含字符串。表達(dá)字符串常量時(shí)需用雙引號。15、如有表達(dá)式(w)?(-x):(++y)。則其中與w等價(jià)的表達(dá)式是()。A、w==1B、w==0C、w!=1D、W!=0標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:?:表達(dá)式形式為<表達(dá)式1>?<表達(dá)式2>:<表達(dá)式3>。當(dāng)表達(dá)式1的值為真,則結(jié)果為表達(dá)式2的值;當(dāng)表達(dá)式1的值為假,則結(jié)果為表達(dá)式3的值??梢姳磉_(dá)式w等價(jià)于w!=0。16、以下選項(xiàng)中正確的定義語句是()。A、doublea:b:B、doublea=b=7:C、doublea=7.b=7:D、double,a,b:標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:同一類型變量的定義時(shí),不同變量之間需要用“,”分隔;定義變量時(shí)初始化賦值時(shí)不能用等號連接;變量類型說明后面不能用逗號,而是用空格分離。17、若變量已正確定義為int型,要通過語句scanf(”%d,%d,%d”,&a,&b,&c);給a賦值1、給b賦值2、給c賦值3,以下輸入形式中錯(cuò)誤的是(u代表一個(gè)空格)()。A、1,2,3<回車>B、1u2u3<回車>C、1,uu2,uu<回車>3<回車>D、uu1.2,3<回車>標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:scanf函數(shù)要求除格式控制符以外的字符都要原樣輸入。逗號是非格式符,所以需要原樣輸入,否則就不能正確讀入數(shù)據(jù)。B項(xiàng)前兩個(gè)數(shù)據(jù)后面沒有緊跟一個(gè)逗號,格式不匹配,所以輸入形式錯(cuò)誤。18、執(zhí)行以下程序段后,w的值為()。intw='A',x=14,y=15;w=((x|y)&&(w<'a'));A、一1B、NULLC、1D、0標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:因?yàn)閤=14,y=15都是非零整數(shù),因此x|y=1。叉因?yàn)椋'+32='a',知w<'a'也為真,因此(x|y)&&(w<'a')的值為1。19、有以下程序:#include<stdio.h>main()chara=4:printf("%d\n",=a<<1);程序運(yùn)行的結(jié)果是()。A、40B、16C、8D、4標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:左移一位相當(dāng)于原數(shù)乘以2,右移一位相當(dāng)于除以2。a<<1結(jié)果為4*2=8,沒有超過char類型的范圍。20、有以下程序段:inta,b,c;a=10;b=50;c=30;if(a>b)a=b,b=c;c=a;printf("a=%db=%dc=%d",a,b,c);程序的輸出結(jié)果是()。A、a=10b=50C=10B、a=10b=50C=30C、a=10b=30c=10D、a=10b=30c=50標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:因?yàn)閍=10,b=50,所以a<b,if語句判斷條件不成立,于是執(zhí)行c=a,得到c=10,a和b的值不變。21、有以下程序:#include<stdio.h>main(){intx=1,y=2,z=3;if(x>y)if(y<z)printf("%d",++z);elseprintf("%d",++y);printf("%d\n",x++);}程序運(yùn)行的結(jié)果是()。A、331B、41C、2D、1標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:else子句總是與最前面最近的不帶else的if相結(jié)合,與書寫格式無關(guān),所以本題中的else語句與第二個(gè)if語句配對,且if和else都在第一個(gè)if的控制范圍內(nèi)。首先判斷x>y不成立,直接退出第一個(gè)if語句,執(zhí)行printf("%d\n",x++)。(x++)的值是x加之前的值,所以輸出結(jié)果為1。22、有以下程序:#include<stdio.h>main(){ini=5:do{if(i%3==1)if(i%5==2){printf(”*%d”,i);break;}i++:}while(i!=0);printf(”n”):}程序運(yùn)行的結(jié)果是()。A、*7B、*3*5C、*5D、*2*6標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:在dowhile循環(huán)中,總是先執(zhí)行后判斷,所以循環(huán)體至少會(huì)被執(zhí)行一次。在循環(huán)中,如果滿足(i%3==1)&&(i%5==2),那么輸出i的值,退出循環(huán),否則i++,印果i==0則跳出循環(huán)。23、有以下程序:#include<stdio.h>main(){inti,j;for(i=3;i>1;i——){for(j=1;j<=2;j++)printf("%d",i+j);printf("\n");}}程序運(yùn)行的結(jié)果是()。A、234345B、43254345C、233423D、4534標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:外層主循環(huán)i從3減到1執(zhí)行了3次(最后一次循環(huán)條件不成立,不執(zhí)行),嵌套的循環(huán)j從1增到2,每輪執(zhí)行2次。每次輸出i+j的值,就可以得到如D選項(xiàng)的輸出結(jié)果。每次換行發(fā)生在外循環(huán)完成一次循環(huán)之后。24、若有定義語句:chars[10]=”1234567\0\0”;,則strlen(s)的值是()。A、7B、8C、9D、10標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:C語言規(guī)定以字符'\0'作為字符串結(jié)束的標(biāo)識(shí)符。strlen函數(shù)返回的是字符串的長度,“1234567\0\0”與“1234567”等效,所以字符串長度是7。25、若有定義語句:intm[]={5,4,3,2,1},i=4;,則下面對m數(shù)組元素的引用中錯(cuò)誤的是()。A、m[一一i]B、m[2*2]C、m[m[0]]D、m[m[i]]標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析::數(shù)組的下標(biāo)從零開始,數(shù)組m中有5個(gè)元素,所以數(shù)組m即為m[0]=5,m[1]=4,m[2]=3,m[3]=2,m[4]=1。C項(xiàng),m[0]=5,引用數(shù)組元素為m[5],但是數(shù)組下標(biāo)范圍是0~4,所以m[5]溢出,引用錯(cuò)誤。26、有以下程序:#include<stdio.h>voidfun(inta[],intn){inti.t:for(i=0;i<n/2;i++){t=a[i]:a[i]=a[n一1一i];a[n一1一i]=t;}}main(){intk[10]={1,2,3,4,5,6,7,8,9,10},i;fun(k,5):for(i=2;i<8;i++)printf("%d",k[i]);printf("\n");}程序運(yùn)行的結(jié)果是()。A、3456787B、876543C、1098765D、321678標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:由于數(shù)組名本身是一個(gè)地址,所以在用數(shù)組名作為實(shí)參傳遞時(shí),對應(yīng)的形參相當(dāng)于一個(gè)指針變量,在函數(shù)中可以通過指針變量來引用數(shù)組元素,從而改變元素的值。本題中函數(shù)fun的作用是將數(shù)組A的前n個(gè)元素進(jìn)行逆轉(zhuǎn),fun(k,5)的結(jié)果是數(shù)組k的前五個(gè)元素1、2、3、4、5變?yōu)?、4、3、2、1。逆轉(zhuǎn)后,輸出數(shù)組中第3個(gè)至第8個(gè)元素。27、有以下程序:#include<stdio.h>voidfun(inta,intb){intt;t=a;a=b;b=t;}main(){intc[10]={1,2.3.45,6,7,8,9,0},i;for(i=0:i<10;i+=2)fun(c[i],c[i+1]);for(i=0;i<10;i++)printf("%d,",c[i]);printf("\n");程序運(yùn)行的結(jié)果是()。A、1,2,3,4,5,6,7,8,9,0,B、2,1,4,3,6,5,8,7,0,9,C、0,9,8,7,6,5,4,3,2,1,D、0,1,2,3,4,5,6,7,8,9,標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:在C語言中,函數(shù)參數(shù)傳遞的作用是“傳值",形參和實(shí)參是兩個(gè)沒有關(guān)系的變量。函數(shù)fun交換了參數(shù)值,但只是交換了形參的值,結(jié)果并不會(huì)傳遞給實(shí)參。所以數(shù)組c沒有發(fā)生變化,原樣輸出。28、有以下程序:#include<stdio.h>#defineN4voidfun(inta[][N],intb[])inti:for(i=0:i<N;i++)b[i]=a[i][i];main()intx[][N]={{1,2,3},{4},{5,6,7,8},{9,10};,y[N],i;fun(x,y);for(i=0:i<N;i++)printf("%d",y[i]);printf("\n"):}程序運(yùn)行的結(jié)果是()。A、1234B、1070C、1459D、3480標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:數(shù)組x有4列。fun函數(shù)中for循環(huán)的作用是將二維數(shù)組前4行的對角線元素分別賦給b[0],b[1],b[2],b[3]。在主函數(shù)中,二維數(shù)組初始化為{1,2,3},{4},{5,6,7,8},{9,10},所以可以看出對角線元素為1070。29、若有定義語們:doublex[5]={1.0,2,3,4,5.0},*p=x,則錯(cuò)誤引用X數(shù)組元素的是()。A、*pB、x[5]C、*(P+1)D、*X標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:引用一維數(shù)組元素有多種方式。直接引用的表達(dá)式為:數(shù)組名[下標(biāo)]。數(shù)組大小為n時(shí),下標(biāo)的取值范圍為0~(n一1),所以本題中x的下標(biāo)為0~4,x[5]溢出,B項(xiàng)錯(cuò)誤。此外還可以通過指針引用一維數(shù)組元素。指針p指向該數(shù)組,所以*p表示x[0],A項(xiàng)正確;指針p+1指向數(shù)組x的第二個(gè)元素的地址,*(p+1)表示引用x的第二個(gè)元素,C項(xiàng)正確;x為x數(shù)組元素的首地址,*x表示對x[0]的引用,D項(xiàng)正確。30、下面的函數(shù)淵剛語句中,func函數(shù)的實(shí)參個(gè)數(shù)是()。func(f2(vl,v2),(v3,v4,v5),(v6,max(v7,v8)))A、3B、4C、5D、8標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:函數(shù)調(diào)用中,實(shí)參有多個(gè)時(shí),它們之間應(yīng)該用逗號分隔。本題中的實(shí)參有3個(gè),為f2(v1,v2)、(v3,v4,v5)、(v6,max(v7,v8))。其中f2(v1,v2)是函數(shù)做參數(shù),(v3,v4,v5)是逗號表達(dá)式做參數(shù),(v6,max(v7,v8))是逗號與函數(shù)相結(jié)合做參數(shù)。31、有以下程序:#include<stdio.h>intfun(inta,intb){if(b==0)returna:elsereturn(fun(一一a,一一b));}main(){printf("%d\n",fun(4,2));}程序運(yùn)行的結(jié)果是()。A、1B、2C、3D、4標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:fun函數(shù)是一個(gè)遞歸函數(shù),其功能是:當(dāng)b的值為零時(shí),返回此時(shí)a的值;否則,返回fun(——a,——b),即將a和b的值分別減1后返回fun(a,b)。當(dāng)b不斷遞減時(shí),a也不斷遞減,直到b為零。執(zhí)行過程為:執(zhí)行fun(4,2),b=2,返回f(3,1),此時(shí)b=1,返回f(2,0),b=0,返回a的值2。32、有以下程序:#include<stdio.h>intfun(int(*s)[4],intn,intk){intm,i;m=s[0][k];for(i=1;i<n;i++)if(s[i][k]>m)m=s[i][k]:returnm;}main(){inta[4][4]={{1,2,3,4},{11,12,13,14},{21,22,23,24),{31,32,33,34}};printf(”%d\n”,fun(a,4,0));}程序運(yùn)行的結(jié)果是()。A、4B、34C、31D、32標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:函數(shù)fun通過數(shù)組指針引用二維數(shù)組,其作用是遍歷s[1][k]~s[n一1][k],找出數(shù)組中最大的元素。33、有以下程序:#include<stdio.h>#include<stdlib.h>intfun(intn){int*P:P=(int*)malloc(sizeof(int)):*p=n;return*P;}main(){inta;a=fun(10):printf("%d\n",a+fun(10));}程序運(yùn)行的結(jié)果是()。A、0B、10C、20D、出錯(cuò)標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:fun函數(shù)的功能是申請一個(gè)指針p,把p指向的存儲(chǔ)空間賦值為n,并返回p指向的空間的值,即為n。fun(10)的返回值為10,所以a=fun(10)后a的值為10,a+fun(10)=20。34、以下關(guān)于宏的敘述中正確的是()。A、宏名必須用大寫字母表示B、宏定義必須位于源程序中所有語句之間C、宏替換沒有數(shù)據(jù)類型限制D、宏調(diào)用比函數(shù)調(diào)用耗費(fèi)時(shí)間標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:A項(xiàng)錯(cuò)誤,宏名標(biāo)識(shí)符習(xí)慣用大寫字母表示,但宏名可以是任何合法的C語言標(biāo)識(shí)符,沒有對大小寫的強(qiáng)制性要求;B項(xiàng)錯(cuò)誤.宏定義可以根據(jù)需要寫在任何位置;D項(xiàng)錯(cuò)誤,宏調(diào)用在編譯前由編譯預(yù)處理程序完成,不占用運(yùn)行的時(shí)間。35、以下程序段中完全正確的是()。A、int*P;scanf("%d",&p);B、int*P;scanf("%d",p);C、intk,*p=&k;scanf("%d",p)D、intk,*P;*p=&k;scanf("%d",p)標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:選項(xiàng)A錯(cuò)在沒有對指針進(jìn)行初始化,是無效指針,并且在scanf("%d",&p)中無需再進(jìn)行取地址操作;選項(xiàng)B沒有對指針進(jìn)行初始化,是無效指針;選項(xiàng)D,語句*p=&k;的左端*p是指針?biāo)竷?nèi)存空間的值,&k是地址,應(yīng)為p=&k。36、有以下程序:#include<stdio.h>structst{intx,y;}data[2]={1,10,2,20};main(){structst*P=data:printf("%d",1)一>y);printf("%d\n",(++p)一>x);}程序運(yùn)行的結(jié)果是()。A、101B、201C、102D、202標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:題目在定義結(jié)構(gòu)體st的同時(shí)便定義了結(jié)構(gòu)體數(shù)組data??芍猟ata[0]={1,10},幽ta[1]={2,20}。結(jié)構(gòu)體指針p指向數(shù)組的首地址,指向data[0],++p則指向data[1],所以輸出p一>y和(++p)一>x即輸出data[0].y和data[1].x。37、有以下程序:#include<stdio.h>main(){structSTU{charname[9];charsex;doublescore[2]};structSTUa={"Zhao",'m',85,90.0},b={"Qian",'f',95,92.0};b=a:printf("%s%c%2.0f%2.0f\n",b.name,b.sex,b.score[0],b.score[l]);}程序運(yùn)行的結(jié)果是()。A、Qianf9592B、Qianm8590C、Zhaof9592D、Zhaom8590標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:在C語言中,相同類型變量可以通過等號直接賦值,它會(huì)按照每個(gè)成員在結(jié)構(gòu)體中的川頁序一一對應(yīng)賦初值.可知。a.name="Zhao",a.scx='f'a.score[0]=85.0,a.score[1]=90.0,b.name=”Qian”,b.sex='m',b.score[0]=95.0.b.score[1]=92.0。要特別注意a=b;語句,如果沒有該條語句,則輸出A選項(xiàng)的結(jié)果。38、有以下程序:#include<stdio.h>nlain()FILE*pf:char*sl="China",*s2="Beijing":pf=fopen("abc.dat","wb+");fwrite(s2,7,1,pf):rewind(pf);/*文件位置指針回到文件開頭**fwrite(s1,5,1,pf):fclose(pf);}以上程序執(zhí)行后。abe.dat文件的內(nèi)容是()。A、ChinaB、ChinangC、ChinaBeijingD、BeijingChina標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:pf是一個(gè)文件指針,fopen("abc.dat""wb+")執(zhí)行后,fp指向可讀寫的二進(jìn)制文件abc.dat。語句fwrite(s2,7,1,pf);是將s2的前7*1個(gè)字符的內(nèi)容寫入pf中,即Beijing。rewind(pf)是將文件位置指針移回到文件開頭,語句fwrite(s1,5,1,pf)是從文件的開頭位置向s1寫入五個(gè)字符,所以結(jié)果為Chinang。二、程序填空題(本題共1題,每題1.0分,共1分。)39、給定程序中,函數(shù)fun的功能是:求ss所指字符串?dāng)?shù)組中長度最長的字符串所在的行下標(biāo),作為函數(shù)值返回,并把其串長放在形參n所指變量中。ss所指字符串?dāng)?shù)組中共有M個(gè)字符串,且串長<N。請?jiān)诔绦虻南庐嬀€處填入正確的內(nèi)容并把下畫線刪除,使程序得出正確的結(jié)果。注意:不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:#include<stdio.h>#include<string.h>#defineM5#defineN20/******found******/intfun(char(*ss)1,int*n){inti,k=0,len=0;for(i=0;i<M;i++){len=strlen(ss[i]);/******found******/if(i==0)*n=2;if(len>*n){/******found******/3;k=i;}}return(k}:{main(){charss[M][N]={"shanghai","guang-zhou","beijing","tianjing","cchongqing"};intn,k,i;printf("Theoriginalstringsare:\n");for(i=0;i<M;i++)puts(ss[i]);k=fun(ss,&n);printf("Thelengthoflongeststringis:%d\n",n);printf("Thelongeststringis:%s\n",ss[k]);}標(biāo)準(zhǔn)答案:(1)[N](2)len(3)*n=len知識(shí)點(diǎn)解析:本題考查:字符數(shù)組處理;函數(shù)形參定義;for循環(huán)語句。填空1:形參ss是一個(gè)字符串?dāng)?shù)組的定義,其寬度為N,所以應(yīng)填[N]。填空2:*n用來記錄最長字符串的長度,此處取第一個(gè)字符串的長度賦值給變量*n,所以應(yīng)填len。填空3:每循環(huán)一次,判斷當(dāng)前字符串的長度是否大于*n,如果大于,則*n=len。三、程序修改題(本題共1題,每題1.0分,共1分。)40、下列給定程序中,fun函數(shù)的功能是:根據(jù)形參m,計(jì)算下列公式的值。t=1+1/2+1/3+1/4+…+1/m例如,若輸入5,則應(yīng)輸出2.283333。請改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:#include<stdlib.h>#include<conio.h>#include<stdio.h>doublefun(intm){doublet=1.0;inti;for(i=2;i<=m;i++)/******found******/t+=1.0k:|******found******/returni;}voidmain(){intm;system("CLS"):printf("Pleaseenter1integernumber:");scanf("%d",&m);printf("Theresultis%1f\n",fun(m));}標(biāo)準(zhǔn)答案:(1)t+=1.0/i;(2)returnt;知識(shí)點(diǎn)解析:本題考查:for循環(huán)語句的循環(huán)條件;函數(shù)返回值。該題目考查分母成等差數(shù)列遞增的一個(gè)數(shù)學(xué)公式,先看循環(huán)條件for(i=2;i<=m;i++),i從2開始遞增到m,所以t的值應(yīng)該是由1.0/i的值逐步循環(huán)疊加后的結(jié)果,而不是t+=1.0/k;。returni考查對程序的解讀能力,當(dāng)循環(huán)結(jié)束后(由輸入m的值決定),函數(shù)返回當(dāng)前t的值。四、程序設(shè)計(jì)題(本題共1題,每題1.0分,共1分。)41、請編寫函數(shù)fun,其功能是:計(jì)算并輸出給定10個(gè)數(shù)的方差。S一[((XX—X')2)/10]0.5其中:S=((XX一X')2)/10例如,給定的10個(gè)數(shù)為95.0、89.0、76.0、65.0、88.0、72.0、85.0、81.0、90.0、56.0,則輸出為S=11.730729。注意:請勿改動(dòng)主main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入所編寫的若干語句。試題程序:#include<math.h>#include<stdio.h>doublefun(doublex[10]){}voidmain(){FIILE*wf:doubles,x[10]=95.0,89.0,76.0,65.0,88.0,72.0,85.0,81.0,90.0,56.0};int1:printf("Theoriginaldatais:n");for(i=0;i<10;i++)printf("%6.1f",x[i]);printf("n"):s=fun(x):printf("s=%f\n",s);/************/wf=fopen("out.dat","w"):fprintf(wf,"f",s);fclose(wf):/************/標(biāo)準(zhǔn)答案:doublefun(doublex[10]){doublex1=0.0,s=0.O:inti:for(i=0;i<10;i++)x1=x1+x[i];x1=x1/10;/*求10個(gè)數(shù)的平均值*/for(i=0;i<10;i++)s=s+(x[i]一x1)*(x[i]一x1);returnsqrt(s/10);/*求10個(gè)數(shù)的方差*/}知識(shí)點(diǎn)解析:本題考查:平均值的求法;for循環(huán);復(fù)合運(yùn)算符;sqrt函數(shù)(求方差)。這是一道求公式的值的題目,程序中第1個(gè)循環(huán)用來完成求10個(gè)數(shù)的總和,接著再用xl=xl/10來求出平均值。第2個(gè)循環(huán)用來求累加和的值,最后將累加和的平方根返回,注意sqrt函數(shù)的應(yīng)用。國家二級(C語言)機(jī)試模擬試卷第3套一、選擇題(本題共40題,每題1.0分,共40分。)1、計(jì)算機(jī)能直接執(zhí)行的程序是()。A、源程序B、目標(biāo)程序C、匯編程序D、可執(zhí)行程序標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:計(jì)算機(jī)能直接執(zhí)行的程序是二進(jìn)制的可執(zhí)行程序,擴(kuò)展名為.exe。所以選擇D選項(xiàng)。2、假設(shè)有語句sizeof(double),則它是()。A、一個(gè)整型表達(dá)式B、一個(gè)雙精度浮點(diǎn)型表達(dá)式C、一種函數(shù)調(diào)用D、一種函數(shù)定義標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:sizeof(double)是C語言內(nèi)部規(guī)定的一個(gè)計(jì)算參數(shù)(double)在計(jì)算機(jī)的內(nèi)存中所占用的字節(jié)數(shù)量的函數(shù),它返回一個(gè)整數(shù)值。3、以下程序:#includemain(){charstr[10];scanf(“%s”,&str);printf(“%s\nttstr):}運(yùn)行上面的程序,輸入字符串howareyou,則程序的執(zhí)行結(jié)果是()。A、howB、howareyouC、hD、howareyou標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:當(dāng)從鍵盤輸入howareyou時(shí),由于scanf輸入函數(shù)的特點(diǎn)是遇到空格時(shí)結(jié)束讀入字符,因此,該程書只將how這3個(gè)字符送到了字符數(shù)組str中,并在其后自動(dòng)加上結(jié)束符“\0”。4、下列數(shù)據(jù)結(jié)構(gòu)中,能夠按照“先進(jìn)后出”原則存取數(shù)據(jù)的是()。A、循環(huán)隊(duì)列B、棧C、隊(duì)列D、二叉樹標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:棧是按“先進(jìn)后出”的原則組織數(shù)據(jù)的。隊(duì)列是按“先進(jìn)先出”的原則組織數(shù)據(jù)的。5、若定義函數(shù)int*func(),則函數(shù)func的返M值為()。A、一個(gè)實(shí)數(shù)B、一個(gè)指向整型變量的指針C、一個(gè)指向整型函數(shù)的指針D、一個(gè)整型函數(shù)的入口地址標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:今題考查函數(shù)返回值。fun函數(shù)的返回值類型為int*類型,即函數(shù)返回一個(gè)指向整型變量的指針。6、下述程序的輸出結(jié)果是()。#includevoidmain(){inta[20],*p[4];inti,k=0;for(i=0;i<20;i++)a[i]=i;for(i=0;i<4;i++)p[i]=&a[i*i+1];for(i=0;i<4;i++){k=k+*p[i];}printf("%dt",k);}A、10B、18C、6D、數(shù)組元素引用不合法,輸出結(jié)果不定標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:第一個(gè)for循環(huán),給數(shù)組a的20個(gè)元素分別賦值0—19;第二個(gè)for循環(huán),給數(shù)組p賦值,p[0]=a[1]=1,p[1]=a[2]=2,p[2]=a[5]=5,p[3]=a[10]=10;第三個(gè)for循環(huán),將數(shù)組p中元素的值進(jìn)行累加,k=1+2+5+10=18。7、下面函數(shù)的功能是()。SSS(S,t)char*s,*t;{while(*s);while(*t)*(s++)=*(t++);returnS;}A、將字符串S復(fù)制到字符串t中B、比較兩個(gè)字符串的大小C、求字符串的長度D、將字符串t續(xù)接到字符串S中標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:本題考查指針變量的運(yùn)用。本題中的函數(shù)實(shí)質(zhì)上是將字符串t續(xù)接到字符串s中。8、設(shè)有定義:char*c;,以下選項(xiàng)中能夠使字符型指針c正確指向一個(gè)字符串的是()。A、charstr[]=’’string’’;c=str;B、scanf(’’%s’’,c);C、c=getchar();D、charstr[]=’’string’’;strcpy(’’c,str’’)標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:在題目的題干中定義了字符指針變量c,在選項(xiàng)A中,首先定義字符數(shù)組str,然后再把字符數(shù)組str的首地址賦給字符指針變量c。所以選項(xiàng)A是正確的。在選項(xiàng)B中,指針c沒有正確初始化,指向的地址是為止的,因此不能在scanf函數(shù)中使用;在選項(xiàng)C中,getchar函數(shù)的返回值是用戶輸入的第一個(gè)字符的ASCII碼,如出錯(cuò)返回-1,且將用戶輸入的字符回顯到屏幕,如用戶在按回車之前輸入了不止一個(gè)字符,其他字符會(huì)保留在鍵盤緩存區(qū)中,等待后續(xù)getchar調(diào)用讀取,即c只能指向一個(gè)字符而不能指向字符串;在選項(xiàng)D中,strcpy函數(shù)用于字符串拷貝,函數(shù)有兩個(gè)參數(shù),因此strcpyt:’’c,str")書寫錯(cuò)誤,所以選項(xiàng)D是錯(cuò)誤的。9、以下選項(xiàng)中,能用作數(shù)據(jù)常量的是()。A、115LB、0118C、1.5e1.5D、0115標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:A選項(xiàng)中115L表示115是長整型數(shù)據(jù),合法。B選項(xiàng)是八進(jìn)制常量的表示方法,但是在八進(jìn)制中不能含有數(shù)字8,所以B錯(cuò)誤。C選項(xiàng)中e后面應(yīng)該是整數(shù)不能是小數(shù)1.5,所以C錯(cuò)誤。D選項(xiàng)中八進(jìn)制常量應(yīng)該是數(shù)字“0”開始,而不是字母“o”開始。10、有以下程序:voidss(char*s,chart){while(*s){if(*s==t)*s=t-’a’+’A’;s++;}}main(){charstr1[100]="abcddfefdbd",c=’d’;ss(str1,c);printf("%s\n",str1);}程序運(yùn)行后的輸出結(jié)果是()。A、ABCDDEFEDBDB、abcDDfefDbDC、abcAAfefAbAD、Abcddfefdbd標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:函數(shù)ss(char*s,chart)的功能是將指針s所指向的字符串中存在的字符“t”均改寫成大寫字母;所以main函數(shù)中引用函數(shù)ss后使得數(shù)組str1中的小寫字母“d”均變成了大寫字母“D”,然后輸出數(shù)組str1,結(jié)果為:abcDDfefDbD。11、設(shè)有如下關(guān)系表:則下列操作正確的是()。A、T=R/SB、T=R×SC、T=R∩SD、T=R∪S標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:T就是關(guān)系R中有的,同時(shí)S中也有的有序組(4、5、6),即交運(yùn)算(∩)。12、下列工具中,不屬于結(jié)構(gòu)化分析的常用工具的是()。A、數(shù)據(jù)流圖B、數(shù)據(jù)字典C、判定樹D、N-S圖標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:結(jié)構(gòu)化分析的常用工具有數(shù)據(jù)流圖、數(shù)據(jù)字典、判定樹和判定表。13、程序設(shè)計(jì)的任務(wù)包括()。A、編寫程序代碼并上機(jī)調(diào)試B、確定所用數(shù)據(jù)結(jié)構(gòu)C、確定所用算法D、以上選項(xiàng)均正確標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:程序設(shè)計(jì)是一門技術(shù),需要相應(yīng)的理論、技術(shù)、方法和工具來支持。程序設(shè)計(jì)的任務(wù)包括選項(xiàng)A)、B)、C)等方面。14、有下列程序:main(){intm,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("0%d%d%d\n",m,n,p);}若想從鍵盤上輸入數(shù)據(jù),使變量m中的值為123,n中的值為456,P中的值為789,則正確的輸入是()。A、m=123n=456p=789B、m=123n=456p=789C、m=123,n=456.p=789D、123456789標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:scanf()函數(shù)中格式控制字符串是為了輸入數(shù)據(jù)用的,無論其中有什么字符,在輸入數(shù)據(jù)時(shí),按照一一對應(yīng)的位置原樣輸入這些字符。15、有以下程序:#include<stdio.h>main(){inti,t[][3]={9,8,7,6,5,4,3,2,1};for(i=0;i<3;i++)printf("%d",t[2-i][i]);}程序執(zhí)行后的輸出結(jié)果是()。A、357B、753C、369D、751標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:二維數(shù)組t[][3]實(shí)際上指t[3][3]={{9,8,7},{6,5,4},{3,2,1}},通過循環(huán)語句for語句可以得到i=0,t[2][0]=3、i=1,t[1][1]=5、i=2,t[0][2]=7、i=3時(shí)循環(huán)結(jié)
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 汽油運(yùn)輸合同
- 規(guī)范的個(gè)人借款合同范本
- 勞務(wù)外包服務(wù)項(xiàng)目合同書
- 2025版高新技術(shù)企業(yè)產(chǎn)品銷售代理合同范本
- 薦設(shè)備購買合同
- 2025版水果采摘園與旅行社合作合同范本3篇
- 消防安裝工程勞務(wù)合同范本1年
- 農(nóng)業(yè)技術(shù)委托服務(wù)合同
- 借款合同模板模板年
- 2025版環(huán)保產(chǎn)業(yè)股份收購與可持續(xù)發(fā)展戰(zhàn)略合同3篇
- 2024-2025學(xué)年山東省濰坊市高一上冊1月期末考試數(shù)學(xué)檢測試題(附解析)
- 江蘇省揚(yáng)州市蔣王小學(xué)2023~2024年五年級上學(xué)期英語期末試卷(含答案無聽力原文無音頻)
- 數(shù)學(xué)-湖南省新高考教學(xué)教研聯(lián)盟(長郡二十校聯(lián)盟)2024-2025學(xué)年2025屆高三上學(xué)期第一次預(yù)熱演練試題和答案
- 決勝中層:中層管理者的九項(xiàng)修煉-記錄
- 幼兒園人民幣啟蒙教育方案
- 臨床藥師進(jìn)修匯報(bào)課件
- 北京市首都師大附中2025屆數(shù)學(xué)高三第一學(xué)期期末達(dá)標(biāo)測試試題含解析
- 軍事理論(2024年版)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 《無人機(jī)法律法規(guī)知識(shí)》課件-第1章 民用航空法概述
- 政治丨廣東省2025屆高中畢業(yè)班8月第一次調(diào)研考試廣東一調(diào)政治試卷及答案
- 2020-2024年安徽省初中學(xué)業(yè)水平考試中考物理試卷(5年真題+答案解析)
評論
0/150
提交評論