2015年9月計算機二級《C語言》高分突破模擬卷(2)
26下列字符數組初始化語句中,不正確的是( )。
A.
B.
C.
D.
參考答案:A
參考解析:本題考查2個概念:①用單引號括起來的一個字符常量只能存放一個字符;②C語言中沒有字符串變量,只能用字符數組來存儲字符串。
27下列選項中,均屬于通用軟件的是( )。
A.Windows XP、AutoCAD、PowerPoint
B.Visual FoxPr0、Excel、SPSS
C.Word、Photoshop、Excel
D.C十+、CorelDraw、Firefox 2.0
參考答案:C
參考解析:軟件可以分為系統軟件和應用軟件兩類,應用軟件又可以分為針對具體應用問題而專門開發的訂制應用軟件和在許多行業與部門中可以廣泛使用的通用應用軟件。
28下述程序執行的輸出結果是( )。
A.are&youB.youC.are D.&
參考答案:A
參考解析:strcpy實現的功能是復制,該操作把are復制到a中,a[o][3]= ˊ&ˊ,且strcpy(a[1],″you″)把you復制到a[1]中,故輸出a為“are&you”。
29若有下列定義,則( )是對a數組元素地址的正確引用。
A
B.
C.
D.
參考答案:D
參考解析:本題考查數組元素地址的引用。選項A中,p+5引用的是.[5]的地址,而數組a只有5個元素,即a[o]、a[1]、a[2]、a[3]、a[4],所以引用錯誤(注:數組元素下標從0開始);選項B中,*a+1指的是將數組a的第1個元素加1;選項C中,不存在這種引用方式;選項D中,&a[0]引用的是數組的首地址。
30有以下程序:
程序運行結果是( )。
A.accxyy,bbxxyyB.ace,bbxxyyC.accxxyy,bbxxyy D.accbbxxyy,bbxxyy
參考答案:D
參考解析:主函數中語句fun(ss,aa)的功能是將字符串aa連接到字符串ss的末尾。
31有以下程序段:
當執行上述程序段,從鍵盤上輸入55566 7777abc后,y的值為( )。
A.55566.0B.566.0C.7777.0 D.566777.0
參考答案:B
參考解析:變量j只接收輸入數據的前兩位,從第三位開始直到空格之間的輸入整數都會被保存到浮點型變量y中。
32表達式'5'一'1'的值是( )。
A.整數4B.字符4C.表達式不合法D.字符6
參考答案:A
參考解析:在C語言中,字符都是變為其對應的ASCⅡ碼值來參加算術運算的,但字符間的相對位置關系還是不變的,字符5和字符1的ASCⅡ碼值相差仍是4。
33有以下程序:
程序運行結果是( )。
A.xy,aaaaccB.aaaacc,xyC.xcc,aabcc D.ace,xabce
參考答案:D
參考解析:函數fun(char s[][10],int n)比較二維字符數組s[][10]的每個字符串的首字符大小,如果前一個字符串首字符大于后一個字符串的首字符,則交換這兩個字符串的首字符。
34下列說法正確的是( )。
A.在C語言中,可以使用動態內存分配技術定義元素個數可變的數組
B.在C語言中,數組元素的個數可以不確定,允許隨機變動
C.在C語言中,數組元素的數據類型可以不一致
D.在C語言中。定義一個數組后,就確定了它所容納的元素的個數
參考答案:D
參考解析:在C語言中,數組元素的個數是確定的,不允許隨機變動,數組定義好后,它所能容納的元素的個數也就確定了,并且同一個數組中所有元素都是同一類型。
35有下列程序:
程序執行后的輸出結果是( )。
A.45B.50C.60 D.55
參考答案:C
參考解析:在函數int fun(int x[],int n)的定義中,變量sum為一個靜態局部變量。由于在整個程序運行期間,靜態局部變量在內存中的靜態存儲中占據著永久的存儲單元。函數intfun(int x[],int n)的功能是求出數組x[]各個元素的和,所以在主函數中,調用函數fun(a,5)后,變量sum=1+2+3+4+5=15,當再次調用fun(b,4)后,變量sum=15+6+7+8+9=45,所以s=15+45=60。
36有以下程序:
程序的輸出結果是( )。
A.
B.
C.
D.
參考答案:D
參考解析:{int k=-3;if(k<=0)printf(″****\n″)else wind(″&&&&\n″);)中printf(″****\n″)缺少分號,因此會報編譯錯誤。
37下列說法不正確的是( )。
A.調用函數時,實參可以是表達式
B.調用函數時,實參與形參可以共用內存單元
C.調用函數時,將實參的值復制給形參,使實參變量和形參變量在數值上相等
D.調用函數時,實參與形參的類型必須一致
參考答案:B
參考解析:本題考查函數調用的基本概念。調用函數時,實參的形式可以是具體的數值,也可以是表達式。實參將數值或表達式的值傳遞給形參,因而兩者的類型必須保持一致。形參在運算過程中會發生改變,但不一定會影響到實參值,所以可知兩者不共用內存單元。
下列關于信息系統的敘述中,錯誤的是( )。
A.廣播電視是一種雙向的、點到多點的信息交互系統
B.網絡聊天是一種雙向的、以信息交互為主要目的的系統
C.電話是一種雙向的、點對點的、以信息交互為主要目的的系統
D.雷達是一種以感測和識別為主要目的的系統
參考答案:A
參考解析:廣播/電視是一種單向的、點對多點(面)的以信息傳遞為主要目的的系統。
39設x=011050,則x=x&01252的值是( )。
A.0000001000101000
B.1111110100011001
C.0000001011100010
D.1100000000101000
參考答案:A
參考解析:本題主要考查按位與運算,x=011050的二進制形式為00010010000101000,01252的二進制形式為0000001010101010,兩者相與得0000001000101000。
40以下關于typedef的敘述錯誤的是( )。
A.用typedef可以增加新類型
B.typedef只是將已存在的類型用一個新的名字來代表
C.用typedef可以為各種類型說明一個新名,但不能用來為變量說明一個新名
D.用typedef為類型說明一個新名,通常可以增加程序的可讀性
參考答案:A
參考解析:Typedef語句的作用僅僅是用“標識符”來表示已存在的“類型名”,并未產生新的數據類型。
二、程序填空題
41請補充函數proc(),該函數的功能是:把從主函數中輸入的字符串str2接在字符串str1的后面。
例如,str1=”I am a”,str2=”student”,結果輸出:I am a student。
注意:部分源程序給出如下。
請勿改動main()函數和其他函數中的任何內容,僅在函數proc()的橫線上填入所編寫的若干表達式或語句。
試題程序:
參考解析:
【1】*(pl+i)【2】+p2【3】*p2++
【解析】要將字符串str2接在字符串str后面,首先要得到字符串str1的長度,因此【1】填“*(p1+i)”。然后將字符串str2中的每一個字符接在字符串str1所有字符的后面,因此【2】填“*p2”;【3】填“*p2++”。
三、程序改錯題
42下列給定程序中,函數proc()的功能是:根據輸入的3個邊長(整型值),判斷能否構成三角形:若能構成等邊三角形,則返回3;若是等腰三角形,則返回2;若能構成三角形則返回1;若不能,則返回0。
例如,輸入3個邊長為3,4,5,實際輸入時,數與數之間以Enter鍵分隔而不是逗號。
請修改程序中的錯誤,使它能得出正確的結果。
注意:不要改動main()函數,不得增行或刪行,也不得更改程序的結構。
試題程序:
參考解析:
(1)錯誤:return 1;
正確:return 3;
(2)錯誤:return 3;
正確:return 1;
【解析】三條邊都相等的三角形為等邊三角形,按題目中要求,等邊三角形返回3,若不是等邊三角形也不是等腰三角形則返回1,因此,“return 1;”應改為“return 3;”;“re-turn 3;”應改為“return 1;”。
四、程序設計題
43請編寫函數void proc(int X,int pp[],int*n),它的功能是:求出能整除x且不是偶數的各整數,并按從小到大的順序放在pp所指的數組中,這些除數的個數通過形參n返回。
例如,若X中的值為50,則有3個數符合要求,它們是1,5,25。
注意:部分源程序給出如下。
請勿改動main()函數和其他函數中的任何內容,僅在函數proc()的花括號中填人所編寫的若干語句。
試題程序:
參考解析:
【解析】按照題目中要求求出能整除x且不是偶數的各整數,可以通過判斷小于整數x的所有整數能否整除x。將能整除x的所有奇數放入數組pp中。最后將符和條件的整數個數通過形參返回到主函數當中。