點(diǎn)擊查看:2016計(jì)算機(jī)二級(jí)《C語(yǔ)言》基礎(chǔ)練習(xí)題及答案匯總
1[單選題] 有以下程序
程序的輸出結(jié)果是
A.0B.9C.3D.-12
參考答案:D
參考解析:等號(hào)“=”運(yùn)算符是從右到左,且與“+、-、*”運(yùn)算符比,優(yōu)先級(jí)較低。首先計(jì)算a*a結(jié)果為9。執(zhí)行a=a-9,a的值為-6,然后執(zhí)行a+=a,即a=a+a=-6+(-6)。所以值為-12。
2[單選題] 有三個(gè)關(guān)系R、S和T如下:
則由關(guān)系R和s得到關(guān)系T的操作是( )。
A.自然連接B.并C.交D.差
參考答案:D
參考解析:關(guān)系T中的元組是關(guān)系R中有面關(guān)系s中沒(méi)有的元組的集合,即從關(guān)系R中除去與關(guān)系s中相同元組后得到的關(guān)系T。所以做的是差運(yùn)算。
3[單選題] 有如下嵌套的if語(yǔ)句:
以下選項(xiàng)中與上述if語(yǔ)句等價(jià)的語(yǔ)句是( )。
A.k=(aC.?b:C.;B.k=(a
參考答案:B
4[單選題]若有以下程序
則程序的輸出結(jié)果是
A.China!B.to China!C.me you to China!D.you to China!
參考答案:D
參考解析:該程序首先定義*a和b[],并進(jìn)行初始化。主函數(shù)中通過(guò)外層for循環(huán)語(yǔ)句,遍歷字符數(shù)組b[],并且將符合if條件語(yǔ)句的字符賦給數(shù)組p;for內(nèi)層循環(huán)語(yǔ)句,遍歷字符數(shù)組a[]。再將符合if條件語(yǔ)句的結(jié)果輸出。因此D選項(xiàng)正確。
5[單選題] 有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.1,2,1,2,2,4B.1,2,6,6,7,8C.1,2,2,4,2,4D.1,2,6,6,2,4
參考答案:A
參考解析:全局變量與函數(shù)體內(nèi)局部變量同名時(shí),局部變量會(huì)覆蓋全局變量,因此在subl()函數(shù)內(nèi),全局變量m,n是不可見(jiàn)的,在函數(shù)suhl()對(duì)m,n操作的是局部變量,對(duì)全局變量不產(chǎn)生影響。但在sub2()函數(shù)內(nèi),由于沒(méi)有和全局變量變量重名,因此在此函數(shù)內(nèi),m,n是可見(jiàn)的。因此,第一個(gè)pfinff()打印的是全局變量m,n,故打印的是l,2,第二個(gè)pfinff(),調(diào)用suhl(),沒(méi)有修改全局變量m,n.故打印的是l,2,第三個(gè)一村(),之前調(diào)用了sub2(),修改了全局變量m,n。因此,打印的是2,4。故答案為A選項(xiàng)。
6[單選題] 若有以下程序
則程序的輸出結(jié)果是
A.1,3B.0,2C.1,2D.2,3
參考答案:A
參考解析:本題重點(diǎn)考查do…while語(yǔ)句及do…while的循環(huán)語(yǔ)句保證會(huì)執(zhí)行一次(表達(dá)式的真值在每次循環(huán)結(jié)束后檢查),++b即變量b自增1后再參與運(yùn)算.而a++則表示a參與運(yùn)算后,再自增1。所以第一次循環(huán)結(jié)束后,b=1,a=-1。第二次循環(huán)后,b=2,a=0,這里先對(duì)while的判斷為真,然后a+自增為零時(shí),還會(huì)進(jìn)行第三次循環(huán)。第三次循環(huán)后。b=3,a=1。因此A選項(xiàng)正確。
7[單選題] 有以下程序(注:字符a的ASCIl碼值為97):
程序運(yùn)行后的輸出結(jié)果是( )。
A.789B.abeC.7890D.979899
參考答案:A
參考解析:因?yàn)樾懽址鸻,b,c的ASCIl碼值分別為97,98,99,而在do while循環(huán)語(yǔ)句中,每次對(duì)字符的ASCII碼值取余數(shù)并輸出,所以分別輸出7,8,9。
8[單選題] 有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.3B.4C.5D.6
參考答案:B
參考解析:&按位與,如果兩個(gè)相應(yīng)的二進(jìn)制位都為l,則該位的結(jié)果值為1,否則為0。l按位或,兩個(gè)相應(yīng)的二1進(jìn)制位中只要有一個(gè)為l,該位的結(jié)果值為l。2的二進(jìn)制為1 00000010,4的二進(jìn)制為00000100,所以做或運(yùn)算結(jié)果為1 00000110,該數(shù)與5即00000101做與操作結(jié)果為00000100,1即4。
9[簡(jiǎn)答題]下列給定程序中函數(shù)fun的功能是:逐個(gè)比較P.q所指兩個(gè)字符串對(duì)應(yīng)位置上的字符,并把ASCIl值大或相等的字符依次存放到C所指的數(shù)組中,形成一個(gè)新的字符串。
例如,若主函數(shù)中a字符串為“aBCDeFgH”,b字符串為“Abed”,則C中的字符串應(yīng)為“aBcdeFgH”。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。
注意:部分源程序在文件MODll.C中,不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
參考解析:
(1)int k=0;
(2)whffe(+pll+q)
【考點(diǎn)分析】
本題考查:變量初始化,需根據(jù)題意確定變量含義,然后對(duì)其進(jìn)行初始化操作;while循環(huán)語(yǔ)句。
【解題思路】
(1)變量k存放數(shù)組c的下標(biāo),因此應(yīng)初始化為0。
(2)while循環(huán)語(yǔ)句的循環(huán)條件是判斷兩個(gè)字符串是否到達(dá)結(jié)尾。
10[簡(jiǎn)答題]給定程序modil.c的主函數(shù)中,將a.b、c三個(gè)結(jié)點(diǎn)鏈成一個(gè)單向鏈表,并給各結(jié)點(diǎn)的數(shù)據(jù)域賦值,函數(shù)fun( )的作用是:累加鏈表結(jié)點(diǎn)數(shù)據(jù)域中的數(shù)據(jù)作為函數(shù)值返回。
請(qǐng)改正函數(shù)fun中指定部位的錯(cuò)誤,使它能得出正確的結(jié)果。
注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
參考解析:
(1)int t;改為int t=0;
(2)*P改為P或者P!=NULL
(3)P.data改為P->data
【考點(diǎn)分析】
主要考察考生對(duì)于操作符.與->的異同的理解,指針只能有->,數(shù)組元素可以有.或者->。
【解題思路】
(1)intt;改為intt=0;題目中變量t是用來(lái)存放累加和的,必須初始化。
(2)*P改為P或者P!=NULL,題目中*P是結(jié)構(gòu)體,不能轉(zhuǎn)化為bool型;
(3)P.data改為P->data,P是指針,只能用P->,不能用P。
相關(guān)推薦:
各地2016年全國(guó)計(jì)算機(jī)等級(jí)考試報(bào)名時(shí)間匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |