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