

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、二級(jí)C語言試卷真題及答案一、選擇題 (請(qǐng)請(qǐng)?jiān)谠凇敬鸫痤}題】菜菜單單上上選選擇擇【選選擇擇題題】命命令令,啟啟動(dòng)動(dòng)選選擇擇題題測(cè)測(cè)試試程程序序,按照題目上的內(nèi)容進(jìn)行答題。作答選擇題時(shí)鍵盤被封鎖,使用鍵盤無效,考生須使用鼠標(biāo)答題。選擇題部分只能進(jìn)入一次,退出后不能再次進(jìn)入。選擇題部分不單獨(dú)計(jì)時(shí)。)1、下列敘述中正確的是()。循環(huán)隊(duì)列有隊(duì)頭和隊(duì)尾兩個(gè)指針,因此,循環(huán)隊(duì)列是非線性結(jié)構(gòu)在循環(huán)隊(duì)列中,只需要隊(duì)頭指針就能反映隊(duì)列中元素的動(dòng)態(tài)變化情況在循環(huán)隊(duì)列中,只需要隊(duì)尾指針就能反映隊(duì)列中元素的動(dòng)態(tài)變化情況循環(huán)隊(duì)列中元素的個(gè)數(shù)是由隊(duì)頭指針和隊(duì)尾指針共同決定正確答案D答案解析循環(huán)隊(duì)列是順序存儲(chǔ)的線性結(jié)構(gòu),是隊(duì)
2、列常采用的形式,故A項(xiàng)錯(cuò)誤。循環(huán)隊(duì)列中的元素是動(dòng)態(tài)變化的:每一次入隊(duì),隊(duì)尾 指針就進(jìn)一;每一次出隊(duì),隊(duì)頭指針就進(jìn)一,所以隊(duì)頭指針和隊(duì)尾指針一起反映了隊(duì)列中元素的動(dòng)態(tài)變化情況,BC兩項(xiàng)錯(cuò)誤。從隊(duì)頭指針指向的后一個(gè)位置與隊(duì)尾指針指向的位置之間的元素即為隊(duì)列中所有的元素,答案選擇D選項(xiàng)。2、有以下程序#include main()int x=1, y=0; if (!x) y+; else if (x=0)if (x) y+=2; else y+=3;printf(%dn, y);程序運(yùn)行后的輸出結(jié)果是(0213)。正確答案A答案解析在該題中,選擇結(jié)構(gòu)的表達(dá)式都不成立,所以整個(gè)選擇語句都沒有執(zhí)行,y
3、值沒有發(fā)生改變,答案選擇A選項(xiàng)。3、關(guān)于C語言標(biāo)識(shí)符,以下敘述錯(cuò)誤的是(標(biāo)識(shí)符可全部由數(shù)字組成標(biāo)識(shí)符可全部由下劃線組成標(biāo)識(shí)符可全部由小寫字母組成標(biāo)識(shí)符可全部由大寫字母組成)。正確答案A答案解析C語言標(biāo)識(shí)符只能由字母、數(shù)字、下劃線構(gòu)成,且只能以字母、下劃線開頭,故答案選擇A選項(xiàng)。4、下列關(guān)于棧敘述正確的是()。棧頂元素最先能被刪除棧頂元素最后才能被刪除棧底元素永遠(yuǎn)不能被刪除棧底元素最先能被刪除正確答案A答案解析棧是先進(jìn)后出的數(shù)據(jù)結(jié)構(gòu),因此棧頂元素最后入棧卻最先被刪除,棧底元素最先入棧卻最后被刪除。答案選擇A選項(xiàng)。5、有以下程序#include void main()unsigned char a
4、=8, c; c = a3;printf(%dn,c);程序運(yùn)行后的輸出結(jié)果是(321610)。正確答案C答案解析字符常量與其ASCII 碼值一一對(duì)應(yīng),在計(jì)算的時(shí)候,可以使用該字符的ASCII 碼參與運(yùn)算,輸出時(shí)會(huì)根據(jù)格式控制符輸出對(duì)應(yīng)的字符或者ASCII 碼。右移運(yùn)算符“”的運(yùn)算規(guī)則是把左邊運(yùn)算數(shù)的各二進(jìn)制位全部右移n位,n取決于“”右邊的數(shù)值。字符a的ASCII 碼值為8,對(duì)應(yīng)二進(jìn)制為1000,所以a3=1 ,輸出的字符c的ASCII 碼值為1,答案選擇C選項(xiàng)。6、以下敘述中錯(cuò)誤的是()。用typedef定義新的類型名后,原有類型名仍有效可以用typedef將已存在的類型用一個(gè)新的名字來代
5、表可以通過typedef增加新的類型用typedef可以為各種類型起別名,但不能為變量起別名正確答案C答案解析關(guān)鍵字typedef的作用只是將C語言中已有的數(shù)據(jù)類型作置換,并不是增加新的類型,答案選擇C選項(xiàng)。7、若有定義:char c;int d; 程序運(yùn)行時(shí)輸入:c=1,d=2,能把字符1輸入給變量c、整數(shù)2輸入給變量d的輸入語句是(A scanf(c=%c,d=%d, &c,&d);B scanf(c=%c d=%d, &c,&d);C scanf(c=%d,d=%d, &c,&d);D scanf(c=%d d=%d, &c,&d);)。正確答案A答案解析在scanf()函數(shù)中,格式字符
6、串的形式必須與地址格式保持一致,BD兩項(xiàng)中格式控制部分缺少逗號(hào),所以B、D選項(xiàng)不正確。C選項(xiàng)中c=%d是以數(shù)值格式存入c變量。答案選擇A選項(xiàng)。8、若有定義語句:int x10;則表達(dá)式x-x+x 的值為()。A 10B -20C 0D -10正確答案D答案解析單目加運(yùn)算符優(yōu)先級(jí)高于賦值運(yùn)算符,所以先做x+x結(jié)果為20,再做x-20,結(jié)果為-10,然后賦值給x。所以答案選擇D選項(xiàng)。9、若有定義語句:char s10=123456700;則strlen(s)的值是(98710)。正確答案C答案解析C語言規(guī)定以字符0作為字符串結(jié)束的標(biāo)識(shí)符。strlen函數(shù)返回的是字符串的長(zhǎng)度,不包含字符0,所以值是
7、7。答案選擇C選項(xiàng)。10、有如下程序#include main()int i, *ptr;int array5 = 5,3,1;for (ptr=array, i=0; i5; i+, ptr+)if (*ptr = 0) putchar(X);elseputchar(A + *ptr);printf(n);程序運(yùn)行后的輸出結(jié)果是()。ABCDEFFFXXFDBBBFDBXX正確答案D答案解析對(duì)數(shù)組進(jìn)行初始化時(shí),如果在說明數(shù)組時(shí)給出了長(zhǎng)度,但沒有給所有的元素賦予初始值,而只依次給前面的幾個(gè)數(shù)組元素賦予初值,那么C語言將自動(dòng)對(duì)余下的元素賦初值,即array=5,3,1,0,0 。程序執(zhí)行過程為:
8、執(zhí)行for循環(huán),將數(shù)組首地址賦給指針ptr,依次遍歷每一個(gè)元素,如果數(shù)組元素為0則輸出X,如果不為0則按照字母表輸出字符A后第arrayi個(gè)字符。程序運(yùn)行后的輸出結(jié)果為:FDBXX,答案選擇D選項(xiàng)。11、C語言主要是借助以下哪種手段來實(shí)現(xiàn)程序模塊化?(定義常量和外部變量定義函數(shù)使用豐富的數(shù)據(jù)類型使用三種基本結(jié)構(gòu)語句)正確答案B答案解析C程序的模塊化主要通過函數(shù)來實(shí)現(xiàn)。C語言允許對(duì)函數(shù)單獨(dú)進(jìn)行編譯,從而可以實(shí)現(xiàn)模塊化。答案選擇B選項(xiàng)。12、以下敘述中正確的是()。A 語句 int a3 = 1,2,4,5;B 語句 int a43 = 1,2,4,5;是錯(cuò)誤的初始化形式是錯(cuò)誤的初始化形式C 在邏
9、輯上,可以把二維數(shù)組看成是一個(gè)具有行和列的表格或矩陣D 語句 int a43 = 1,2,4,5;是錯(cuò)誤的初始化形式正確答案C答案解析考查二維數(shù)組的初始化。初始化二維數(shù)組的時(shí)候可以對(duì)其部分元素賦初值,選項(xiàng)B錯(cuò)。還可以對(duì)數(shù)組的全部元素賦初值,此時(shí)第一維的元素個(gè)數(shù)可以不指定,也可以分行賦值,只對(duì)部分元素賦初值,選項(xiàng)A、D錯(cuò)。C的描述正確,答案選擇C選項(xiàng)。13、有以下程序#include typedef struct int b, p; A; void f(A c)int j; c.b+=1; c.p+=2;void main()int i;A a=1,2;f(a);printf(%d,%dn, a
10、.b, a.p);程序運(yùn)行后的輸出結(jié)果是()。A 2,4B 1,2C 1,4D 2,3正確答案B答案解析考查結(jié)構(gòu)體變量作為函數(shù)實(shí)參整體傳遞,也是一種值傳參,形參的變化不能影響到實(shí)參,所以調(diào)用函數(shù)f(a)對(duì)a中的數(shù)據(jù)沒有影響,輸出結(jié)果為1,2,答案選擇B選項(xiàng)。14、以下敘述中正確的是()。如果企圖通過一個(gè)空指針來訪問一個(gè)存儲(chǔ)單元,將會(huì)得到一個(gè)出錯(cuò)信息即使不進(jìn)行強(qiáng)制類型轉(zhuǎn)換,在進(jìn)行指針賦值運(yùn)算時(shí),指針變量的基類型也可以不同設(shè)變量p是一個(gè)指針變量,則語句p=0; 是非法的,應(yīng)該使用p=NULL;指針變量之間不能用關(guān)系運(yùn)算符進(jìn)行比較正確答案A答案解析空指針意味著該指針沒有指向任何具體的變量,所以不能訪
11、問一個(gè)存儲(chǔ)單元,A正確。指針的賦值運(yùn)算只能在同一數(shù)據(jù)類型 之間進(jìn)行,故選項(xiàng)B錯(cuò)。語句p=0和p=NULL 是一樣的,都是把一個(gè)空指針賦給指針變量p,故選項(xiàng)C錯(cuò)。指針之間能進(jìn)行關(guān)系運(yùn)算,比較的是地址值的大小,選項(xiàng)D錯(cuò)。答案選擇A選項(xiàng)。15、若有定義:char s30 = 0;運(yùn)行時(shí)輸入:This is a string.則以下不能正確讀入整個(gè)字符串:This is a string.到字符數(shù)組 s 中的語句組是()。scanf(%s,s);gets(s);C for(i=0;(c=getchar()!= n;i+)si = c;D i=0;while(c=getchar()!=n)si+ = c
12、;正確答案A答案解析scanf函數(shù)用格式控制符%s讀取字符串時(shí),不能接受空格、制表符Tab、回車。即在讀入This is a string 時(shí),讀到第一個(gè)空格時(shí)結(jié)束。最后s中的內(nèi)容是This。答案選擇A選項(xiàng)。16、若有定義語句:int year=2009, *p=&year ;以下不能使變量year中的值增至2010的語句是(A (*p)+;B *p+;C +(*p);D *p+=1;)。正確答案B答案解析考查指針的用法。指針變量存儲(chǔ)的是其指向的變量的地址,*p表示的是p指向的變量的值,自增運(yùn)算符(+)的優(yōu)先級(jí)要高 于取值運(yùn)算符(*)的優(yōu)先級(jí),*p+ 表示的是先將指針p指向下一個(gè)地址然后再取該
13、地址的值,所以得到的結(jié)果并不是把year的值增至2010,答案選擇B選項(xiàng)。17、有以下程序#include #include void fun(int *p1, int *p2, int *s)s=( int*)calloc(1,sizeof(int);*s=*p1+*p2; free(s);main()int a2=1,2, b2=40,50,*q=a;fun(a,b,q);printf(%dn, *q);程序運(yùn)行后的輸出結(jié)果是()。041421正確答案D答案解析main函數(shù)中定義了3個(gè)變量,a,b和指針變量q,并且q存放的是a的地址,fun函數(shù)中s是重新分配的空間,將重分配的空間中 存放*
14、p1和*p2即為1和40,然后釋放s,而q沒有變化,仍然指向變量a,故*q仍然為1,答案選擇D選項(xiàng)。18、若有定義語句:double a,*p=&a;以下敘述中錯(cuò)誤的是()。定義語句中的p只能存放double類型變量的地址定義語句中的 * 號(hào)是一個(gè)說明符定義語句中的 * 號(hào)是一個(gè)間址運(yùn)算符定義語句中 *p=&a 把變量a的地址作為初值賦給指針變量p正確答案C答案解析C項(xiàng)錯(cuò)誤,只有取指針變量的值時(shí),星號(hào)*才是間址運(yùn)算符,引用指針指向的存儲(chǔ)單元。A項(xiàng)正確,p是double類型的指針,只 能存放double類型的地址;B項(xiàng)正確,定義指針變量時(shí),星號(hào)*是一個(gè)說明符,用來說明該變量是指針變量;D項(xiàng)正確,
15、“&”是求地址運(yùn)算符,*p=&a用來求出double變量a的地址賦給指針變量p,而使p指向a。答案選擇C選項(xiàng)。19、一個(gè)運(yùn)動(dòng)隊(duì)有多個(gè)隊(duì)員,一個(gè)隊(duì)員僅屬于一個(gè)運(yùn)動(dòng)隊(duì),一個(gè)隊(duì)一般都有一個(gè)教練,則實(shí)體運(yùn)動(dòng)隊(duì)和隊(duì)員的聯(lián)系是(一對(duì)多一對(duì)一多對(duì)一多對(duì)多)。正確答案A答案解析一個(gè)運(yùn)動(dòng)隊(duì)有多個(gè)隊(duì)員,表明在運(yùn)動(dòng)隊(duì)表中的每個(gè)隊(duì)與隊(duì)員表中的一個(gè)或多個(gè)隊(duì)員相關(guān);一個(gè)隊(duì)員僅屬于一個(gè)運(yùn)動(dòng)隊(duì),表明隊(duì)員表中的每個(gè)隊(duì)員只可以與運(yùn)動(dòng)隊(duì)表中的一個(gè)隊(duì)相關(guān),為一對(duì)多關(guān)系。答案選擇A選項(xiàng)。20、有以下程序#include main()int a,b;for(a=0; a3; a+)scanf(%d, &b); switch(b)defa
16、ult: printf(%d, +b);case 1: printf(%d, +b);case 2: printf(%d, +b);執(zhí)行時(shí)輸入:1 2 3 ,則輸出結(jié)果是(A 2,3,3,4,5,6,B 2,3,4,C 2,2,3,4,4,4,D 2,3,4,3,4,4,)。正確答案A答案解析考查C語言中的switch-case語句。執(zhí)行switch-case語句時(shí),一定會(huì)先進(jìn)行匹配,匹配成功則執(zhí)行當(dāng)前case語句,再根據(jù)是否有break,判斷是否繼續(xù)輸出,或是跳出判斷。程序中輸入1時(shí),與case 1匹配成功,執(zhí)行后面的輸出語句,輸出2,且此時(shí)b=2,因?yàn)楹竺鏇]有break語句,繼續(xù)執(zhí)行下一條
17、輸出語句,輸出3。繼續(xù)輸入2時(shí),與case 2匹配成功,執(zhí)行后面的輸出語句,輸出3。輸入3時(shí),沒有可匹配的case語句,執(zhí)行default語句,輸出4,b變?yōu)?;后面沒有break語句,繼續(xù)執(zhí)行case 1后的輸出語句,輸出5,b變?yōu)?;同理繼續(xù)執(zhí)行case2后面的輸出語句,輸出6。答案選擇A選項(xiàng)。21、下列各序列中不是堆的是()。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)正確答案C答案解析堆可以看成一棵完全二叉樹:堆中任
18、一根結(jié)點(diǎn)的值大于等于左右孩子結(jié)點(diǎn)的值(或者小于等于)就叫做大根堆(或小根堆)。這題可以這么做,把結(jié)點(diǎn)按照完全二叉樹畫出來就一目了然了。這個(gè)題目很明顯91是最大的值,而C選項(xiàng)是“左根右”的排序,那么91的左邊只有47,其他都在右邊,而右邊無法按照此順序排列,答案選擇C選項(xiàng)。22、若有定義:char s30 = 0;運(yùn)行時(shí)輸入:This is a string.則以下不能正確讀入整個(gè)字符串:This is a string.到字符數(shù)組 s 中的語句組是()。scanf(%s,s);gets(s);C for(i=0;(c=getchar()!= n;i+)si = c;D i=0;while(c=
19、getchar()!=n)si+ = c;正確答案A答案解析scanf函數(shù)用格式控制符%s讀取字符串時(shí),不能接受空格、制表符Tab、回車。即在讀入This is a string 時(shí),讀到第一個(gè)空格時(shí)結(jié)束。最后s中的內(nèi)容是This。答案選擇A選項(xiàng)。23、在數(shù)據(jù)庫(kù)中,數(shù)據(jù)模型包括數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和(數(shù)據(jù)約束數(shù)據(jù)類型關(guān)系運(yùn)算查詢)。正確答案A答案解析在數(shù)據(jù)庫(kù)系統(tǒng)中的數(shù)據(jù)模型有三個(gè)要素:數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和數(shù)據(jù)的約束條件。答案選擇A選項(xiàng)。24、下面描述不屬于軟件特點(diǎn)的是()。軟件是一種邏輯實(shí)體,具有抽象性軟件在使用中不存在磨損、老化問題軟件復(fù)雜性高軟件使用不涉及知識(shí)產(chǎn)權(quán)正確答案D答案解析軟件具有以
20、下特點(diǎn):軟件是一種邏輯實(shí)體,具有抽象性;軟件沒有明顯的制作過程;軟件在使用期間不存在磨損、老化問題;軟件對(duì)硬件和環(huán)境具有依賴性;軟件復(fù)雜性高,成本昂貴;軟件開發(fā)涉及諸多的社會(huì)因素,如知識(shí)產(chǎn)權(quán)等。 答案選擇D選項(xiàng)。25、下面結(jié)構(gòu)體的定義語句中,錯(cuò)誤的是()。struct ord int x; int y; int z; struct ord a;struct ord int x; int y; int z; ; struct ord a;struct ord int x; int y; int z; a;struct int x; int y; int z; a;正確答案A答案解析C語言中結(jié)構(gòu)體
21、變量的定義有三種方法:定義結(jié)構(gòu)體類型的同時(shí)定義結(jié)構(gòu)體變量,如C項(xiàng);使用無名結(jié)構(gòu)體類型定義結(jié)構(gòu) 體變量,如D項(xiàng);先定義結(jié)構(gòu)體類型,后定義結(jié)構(gòu)體變量,如B項(xiàng),A項(xiàng)錯(cuò)在分別定義結(jié)構(gòu)體類型與結(jié)構(gòu)體變量時(shí)需要用“;”隔開。故答案選擇A選項(xiàng)。26、下面對(duì)類-對(duì)象主要特征描述正確的是(對(duì)象唯一性對(duì)象無關(guān)性類的單一性類的依賴性)。正確答案A答案解析類是對(duì)象的抽象具有抽象性、概括性等,對(duì)象是類的具體實(shí)例,具有標(biāo)識(shí)惟一性、分類性、多態(tài)性、封裝性、模塊獨(dú)立性。故答案選擇A選項(xiàng)。27、有以下程序#include typedef struct int b, p; A; void f(A c)int j; c.b+=1;
22、 c.p+=2;void main()int i;A a=1,2;f(a);printf(%d,%dn, a.b, a.p);程序運(yùn)行后的輸出結(jié)果是()。A 2,4B 1,2C 1,4D 2,3正確答案B答案解析考查結(jié)構(gòu)體變量作為函數(shù)實(shí)參整體傳遞,也是一種值傳參,形參的變化不能影響到實(shí)參,所以調(diào)用函數(shù)f(a)對(duì)a中的數(shù)據(jù)沒有影響,輸出結(jié)果為1,2,答案選擇B選項(xiàng)。28、若有定義語句:int m3=1,2,3,4,5,6,7;,則與該語句等價(jià)的是()。A int m3=1,2,3,4,5,6,7;B int m3=1,2,3,4,5,6,7;C int m3=1,2,3,4,5,6,7;D in
23、t m3=1,2,3,4,5,6,7;正確答案C答案解析考查二維數(shù)組的初始化。二維數(shù)組的初始化有兩種方式,分行初始化,方式為:數(shù)據(jù)類型數(shù)組名行下標(biāo)表達(dá)式列下標(biāo)表 達(dá)式=第0行初值,第1行初值表,最后1行初值表;,如果初值表只對(duì)部分元素賦初值,沒有被賦初值的元素將被自動(dòng)賦值為0。不分行將所有數(shù)據(jù)依次列在一個(gè)花括號(hào)里,即數(shù)據(jù)類型數(shù)組名行下標(biāo)表達(dá)式列下標(biāo)表達(dá)式=初值表;,這種方式的賦值就是將初值表的數(shù)據(jù)依次賦予數(shù)組的每個(gè)元素,其中賦值是按照數(shù)組元素在內(nèi)存中的位置進(jìn)行的。題目中的初始化語句是第二種方法,如果用第一種方法應(yīng)該是int m3 = 1,2,3, 4,5,6, 7;都滿列有3個(gè)元素,答案選擇C
24、選項(xiàng)。,這里應(yīng)該保證除r最后一行,每一行29、下面結(jié)構(gòu)體的定義語句中,錯(cuò)誤的是()。struct ord int x;int y;int z; struct ord a;struct ord int x;int y;int z; struct ord a;struct ord int x;int y;int z; a;struct int x;int y;int z; a;正確答案A答案解析C語言中結(jié)構(gòu)體變量的定義有三種方法:定義結(jié)構(gòu)體類型的同時(shí)定義結(jié)構(gòu)體變量,如C項(xiàng);使用無名結(jié)構(gòu)體類型定義結(jié)構(gòu) 體變量,如D項(xiàng);先定義結(jié)構(gòu)體類型,后定義結(jié)構(gòu)體變量,如B項(xiàng),A項(xiàng)錯(cuò)在分別定義結(jié)構(gòu)體類型與結(jié)構(gòu)體變量
25、時(shí)需要用“;”隔開。故答案選擇A選項(xiàng)。30、如果定義float a10,x;則以下敘述中正確的是()。語句 a = &x; 是非法的表達(dá)式 a+1 是非法的三個(gè)表達(dá)式 a1、*(a+1)、*&a1表示的意思完全不同表達(dá)式*&a1是非法的,應(yīng)該寫成 *(&(a1)正確答案A答案解析數(shù)組名表示該數(shù)組的首地址,是一個(gè)地址常量,不能對(duì)它重新賦值,A正確。但是可以把數(shù)組名看做一個(gè)指針常量,則表達(dá)式a+1表示的是數(shù)組中第二個(gè)元素的地址,選項(xiàng)B錯(cuò)。表達(dá)式a1、*(a+1)、*&a1都指的是數(shù)組a中第二個(gè)元素的值,選項(xiàng)C 錯(cuò)。運(yùn)算符的優(yōu)先級(jí)高于*、&,取值*和取址&運(yùn)算符優(yōu)先級(jí)相等,同一優(yōu)先級(jí)的運(yùn)算符,運(yùn)算次
26、序由結(jié)合方向所決定,*&a1在運(yùn)算符優(yōu)先級(jí)和結(jié)合性上沒有問題,并且取值*和取址&運(yùn)算符互逆,*&a1和a1等價(jià),相當(dāng)于求得數(shù)組a第二個(gè)元素的值,選項(xiàng)D錯(cuò)。答案選擇A選項(xiàng)。31、設(shè)某二叉樹的后序序列為CBA,中序序列為ABC,則該二叉樹的前序序列為(BCACBAABCCAB)。正確答案C答案解析后序序列為CBA ,中序序列為ABC ,則說明,A為根結(jié)點(diǎn),并且B和C均在A的右子樹上;結(jié)點(diǎn)B和C中,后序序列為CB,中序序列為BC,則說明結(jié)點(diǎn)C在結(jié)點(diǎn)B的右子樹上,根據(jù)分析可得,該二叉樹的前序序列為ABC ,答案選擇C選項(xiàng)。32、以下敘述中正確的是()。A 在C語言中,預(yù)處理命令行都以“#”開頭預(yù)處理命
27、令行必須位于C源程序的起始位置#include 必須放在C程序的開頭C語言的預(yù)處理不能實(shí)現(xiàn)宏定義和條件編譯的功能正確答案A答案解析“編譯預(yù)處理”就是在C編譯程序?qū)源程序進(jìn)行編譯前,由編譯預(yù)處理程序?qū)@些編譯預(yù)處理命令行進(jìn)行處理的過程。A項(xiàng)正 確,在C語言中,凡是以“#”號(hào)開頭的行,都稱為“編譯預(yù)處理”命令行。B項(xiàng)錯(cuò)誤,預(yù)處理命令行可以出現(xiàn)在程序的任何一行的 開始部位,其作用一直持續(xù)到源文件的末尾;C項(xiàng)錯(cuò)誤,#include 可以出現(xiàn)在程序的任意一行的開始部位;D項(xiàng)錯(cuò)誤,預(yù)處理可以實(shí)現(xiàn)宏定義、條件編譯和文件包含。答案選擇A選項(xiàng)。33、字符數(shù)組a和b中存儲(chǔ)了兩個(gè)字符串,判斷字符串a(chǎn)和b是否相等,
28、應(yīng)當(dāng)使用的是(if(strcmp(a,b)=0)if(strcpy(a,b)if(a=b)if(a=b))。正確答案A答案解析C語言中,判斷字符串是否相等,使用字符串比較函數(shù)strcmp(),不能使用相等操作符“=”。strcmp(s1,s2) 函數(shù)比較s1和s2所指字符串的大小時(shí),若串s1串s2,函數(shù)值大于0(正數(shù));若串s1串s2,函數(shù)值等于0;若串s1串s2,函數(shù)值小于0(負(fù)數(shù))。答案選擇A選項(xiàng)。34、有以下程序#include main()int k=-17; printf(%d,%o,%xn,k,1-k,1-k);程序的運(yùn)行結(jié)果是()。A 17,22,12B -17,12,22C -
29、17,-22,-12D -17,22,12正確答案D答案解析整型常量有3種表示方法,十進(jìn)制整常量,沒有前綴,輸出格式控制符為%d;八進(jìn)制整常量,以0作為前綴,輸出格式 控制符為%o;十六進(jìn)制整常量,以0 x或0 x作為前綴,輸出格式控制符為%x。1-k=18 ,整型常量18用八進(jìn)制表示為22,十六進(jìn)制表示為12,答案選擇D選項(xiàng)。35、在源程序的開始處加上“#include ”進(jìn)行文件引用的原因,以下敘述正確的是()。stdio.h文件中包含標(biāo)準(zhǔn)輸入輸出函數(shù)的函數(shù)說明,通過引用此文件以便能正確使用printf、scanf等函數(shù)將stdio.h中標(biāo)準(zhǔn)輸入輸出函數(shù)鏈接到編譯生成的可執(zhí)行文件中,以便能
30、正確運(yùn)行將stdio.h中標(biāo)準(zhǔn)輸入輸出函數(shù)的源程序插入到引用處,以便進(jìn)行編譯鏈接將stdio.h中標(biāo)準(zhǔn)輸入輸出函數(shù)的二進(jìn)制代碼插入到引用處,以便進(jìn)行編譯鏈接正確答案A答案解析“stdio.h”文件中包含標(biāo)準(zhǔn)輸入輸出函數(shù)的函數(shù)說明,預(yù)處理指令#include 是指程序可以在該文件中找到printf,scanf等函數(shù),答案選擇A選項(xiàng)。36、在黑盒測(cè)試方法中,設(shè)計(jì)測(cè)試用例的主要根據(jù)是(程序內(nèi)部邏輯程序外部功能程序數(shù)據(jù)結(jié)構(gòu)程序流程圖)。正確答案B答案解析黑盒測(cè)試完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性,只根據(jù)程序的需求和功能規(guī)格說明,檢查程序的功能是否符合它的功能規(guī)格說明。答案選擇B選項(xiàng)。37、字符數(shù)組
31、a和b中存儲(chǔ)了兩個(gè)字符串,判斷字符串a(chǎn)和b是否相等,應(yīng)當(dāng)使用的是(if(strcmp(a,b)=0)if(strcpy(a,b)if(a=b)if(a=b))。正確答案A答案解析C語言中,判斷字符串是否相等,使用字符串比較函數(shù)strcmp(),不能使用相等操作符“=”。strcmp(s1,s2) 函數(shù)比較s1和s2所指字符串的大小時(shí),若串s1串s2,函數(shù)值大于0(正數(shù));若串s1串s2,函數(shù)值等于0;若串s1串s2,函數(shù)值小于0(負(fù)數(shù))。答案選擇A選項(xiàng)。38、以下能正確表述算式 sin(2r+30)的C語言表達(dá)式是(A sin(2*r+30)B sin(2*3.14*r+30)C sin(2*
32、3.14*r+3.14*30/180.0)D sin(2*3.14*r+30*3.14/360.0))。正確答案C答案解析C項(xiàng)正確。sin是庫(kù)函數(shù),其參數(shù)中的角度要求用弧度制表示。C語言中不是已定義的常量,需要用戶自定義或者直接使用3.14代替。A項(xiàng)未替換也沒有將30度換算成弧度,錯(cuò)誤。B項(xiàng)沒有將30度換算成弧度,錯(cuò)誤。D項(xiàng)弧度換算錯(cuò)誤,對(duì)應(yīng)于180 ,應(yīng)該除以180.0 而不是360.0 。答案選擇C選項(xiàng)。39、結(jié)構(gòu)化程序的三種基本控制結(jié)構(gòu)是()。順序、選擇和重復(fù)(循環(huán))過程、子程序和分程序順序、選擇和調(diào)用調(diào)用、返回和轉(zhuǎn)移正確答案A答案解析結(jié)構(gòu)化程序設(shè)計(jì)中三種基本控制結(jié)構(gòu)為順序、選擇和重復(fù)(
33、循環(huán))。答案選擇A選項(xiàng)。40、若有C語言表達(dá)式 2+3*4+7/3,以下選項(xiàng)中敘述正確的執(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語言表達(dá)式的的執(zhí)行順序是從左向右,在表達(dá)式求值時(shí),按照運(yùn)算符的優(yōu)先級(jí)別從高到低執(zhí)行,答案選擇A選項(xiàng)。二、程序填空題1、給定程序中
34、,函數(shù)fun的功能是計(jì)算下式:直到并把計(jì)算結(jié)果作為函數(shù)值返回。例如:若形參e的值為1e-3,函數(shù)的返回值為0.141457 。請(qǐng)?jiān)诔绦虻南聞澗€處填入正確的內(nèi)容并把下劃線刪除使程序得出正確的結(jié)果。注意:源程序存放在考生文件夾下的BLANK1.C中。 不得增行或刪行,也不得更改程序的結(jié)構(gòu)!/*code.c*/#include double fun(double e)int i,k; double s,t, x; s=0;k=1; i=2;x=/4; while(x e)s=s+k*x; k=k* (-1); t=2*i;x=/(t*t); i+;return s;main()double e=1e
35、-3;printf(nThe result is: %fn,fun(e);/*-code.c*/輸入答案內(nèi)容.【答案】1.0或(double)1(t-1)【解析】填空1:變量x定義為double類型,而運(yùn)算符“/”后面是整型數(shù),所以給x賦值時(shí),需要注意數(shù)據(jù)類型,此處不能將1.0寫成1。填空2:while循環(huán)語句的循環(huán)條件,根據(jù)題意確定循環(huán)變量應(yīng)大于1e-3,因此此處應(yīng)填“”。填空3:表達(dá)式的通項(xiàng)是(2*i-1)/(2*i) 2,由于程序中已定義t=2*i,所以此處應(yīng)該填寫(t-1)。三、程序改錯(cuò)題1、紿定程序MODI1.C中函數(shù)fun的功能是:從低位開始取出長(zhǎng)整型變量s中偶數(shù)位上的數(shù),依次構(gòu)成一個(gè)新數(shù)放在t中。高位仍在高位,低位仍在 低位。例如,當(dāng)s中的數(shù)為:7654
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年合同到期解約申請(qǐng)模板
- 2025年藥店店員合同模板
- 一年級(jí)下冊(cè)數(shù)學(xué)教案-兩位數(shù)加減整十?dāng)?shù)、一位數(shù)的口算 (20)-西師大版
- 分?jǐn)?shù)的初步認(rèn)識(shí)(一)練習(xí)十一(教案)2024-2025學(xué)年數(shù)學(xué)三年級(jí)上冊(cè) 蘇教版
- 2024年人工種植牙項(xiàng)目投資申請(qǐng)報(bào)告代可行性研究報(bào)告
- 2025年杭州科技職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)1套
- 2025屆黑龍江省“六校聯(lián)盟”高三上學(xué)期聯(lián)考化學(xué)試題及答案
- 2025年度教師專業(yè)成長(zhǎng)路徑規(guī)劃聘用合同
- 2025年度養(yǎng)老產(chǎn)業(yè)簡(jiǎn)易版股份轉(zhuǎn)讓合同模板
- 2025年度文化旅游產(chǎn)業(yè)合作授權(quán)委托書
- 外研版(三起)小學(xué)英語三年級(jí)下冊(cè)Unit 1 Animal friends Get ready start up 課件
- (新版)廣電全媒體運(yùn)營(yíng)師資格認(rèn)證考試復(fù)習(xí)題庫(kù)(含答案)
- 保安員資格考試復(fù)習(xí)題庫(kù)及答案(800題)
- 淺圓倉(cāng)滑模及倉(cāng)頂板施工方案
- 統(tǒng)編版必修上冊(cè)第五《鄉(xiāng)土中國(guó)》導(dǎo)讀優(yōu)質(zhì)課件PPT
- 技能大師工作室建設(shè)PPT幻燈片課件(PPT 66頁)
- 統(tǒng)編版四年級(jí)道德與法治下冊(cè)第8課《這些東西哪里來》教學(xué)課件(含視頻)
- 市場(chǎng)營(yíng)銷課程標(biāo)準(zhǔn)
- 鋼琴基礎(chǔ)教程1教案
- 上海科技版(滬科版)初中數(shù)學(xué)八年級(jí)下冊(cè)全冊(cè)教案
- 小學(xué)音樂課后服務(wù)教學(xué)設(shè)計(jì)方案計(jì)劃
評(píng)論
0/150
提交評(píng)論