- 相關(guān)推薦
2012年3月全國計算機等級考試二級C語言考試真題
一、 選擇題
1、 下列敘述中正確的是( )。
A.循環(huán)隊列是隊列的一種順序存儲結(jié)構(gòu)
B.循環(huán)隊列是隊列的一種鏈?zhǔn)酱鎯Y(jié)構(gòu)
C.循環(huán)隊列是非線性結(jié)構(gòu)
D.循環(huán)隊列是一直邏輯結(jié)構(gòu)
2、 下列敘述中正確的是( )。
A.棧是一種先進先出的線性表
B.隊列是一種后進先出的線性表
C.棧和隊列都是非線性結(jié)構(gòu)
D.以上三種說法都不對
3、 一棵二叉樹共有25個節(jié)點,其中5個時子節(jié)點,那么度為1的節(jié)點數(shù)為( )。
A.4
B.6
C.10
D.16
4、 在下列模式中,能夠給出數(shù)據(jù)庫物理存儲結(jié)構(gòu)與物理存取方法的是( )。
A.內(nèi)模式
B.外模式
C.概念模式
D.邏輯模式
5、 在滿足實體完整性約束的條件下( )。
A、 一個關(guān)系中可以沒有候選關(guān)鍵詞
B、 一個關(guān)系中只能有一個候選關(guān)鍵詞
C、 一個關(guān)系中必須有多個候選關(guān)鍵詞
D、 一個關(guān)系中應(yīng)該有一個或者多個候選關(guān)鍵詞
6、 有三個關(guān)系R、S和T如下:
則由關(guān)系R和S得到關(guān)系T的操作是( )。
A.自然連接
B.并
C.差
D.交
7、 軟件生命周期中的活動不包括( )。
A.軟件維護
B.市場調(diào)研
C.軟件測試
D.需求分析
8、 下面不屬于需求分析階段任務(wù)的是( )。
A.確定軟件系統(tǒng)的功能需求
B.確定軟件系統(tǒng)的系統(tǒng)的系能需求
B.制定軟件集成測試計劃
D.需求規(guī)格說明書審評
9、 在黑盒測試方式中,設(shè)計測試用例的主要根據(jù)是( )。
A.程序外部功能
B.程序內(nèi)部邏輯
C.程序數(shù)據(jù)結(jié)構(gòu)
D.程序流程圖
10、 在軟件設(shè)計中不使用的工具是( )。
A.系統(tǒng)結(jié)構(gòu)圖
B.程序流程圖
C.PAD圖
D.數(shù)據(jù)流圖(DFD圖)
11、針對簡單程序設(shè)計,以下敘述的實施步驟正確的是( )。
A.確定算法和數(shù)據(jù)結(jié)構(gòu)、編碼、調(diào)試、整理文檔
B.編碼、確定算法和數(shù)據(jù)結(jié)構(gòu)、調(diào)試、整理文檔
C.整理文檔、確定算法和數(shù)據(jù)結(jié)構(gòu)、編碼、調(diào)試
D.確定算法和數(shù)據(jù)結(jié)構(gòu)、調(diào)試、編碼、整理文檔
12、關(guān)于C語言中數(shù)的表示,以下敘述正確的是( )。
A.只有整型數(shù)在允許范圍內(nèi)能精確無誤的表示,實型數(shù)會有誤差
B.只要在在允許范圍內(nèi)整型和實型都能精確表示
C.只有實型數(shù)在允許范圍內(nèi)能精確無誤的表示,整型數(shù)會有誤差
D.只有八進制表示的數(shù)在不會有誤差
13、以下關(guān)于算法敘述錯誤的是( )。
A.算法可以用偽代碼、流程圖等多種形式來描述
B.一個正確的算法必須有輸入
C.一個正確的算法必須有輸出
D.用流程圖可以描述的算法可以用任何一種計算機高級語言編寫成程序代碼
14、以下敘述錯誤的是( )。
A.一個C程序可以包含多個不同名的函數(shù)
B.一個C程序只能有一個主函數(shù)
C.C程序在書寫時,有嚴(yán)格的縮進要求,否則不能編譯通過
D.C程序的主函數(shù)必須用main作為函數(shù)名
15、設(shè)有以下語句
Char ch1,ch2, scanf(”%c%c”,&ch1,&ch2);
若要為變量ch1和ch2分別輸入字符A和B,正確的輸入形式應(yīng)該是( )。
A.A和B之間用逗號間隔
B.A和B之間不能有任何間隔符
C.A和B之間可以用回車間隔
D.A和B之間用空格間隔
16、以下選項中非法的字符常量是( )。
A.’\102’
B.’\65’
C.’\xff’
D.’\019’
17、有以下程序
#include
Main()
{
Int A=0,B=0,C=0;
C=(A-=A-5);(A=B,B+=4);
Printf(“%d, %d, %d\n”,A,B,C)
}
程序運行后輸出的結(jié)果是( )。
A.0,4,5
B.4,4,5
C.4,4,4
D.0,0,0
18、設(shè)變量均已正確定義并且賦值,以下與其他三組輸出結(jié)構(gòu)不同的一組語句是( )。
A.x++; printf((“%d\n”,x);
B.n=++x; printf((“%d\n”,n);
C.++x; printf((“%d\n”,x);
D.n=x++; printf((“%d\n”,n);
19、以下選項中,能表示邏輯值“假”的是( )。
A.1
B.0.000001
C.0
D.100.0
20、有以下程序
#include
Main()
{ int a;
Scanf(“%d”,&a);
If(a++<9) printf((“%d\n”,a);
Else printf((“%d\n”,a--);
}
程序運行時鍵盤輸入9<回車>,則輸出的結(jié)構(gòu)是( )。
A.10
B.11
C.9
D.8
21、有以下程序
#include
Main()
{int s=0,n;
For (n=0;n<3;n<++)
{switch(s)
{ case 0;
Case 1;s+=1;
Case 2;s+=2;break;
Case 3;s+3;
Case 4;s+=4;
}
printf((“%d\n”,s);
}
}
程序運行后的結(jié)果是( )。
A.1,2,4
B.1,3,6
C.3,10,14
D.3,6,10
22、若k是int類型變量,且有以下for語句
For(k=-1;k<0;k++) printf(****\n”);
下面關(guān)于語句執(zhí)行情況的敘述中正確的是( )。
A.循環(huán)體執(zhí)行一次
B.循環(huán)體執(zhí)行兩次
C.循環(huán)體一次也不執(zhí)行
D.構(gòu)成無限循環(huán)
23、有以下程序
#include
Main()
{char A,B,C;
B=’1’;C=’A’
For(A=0;A<6;A++)
{if(A%2) putchar(B+A);
Else putchar(C+A);
}
}
程序運行后輸出的結(jié)果是( )。
A.1B3D5F
B.ABCDFE
C.A2C4E6
D.123456
24、設(shè)有如下定義語句
Int m[ ]={2,4,6,8},*k=m;
以下選項中,表達式的值為6的是( )。
A.*(k+2)
B.k+2
C.*k+2
D.*k+=2
25、fun函數(shù)的功能是:通過鍵盤輸入給x所指的整型數(shù)組所有元素賦值。在下列劃線處應(yīng)該填寫的是( )。
#include
#define N 5
Viod fun(int x[N])
{int m;
For(m=N-1;m>0;m--) scanf(“%d\n”, );
}
A.&x[++m]
B.&x[m+1]
C.x+(m++)
D.x+m
26、若有函數(shù)
Viod fun(double a[], int *n)
{………}
以下敘述中正確的是( )。
A、 調(diào)用fun函數(shù)時只有數(shù)組執(zhí)行按值傳送,其他實參和形參之間執(zhí)行按地址傳送
B、 形參a和n都是指針變量
C、 形參a是一個數(shù)組名,n是指針變量
D、 調(diào)用fun函數(shù)時將把double型實參數(shù)組元素一一對應(yīng)地傳送給形參a數(shù)組
27、有以下程序
#include
Main()
{int a,b,k,m,*p1,*p2;
k=1,m=8;
p1=&k,p2=&m;
a=/*p1-m; b=*p1+*p2+6;
printf(“%d ”,a); printf(“%d\n”,b);
}
編譯時編譯器提示錯誤信息,你認(rèn)為出錯的語句是( )。
A.a=/*p1-m
B.b=*p1+*p2+6
C.k=1,m=8;
D.p1=&k,p2=&m;
28、以下選項中有語法錯誤的是( )。
A char *str[ ]={“guest”};
B.char str[10 ]={“guest”};
C.char *str[3] *str[1]={“guest”};
D.char str[3][10];str[1]={“guest”};
29、avg函數(shù)的功能是求整型數(shù)組中的前若干個元素的平均值,設(shè)數(shù)組元素個數(shù)最多不超過10,則下列函數(shù)說明語句錯誤的是( )。
A.int avg(int *a,int n);
B.int avg(int a[10],int n);
C.int avg(int a,int n) ;
D.int avg(int a[],int n);
30、有以下函數(shù)
#include
#include
main()
{ printf(“%d\n”,strren”ATS\n012\1”) );}
程序運行后的輸出結(jié)果是( )。
A.3
B.8
C.4
D.9
31、有以下函數(shù)
#include
main()
{ char a[20],b[20],c[20];
scanf(”%s%s”,a,b);
get(c);
printf(”%s%s\n”,a,b,c);
}
程序運行時從第一行開始輸入 this is a cat!<回車>,則輸出結(jié)果是( )。
A.thisisacat!
B.this is a
C.thisis a cat!
D.thisisa cat!
32、有以下函數(shù)
#include
viod fun(char c)
{if(c>’x’) fun(c-1);
printf (“%c”,c);
}
main()
{fun”z”;}
程序運行輸出結(jié)果是( )。
A.xyz
B.wxyz
C.zyxw
D.zyx
33、有以下函數(shù)
#include
viod func(int n)
{int i;
for(i=0;i<=n;i++) printf(“*”);
printf(“#”);
main()
{ func(3); printf(“????”); func(4); printf(“\n”); }
程序運行輸出結(jié)果是( )。
A.****#????***#
B.***#????*****#
C.**#????*****#
D.****#????*****#
34、有以下函數(shù)
#include
viod fun(int *s)
{staic int j=0;
do {s[j]=s[j]+s[j+1];} wihle(++j<2);
}
main()
{int k,a[10]={1,2,3,4,5};
for(K+1;k<3;k++) fun(a);
for(K+1;k<5;k++) printf(“%d”,a[k]);
printf(“\n”);
}
程序運行輸出結(jié)果是( )。
A.12345
B.23445
C.34756
D.35745
35、有以下函數(shù)
#include
#define S(x) (x)*x*2
main()
{int k=5,j=2;
printf(“%d,”,S[k+j]); printf(“%d\n”,S(k-j)));
}
程序運行輸出結(jié)果是( )。
A.98,18
B.39,11
C.39,18
D.98,11
36、有以下函數(shù)
#include
Viod exch(int t[ ])
{t[0]=t[5];}
{int x[10]={1,2,3,4,5,6,7,8,9,10},i=0;
While(i<=4) {exch(&x[i])’i++;}
for(i=0;i<5;i++) printf(“%d”,x[i]);
printf(“\n”);
}
程序運行輸出結(jié)果是( )。
A.2 4 6 8 10
B.1 3 5 7 9
C.1 2 3 4 5
D.6 7 8 9 10
37、設(shè)有以下程序段
Struct MP3
{char name[20];
Char color;
Float price;
}std,*ptr;
ptr=& std;
若要引用結(jié)構(gòu)體變量std中的color成員,寫法錯誤的是( )。
A.std.color
B.ptr-> color
C.std-> color
D.(*ptr) .color
38、有以下函數(shù)
#include
struct stu
{int mun; char name[10]; int age;};
viod fun(struct stu *p)
{ printf(“%s\n”,p->name);}
mian()
{ struct stu x[3]={{01,”zhang”,20},{02,”wang”,19},{03,”zhao”,18}};
fun(x+2);
}
程序運行輸出結(jié)果是( )。
A.zhang
B.zhao
C.wang
D.19
39、有以下函數(shù)
#include
mian()
{int a=12,c;
c=(a<<2)<<1;
printf(“%d\n”,c):
}
程序運行輸出結(jié)果是( )。
A.3
B.50
C.2
D.96
40、以下函數(shù)不能用于向文件寫入數(shù)據(jù)的是( )。
A.ftell
B.fwrite
C.fputc
D.fprintf
二、填空題
1、將長度為n的順序存儲在線性表中刪除一個元素,最壞情況下需要移動表中的元素個數(shù)為( )。
2、設(shè)循環(huán)隊列的存儲空間為Q(1:3),初始狀態(tài)為front=rear=30,F(xiàn)經(jīng)過一系列入隊與退隊運算后,front=16,rear=15,則循環(huán)隊列中有( )個元素。
3、數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)語言中,負(fù)責(zé)數(shù)據(jù)的增、刪、改和查詢的是( )。
4、在將E-R圖轉(zhuǎn)換到關(guān)系模式時,實體和聯(lián)系都可以表示成( )。
5、常見的軟件工程方法有結(jié)構(gòu)化方法和面向?qū)ο蠓椒,類、繼承以及多態(tài)性等概念屬于( )。
6、設(shè)變量a和b已定義為int類型,若要通過scanf(”a=%d,b=%d”,&a,&b);語句分別給a和b輸入1和2,則正確的數(shù)據(jù)輸入內(nèi)容是( )。
7、以下程序的輸出結(jié)果是( )。
#include
mian()
{ int a=37;
a+=a%=9; printf(“%d\n”,a);
}
8、設(shè)A.B.c都是整型變量,如果a的值為1,b的值為2,則執(zhí)行c=a++||b++;語句后,變量b的值是( )。
9、有以下程序段
s=1.0;
for(k=1,k<=n;k++) s=s+1.0(k*(k+1));
printf(“%f\n”,s);
請?zhí)羁眨挂韵鲁绦蚨蔚墓δ芘c上面的程序段完全相同。
s=1.0; k=1;
while( )
{ s=s+1.0(k*(k+1)); k=k+1;}
printf(“%f\n”,s);
10、以下程序段的輸出結(jié)果是( )。
#include
mian()
{ char a,b;
for(a=0;a<20;a+=7) { b=a; putchar(b+’0’); }
}
11、以下程序段的輸出結(jié)果是( )。
#include
mian()
{ char *ch[4]={“red”,”green”,”blue”};
Int i=0;
While(ch[i]);
{ putchar(ch[i][0]; i++; }
}
12、有以下程序
#include
mian()
{int arr[]={1,3,5,7,2,4,6,8{, i, start;
Scanf(“%d”, &start);
For(i=0,i<3,i++)
printf(“%d”,arr[(start+i)%8]);
}
若在程序運行時輸入整數(shù)10 <回車>,則輸出結(jié)果為( )。
13、以下程序的功能是輸出a數(shù)組中的所有字符串,請?zhí)羁?/p>
#include
mian()
{char *a[]={“ABC”,”DEFGH”,”IJ”,”KLMNOP”};
Int i=0;
For(;i<4;i++) printf(“%s\n”, );
}
14、以下程序的輸出結(jié)果是( )。
#include
#include
#include
mian()
{ char *p, *q, *r;
p=q=r=(char *)malloc(sizeof(char)*20);
strcpy(p,”attaboy,welcome!”);
printf(“%c%c%c\n”,p[11], q[3], r[4]);
free(p);
}
15、設(shè)文件test.txt中原已寫入字符串Begin,執(zhí)行以下程序后,文件中的內(nèi)容為( )。
#include
mian()
{ file *fp;
fp=fopen(“test.txt”,”w+”);
fputs(“test”,fp);
fclose(fp);
}
【3月全國計算機等級考試二級C語言考試真題】相關(guān)文章:
計算機等級考試二級C語言真題09-26
3月全國計算機等級考試二級C語言筆試真題12-03
全國計算機等級考試二級C++筆試真題10-11
全國計算機二級考試《C語言》真題與答案09-03
全國計算機等級考試二級C語言06-27
計算機等級考試二級C語言筆試選擇真題10-06
2006年9月全國計算機等級考試二級C語言筆試真題10-08