計算機二級《C語言》真題練習
在各領域中,我們需要用到練習題的情況非常的多,只有認真完成作業,積極地發揮每一道習題特殊的功能和作用,才能有效地提高我們的思維能力,深化我們對知識的理解。一份好的習題都是什么樣子的呢?下面是小編為大家收集的2016計算機二級《C語言》真題練習,供大家參考借鑒,希望可以幫助到有需要的朋友。
計算機二級《C語言》真題練習 1
(1)下列敘述中正確的是
A)棧是“先進先出”的線性表
B)隊列是“先進先出”的線性表
C)循環隊列是非線性結構
D)有序性表既可以采用順序存儲結構,也可以采用鏈式存儲結構
(2)支持子程序調用的數據結構是
A)棧 B)樹 C)隊列 D)二叉樹
(3)某二叉樹有5個度為2的結點,則該二叉樹中的葉子結點數是
A)10 B)8 C)6 D)4
(4)下列排序方法中,最壞情況下比較次數最少的是
A)冒泡排序
B)簡單選擇排序
C)直接插入排序
D)堆排序
(5)軟件按功能可以分為:應用軟件、系統軟件和支撐軟件(或工具軟件)。下面屬于應用軟件的是
A)編譯軟件
B)操作系統
C)教務管理系統
D)匯編程序
(6)下面敘述中錯誤的是
A)軟件測試的目的是發現錯誤并改正錯誤
B)對被調試的程序進行“錯誤定位”是程序調試的必要步驟
C)程序調試通常也稱為Debug
D)軟件測試應嚴格執行測試計劃,排除測試的隨意性
(7)耦合性和內聚性是對模塊獨立性度量的兩個標準。下列敘述中正確的是
A)提高耦合性降低內聚性有利于提高模塊的獨立性
B)降低耦合性提高內聚性有利于提高模塊的獨立性
C)耦合性是指一個模塊內部各個元素間彼此結合的緊密程度
D)內聚性是指模塊間互相連接的緊密程度
(8)數據庫應用系統中的核心問題是
A)數據庫設計
B)數據庫系統設計
C)數據庫維護
D)數據庫管理員培訓
(10)將E-R圖轉換為關系模式時,實體和聯系都可以表示為
A)屬性 B)鍵 C)關系 D)域
(11)以下選項中合法的標識符是
A) 1-1 B)1—1 C)-11 D)1--
(12)若函數中有定義語句:int k;,則
A)系統將自動給k賦初值0
B)這時k中值無定義
C)系統將自動給k賦初值-1
D)這時k中無任何值
(13)以下選項中,能用作數據常量的是
A)o115 B) 0118 C)1.5e1.5 D) 115L
(14)設有定義:int x=2;,以下表達式中,值不為6的是
A) x*=x+1
B) x++,2*x
C)x*=(1+x)
D)2*x,x+=2
(15)程序段:int x=12;
double y=3.141593; printf(“%d%8.6f”,x,y);的輸出結果是
A)123.141593
B)12
3.141593
C)12,3.141593
D)123.141593
(16)若有定義語句:double x,y,*px,*py,執行了px=&x, py=&y;之后,正確的輸入語句是
A)scanf(“%f%f”,x,y);
B) scanf(“%f%f”,&x,&y);
C) scanf(“%lf%le”,px,py);
D) scanf(“%lf%lf”,x,y);
(17)以下是if語句的基本形式:
if(表達式)
語句
其中“表達式”
A)必須是邏輯表達式
B)必須是關系表達式
C)必須是邏輯表達式或關系表達式
D)可以是任意合法的表達式
(18)有以下程序
#include
main()
{int x;
scanf(“%d”,&x);
if(x<=3); else
if(x!=10)
printf(“%d\n”,x);
}
程序運行時,輸入的`值在哪個范圍才會有輸出結果
A)不等于10的整數
B)大于3且不等于10的整數
C)
大于3或等于10的整數
D)小于3的整數
(19)有以下程序
#include
Main()
{
int a=1,b=2,c=3,d=0;
if(a= =1 &&b++= =2)
if(b!=2 || c--!=3)
printf(“%d,%d,%d\n”,a,b,c);
else printf(“%d,%d,%d\n”,a,b,c);
else printf(“%d,%d,%d\n”,a,b,c);
}
程序運行后的輸出結果是
A)1,2,3
B)1,3,2
C)1,3,3
D)3,2,1
(21)有以下程序
#include
main()
{char
*s=(“ABC);
do
{printf(“%d”,*s%10);s++;
}while(*s);
}
注意,字母A的ASCII碼值為65。程序運行后的輸出結果是
A)5670
B)656667
C)567
D)ABC
(22)設變量已正確定義,以下不能統計出一行中輸入字符個數(不包含回車符)的程序段是
A)n=0;while((ch=get))!=’\n’)n++;
B) n=0;while(get)!=’\n’)n++;
C)for(n=0; get)!=’\n’;n++);
D)n=0;for(ch=get);ch!=’\n’;n++);
(23)有以下程序
#include
main()
{ int a1,a2;char c1,c2;
scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);
printf(“%d,%c,%d,%c”,&1,c1,a2,c2);
}
若想通過鍵盤輸入,使得a1的值為12,a2的是為34,c1的值為字符a,c2的值為字符b,程序輸出結果是:12,a,34,b,則正確的輸入格式是(以下
代表空格,代表回車)
A)12a34b
B)12
a
34
b
C)12,a,34,b
D)12
a34
b
(24)有以下程序
#include
int f(int x,int y)
{return()y-x)*x);}
main()
{int a=3,b=4,c=5,d;
d=f(f(a,b),f(a,c));
printf(“%d\n”,d);
}
程序運行后的輸出結果是
A)10
B)9
C)8
D)7
(25)有以下程序
#include
void fun(char
*s)
{while(*s)
{ if(*s%2==0)
printf(“%c”,*s);
s++;
}
}
main()
{ char
a[]={“good”};
fun(a);printf(“\n”);
}
注意:字母a的ASCⅡ碼值為97,程序運行后的輸出結果是
A)d
B)go
C)god
D)good
(26)有以下程序
#include
void fun( int *a,int *b)
{int *c;
c=a;a=b;b=c;
}
main()
{int x=3,y-5,*P=&x,*q=&y;
fun(p,q);printf(“%d,%d,”,*p,*q);
fun(&x,&y);printf(“%d,%d\n”,*p,*q);
}
程序運行后的輸出結果是
A)3,5,5,3
B)3,5,3,5
C)5,3,3,5
D)5,3,5,3
(27)有以下程序
#include
viod f(int *p,int *q);
main()
{ int m=1,n=2,*r=&m;
f(r,&n);printf(“%d,%d”,m,n);
}
void f(int *p,int *q)
{p=p+1;*q=*q+1;}
程序運行后輸出的結果是
A)1,3
B)2,3
C)1,4
D)1,2
(28)以下函數按每行8個輸出數組中的數據
void fun( int *w,int n)
{ int i;
for(i=0;i
{_________________
printf(“%d”,w);
}
printf(“\n”);
}
下劃線處應填入的語句是
A)if(i/8==0)print(“\n”);
B) if(i/8==0)continue;
C) if(i%8==0)print(“\n”);
D) if(i%8==0)continue;
(29)若有以下定義
int x[10],*pt=x;
則對x數組元素的正確應用是
A)*&x[10]
B)*(x+3)
C)*(pt+10)
D)pt+3
(30)設有定義:char s[81];int i=10;,以下不能將一行(不超過80個字符)帶有空格的字符串真確讀入的語句或語句組是
A
gets(s)
B)while((s[i++]=get))!=”\n”;s=”\0”;
C)scanf(“%s”,s);
D)do{scanf(“%c”,&s);}while(s[i++]!=”\n”);s=”\0”;
(31)有以下程序
#include
main()
{ char *a[ ]={“abcd”,”ef”,”gh”,”ijk”};int I;
for(i=0;i<4;i++)
printf(“%c”,*a);
}
程序運行后輸出的結果是
A)aegi
B)dfhk
C)abcd
D)abcdefghijk
(32)以下選項中正確的語句組是
A)char s[];s=”BOOK!”;
B) char *s;s={”BOOK!”};
C)char s[10];s=”BOOK!”;
D) char *s;s=”BOOK!”;
(33)有以下程序
#include
int fun{int x,int y}
{ if(x==y) return(x);
else returen((x+y)/2)
}
main()
{ int a=4,b=5,c=6;
printf(“%d\n”,fun(2*a,fun(b,c)))
}
程序運行后的輸出結果是
A)3
B)6
C)8
D)12
(34)設函數中有整型變量n,為保證其在未賦值的情況下初值為0,應選擇的存儲類別是
A)auto
B) register
C)static
D)auto或register
(35)有以下程序
#include
int b=2;
int fun(int *k)
{ b=*k+b;return(b);}
main()
{ int a[10]={1,2,3,4,5,6,7,8},I;
for(i=2;i<4;i++) {b=fun(&a)+b;printf(“%d”,b);}
printf(“\n”);
}
程序運行后輸出的結果是
A)10
12
B)8
10
C)10
28
D)10
16
(36)有以下程序
#include
#define PT 3.5;
#define S(x) PT*x*x;
mian()
{ int a=1, b=2; printf(“%4.1f\n”,S(a+b));}
程序運行后輸出的結果是
A)14.0
B)31.5
C)7.5
D)程序有錯無輸出結果
(37)有以下程序
#include
struct ord
{ int x,y;} dt[2]={1,2,3,4};
main()
{ struct ord *p=dt;
printf(“%d,”,++p->x); printf(“%d\n”,++p->y);
}
程序的運行結果是
A)1,2
B)2,3
C)3,4
D)4,1
(38)設有宏定義:#include
IsDIV(k,n) ((k%n==1)?1:0且變量m已正確定義并賦值,則宏調用:IsDIV(m,5)&& IsDIV(m,7)為真時所要表達的是
A)判斷m是否能被5或者7整除
B)判斷m是否能被5和7整除
C)判斷m被5或者7整除是否余1
D)判斷m被5和7整除是否余1
(39)有以下程序
#include
main()
{ int a=5,b=1,t;
t=(a<<2|b); printf(“%d\n”,t)
}
程序運行后的輸出結果是
A)21
B)11
C)6
D)1
(40)有以下程序
#include
main()
{ EILE *f;
f=fopen(“filea.txt”,”w”);
fprintf(f,”abc”);
fclose(f);
}
若文本文件filea.txt中原有內容為:hello,則運行以上程序后,文件filea.txt中的內容為
A) helloabc
B)abclo
C)abc
D)abchello
計算機二級《C語言》真題練習 2
(1)決定局域網特性的主要技術要素是:網絡拓撲、傳輸介質和
A)數據庫軟件
B)服務器軟件
C)體系結構
D)介質訪問控制方法
答案D
(2)快速以太網FastEthernet的傳輸速率為
A)100Mbps
B)10Mbps
C)1Gbps
D)10Gbps
答案A
(3)在雙絞線組網的方式中,____是以太網的中心連接設備。
A)集線器
B)收發器
C)中繼器
D)網卡
答案A
(4)網絡*作系統種類比較多,下面____不屬于網絡*作系統
A)DOS
B)WindowsNT
C)NetWare
D)Unix
答案A
(5)關于電子郵件下面的說法不正確的是
A)發送電子郵件時,通訊雙方必須都在場
B)電子郵件比人工郵件傳送更方便、快捷
C)電子郵件可以同時發送給多個用戶
D)在一個電子郵件種,可以發送文字、圖像、語音等信息
答案A
(6)網絡看起來是“連接”的,但從網絡連接的原理看又可以是“非連接的'”。Internet中不是面向連接應用程序有____。
A)電子郵件E-mail
B)文件傳輸FTP
C)網絡在線游覽WWW
D)遠程登陸Telnet
答案A
(7)網絡體系結構可以定義成:
A)計算機網絡的實現
B)執行計算機數據處理的軟件模塊
C)建立和使用通信硬件和軟件的一套規則和規范
D)由ISO(國際標準化組織)制定的一個標準
答案C
(8)OSI模型的物理層負責下列哪一種功能?
A)格式化報文
B)為數據選擇通過網絡的`路由
C)定義連接到介質的特征
D)提供遠程文件訪問能力
答案C
(9)在不同網絡結點的對等層之間的通信需要下列哪一項協議?
A)模塊接口
B)對等層協議
C)電信號
D)傳輸介質
答案B
(10)____拓撲結構不是局域網所使用拓撲結構
A)星型拓撲
B)網狀型拓撲
C)總線型拓撲
D)環型拓撲
答案B
訓練二
(1)在現實中,一般我們一般將計算機分類為
A)服務器、工作站、臺式機、筆記本、掌上電腦
B)大型機、小型機、個人計算機、工作站、巨型計算機
C)服務器、工作站、臺式機、筆記本
D)服務器/工作站、臺式機、筆記本、掌上電腦,大型機、小型機
答案A
(2)MIPS常用來描述計算機的運算速度,其含義是
A)每秒鐘處理百萬個字符
B)每分鐘處理百萬個字符
C)每秒鐘執行百萬條指令
D)每分鐘執行百萬條指令
答案C
(3)下面不屬于網卡功能的是
A)實現與主機總線的通信連接
B)實現數據鏈路層的功能
C)實現物理層的功能
D)實現調制和解調功能
答案D
(4)McAfeeAssociatesVirusScan是____軟件
A)文檔管理軟件
B)傳真軟件
C)群件軟件
D)病毒防治軟件
答案D
(5)計算機*作系統中,若P、V*作的信號量S初值為2,當前值為-1,則表示有____個等待進程。
A)0個
B)1個
C)2個
D)3個
答案B
(6)NetWare操作系統提供三級容錯機制。第三級系統容錯(SFTIII)提供了
A)文件服務器鏡像
B)熱修復與寫后讀驗證
C)雙重目錄與文件分配表
D)硬盤鏡像與硬盤雙工
答案A
(7)當通過電話線連接到ISP時,因為電話線路輸出信號為____信號,計算技術出信號只能通過調制解調器同電話網連接。
A)數字
B)模擬
C)音頻
D)模擬數字
答案C
(8)SNMP位于ISOOSI參考模型的
A)應用層
B)數據鏈路層
C)對話層
D)網絡層
答案A
(9)SDH幀結構由橫向270×N列和縱向9行8字節組成。每秒鐘傳送8000幀,則STM-1每秒鐘的傳送速率為
A)155.52Mbps
B)311.04Mbps
C)77.76Mbps
D)311.04Mbps
答案A
(10)我們將目前網絡存在的威脅分為兩類:滲入威脅和植入威脅,下面屬于滲入威脅的有Ⅰ假冒
Ⅱ旁路控制Ⅲ特羅伊木馬Ⅳ陷門
A)Ⅰ、Ⅱ
B)Ⅲ、Ⅳ
C)Ⅰ、Ⅳ
D)Ⅰ、Ⅱ、Ⅲ、Ⅳ
答案A
計算機二級《C語言》真題練習 3
1). 關于C語言的變量,以下敘述中錯誤的是( )
A.所謂變量是指在程序運行過程中其值可以被改變的量
B.變量所占的存儲單元地址可以隨時改變
C.程序中用到的所有變量都必須先定義后才能使用
D.由三條下劃線構成的符號名是合法的變量名
正確答案:B
答案解析:變量是指在程序運行過程中其值可以改變的值,一個變量實質上是代表了內存中的某個存儲單元。在程序中對某個變量的操作實際上就是對這個存儲單元的操作,程序運行期間,這個分配的存儲單元不會改變,但是其值可以變化。變量命名要符合標識符的規定,其中下劃線是標識符的組成字符。程序中所有變量都必須先定義后使用。
2). 當變量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語言中,函數返回值的類型最終取決于
A.函數定義時在函數首部所說明的函數類型
B.return語句中表達式值的類型
C.調用函數時主調函數所傳遞的實參類型
D.函數定義時形參的類型
正確答案:A
答案解析:在C語言中,應當在定義函數時指定函數值的類型,凡不加類型說明的函數,一律按整型處理。在定義函數時,對函數值說明的類型一般應該和return語句中的表達式類型一致。如果函數值的類型和return語句中的表達式類型不一致,則以函數類型為主,即函數類型決定返回值的類型。
4). 以下敘述中正確的'是( )
A.在C語言中,預處理命令行都以″#″開頭
B.預處理命令行必須位于C源程序的起始位置
C.#include 必須放在C程序的開頭
D.C語言的預處理不能實現宏定義和條件編譯的功能
正確答案:A
答案解析:在C語言中,凡是以″#″號開頭的行,都稱為″編譯預處理″命令行。預處理命令可以放在程序中的任何位置,其有效范圍是從定義開始到文件結束。預處理命令有宏定義、文件包含和條件編譯三類。#include 命令行表示程序中要引用C標準函數庫中的標準輸入輸出函數。
5). 下列敘述中,不屬于測試的特征的是
A.測試的挑剔性
B.完全測試的不可能性
C.測試的可靠性
D.測試的經濟性
正確答案:C
答案解析:軟件測試的目標是在精心控制的環境下執行程序,以發現程序中的錯誤,給出程序可靠性的鑒定。它有3個方面的重要特征,即測試的挑剔性、完全測試的不可能性及測試的經濟性。其中,沒有測試的可靠性這一說法。
6). 以下選項中不屬于C語言標識符的是( )
A.用戶標識符
B.關鍵字
C.常量
D.預定義標識符
正確答案:C
答案解析:C語言的標識符可分為以下3類:①關鍵字。C語言預先規定了一批標識符,它們在程序中都代表著固定的含義,不能另作他用。這些字符稱為關鍵字。例如,int、double、if、else、while、for等。②預定義標識符。即預先定義并具有特定含義的標識符。③用戶標識符。由用戶根據需要定義的標識符稱為用戶標識符,又稱自定義標識符,一般用來給變量、函數、數組等命名。
7). 以下關于字符串的敘述中正確的是( )
A.兩個字符串中的字符個數相同時才能進行字符串大小的比較
B.可以用關系運算符對字符串的大小進行比較
C.空串比空格打頭的字符串小
D.C語言中有字符串類型的常量和變量
正確答案:C
答案解析:C語言本身并沒有設置一種類型來定義字符串變量,卻允許使用″字符串常量″。字符串常量是由雙引號括起來的一串字符。任意兩個字符串的大小比較要調用字符串比較函數strcmp(s1,s2 )來進行,其比較的方法是依次對s1和s2中對應位置上的字符兩兩進行比較,當出現第一對不相同的字符時,即由這兩個字符決定所在串的大小(比較字符大小的依據是其ASCⅡ碼值)。
8). 下列敘述中正確的是( )。
A.調用printf( )函數時,必須要有輸出項
B.使用put )函數時,必須在之前包含頭文件stdio.h
C.在C語言中,整數可以以二進制、八進制或十六進制的形式輸出
D.調節get )函數讀入字符時,可以從鍵盤上輸入字符所對應的ASCII碼
正確答案:B
答案解析:選項A,若printf函數沒有輸出項,且格式字符串中不含格式信息,則輸出的是格式字符串本身,若格式字符串含有格式信息,運行時則出現錯誤提示;選項C,在C語言中,整數可以十進制、八進制或十六進制的形式輸出;選項D,getchar函數是從標準輸入設備讀取一個字符。
9). 以下結構體類型說明和變量定義中正確的是( )
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
答案解析:定義結構體類型的一般形式為:struct 結構體名 {成員列表};struct 結構體名后不能加″;″號,所以選項B、C)錯誤,選項D中定義無名稱的結構體類型同時定義結構體變量形式應為struct t1,t2;選項A為用戶自定義類型,其為正確的定義形式。
10). 若實體A和B是一對多的聯系,實體B和C是一對一的聯系,則實體A和C的聯系是( )
A.一對一
B.一對多
C.多對一
D.多對多
正確答案:B
答案解析:由于B和C有一一對應的聯系,而A和B只間有一對多的聯系,則通過關系之間的傳遞,則A和C之間也是一對多的聯系。
11). 待排序的關鍵碼序列為(15,20,9,30,67.65,45,90),要按關鍵碼值遞增的順序排序,采取簡單選擇排序法,第一趟排序后關鍵碼15被放到第( )個位置。
A.2
B.3
C.4
D.5
正確答案:B
答案解析:選擇排序的基本思想是掃描整個線性表,從中選出最小的元素,將它交換到表的最前面,然后對剩下的子表采用同樣的方法,直到子表為空。所以第一趟排序后,將選出最小的元素9放在第一個位置,元素15則被交換放在第三個位置。
【計算機二級《C語言》真題練習】相關文章:
計算機二級C語言真題09-30
2016全國計算機二級《C語言》真題練習11-07
計算機二級C語言筆試真題10-12
計算機二級C語言真題選擇題07-20
計算機二級C語言真題填空題05-08
計算機二級C語言歷年真題及答案05-29
計算機二級考試C語言無紙化真題10-06