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