一、單項選擇題(在每小題的四個備選答案中,選出一個正確的答案,并將其代碼填入題干后的括號內(nèi)。每小題1分,共20分)
1.程序中定義以下宏 #define S(a,b) a*b
若定義 int area; 且令area=S(3+1,3+4),則變量area的值為()
A10 B12 C21 D28
2.正確的標(biāo)識符是 ()
Aa Ba=2Ca.3 Da_3
3.表達(dá)式1&3&5&7的值為()
A1B3C5D7
4.語句printf(″s\\t″)的輸出結(jié)果為 ()
As\\t Bs\t Cs\ Ds
5. 執(zhí)行下列語句中,sum變量的值是 ()
int sum=0
for(int i=0;i<10;i++,sum+=i);
A45B55C0D編譯錯誤
6.已知有共用體變量data1定義如下:
union data
{ int i;
char ch;
float f;
} data1; 則變量data1所占的內(nèi)存存儲空間可表示為 ()
Asize of(int) Bsize of(char)
Csize of(float)
Dsize of(int)+size of(char)+size of(float)
7.若fp是指向某文件的指針,且feof(fp)的返回值是非零值,則表示
()
A已讀到此文件末尾 B未讀到此文件的末尾
C此文件已關(guān)閉 D此文件尚未被打開
8.以下c語言函數(shù)聲明中,不正確的是()
Avoid fun (int x, int y); Bfun (int x, int y);
Cint fun (int x,y); Dchar *fun (char *s);
9.下列選項中,不合法的C語言關(guān)鍵字是 ()
Aauto Bdefault Cstatic Dvar
10.若x=4,則x*=x+2的值為 ()
A36 B24 C18 D20
11.函數(shù)調(diào)用語句func((exp1,exp2),(exp3,exp4,exp5));中,實參的個
數(shù)為 ()
A1 B2 C4 D5
12.設(shè)a為5,執(zhí)行下列語句后,b的值不為2的是 ()
Ab=a/2 Bb=6-(-a)
Cb=a%2 Db=a>32:1
13.假設(shè)指針p1已經(jīng)指向了某個整型變量,要使指針p2也指向同一個變
量,則下面各項中正確的是 ()
Ap2=**p1 Bp2=*&p1
Cp2=*p1 Dp2=&*p1
14.以下運算符中,運算對象必須是整型的是 ()
A/B%=C!=D〈=
15.以下關(guān)于typedef的敘述中錯誤的是 ()
A用typedef可以增加新的類型
B用typedef可以定義各種類型名,但不能用來定義變量
C用typedef只是將已有的類型用新的標(biāo)識符來代表
D使用typedef有利于程序的通用和移植
16.若執(zhí)行完成下列語句:
int a=3,b=6,c;
c=a∧b《2;
則變量c的二進(jìn)制值為 ()
A00011100 B00010100 C0001000 D00011011
17.設(shè)有定義int x=1; int y=‘a(chǎn)’<‘A’x-:x++;,則變量y的值是
()
A0 B2 C1 D3
18.以下關(guān)于宏替換的敘述不正確的是()
A宏替換只是字符替換 B宏名無類型
C宏替換不占用運行時間 D宏替換不占用編譯時間
19. 以下對枚舉類型名的定義中正確的是 ()
Aenum s={a,b,c} Benum s {a=9,b=2,c}
Cenum s={′a′, ′b′, ′c′}
Denum s{′a′, ′b′, ′c′}
20. 假設(shè)指針p已經(jīng)指向某個整型變量x,則*p相當(dāng)于 ()
A&x B&p Cx D*x
二、多項選擇題 (在每小題的五個備選答案中,選出二至五個正確答案,并將其代碼填寫在題干后的括號內(nèi);錯選、多選不得分。每小題2分,共10分)
1. C語言中的文件類型有 ()
A索引文件 B文本文件CASCII文件
D二進(jìn)制文件E隨機(jī)文件
2. 以下關(guān)于C語言中循環(huán)的描述正確的是 ()
A在while和do-while循環(huán)體內(nèi)應(yīng)包含使循環(huán)趨于結(jié)束的語句
Bdo-while的循環(huán)體不能是復(fù)合語句
Cdo-while的循環(huán)體至少無條件執(zhí)行一次
D在for循環(huán)中可以使用break語句跳出循環(huán)體
Efor循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況
3. 合法的變量名有()
Aa_1_2 Bb2 C_abc DABC E$1
4. 整型變量的類型標(biāo)識符是()
Ashort Blong CUnsigned int
Dint Echar
5. 以下敘述中正確的是 ()
A一個C語言程序有且僅有一個main函數(shù)
BC語言程序中,main函數(shù)是沒有參數(shù)的
C一個函數(shù)通過其他函數(shù)間接的調(diào)用了自身,這種情況也是一種遞歸
調(diào)用
Dmain函數(shù)是由系統(tǒng)調(diào)用的
E若要通過函數(shù)參數(shù)帶回一個或多個返回值,則應(yīng)使用按地址傳送的參數(shù)結(jié)合方式
三、判斷題(認(rèn)為對的,在題后的括號內(nèi)打″√″,認(rèn)
為錯的打″×″。每小題1分,共6分)
1.若有說明int c;則while (c=getchar());是錯誤的C語句。()
2.C語言中,共用體類型的變量在程序運行期間,所有成員都在內(nèi)存中。()
3.在一個函數(shù)內(nèi)部的復(fù)合語句中定義的變量,只在該復(fù)合語句范圍內(nèi)有效。()
4.C語言程序中,一個文件中的函數(shù)可以引用存儲在另一個文件中的函數(shù)和變量。 ()
5.使用continue和break語句,都可以使得C程序的執(zhí)行直接從循環(huán)中跳出。 ()
6.若a為一維數(shù)組名,則*(a+i)與a[i]等價。()
四、閱讀程序,將程序運行結(jié)果填寫到題后的橫線上
(每小題5分,共25分)
1. #include ″stdio.h″
main()
{static char str;=″Language″;
char *s=&str;
while (-s>=&str
1.程序中定義以下宏 #define S(a,b) a*b
若定義 int area; 且令area=S(3+1,3+4),則變量area的值為()
A10 B12 C21 D28
2.正確的標(biāo)識符是 ()
Aa Ba=2Ca.3 Da_3
3.表達(dá)式1&3&5&7的值為()
A1B3C5D7
4.語句printf(″s\\t″)的輸出結(jié)果為 ()
As\\t Bs\t Cs\ Ds
5. 執(zhí)行下列語句中,sum變量的值是 ()
int sum=0
for(int i=0;i<10;i++,sum+=i);
A45B55C0D編譯錯誤
6.已知有共用體變量data1定義如下:
union data
{ int i;
char ch;
float f;
} data1; 則變量data1所占的內(nèi)存存儲空間可表示為 ()
Asize of(int) Bsize of(char)
Csize of(float)
Dsize of(int)+size of(char)+size of(float)
7.若fp是指向某文件的指針,且feof(fp)的返回值是非零值,則表示
()
A已讀到此文件末尾 B未讀到此文件的末尾
C此文件已關(guān)閉 D此文件尚未被打開
8.以下c語言函數(shù)聲明中,不正確的是()
Avoid fun (int x, int y); Bfun (int x, int y);
Cint fun (int x,y); Dchar *fun (char *s);
9.下列選項中,不合法的C語言關(guān)鍵字是 ()
Aauto Bdefault Cstatic Dvar
10.若x=4,則x*=x+2的值為 ()
A36 B24 C18 D20
11.函數(shù)調(diào)用語句func((exp1,exp2),(exp3,exp4,exp5));中,實參的個
數(shù)為 ()
A1 B2 C4 D5
12.設(shè)a為5,執(zhí)行下列語句后,b的值不為2的是 ()
Ab=a/2 Bb=6-(-a)
Cb=a%2 Db=a>32:1
13.假設(shè)指針p1已經(jīng)指向了某個整型變量,要使指針p2也指向同一個變
量,則下面各項中正確的是 ()
Ap2=**p1 Bp2=*&p1
Cp2=*p1 Dp2=&*p1
14.以下運算符中,運算對象必須是整型的是 ()
A/B%=C!=D〈=
15.以下關(guān)于typedef的敘述中錯誤的是 ()
A用typedef可以增加新的類型
B用typedef可以定義各種類型名,但不能用來定義變量
C用typedef只是將已有的類型用新的標(biāo)識符來代表
D使用typedef有利于程序的通用和移植
16.若執(zhí)行完成下列語句:
int a=3,b=6,c;
c=a∧b《2;
則變量c的二進(jìn)制值為 ()
A00011100 B00010100 C0001000 D00011011
17.設(shè)有定義int x=1; int y=‘a(chǎn)’<‘A’x-:x++;,則變量y的值是
()
A0 B2 C1 D3
18.以下關(guān)于宏替換的敘述不正確的是()
A宏替換只是字符替換 B宏名無類型
C宏替換不占用運行時間 D宏替換不占用編譯時間
19. 以下對枚舉類型名的定義中正確的是 ()
Aenum s={a,b,c} Benum s {a=9,b=2,c}
Cenum s={′a′, ′b′, ′c′}
Denum s{′a′, ′b′, ′c′}
20. 假設(shè)指針p已經(jīng)指向某個整型變量x,則*p相當(dāng)于 ()
A&x B&p Cx D*x
二、多項選擇題 (在每小題的五個備選答案中,選出二至五個正確答案,并將其代碼填寫在題干后的括號內(nèi);錯選、多選不得分。每小題2分,共10分)
1. C語言中的文件類型有 ()
A索引文件 B文本文件CASCII文件
D二進(jìn)制文件E隨機(jī)文件
2. 以下關(guān)于C語言中循環(huán)的描述正確的是 ()
A在while和do-while循環(huán)體內(nèi)應(yīng)包含使循環(huán)趨于結(jié)束的語句
Bdo-while的循環(huán)體不能是復(fù)合語句
Cdo-while的循環(huán)體至少無條件執(zhí)行一次
D在for循環(huán)中可以使用break語句跳出循環(huán)體
Efor循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況
3. 合法的變量名有()
Aa_1_2 Bb2 C_abc DABC E$1
4. 整型變量的類型標(biāo)識符是()
Ashort Blong CUnsigned int
Dint Echar
5. 以下敘述中正確的是 ()
A一個C語言程序有且僅有一個main函數(shù)
BC語言程序中,main函數(shù)是沒有參數(shù)的
C一個函數(shù)通過其他函數(shù)間接的調(diào)用了自身,這種情況也是一種遞歸
調(diào)用
Dmain函數(shù)是由系統(tǒng)調(diào)用的
E若要通過函數(shù)參數(shù)帶回一個或多個返回值,則應(yīng)使用按地址傳送的參數(shù)結(jié)合方式
三、判斷題(認(rèn)為對的,在題后的括號內(nèi)打″√″,認(rèn)
為錯的打″×″。每小題1分,共6分)
1.若有說明int c;則while (c=getchar());是錯誤的C語句。()
2.C語言中,共用體類型的變量在程序運行期間,所有成員都在內(nèi)存中。()
3.在一個函數(shù)內(nèi)部的復(fù)合語句中定義的變量,只在該復(fù)合語句范圍內(nèi)有效。()
4.C語言程序中,一個文件中的函數(shù)可以引用存儲在另一個文件中的函數(shù)和變量。 ()
5.使用continue和break語句,都可以使得C程序的執(zhí)行直接從循環(huán)中跳出。 ()
6.若a為一維數(shù)組名,則*(a+i)與a[i]等價。()
四、閱讀程序,將程序運行結(jié)果填寫到題后的橫線上
(每小題5分,共25分)
1. #include ″stdio.h″
main()
{static char str;=″Language″;
char *s=&str;
while (-s>=&str

