- 相關(guān)推薦
計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言筆試選擇真題
為了提高大家計(jì)算機(jī)二級(jí)C語(yǔ)言考試成績(jī),應(yīng)屆畢業(yè)生小編為大家整理了全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言筆試選擇真題,祝大家一次性通過(guò)考試。
一、選擇題((1)—(10)、(21)—(40)每題2分,(11)—(20)每題1分,共70分)
(1)下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性結(jié)構(gòu)的是
A.循環(huán)隊(duì)列
B.帶鏈隊(duì)列
C.二叉樹
D.帶鏈棧
(2)下列數(shù)據(jù)結(jié)果中,能夠按照“先進(jìn)后出”原則存取數(shù)據(jù)的是
A.循環(huán)隊(duì)列
B.棧
C.隊(duì)列
D.二叉樹
(3)對(duì)于循環(huán)隊(duì)列,下列敘述中正確的是
A.隊(duì)頭指針是固定不變的
B.隊(duì)頭指針一定大于隊(duì)尾指針
C.隊(duì)頭指針一定小于隊(duì)尾指針
D.隊(duì)頭指針可以大于隊(duì)尾指針,也可以小于隊(duì)尾指針
(4)算法的空間復(fù)雜度是指
A.算法在執(zhí)行過(guò)程中所需要的計(jì)算機(jī)存儲(chǔ)空間
B.算法所處理的數(shù)據(jù)量
C.算法程序中的語(yǔ)句或指令條數(shù)
D.算法在執(zhí)行過(guò)程中所需要的臨時(shí)工作單元數(shù)
(5)軟件設(shè)計(jì)中劃分模塊的一個(gè)準(zhǔn)則是
A.低內(nèi)聚低耦合
B.高內(nèi)聚低耦合
C.低內(nèi)聚高耦合
D. 高內(nèi)聚高耦合
(6)下列選項(xiàng)中不屬于結(jié)構(gòu)化程序設(shè)計(jì)原則的是
A.可封裝
B. 自頂向下
C.模塊化
D. 逐步求精
(8)數(shù)據(jù)庫(kù)管理系統(tǒng)是
A.操作系統(tǒng)的一部分
B.在操作系統(tǒng)支持下的系統(tǒng)軟件
C.一種編譯系統(tǒng)
D. 一種操作系統(tǒng)
(9)在E-R圖中,用來(lái)表示實(shí)體聯(lián)系的圖形是
A.橢圓圖
B.矩形
C.菱形
D. 三角形
(11)以下敘述中正確的是
A.程序設(shè)計(jì)的任務(wù)就是編寫程序代碼并上機(jī)調(diào)試
B.程序設(shè)計(jì)的任務(wù)就是確定所用數(shù)據(jù)結(jié)構(gòu)
C.程序設(shè)計(jì)的任務(wù)就是確定所用算法
D.以上三種說(shuō)法都不完整
(12)以下選項(xiàng)中,能用作用戶標(biāo)識(shí)符的是
A.void
B.8_8
C._0_
D.unsigned
(13)閱讀以下程序
#include
main()
{ int case; float printF;
printf(“請(qǐng)輸入2個(gè)數(shù):”);
scanf(“%d %f”,&case,&pjrintF);
printf(“%d %f\n”,case,printF);
}
該程序編譯時(shí)產(chǎn)生錯(cuò)誤,其出錯(cuò)原因是
A.定義語(yǔ)句出錯(cuò),case是關(guān)鍵字,不能用作用戶自定義標(biāo)識(shí)符
B.定義語(yǔ)句出錯(cuò),printF不能用作用戶自定義標(biāo)識(shí)符
C.定義語(yǔ)句無(wú)錯(cuò),scanf不能作為輸入函數(shù)使用
D.定義語(yǔ)句無(wú)錯(cuò),printf不能輸出case的值
(14)表達(dá)式:(int)((double)9/2)-(9)%2的值是
A.0
B.3
C.4
D.5
(15)若有定義語(yǔ)句:int x=10;,則表達(dá)式x-=x+x的值為
A.-20
B.-10
C.0
D.10
(16)有以下程序
#include
main()
{ int a=1,b=0;
printf(“%d,”,b=a+b);
printf(“%d\n”,a=2*b);
}
程序運(yùn)行后的輸出結(jié)果是
A.0,0
B.1,0
C.3,2
D.1,2
17)設(shè)有定義:int a=1,b=2,c=3;,以下語(yǔ)句中執(zhí)行效果與其它三個(gè)不同的是
A.if(a>B. c=a,a=b,b=c;
B.if(a>B. {c=a,a=b,b=c;}
C.if(a>B. c=a;a=b;b=c;
D.if(a>B. {c=a;a=b;b=c;}
(18)有以下程序
#include
main()
{ int c=0,k;
for (k=1;k<3;k++)
switch (k)
{ default: c+=k
case 2: c++;break;
case 4: c+=2;break;
}
printf(“%d\n”,C.;
}
程序運(yùn)行后的輸出結(jié)果是
A.3
B.5
C.7
D.9
(19)以下程序段中,與語(yǔ)句:k=a>b?(b>c?1:0):0;功能相同的是
A.if((a>b)&&(b>C.) k=1;
else k=0;
B.if((a>b)||(b>C. k=1;
else k=0;
C.if(a<=B. k=0;
else if(b<=C.k=1;
D.if(a>B. k=1;
else if(b>C.k=1;
else k=0;
20)有以下程序
#include
main()
{ char s[]={“012xy”};int i,n=0;
for(i=0;s[i]!=0;i++)
if(s[i]>=’a’&&s[i]<=’z’) n++;
printf(“%d\n”,n);
}
程序運(yùn)行后的輸出結(jié)果是
A.0
B.2
C.3
D.5
(21)有以下程序
#include
main()
{ int n=2,k=0;
while(k++&&n++>2);
printf(“%d %d\n”,k,n);
}
程序運(yùn)行后的輸出結(jié)果是
A.0 2
B.1 3
C.5 7
D.1 2
(22)有以下定義語(yǔ)句,編譯時(shí)會(huì)出現(xiàn)編譯錯(cuò)誤的是
A.char a=’a’;
B.char a=’\n’;
C.char a=’aa’;
D.char a=’\x2d’;
(23)有以下程序
#include
main()
{ char c1,c2;
c1=’A’+’8’-‘4’;
c2=’A’+’8’-‘5’;
printf(“%c,%d\n”,c1,c2);
}
已知字母A的ASCII碼為65,程序運(yùn)行后的輸出結(jié)果是
A.E,68
B.D,69
C.E,D
D.輸出無(wú)定值
(24)有以下程序
#include
void fun(int p)
{ int d=2;
p=d++; printf(“%d”,p);}
main()
{ int a=1;
fun(a); printf(“%d\n”,a);}
程序運(yùn)行后的輸出結(jié)果是
A.32
B.12
C.21
D.22
(25)以下函數(shù)findmax擬實(shí)現(xiàn)在數(shù)組中查找最大值并作為函數(shù)值返回,但程序中有錯(cuò)導(dǎo)致不能實(shí)現(xiàn)預(yù)定功能
#define MIN -2147483647
int findmax (int x[],int n)
{ int i,max;
for(i=0;i
{ max=MIN;
if(max
return max;
}
造成錯(cuò)誤的原因是
A.定義語(yǔ)句int i,max;中max未賦初值
B.賦值語(yǔ)句max=MIN;中,不應(yīng)給max賦MIN值
C.語(yǔ)句if(max
D.賦值語(yǔ)句max=MIN;放錯(cuò)了位置
(26)有以下程序
#include
main()
{ int m=1,n=2,*p=&m,*q=&n,*r;
r=p;p=q;q=r;
printf(“%d,%d,%d,%d\n”,m,n,*p,*q);
}
程序運(yùn)行后的輸出結(jié)果是
A.1,2,1,2
B.1,2,2,1
C.2,1,2,1
D.2,1,1,2
(27)若有定義語(yǔ)句:int a[4][10],*p,*q[4];且0≤i<4,則錯(cuò)誤的賦值是
A.p=a
B.q[i]=a[i]
C.p=a[i]
D.p=&a[2][1]
(28)有以下程序
#include
#include
main()
{ char str[ ][20]={“One*World”, “One*Dream!”},*p=str[1];
printf(“%d,”,strlen(p));printf(“%s\n”,p);
}
程序運(yùn)行后的輸出結(jié)果是
A.9,One*World
B.9,One*Dream
C.10,One*Dream
D.10,One*World
(29)有以下程序
#include
main()
{ int a[ ]={2,3,5,4},i;
for(i=0;i<4;i++)
switch(i%2)
{ case 0:switch(a[i]%2)
{case 0:a[i]++;break;
case 1:a[i]--;
}break;
case 1:a[i[=0;
}
for(i=0;i<4;i++) printf(“%d”,a[i]); printf(“\n”);
}
A.3 3 4 4
B.2 0 5 0
C.3 0 4 0
D.0 3 0 4
(30)有以下程序
#include
#include
main()
{ char a[10]=”abcd”;
printf(“%d,%d\n”,strlen(a),sizeof(a));
}
程序運(yùn)行后的輸出結(jié)果是
A.7,4
B.4,10
C.8,8
D.10,10
(31)下面是有關(guān)C語(yǔ)言字符數(shù)組的描述,其中錯(cuò)誤的是
A.不可以用賦值語(yǔ)句給字符數(shù)組名賦字符串
B.可以用輸入語(yǔ)句把字符串整體輸入給字符數(shù)組
C.字符數(shù)組中的內(nèi)容不一定是字符串
D.字符數(shù)組只能存放字符串
(32)下列函數(shù)的功能是
fun(char * a,char * b)
{ while((*b=*a)!=’\0’) {a++,b++;} }
A.將a所指字符串賦給b所指空間
B.使指針b指向a所指字符串
C.將a所指字符串和b所指字符串進(jìn)行比較
D.檢查a和b所指字符串中是否有’\0’
(33)設(shè)有以下函數(shù)
void fun(int n,char * s) {……}
則下面對(duì)函數(shù)指針的定義和賦值均是正確的是
A.void (*pf)(); pf=fun;
B.viod *pf(); pf=fun;
C.void *pf(); *pf=fun;
D.void (*pf)(int,char);pf=&fun;
(34)有以下程序
#include
int f(int n);
main()
{ int a=3,s;
s=f(a);s=s+f(a);printf(“%d\n”,s);
}
int f(int n)
{ static int a=1;
n+=a++;
return n;
}
程序運(yùn)行以后的輸出結(jié)果是
A.7
B.8
C.9
D.10
(35)有以下程序
#include
#define f(x) x*x*x
main()
{ int a=3,s,t;
s=f(a+1);t=f((a+1));
printf(“%d,%d\n’,s,t);
}
程序運(yùn)行后的輸出結(jié)果是
A.10,64
B.10,10
C.64,10
D.64,64
(36)下面結(jié)構(gòu)體的定義語(yǔ)句中,錯(cuò)誤的是
A.struct ord {int x;int y;int z;}; struct ord a;
B.struct ord {int x;int y;int z;} struct ord a;
C.struct ord {int x;int y;int z;} a;
D.struct {int x;int y;int z;} a;
(37)設(shè)有定義:char *c;,以下選項(xiàng)中能夠使字符型指針c正確指向一個(gè)字符串的是
A.char str[ ]=”string”;c=str;
B.scanf(“%s”,C.;
C.c=getchar();
D.*c=”string”;
(38)有以下程序
#include
#include
struct A
{ int a; char b[10]; double c;};
struct A f(struct A t);
main()
{ struct A a={1001,”ZhangDa”,1098.0};
a=f(a);jprintf(“%d,%s,%6.1f\n”,a.a,a.b,a.C.;
}
struct A f(struct A t)
( t.a=1002;strcpy(t.b,”ChangRong”);t.c=1202.0;return t; )
程序運(yùn)行后的輸出結(jié)果是
A.1001,ZhangDa,1098.0
B.1001,ZhangDa,1202.0
C.1001,ChangRong,1098.0
D.1001,ChangRong,1202.0
(39)若有以下程序段
int r=8;
printf(“%d\n”,r>>1);
輸出結(jié)果是
A.16
B.8
C.4
D.2
(40)下列關(guān)于C語(yǔ)言文件的敘述中正確的是
A.文件由一系列數(shù)據(jù)依次排列組成,只能構(gòu)成二進(jìn)制文件
B.文件由結(jié)構(gòu)序列組成,可以構(gòu)成二進(jìn)制文件或文本文件
C.文件由數(shù)據(jù)序列組成,可以構(gòu)成二進(jìn)制文件或文本文件
D.文件由字符序列組成,其類型只能是文本文件
【計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言筆試選擇真題】相關(guān)文章:
計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言真題09-26
計(jì)算機(jī)等級(jí)考試二級(jí)C++筆試選擇題06-27
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C++筆試真題10-11
計(jì)算機(jī)二級(jí)C語(yǔ)言筆試真題10-12
計(jì)算機(jī)等級(jí)考試二級(jí)ACCESS筆試真題10-06
3月全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C++筆試真題10-11
2007年3月全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言筆試真題參考答案08-21
計(jì)算機(jī)二級(jí)C語(yǔ)言真題09-30