2001年10月自考高級(jí)語(yǔ)言程序設(shè)計(jì)(一)試題
課程代碼:00342 第一部分 選擇題
一、單項(xiàng)選擇題(本大題共20小題,每小題1分,共20分)在每小題列出的四個(gè)選項(xiàng)中只有一個(gè)選項(xiàng)是符合題目要求的,請(qǐng)將正確選項(xiàng)前的字母填在題后的括號(hào)內(nèi)。
1.C語(yǔ)言程序編譯時(shí),程序中的注釋部分
A.參加編譯,并會(huì)出現(xiàn)在目標(biāo)程序中
B.參加編譯,但不會(huì)出現(xiàn)在目標(biāo)程序中
C.不參加編譯,但會(huì)出現(xiàn)在目標(biāo)程序中
D.不參加編譯,也不會(huì)出現(xiàn)在目標(biāo)程序中
2.下列表達(dá)式的值為0的是( )
A.3%5 B.3/5.0 C.3/5 D.3<5
3.正確的C語(yǔ)言用戶自定義標(biāo)識(shí)符是( )
A.print B.float C.when? D.random%2
4.設(shè)int a=3;則表達(dá)式a<1&&--a>1的運(yùn)算結(jié)果和a的值分別是( )
A.0和2 B.0和3 C.1和2 D.1和3
5.下列敘述中,正確的是( )
A.引用帶參的宏時(shí),實(shí)際參數(shù)的類型應(yīng)與宏定義時(shí)的形式參數(shù)類型相一致
B.宏名必須用大寫字母表示
C.宏替換不占用運(yùn)行時(shí)間,只占編譯時(shí)間
D.在程序的一行上可以出現(xiàn)多個(gè)有效的宏定義
6.下列保留字中用于構(gòu)成循環(huán)結(jié)構(gòu)的是( )
A.if B.while C.switch D.default
7.與語(yǔ)句if(a>b)if(c>d)x=1;else x=2;等價(jià)的是( )
A.if(a>b){if(c>d)x=1;else x=2;} B.if(a>b){if(c>d)x=1;}else x=2; C.if((a>b)&&(c>d))x=1;else x=2; D.if(a<=b)x=2;else if(c>d) x=1;
8.設(shè)char x='a';則printf("x=%c,y=%c\n",x,97);的輸出是
A.x=a,y=97 B.x=97,y=a C.x=97,y=97 D.x=a,y=a
9.設(shè)int a[][4]={1,2,3,4,5,6,7,8,9};則數(shù)組a的第一維的大小是( )
A.2 B.3 C.4 D.無(wú)確定值
10.執(zhí)行下列程序
int a[3][3]={{1},{2},{3}}; int b[3][3]={1,2,3}; main()
{printf("%d\n”,a[1][0]+b[0][0]);} 后輸出的結(jié)果是
A.0 B.1 C.2 D.3
11.設(shè)char str[100];int i=5;則引用數(shù)組元素的錯(cuò)誤形式是( )
A.str[i+10] B.*(str+i) C.*(str+i-1) D.*((str++)+i)
12.設(shè)int x[]={1,2,3,4,5,6},*p=x;則值為3的表達(dá)式是( )
13.在函數(shù)內(nèi),定義變量時(shí)存儲(chǔ)類型符可省略的是( )
A.auto B.static C.extern D.register
14.執(zhí)行下列程序( )
int a=3,b=4;
void fun(int x1,int x2)
{printf("%d,%d\n",x1+x2,b);} main()
{int a=5,b=6;fun(a,b);} 后輸出的結(jié)果是
A.3,4 B.11,1 C.11,4 D.11,6
15.設(shè)有定義語(yǔ)句
struct
{int a;float b;} d[3]={{1,4},{2,5},{6,7}};
則printf("%3.1f\n",d[2].a*d[2].b/d[1].b);的輸出是( )
A.2.5 B.2.0 C.8.0 D.8.4
16.設(shè)有定義語(yǔ)句:enum t1 {a1,a2=7,a3,a4=15}time; ( ) 則枚舉常量a2和a3的值分別為
A.1和2 B.2和3 C.7和2 D.7和8
17.將一個(gè)整數(shù)10002存到磁盤上,以ASCII碼形式存儲(chǔ)和以二進(jìn)制形式存儲(chǔ),占用的字節(jié)數(shù)分別是( A.2和2 B.2和5 C.5和2 D.5和5
18.在文件使用方式中,字符串"rb"表示( )
A.打開一個(gè)已存在的二進(jìn)制文件,只能讀取數(shù)據(jù)
B.打開一個(gè)文本文件,只能寫入數(shù)據(jù)
C.打開一個(gè)已存在的文本文件,只能讀取數(shù)據(jù)
D.打開一個(gè)二進(jìn)制文件,只能寫入數(shù)據(jù)
19.執(zhí)行下列程序( ) # define F(y) 15>>y
#define PRINT(a) printf("%d",a) main() {
PRINT(F(2)); }
后輸出的結(jié)果是
A.3 B.3.5 C.14 D.7.5
20.main()函數(shù)可以帶兩個(gè)形參,一般分為argc和argv,其中argv可以定義為( ) A.int argv B.char * argv[]; C.char argv[]; D.char **argv[];
第二部分 非選擇題
二、填空題(本大題共10小題,每小題2分,共20分)
21.初始化值是0.618的雙精度變量a的定義形式為____________。
22.表達(dá)式!10!=1的值是____________。
23.設(shè)int i = 5;則循環(huán)語(yǔ)句while(i>=1)i--;執(zhí)行后,i的值為____________。
24.被調(diào)函數(shù)在執(zhí)行結(jié)束時(shí),這個(gè)函數(shù)中定義的____________類型的變量不被釋放。
25.設(shè)
{
int no;
char name[12]; float score[3]; }s1,*p=&s1;
用指針?lè)ńos1的成員no賦值1234的語(yǔ)句是____________。
26.C語(yǔ)言程序中對(duì)文本文件的存取是以____________為單位進(jìn)行的。
27.設(shè)char string[]="This_is_a_book!";則數(shù)組的長(zhǎng)度應(yīng)是____________。
28.設(shè)int a[2][3]={{2},{3}};則數(shù)組元素____________的值為3。
三、程序分析題(本大題共5小題,每小題5分,共25分)閱讀下列程序,將輸出結(jié)果寫到各題右側(cè)的空白處 31.int a=200; main() {int i;
for(i=1;i<=5;i++) {a++;
printf("%d,",a); s(); } } s()
{static int a=20; a++;
printf(%d\n",a); }