2015年計算機二級考試《C語言》提高練習題五份(2)
1[單選題]若有以下程序
則程序的輸出結果是
A.Zhao,m,290,Zhao,f,350B.Zhao,m,290,Qian,f,350C.Qian,f,350,Qian,f,350D.Qian,m,290,Qian,f,350
參考答案:D
參考解析:本題中考查結構體中變量的引用,a結構體中Flame被修改為Qian,所以本題答案為D。
2[單選題] 有以下程序:
程序運行后的輸出結果是( )。
A.LoB.30C.0D.64
參考答案:D
參考解析:本題目中靜態局部變量x,在靜態存儲區內分配存儲單元。在程序整個運行期間都不釋放。所以第一次循環s的值為2,第二次循環中,返回的x的值為4,所以s的值為8,第三次循環,返回的x的值為8,所以S的值為64.
3[單選題] 下列敘述中正確的是( )。
A.軟件是程序、數據和文檔
B.軟件是程序和數據
C.軟件是算法和數據結構
D.軟件是算法和程序
參考答案:A
參考解析:計算機軟件由兩部分組成:一是機器可執行的程序和數據;二是機器不可執行的,與軟件開發、運行、維護、使用等有關的文檔。故選A選項。
4[簡答題]下列給定程序中,函數proc()的功能是:從m個學生的成績中統計出低于平均分的學生人數,此人數由函數值返回,平均分存放在形參aver所指的存儲單元中。例如輸入8名學生的成績:
987867563489.578.576.5
則低于平均分的學生人數為3(平均分為72.187500)。請修改程序中的錯誤,使它能得出正確的結果。
注意:不要改動main()函數,不得增行或刪行,也不得更改程序的結構。
試題程序:
參考解析:
(1)錯誤:t=<[3];
正確:t+=s[k];
(2)錯誤:*aver=&ave;
正確:*aver=ave;
【解析】由函數proe()可知,變量t中存放所有學生成績之和。因此,“t=s[k];”應改為“t+=s[k];”。題目中要求將學生的平均成績由形參aver返回主函數中,因此,“*aver=&ave;”應改為“*aver=ave;”。
5[單選題] 以下敘述中正確的是( )。
A.c語言規定必須用main作為主函數名,程序將從此開始執行
6[單選題] 有如下程序:
該程序的輸出結果是( )。
A.a=2,b=1B.B.a=1,b=1C.a=1,b=0 D.a=2,b=2
參考答案:A
參考解析:當x為1時,執行case 1,a自加等于l,因為case l后沒有break,接著執行CaSe 2,此時a的值為2,b自加為1,故選擇A選項。
7[單選題] 若有定義“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指針所指向地址的內容。“&”是取變量地址。
8[單選題] 以下程序段中的變量已正確定義:
程序段的輸出結果是( )。
A.**B.****C.*D.********
參考答案:C
參考解析:由于內層循環for(k=1;k<3;k++)后面直接跟了空語句“;”所以在循環內部什么操作也不做,跳出外層循環后執行打印語句,所以打印了一個“t”,選擇C。
9[單選題] 設有以下定義:
union data
{int d1;float d2;}demo;
則下面敘述中錯誤的是( )。
A.變量demo與成員d2所占的內存字節數相同
B.變量demo中各成員的地址相同
C.變量demo和各成員的地址相同
D.若給demo.D1賦99后,dem0.d2中的值是99.0
參考答案:D
參考解析:共用體變量中的所有成員共享一段公共存儲區,所有成員的首地址相同。在每一個時刻所有的成員中只有一個有效,即只有最后一個被賦值的成員有效,其余的成員無效。
10[單選題] 軟件按功能可以分為應用軟件、系統軟件和支撐軟件(或工具軟件)。下面屬于系統軟件的是( ):
A.學生成績管理系統
B.ERP系統
C.辦公自動化系統
D.UNIX系統
參考答案:D
參考解析:系統軟件是管理計算機的資源,提高計算機的使用效率,為用戶提供各種服務的軟件。應用軟件是為了應用于特定的領域而開發的軟件。選項D屬于系統軟件。選項A、B、C屬于應用軟件。故選D選項。
B.可以在程序中由用戶指定任意一個函數作為主函數,程序將從此開始執行
C.c語言程序將從源程序中第一個函數開始執行
D.main的各種大小寫拼寫形式都可以作為主函數名,如MAIN,Main等
參考答案:A
參考解析:C語言中的主函數只能是main()函數,不能任意指定,所以B選項錯誤。C語言從主函數main()開始,到主函數main()結束,所以C選項錯誤。主函數必須寫成小寫的main,不能混淆大小寫,所以D選項錯誤。