計算機二級《C語言》基礎(chǔ)練習(xí)題及答案
在日常學(xué)習(xí)、工作生活中,我們最不陌生的就是練習(xí)題了,做習(xí)題可以檢查我們學(xué)習(xí)的效果。學(xué)習(xí)的目的就是要掌握由概念原理所構(gòu)成的知識,什么樣的習(xí)題才能有效幫助到我們呢?以下是小編收集整理的計算機二級《C語言》基礎(chǔ)練習(xí)題及答案,希望對大家有所幫助。
計算機二級《C語言》基礎(chǔ)練習(xí)題及答案1
1[單選題]有以下程序
程序運行后的輸出結(jié)果是
A.3B.9C.OD.-12
參考答案:D
參考解析:本題考查目的是運算符的結(jié)合性和優(yōu)先級。首先計算axa,結(jié)果為9,然后執(zhí)行a=a-9,即3-9,結(jié)果為-6,然后執(zhí)行a=(-6)+(-6),即8=的值為-12。所以選擇D。
2[單選題] 以下敘述中正確的是
A.兩個字符串可以用關(guān)系運算符進行大小比較
B.函數(shù)調(diào)用strlen(s);會返回字符串S實際占用內(nèi)存的大小(以字節(jié)為單位)
C.C語言本身沒有提供對字符串進行整體操作的運算符
D.當(dāng)拼接兩個字符串時,結(jié)果字符串占用的內(nèi)存空間是兩個原串占用空間的和
參考答案:C
參考解析:本題考查字符串處理函數(shù)strien、strcat、strcmp。B選項中strlen返回的是字符串s實際占用內(nèi)存大小加上結(jié)尾符,A選項中不能用關(guān)系運算符進行大小比較,可以使用strcmp。D選項當(dāng)使用連接函數(shù)strcat時,內(nèi)存空間會減少一個字符位置。
3[單選題] 一個工作人員可以使用多臺計算機,而一臺計算機可被多個人使用,則實體工作人員與實體計算機之間的聯(lián)系是( )。
A.一對一B.一對多C.多對多D.多對一
參考答案:C
參考解析:因為一個人可以操作多個計算機,而一臺計算機又可以被多個人使用,所以兩個實體之間是多對多的關(guān)系。
4[單選題] 對于while(!E)s;,若要執(zhí)行循環(huán)體s,則E的取值應(yīng)為:
A.E等于1B.E不等于0C.E不等于1D.E等于0
參考答案:D
參考解析:while語句的一般形式為:while(表達式)語句;其中表達式是循環(huán)條件,語句為循環(huán)體。while語句的語義是:計算表達式的值,當(dāng)值為真(非0)時,執(zhí)行循環(huán)體語句。該題中如要執(zhí)行語句s,則!E應(yīng)為真,因此E應(yīng)等于0,D選項正確。
5[單選題] 在軟件設(shè)計中不使用的工具是( )。
A.系統(tǒng)結(jié)構(gòu)圖B.PAD圖C.數(shù)據(jù)流圖(DFD圖)D.程序流程圖
參考答案:C
參考解析:系統(tǒng)結(jié)構(gòu)圖是對軟件系統(tǒng)結(jié)構(gòu)的`總體設(shè)計的圖形顯示。在需求分析階段,已經(jīng)從系統(tǒng)開發(fā)的角度出發(fā),把系統(tǒng)按功能逐次分割成層次結(jié)構(gòu),是在概要設(shè)計階段用到的。PAD圖是在詳細設(shè)計階段用到的。程序流程圖是對程序流程的圖形表示,在詳細設(shè)計過程中用到。數(shù)據(jù)流圖是結(jié)構(gòu)化分析方法中使用的工具,它以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動和處理的過程,由于它只反映系統(tǒng)必須完成的邏輯功能,所以它是一種功能模型,是在可行性研究階段用到的而非軟件設(shè)計時用到,所以選擇C。
6[單選題] 若有定義語句:char a='82';則變量a( )
A.說明不合法B.包含1個字符C.包含2個字符D.包含3個字符
參考答案:B
參考解析:char a='82',定義字符量a,char型變量值為1個字節(jié)長度,并從右側(cè)開始運算,所以a的值應(yīng)為'2'。因此B選項正確。
7[單選題] 有以下程序
程序運行后的輸出結(jié)果是
A.to Beijing!B.you to Beijing!C.Welcome you to Beijing!D.Beijing!
參考答案:A
參考解析:while函數(shù)判斷P指針指向地址的內(nèi)容是否和a指針指向地址的內(nèi)容相等,如果不是,則移動指針p+1,當(dāng)p指向xb字符串中的y時,和xa首地址元素相等,退出while語句后,P再向右移動a字符串長度+1個單位地址,此時P指向t,輸出t及剩余的字符串,答案為A選項。
8[單選題] 若fp已定義為指向某文件的指針,且沒有讀到該文件的末尾,則C語言函數(shù)feof(fp)的函數(shù)返回值是
A.EOFB.非0C.-1D.0
參考答案:D
參考解析:本題考查文件的定位,feof函數(shù)的用法是從輸入流讀取數(shù)據(jù),如果到達文件末尾(遇文件結(jié)束符),eof函數(shù)值為非零值,否則為0,所以選項D正確。
9[單選題] 有以下程序:
參考答案:C
參考解析:flm()函數(shù)作用冒泡法排序,fla9控制升序(0)或者降序(1)。n為參與排序的元素個數(shù)。a為數(shù)組的起始地址。因此,flm(a,4,1),數(shù)組的前四個降序排序,fun(a+4,6,O)對數(shù)組的第四項后六個元素進行升序排序。故結(jié)果為10,9,8,7,1,2,3,4,5,6。答案為C選項。
10[單選題] 以下敘述中正確的是
A.只要適當(dāng)?shù)匦薷拇a,就可以將do-while與while相互轉(zhuǎn)換
B.對于“for(表達式1;表達式2;表達式3)循環(huán)體”首先要計算表達式2的值,以便決定是否開始循環(huán)
C.對于“for(表達式1;表達式2;表達式3)循環(huán)體”,只在個別情況下才能轉(zhuǎn)換成while語句
D.如果根據(jù)算法需要使用無限循環(huán)(即通常所稱的“死循環(huán)”),則只能使用while語句
參考答案:A
參考解析:B選項中,for語句中需要先求解先求解表達式1;C選項中,for語句使用最為靈活,它完全可以取代while語句;D選項中,對于死循環(huán),也可以使用for語句。因此A選項正確。
計算機二級《C語言》基礎(chǔ)練習(xí)題及答案2
1). 關(guān)于C語言的變量,以下敘述中錯誤的是( )
A.所謂變量是指在程序運行過程中其值可以被改變的量
B.變量所占的存儲單元地址可以隨時改變
C.程序中用到的所有變量都必須先定義后才能使用
D.由三條下劃線構(gòu)成的符號名是合法的變量名
正確答案:B
答案解析:變量是指在程序運行過程中其值可以改變的值,一個變量實質(zhì)上是代表了內(nèi)存中的某個存儲單元。在程序中對某個變量的操作實際上就是對這個存儲單元的操作,程序運行期間,這個分配的存儲單元不會改變,但是其值可以變化。變量命名要符合標(biāo)識符的規(guī)定,其中下劃線是標(biāo)識符的組成字符。程序中所有變量都必須先定義后使用。
2). 當(dāng)變量c的值不為2、4、6時,值也為″真″的表達式是( )
A.(c==2)||(c==4)||(c==6)
B.(c>=2 && c<=6)&&!(c%2)
C.(c>=2 &&c<=6)&&(c%2!=1)
D.(c>=2 && c<=6) || (c!=3)|| (c!=5)
正確答案:D
答案解析:邏輯或運算中,只要有一項為真,表達式的值就為真,故選項D中c的值不為2、4、6時,那么表達式(c>=2&& c<=6)以及(c!=3)、(c!=5)必有一個成立,表達式的值也為真。
3). 在C語言中,函數(shù)返回值的類型最終取決于
A.函數(shù)定義時在函數(shù)首部所說明的函數(shù)類型
B.return語句中表達式值的類型
C.調(diào)用函數(shù)時主調(diào)函數(shù)所傳遞的實參類型
D.函數(shù)定義時形參的類型
正確答案:A
答案解析:在C語言中,應(yīng)當(dāng)在定義函數(shù)時指定函數(shù)值的類型,凡不加類型說明的函數(shù),一律按整型處理。在定義函數(shù)時,對函數(shù)值說明的類型一般應(yīng)該和return語句中的表達式類型一致。如果函數(shù)值的類型和return語句中的表達式類型不一致,則以函數(shù)類型為主,即函數(shù)類型決定返回值的類型。
4). 以下敘述中正確的是( )
A.在C語言中,預(yù)處理命令行都以″#″開頭
B.預(yù)處理命令行必須位于C源程序的起始位置
C.#include 必須放在C程序的開頭
D.C語言的預(yù)處理不能實現(xiàn)宏定義和條件編譯的功能
正確答案:A
答案解析:在C語言中,凡是以″#″號開頭的行,都稱為″編譯預(yù)處理″命令行。預(yù)處理命令可以放在程序中的任何位置,其有效范圍是從定義開始到文件結(jié)束。預(yù)處理命令有宏定義、文件包含和條件編譯三類。#include 命令行表示程序中要引用C標(biāo)準(zhǔn)函數(shù)庫中的標(biāo)準(zhǔn)輸入輸出函數(shù)。
5). 下列敘述中,不屬于測試的特征的是
A.測試的挑剔性
B.完全測試的不可能性
C.測試的可靠性
D.測試的經(jīng)濟性
正確答案:C
答案解析:軟件測試的目標(biāo)是在精心控制的環(huán)境下執(zhí)行程序,以發(fā)現(xiàn)程序中的錯誤,給出程序可靠性的鑒定。它有3個方面的重要特征,即測試的挑剔性、完全測試的'不可能性及測試的經(jīng)濟性。其中,沒有測試的可靠性這一說法。
6). 以下選項中不屬于C語言標(biāo)識符的是( )
A.用戶標(biāo)識符
B.關(guān)鍵字
C.常量
D.預(yù)定義標(biāo)識符
正確答案:C
答案解析:C語言的標(biāo)識符可分為以下3類:
、訇P(guān)鍵字語言預(yù)先規(guī)定了一批標(biāo)識符,它們在程序中都代表著固定的含義,不能另作他用。這些字符稱為關(guān)鍵字。例如,int、double、if、else、while、for等。
、陬A(yù)定義標(biāo)識符。即預(yù)先定義并具有特定含義的標(biāo)識符。
、塾脩魳(biāo)識符。由用戶根據(jù)需要定義的標(biāo)識符稱為用戶標(biāo)識符,又稱自定義標(biāo)識符,一般用來給變量、函數(shù)、數(shù)組等命名。
7). 以下關(guān)于字符串的敘述中正確的是( )
A.兩個字符串中的字符個數(shù)相同時才能進行字符串大小的比較
B.可以用關(guān)系運算符對字符串的大小進行比較
C.空串比空格打頭的字符串小
D.C語言中有字符串類型的常量和變量
正確答案:C
答案解析:C語言本身并沒有設(shè)置一種類型來定義字符串變量,卻允許使用″字符串常量″。字符串常量是由雙引號括起來的一串字符。任意兩個字符串的大小比較要調(diào)用字符串比較函數(shù)strcmp(s1,s2 )來進行,其比較的方法是依次對s1和s2中對應(yīng)位置上的字符兩兩進行比較,當(dāng)出現(xiàn)第一對不相同的字符時,即由這兩個字符決定所在串的大小(比較字符大小的依據(jù)是其ASCⅡ碼值)。
8). 下列敘述中正確的是( )。
A.調(diào)用printf( )函數(shù)時,必須要有輸出項
B.使用put )函數(shù)時,必須在之前包含頭文件stdio.h
C.在C語言中,整數(shù)可以以二進制、八進制或十六進制的形式輸出
D.調(diào)節(jié)get )函數(shù)讀入字符時,可以從鍵盤上輸入字符所對應(yīng)的ASCII碼
正確答案:B
答案解析:選項A,若printf函數(shù)沒有輸出項,且格式字符串中不含格式信息,則輸出的是格式字符串本身,若格式字符串含有格式信息,運行時則出現(xiàn)錯誤提示;選項C,在C語言中,整數(shù)可以十進制、八進制或十六進制的形式輸出;選項D,getchar函數(shù)是從標(biāo)準(zhǔn)輸入設(shè)備讀取一個字符。
9). 以下結(jié)構(gòu)體類型說明和變量定義中正確的是( )
A.typedefstruct { int n; char c; } REC; REC t1,t2;
B.structREC ; { int n; char c; }; REC t1,t2;
C.typedefstruct REC; { int n=0; char c=′A′; } t1,t2;
D.struct{ int n; char c; } REC; REC t1,t2;
正確答案:A
答案解析:定義結(jié)構(gòu)體類型的一般形式為:struct 結(jié)構(gòu)體名 {成員列表};struct 結(jié)構(gòu)體名后不能加″;″號,所以選項B、C)錯誤,選項D中定義無名稱的結(jié)構(gòu)體類型同時定義結(jié)構(gòu)體變量形式應(yīng)為struct t1,t2;選項A為用戶自定義類型,其為正確的定義形式。
10). 若實體A和B是一對多的聯(lián)系,實體B和C是一對一的聯(lián)系,則實體A和C的聯(lián)系是( )
A.一對一
B.一對多
C.多對一
D.多對多
正確答案:B
答案解析:由于B和C有一一對應(yīng)的聯(lián)系,而A和B只間有一對多的聯(lián)系,則通過關(guān)系之間的傳遞,則A和C之間也是一對多的聯(lián)系。
11). 待排序的關(guān)鍵碼序列為(15,20,9,30,67.65,45,90),要按關(guān)鍵碼值遞增的順序排序,采取簡單選擇排序法,第一趟排序后關(guān)鍵碼15被放到第( )個位置。
A.2
B.3
C.4
D.5
正確答案:B
答案解析:選擇排序的基本思想是掃描整個線性表,從中選出最小的元素,將它交換到表的最前面,然后對剩下的子表采用同樣的方法,直到子表為空。所以第一趟排序后,將選出最小的元素9放在第一個位置,元素15則被交換放在第三個位置。
計算機二級《C語言》基礎(chǔ)練習(xí)題及答案3
(1) 以下選項中,合法的數(shù)值型常量是
A) 3.2 B) 'X' C) 099 D) 0xEH
答案:A
(2) 以下選項中,合法的實數(shù)是
A) 1.5E2 B) E1.1 C) 2.10E D) 1.9E1.4
答案:A
(3) 若已有定義語句:int a, b, c;,且變量已正確賦初值,則以下選項中正確的賦值表達式是
A) a = (b = c) + 8;
B) (a = b) = c = 9;
C) a = (b == c) = 'A';
D) a + b = c + 1;
答案:A
(4) 有以下程序
#include
main()
{
int x = 0x13;
printf("INT:%d ", x+1);
}
程序運行后的輸出結(jié)果是
A) INT:20 B) INT:13
C) INT:12 D) INT:14
答案:A
(5) 關(guān)于程序設(shè)計基本概念,以下敘述錯誤的是
A) 計算機可以直接執(zhí)行由任意高級語言編寫的程序
B) 高級語言都有與之對應(yīng)的編譯程序或解釋程序
C) 用任何一種計算機高級語言都可以把算法轉(zhuǎn)換為程序
D) 結(jié)構(gòu)化算法可以解決任何復(fù)雜的問題
答案:A
(6) 關(guān)于程序中的注釋,以下敘述正確的是
A) 注釋的內(nèi)容必須放在一對/x和 x/之間
B) 注釋必須置于所說明的語句前或語句后
C) 注釋中間可以嵌套另一個注釋
D) 注釋內(nèi)容錯誤會導(dǎo)致編譯出錯
答案:A
(7) 以下不能用于實型數(shù)據(jù)的運算符是
A) % B) /
C) x D) +
答案:A
(8) C源程序中不能表示的數(shù)制是
A) 二進制 B) 八進制
C) 十進制 D) 十六進制
答案:A
(9) 以下選項中,能用作用戶標(biāo)識符的是
A) _0_ B) 8_8
C) void D) unsigned
答案:A
(10) 若有定義語句:
int x=10;
則表達式x-=x+x的值為
A) -10 B) -20
C) 0 D) 10
答案:A
(11) 有以下程序
#include
main()
{ int a=1,b=0;
printf("%d,",b=a+b);
printf("%d ",a=2xb);
}
程序運行后的輸出結(jié)果是
A) 1,2 B) 1,0
C) 3,2 D) 0,0
答案:A
(12) 以下關(guān)于結(jié)構(gòu)化程序設(shè)計的敘述中正確的是
A) 在C語言中,程序的模塊化是利用函數(shù)實現(xiàn)的
B) 結(jié)構(gòu)化程序使用goto語句會很便捷
C) 一個結(jié)構(gòu)化程序必須同時由順序、分支、循環(huán)三種結(jié)構(gòu)組成
D) 由三種基本結(jié)構(gòu)構(gòu)成的程序只能解決小規(guī)模的`問題
答案:A
(13) 對于一個正常運行的C程序,以下敘述中正確的是
A) 程序的執(zhí)行總是從main函數(shù)開始 B) 程序的執(zhí)行總是從程序的第一個函數(shù)開始, 在main函數(shù)結(jié)束
C) 程序的執(zhí)行總是從main函數(shù)開始,在程序的最后一個函數(shù)中結(jié)束
D) 程序的執(zhí)行總是從程序的第一個函數(shù)開始,在程序的最后一個函數(shù)中結(jié)束
答案:A
(14) 以下選項中能表示合法常量的是
A) "07" B) 1.5E2.0
C) '' D) 1,200
答案:A
(15) 以下定義語句中正確的是
A) char A=65+1,b='b'; B) int a=b=0;
C) float a=1,xb=&a,xc=&b; D) double a=0.0; b=1.1;
答案:A
(16) 若變量x、y已正確定義并賦值,以下符合C語言語法的表達式是
A) ++x,y=x-- B) x+1=y
C) x=x+10=x+y D) double(x)/10
答案:A
(17) 若變量已正確定義為int型,要通過語句
scanf("%d,%d,%d",&a,&b,&c);
給a賦值1、給b賦值2、給 c賦值3,以下輸入形式中錯誤的是(注:□代表一個空格符)
A) 1□2□3<回車> B) □□□1,2,3 <回車>
C) 1,□□□2,□□□3<回車> D) 1,2,3<回車>
答案:A
(18) 計算機能直接執(zhí)行的程序是
A) 可執(zhí)行程序 B) 目標(biāo)程序
C) 匯編程序 D) 源程序
答案:A
(19) 以下敘述中正確的是
A) C語言規(guī)定必須用main作為主函數(shù)名,程序?qū)拇碎_始執(zhí)行
B) 可以在程序中由用戶指定任意一個函數(shù)作為主函數(shù),程序?qū)拇碎_始執(zhí)行
C) C語言程序?qū)脑闯绦蛑械谝粋函數(shù)開始執(zhí)行
D) main的各種大小寫拼寫形式都可以作為主函數(shù)名,如:MAIN,Main等
答案:A
(20) 以下選項中可用作C程序合法實數(shù)的是
A) .1e0 B) 3.0e0.2
C) E9 D) 9.12E
答案:A
(21) 下列定義變量的語句中錯誤的是
A) float US$; B) double int_;
C) char For; D) int _int;
答案:A
(22) 表達式:(int)((double)9/2)- 9%2 的值是
A) 3 B) 0 C) 4 D) 5
答案:A
(23) 若有定義:
int a,b;
通過語句
scanf("%d;%d",&a,&b);
能把整數(shù)3賦給變量a,5賦給變量b的輸入數(shù)據(jù)是
A) 3;5 B) 3,5 C) 3 5 D) 35
答案:A
(24) 下列敘述中錯誤的是
A) 一個C語言程序只能實現(xiàn)一種算法 B) C程序可以由多個程序文件組成
C) C程序可以由一個或多個函數(shù)組成 D) 一個C函數(shù)可以單獨作為一個C程序文件存在
答案:A
(25) C語言源程序名的后綴是
A) .C B) .exe C) .obj D) .cp
答案:A
(26) 以下敘述中正確的是
A) 賦值語句是一種執(zhí)行語句,必須放在函數(shù)的可執(zhí)行部分
B) scanf和printf是C語言提供的輸入和輸出語句
C) 由printf輸出的數(shù)據(jù)都隱含左對齊 D) 由printf輸出的數(shù)據(jù)的實際精度是由格式控制中的域?qū)捄托?shù)的域?qū)拋硗耆珱Q定的
答案:A
計算機二級《C語言》基礎(chǔ)練習(xí)題及答案4
1、 一個教師講授多門課程,一門課程由多個教師講授。則實體教師與課程關(guān)系 B
A) 1:m 聯(lián)系
B) m: n 聯(lián)系
C) m: 1聯(lián)系
D) 1:1聯(lián)系
2、 結(jié)構(gòu)化程序所要求的基本結(jié)構(gòu)不包括 B
A) 重復(fù)(循環(huán))結(jié)構(gòu) B) GOTO跳轉(zhuǎn)
C) 選擇(分支)結(jié)構(gòu) D) 順序結(jié)構(gòu)
3、 下列敘述中正確的是 C
A) 在棧中,棧中元素隨棧底指針與棧頂指針的變化而動態(tài)變化
B) 在棧中,棧頂指針不變,棧中元素隨棧底指針的變化而動態(tài)變化
C) 在棧中,棧底指針不變,棧中的元素隨棧頂指針的變化而動態(tài)變化
4、 定義無符號整數(shù)類為Uint,下面可以作為unit實例化的值是 C
A) 0.369
B) 整數(shù)集合{1,2,3,4,5}
C) 369
D) -369
5、 下面描述中錯誤的是(D)
A) 軟件設(shè)計是將軟件需求轉(zhuǎn)換為軟件表示的過程
B) PAD圖是軟件詳細設(shè)計的表示工具
C) 數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)庫設(shè)計是軟件設(shè)計的任務(wù)之一
D) 系統(tǒng)總體結(jié)構(gòu)圖支持軟件系統(tǒng)的`詳細設(shè)計
6、軟件按功能可以分為應(yīng)用軟件、系統(tǒng)軟件和支撐軟件,下面的軟件中是應(yīng)用軟件的是 C
A) 數(shù)據(jù)庫管理系統(tǒng)
B) UNIX操作系統(tǒng)
C) 學(xué)生成績管理系統(tǒng)
D) C語言編譯程序
7、下列關(guān)于棧敘述正確的是 C
A) 棧頂元素最后才能被刪除
B) 棧底元素永遠不能被刪除
C) 棧頂元素最先能被刪除
8、軟件生命周期中的活動不包括 A
A) 市場調(diào)研 B) 軟件測試
C) 軟件維護 D) 需求分析
9、下列敘述中正確的是 D
A) 有一個以上根結(jié)點的數(shù)據(jù)結(jié)構(gòu)不一定是非線性結(jié)構(gòu)
B) 雙向鏈表是非線性結(jié)構(gòu)
C) 循環(huán)鏈表是非線性結(jié)構(gòu)
D) 只有一個根結(jié)點的數(shù)據(jù)結(jié)構(gòu)不一定是線性結(jié)構(gòu)
10、下列關(guān)于數(shù)據(jù)庫設(shè)計中的敘述中,正確的是 A
A) 在需求分析階段建立數(shù)據(jù)字典
B) 在物理設(shè)計階段建立數(shù)據(jù)字典
C)在邏輯設(shè)計階段建立數(shù)據(jù)字典
D) 在概念設(shè)計階段建立數(shù)據(jù)字典
11、下列敘述中正確的是 D
A) 設(shè)計算法時只需要考慮結(jié)果的可靠性
B) B)算法就是程序
C) 設(shè)計算法時只需要考慮數(shù)據(jù)結(jié)構(gòu)的設(shè)計
D) D)以上三種說法都不對
12、程序調(diào)試的任務(wù)是 A
A) 診斷和改正程序中的錯誤
B)設(shè)計測試用例
C) 驗證程序的正確性
D) 發(fā)現(xiàn)程序中的錯誤
13、下列關(guān)于二叉樹的敘述中,正確是 C
A) 葉子結(jié)點是度為2的結(jié)點數(shù)的兩倍
B) 度為2的結(jié)點數(shù)是度為1的結(jié)點數(shù)的兩倍
C) 葉子結(jié)點總是比度為2的結(jié)點多一個
D) 葉子結(jié)點總是比度為2的結(jié)點少一個
14、數(shù)據(jù)庫系統(tǒng)的三級模式不包括 B
A) 概念模式 B) 數(shù)據(jù)模式 C) 內(nèi)模式 D) 外模式
計算機二級《C語言》基礎(chǔ)練習(xí)題及答案5
1.(A )是構(gòu)成C語言程序的基本單位。
A、函數(shù)
B、過程
C、子程序
D、子例程
2.C語言程序從(C) 開始執(zhí)行。
A、 程序中第一條可執(zhí)行語句
B、 程序中第一個函數(shù)
C、 程序中的main函數(shù)
D、包含文件中的第一個函數(shù)
3、以下說法中正確的是( C )。
A、C語言程序總是從第一個定義的函數(shù)開始執(zhí)行
B、在C語言程序中,要調(diào)用的函數(shù)必須在main( )函數(shù)中定義
C、C語言程序總是從main( )函數(shù)開始執(zhí)行
D、C語言程序中的main( )函數(shù)必須放在程序的開始部分
4.下列關(guān)于C語言的說法錯誤的是( B ) 。
A、 C程序的工作過程是編輯、編譯、連接、運行
B、 C語言不區(qū)分大小寫。
C、 C程序的三種基本結(jié)構(gòu)是順序、選擇、循環(huán)
D、C程序從main函數(shù)開始執(zhí)行
5.下列正確的標(biāo)識符是(C )。
A、-a1
B、a[i]
C、a2_i
D、int t
5-8題為相同類型題
考點:標(biāo)識符的命名規(guī)則
只能由字母、數(shù)字、下劃線構(gòu)成
數(shù)字不能作為標(biāo)識符的開頭
關(guān)鍵字不能作為標(biāo)識符
選項A中的“-” ,選項B中“[”與“]”不滿足(1);選項D中的int為關(guān)鍵字,不滿足(3)
6.下列C語言用戶標(biāo)識符中合法的是(B )。
A、3ax
B、x
C、case
D、-e2 E)union
選項A中的標(biāo)識符以數(shù)字開頭不滿足(2);選項C,E均為為關(guān)鍵字,不滿足(3);選項D中的“-”不滿足(1);
7.下列四組選項中,正確的.C語言標(biāo)識符是( C )。
A、 %x
B、a+b
C、a123
D、123
選項A中的“%” ,選項B中“+”不滿足(1);選項D中的標(biāo)識符以數(shù)字開頭不滿足(2)
8、下列四組字符串中都可以用作C語言程序中的標(biāo)識符的是( A)。
A、print _3d db8 aBc
B、Iam one_half start$it 3pai
C、str_1 Cpp pow while
D、Pxq My->book line# His.age
選項B中的“”,”$” ,選項D中“>”,”#”,”.”,”-”不滿足(1);選項C中的while為關(guān)鍵字,不滿足(3)
9.C語言中的簡單數(shù)據(jù)類型包括(D )。
A、整型、實型、邏輯型
B、整型、實型、邏輯型、字符型
C、整型、字符型、邏輯型
D、整型、實型、字符型
10.在C語言程序中,表達式5%2的結(jié)果是 C 。
A、2.5
B、2
C、1
D、3
%為求余運算符,該運算符只能對整型數(shù)據(jù)進行運算。且符號與被模數(shù)相同。5%2=1; 5%(-2)=1;(-5)%2=-1;(-5)%(-2)=-1;
/為求商運算符,該運算符能夠?qū)φ汀⒆址、浮點等類型的數(shù)據(jù)進行運算,5/2=2
計算機二級《C語言》基礎(chǔ)練習(xí)題及答案6
1.下列關(guān)于棧敘述正確的是( )。
A.棧頂元素最先能被刪除
B.棧頂元素最后才能被刪除
C.棧底元素永遠不能被刪除
D.以上三種說法都不對
2.下列敘述中正確的是( )。
A.有一個以上根結(jié)點的數(shù)據(jù)結(jié)構(gòu)不一定是非線性結(jié)構(gòu)
B.只有一個根結(jié)點的數(shù)據(jù)結(jié)構(gòu)不一定是線性結(jié)構(gòu)
C.循環(huán)鏈表是非線性結(jié)構(gòu)
D.雙向鏈表是非線性結(jié)構(gòu)
3.某二叉樹共有7個結(jié)點,其中葉子結(jié)點只有1個,則該二叉樹的深度為(假設(shè)根結(jié)點在第1層)( )。
A.3
B.4
C.6
D.7
4.在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是( )。
A.軟件集成測試計劃
B.軟件詳細設(shè)計說明書
C.用戶手冊
D.軟件需求規(guī)格說明書
5.結(jié)構(gòu)化程序所要求的基本結(jié)構(gòu)不包括( )。
A.順序結(jié)構(gòu)
B.GOT0跳轉(zhuǎn)
C.選擇(分支)結(jié)構(gòu)
D.重復(fù)(循環(huán))結(jié)構(gòu)
6.下面描述中錯誤的是( )。
A.系統(tǒng)總體結(jié)構(gòu)圖支持軟件系統(tǒng)的詳細設(shè)計
B.軟件設(shè)計是將軟件需求轉(zhuǎn)換為軟件表示的過程
C.數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)庫設(shè)計是軟件設(shè)計的任務(wù)之一
D.PAD圖是軟件詳細設(shè)計的表示工具
7.負責(zé)數(shù)據(jù)庫中查詢操作的數(shù)據(jù)庫語言是( )。
A.數(shù)據(jù)定義語言
B.數(shù)據(jù)管理語言
C.數(shù)據(jù)操縱語言
D.數(shù)據(jù)控制語言
8.一個教師可講多門課程,一門課程可由多個教師講授,則實體教師和課程間的聯(lián)系是( )。
A.1:1聯(lián)系
B.1:m聯(lián)系
C.m:1聯(lián)系
D.m:n聯(lián)系
9.有3個關(guān)系R、S和T如下表所示:
則由關(guān)系R和S得到關(guān)系T的操作是( )。
A.自然連接
B.交
C.除
D.并
10.定義無符號整數(shù)為Uint,下面可以作為類Uint實例化值的是( )。
A.-369
B.369
C.0.369
D.整數(shù)集合{1,2,3,4,5}
11.為了提高函數(shù)調(diào)用的實際運行速度,可以將較簡單的函數(shù)定義為( )。
A.內(nèi)聯(lián)函數(shù)
B.重載函數(shù)
C.遞歸函數(shù)
D.函數(shù)模板
12.若AA為一個類,a為該類的非靜態(tài)數(shù)據(jù)成員,在該類的一個成員函數(shù)定義中訪問a時,其書寫格式為( )。
A.a
B.AA.a
C.a{}
D.AA:a{}
13.當(dāng)派生類從一個基類保護繼承時,基類中的一些成員在派生類中成為保護成員,這些成員在基類中原有的訪問屬性是( )。
A.任何
B.公有或保護
C.保護或私有
D.私有
14.若要對Date類中重載的加法運算符成員函數(shù)進行聲明,下列選項中正確的`是( )。
A.Data+(Data);
B.Dataoperator+(Data);
C.Data+operator(Data);
D.operator+(Data.Data);
15.下列關(guān)于函數(shù)模板的描述中,正確的是( )。
A.函數(shù)模板是一個實例函數(shù)
B.使用函數(shù)模板定義的函數(shù)沒有返回類型
C.函數(shù)模板的類型參數(shù)與函數(shù)的參數(shù)相同
D.通過使用不同的類型參數(shù),可以從函數(shù)模板得到不同的實例函數(shù)
16.C++系統(tǒng)預(yù)定義了3個用于標(biāo)準(zhǔn)數(shù)據(jù)流的對象,下列選項中不屬于此類對象的是( )。
A.cout
B.cin
C.cerr
D.cset
17.Windows環(huán)境下,由C++源程序文件編譯而成的目標(biāo)文件的擴展名是( )。
A.cpp
B.exe
C.obj
D.lik
18.字符串“a+b=12 ”的長度為( )。
A.12
B.10
C.8
D.6
19.有如下程序:
#include
usingnamespacestd;
intmain( ){
intf,f1=0,f2=1;
for(inti=3;i<=6;i++){
f=f1+f2:
f1=f2;f2=f;
}
cout
}
運行時的輸出結(jié)果是( )。
A.2
B.3
C.5
D.8
20.有如下程序:
#include
usingnamespacestd;
intmain( ){
inta[6]={23,15,64,33,40,58};
ints1,s2;
s1=s2=a[0];
for(intxp=a+1;pif(s1>xp)s1=xp;
if(s2<xp)s2=xp;
}
cout
}
運行時的輸出結(jié)果是( )。
A.23
B.58
C.64
D.79
21.有如下程序:
#included
usingnamespacestd;
voidfl(int&X,int&y){intz=x;x=y;y=z;)voidf2(intX,inty){intz=x;x=y;y=z;}intmain( ){
intx=10,y=26;
f1(X,y);
f2(x,y);
cout
}
運行時的輸出結(jié)果是( )。
A.10
B.16
C.26
D.36
22.有如下程序:
#include
usingnamespacestd;
classXA{
inta;
public:
staticintb;
XA(intaa):a(aa){b++;}
~XA( ){}
intget( ){returna;}
};
intXA::b=0
intmain( ){
XAd1(1),d2(3);
cout
}
運行時的輸出結(jié)果是( )。
A.5
B.6
C.7
D.8
23.有如下程序:
#include
usingnamespacestd:
classPoint{
intx,y;
public:
Point(intx1=0,inty1=0)):X(X1),y(y1){}
intget( ){returnx+y;)
};
classCircle{
Pointcenter}
intradius;
public:
Circle(intCX,intcy,intr):center(cx,cy),radius(r)
{}
intget( ){returncenter.get( )+radius;}
};
intmain( ){
Circlec(3,4,5);
cout
}
運行時的輸出結(jié)果是( )。
A.5
B.7
C.9
D.12
24.若是對類BigNumber中重載的類型轉(zhuǎn)換運算符long進行聲明,下列選項中正確的是( )。
A.operatorlong( )const;
B.operatorlong(BigNumber);
C.longoperatorlong( )const;
D.longoperatorlong(BigNumber);
25.有如下函數(shù)模板定義:
template
T1FUN(T2n){returnnx5,0;}
若要求以int型數(shù)據(jù)9作為函數(shù)實參調(diào)用該模板,并返回一個double型數(shù)據(jù),則該調(diào)用應(yīng)表示為( )。
A.FUN(9)
B.FUN<9>
26.下列語句都是程序運行時的第1條輸出語句,其中一條語句的輸出效果與其他3條語句不同,該語句是( )。
A.cout
A.析構(gòu)函數(shù)可以重載
B.析構(gòu)函數(shù)由系統(tǒng)自動調(diào)用
C.每個對象的析構(gòu)函數(shù)只被調(diào)用一次
D.每個類都有析構(gòu)函數(shù)
28.下列關(guān)于構(gòu)造函數(shù)的描述中,錯誤的是( )。
A.構(gòu)造函數(shù)名與類名相同
B.構(gòu)造函數(shù)可以有返回值
C.構(gòu)造函數(shù)可以重載
D.每個類都有構(gòu)造函數(shù)
29.若PAT是一個類,則程序運行時,語句“PAT(xad){3};”調(diào)用PAT的構(gòu)造函數(shù)的次數(shù)是( )。
A.0
B.1
C.2
D.3
30.下列描述中,錯誤的是( )。
A.公有繼承時基類中的公有成員在派生類中仍是公有成員
B.公有繼承時基類中的保護成員在派生類中仍是保護成員
C.保護繼承時基類中的公有成員在派生類中仍是公有成員
D.保護繼承時基類中的保護成員在派生類中仍是保護成員
31.生成派生類對象時,派生類構(gòu)造函數(shù)調(diào)用基類構(gòu)造函數(shù)的條件是( )。
A.無需任何條件
B.基類中顯式定義了構(gòu)造函數(shù)
C.派生類中顯式定義了構(gòu)造函數(shù)
D.派生類構(gòu)造函數(shù)明確調(diào)用了基類構(gòu)造函數(shù)
32.下列關(guān)于派生類和基類的描述中,正確的是( )。
A.派生類成員函數(shù)只能訪問基類的公有成員
B.派生類成員函數(shù)只能訪問基類的公有和保護成員
C.派生類成員函數(shù)可以訪問基類的所有成員
D.派生類對基類的默認繼承方式是公有繼承
33.有如下類模板定義:
template
classBigNumber{
longn;
public;
BigNumber(Ti):n(i){}
BigNumberoperator+(BigNumberb){
returnBigNumber(n+b.n):
}
};
已知b1、b2是BigNumber的兩個對象,則下列表達式中錯誤的是( )。
A.b1+b2
B.b1+3
C.3+b1
D.3+3
34.下列關(guān)于文件流的描述中,正確的是( )。
A.文件流只能完成針對磁盤文件的輸入、輸出
B.建立一個文件流對象時,必須同時打開一個文件
C.若輸入流要打開的文件不存在。將建立一個新文件
D.若輸出流要打開的文件不存在,將建立一個新文件
35.有如下程序:
#include
usingnamespacestd;
classPair{
intm,n;
public;
Pair(intj,intk):m(j),n(k){}
intget( ){returnIn;}
intget( )const{returnm+n;}
};
intmain( ){
Paira(3,5);
constPairb(3,5);
cout
}
運行時的輸出結(jié)果是( )。
A.33
B.38
C.83
D.88
36.下列敘述中正確的是( )。
A.全局變量的作用域一定比局部變量的作用域范圍大
B.靜態(tài)類別變量的生存期貫穿于整個程序的運行期間
C.函數(shù)的形參都屬于全局變量
D.未在定義語句中賦初值的aut0變量和static變量的初值都是隨機值
37.假定MyClass為一個類,則執(zhí)行MyClassa,b(2),xp;語句時,自動調(diào)用該類構(gòu)造函數(shù)( )次。
A.2
B.3
C.4
D.5
38.能正確表示邏輯關(guān)系”a≥10或a≤0”的C++語言表達式是( )。
A.a>=10ora<=0
B.a)一01a(一10
C.a>=10&&a<=0
D.a>=10||a(=0
39.若執(zhí)行下面的程序時,從鍵盤上輸入5和2,則輸出結(jié)果是( )。
#include(iostream.h)
voidmain( )
(inta,b,k;
cin>>a>>b;
k=a:
if(ak=a%b;
else
k=b%a:
cout((k
B.3
C.2
D.0
40.假定MyClass為一個類,那么下列的函數(shù)說明中,( )為該類的析構(gòu)函數(shù)。
A.void~MyClass( );
B.~MyC|ass(intn);
C.MyClass( );
D.~MyClass( );
【計算機二級《C語言》基礎(chǔ)練習(xí)題及答案】相關(guān)文章:
計算機二級《C語言》基礎(chǔ)練習(xí)題及答案10-17
2016年計算機二級《C語言》基礎(chǔ)練習(xí)題及答案10-17
2017年計算機二級《C語言》基礎(chǔ)練習(xí)題及答案10-02
2017計算機二級C語言基礎(chǔ)習(xí)題及答案10-10
計算機二級C語言練習(xí)題及答案10-04
計算機二級C語言考前練習(xí)題及答案09-30