2015年計算機二級考試《C語言》提高練習題五份(4)
1[單選題] (1)C語言程序中,運算對象必須是整型數的運算符是
A.&&
B./
C.%
D.*
參考答案:C
參考解析:%取余運算是二目運算符,且要求運算對象必須為整數,所以選C。
2[單選題] 以下針對全局變量的敘述錯誤的是
A.用extern說明符可以限制全局變量的作用域
B.全局變量是在函數外部任意位置上定義的變量
C.全局變量的作用域是從定義位置開始至源文件結束
D.全局變量的生存期貫穿于整個程序的運行期間
參考答案:A
參考解析:在不同編譯單位內用extern說明符來擴展全局變量的作用域,extem可以將全局變量作用域擴展到其他文件,而不是限制全局變量的作用域,答案為A選項。第2題 筆記記錄我的筆記(0) | 精選筆記(0)選擇筆記標簽:試題內容(0)答案解析(0)
3[單選題] 函數fun的功能是在a所指的具有n個元素的數組中查找最大值并返回給調用函數,函數不完整。
在if語句下劃線處應填人的選項是( )。
A.O>sB.* P>*sC.a[p]>a[s]D.p—a>P—s
參考答案:B
參考解析:函數fun的功能是在形參a所指的具有n個元素的數組中查找最大值并返回。通過for循環比較,s始終指向最大值的那個元素。取指針的值,使用+P,因此比較使用·P和}8,需要找到最大值,當}8<+P時,修改指針s的指向,因此答案為B選項。
4[單選題] C語言中,下列不合法的字符串常量是( )。
A.
B.
C.
D.
參考答案:B
參考解析:B項中字符串常量必須用雙}1號,否則不合法。
5[填空題]請補充main()函數,該函數的功能是:先以只寫方式打開文件file.dat,再把字符串s中的字符保存到這個磁盤文件中。請勿改動main()函數與其他函數中的任何內容,僅在的橫線上填寫所需的若干表達式或語句。
試題程序:
參考解析:
【1】file.dat【2】fpute(ch,f)【3】fclose(f)
【解析】第一空:根據C語言對于文件打開操作的語法fopen的用法可知語句中缺少文件名,根據程序中文件操作指針為空的提示語句:“printf(”cannot open file.dat\n”);”可知文件名為:“file.dat”。
第二空:這里應該是向文件里面寫入字符,根據前面字符的定義“ch=s[i]”和獲得的文件指針f,第二空應填“fputc(ch,f)”,其中fputc函數是輸出一個字符。
第三空:C語言中對于文件執行操作后,要對文件指針執行關閉操作,關閉文件的fclose函數的調用形式為fclose(文件指針),所以第三空應填“fclose(f)”。
6[簡答題]下列給定程序中,函數proc()的功能是:利用插入排序法對字符串中的字符按從大到小的順序進行排序。插入法的基本方法是:先對字符串中的頭兩個元素進行排序,然后把第3個字符插入前2個字符中,插人后前3個字符依然有序,再把第4個字符插入前3個字符中,待排序的字符串已在主函數中賦予。例如,原始字符串為“goodluck”,則排序后的字符串為“uoolkgdc”。
請修改程序中的錯誤,使它能得到正確結果。
注意:不要改動main()函數,不得增行或刪行,也不得更改程序的結構。
試題程序:
參考解析:
7[單選題] 有以下程序
程序運行后的輸出結果是( )。
A.1B.4C.0D.3
參考答案:C
參考解析:由結構體的定義初始化可知,a[0].X=4,aEo].Y=3,a[1].x=2,a[1].Y=1,因此計算a[0].y/a[0].x$a[1].x=3/4}2=(3/4)}2=0}2=0,故答案為c選項。
8[單選題] 若有定義“float a=25,b,*p=&b;”,則下列對賦值語句“*p=a;”和“p=&a;”的正確解釋為( )。
A.兩個語句都是將變量a的值賦予變量p
B.*p=a是使P指向變量a,而P=&a是將變量的值賦予變量指針p
C.*p=a是將變量a的值賦予變量b,而&a是使P指向變量a
D.兩個語句都是使p指向變量a
參考答案:C
參考解析:“p”是指針變量,指向一個地址:“*p”為p指針所指向地址的內容。“&”是取變量地址。
9[單選題] 下列選項中,能正確定義數組的語句是( )。
A.int num[0..2008];
B.int lllllll[];
C.int N:2008:
D.#define N 2008int num[N1;int num[N];
參考答案:D
參考解析:C語言不允許定義動態數組,定義數組的大小必須為常量表達式。A選項錯誤,C語言中數組沒有此類型的定義方法;B選項錯誤,定義數組應指明數組大小,如果不指明數組大小,需要給定初值的個數;c選項錯誤,N為變量,不能用來定義數組大小。因此D選項正確。
10[單選題] 下列程序的輸出結果是( )。
A.3,6,18B.3,6,2C.6,3,18 D.6,3,2
參考答案:B
參考解析:本題考查if…else語句。如果if條件成立,則執行if下面的語句,不成立則執行else,判斷條件,發現a