亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

試題

計算機二級考試C語言練習題及答案

時間:2024-07-08 17:19:07 試題 我要投稿

2016計算機二級考試C語言練習題及答案

  2016年3月計算機考試馬上就要到了,不知道大家都復習得怎么樣了呢?下面是百分網小編為考生搜索整理了關于計算機二級考試C語言練習題及答案,供大家參考學習,希望對你有所幫助。想了解更多相關信息請持續(xù)關注我們應屆畢業(yè)生考試網!

2016計算機二級考試C語言練習題及答案

  練習題一

  一、選擇題

  1以下針對全局變量的敘述錯誤的是

  A.用extern說明符可以限制全局變量的作用域

  B.全局變量是在函數外部任意位置上定義的變量

  C.全局變量的作用域是從定義位置開始至源文件結束

  D.全局變量的生存期貫穿于整個程序的運行期間

  參考答案:A

  參考解析:在不同編譯單位內用extern說明符來擴展全局變量的作用域,extem可以將全局變量作用域擴展到其他文件,而不是限制全局變量的作用域,答案為A選項。

  2以下敘述中正確的是

  A.兩個字符串可以用關系運算符進行大小比較

  B.函數調用strlen(s);會返回字符串S實際占用內存的大小(以字節(jié)為單位)

  C.C語言本身沒有提供對字符串進行整體操作的運算符

  D.當拼接兩個字符串時,結果字符串占用的內存空間是兩個原串占用空間的和

  參考答案:C

  參考解析:本題考查字符串處理函數strien、strcat、strcmp。B選項中strlen返回的是字符串s實際占用內存大小加上結尾符,A選項中不能用關系運算符進行大小比較,可以使用strcmp。D選項當使用連接函數strcat時,內存空間會減少一個字符位置。

  3. 在C語言中,以 D 作為字符串結束標志

  A、’\n’

  B、’ ’

  C、 ’0’

  D、’\0’

  4.下列數據中屬于“字符串常量”的是( A )。

  A、“a”

  B、{ABC}

  C、‘abc\0’

  D、‘a’

  若干個字符構成字符串

  在C語言中,用單引號標識字符;用雙引號標識字符串

  選項B,C,分別用{}和’’標識字符串

  選項D,標識字符。

  5.已知char x[]="hello", y[]={'h','e','a','b','e'};, 則關于兩個數組長度的正確描述是 B .

  A、相同

  B、x大于y

  C、x小于y

  D、以上答案都不對

  C語言中,字符串后面需要一個結束標志位'\0',通常系統(tǒng)會自動添加。

  對一維數組初始化時可采用字符串的形式(例如本題數組x),也可采用字符集合的形式(例如本題數組y)。在以字符串形式初始化時,數組x不盡要存儲字符串中的字符,還要存儲字符串后的結束標志位,因此數組x的長度為6;在以字符集合形式初始化時,數組y,僅存儲集合中的元素,因此數組y長度為5

  6若有定義語句:char a='\82';則變量a(  )

  A.說明不合法B.包含1個字符C.包含2個字符D.包含3個字符

  參考答案:B

  參考解析:char a='\82',定義字符量a,char型變量值為1個字節(jié)長度,并從右側開始運算,所以a的值應為'2'。因此B選項正確。

  7下面關于位運算符的敘述,正確的是

  A.||表示“按位或”的運算

  B.#表示“按位異或”的運算

  C.&表示“接位與”的運算

  D.~表示“按位異或”的運算

  參考答案:C

  參考解析:本題考查位運算。^為按位異或,|為按位或,~表示按位取反。所以C選項正確。

  8若fp已定義為指向某文件的指針,且沒有讀到該文件的末尾,則C語言函數feof(fp)的函數返回值是

  A.EOFB.非0C.-1D.0

  參考答案:D

  參考解析:本題考查文件的定位,feof函數的用法是從輸入流讀取數據,如果到達文件末尾(遇文件結束符),eof函數值為非零值,否則為0,所以選項D正確。

  8以下敘述中正確的是

  A.只要適當地修改代碼,就可以將do-while與while相互轉換

  B.對于“for(表達式1;表達式2;表達式3)循環(huán)體”首先要計算表達式2的值,以便決定是否開始循環(huán)

  C.對于“for(表達式1;表達式2;表達式3)循環(huán)體”,只在個別情況下才能轉換成while語句

  D.如果根據算法需要使用無限循環(huán)(即通常所稱的“死循環(huán)”),則只能使用while語句

  參考答案:A

  參考解析:B選項中,for語句中需要先求解先求解表達式1;C選項中,for語句使用最為靈活,它完全可以取代while語句;D選項中,對于死循環(huán),也可以使用for語句。因此A選項正確。

  9設有表示學生選課的三張表,學生s(學號,姓名,性別,年齡,身份證號),課程c(課號,課名),選課SC(學號,課號,成績),則表sc的關鍵字(鍵或碼)為( )。

  A.課號,成績B.學號,成績C.學號,課號D.學號,姓名,成績

  參考答案:C

  參考解析:學號是學生表s的主鍵,課號是課程表c的主鍵,所以選課表SC的關鍵字就應該是與前兩個表能夠直接聯(lián)系且能唯一定義的學號和課號,所以選擇C。

  10下列敘述中正確的是( )。

  A.軟件是程序、數據和文檔

  B.軟件是程序和數據

  C.軟件是算法和數據結構

  D.軟件是算法和程序

  參考答案:A

  參考解析:計算機軟件由兩部分組成:一是機器可執(zhí)行的程序和數據;二是機器不可執(zhí)行的,與軟件開發(fā)、運行、維護、使用等有關的文檔。故選A選項。

  練習題二

  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中的值強制類型轉換為整型,即將13.8的小數部分舍掉,轉換為13;然后計算13%3,結果為1,再將結果賦給變量n,因此n的值為1

  2. 以下對一維數組a的正確說明是: D

  A、char a(10);

  B、 int a[];

  C、int k=5,a[k];

  D、char a[3]={‘a’,’b’,’c’};

  詳見教材P143~144,一維數組的定義、初始化

  類型符 數組名 [常量表達式]

  類型符是指數組中數組元素的類型;數組名要符合標識符命名規(guī)則;常量表達式是指數組的長度(數組中包含元素的個數),其值只能是整數,不可以是變量,而且從1開始計數。

  選項A,常量表達式只能放在中括號 [ ]中

  選項B,只有在對數組初始化(即賦值)的時候才可以省略數組的長度,B中并未對a進行初始化。

  選項C,常量表達式不能為變量。

  3.以下能對一維數組a進行初始化的語句是:( 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}

  詳見教材P145,一維數組的定義、初始化

  選項B,D,常量表達式只能放在中括號 [ ]中

  選項A,數組可以看做是若干個相同數據類型元素的有序集合,因此以集合的形式對其初始化,使用{ }對其初始化,選項A用了().

  4.在C語言中對一維整型數組的正確定義為 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]; 則對a數組元素的正確引用是( D )。

  A、a[10]

  B、a[3.5]

  C、a(5)

  D、a[0]

  詳見教材P144,數組元素的引用

  數組名[下標]

  引用數組元素時,[ ]中的下標為邏輯地址下標,只能為整數,可以為變量,且從0開始計數

  int a[10]表示定義了一個包含10個整型數據的數組a,數組元素的邏輯地址下標范圍為0~9,即a[0] 表示組中第1個元素; a[1] 表示組中第2個元素; a[2] 表示組中第3個元素; ......;a[9] 表示組中第10個元素.

  選項A,超過了數組a的邏輯地址下標范圍;

  選項B,邏輯地址下標只能為整數

  選項C,邏輯地址下標只能放在[ ]中

  6.下列不正確的定義是( A )。

  A、int *p=&i,i;

  B、int *p,i;

  C.int i,*p=&i;

  D、int i,*p;

  選項A先定義一個整型指針變量p,然后將變量i的地址賦給p。然而此時還未定義變量i因此編譯器無法獲得變量i的地址。(A與C對比,選項C先定義變量i,則在內存中為i分配空間,因此i在內存空間的地址就可以確定了;然后再定義p,此時可以為p賦i的地址,C正確)

  7. 若有說明:int n=2,*p=&n,*q=p,則以下非法的賦值語句是: ( D )

  A、p=q

  B、*p=*q

  C、n=*q

  D、p=n

  p,q同為整型指針變量,二者里面僅能存放整型變量的地址。

  選項A,q中為地址,因此可將此地址賦給p

  選項B,*p表示p所指向對象n的內容,即一個整數;*q表示q所指向對象的內容,由于在定義q時為其初始化,將p中n的地址給q,因此p中存放n的地址,*q表示q所指向對象n的內容.因此*p=*q 相當于 n=n;

  選項C,n=*q 等價于n=n;

  選項D,p中只能存放地址,不能將n中的整數值賦給p

  8.有語句:int a[10],;則 B 是對指針變量p的正確定義和初始化。

  A、int p=*a;

  B、int *p=a;

  C、int p=&a;

  D、int *p=&a;

  選項A,a是數組名,不是指針變量名,因此不可用*標注數組名a

  選項C,a是數組名,數組名就是地址,無需再用地址符號。而且在定義指針變量p時,應在變量名前加*,標明p是指針變量

  選項D,a是數組名,數組名就是地址,無需再用地址符號。

  9.若有說明語句“int a[5],*p=a;”,則對數組元素的正確引用是( C )。

  A、a[p]

  B、p[a]

  C、*(p+2)

  D、p+2

  首先定義一個整型數組a,a的長度為5,然后定義一個指針變量p,并同時對p進行初始化,將數組a的地址賦給p。因此此時p中存放的數組a的首地址,即數組中第一個元素a[0]的地址。

  對于數組元素下標的引用(詳見p144), 一般形式 數組名[下標] 其中下標為邏輯地址下標,從0開始計數,方括號中的下標可以是變量,可以是表達式,但結果一定要是整數。

  選項A,p中存放的是地址,不是整數,不能做數組元素的下標

  選項B,a是數組名,數組名就是地址,不是整數,不能做數組元素的下標

  選項C,(重點!!!詳見p231~234) p+2表示指向同一數組中的下兩個元素的地址,當前p指向a[0],則p+2表示a[2]的地址,因此*(p+2)表示a[2]的內容

  10. 有如下程序

  int a[10]={1,2,3,4,5,6,7,8,9,10},*P=a;

  則數值為9的表達式是 B

  A、 *P+9

  B、 *(P+8)

  C、 *P+=9

  D、P+8

  (重點!!!詳見p231~234)

  首先定義一個整型數組a,a的長度為5,然后定義一個指針變量P,并同時對P進行初始化,將數組a的地址賦給P。因此此時P中存放的數組a的首地址,即數組中第一個元素a[0]的地址。

  數組中9對應的是a[8], 選項B,P+8表示數組中后8個元素的地址,即a[8]的地址。*(P+8)則表示該地址內所存放的內容,即a[8]的值。

  選項A,*P表示P所指向對象的內容,此時P指向a[0], *P即a[0]的值1. *P+9=1+9=10

  選項C,*P表示P所指向對象的內容,此時P指向a[0], *P即a[0]的值。因此*P+=9 即*P =*P+9, 等價于a[0]=a[0]+9.

  選項D,P+8表示數組中后8個元素的地址,即a[8]的地址,而非a[8]中的值。

  11 以下敘述中正確的是(  )

  A.用戶自己定義的函數只能調用庫函數

  B.實用的C語言源程序總是由一個或多個函數組成

  C.不同函數的形式參數不能使用相同名稱的標識符

  D.在C語言的函數內部,可以定義局部嵌套函數

  參考答案:B

  參考解析:A選項中,”用戶自己定義的函數只能調用庫函數”描述是不正確的,也可以調用自定義函數;C選項中,對于不同函數的形式參數可以使用相同名稱的標識符;D選項中,關于函數的定義不可以嵌套,但函數的調用可以嵌套。因此B選項正確。

  12 以下關于C語言數據類型使用的敘述中錯誤的是( )。

  A.若要處理如“人員信息”等含有不同類型的相關數據,應自定義結構體類型

  B.若要保存帶有多位小數的數據,可使用雙精度類型

  C.若只處理“真”和“假”兩種邏輯值,應使用邏輯類型

  D.整數類型表示的自然數是準確無誤差的

  參考答案:C

  參考解析:C語言中沒有邏輯類型,所以c錯誤。若要保存帶有多位小數的數據,可以用單精度類型也可以用雙精度類型。處理包含不同類型的相關數據可以定義為結構體類型。整數類型可以無誤差的表示自然數。

  13下面選項中關于編譯預處理的敘述正確的是

  A.預處理命令行必須使用分號結尾

  B.凡是以#號開頭的行,都被稱為編譯預處理命令行

  C.預處理命令行不能出現(xiàn)在程序的最后一行

  D.預處理命令行的作用域是到最近的函數結束處

  參考答案:B

  參考解析:本題考查預編譯的預編譯處理命令行,預處理命令行不能以分號結尾,所以A選項錯誤,預處理命令行可以出現(xiàn)在程序的最后一行,預處理命令行作用域是整個文件。

【計算機二級考試C語言練習題及答案】相關文章:

計算機二級《C語言》基礎練習題及答案10-10

計算機二級《C語言》基礎練習題及答案10-13

計算機二級《C語言》練習題及答案201608-20

2016計算機二級《C語言》練習題及答案10-02

2016年計算機二級考試C語言練習題及答案07-20

計算機二級C語言考試沖刺練習題06-21

計算機二級考試C語言模擬練習題07-23

計算機二級考前練習題及答案(C語言)201708-04

2016計算機二級考試C++練習題及答案07-15

2016計算機二級考試《C++》練習題(含答案)09-05