一、選擇題(每小題1分,共40分)
(1)計算機(jī)能直接執(zhí)行的程序是( )。
A.源程序
B.目標(biāo)程序
C.匯編程序
D.可執(zhí)行程序
(2)以下敘述中正確的是( )。
A.c語言規(guī)定必須用main作為主函數(shù)名,程序?qū)拇碎_始執(zhí)行
B.可以在程序中由用戶指定任意一個函數(shù)作為主函數(shù),程序?qū)拇碎_始執(zhí)行
C.c語言程序?qū)脑闯绦蛑械谝粋函數(shù)開始執(zhí)行、
D.main的各種大小寫拼寫形式都可以作為主函數(shù)名,如MAIN,Main等
(3)以下選項中可用做c程序合法實數(shù)的是( )。
A.3.0e0.2
B..1e0
C.E9
D.9.12E
(4)下列定義變量的語句中錯誤的是( )。
A.int jnt;
B.double int_;
C.char For;
D.float US$;
(5)表達(dá)式:(im)((double)9/2)一9%2的值是( )。
A.0
B.3
C.4
D.5
(6)設(shè)變量均已正確定義,若要通過
scaIIf(”%d%c%d%c”,&al,&el,&a2,&c2);
語句為變量al和a2賦數(shù)值l0和20,為變量cl和c2賦字符x和Y。以下所示的輸入形式中正確的是( )。(注:口代表空格字符)
(7)以下選項中不能作為c語言合法常量的是( )。.
A.0.1e+6
B.’cd’.
C.”、a”
D.’\011
(8)if語句的基本形式是:if(表達(dá)式)語句,以下關(guān)于“表=迭式”值的敘述中正確的是( )。
A.必須是邏輯值
B.必須是整數(shù)值
C.必須是正數(shù)
D.可以是任意合法的數(shù)值
(9)有如下嵌套的if語句:
以下選項中與上述if語句等價的語句是( )。
k=(a
B.B.:((b>C.?b:
c.;B.k=(a
D.k=(a
(10)有以下程序:
程序執(zhí)行后的輸出結(jié)果是( )。
A.1
B.2
C.4
D.死循環(huán)
(11)有以下程序:
程序運行后的輸出結(jié)果是( )。
A.Afternoon
B.ftemoon
C.Morning
D.oming
(12)有以下程序,程序中庫函數(shù)islower(ch)用以判斷ch中的字母是否為小寫字母:
程序運行后的輸出結(jié)果是( )。
A.ab cd EFg!
B.Ab Cd EFg!
C.ab cd EFG!
D.aB cD EFG!
(13)有以下程序:
程序運行后的輸出結(jié)果是( )。
A.0
B.9
C.6
D.8
(14)有以下程序:
程序執(zhí)行后的輸出結(jié)果是( )。
A.55.
B.50
C.45
D.60
(15)有以下結(jié)構(gòu)體說明、變量定義和賦值語句:
則以下scanf函數(shù)調(diào)用語句有錯誤的是( )。
scanf(”%s”,s[0].name);
B.scanf(”%d”,&s[0].a(chǎn)ge);
C.scanf(”%c”,&(ps一>sex));
D.scanf(”%d”,ps一>age):
(16)若有以下語句:typedef struct S{int 9;char h;}T;以下敘述中正確的是( )。
A.可用s定義結(jié)構(gòu)體變量
B.可用T定義結(jié)構(gòu)體變量
C.S是struct類型的變量
D.T是struct S類型的變量
程序運行后的輸出結(jié)果是( )。
A.1002,ZhangDa,1202.0
B.1002,ChangRon9。1202.0
C.1001,ChangRon9,1098.0
D.1001,ZhangDa,1098.0
(18)設(shè)有宏定義:
#define IsDIV(k,n)((k%1"1==1)?1:O)且變量m已正確定義并賦值,則宏調(diào)用:
IsDIV(m,5)&&IsDIV(m,7)為真時所要表達(dá)的是( )。
判斷m是否能被5和7整除
B.判斷m被5和7整除是否都余l(xiāng)
C.判斷m被5或者7整除是否余1
D.判斷m是否能被5或者7整除
(19)有以下程序:
程序運行后的輸出結(jié)果是( )。
A.3
B.1
C.2
D.0
(20)有以下程序:
程序運行后的輸出結(jié)果是( )。
A.1 2
B.1 4
C.123 4
D.123 456
一、選擇題
(1)D【解析】計算機(jī)能直接執(zhí)行的程序是二進(jìn)制的可執(zhí)行程序,擴(kuò)展名為.exe。所以選擇D選項。
(2)A【解析】C語言中的主函數(shù)只能是main()函數(shù),不能任意指定,所以B選項錯誤。C語言從主函數(shù)main()開始,到主函數(shù)main()結(jié)束,所以C選項錯誤。主函數(shù)必須寫成小寫的main,不能混淆大小寫,所以D選項錯誤。
(3)B【解析】A選項中e后面的指數(shù)必須為整數(shù),所以錯誤。C語言規(guī)定,E之前必須要有數(shù)字,所以c選項錯誤。E后面必須要有數(shù)字,且必須為整數(shù),所以D選項錯誤。
(4)D【解析】C語言規(guī)定,變量命名必須符合標(biāo)識符的命名規(guī)則。D選項中包含了非法字符“$”,所以錯誤。標(biāo)識符由字母、數(shù)字或下劃線組成,且第一個字符必須是大小寫英文字母或者下劃線,而不能是數(shù)字。大寫字符與小寫字符被認(rèn)為是兩個不同的字符,所以For不是關(guān)鍵字for。
(5)B【解析】先將整型數(shù)據(jù)9強(qiáng)制轉(zhuǎn)換成doub1e型,然后除以2得到的結(jié)果與doub1e型保持一致,即為4.5,然后將4.5強(qiáng)制轉(zhuǎn)換成整型數(shù)據(jù)4,然后計算9%2的值為1,最后計算4一1的值為3,所以選擇B選項。
(6)C【解析】輸入數(shù)據(jù)的格式必須與scanf()的格式控制串完全匹配,如果A、B、c選項中在數(shù)字10后面均輸入了空格,則會將空格賦給變量c1,而不是把x賦給c1,所以選擇C選項。
(7)B【解析】要想表示字符串常量應(yīng)該用雙引號表示,即“cd”,單引號用于表示字符常量,所以B選項中的表示方法錯誤。
(8)D【解析】if語句中的表達(dá)式可以是任意合法的數(shù)值,如常量、變量表達(dá)式。所以D選項正確。
(9)B【解析】題目中嵌套語句的含義是當(dāng)a&1t;b且a&1t;c成立,則將a的值賦給k。如果a&1t;b成立而a&1t;c不成立將e的值賦給k。如果a&1t;b不成立而b&1t;c成立,將b的值賦給k。如果如果a&1t;b不成立且b&1t;c也不成立,將c的值賦給k。判斷條件表達(dá)式只有B選項可以表示這個含義。
(10)A【解析】一一k先自減再使用,所以第一次判斷條件即為whi1e(4),條件為真,執(zhí)行打印k的值k=4—3,結(jié)果為1;第二次判斷條件即為whi1e(0),條件為假,結(jié)束循環(huán),打印回車換行符。所以選擇A選項。
(11)A【解析】本題主函數(shù)中定義了一個指針數(shù)組a,可以將它看成一個以字符指針為元素的一維數(shù)組。和一般的一維數(shù)組名能賦給同類型指針變量一樣,該字符指針數(shù)組也可以賦給指向字符指針的指針,所以數(shù)組名a可以用做函數(shù)fun()的實參。在fun()函數(shù)中,++P操作使形參P往后移動一個字符指針的位置,即指針a[1]的位置。故最后通過礎(chǔ)nd()函數(shù)輸出的字符串為“Afternoon”。因此A選項正確。
(12)D【解析】調(diào)用缸函數(shù)后,實參數(shù)組名s1傳給形參指針P,P也指向數(shù)組s1。m函數(shù)的功能是遍歷字符數(shù)組中的所有字符,如果某一個字符是空格并且前一個字符是小寫字母的話,就把前一個字符轉(zhuǎn)換為大寫。程序中語句P[i一1]=P[i—1]一ga’+-A‘;即P[i一1]=P[i一1]一32,意思是將P[i一1]中的字符轉(zhuǎn)換為大寫。因此D選項正確。
(13)C【解析】主函數(shù)中調(diào)用f函數(shù),同時將數(shù)值3傳遞給變量x,執(zhí)行條件不滿足條件if(x==0I1X==1);跳過re—turn(3);,直接執(zhí)行語句Y=X}X—f(x一2);這里f(x一2)為函數(shù)的遞歸調(diào)用,再次訶用f函數(shù),此時x=1,判斷條件成立,返回3給f(1),Y=3}3—3=6,最后將6返回主函數(shù),并進(jìn)行輸出。因此c選項正確。
(14)D【解析】內(nèi)部靜態(tài)變量是始終存在的,當(dāng)函數(shù)被調(diào)用退出后,內(nèi)部靜態(tài)變量會保存數(shù)據(jù),再次調(diào)用該函數(shù)時,以前調(diào)用時的數(shù)值仍然保留著。m(a,5)的值是15,再次調(diào)用后Ⅲm=15,所以fun(b,4)=45,s=45+15=60。因此D選項正確。
(15)D【解析】本題考查結(jié)構(gòu)體的相關(guān)知識,題目中需要輸入一個變量,scanf要求參數(shù)為指針,而D選項中ps一>age為一個變量,不是指針,所以錯誤。
(16)B【解析】本題考查typ1edef重新聲明一種結(jié)構(gòu)體類型,那么T為結(jié)構(gòu)體類型,而不是結(jié)構(gòu)體變量,所以B選項正確。
(17)B【解析】本題考查結(jié)構(gòu)體變量的引用以及作為函數(shù)參數(shù),題目雖然看似復(fù)雜,其實比較容易,f函數(shù)的參數(shù)是結(jié)構(gòu)體變量,然后對參數(shù)重新賦值并返回,所以該題目的答案為B選項。
(18)B【解析1本題考查邏輯運算符的相關(guān)概念,邏輯與若要為真,那么兩邊都要為真,即m都能被5和7整除都余1,所以選項B正確。
(19)A【解析】本愿考查位運算符以及相關(guān)運算,‘為按位或,&為按位與,部么a'b為3,再與c按位與仍然為3,所以答案為A選項。
(20)D【解析】fprintf()函數(shù)向文本文件輸出數(shù)據(jù),將輸出的內(nèi)容按格式輸出翻硬盤的文本文件中。執(zhí)行兩次fprintf后。文件中的內(nèi)容為。123 456”,所以D選項正確。