版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
全國計算機等級考試《二級C語言程序設(shè)計》沖刺試卷二[單選題]1.下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性結(jié)構(gòu)的是()。A.循環(huán)隊列B.(江南博哥)帶鏈隊列C.二叉樹D.帶鏈棧參考答案:C參考解析:線性結(jié)構(gòu)要滿足兩個條件:①有且僅有一個根結(jié)點;②每個結(jié)點最多有一個前驅(qū),也最多有一個后繼。棧和隊列均滿足這兩個條件,屬于線性結(jié)構(gòu);循環(huán)隊列是一個頭結(jié)點和尾結(jié)點互為前驅(qū)結(jié)點和后繼結(jié)點的特殊的隊列,屬于線性結(jié)構(gòu);帶鏈隊列、帶鏈棧都是用鏈表形式來實現(xiàn)的,分別滿足隊列和棧的條件,只是存儲結(jié)構(gòu)不連續(xù),屬于線性結(jié)構(gòu)。二叉樹除了葉子結(jié)點外,每個結(jié)點都可以有兩個后繼結(jié)點,屬于非線性結(jié)構(gòu)。答案選擇C選項。[單選題]2.算法的空間復雜度是指()。A.算法在執(zhí)行過程中所需要的計算機存儲空間B.算法所處理的數(shù)據(jù)量C.算法程序中的語句或指令條數(shù)D.算法在執(zhí)行過程中所需要的臨時工作單元數(shù)參考答案:A參考解析:算法的空間復雜度是指算法在執(zhí)行過程中所需要的計算機存儲空間。包括算法程序所占空間,輸入的初始數(shù)據(jù)所占空間和執(zhí)行過程中所需要的額外空間。答案選擇A選項。[單選題]3.下列數(shù)據(jù)結(jié)構(gòu)中,能夠按照“先進后出”原則存取數(shù)據(jù)的是()。A.循環(huán)隊列B.棧C.隊列D.二叉樹參考答案:B參考解析:棧和隊列都是操作受限的線性表:棧只能在棧頂插入和刪除元素,按照“先進后出”的原則組織數(shù)據(jù);隊列只能在隊頭刪除元素,在隊尾插入元素,按照“先進先出”的原則組織數(shù)據(jù)。B項,棧,按照“先進后出”的原則組織數(shù)據(jù)。A項,循環(huán)隊列是隊列的一種特殊形式,按照“先進先出”的原則組織數(shù)據(jù);C項,隊列,按照“先進后出”的原則組織數(shù)據(jù)。D項,二叉樹屬于非線性結(jié)構(gòu)。答案選擇B選項。[單選題]4.軟件設(shè)計中劃分模塊的一個準則是()。A.低內(nèi)聚低耦合B.高內(nèi)聚低耦合C.低內(nèi)聚高耦合D.高內(nèi)聚高耦合參考答案:B參考解析:耦合性和內(nèi)聚性是模塊獨立性的兩個定性標準。內(nèi)聚性是一個模塊內(nèi)部各個元素間彼此結(jié)合的緊密程度的度量,作為軟件結(jié)構(gòu)設(shè)計的設(shè)計原則,要求每個模塊的內(nèi)部都具有很強的內(nèi)聚性;耦合性是指模塊間相互連接的緊密程度的度量,一個模塊與其他模塊的耦合性越強則該模塊的獨立性越弱。一般優(yōu)秀的軟件設(shè)計應(yīng)盡量做到高內(nèi)聚、低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨立性。答案選擇B選項。[單選題]5.結(jié)構(gòu)化程序的三種基本控制結(jié)構(gòu)是()。A.順序、選擇和重復(循環(huán))B.過程、子程序和分程序C.順序、選擇和調(diào)用D.調(diào)用、返回和轉(zhuǎn)移參考答案:A參考解析:結(jié)構(gòu)化程序設(shè)計中三種基本控制結(jié)構(gòu)為順序、選擇和重復(循環(huán))。答案選擇A選項。[單選題]6.下面描述不屬于軟件特點的是()。A.軟件是一種邏輯實體,具有抽象性B.軟件在使用中不存在磨損、老化問題C.軟件復雜性高D.軟件使用不涉及知識產(chǎn)權(quán)參考答案:D參考解析:軟件具有以下特點:①軟件是一種邏輯實體,具有抽象性;②軟件沒有明顯的制作過程;③軟件在使用期間不存在磨損、老化問題;④軟件對硬件和環(huán)境具有依賴性;⑤軟件復雜性高,成本昂貴;⑥軟件開發(fā)涉及諸多的社會因素,如知識產(chǎn)權(quán)等。答案選擇D選項。[單選題]7.程序測試的目的是()。A.為被測程序設(shè)計正確的測試用例B.發(fā)現(xiàn)并改正程序中的錯誤C.發(fā)現(xiàn)程序中的錯誤D.改正程序中的錯誤參考答案:C參考解析:程序測試是使用人工或自動手段來運行或測定某個系統(tǒng)的過程,其目的在于檢驗它是否滿足規(guī)定的需求或是弄清預期結(jié)果與實際結(jié)果之間的差別,即為發(fā)現(xiàn)錯誤而執(zhí)行程序的過程,而不是改正錯誤,調(diào)試是在測試的基礎(chǔ)上去改正錯誤。答案選擇C選項。[單選題]8.數(shù)據(jù)庫管理系統(tǒng)是()。A.操作系統(tǒng)的一部分B.在操作系統(tǒng)支持下的系統(tǒng)軟件C.一種編譯系統(tǒng)D.一種操作系統(tǒng)參考答案:B參考解析:系統(tǒng)軟件主要包括:①操作系統(tǒng)軟件;②各種語言的解釋程序和編譯程序;③各種服務(wù)性程序;④各種數(shù)據(jù)庫管理系統(tǒng)。數(shù)據(jù)庫管理系統(tǒng)是一種系統(tǒng)軟件,負責數(shù)據(jù)庫中的數(shù)據(jù)組織、數(shù)組操縱、數(shù)據(jù)維護、控制和保護以及數(shù)據(jù)服務(wù)等。答案選擇B選項。[單選題]9.設(shè)數(shù)據(jù)元素的集合D={1,2,3,4,5},則滿足下列關(guān)系R的數(shù)據(jù)結(jié)構(gòu)中為線性結(jié)構(gòu)的是()。A.R={(1,2),(3,2),(5,1),(4,5)}B.R={(1,3),(4,1),(3,2),(5,4)}C.R={(1,2),(2,4),(4,5),(2,3)}D.R={(1,3),(2,4),(3,5),(1,2)}參考答案:B參考解析:一個非空的數(shù)據(jù)結(jié)構(gòu)如果滿足以下兩個條件:有且只有一個根結(jié)點;每一個結(jié)點最多有一個前件,也最多有一個后件,稱為線性結(jié)構(gòu)。不同時滿足以上兩個條件的數(shù)據(jù)結(jié)構(gòu)就稱為非線性結(jié)構(gòu)。A選項,5是1的前件,1是2的前件,3是4的前件,則關(guān)系R中含有兩個結(jié)構(gòu),即34和512,其中3和5均為根結(jié)點,故A項錯誤。B選項根結(jié)點為5,排列順序為54132,B選項正確。C選項有兩個根結(jié)點1和4,故錯誤。D選項有兩個根結(jié)點1和2,故錯誤。答案選擇B選項。[單選題]10.在E-R圖中,用來表示實體聯(lián)系的圖形是()。A.橢圓形B.矩形C.菱形D.三角形參考答案:C參考解析:在E-R圖中,菱形表示聯(lián)系,矩形表示實體,橢圓形表示屬性。答案選擇C選項。[單選題]11.以下關(guān)于結(jié)構(gòu)化程序設(shè)計的敘述中正確的是()。A.由三種基本結(jié)構(gòu)構(gòu)成的程序只能解決小規(guī)模的問題B.結(jié)構(gòu)化程序使用goto語句會很便捷C.一個結(jié)構(gòu)化程序必須同時由順序、分支、循環(huán)三種結(jié)構(gòu)組成D.在C語言中,程序的模塊化是利用函數(shù)實現(xiàn)的參考答案:D參考解析:A項,三種基本結(jié)構(gòu)構(gòu)成的程序也可以解決大規(guī)模的問題;B項,goto語句會破壞程序的結(jié)構(gòu)性、可讀性,應(yīng)盡量不用;C項,一個結(jié)構(gòu)化程序可以由順序、分支、循環(huán)三種結(jié)構(gòu)組成,但不是必須同時都包括,可以包括其中的一個或多個;D項,在C語言中,利用函數(shù)來實現(xiàn)程序的模塊化。答案選擇D選項。[單選題]12.以下敘述正確的是()。A.計算機只接收由0和1代碼組成的二進制指令或數(shù)據(jù)B.計算機只接收由0和1代碼組成的十進制指令或數(shù)據(jù)C.計算機可直接接收并運行C源程序D.計算機可直接接收并運行任意高級語言編寫的源程序參考答案:A參考解析:二進制數(shù)中只有兩個字符0和1,表示具有兩個不同穩(wěn)定狀態(tài)的元器件。例如,電路中有無電流,有電流用1表示,無電流用0表示。類似的還比如電路中電壓的高低,晶體管的導通和截止等;二進制數(shù)運算簡單,大大簡化了計算中運算部件的結(jié)構(gòu),故選項A正確、B錯誤。計算機能直接執(zhí)行的只有機器語言程序。選項C、D錯誤。答案選擇A選項。[單選題]13.關(guān)于C語言標識符,以下敘述錯誤的是()。A.標識符可全部由數(shù)字組成B.標識符可全部由下劃線組成C.標識符可全部由小寫字母組成D.標識符可全部由大寫字母組成參考答案:A參考解析:C語言標識符只能由字母、數(shù)字、下劃線構(gòu)成,且只能以字母、下劃線開頭,故答案選擇A選項。[單選題]14.若有C語言表達式2+3*4+7/3,以下選項中敘述正確的執(zhí)行順序是()。A.先執(zhí)行3*4得12,再執(zhí)行2+12得14,再執(zhí)行7/3得2,最后執(zhí)行14+2得16B.先執(zhí)行3*4得12,再執(zhí)行7/3得2.5,最后執(zhí)行2+12+2.5得16.5C.先執(zhí)行7/3得2,再執(zhí)行3*4得12,再執(zhí)行12+2得14,最后執(zhí)行2+14得16D.先執(zhí)行2+3得5,再執(zhí)行5*4得20,再執(zhí)行20+7得27,最后執(zhí)行27/3得9參考答案:A參考解析:C語言表達式的的執(zhí)行順序是從左向右,在表達式求值時,按照運算符的優(yōu)先級別從高到低執(zhí)行,答案選擇A選項。[單選題]15.以下定義語句中正確的是()。A.inta=b=0;B.charA=65+1,b='b';C.floata=1,*b=&a,*c=&b;D.doublea=0.0;b=1.1;參考答案:B參考解析:A項錯誤,變量定義的時候不能用連續(xù)用等號,等號在定義是初始化的一種;C項錯誤,b是指針變量,*c=&b表示將一個二級指針賦值給一個一級指針,應(yīng)該為*c=b或者**c=&b;D項錯誤,變量前為分號“;”表示前面的語句定義完畢,變量b的定義沒有指明變量類型。答案選擇B選項。[單選題]16.若想給已定義為int型的變量a、b、c、d賦值為1,以下選項中錯誤的語句是()。A.a=b,b=c,c=d,d=1;B.a=b=c=d=1;C.a=1,b=a,c=b,d=c;D.d=1,c=d,b=c,a=b;參考答案:A參考解析:由于C語言逗號表達式的的執(zhí)行順序是從左向右,賦值運算符是自右向左,A選項先執(zhí)行a=b時,b為空值,故不正確;所以在連續(xù)賦值時一定要保證賦值運算符的右項有確定的值。答案選擇A選項。[單選題]17.若有定義:charc;intd;程序運行時輸入:c=1,d=2<回車>,能把字符1輸入給變量c、整數(shù)2輸入給變量d的輸入語句是()。A.scanf("c=%c,d=%d",&c,&d);B.scanf("c=%cd=%d",&c,&d);C.scanf("c=%d,d=%d",&c,&d);D.scanf("c=%dd=%d",&c,&d);參考答案:A參考解析:在scanf()函數(shù)中,格式字符串的形式必須與地址格式保持一致,BD兩項中格式控制部分缺少逗號,所以B、D選項不正確。C選項中c=%d是以數(shù)值格式存入c變量。答案選擇A選項。[單選題]18.若有定義:inta;floatb;doublec;,程序運行時輸入:1,2,3<回車>,能把1輸入給變量a、2輸入給變量b、3輸入給變量c的輸入語句是()。A.scanf("%d,%f,%lf",&a,&b,&c);B.scanf("%d%f%lf",&a,&b,&c);C.scanf("%d,%lf,%lf",&a,&b,&c);D.scanf("%d,%f,%f",&a,&b,&c);參考答案:A參考解析:在scanf()函數(shù)中a變量為整型,用%d格式字符串,b變量為單精度浮點數(shù)數(shù),用%f格式字符串,c變量為雙精度浮點數(shù),用%lf格式字符串;同時,scanf函數(shù)中格式字符串的形式必須和輸入語句的格式一致,B項中缺少逗號,答案選擇A選項。[單選題]19.有以下程序:#includemain(){inti,j;for(i=1;i<4;i++){for(j=i;j<4;j++)printf("%d*%d=%d
",i,j,i*j);printf("\n");}}程序運行后的輸出結(jié)果是()。A.1*1=11*2=21*3=32*2=42*3=63*3=9B.1*1=11*2=21*3=32*1=22*2=43*1=3C.1*1=11*2=22*2=41*3=32*3=63*3=9D.1*1=12*1=22*2=43*1=33*2=63*3=9參考答案:A參考解析:當i=1時,j可以取1、2、3,i*j分別為1、2、3;當i=2時,j可以取2、3,i*j分別為4、6;當i=3時,j可以取3,i*j為9。答案選擇A選項。[單選題]20.有以下程序#includemain(){chara='H';a=(a>='A'&&a<='Z')?(a+32):a;printf("%c\n",a);}程序運行后的輸出結(jié)果是()。A.hB.HC.A.DA.參考答案:A參考解析:考查條件運算符。條件表達式的形式為:表達式1?表達式2:表達式3,計算“表達式1”的值,若為“真”,取“表達式2”的值作為整個條件表達式的值;若為“假”,取“表達式3”的值作為整個條件表達式的值。字符參與運算時一般計算其ASCII碼,并且一個字母的小寫-大寫=32(ASCII碼),該程序?qū)⒋髮懽帜皋D(zhuǎn)成對應(yīng)的小寫字母,答案選擇A選項。[單選題]21.有以下程序#include
main(){int
a=-1,
b=-1;for(;
++a;)++b;printf("%d,%d\n",
a,
b);}程序運行后的輸出結(jié)果是()。A.0,-1B.0,0C.-1,-1D.結(jié)果不確定參考答案:A參考解析:這是對for循環(huán)的基本考查,C語言中for循環(huán)的形式:for(表達式1;表達式2;表達式3),本題中表達式1和表達式3為空語句。程序執(zhí)行過程為:定義整型變量a、b并賦初值,執(zhí)行for循環(huán),執(zhí)行控制語句++a,a先自增變?yōu)?再使用,不滿足控制條件,跳出循環(huán)。因此b并未改變,最后輸出0,-1。答案選擇A選項。[單選題]22.以下程序段中的變量已正確定義for(i=0;i<4;i++,i++)for(k=1;k<3;k++);printf("*");該程序段的輸出結(jié)果是()。A.********B.****C.**D.*參考答案:D參考解析:for語句在沒有"{}"說明時僅僅是跟隨其后的第一條語句,即另外一個for語句,第二個for循環(huán)有個";"結(jié)束,所以整個雙重循環(huán)將被視為空語句。然后執(zhí)行下一個順序語句,即輸出語句,只輸出一個"*"。答案選擇D選項。[單選題]23.以下敘述中正確的是()。A.結(jié)構(gòu)化程序必須包含所有的三種基本結(jié)構(gòu),缺一不可B.在C語言程序設(shè)計中,所有函數(shù)必須保存在一個源文件中C.只要包含了三種基本結(jié)構(gòu)的算法就是結(jié)構(gòu)化程序D.在算法設(shè)計時,可以把復雜任務(wù)分解成一些簡單的子任務(wù)參考答案:D參考解析:D項正確,把復雜任務(wù)分解成一些簡單的子任務(wù)是程序模塊化的思想;B項錯誤,C語言中,函數(shù)可以放在不同的源文件中;AC兩項錯誤,由三種基本結(jié)構(gòu)所構(gòu)成的程序稱為結(jié)構(gòu)化程序,三種基本結(jié)構(gòu)可以任意組合。答案選擇D選項。[單選題]24.C語言主要是借助以下哪種手段來實現(xiàn)程序模塊化?()A.定義常量和外部變量B.定義函數(shù)C.使用豐富的數(shù)據(jù)類型D.使用三種基本結(jié)構(gòu)語句參考答案:B參考解析:C程序的模塊化主要通過函數(shù)來實現(xiàn)。C語言允許對函數(shù)單獨進行編譯,從而可以實現(xiàn)模塊化。答案選擇B選項。[單選題]25.字符數(shù)組a和b中存儲了兩個字符串,判斷字符串a(chǎn)和b是否相等,應(yīng)當使用的是()。A.if(sdivcmp(a,b)==0)B.if(sdivcpy(a,b))C.if(a==b)D.if(a=b)參考答案:A參考解析:C語言中,判斷字符串是否相等,使用字符串比較函數(shù)strcmp(),不能使用相等操作符“==”。strcmp(s1,s2)函數(shù)比較s1和s2所指字符串的大小時,若串s1>串s2,函數(shù)值大于0(正數(shù));若串s1=串s2,函數(shù)值等于0;若串s1<串s2,函數(shù)值小于0(負數(shù))。答案選擇A選項。[單選題]26.有如下程序#include#includemain(){chara[]="1234",*b="ABC";printf("%d,%d,%d,%d\n",sdivlen(a),sizeof(a),sdivlen(b),sizeof(b));}程序運行后的輸出結(jié)果是()。A.4,5,3,4B.4,3,2,1C.4,5,3,3D.4,5,1,3參考答案:A參考解析:對于字符數(shù)組a,含有4個元素,所以strlen為4,而sizeof包括最后隱藏的\0,故sizeof有5個。對于字符串b,strlen為3大家都能理解,關(guān)鍵是sizeof,這里的sizeof不再是指數(shù)組的長度,因為b是一個地址值,整型數(shù)據(jù),所以占用了4個字節(jié),這個題目是一個難點,請大家謹記。答案選擇A選項。[單選題]27.在源程序的開始處加上“#include”進行文件引用的原因,以下敘述正確的是()。。A.sdivio.h文件中包含標準輸入輸出函數(shù)的函數(shù)說明,通過引用此文件以便能正確使用printf、scanf等函數(shù)B.將sdivio.h中標準輸入輸出函數(shù)鏈接到編譯生成的可執(zhí)行文件中,以便能正確運行C.將sdivio.h中標準輸入輸出函數(shù)的源程序插入到引用處,以便進行編譯鏈接D.將sdivio.h中標準輸入輸出函數(shù)的二進制代碼插入到引用處,以便進行編譯鏈接參考答案:A參考解析:“stdio.h”文件中包含標準輸入輸出函數(shù)的函數(shù)說明,預處理指令#include是指程序可以在該文件中找到printf,scanf等函數(shù),答案選擇A選項。[單選題]28.以下敘述中正確的是()。A.函數(shù)調(diào)用時,不必區(qū)分函數(shù)名稱的大小寫B(tài).調(diào)用函數(shù)時,函數(shù)名必須與被調(diào)用的函數(shù)名完全一致C.函數(shù)名允許用數(shù)字開頭D.在函數(shù)體中只能出現(xiàn)一次return語句參考答案:B參考解析:調(diào)用函數(shù)的時候只有保證調(diào)用語句的函數(shù)名和被調(diào)函數(shù)的函數(shù)名、參數(shù)列表一致才能保證調(diào)用的正確性,B正確。C語言對大小寫敏感,選項A錯。用戶自定義的函數(shù)名需要遵循用戶標識符的命名規(guī)則,由字母、數(shù)字、下劃線組成并且第一個字符不能為數(shù)字,選項C錯。一個函數(shù)每次只能使用一個return語句,但是該函數(shù)體中可以有多個返回點,也就是有多條return語句,每次只從其中一點返回,選項D錯。答案選擇B選項。[單選題]29.設(shè)有某函數(shù)的說明為int*func(inta[10],intn);則下列敘述中,正確的是()。A.形參a對應(yīng)的實參只能是數(shù)組名B.說明中的a[10]寫成a[]或*a效果完全一樣C.func的函數(shù)體中不能對a進行移動指針(如a++)的操作D.只有指向10個整數(shù)內(nèi)存單元的指針,才能作為實參傳給a參考答案:B參考解析:考查數(shù)組名作為函數(shù)參數(shù)。數(shù)組名作為函數(shù)參數(shù)時,只傳遞數(shù)組的首地址而不檢查形參數(shù)組的長度,所以形參表中可以不給出形參數(shù)組的長度,形參數(shù)組和實參數(shù)組長度也可以不同,選項D錯;a[10]、a[]、*a做形參都是接受實參數(shù)組首地址,效果一樣,B正確。傳遞給形參的實參可以是數(shù)組名,還可以是指向該數(shù)組的指針變量,選項A錯。數(shù)組名可以看做一個指針常量,對其進行自加自減運算相當于指針變量的自加自減,選項C錯。答案選擇B選項。[單選題]30.有以下程序#include
int
fun
(int
x,int
y){if(x!=y)
return
((x+y)/2);else
return
(x);}main(){int
a=4,b=5,c=6;printf("%d\n",fun(2*a,fun(b,c)));}程序運行后的輸出結(jié)果是()。A.3B.6C.8D.12參考答案:B參考解析:fun的功能是求兩數(shù)的平均數(shù),并且參數(shù)和結(jié)果都為整型。題中是用一個函數(shù)作為另一個函數(shù)的參數(shù),所以應(yīng)該先做里面嵌套的函數(shù)即fun(b,c),值為5。fun(2*a,fun(b,c))即為計算fun(2*4,5),所以結(jié)果為(5+8)/2=6。答案選擇B選項。[單選題]31.要求定義一個具有6個元素的int型一維數(shù)組,以下選項中錯誤的是()。A.intN=6,a[N];B.inta[2*3]={0};C.#defineN3inta[N+N];D.inta[]={1,2,3,4,5,6};參考答案:A參考解析:數(shù)組名后面括號內(nèi),必須是整型常量,不可以是變量,答案選擇A選項。[單選題]32.設(shè)有定義:intx=0,*p;緊接著的賦值語句正確的是()。A.*p=x;B.*p=NULL;C.p=x;D.p=NULL;參考答案:D參考解析:指針賦值的正確寫法:①p=&x,表示p指向x的存儲單元;②p=NULL,表示p是空指針。③*p=x,表示將p指向的內(nèi)容賦值為x,但前提是p已進行了初始化。答案選擇D選項。[單選題]33.以下敘述中錯誤的是()。A.當在程序的開頭包含頭文件sdivio.h時,可以給指針變量賦NULLB.函數(shù)可以返回地址值C.改變函數(shù)形參的值,不會改變對應(yīng)實參的值D.可以給指針變量賦一個整數(shù)作為地址值參考答案:D參考解析:A項正確,NULL是在頭文件stdio.h中定義的符號常量;B項正確,函數(shù)的返回值可以是地址,即指針;C項正確,函數(shù)調(diào)用中形參值的變化不會傳遞給實參;D項錯誤,不能將一個整數(shù)直接賦給指針變量作為地址,只能用取地址運算符“&”把該整型變量的地址賦值給該指針變量。答案選擇D選項。[單選題]34.如果定義floata[10],x;則以下敘述中正確的是()。A.語句a=&x;是非法的B.表達式a+1是非法的C.三個表達式a[1]、*(a+1)、*&a[1]表示的意思完全不同D.表達式*&a[1]是非法的,應(yīng)該寫成*(&(a[1]))參考答案:A參考解析:數(shù)組名表示該數(shù)組的首地址,是一個地址常量,不能對它重新賦值,A正確。但是可以把數(shù)組名看做一個指針常量,則表達式a+1表示的是數(shù)組中第二個元素的地址,選項B錯。表達式a[1]、*(a+1)、*&a[1]都指的是數(shù)組a中第二個元素的值,選項C錯。[]運算符的優(yōu)先級高于*、&,取值*和取址&運算符優(yōu)先級相等,同一優(yōu)先級的運算符,運算次序由結(jié)合方向所決定,*&a[1]在運算符優(yōu)先級和結(jié)合性上沒有問題,并且取值*和取址&運算符互逆,*&a[1]和a[1]等價,相當于求得數(shù)組a第二個元素的值,選項D錯。答案選擇A選項。[單選題]35.關(guān)于地址和指針,以下說法正確的是()。A.通過強制類型轉(zhuǎn)換可以將一種類型的指針變量賦值給另一種類型的指針變量B.可以取一個常數(shù)的地址賦值給同類型的指針變量C.可以取一個表達式的地址賦值給同類型的指針變量D.可以取一個指針變量的地址賦值給基類型相同的指針變量參考答案:A參考解析:常數(shù)的地址存儲在內(nèi)存的常量區(qū),常量區(qū)存儲的都是常量,值都是不可修改的,所以直接取常量的地址賦給指針變量沒有任何意義,C語言也不允許這樣做,編譯會出錯,B項錯誤;表達式的值存儲在臨時變量中,內(nèi)存中存在專門用來存儲臨時變量的區(qū)域,對這塊地址進行操作也是沒有意義的,C語言不允許這樣做,編譯會出錯,C項錯誤;可以取一個指針變量的地址,但是指針變量的地址屬于指針,只能賦值給指針類型的指針變量,D項錯誤。答案選擇A選項。[單選題]36.以下敘述中正確的是()。A.在C語言中,預處理命令行都以“#”開頭B.預處理命令行必須位于C源程序的起始位置C.#include必須放在C程序的開頭D.C語言的預處理不能實現(xiàn)宏定義和條件編譯的功能參考答案:A參考解析:“編譯預處理”就是在C編譯程序?qū)源程序進行編譯前,由編譯預處理程序?qū)@些編譯預處理命令行進行處理的過程。A項正確,在C語言中,凡是以“#”號開頭的行,都稱為“編譯預處理”命令行。B項錯誤,預處理命令行可以出現(xiàn)在程序的任何一行的開始部位,其作用一直持續(xù)到源文件的末尾;C項錯誤,#include可以出現(xiàn)在程序的任意一行的開始部位;D項錯誤,預處理可以實現(xiàn)宏定義、條件編譯和文件包含。答案選擇A選項。[單選題]37.有以下程序:#include#definePT3.5;#defineS(x)PT*x*x;main(){inta=1,b=2;printf("%4.1f\n",S(a+b));}程序運行后的輸出結(jié)果是()。A.31.5B.7.5C.程序有錯無輸出結(jié)果D.14.0參考答案:C參考解析:宏定義是預處理命令,不是C語句,結(jié)尾不加";",所以程序會出現(xiàn)編譯錯誤,答案選擇C選項。[單選題]38.以下敘述中錯誤的是()。A.可以用typedef說明的新類型名來定義變量B.typedef的作用是用一個新的標識符來代表已存在的類型名C.typedef說明的新類型名必須使用大寫字母,否則會出編譯錯誤D.用typedef可以說明一種新的類型名參考答案:C參考解析:typedef定義的新類型名習慣上用大寫字母,但沒有強制要求用大寫字母。答案選擇C選項。[單選題]39.下面結(jié)構(gòu)體的定義語句中,錯誤的是()。A.sdivuctord{intx;inty;intz;}sdivuctorda;B.sdivuctord{intx;inty;intz;};sdivuctorda;C.sdivuctord{intx;inty;intz;}a;D.sdivuct{intx;inty;intz;}a;參考答案:A參考解析:C語言中結(jié)構(gòu)體變量的定義有三種方法:①定義結(jié)構(gòu)體類型的同時定義結(jié)構(gòu)體變量,如C項;②使用無名結(jié)構(gòu)體類型定義結(jié)構(gòu)體變量,如D項;③先定義結(jié)構(gòu)體類型,后定義結(jié)構(gòu)體變量,如B項,A項錯在分別定義結(jié)構(gòu)體類型與結(jié)構(gòu)體變量時需要用“;”隔開。故答案選擇A選項。[單選題]40.設(shè)有如下語句typedef
sdivuct
Date{int
year;int
month;int
day;}
DATE;則以下敘述中錯誤的是()。A.DATE是用戶說明的新結(jié)構(gòu)體類型名B.sdivuctDate是用戶定義的結(jié)構(gòu)體類型C.DATE是用戶定義的結(jié)構(gòu)體變量D.sdivuct是結(jié)構(gòu)體類型的關(guān)鍵字參考答案:C參考解析:C語言允許用typedef說明一種新類型名,其一般形式如下:typedef類型名新類型名;,題目中定義了新類型Date,這種類型變量包含3個成員,DATE是這種新類型的名字,不是結(jié)構(gòu)體變量,A項正確,C項錯誤。structDate是用戶定義的結(jié)構(gòu)體類型,B項正確。struct是結(jié)構(gòu)體類型的關(guān)鍵字,D項正確。答案選擇C選項。[問答題]1.給定程序中,函數(shù)fun的功能是:將形參n中,各位上為偶數(shù)的數(shù)取出,并按原來從低位到高位相反的順序組成一個新的數(shù),并作為函數(shù)值返回。例如,輸入一個整數(shù):27638496,函數(shù)返回值為:64862。請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除.便程序得出正確的結(jié)果。注意:源程序存放在考生文件夾下的BLANK1.C中。不得增行或刪行,也不得更改程序的結(jié)構(gòu)!/**********code.c**********/#includeunsignedlongfun(unsignedlongn){unsignedlongx=0;intt;while(n){t=n%10;if(t%2==①______)x=②______+t;n=③______;}returnx;}main(){unsignedlongn=-1;while(n>99999999||n<0){printf("Pleaseinput(0<n<100000000):");scanf("%ld",&n);}printf("\nTheresultis:%ld\n",fun(n));}/**********-code.c**********/參考答案:①0②10*x③n/10參考解析:填空1:定義變量t用來存放某數(shù)的各個位數(shù)值,此處判斷t是否為偶數(shù),即對2求余結(jié)果是否為0。填空2:將t作為x的個位數(shù),原來x的各個位上升十位,即x=10*x+t。填空3:每循環(huán)一次,通過除法運算,去掉數(shù)值最后一位。[問答題]2.給定程序MODI1.C中函數(shù)fun功能是:將長整型數(shù)中每一位上為奇數(shù)的數(shù)依次取出,構(gòu)成一個新數(shù)放在t中。高位仍在高位,低位仍在低位。例如,當s中的數(shù)為:87653142時,t中的數(shù)為:7531。請改正程序中的錯誤,使它能得出正確的結(jié)果。注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!/**********code.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 飛梭刺繡制品行業(yè)深度研究報告
- 2025冰淇淋加盟合同范文
- 基于小樣本的柑橘缺陷檢測研究
- 傳統(tǒng)車企產(chǎn)品智能化轉(zhuǎn)型路徑研究
- 2025年度城市軌道交通車輛制造與維護合同3篇
- 2025年度測繪技術(shù)培訓與咨詢服務(wù)合同8篇
- 急性髓系白血病靶向治療新策略的探索與研究
- 基于2025年度標準的招投標合同管理與審計要求3篇
- 2025版不銹鋼門采購及施工安裝工程合同4篇
- 2025年度高端純凈水品牌代理銷售合同范本8篇
- 《醫(yī)院財務(wù)分析報告》課件
- 2025老年公寓合同管理制度
- 2024-2025學年人教版數(shù)學六年級上冊 期末綜合卷(含答案)
- 2024中國汽車后市場年度發(fā)展報告
- 感染性腹瀉的護理查房
- 天津市部分區(qū)2023-2024學年高二上學期期末考試 物理 含解析
- 《人工智能基礎(chǔ)》全套英語教學課件(共7章)
- 廢鐵收購廠管理制度
- 物品賠償單范本
- 《水和廢水監(jiān)測》課件
- 滬教版六年級數(shù)學下冊課件【全冊】
評論
0/150
提交評論