點擊查看:2015計算機二級《C語言》精選練習(xí)題及答案匯總
1[單選題] 下面選項中關(guān)于位運算的敘述正確的是
A.位運算的對象只能是整型或字符型數(shù)據(jù)
B.位運算符都需要兩個操作數(shù)
C.左移運算的結(jié)果總是原操作數(shù)據(jù)2倍
D.右移運算時,高位總是補0
參考答案:A
參考解析:本題考查位運算。按位取反只需要一個操作數(shù),所以B選項錯誤。左移一位是原操作數(shù)的2倍,其他情況不是,比如左移兩位就是原操作數(shù)的4倍,所以C選項鍺誤,右移運算時。高位在某些情況下不是補0。
2[單選題] 以下關(guān)于C語言的敘述中正確的是( )。
A.C語言的數(shù)值常量中夾帶空格不影響常量值的正確表示
B.C語言中的變量可以在使用之前的任何位置進(jìn)行定義
C.在C語言算術(shù)表達(dá)式的書寫中,運算符兩側(cè)的運算數(shù)類型必須一致\
D.C語言中的注釋不可以夾在變量名或關(guān)鍵字的中間
參考答案:D
參考解析:C語言的數(shù)值常量中不能夾帶空格,所以A錯誤。C語言中的變量都必須先定義再使用,對變量的定義通常放在函數(shù)體內(nèi)的前部,但也可以放在函數(shù)外部或復(fù)合語句的開頭。不能隨便放置,所以8錯誤。在C語言中運算符兩側(cè)的運算數(shù)據(jù)類型可以不一致,且結(jié)果與精度較高的保持一致,所以C錯誤。
3[單選題] 以下敘述正確的是( )。
A.在c語言中分號是語句的組成部分
B.c語言程序由c語句組成,可以省略main函敷
C.分號是C語句之間的分隔符
D.所有程序行都必須用分號結(jié)束
參考答案:A
參考解析:C程序的人口函數(shù)是main(),C程序中有且只有一個main函數(shù),故選項8錯誤。分號是c語言一條語句的結(jié)束標(biāo)志,不是分隔符,c語言分隔符是用來分隔多個變量、數(shù)據(jù)項、表達(dá)式等的符號,包括逗號、空白符、分號和冒號等,選項C錯誤。c語言的程序不是以分號結(jié)束的,因為c語言是面向過程的,從main函數(shù)開始在main函數(shù)里結(jié)束,選項D錯誤。故答案為A選項。
4[單選題] 有三個關(guān)系R、S和T如下:
其中關(guān)系T由關(guān)系R和s通過某種操作得到,該操作為( )。
A.選擇B.投影C.交D.井
參考答案:D
參考解析:關(guān)系T中包含了關(guān)系R與s中的所有元組,所以進(jìn)行的是并的運算。
5[單選題] 以下選項中正確的定義語句是( )。
A.double,a,b;
B.double a=b=7;
C.double a;b;
D.double a=7,b=7;
參考答案:D
參考解析:A選項中變量類型符double后面不能有逗號。B選項中變量b不能先使用再定義,應(yīng)該寫成選項D中的格式。C選項中變量a后面應(yīng)該是逗號而不是分號。
6[單選題] 有以下程序
程序的輸出結(jié)果是
A.8 4B.9 6C.9 4D.8 5
參考答案:A
參考解析:本題主要考查局部變量和全局變量的區(qū)別,題目中函數(shù)之外定義的d為全局變量,函數(shù)fun內(nèi)定義的d為局部變量。所以執(zhí)行fun函數(shù)后,打印出8,執(zhí)行完d+=a++;后d變?yōu)?,所以答案為A。
7[單選題] 以下敘述中正確的是( )
A.轉(zhuǎn)義字符要用雙引號括起來,以便與普通的字符常量區(qū)分開
B.字符常量在內(nèi)存中占2個字節(jié)
C.字符常量需要用單引號括起來
D.字符常量是不能進(jìn)行關(guān)系運算的
參考答案:C
參考解析:B選項中,字符常量在內(nèi)存中占1個字節(jié);A選項中,轉(zhuǎn)義字符是以反斜線"\"開頭,后跟一個或幾個字符;D選項中,字符常量可以進(jìn)行關(guān)系運算,不能參與數(shù)值運算。因此C選項正確。
8[單選題] 有以下程序
程序的輸出結(jié)果是( )
A.輸出格式不合法,輸出出錯信息B.65,89C.65,90D.A,Y1
參考答案:B
參考解析:本題重點考查字符變量的相關(guān)知識。分別給字符型變量a和b分別賦值為'A'和'Y',Printf函數(shù)的%d控制符,輸出的是數(shù)字,即A和Y的ASCII碼,因此輸出結(jié)果為65,89,因此B選項正確。
9[單選題] 有三個關(guān)系R、s和T如下:
由關(guān)系R和s通過運算得到關(guān)系T,則所使用的運算為( )。
A.并B.自然連接C.笛卡爾積D.交
參考答案:D
參考解析:自然連接是一種特殊的等值連接,它要求兩個關(guān)系中進(jìn)行比較的分量必須是相同的屬性組,并且在結(jié)果中把重復(fù)的屬性列去掉,所以8錯誤。笛卡爾積是用R集合中元素為第一元素,s集合中元素為第二元素構(gòu)成的有序?qū),所以c錯誤。根據(jù)關(guān)系T可以很明顯地看出是從關(guān)系R與關(guān)系s中取得相同的關(guān)系組所以取得是交運算,選擇D。
10[簡答題]下列給定程序中函數(shù)fun的功能是:用冒泡法對6個字符串進(jìn)行升序排列。請改正程序中的錯誤,使它能得出正確的結(jié)果。
注意:部分源程序在文件MODIl.C中,不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
參考解析:
(1)fh(j=i+1;j<6;j++)
(2)*(pstr+i)=}(pstr+j);
【考點分析】
本題考查:冒泡排序算法;for循環(huán)語句格式;指針數(shù)組。
【解題思路】
(1)此處考查for語句的格式,各表達(dá)式之間應(yīng)用“;”隔開。
(2)此處考查用指針表示數(shù)組元素的方法,}(pstr+I)表示pstr所指向數(shù)組的第1個元素,同理}(pstr+j)表示pstr所指向數(shù)組的第j個元素。
【解題寶典】
冒泡排序算法,其基本思想是,將待排序的元素看作是豎著排列的“氣泡”,較小的元素比較輕,從而要往上浮。在冒泡排序算法中我們要對這個“氣泡”序列處理若干遍。所謂一遍處理,就是自底向上檢查一遍這個序列,并時刻注意兩個相鄰的元素的順序是否正確。如果發(fā)現(xiàn)兩個相鄰元素的順序不對,即“輕”的元素在下面,就交換它們的位置。顯然,處理一遍之后,“最輕”的元素就浮到了最高位置;處理二遍之后,“次輕”的元素就浮到了次高位置。依次類推,完成排序。
用代碼實現(xiàn)數(shù)組s[N]的升序排列為:for(i=0;i
for(j=i十1;j
if(s[i]>s[j]){t-s[i];s[i]=s[j]s[j]=t;}
相關(guān)推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |