- 計(jì)算機(jī)二級(jí)考試C語(yǔ)言練習(xí)題及答案 推薦度:
- 相關(guān)推薦
2016計(jì)算機(jī)二級(jí)考試C語(yǔ)言練習(xí)題及答案
2016年3月計(jì)算機(jī)考試馬上就要到了,不知道大家都復(fù)習(xí)得怎么樣了呢?下面是百分網(wǎng)小編為考生搜索整理了關(guān)于計(jì)算機(jī)二級(jí)考試C語(yǔ)言練習(xí)題及答案,供大家參考學(xué)習(xí),希望對(duì)你有所幫助。想了解更多相關(guān)信息請(qǐng)持續(xù)關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!
練習(xí)題一
一、選擇題
1以下針對(duì)全局變量的敘述錯(cuò)誤的是
A.用extern說(shuō)明符可以限制全局變量的作用域
B.全局變量是在函數(shù)外部任意位置上定義的變量
C.全局變量的作用域是從定義位置開(kāi)始至源文件結(jié)束
D.全局變量的生存期貫穿于整個(gè)程序的運(yùn)行期間
參考答案:A
參考解析:在不同編譯單位內(nèi)用extern說(shuō)明符來(lái)擴(kuò)展全局變量的作用域,extem可以將全局變量作用域擴(kuò)展到其他文件,而不是限制全局變量的作用域,答案為A選項(xiàng)。
2以下敘述中正確的是
A.兩個(gè)字符串可以用關(guān)系運(yùn)算符進(jìn)行大小比較
B.函數(shù)調(diào)用strlen(s);會(huì)返回字符串S實(shí)際占用內(nèi)存的大小(以字節(jié)為單位)
C.C語(yǔ)言本身沒(méi)有提供對(duì)字符串進(jìn)行整體操作的運(yùn)算符
D.當(dāng)拼接兩個(gè)字符串時(shí),結(jié)果字符串占用的內(nèi)存空間是兩個(gè)原串占用空間的和
參考答案:C
參考解析:本題考查字符串處理函數(shù)strien、strcat、strcmp。B選項(xiàng)中strlen返回的是字符串s實(shí)際占用內(nèi)存大小加上結(jié)尾符,A選項(xiàng)中不能用關(guān)系運(yùn)算符進(jìn)行大小比較,可以使用strcmp。D選項(xiàng)當(dāng)使用連接函數(shù)strcat時(shí),內(nèi)存空間會(huì)減少一個(gè)字符位置。
3. 在C語(yǔ)言中,以 D 作為字符串結(jié)束標(biāo)志
A、’\n’
B、’ ’
C、 ’0’
D、’\0’
4.下列數(shù)據(jù)中屬于“字符串常量”的是( A )。
A、“a”
B、{ABC}
C、‘abc\0’
D、‘a’
若干個(gè)字符構(gòu)成字符串
在C語(yǔ)言中,用單引號(hào)標(biāo)識(shí)字符;用雙引號(hào)標(biāo)識(shí)字符串
選項(xiàng)B,C,分別用{}和’’標(biāo)識(shí)字符串
選項(xiàng)D,標(biāo)識(shí)字符。
5.已知char x[]="hello", y[]={'h','e','a','b','e'};, 則關(guān)于兩個(gè)數(shù)組長(zhǎng)度的正確描述是 B .
A、相同
B、x大于y
C、x小于y
D、以上答案都不對(duì)
C語(yǔ)言中,字符串后面需要一個(gè)結(jié)束標(biāo)志位'\0',通常系統(tǒng)會(huì)自動(dòng)添加。
對(duì)一維數(shù)組初始化時(shí)可采用字符串的形式(例如本題數(shù)組x),也可采用字符集合的形式(例如本題數(shù)組y)。在以字符串形式初始化時(shí),數(shù)組x不盡要存儲(chǔ)字符串中的字符,還要存儲(chǔ)字符串后的結(jié)束標(biāo)志位,因此數(shù)組x的長(zhǎng)度為6;在以字符集合形式初始化時(shí),數(shù)組y,僅存儲(chǔ)集合中的元素,因此數(shù)組y長(zhǎng)度為5
6若有定義語(yǔ)句:char a='\82';則變量a( )
A.說(shuō)明不合法B.包含1個(gè)字符C.包含2個(gè)字符D.包含3個(gè)字符
參考答案:B
參考解析:char a='\82',定義字符量a,char型變量值為1個(gè)字節(jié)長(zhǎng)度,并從右側(cè)開(kāi)始運(yùn)算,所以a的值應(yīng)為'2'。因此B選項(xiàng)正確。
7下面關(guān)于位運(yùn)算符的敘述,正確的是
A.||表示“按位或”的運(yùn)算
B.#表示“按位異或”的運(yùn)算
C.&表示“接位與”的運(yùn)算
D.~表示“按位異或”的運(yùn)算
參考答案:C
參考解析:本題考查位運(yùn)算。^為按位異或,|為按位或,~表示按位取反。所以C選項(xiàng)正確。
8若fp已定義為指向某文件的指針,且沒(méi)有讀到該文件的末尾,則C語(yǔ)言函數(shù)feof(fp)的函數(shù)返回值是
A.EOFB.非0C.-1D.0
參考答案:D
參考解析:本題考查文件的定位,feof函數(shù)的用法是從輸入流讀取數(shù)據(jù),如果到達(dá)文件末尾(遇文件結(jié)束符),eof函數(shù)值為非零值,否則為0,所以選項(xiàng)D正確。
8以下敘述中正確的是
A.只要適當(dāng)?shù)匦薷拇a,就可以將do-while與while相互轉(zhuǎn)換
B.對(duì)于“for(表達(dá)式1;表達(dá)式2;表達(dá)式3)循環(huán)體”首先要計(jì)算表達(dá)式2的值,以便決定是否開(kāi)始循環(huán)
C.對(duì)于“for(表達(dá)式1;表達(dá)式2;表達(dá)式3)循環(huán)體”,只在個(gè)別情況下才能轉(zhuǎn)換成while語(yǔ)句
D.如果根據(jù)算法需要使用無(wú)限循環(huán)(即通常所稱的“死循環(huán)”),則只能使用while語(yǔ)句
參考答案:A
參考解析:B選項(xiàng)中,for語(yǔ)句中需要先求解先求解表達(dá)式1;C選項(xiàng)中,for語(yǔ)句使用最為靈活,它完全可以取代while語(yǔ)句;D選項(xiàng)中,對(duì)于死循環(huán),也可以使用for語(yǔ)句。因此A選項(xiàng)正確。
9設(shè)有表示學(xué)生選課的三張表,學(xué)生s(學(xué)號(hào),姓名,性別,年齡,身份證號(hào)),課程c(課號(hào),課名),選課SC(學(xué)號(hào),課號(hào),成績(jī)),則表sc的關(guān)鍵字(鍵或碼)為( )。
A.課號(hào),成績(jī)B.學(xué)號(hào),成績(jī)C.學(xué)號(hào),課號(hào)D.學(xué)號(hào),姓名,成績(jī)
參考答案:C
參考解析:學(xué)號(hào)是學(xué)生表s的主鍵,課號(hào)是課程表c的主鍵,所以選課表SC的關(guān)鍵字就應(yīng)該是與前兩個(gè)表能夠直接聯(lián)系且能唯一定義的學(xué)號(hào)和課號(hào),所以選擇C。
10下列敘述中正確的是( )。
A.軟件是程序、數(shù)據(jù)和文檔
B.軟件是程序和數(shù)據(jù)
C.軟件是算法和數(shù)據(jù)結(jié)構(gòu)
D.軟件是算法和程序
參考答案:A
參考解析:計(jì)算機(jī)軟件由兩部分組成:一是機(jī)器可執(zhí)行的程序和數(shù)據(jù);二是機(jī)器不可執(zhí)行的,與軟件開(kāi)發(fā)、運(yùn)行、維護(hù)、使用等有關(guān)的文檔。故選A選項(xiàng)。
練習(xí)題二
1. 若“int n; float f=13.8;”,則執(zhí)行“n=(int)f%3”后,n的值是(A)
A、1
B、4
C、4.333333
D、4.6
“(int)f“表示將f中的值強(qiáng)制類型轉(zhuǎn)換為整型,即將13.8的小數(shù)部分舍掉,轉(zhuǎn)換為13;然后計(jì)算13%3,結(jié)果為1,再將結(jié)果賦給變量n,因此n的值為1
2. 以下對(duì)一維數(shù)組a的正確說(shuō)明是: D
A、char a(10);
B、 int a[];
C、int k=5,a[k];
D、char a[3]={‘a’,’b’,’c’};
詳見(jiàn)教材P143~144,一維數(shù)組的定義、初始化
類型符 數(shù)組名 [常量表達(dá)式]
類型符是指數(shù)組中數(shù)組元素的類型;數(shù)組名要符合標(biāo)識(shí)符命名規(guī)則;常量表達(dá)式是指數(shù)組的長(zhǎng)度(數(shù)組中包含元素的個(gè)數(shù)),其值只能是整數(shù),不可以是變量,而且從1開(kāi)始計(jì)數(shù)。
選項(xiàng)A,常量表達(dá)式只能放在中括號(hào) [ ]中
選項(xiàng)B,只有在對(duì)數(shù)組初始化(即賦值)的時(shí)候才可以省略數(shù)組的長(zhǎng)度,B中并未對(duì)a進(jìn)行初始化。
選項(xiàng)C,常量表達(dá)式不能為變量。
3.以下能對(duì)一維數(shù)組a進(jìn)行初始化的語(yǔ)句是:( C )
A、int a[5]=(0,1,2,3,4,)
B、 inta(5)={}
C、 int a[3]={0,1,2}
D、 int a{5}={10*1}
詳見(jiàn)教材P145,一維數(shù)組的定義、初始化
選項(xiàng)B,D,常量表達(dá)式只能放在中括號(hào) [ ]中
選項(xiàng)A,數(shù)組可以看做是若干個(gè)相同數(shù)據(jù)類型元素的有序集合,因此以集合的形式對(duì)其初始化,使用{ }對(duì)其初始化,選項(xiàng)A用了().
4.在C語(yǔ)言中對(duì)一維整型數(shù)組的正確定義為 D 。
A、int a(10);
B、int n=10,a[n];
C、int n;a[n];
D、#define N 10
int a[N];
5、已知:int a[10]; 則對(duì)a數(shù)組元素的正確引用是( D )。
A、a[10]
B、a[3.5]
C、a(5)
D、a[0]
詳見(jiàn)教材P144,數(shù)組元素的引用
數(shù)組名[下標(biāo)]
引用數(shù)組元素時(shí),[ ]中的下標(biāo)為邏輯地址下標(biāo),只能為整數(shù),可以為變量,且從0開(kāi)始計(jì)數(shù)
int a[10]表示定義了一個(gè)包含10個(gè)整型數(shù)據(jù)的數(shù)組a,數(shù)組元素的邏輯地址下標(biāo)范圍為0~9,即a[0] 表示組中第1個(gè)元素; a[1] 表示組中第2個(gè)元素; a[2] 表示組中第3個(gè)元素; ......;a[9] 表示組中第10個(gè)元素.
選項(xiàng)A,超過(guò)了數(shù)組a的邏輯地址下標(biāo)范圍;
選項(xiàng)B,邏輯地址下標(biāo)只能為整數(shù)
選項(xiàng)C,邏輯地址下標(biāo)只能放在[ ]中
6.下列不正確的定義是( A )。
A、int *p=&i,i;
B、int *p,i;
C.int i,*p=&i;
D、int i,*p;
選項(xiàng)A先定義一個(gè)整型指針變量p,然后將變量i的地址賦給p。然而此時(shí)還未定義變量i因此編譯器無(wú)法獲得變量i的地址。(A與C對(duì)比,選項(xiàng)C先定義變量i,則在內(nèi)存中為i分配空間,因此i在內(nèi)存空間的地址就可以確定了;然后再定義p,此時(shí)可以為p賦i的地址,C正確)
7. 若有說(shuō)明:int n=2,*p=&n,*q=p,則以下非法的賦值語(yǔ)句是: ( D )
A、p=q
B、*p=*q
C、n=*q
D、p=n
p,q同為整型指針變量,二者里面僅能存放整型變量的地址。
選項(xiàng)A,q中為地址,因此可將此地址賦給p
選項(xiàng)B,*p表示p所指向?qū)ο髇的內(nèi)容,即一個(gè)整數(shù);*q表示q所指向?qū)ο蟮膬?nèi)容,由于在定義q時(shí)為其初始化,將p中n的地址給q,因此p中存放n的地址,*q表示q所指向?qū)ο髇的內(nèi)容.因此*p=*q 相當(dāng)于 n=n;
選項(xiàng)C,n=*q 等價(jià)于n=n;
選項(xiàng)D,p中只能存放地址,不能將n中的整數(shù)值賦給p
8.有語(yǔ)句:int a[10],;則 B 是對(duì)指針變量p的正確定義和初始化。
A、int p=*a;
B、int *p=a;
C、int p=&a;
D、int *p=&a;
選項(xiàng)A,a是數(shù)組名,不是指針變量名,因此不可用*標(biāo)注數(shù)組名a
選項(xiàng)C,a是數(shù)組名,數(shù)組名就是地址,無(wú)需再用地址符號(hào)。而且在定義指針變量p時(shí),應(yīng)在變量名前加*,標(biāo)明p是指針變量
選項(xiàng)D,a是數(shù)組名,數(shù)組名就是地址,無(wú)需再用地址符號(hào)。
9.若有說(shuō)明語(yǔ)句“int a[5],*p=a;”,則對(duì)數(shù)組元素的正確引用是( C )。
A、a[p]
B、p[a]
C、*(p+2)
D、p+2
首先定義一個(gè)整型數(shù)組a,a的長(zhǎng)度為5,然后定義一個(gè)指針變量p,并同時(shí)對(duì)p進(jìn)行初始化,將數(shù)組a的地址賦給p。因此此時(shí)p中存放的數(shù)組a的首地址,即數(shù)組中第一個(gè)元素a[0]的地址。
對(duì)于數(shù)組元素下標(biāo)的引用(詳見(jiàn)p144), 一般形式 數(shù)組名[下標(biāo)] 其中下標(biāo)為邏輯地址下標(biāo),從0開(kāi)始計(jì)數(shù),方括號(hào)中的下標(biāo)可以是變量,可以是表達(dá)式,但結(jié)果一定要是整數(shù)。
選項(xiàng)A,p中存放的是地址,不是整數(shù),不能做數(shù)組元素的下標(biāo)
選項(xiàng)B,a是數(shù)組名,數(shù)組名就是地址,不是整數(shù),不能做數(shù)組元素的下標(biāo)
選項(xiàng)C,(重點(diǎn)!!!詳見(jiàn)p231~234) p+2表示指向同一數(shù)組中的下兩個(gè)元素的地址,當(dāng)前p指向a[0],則p+2表示a[2]的地址,因此*(p+2)表示a[2]的內(nèi)容
10. 有如下程序
int a[10]={1,2,3,4,5,6,7,8,9,10},*P=a;
則數(shù)值為9的表達(dá)式是 B
A、 *P+9
B、 *(P+8)
C、 *P+=9
D、P+8
(重點(diǎn)!!!詳見(jiàn)p231~234)
首先定義一個(gè)整型數(shù)組a,a的長(zhǎng)度為5,然后定義一個(gè)指針變量P,并同時(shí)對(duì)P進(jìn)行初始化,將數(shù)組a的地址賦給P。因此此時(shí)P中存放的數(shù)組a的首地址,即數(shù)組中第一個(gè)元素a[0]的地址。
數(shù)組中9對(duì)應(yīng)的是a[8], 選項(xiàng)B,P+8表示數(shù)組中后8個(gè)元素的地址,即a[8]的地址。*(P+8)則表示該地址內(nèi)所存放的內(nèi)容,即a[8]的值。
選項(xiàng)A,*P表示P所指向?qū)ο蟮膬?nèi)容,此時(shí)P指向a[0], *P即a[0]的值1. *P+9=1+9=10
選項(xiàng)C,*P表示P所指向?qū)ο蟮膬?nèi)容,此時(shí)P指向a[0], *P即a[0]的值。因此*P+=9 即*P =*P+9, 等價(jià)于a[0]=a[0]+9.
選項(xiàng)D,P+8表示數(shù)組中后8個(gè)元素的地址,即a[8]的地址,而非a[8]中的值。
11 以下敘述中正確的是( )
A.用戶自己定義的函數(shù)只能調(diào)用庫(kù)函數(shù)
B.實(shí)用的C語(yǔ)言源程序總是由一個(gè)或多個(gè)函數(shù)組成
C.不同函數(shù)的形式參數(shù)不能使用相同名稱的標(biāo)識(shí)符
D.在C語(yǔ)言的函數(shù)內(nèi)部,可以定義局部嵌套函數(shù)
參考答案:B
參考解析:A選項(xiàng)中,”用戶自己定義的函數(shù)只能調(diào)用庫(kù)函數(shù)”描述是不正確的,也可以調(diào)用自定義函數(shù);C選項(xiàng)中,對(duì)于不同函數(shù)的形式參數(shù)可以使用相同名稱的標(biāo)識(shí)符;D選項(xiàng)中,關(guān)于函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套。因此B選項(xiàng)正確。
12 以下關(guān)于C語(yǔ)言數(shù)據(jù)類型使用的敘述中錯(cuò)誤的是( )。
A.若要處理如“人員信息”等含有不同類型的相關(guān)數(shù)據(jù),應(yīng)自定義結(jié)構(gòu)體類型
B.若要保存帶有多位小數(shù)的數(shù)據(jù),可使用雙精度類型
C.若只處理“真”和“假”兩種邏輯值,應(yīng)使用邏輯類型
D.整數(shù)類型表示的自然數(shù)是準(zhǔn)確無(wú)誤差的
參考答案:C
參考解析:C語(yǔ)言中沒(méi)有邏輯類型,所以c錯(cuò)誤。若要保存帶有多位小數(shù)的數(shù)據(jù),可以用單精度類型也可以用雙精度類型。處理包含不同類型的相關(guān)數(shù)據(jù)可以定義為結(jié)構(gòu)體類型。整數(shù)類型可以無(wú)誤差的表示自然數(shù)。
13下面選項(xiàng)中關(guān)于編譯預(yù)處理的敘述正確的是
A.預(yù)處理命令行必須使用分號(hào)結(jié)尾
B.凡是以#號(hào)開(kāi)頭的行,都被稱為編譯預(yù)處理命令行
C.預(yù)處理命令行不能出現(xiàn)在程序的最后一行
D.預(yù)處理命令行的作用域是到最近的函數(shù)結(jié)束處
參考答案:B
參考解析:本題考查預(yù)編譯的預(yù)編譯處理命令行,預(yù)處理命令行不能以分號(hào)結(jié)尾,所以A選項(xiàng)錯(cuò)誤,預(yù)處理命令行可以出現(xiàn)在程序的最后一行,預(yù)處理命令行作用域是整個(gè)文件。
【計(jì)算機(jī)二級(jí)考試C語(yǔ)言練習(xí)題及答案】相關(guān)文章:
計(jì)算機(jī)二級(jí)考試《C語(yǔ)言》強(qiáng)化練習(xí)題及答案05-28
計(jì)算機(jī)二級(jí)《C語(yǔ)言》練習(xí)題及答案04-11
計(jì)算機(jī)二級(jí)C語(yǔ)言練習(xí)題及答案01-22
計(jì)算機(jī)二級(jí)《C語(yǔ)言》基礎(chǔ)練習(xí)題及答案05-11
計(jì)算機(jī)二級(jí)C語(yǔ)言考前練習(xí)題及答案03-20
2017計(jì)算機(jī)二級(jí)C語(yǔ)言精選練習(xí)題及答案05-24
計(jì)算機(jī)二級(jí)C語(yǔ)言練習(xí)題及答案201707-26