版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
國家二級C語言機(jī)試(選擇題)模擬試卷44(共9套)(共270題)國家二級C語言機(jī)試(選擇題)模擬試卷第1套一、選擇題(本題共25題,每題1.0分,共25分。)1、以下敘述中錯誤的是A、C程序在運行過程中所有計算都以二進(jìn)制方式進(jìn)行B、所有C程序都需要編譯鏈接無誤后才能運行C、C程序在運行過程中所有計算都以十進(jìn)制方式進(jìn)行D、C程序中字符變量存放的是字符的ASCII值標(biāo)準(zhǔn)答案:C知識點解析:計算機(jī)程序都是編譯為二進(jìn)制的代碼,計算機(jī)才會執(zhí)行。2、下列敘述中正確的是A、循環(huán)隊列有隊頭和隊尾兩個指針,因此,循環(huán)隊列是非線性結(jié)構(gòu)B、在循環(huán)隊列中,只需要隊頭指針就能反映隊列中元素的動態(tài)變化情況C、在循環(huán)隊列中,只需要隊尾指針就能反映隊列中元素的動態(tài)變化情況D、循環(huán)隊列中元素的個數(shù)是由隊頭指針和隊尾指針共同決定標(biāo)準(zhǔn)答案:D知識點解析:循環(huán)隊列中元素的個數(shù)是由隊頭指針和隊尾指針共同決定的,元素的動態(tài)變化也是通過隊頭指針和隊尾指針來反映的。3、一棵二叉樹中共有70個葉子結(jié)點與80個度為1的結(jié)點,則該二叉樹中的總結(jié)點數(shù)為A、219B、221C、229D、231標(biāo)準(zhǔn)答案:A知識點解析:在二叉樹中,葉子結(jié)點個數(shù)為n0,則度為2的結(jié)點數(shù)n2=n0-1。本題中葉子結(jié)點的個數(shù)為70,所以度為2的結(jié)點個數(shù)為69,因而總結(jié)點數(shù)=葉子結(jié)點數(shù)+度為1的結(jié)點數(shù)+度為2的結(jié)點數(shù)=70+80+69=219。4、下列關(guān)于軟件工程的描述中正確的是A、軟件工程只是解決軟件項目的管理問題B、軟件工程主要解決軟件產(chǎn)品的生產(chǎn)率問題C、軟件工程的主要思想是強(qiáng)調(diào)在軟件開發(fā)過程中需要應(yīng)用工程化原則D、軟件工程只是解決軟件開發(fā)中的技術(shù)問題標(biāo)準(zhǔn)答案:C知識點解析:軟件工程是建立并使用完善的工程化原則,以較經(jīng)濟(jì)的手段獲得能在實際機(jī)器上有效運行的可靠軟件的一系列方法。軟件工程主要思想是強(qiáng)調(diào)在軟件開發(fā)過程中需要應(yīng)用工程化原則。5、若實體A和B是一對多的聯(lián)系,實體B和C是一對一的聯(lián)系,則實體A和C的聯(lián)系是A、一對一B、一對多C、多對一D、多對多標(biāo)準(zhǔn)答案:B知識點解析:由于B和C有一一對應(yīng)的聯(lián)系,而A和B只間有一對多的聯(lián)系,則通過關(guān)系之間的傳遞,則A和C之間也是一對多的聯(lián)系。6、設(shè)順序表的長度為40,對該表進(jìn)行冒泡排序。在最壞情況下需要的比較次數(shù)為A、780B、820C、40D、41標(biāo)準(zhǔn)答案:A知識點解析:冒泡排序(BubbleSort),是一種計算機(jī)科學(xué)領(lǐng)域的較簡單的排序算法。冒泡排序算法的運作如下:比較相鄰的元素。如果第一個比第二個大,就交換它們兩個;對每一對相鄰元素作同樣的工作,從開始第一對到結(jié)尾的最后一對。在這一點,最后的元素應(yīng)該會是最大的數(shù);針對所有的元素重復(fù)以上的步驟,除了最后一個;持續(xù)每次對越來越少的元素重復(fù)上面的步驟,直到?jīng)]有任何一對數(shù)字需要比較。冒泡排序的最壞時間復(fù)雜度為(n*(n-1))/2=780。7、39.有以下定義:inta;longb;doublex,y;則以下選項中正確的表達(dá)式是()。A、a%(int)(x一y)B、a=x<>yC、(a*y)%bD、y=x+y=x標(biāo)準(zhǔn)答案:A知識點解析:選項B中<>運算符不存在,選項C中double類型不能進(jìn)行余(%)操作,要求兩個運算數(shù)必須是整數(shù),選項D中x+y=x錯誤。8、在軟件開發(fā)中,需求分析階段可以使用的工具是A、N-S圖B、DFD圖C、PAD圖D、程序流程圖標(biāo)準(zhǔn)答案:B知識點解析:在軟件開發(fā)中,需求分析階段常使用的工具有數(shù)據(jù)流圖(DFD),數(shù)據(jù)字典(DD)、判斷樹和判斷表。9、設(shè)已有定義floatx;,則下列對指針變量p進(jìn)行定義且賦初值的語句中正確的是()。A、int*p=(float)x;B、float*p=&x;C、floatp=&x;D、float*p=1024;標(biāo)準(zhǔn)答案:B知識點解析:指針是用來存放地址的變量,用(類型名*指針變量名)的形式定義。賦值時應(yīng)將某個變量地址即&x賦給指針變量,所以選擇B。10、有以下程序#includemain(){intk:4,m=1,p:fun(inta,intb){intstaticm=0,i=2;p=fun(k,m);i=i+m+1;printf("0%d,",p);m=i+a+b;p=fun(k,m);returnm;}printf("%d\n",p);}程序運行后的輸出結(jié)果是A、8,17B、7,16C、8,8D、7,17標(biāo)準(zhǔn)答案:A知識點解析:本題考查了靜態(tài)變量以及局部變量的同名問題。主函數(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撤銷。第二次調(diào)用fun(4,1),接收實參值以后,i為3+8+1,而m為12+4+1,即輸出函數(shù)值17。11、有以下程序#includemain(){chars[]="abcde";s+=2;printf("%d\n",s[0]);}執(zhí)行后的結(jié)果是A、輸出字符C的ASCII碼B、輸出字符CC、輸出字符a的ASCII碼D、程序出錯標(biāo)準(zhǔn)答案:D知識點解析:因為字符數(shù)組s[]的數(shù)組名s表示的是一個地址常量。所以語句“s+=2;”不能將指針存當(dāng)前化置的基礎(chǔ)上再向后移動兩位。因而程序編譯時出錯。12、有以下程序段charname[20];intnum;scanf("name=%snum=%d",name,&nurn);當(dāng)執(zhí)行上述程序段,并從鍵盤輸入:name=Lilinum=1001后,name的值為A、name=LiliB、Lilinum=C、name=Lilinum=1001D、Lili標(biāo)準(zhǔn)答案:D知識點解析:在題目中以字符串的形式給字符數(shù)組賦值,所以字符數(shù)組name的值為Lili。13、已知字符’A’的ASCII代碼值是65,字符變量c1的值是’A’,c2的值是’D’。則執(zhí)行語句printf("%d,%d",c1,c2-2);的輸出結(jié)果是A、A,68B、A,BC、65,66D、65,68標(biāo)準(zhǔn)答案:C知識點解析:在C語言中,字符常量在內(nèi)存中占一個字節(jié),存放的是字符的ASCII碼值。所有的字符常量都作為整型量來處理。在本題中輸出語句用整型格式輸出字符時,輸出的是其ASCII碼值。因為字符’A’和’D’的ASCII碼值分別為65和68,所以c2-2=68-2=66。14、若有以下程序,則程序的輸出結(jié)果是#include<stdio.h>main(){charc1,c2;c1=’C’+’8’-’3’;c2=’9’-’0’;printf("%c%dha",c1,c2);}A、H9B、H’9’C、F’9’D、表達(dá)式不合法輸出無定值標(biāo)準(zhǔn)答案:A知識點解析:字符常量允許進(jìn)行簡單的算術(shù)運算,則’C’+5表示H,而’9’-’0’則表示數(shù)值9。15、有以下計算公式若程序前面已經(jīng)在命令行中包含math.h文件,不能夠正確計算上述公式的程序段是A、y=sqrt(x);if(x<0)y=sqrt(-x);B、if(x>=0)y=sqrt(x);elsey=sqrt(-x);C、if(x>=0)y=sqrt(x);if(x<0)y=sqrt(-x);D、y=sqrt(x>=0?x:-x);標(biāo)準(zhǔn)答案:A知識點解析:由題意可知計算公式的含義是:當(dāng)x大于等于0時,y值等于x的算術(shù)平方根:當(dāng)x小于0時,y值等于x的相反數(shù)的算術(shù)平方根。所以選項B用一個完整的ifelse語句表達(dá)了計算公式的含義;選項C用兩個if語句表達(dá)了計算公式的含義;選項D在求平方根函數(shù)的后面用x≥0?x:-x條件表達(dá)式來表達(dá)了計算公式的含義。選項A沒有用C語言語句正確的表達(dá)計算公式的含義。16、以下程序段中,不能實現(xiàn)條件"如果aA、if(aB、if(aC、x=-10;if(aD、x=(a>=b)?-10:10;標(biāo)準(zhǔn)答案:A知識點解析:題目的意思若a=b,x=-10,選項A)少考慮了a==b的情況。答案選A)。17、若fp已定義為指向某文件的指針,且沒有讀到該文件的末尾,則C語言函數(shù)feof(fp)的函數(shù)返回值是A、0B、非0C、-1D、EOF標(biāo)準(zhǔn)答案:A知識點解析:feof用來判斷文件是否結(jié)束。如果遇到文件結(jié)束,函數(shù)feof(fb)的值為1,否則為0。18、若以下選項中變量全部為整型變量,且己正確定義并賦值,則語法正確的switch語句是A、switch(a+b){case1:case3:y=a+b;break;case0:case4:y=a-b;}B、switch(a*a+b*b){default:break;case3:y=a+b;break;case2:y=a-b;break;}C、switch(a+9){casec1:y=a-b;casec2:y=a+b;}D、switcha*b{case10:x=a+b;default:y=a-b;}標(biāo)準(zhǔn)答案:B知識點解析:本題考查switch的使用。選項A)中的case0和case4沒有break語句:選項B)正確;選項C)中的case后面不是常量,錯誤;選項D)中switch后面沒有括號。19、以下與函數(shù)fseek(fp,OL,SEEK_SET)有相同作用的是A、feof(fp)B、ftell(fp)C、fgetc(fp)D、rewind(fp)標(biāo)準(zhǔn)答案:D知識點解析:本題主要考查文件系IO函數(shù)的使用,fseek函數(shù)用于設(shè)置文件指針的位置,feof函數(shù)用于判斷是否已經(jīng)到了文件結(jié)束,ftell函數(shù)返回文件指針的當(dāng)前位置,fgetc從文件讀取一個字符,rewind函數(shù)將文件指針重新指向文件開始。題目當(dāng)中fseek(fp,OL,SEEK_SET)表示把文件指針移動到文件的開始位置0,和rcwind函數(shù)功能一致。20、有以下程序#includeintfun(inta,intb){returna+b;}main(){intx=6,y=7,z=8,r;r=fun(fun(x,y),z-);printf("%d\n",r);}程序運行后的輸出結(jié)果是A、15B、21C、20D、31標(biāo)準(zhǔn)答案:B知識點解析:本題考查了函數(shù)的調(diào)用,函數(shù)fun功能為求兩個數(shù)據(jù)的和。主函數(shù)中表達(dá)式r=fun(fun(x,y),z--),首先計算內(nèi)層調(diào)用fun(x,y),計算結(jié)果為13,然后外層調(diào)用fun(13,8),結(jié)果為21。21、以下敘述中正確的是A、語句“charstr[10]="string!";”和“charstr[10]={"string!"};”并不等價B、對于一維字符數(shù)組,不能使用字符串常量來賦初值C、對于字符串常量“string!”,系統(tǒng)已自動在最后加入了“’\0’”字符,表示串結(jié)尾D、在語句charstr[]="string!";中,數(shù)組str的大小等于字符串的長度標(biāo)準(zhǔn)答案:C知識點解析:在C語言中,字符串是借助于字符型一維數(shù)組來存放的,可以借助在定義時初始化以及輸入來把字符串存入數(shù)組,并規(guī)定以字符’\0’作為“字符串結(jié)束標(biāo)志”。’\0’是一個轉(zhuǎn)義字符,稱為空值,它的ASCII碼值為0?!?’作為標(biāo)志占用存儲空間,但不計入字符串的實際長度。在C語言中,系統(tǒng)在每個字符串的最后自動加入一個字符(’\0’)作為字符串的結(jié)束標(biāo)志。22、有以下程序段structst{intx;int*y;}*pt;inta[]={1,2},b[]={3,4};structstc[2]={10,a,20,b};pt=c;以下選項中表達(dá)式的值為11的是A、pt->xB、*pt->yC、++pt->xD、(pt++)->x標(biāo)準(zhǔn)答案:C知識點解析:由題目的已知條件可知,pt指向結(jié)構(gòu)體數(shù)組c[2]的第一元素c[0],所以pt->x=10,執(zhí)行自加運算后為11。23、有以下程序#include<stdio.h>#include<string.h>structA{inta;charb[10];doublec;};voidf(structAt);main(){structAa={1001,"ZhangDa",1098.0};f(a);printf("%d,%s,%6.1f\n",a.a(chǎn),a.b,a.c);}voidf(structAt){t.a(chǎn)=1002;strcpy(t.b,"ChangRong");t.c=1202.0;}程序運行后的輸出結(jié)果是A、1002,ChangRong,1202.0B、1001,ChangRong,1098.0C、1001,ZhangDa,1098.0D、1002,ZhangDa,1202.0標(biāo)準(zhǔn)答案:C知識點解析:本題主要考查是的函數(shù)調(diào)用時參數(shù)之間的傳遞問題。在C語言中參數(shù)之間的傳遞是傳值,也就是把實參的值復(fù)制一份傳遞給形參,而實參的值不發(fā)生變化。所以對于本題來說,在主函數(shù)中執(zhí)行f(a),把結(jié)構(gòu)體變量a的值復(fù)制一份傳遞給形參變量t,而實參變量a的值保持不變。24、有以下程序structA{inta;charb[10];doublec;};voidf(structAt);main(){structAa={1001,"ZhangDa",1098.0};f(a);printf("%d,%s,%6.1f\n",a.a(chǎn),a.b,a.c);}voidf(structAt){t.a(chǎn)=1002;strcpy(t.b,"ChangRong");t.c=1202.0;}程序運行后的輸出結(jié)果是A、1002,ChangRong,1202.0B、1001,ZhangDa,1098.0C、1001,ChangRong,1098.0D、1002,ZhangDa,1202.0標(biāo)準(zhǔn)答案:B知識點解析:在主函數(shù)中定義結(jié)構(gòu)體A的變量a,并對其賦初值,再調(diào)用函數(shù)f(a),形參t接收實參的數(shù)據(jù),在函數(shù)f(t)中對結(jié)構(gòu)體變量t的各個成員進(jìn)行了賦值操作,需要注意的,形參和實參之間是數(shù)據(jù)傳遞,因此對形參的操作對實參不產(chǎn)生影響,因此在主函數(shù)輸出仍然輸出變量a的數(shù)據(jù)25、有以下程序#include<stdio.h>#defineN2#defineMN+1#defineNUM(M+1)*M/2main(){printf("%d\n",NUM);}程序運行后的輸出結(jié)果是A、4B、8C、9D、6標(biāo)準(zhǔn)答案:B知識點解析:宏展開以后NUM為(2+1+1)*2+1/2,計算以后值為8。注意在進(jìn)行宏展開的時候,千萬不要試圖計算,展開以后再進(jìn)行計算。國家二級C語言機(jī)試(選擇題)模擬試卷第2套一、選擇題(本題共25題,每題1.0分,共25分。)1、某完全二叉樹按層次輸出(同一層從左到右)的序列為ABCDEFGH。該完全二叉樹的前序序列為()。A、ABCDEFGHB、ABDHECFGC、HDBEAFCGD、HDEBFGCA標(biāo)準(zhǔn)答案:B知識點解析:完全二叉樹的特點是除最后一層外,每一層上的結(jié)點數(shù)均達(dá)到最大值;在最后一層上只缺少右邊的若干結(jié)點。根據(jù)這一特點,再根據(jù)題意輸出序列為ABCDEFGH,可以得到該二叉樹的結(jié)構(gòu)如下:故此完全二叉樹的前序序列為ABDHECFG。2、有如下程序:#includevoidmain()}intX=0x13;if(x=0x18)prinff(“T”);prinff(“F\n”);}程序運行后的結(jié)果是()。A、TFB、TC、FD、TFT標(biāo)準(zhǔn)答案:A知識點解析:x=Oxl8為賦值表達(dá)式,十六進(jìn)制數(shù)Oxl8非0,if條件成立輸出T,之后再輸出F與回車符。程序運行后的輸出結(jié)果是TF。3、某系統(tǒng)總體結(jié)構(gòu)圖如下圖所示:該系統(tǒng)總體結(jié)構(gòu)圖的深度是A、7B、6C、3D、2標(biāo)準(zhǔn)答案:C知識點解析:這個系統(tǒng)總體結(jié)構(gòu)圖是一棵樹結(jié)構(gòu),在樹結(jié)構(gòu)中,根結(jié)點在第1層,同一層上所有子結(jié)點都在下一層,由系統(tǒng)總體結(jié)構(gòu)圖可知,這棵樹共3層。在樹結(jié)構(gòu)中,樹的最大層次稱為樹的深度。所以這棵樹的深度為3。4、某二叉樹有5個度為2的節(jié)點,則該二叉樹中的葉子節(jié)點數(shù)是()。A、10B、8C、6D、4標(biāo)準(zhǔn)答案:C知識點解析:根據(jù)二叉樹的性質(zhì),在任意二叉樹中,度為0的節(jié)點(葉子節(jié)點)總是比度為2的節(jié)點多一個。5、有以下程序段:inti,n;for(i=0;i<8;i++){n=rand()%5;switch(n){case1:case3:printf("%d\n",n);break;case2:case4:printf("%d\n",n);continue;ease0:exit(0);}printf("%d\n",n);}以下關(guān)于程序段執(zhí)行情況的敘述,正確的是()A、for循環(huán)語句固定執(zhí)行8次B、當(dāng)產(chǎn)生的隨機(jī)數(shù)n為4時結(jié)束循環(huán)操作C、當(dāng)產(chǎn)生的隨機(jī)數(shù)n為1和2時不做任何操作D、當(dāng)產(chǎn)生的隨機(jī)數(shù)n為0時結(jié)束程序運行標(biāo)準(zhǔn)答案:D知識點解析:當(dāng)產(chǎn)生的隨機(jī)數(shù)n為0時,執(zhí)行“case0:exit(0)”這條語句,結(jié)束程序的運行。6、冒泡排序在最壞情況下的比較次數(shù)是A、n(n+1)/2B、nlog2nC、n(n-1)/2D、n/2標(biāo)準(zhǔn)答案:C知識點解析:對n個結(jié)點的線性表采用冒泡排序,在最壞情況下,冒泡排序需要經(jīng)過n/2遍的從前往后的掃描和n/2遍的從后往前的掃描,需要的比較次數(shù)為n(n-1)/2。7、下列敘述中正確的是A、循環(huán)隊列是順序存儲結(jié)構(gòu)B、循環(huán)隊列是鏈?zhǔn)酱鎯Y(jié)構(gòu)C、循環(huán)隊列是非線性結(jié)構(gòu)D、循環(huán)隊列的插入運算不會發(fā)生溢出現(xiàn)象標(biāo)準(zhǔn)答案:A知識點解析:循環(huán)隊列屬于隊列的特例和棧同屬于線性結(jié)構(gòu),所以選項C不正確。在順序隊列中,由于數(shù)組空間不夠而產(chǎn)生的溢出叫真溢出;順序隊列因多次入隊列和出隊列操作后出現(xiàn)的有存儲空間但不能進(jìn)行入隊列操作的溢出稱為假溢出;假溢出是由于隊尾rear的值和隊頭front的值不能由所定義數(shù)組下界值自動轉(zhuǎn)為數(shù)組上界值而產(chǎn)生的,解決的辦法是把順序隊列所使用的存儲空間構(gòu)造成一個邏輯上首尾相連的循環(huán)隊列。因此,順序隊列通常都采用順序循環(huán)隊列結(jié)構(gòu);棧的存儲方式有順序存儲和鏈?zhǔn)酱鎯?,故選項A正確,選項B不正確。循環(huán)隊列雖然能解決假溢出,卻不能解決在順序隊列中,由于數(shù)組空間不夠而產(chǎn)生的真溢出,故選項D不正確。8、以下程序的輸出結(jié)果是()。#includevoidprt(int*x,int*y,int*z){printf("%d,%d,%d\n",++*x,++*y,*(z++));}main(){inta=10,b=40,c=20;prt(&a,&b,&c);prt(&a,&b,&c);}A、11,42,3112,22,41B、11,41,2012,42,20C、11,21,4011,21,21D、11,41,2112,42,22標(biāo)準(zhǔn)答案:B知識點解析:本題考查的是函數(shù)參數(shù)的傳遞及自加運算符。主函數(shù)中第一次調(diào)用函數(shù)“prt(&a,&b,&c);”,此函數(shù)中的輸出語句“printf("%d,%d,%d\n",++*x,++*y,*(z++));”使得a和b的值均加1,而“*(z++)”由于先執(zhí)行“z++”,所以c的值不變;第二次調(diào)用函數(shù)“prt(&a,&b,&c);”使得a和b在上一次的基礎(chǔ)上再各自加1(因為形參和實參進(jìn)行的是地址傳遞),而c的值仍不變。9、將E-R圖轉(zhuǎn)換為關(guān)系模式時,實體和聯(lián)系都可以表示為()。A、屬性B、鍵C、關(guān)系D、域標(biāo)準(zhǔn)答案:C知識點解析:從E-R圖到關(guān)系模式的轉(zhuǎn)換是比較直接的,實體與聯(lián)系都可以表示成關(guān)系,E-R圖中屬性也可以轉(zhuǎn)換成關(guān)系的屬性。10、若有定義:floatx=1.5;inta=1,b=3,c=2;則正確的switch語句是A、switch(a+b){case1:printf("*\n");case2+1:printf("**\n"):}B、switch((int)x);{case1:printf("*\n"):case2:printf("*"\n");}C、switch(x){case1.0:printf("*\n");case2.0:printf("**\n");}D、switch(a+b){case1:pfintf("*\n");casec:pfintf("**\n");}標(biāo)準(zhǔn)答案:A知識點解析:在C語言中,switch()后一對圓括號中的可以是整犁表達(dá)式或字符表達(dá)式。case語句后面的常量表達(dá)式的類型必須與switch后圓括號中的表達(dá)式類犁相同,各case語句標(biāo)號的值應(yīng)該互不相同,選項B)中switch后括號表達(dá)式出錯,選項C)中case后面的常量類型不正確,選項D)中case后面出現(xiàn)了變量表達(dá)式,所以D)不正確。11、C語言程序的模塊化通過以下哪個選項來實現(xiàn)A、變量B、程序行C、函數(shù)D、語句標(biāo)準(zhǔn)答案:C知識點解析:用函數(shù)作為程序模塊以實現(xiàn)C程序的模塊化,程序有多個函數(shù)構(gòu)成,每個函數(shù)可以實現(xiàn)一個具體的功能,實現(xiàn)程序的模塊化設(shè)計。12、有以下程序#include<stdio.h>main(){inti,j,m=55;for(i=1;i<=3;i++)for(j=3;j<=i.j++)m=m%j;printf(’’%d\n’’,m);}程序的運行結(jié)果是A、0B、1C、2D、3標(biāo)準(zhǔn)答案:B知識點解析:存程序中,內(nèi)層循環(huán)判斷條件為”i<=i”而i的初值為3,故當(dāng)外層循環(huán)變量i的值為1和2時,內(nèi)層循環(huán)體都不會被執(zhí)行。只有當(dāng)i和i都等于3時循環(huán)才會執(zhí)行一次。因為m的值為55對3求余結(jié)果為1。13、關(guān)于C語言的符號常量,以下敘述中正確的是A、符號常量的符號名是標(biāo)識符,但必須大寫B(tài)、符號常量在整個程序中其值都不能再被重新定義C、符號常量是指在程序中通過宏定義用一個符號名來代表一個常量D、符號常量的符號名必須是常量標(biāo)準(zhǔn)答案:C知識點解析:在C語言程序中,用一個符號名來代表一個常量,稱為符號常量。注意:這個符號名必須在程序中進(jìn)行特別的“指定”,并符合標(biāo)識符的命名規(guī)則。一般在程序中都是利用宏定義來定義符號常量的,在代碼中可以利用under來結(jié)束符號常量的定義,然后進(jìn)行重新定義,符號常量的大小寫并沒有特別的規(guī)定,一般時候為了和變量區(qū)分利用大寫。14、C源程序中不能表示的數(shù)制是A、八進(jìn)制B、十進(jìn)制C、二進(jìn)制D、十六進(jìn)制標(biāo)準(zhǔn)答案:C知識點解析:在C語言的源程序中,數(shù)值可以用十進(jìn)制、八進(jìn)制和十六進(jìn)制來表示。不用二進(jìn)制來表示。15、以下是if語句的基本形式:if(表達(dá)式)語句其中“表達(dá)式”A、必須是邏輯表達(dá)式B、必須是關(guān)系表達(dá)式C、必須是邏輯表達(dá)或關(guān)系表達(dá)D、可以是任意合法的表達(dá)式標(biāo)準(zhǔn)答案:D知識點解析:本題考查if語句,C語言中if語句中的表達(dá)式可以是任意合法的表達(dá)式。16、C語言程序中,運算對象必須是整型數(shù)的運算符是A、/B、%C、&&D、*標(biāo)準(zhǔn)答案:B知識點解析:%要求參與運算的運算量為整型,其他三個運算符對于參與運算的運算量沒有直接要求。17、第二范式是在第一范式的基礎(chǔ)上消除了A、多值依賴B、非主屬性對鍵的傳遞函數(shù)依賴C、主鍵值對鍵的部分函數(shù)依賴D、非主屬性對鍵的部分函數(shù)依賴標(biāo)準(zhǔn)答案:D知識點解析:第二范式實際上對關(guān)系增加了一約束,就是關(guān)系中的每一個屬性必須完全依賴于主碼,即在第一范式的基礎(chǔ)上,消除非主屬性對主碼的部分函數(shù)依賴可達(dá)到第二范式。所以選項D正確。18、關(guān)于do循環(huán)體while(條件表達(dá)式);以下敘述中正確的是A、循環(huán)體的執(zhí)行次數(shù)總是比條件表達(dá)式的執(zhí)行次數(shù)多一次B、條件表達(dá)式的執(zhí)行次數(shù)總是比循環(huán)體的執(zhí)行次數(shù)多一次C、條件表達(dá)式的執(zhí)行次數(shù)與循環(huán)體的執(zhí)行次數(shù)無關(guān)D、條件表達(dá)式的執(zhí)行次數(shù)與循環(huán)體的執(zhí)行次數(shù)一樣標(biāo)準(zhǔn)答案:D知識點解析:do…while語句先執(zhí)行語句,后判斷表達(dá)式的值。故do…Vwhile語句又稱“直到型”循環(huán)結(jié)構(gòu)。由于是先執(zhí)行后判斷,因此do…while語句的循環(huán)語句至少被執(zhí)行一次,循環(huán)條件至少判斷一次。19、以下敘述中正確的是()。A、C語言本身沒有提供對字符串進(jìn)行整體操作的運算符B、函數(shù)調(diào)用strlen(s);會返回字符串s實際占用內(nèi)存的大?。ㄒ宰止?jié)為單位)C、兩個字符串可以用關(guān)系運算符進(jìn)行大小比較D、當(dāng)拼接兩個字符串時,結(jié)果字符串占用的內(nèi)存空間是兩個原串占用空間的和標(biāo)準(zhǔn)答案:A知識點解析:C語言中沒有為字符串提供整體操作的運算符,但是提供了相應(yīng)的字符串處理函數(shù)對字符串進(jìn)行處理,選項A)正確,選項C)錯誤;strlen()函數(shù)的功能是計算字符串的實際長度(不包含結(jié)束標(biāo)志),而字符串實際占用內(nèi)存會包含結(jié)束標(biāo)識符,選項B)錯誤;每個字符串末尾都會有一個結(jié)束標(biāo)識符,但是拼接后只保留了一個,計算字符串占用內(nèi)存時結(jié)束標(biāo)識符也會占用1個字節(jié),所以要小于兩個原串占用空間的和,選項D)錯誤;答案選A)。20、以下敘述中正確的是A、使用typedef說明新類型名時,其格式是:typedef新類型名原類型名;B、使用typedef說明新類型名時,后面不能加分號C、在程序中,允許用typedef來說明一種新的類型名D、在使用typedef改變原類型的名稱后,只能使用新的類型名標(biāo)準(zhǔn)答案:C知識點解析:C語言允許用typedef說明一種新類型名。定義形式如下:typedef類型名標(biāo)識符;其中“類型名”必須是在此語句之前已定義的類型標(biāo)識符;“標(biāo)識符”是一個用戶定義標(biāo)識符,用作新的類型名;typedef語句的作用僅僅是用“標(biāo)識符”來代表已存在的“類型名”,并未產(chǎn)生新的數(shù)據(jù)類型,原有類型名依然有效。21、C語言主要是借助以下哪種手段來實現(xiàn)程序模塊化A、定義函數(shù)B、定義常量和外部變量C、使用豐富的數(shù)據(jù)類型D、使用三種基本結(jié)構(gòu)語句標(biāo)準(zhǔn)答案:A知識點解析:C語言程序的模塊化通過函數(shù)來體現(xiàn),所以選擇A。22、下列關(guān)于棧的敘述正確的是A、棧按"先進(jìn)先出"組織數(shù)據(jù)B、棧按"先進(jìn)后出"組織數(shù)據(jù)C、只能在棧底插入數(shù)據(jù)D、不能刪除數(shù)據(jù)標(biāo)準(zhǔn)答案:B知識點解析:棧是按"先進(jìn)后出"的原則組織數(shù)據(jù)的,數(shù)據(jù)的插入和刪除都在棧頂進(jìn)行操作。23、在關(guān)系模型中,每一個二維表稱為一個A、關(guān)系B、屬性C、元組D、主碼(鍵)標(biāo)準(zhǔn)答案:A知識點解析:關(guān)系模型采用二維表來表示,即每個二維表稱為一個關(guān)系。24、以下定義數(shù)組的語句中錯誤的是()。A、intnum[][3]={{1,2},3,4,5,6};B、intnum[2][4]={{1,2},{3,4},{5,6}};C、intnum[]={1,2,3,4,5,6};D、intnum[][4]={1,2,3,4,5,6};標(biāo)準(zhǔn)答案:B知識點解析:B選項中定義的數(shù)組為2行4列,而賦值時賦成了3行所以出錯。25、有以下程序#include#includemain(){charp[20]={’a’,’b’,’c’,’d’},q[]="abc",r[]="abcde";strcat(p,r);strcpy(p+strlen(q),q);printf("%d\n",strlen(p));}程序運行后的輸出結(jié)果是A、11B、9C、6D、7標(biāo)準(zhǔn)答案:C知識點解析:strcpy:字符串拷貝函數(shù);strlen:求字符串長度函數(shù)(注意:不包含字符串結(jié)束標(biāo)記字符’\0’);strcat:字符串連接函數(shù)。執(zhí)行完語句strcat(p,r);后,p數(shù)組中存儲的元素為a,b,c,d,a,b,c,d,e;執(zhí)行語句strcpy(p+strlen(q),q);得到的結(jié)果是將q所指向的字符串拷貝至p+strlen(q)開始的存儲位置,因為strlen的值為3,即p+3開始存儲q中的元素。所以執(zhí)行完strcpy(p+strlen(q),q)語句后,字符數(shù)組p[20]的存儲元素為a,b,c,a,b,c;所以strlen(p)的結(jié)果為6。因此C選項正確。國家二級C語言機(jī)試(選擇題)模擬試卷第3套一、選擇題(本題共40題,每題1.0分,共40分。)1、下列描述中正確的是A、數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)必定是一一對應(yīng)的B、由于計算機(jī)存儲空間是向量式的存儲結(jié)構(gòu),因此,數(shù)據(jù)的存儲結(jié)構(gòu)一定是線性結(jié)構(gòu)C、程序設(shè)計語言中的數(shù)據(jù)一般是順序存儲結(jié)構(gòu),因此,利用數(shù)組只能處理線性結(jié)構(gòu)D、以上三種說法都不對標(biāo)準(zhǔn)答案:D知識點解析:數(shù)據(jù)的邏輯結(jié)構(gòu)是指反映數(shù)據(jù)元素之間邏輯關(guān)系的數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機(jī)存儲空間中的存放形式稱為數(shù)據(jù)的存儲結(jié)構(gòu)(也稱數(shù)據(jù)的物理結(jié)構(gòu))。一般來說,一種數(shù)據(jù)的邏輯結(jié)構(gòu)根據(jù)需要可以表示成多種存儲結(jié)構(gòu),常用的存儲結(jié)構(gòu)有順序、鏈接、索引等。2、有以下程序:#includeintb=2;intfun(int*k){b=*k+b;return(b);}voidmain(){inta[10]={1,2,3,4,5,6,7,8},i;for(i=2;i<4;i++){b=fun(&a[i])+b;prinff(“%d”,b);}prinff(“\n”);}程序運行后的輸出結(jié)果是()。A、1012B、810C、1028D、1016標(biāo)準(zhǔn)答案:C知識點解析:因為b是全局變量,所以它的值在整個程序結(jié)束才會消失。for循環(huán)中,第一次循環(huán),i=2,a[2]=3,所以fun(&a[i]=3+2=5,b=5,所以b:fun(&a[i])+b=5+5=10;第二次循環(huán),b=10,然后fun(&a[i])代入a[3]=4,這時fun(&a[i]=10+4=14,所以b=fun(&a[i])+b=14+14=28。3、下列敘述中正確的是A、循環(huán)隊列是隊列的一種鏈?zhǔn)酱鎯Y(jié)構(gòu)B、循環(huán)隊列是隊列的一種順序存儲結(jié)構(gòu)C、循環(huán)隊列是非線性結(jié)構(gòu)D、循環(huán)隊列是一種邏輯結(jié)構(gòu)標(biāo)準(zhǔn)答案:B知識點解析:本題主要考查循環(huán)隊列的概念,循環(huán)隊列作為隊列的一種也應(yīng)該是線性結(jié)構(gòu)。隊列是一種邏輯結(jié)構(gòu),而循環(huán)隊列是一種順序存儲結(jié)構(gòu)的隊列。4、設(shè)變量均已正確定義并賦值,以下與其他三組輸出結(jié)果不同的一組語句是A、x++;printf("%d\n",x);B、++x;printf("%d\n",x);C、n=x++;printf("%d\n",n);D、n=++x;printf("%d\n",n);標(biāo)準(zhǔn)答案:C知識點解析:本題考查自增運算符。++在前表示先自增然后使用,++在后面表示先使用然后自增。選項A中首先執(zhí)行x++,執(zhí)行完后x自增1,然后printf輸出的是x自增后的值;選項B首先執(zhí)行++x,x的值增加1,接著輸出x的值;選項C中++在x的后面,因此n的值是x自增前的值,printf輸出的是x自增前的值;選項D中++在x的前面,因此x首先自增,然后再賦值給n,n的值是x自增后的值,輸出的也是x自增后的值。5、下列敘述中正確的是A、所謂有序表是指在順序存儲空間內(nèi)連續(xù)存放的元素序列B、有序表只能順序存儲在連續(xù)的存儲空間內(nèi)C、有序表可以用鏈接存儲方式存儲在不連續(xù)的存儲空間內(nèi)D、任何存儲方式的有序表均能采用二分法進(jìn)行查找標(biāo)準(zhǔn)答案:C知識點解析:有序表可以用順序存儲空間內(nèi)連續(xù)存放的元素序列來實現(xiàn),也可以用鏈接存儲方式存儲在不連續(xù)的存儲空間內(nèi),已達(dá)到邏輯上連續(xù),存儲空間上不一定連續(xù)的效果。二分法進(jìn)行查找只適用于順序存儲的有序表。故選項C正確。6、執(zhí)行以下程序段后,w的值為()。intw=’A’,x=14,y=15;w=((x‖y)&&(w<’a’));A、-1B、NULLC、1D、0標(biāo)準(zhǔn)答案:C知識點解析:字符變量w的初值為字符“’A’”,其ASCH碼值為65,字符“’at’”的ASCII碼值為97,所以關(guān)系表達(dá)式“w<’a’”的值為1:變量x=14,變量y=15,“x‖y”為或,x、y均為真,所以x‖y的結(jié)果1。因而邏輯表達(dá)式“(x‖y)&&(w<’a’)”的值為1。7、有以下程序main(){intsum,pad,pAd;sum=pad=5;pAd=++sum,pAd++,++pad;printf(”%dkn”,pad);)程序的輸出結(jié)果是A、5B、7C、8D、6標(biāo)準(zhǔn)答案:D知識點解析:有逗號表達(dá)式構(gòu)成的語句:pAd=++sum,pAd++,++pad;主要從左到由連續(xù)運算,因此pad的值為6。注意pad和pAd的是不同的變量。8、下列描述中正確的是A、程序就是軟件B、軟件開發(fā)不受計算機(jī)系統(tǒng)的限制C、軟件既是邏輯實體,又是物理實體D、軟件是程序、數(shù)據(jù)與相關(guān)文檔的集合標(biāo)準(zhǔn)答案:D知識點解析:計算機(jī)軟件與硬件是計算機(jī)系統(tǒng)中相互依存的兩部分。計算機(jī)軟件是包括程序、數(shù)據(jù)及相關(guān)文檔的完整集合。軟件由兩部分組成:一部分是機(jī)器可執(zhí)行的程序和數(shù)據(jù);二是機(jī)器不可執(zhí)行的,與軟件開發(fā)、運行、維護(hù)、使用等有關(guān)的文檔。軟件具有以下六個特點:①軟件是一種邏輯實體,而不是物理實體,具有抽象性。②軟件的生產(chǎn)與硬件不同,它沒有明顯的制作過程。③軟件在運行、使用期間不存在磨損、老化問題。④軟件的開發(fā)、運行對計算機(jī)系統(tǒng)具有依賴性,受計算機(jī)系統(tǒng)的限制,這導(dǎo)致了軟件移值的問題。⑤軟件復(fù)雜性高,成本昂貴。⑥軟件的開發(fā)涉及諸多社會因素。9、表達(dá)式a+=a一=a=9的值是()。A、18B、一9C、0D、9標(biāo)準(zhǔn)答案:C知識點解析:首先計算a=9,然后計算a一=9,即a=a一9,結(jié)果為0,然后計算a+=0,即a=a+0,所以最終結(jié)果為0。10、若變量已正確定義,則語句S=32;s^=32;printf(“%d”,s);的輸出結(jié)果是()。A、一1B、0C、1D、32標(biāo)準(zhǔn)答案:B知識點解析:本題考查邏輯異或運算。異或運算只有在兩個比較的位不同時其結(jié)果為1,否則結(jié)果為0,題目中兩個值相同,所以結(jié)果為0。11、表達(dá)式3.6-5/2+1.2+5%2的值是()。A、4.3B、4.8C、3.3D、3.8標(biāo)準(zhǔn)答案:D知識點解析:計算5/2,結(jié)果取整數(shù)值2。計算3.6-2,結(jié)果與高精度數(shù)據(jù)保持一致,即為1.6。計算1.6+1.2,結(jié)果為2.8。計算5%2,結(jié)果為1。計算2.8+1結(jié)果為3.8。所以選擇D選項。12、有以下程序:#include<stdio.h>voidfun(char*a,char*b){while(*a==′*′)a++;while(*b=*a){b++;a++;}}main(){char*s=″*****a*b****″t[80];fun(s,t);puts(t);}程序的運行結(jié)果是()。A、a*b****B、a*bC、*****a*bD、ab標(biāo)準(zhǔn)答案:A知識點解析:注意兩個while,第一個是判斷相等“==”,第二個是賦值“=”,第一個循環(huán)終止的條件是指針指向的字符不為“*”,就會在遇到字符“a”時停止,第二個循環(huán)把a(bǔ)指針?biāo)傅膬?nèi)容依次賦給了b指針指向的內(nèi)容,直到字符串結(jié)束時終止。所以結(jié)果就是字符串的后半段,選項A正確。13、有以下程序#include<stdio.h>main(){intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=0;for(i=0;i<3;i++)for(j=2;j>=i;j--)t+=b[i][j];printf(’’%d\n’’,t);}程序運行后的輸出結(jié)果是()。A、4B、3C、8D、9標(biāo)準(zhǔn)答案:C知識點解析:這道題主要考查的是二維數(shù)組的有關(guān)知識。在兩層for循環(huán)語句中,累加上三角元素,所以程序執(zhí)行的過程為“t=-b[0][0]+b[0][1]+b[0][2]+b[1][1]+b[1][2]+b[2][2]=8”。14、執(zhí)行以下語句段后,xy的值是()。int*pt,xy;xy=200;pt=&xy;xy=*pt+30;A、200B、170C、260D、230標(biāo)準(zhǔn)答案:D知識點解析:本題考查指針的運用。通過pt=&xy,將pt指向xy所占的內(nèi)存地址,而*pt是指針pt所指向內(nèi)存單元中的內(nèi)容,即200,所以最后xy的值為230。15、以下選項中,不合法的C語言用戶標(biāo)識符是()。A、a--bB、AaBcC、a_bD、_1標(biāo)準(zhǔn)答案:A知識點解析:考查用戶標(biāo)識符的命名規(guī)則。合法的標(biāo)識符由字母、數(shù)字、下劃線組成并且第一個字符不能為數(shù)字,由此選項A)不合法。答案選A)。16、若各選項中所用變量已正確定義,函數(shù)fun中通過return語句返回一個函數(shù)值,以下選項中錯誤的程序是A、main(){……x=fun(2,10);……}floatfun(inta,intb){……}B、floatfun(inta,intb){……}main(){……x=fun(i,j);……}C、floatfun(int,int);main(){……x=fun(2,10);……}floatfun(inta,intb){……}D、main(){floatfun(inti,intj);……x=fun(i,j);……}floatfun(inta,intb){……}標(biāo)準(zhǔn)答案:A知識點解析:C語言規(guī)定,函數(shù)必須先定義,后調(diào)用(函數(shù)的返回值類型為int或char時除外)。在選項A中,調(diào)用的子函數(shù)在調(diào)用后面定義,所以不正確。在選項B、C中,被調(diào)用函數(shù)在主函數(shù)之前定義,再在主函數(shù)中調(diào)用,所以是正確的;在選項D中,在主函數(shù)中先對子函數(shù)floatfun(inti,intj)進(jìn)行了聲明,然后進(jìn)行調(diào)用。17、若有定義語句doublex,y,*px,*py;,執(zhí)行了px=&x;py=&y;之后,正確的輸入語句是()。A、searlf("%If%le",px,py);B、seanf("%f%f"&x,&y);C、scard"("%f%f",x,y);D、seanf("%If%If",x,y);標(biāo)準(zhǔn)答案:A知識點解析:因為x和y都是double型數(shù)據(jù),所以輸入時的格式字符應(yīng)為%lf,所以B、C選項錯誤。D選項中的scanf("%lf%lf",x,y);應(yīng)為scanf("%lf%lf",&x,&y);。18、將數(shù)據(jù)庫的結(jié)構(gòu)劃分成多個層次,是為了提高數(shù)據(jù)庫的物理獨立性和A、規(guī)范程度B、操作獨立性C、邏輯獨立性D、降低數(shù)據(jù)冗余標(biāo)準(zhǔn)答案:C知識點解析:物理獨立性是指用戶的應(yīng)用程序與存儲在磁盤上的數(shù)據(jù)庫中數(shù)據(jù)是相互獨立的。即,數(shù)據(jù)在磁盤上怎樣存儲由DBMS管理,用戶程序不需要了解,應(yīng)用程序要處理的只是數(shù)據(jù)的邏輯結(jié)構(gòu),這樣當(dāng)數(shù)據(jù)的物理存儲改變了,應(yīng)用程序不用改變:邏輯獨立性存在于外模式和內(nèi)模式之間。數(shù)據(jù)的邏輯獨立性是指數(shù)據(jù)與程序的邏輯獨立性。用戶的應(yīng)用程序和數(shù)據(jù)庫中的邏輯結(jié)構(gòu)是相互獨立的,當(dāng)數(shù)據(jù)的邏輯結(jié)構(gòu)發(fā)生改變時應(yīng)用不需要改變,邏輯獨立性存在于外模式和內(nèi)模式之間。數(shù)據(jù)的邏輯獨立性是指數(shù)據(jù)與程序的邏輯獨立性。19、若有以下程序#includemain(){inti,j=0;chara[]="Howareyou!",b[10];for(i=0;a[i];i++)if(a[i]=’’)b[j++]=a[i+1];bD]=’\0’;printf("%sha",b);}則程序的輸出結(jié)果是A、HowareyouB、Hay!C、Howareyou!D、ay標(biāo)準(zhǔn)答案:D知識點解析:主函數(shù)中利用for循環(huán)訪問字符串a(chǎn)的每一.個字符,判斷當(dāng)前字符是否為空格,如果是空格則保存該空格后面的一個字符存放到字符數(shù)組b中。在字符串"Howareyou!"中,第一個空格后面字符為’a’,第二個空格后面字符為’V’。20、有以下程序yoidfun2(chara,charb){printf(’’%c%c’’,a,b);)chara=’A’,b=’B’;yoidfunl(){a=’C’;b=’D’;)main(){funl();printf(’’%c%c’’a,b);fun2(’E’,’F’);}程序的運行結(jié)果是A、ABEFB、CDEFC、abcDD、CDAB3.8變量的作用域和生存期標(biāo)準(zhǔn)答案:B知識點解析:存funl()函數(shù)之前定義了全局字符變量a和b。這兩個變量的作用域是從其定義處到整個程序結(jié)束。在fun1()函數(shù)之內(nèi)定義了兩個變量a和b,并且分別初始化為字符’C’和’D’。在C語言中,若全局變量和某個函數(shù)中的局部變量同名,則在該函數(shù)中此全局變量被屏蔽,在該函數(shù)內(nèi)訪問的是局部變量,與同名的全局變量不發(fā)生任何關(guān)系。所以在主函數(shù)中,執(zhí)行fun1()后,變量a、b的值分別等于’C’、’D’,打印輸出CD,接著執(zhí)行fun2(’E’F’)語句,變量a、b的值變?yōu)椤疎’、’F’并輸出。21、以下正確的字符串常量是A、abc’B、OlympicGamesC、""D、"\\\"標(biāo)準(zhǔn)答案:C知識點解析:字符串常量是由雙引號括起來的一串字符。在C語言中。以一個反斜線開頭后跟一個特定的字符,用來代表一個特定的ASCII字符。利用兩個’\\’表示一個反斜杠,因此選項D)的表示無法確認(rèn)表示幾個反斜杠。22、以下敘述中正確的是A、語句inta[4][3]={1,2,4,5};是錯誤的初始化形式B、語句inta[][3]={1,2,4,5);是錯誤的初始化形式C、在邏輯上,可以把二維數(shù)組看成是一個具有行和列的表格或矩陣D、語句inta[4][3]={{1,2),{4,5));是錯誤的初始化形式標(biāo)準(zhǔn)答案:C知識點解析:在理解二維數(shù)組的時候,可以把一個二維數(shù)組看成是一個一維數(shù)組,每個數(shù)組元素又是包含有若干個元素的一維數(shù)組,也就是具有行列的結(jié)構(gòu),二維數(shù)組初始化也是在類型說明時給各下標(biāo)變量賦以初值。二維數(shù)組可按行分段賦值,也可按行連續(xù)賦值。23、以下選項中不屬于字符常量的是A、’C’B、CC、’\xCC’D、’\072’標(biāo)準(zhǔn)答案:B知識點解析:本題考查字符型常量。選項A正確,是大小字母C;選項B錯誤,使用雙引號括起來的是字符串,不是字符:選項C正確,使用了轉(zhuǎn)義字符“\”,xCC表示16進(jìn)制的CC;選項D正確,使用了轉(zhuǎn)義字符“\”,072表示8進(jìn)制的72。24、在關(guān)系A(chǔ)(S,SN,D)和B(D,CN,NM)中,A的主關(guān)鍵字是S,B的主關(guān)鍵字是D,則D是A的A、外鍵(碼)B、候選鍵(碼)C、主鍵(碼)D、候選鍵或主鍵標(biāo)準(zhǔn)答案:A知識點解析:二維表中的一行稱為元組。候選鍵(碼)是二維表中能唯一標(biāo)識元組的最小屬性集。若一個二維表有多個候選碼,則選定其中一個作為主鍵(碼)供用戶使用。表M中的某屬性集是表N的候選鍵或者主鍵,則稱該屬性集為表M的外鍵(碼)。A中屬性集D是B的主關(guān)鍵字,故D是A的外鍵(碼),所以選項A正確。25、設(shè)有定義:chars[81];inti=0;以下不能將一行(不超過80個字符)帶有空格的字符串正確讀入的語句或語句組是A、while((s[i++]=getchar0)!=’\n’);s[i]=’\0’;B、scanf("%s",s);C、gets(s);D、,do{scanf("%c",&s[i]);}while(s[i++]!=’\n’);s[i]=’0\’;標(biāo)準(zhǔn)答案:B知識點解析:本題考查標(biāo)準(zhǔn)輸入輸出函數(shù)和循環(huán)語句。gets(s)函數(shù)的作用是將輸入的字符讀入字符串s,直到遇到回車。而scanf()函數(shù)接收字符串時的結(jié)束標(biāo)志為回車或者空格。26、有以下程序段charname[20];intnurn;scanf("name=%snurn=%d",name,&nurn);當(dāng)執(zhí)行上述程序段,并從鍵盤輸入:name=Lilinurn=1001后,name的值為A、name=LiliB、Lilinurn=C、name=Lilinurn=1001D、Lili標(biāo)準(zhǔn)答案:D知識點解析:在題目中以字符串的形式給字符數(shù)組賦值,所以字符數(shù)組n鋤e的值為Lili。27、以下敘述中正確的是A、if語句只能嵌套一層B、不能在else子句中再嵌套if語句C、if子句和else子句中可以是任意的合法的C語句D、改變if-else語句的縮進(jìn)格式,會改變程序的執(zhí)行流程標(biāo)準(zhǔn)答案:C知識點解析:含else子句的if語句的格式為ifr表達(dá)式)語句1else語句2其中if和else是C語言的關(guān)鍵字。“語句1”稱為if子句,“語句2”稱為else子句,這些子句只允許為一條語句,若需要多條語句時,則應(yīng)該使用復(fù)合語句,對于if~fielse語句的嵌套原則是比較自由的。28、關(guān)于"while(條件表達(dá)式)循環(huán)體",以下敘述正確的是()。A、條件表達(dá)式的執(zhí)行次數(shù)總是比循環(huán)體的執(zhí)行次數(shù)多一次B、循環(huán)體的執(zhí)行次數(shù)總是比條件表達(dá)式的執(zhí)行次數(shù)多一次C、條件表達(dá)式的執(zhí)行次數(shù)與循環(huán)體的執(zhí)行次數(shù)一樣D、條件表達(dá)式的執(zhí)行次數(shù)與循環(huán)體的執(zhí)行次數(shù)無關(guān)標(biāo)準(zhǔn)答案:A知識點解析:考查while循環(huán)的執(zhí)行過程。先計算括號內(nèi)表達(dá)式的值,若不為0,則執(zhí)行循環(huán)體語句,若為0則跳出while循環(huán),所以條件表達(dá)式的執(zhí)行次數(shù)總是比循環(huán)體的執(zhí)行次數(shù)多一次,答案選A。29、若變量已正確定義,則以下語句的輸出結(jié)果是s=32;s^=32;printf("%d",s);A、-1B、1C、32D、0標(biāo)準(zhǔn)答案:D知識點解析:“核位異或”運算的規(guī)則是:參與運算的兩個運算數(shù)中相對應(yīng)的二制位上,若數(shù)相同,則該位的結(jié)果為0;若數(shù)不同,則該位的結(jié)果為1。因為語句s=32;s^=32:相當(dāng)于s與自身做按位異或運算,所以其結(jié)果等于0。30、若有定義語句:doublex,y,*px,*py;執(zhí)行px=&x;py=&y;正確的輸入語句是A、scanf("%f%f"&x,&y);B、scanf("%f%f",x,y);C、scanf("%lf%le",px,py);D、scanf("%lf%lf",x,y);標(biāo)準(zhǔn)答案:C知識點解析:本題考查scanf語句。scanf()函數(shù)的一般格式為:scanf("格式字符串",輸入項首地址表),對于double類型數(shù)據(jù),輸入時候要加上1修飾,否則會產(chǎn)生錯誤的輸入信息,同時輸入項必須是地址,可以使保存變量地址的指針變量。31、流程圖是描述算法的很好的工具,一般的流程圖中由幾種基本圖形組成。其中輸入輸出框的圖形是()。A、平行四邊形B、長方形C、橢圓型D、菱形標(biāo)準(zhǔn)答案:A知識點解析:繪制流程圖中,習(xí)慣用圓角矩形表示"開始"與"結(jié)束";用矩形表示行動方案、普通工作環(huán)節(jié);用菱形表示問題判斷或判定(審核/審批/評審)環(huán)節(jié);用平行四邊形表示輸入輸出;箭頭代表工作流方向。答案選A。32、有以下程序#include<stdio.h>main(){inti,j;for(i=3;>=1:i--){for(j=1;j<=2;j++)printf("%d",i+j);printf("\n");}}程序的運行結(jié)果是A、
B、
C、
D、
標(biāo)準(zhǔn)答案:C知識點解析:本題中的外層行變量i從3逐次遞減到1,共輸出3行。內(nèi)層列變量i每次從1遞增到2,每行輸出2個數(shù)字。所以當(dāng)i=3時,第一行輸出i+1=4i+2=5,即45;當(dāng)i=2時,第一行輸出i+1=3和i+2=4,即34;當(dāng)i=1時,第一行輸出i+1=2和i+2=3,即23。33、有以下程序#includeintfun(chars[]){char*P=s;while(*P=0)p++;return(p-s);}main(){printf("%d\n",fun("0ABCDEF"));}程序運行后的輸出結(jié)果是A、6B、7C、1D、0標(biāo)準(zhǔn)答案:B知識點解析:函數(shù)fun的主要功能是計算字符串中實際字符的個數(shù),因此主函數(shù)中調(diào)用fun得到結(jié)果為7。34、有以下程序(strcat函數(shù)用以連接兩個字符串)#include<stdio.h>#include<string.h>main(){chara[201="ABCD\OEFG\0",b[]="IJK";strcat(a,b);printf("%s\n",a);}程序運行后的輸出結(jié)果是A、ABCDE\0FG\0IJKB、ABCDIJKC、IJKD、EFGIJK標(biāo)準(zhǔn)答案:B知識點解析:在字符串中字符’\0’示字符串的結(jié)束標(biāo)志,所以字符串a(chǎn)和b.相連接的結(jié)果為ABCDIJK。35、有以下程序#includemain(){charc1=’A’,c2=’Y’;printf("%d,%d\n",c1,c2);}程序的輸出結(jié)果是A、輸出格式不合法,輸出出錯信息B、65,89C、65,90D、A,Y標(biāo)準(zhǔn)答案:B知識點解析:本題重點考察字符變量的相關(guān)知識。分別給字符型變量a和b分別賦值為’A’和’Y’,即A和Y的ASSCII碼,因此輸出結(jié)果為65,89,因此B選項正確。36、若有定義:intw[3][5];則以下不能正確表示該數(shù)組元素的表達(dá)式是A、*(*w+3)B、*(*(w+1))C、*(w+1)[4]D、*(&w[0][0]+1)標(biāo)準(zhǔn)答案:C知識點解析:在C語言中,二維數(shù)組的名字表示的是二維數(shù)組的地址,對于二維數(shù)組intw[3][5],可以認(rèn)為w為一個一維數(shù)組,含有3個元素,而每個元素為一個含有5個元素的一維數(shù)組。而(w+1)為一個含有兩個元素的一維數(shù)組,首先和(w+1)[4]結(jié)合非法,4超出了二維數(shù)組的邊界,取值也就是非法的了。37、以下選項中,沒有編譯錯誤的是A、charstr3[]={’d’,’e’,’b’,’u’,’g’,’\0’};B、charstr1[5]="pass",str2[6];str2=str1;C、charname[10];name="china";D、charstr4[];str4="helloworld";標(biāo)準(zhǔn)答案:A知識點解析:選項A是定義了字符數(shù)組str3[],并對其賦初值。選項B中語句str2=str1非法,字符數(shù)組不能直接賦值。選項C,D和選項B一致。38、以下選項中函數(shù)形參不是指針的是A、fun(int*a){…}B、fun(inta[10]){…}C、fun(int&p){…}D、fun(intp[]){…}標(biāo)準(zhǔn)答案:C知識點解析:B選項和D選項是將數(shù)組作為函數(shù)參數(shù);A選項是將指針作為函數(shù)參數(shù);因此C選項正確。39、有以下結(jié)構(gòu)體說明、變量定義和賦值語句structSTD{charname[10];intage;charsex;}s[5],*ps;ps=&s[0];則以下scanf函數(shù)調(diào)用語句有錯誤的是A、scanf("%d",&s[0].age);B、scanf("%c",&(ps->sex));C、scanf("%s",s[0].name);D、scanf("%d",ps->age);標(biāo)準(zhǔn)答案:D知識點解析:程序段定義了結(jié)構(gòu)體變量數(shù)組s[5]和指針變量ps,然后ps指向數(shù)組s[5]中的第一個元素,因而ps->age引用s[0].age。因為在輸入scanf()函數(shù)中,第2個參數(shù)應(yīng)該表示為地址變量,而選項A表示的值,而不是一個地址值。40、若有以下程序#includemain(){inti,j=0;chara[]="Howareyou!",b[10];for(i=0;a[i];i++)if(a[i]==’’)b[j++]=a[i+1];b[j]=’\0’;printf("%s\n",b);}則程序的輸出結(jié)果是A、Howareyou!B、HowareyouC、Hay!D、ay標(biāo)準(zhǔn)答案:D知識點解析:程序首先初始化字符數(shù)組a[]為"Howareyou!"。語句if(a[i]==’’)b[j++]=a[i+1];條件是判斷字符數(shù)組a[]中是否是空格字符,如果是空格的話,將空格后的字符賦給數(shù)組b。并將b輸出。因此D選項正確。國家二級C語言機(jī)試(選擇題)模擬試卷第4套一、選擇題(本題共25題,每題1.0分,共25分。)1、下列敘述中正確的是()。A、算法的復(fù)雜度包括時間復(fù)雜度與空間復(fù)雜度B、算法的復(fù)雜度是指算法控制結(jié)構(gòu)的復(fù)雜程度C、算法的復(fù)雜度是指算法程序中指令的數(shù)量D、算法的復(fù)雜度是指算法所處理的數(shù)據(jù)量標(biāo)準(zhǔn)答案:A知識點解析:算法復(fù)雜度是指算法在編寫成可執(zhí)行程序后,運行時所需要的資源,資源包括時間資源和內(nèi)存資源。算法的復(fù)雜度包括時間復(fù)雜度與空間復(fù)雜度。算法的時間復(fù)雜度是指執(zhí)行算法所需要的計算工作量;算法的空間復(fù)雜度是指算法在執(zhí)行過程中所需要的內(nèi)存空間。2、下列敘述中正確的是()。A、非完全二叉樹可以采用順序存儲結(jié)構(gòu)B、有兩個指針域的鏈表就是二叉鏈表C、有的二叉樹也能用順序存儲結(jié)構(gòu)表示D、順序存儲結(jié)構(gòu)一定是線性結(jié)構(gòu)標(biāo)準(zhǔn)答案:C知識點解析:在計算機(jī)中,二叉樹為非線性結(jié)構(gòu),通常采用鏈?zhǔn)酱鎯Y(jié)構(gòu),但對于滿二叉樹和完全二叉樹來說,可以按層進(jìn)行順序存儲。因此A項錯誤,C項正確。雖然滿二叉樹和完全二叉樹可以采用順序存儲結(jié)構(gòu),但仍是一種非線性結(jié)構(gòu),因此D項錯誤。雙向鏈表也有兩個指針域,因此B項錯誤。3、下列敘述中正確的是A、棧是一種先進(jìn)先出的線性表B、隊列是一種后進(jìn)先出的線性表C、棧與隊列都是非線性結(jié)構(gòu)D、棧與隊列都是線性結(jié)構(gòu)標(biāo)準(zhǔn)答案:D知識點解析:棧是先進(jìn)后出,隊列是先進(jìn)先出。棧和隊列都是一種線性表,屬于線性結(jié)構(gòu)。4、下列定義變量的語句中錯誤的是A、floatUS$;B、doubleint;C、charFor;D、int_int:標(biāo)準(zhǔn)答案:A知識點解析:C語言規(guī)定,變量的標(biāo)識符只能由字母、數(shù)字或下劃線3種字符組成,且首字符必須為字母或F劃線。在C語言中大寫字母和小寫字母被認(rèn)為是兩個不同的字符。選項B定義的變量標(biāo)識符int和選項D定義的變量標(biāo)識符int與C語言的關(guān)鍵字int是不同的,是正確的變量標(biāo)識。選項C定義的變量標(biāo)識符For與C語言中的關(guān)鍵字for是兩個不同的標(biāo)識符,而在選項A包含有特殊字符$,因而其不符合C語言的變量命名規(guī)定。5、下列鏈表中,其邏輯結(jié)構(gòu)屬于非線性結(jié)構(gòu)的是A、二叉鏈表B、循環(huán)鏈表C、雙向鏈表D、帶鏈的棧標(biāo)準(zhǔn)答案:A知識點解析:二叉鏈表作為樹的存儲結(jié)構(gòu)。鏈表中結(jié)點的兩個鏈域分別指向該結(jié)點的第一個孩子結(jié)點和下一個兄弟結(jié)點。6、下面描述中不屬于軟件需求分析階段任務(wù)的是()。A、撰寫軟件需求規(guī)格說明書B、軟件的總體結(jié)構(gòu)設(shè)計C、軟件的需求分析D、軟件的需求評審標(biāo)準(zhǔn)答案:B知識點解析:軟件需求是指用戶對目標(biāo)軟件系統(tǒng)在功能、行為、性能、設(shè)計約束等方面的期望。需求分析階段的工作可以分為4個方面:需求獲取、需求分析、編寫需求規(guī)格說明書和需求評審。軟件的總體結(jié)構(gòu)設(shè)計屬于軟件設(shè)計階段的任務(wù)。7、數(shù)據(jù)庫設(shè)計的根本目標(biāo)是要解決A、數(shù)據(jù)共享問題B、數(shù)據(jù)安全問題C、大量數(shù)據(jù)存儲問題D、簡化數(shù)據(jù)維護(hù)標(biāo)準(zhǔn)答案:A知識點解析:數(shù)據(jù)庫應(yīng)用系統(tǒng)中的一個核心問題就是設(shè)計一個能滿足用戶要求、性能良好的數(shù)據(jù)庫,這就是數(shù)據(jù)庫設(shè)計。數(shù)據(jù)庫設(shè)計是在一定平臺制約下,根據(jù)信息需求與處理需求設(shè)計出性能良好的數(shù)據(jù)模式。數(shù)據(jù)庫設(shè)計的根本目標(biāo)是要解決數(shù)據(jù)共享的問題。8、有以下程序#includevoidmsilq(){intc=0,k;for(k=1;k<3;k++)switch(k){default:c+=k;case2:c++;break;csse4:c+=2;bteak;}printf("%d\n",c);}A、9B、7C、5D、3標(biāo)準(zhǔn)答案:D知識點解析:在這段程序中,整型變量c的初始值賦為0,在第一次執(zhí)行for循環(huán)語句時,因為此時變量k的值等于1,所以在switch語句中首先執(zhí)行default語句,給變量c的值加1,因為在default語句后面沒有break語句,所以就會接著執(zhí)行case2這條語句,再給變量c的值加1,其值變?yōu)?,這時退出switch語句塊,進(jìn)入第二次for循環(huán),此時k的值等于2,就會執(zhí)行switch語句塊中的case2這條語句,再給變量c的值加1,這時變量c的值就是3,此時退出switch語句塊,循環(huán)變量k的值加1,成為3,此時已不再滿足循環(huán)條件,執(zhí)行程序中的最后一條語句,把變量c的值在屏幕上輸出。9、有以下程序:#includevoidfun(inta,intb){intt;t=a:a=b:b=t;}main(){intc[10]={1,2,3,4,5,6,7,8,9,0},i;for(i=0;i<10;i+=2)fun(e[i],c[i+1]);for(i=0;i<10;i++)printf(“%d,”,c[i]);printf(“\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,l,2,3,4,5,6,7,8,9,標(biāo)準(zhǔn)答案:A知識點解析:函數(shù)調(diào)用中發(fā)生的數(shù)據(jù)傳送是單向的,即只能把實參的值傳送給形參,而不能把形參的值反向地傳送給實參。因此在函數(shù)調(diào)用過程中,形參的值發(fā)生改變,而實參的值不會變化,所以數(shù)組c中的元素值并沒有變化,選擇A選項。10、有以下函數(shù)定義:intfun(doublea,doubleb){returna*b;}若以下選項中所用變量都已正確定義并賦值,錯誤的函數(shù)調(diào)用是()。A、if(fun(x,y)){……}B、z=fun(fun(x,y),fun(x,y));C、z=fun(fun(x,y)x,y);D、fun(x,y);標(biāo)準(zhǔn)答案:C知識點解析:本題考查函數(shù)調(diào)用時的參數(shù)傳遞。選項C中第一個參數(shù)的表達(dá)式不正確,因此不能得到正確的結(jié)果。11、下列定義變量的語句中錯誤的是A、int_int;B、doubleint_;C、charFor;D、floatUS$;標(biāo)準(zhǔn)答案:D知識點解析:C語言規(guī)定,變量命名必須符合標(biāo)識符的命名規(guī)則。D選項中包含了非法字符"$",所以錯誤?標(biāo)識符由字母?數(shù)字或下劃線組成,且第一個字符必須是大小寫英文字母或者下劃線,而不能是數(shù)字。大寫字符與小寫字符被認(rèn)為是兩個不同的字符,所以For不是關(guān)鍵字for。12、有以下程序#includemain(){intsum,pad,pAd;sum=pad=5;pAd=++sum,pAd++,++pad;printf("%d\n",pad);}程序的輸出結(jié)果是()。A、6B、5C、7D、8標(biāo)準(zhǔn)答案:A知識點解析:C語言對字母大小寫敏感,pAd與pad不是同一個變量,表達(dá)式"pAd=++sum,pAd++,++pad;"中牽扯到pad的只有最后一個逗號后的表達(dá)式,pad=6,所以輸出的最后結(jié)果為A)。13、有以下程序#include#includemain(){inta=1,b=4,c=2;doublex=10.5,y=4.0,z;z=(a+b)/c+sqrt(y)*1.2/c+x;printf("%f\n",z);}程序運行后的輸出結(jié)果是()。A、13.700000B、14.000000C、15.400000D、14.900000標(biāo)準(zhǔn)答案:A知識點解析:考查運算符與表達(dá)式。表達(dá)式(a+b)/c+sqrt(y)*1.2/c+x;先計算(a+b)/c,a、b、c均為整數(shù),所以計算的結(jié)果也為整數(shù)即2;然后計算sqrt(y)*1.2/c,即2.0*1.2/c,結(jié)果為1.2;最后計算2+1.2+x的值,為13.7,輸出結(jié)果為選項A)。14、以下敘述中正確的是A、可以在程序中由用戶指定任意一個函數(shù)作為主函數(shù),程序?qū)拇碎_始執(zhí)行B、C語言程序?qū)脑闯绦蛑械谝粋€函數(shù)開始執(zhí)行C、main的各種大小寫拼寫形式都可以作為主函數(shù)名,如:MAIN,Main等D、C語言規(guī)定必須用main作為主函數(shù)名,程序?qū)拇碎_始執(zhí)行標(biāo)準(zhǔn)答案:D知識點解析:C語言規(guī)定必須以main作為主函數(shù)名。程序中的main()是主函數(shù)的起始行,也是C程序執(zhí)行的起始行。每一個可執(zhí)行的C程序都必須有一個且只能有一個主函數(shù)。一個C程序中可以包含任意多個不同的函數(shù),但只能有一個主函數(shù)。程序要從main()函數(shù)開始執(zhí)行,最后在main()函數(shù)中結(jié)束。15、下列敘述中正確的是A、兩個連續(xù)的單引號(")是合法的字符常量B、可以對字符串進(jìn)行關(guān)系運算C、兩個連續(xù)的雙引號("")是合法的字符串常量D、空字符串不占用內(nèi)存,其內(nèi)存空間大小是0標(biāo)準(zhǔn)答案:C知識點解析:兩個連續(xù)的雙引號:"",是一個字符串常量,稱為“空串”。16、以下選項中非法的C語言字符常量是A、’9’B、’\09’C、’\x09’D、’\x9d’標(biāo)準(zhǔn)答案:B知識點解析:一個字符常量代表ASCII字符集中的一個字符,在程序中用單引號把一個字符括起來。也可以為轉(zhuǎn)移字符,轉(zhuǎn)義字符又稱反斜線字符,這些字符常量總是以一個反斜線開頭后跟一個特定的字符,用來代表某一個特定的ASCII字符,這些字符常量也必須括在一對單引號內(nèi)。其中反斜線后的八進(jìn)制數(shù)可以不用0開頭,但是不能有8和9字符出現(xiàn)。反斜線后的十六制數(shù)只可由小寫字母x開頭。17、有以下程序段scanf("%d%d%d",&a,&b,&c);if(aA、輸出a的原始值B、輸出a、b、c中的最大值C、輸出a、b、c中的最小值D、輸出a、b、c中值相等的數(shù)值標(biāo)準(zhǔn)答案:A知識點解析:該程序中沒有賦值運算符"=",也就是說沒有變量會被改變,所以a值也不變,答案選A。18、有以下程序#includeinta=1,b=2;voidfun1(inta,intb){printf("%d%d",a,b);}voidfun2(){a=3;b=4;}main(){fun1(5,6);fun2();printf("%d%d\n",a,b);}程序運行后的輸出結(jié)果是A、3456B、1256C、5612D、5634標(biāo)準(zhǔn)答案:D知識點解析:函數(shù)fun1()的作用是輸出局部變量a和b的值,在主函數(shù)中執(zhí)行fun1(5,6)的結(jié)果是輸出5,6;函數(shù)fun2()的作用是給變量a和b分別賦值3,4;執(zhí)行fun2()的作用是輸出3,4。19、以下敘述中錯誤的是A、函數(shù)可以返回地址值B、改變函數(shù)形參的值,不會改變對應(yīng)實參的值C、當(dāng)在程序的開頭包含頭文件stdio.h時,可以給指針變量賦NULLD、可以給指針變量賦一個整數(shù)作為地址值標(biāo)準(zhǔn)答案:D知識點解析:指針變量的值只能是存儲單元地址,而不能是一個整數(shù),選項D)的描述是錯誤,為待選答案。函數(shù)可以返回內(nèi)存空間的地址,同時函數(shù)形參和實參分別占用不同的內(nèi)存單元,改變形參的值不會改變對應(yīng)實參的值,在頭文件stdio.h中,NULL被定義為void型的指針。20、有以下程序#includemain(){intn,*p=NULL;*p=&n;printf("Inputn:");scanf("%d",&p);printf("outputn:");ofintf("%d\n".p);}該程序、試圖通過指針p為變量n讀入數(shù)據(jù)并輸出,但程序有多處錯誤,以下語句正確的是A、intn,*p=NULL;B、*p=&n;C、scanf("%d.t,&p)D、printf("%d\n",p);標(biāo)準(zhǔn)答案:A知識點解析:選項A表示在程序中,聲明定義變量語句“intn,*p=NULL;”定義了整型變量n和指針變量P,并且指針變量P初始化為空。其他的語句都是錯誤的。其中選項B,&n的地址應(yīng)存放到指針變量p中,而選項C中數(shù)據(jù)輸入項錯誤,選項D輸出地址信息。21、有以下程序structS{inta;intb;};main(){structSa,*p=&a;a.a=99;printf("%d\n",__________);}程序要求輸出結(jié)構(gòu)體中成員a的數(shù)據(jù),以下不能填入橫線處的內(nèi)容是A、a.aB、*p.aC、p->aD、(*p).a標(biāo)準(zhǔn)答案:B知識點解析:如果p指向結(jié)構(gòu)體,那么下面三種形式都可以訪問結(jié)構(gòu)體的成員:結(jié)構(gòu)體變量.成員名、(*p).成員名、p->成員名。22、以下選項中不合法的標(biāo)識符是()。A、&aB、FORC、printD、00標(biāo)準(zhǔn)答案:A知識點解析:C語言中標(biāo)識符由字母、下劃線、數(shù)字組成,且開頭必須是字母或下劃線。另外,關(guān)鍵字不能作為標(biāo)識符。因為C語言中區(qū)分大小寫,所以B)選項中的"FOR"可以作為標(biāo)識符來用。A)選項中含有非法字符&,所以選擇A)。23、設(shè)有定義:charp[]={’1’,’2’,’3’},*q=p;,以下不能計算出一個char型數(shù)據(jù)所占字節(jié)數(shù)的表達(dá)式是()。A、sizeof(p)B、sizeof(char)C、sizeof(*q)D、sizeof(p[0])標(biāo)準(zhǔn)答案:A知識點解析:根據(jù)題目中的定義可以知道sizeof(p),計算的是數(shù)組p中所有元素所占用的字節(jié)數(shù),而不是char型數(shù)據(jù)所占字節(jié)數(shù)。24、以下敘述中錯誤的是A、C程序在運行過程中所有計算都以二進(jìn)制方式進(jìn)行B
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 核心企業(yè)盡職調(diào)查操作流程
- 人教版教學(xué)課件細(xì)胞核的結(jié)構(gòu)和功能
- 煙草制品健康風(fēng)險評估-洞察分析
- 維修系統(tǒng)可持續(xù)性發(fā)展-洞察分析
- 消費者醫(yī)療需求預(yù)測模型-洞察分析
- 醫(yī)務(wù)工作人員態(tài)度不好檢討書范文(15篇)
- 系統(tǒng)生物學(xué)統(tǒng)計分析-洞察分析
- 響應(yīng)式多語言菜單設(shè)計-洞察分析
- 新能源設(shè)備可靠性-洞察分析
- 虛擬現(xiàn)實在文物展示中的應(yīng)用-洞察分析
- 安徽省歷年在崗職工平均工資標(biāo)準(zhǔn)
- 民航氣象預(yù)報理論考試題庫大全-上(單選、多選題匯總)
- 資源教室工作總結(jié)6篇
- 公墓施工組織設(shè)計
- 門衛(wèi)登記表(標(biāo)準(zhǔn)樣本)
- 氧化鋁工業(yè)分析化驗手冊
- 水環(huán)境保護(hù)課程設(shè)計報告
- T∕CIESC 0011-2020 工業(yè)用六甲基二硅氧烷
- UG-POST_Builder后處理構(gòu)造器參考模板
- 開放式基金通過交易所認(rèn)購、申購、贖回系統(tǒng)接口指南-券商
- 四軸臥式鉆孔專用機(jī)床液壓系統(tǒng)設(shè)計課程設(shè)計
評論
0/150
提交評論