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