- 相關(guān)推薦
二級(jí)C語(yǔ)言面試筆試試題
一、選擇題((1)-(40)每小題1分,(41)-(50)每小題2分,共60分)
下列各題 A) 、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)在答題卡相應(yīng)位置上涂黑,答在試卷上不得分。
(1) 所謂"裸機(jī)"是指
A) 單片機(jī) B) 單板機(jī)
C) 不裝備任何軟件的計(jì)算機(jī) D) 只裝備操作系統(tǒng)的計(jì)算機(jī)
(2) 下列存儲(chǔ)器中,存取速度最快的是
A) 軟盤 B) 硬盤 C) 光盤 D) 內(nèi)存
(3) 系統(tǒng)軟件中最重要的是
A) 操作系統(tǒng) B) 語(yǔ)言處理程序 C) 工具軟件 D) 數(shù)據(jù)庫(kù)管理系統(tǒng)
(4) CPU處理的數(shù)據(jù)基本單位為字,一個(gè)字的字長(zhǎng)
A) 為8個(gè)二進(jìn)制位 B) 為16個(gè)二進(jìn)制位
C) 為32個(gè)二進(jìn)制位 D) 與CPU芯片的型號(hào)有關(guān)
(5) 打印當(dāng)前屏幕內(nèi)容應(yīng)使用的控制鍵是
A) Scroll-Lock B) Num-Lock C) PgDn D) PrtSc(Print Screen)
(6) 能將高級(jí)語(yǔ)言源程序轉(zhuǎn)換成目標(biāo)程序的是
A) 調(diào)試程序 B) 解釋程序 C) 編譯程序 D) 編輯程序
(7) 二進(jìn)制數(shù)1110111.11轉(zhuǎn)換成十進(jìn)制數(shù)是
A) 119.375 B) 119.75 C) 119.125 D) 119.3
(8) 十六進(jìn)制數(shù)FF.1轉(zhuǎn)換成十進(jìn)制數(shù)是
A) 255.0625 B) 255.125 C) 127.0625 D) 127.125
(9) 3.5英寸軟盤片的一個(gè)角上有一個(gè)滑動(dòng)塊,如果移動(dòng)該滑塊露出一個(gè)小孔,則該軟盤
A) 不能讀但能寫 B) 不能讀也不能寫 C) 只能讀不能寫 D) 能讀寫
(10) 控制鍵^C的功能為
A) 終止當(dāng)前操作 B) 系統(tǒng)復(fù)位
C) 暫停標(biāo)準(zhǔn)輸出設(shè)備的輸出 D) 結(jié)束命令行
(11) COMMAND.COM為命令處理程序,DOS系統(tǒng)啟動(dòng)后,它
A) 駐留在外存,需要時(shí)再裝入內(nèi)存 B) 常駐內(nèi)存,包含所有內(nèi)部命令
C) 不能處理外部命令 D) 不能處理后綴為.EXE的可執(zhí)行文件
(12) 為了將所有擴(kuò)展名為.PAS的文件改成擴(kuò)展名為.P,應(yīng)使用命令
A) REN *.PAS *.?AS B) REN PAS P
C) REN *.PAS *.P D) REN *.PAS *.P??
(13) 設(shè)當(dāng)前盤中文件XY.C的路徑為\A\B\XU,當(dāng)前目錄為\A\B。為了查看文件XY.C的內(nèi)容,應(yīng)使用命令
A) TYPE XU\XY.C B) TYPE \XU\XY.C
C) DIR XU\XY.C D) DIR \A\B\XU\XY.C
(14) 要將提示符改成當(dāng)前盤當(dāng)前目錄后加一個(gè)大于號(hào)">",應(yīng)使用命令
A) PROMPT B) PROMPT $p$g C) PROMPT $$ D) PROMPT C\>
(15) 設(shè)C盤根目錄中有一個(gè)批處理文件A.BAT,當(dāng)前盤為A盤。為了執(zhí)行該批處理文件,下列命令中一定正確的是
A) C:\A B) C:A.BAT C) A.BAT D) \A.BAT
(16) 設(shè)當(dāng)前盤為C盤,將A盤根目錄下的文件目錄信息存放到當(dāng)前盤當(dāng)前目錄下的文件AB中,應(yīng)使用命令
A) TYPE A:\>AB B) DIR >AB C) DIR A:\>AB D) DIR \>AB
(17) 可執(zhí)行文件ABC.EXE所需要的輸入數(shù)據(jù)已經(jīng)按格式存放在文件XYZ中,要求將執(zhí)行結(jié)果在打印機(jī)上打印輸出。下列命令中正確的是
A) ABCXYZ C) ABC>XYZPRN
(18) 在當(dāng)前盤當(dāng)前目錄下有一個(gè)文件A.BAT,其內(nèi)容為
CD \
MD \XYZ\AB\B\C
CD XYZ\AB\B
在正確執(zhí)行上述文件后,接著執(zhí)行下列命令時(shí),不會(huì)發(fā)生錯(cuò)誤的是
A) MD C B) RD \XYZ C) RD C D) RD B
(19) 下列命令組中兩個(gè)命令互相等價(jià)的是
A) TYPE AB.TXT 與 DIR AB.TXT
B) DISKCOMP A: B: 與 COMP A:*.* B:*.*
C) TYPE AB.TXT>>XY.TXT 與 COPY AB.TXT XY.TXT
D) TYPE AB.TXT>XY.TXT 與 COPY AB.TXT XY.TXT
(20) 設(shè)A盤為啟動(dòng)盤,其目錄結(jié)構(gòu)為
其中文件AUTOEXEC.BAT的內(nèi)容如下:
MD \XYZ
CD \DOS\USER
則由A盤啟動(dòng)成功后,A盤的當(dāng)前目錄是
A) \DOS\USER B) \XYZ C) 根目錄 D) \DOS
(21) 在C語(yǔ)言提供的合法的關(guān)鍵字是
A) swicth B) cher C) Case D) default
(22) 在C語(yǔ)言中,合法的字符常量是
A) '\084' B) '\x43' C) 'ab' D) "\0"
(23) 若已定義x和y為double類型,則表達(dá)式:x=1,y=x+3/2的值是
A)1 B)2 C)2.0 D)2.5
(24) 合法的數(shù)組定義是
A)int a[]="string"; B)int a[5]={0,1,2,3,4,5};
C)vhst s="string"; D)char a[]={0,1,2,3,4,5};
(25) 設(shè)a為整型變量,不能正確表達(dá)數(shù)學(xué)關(guān)系:1010&&a>15
D)!(a<=10)&&!(a>=15)
(26) 若t為double類型,表達(dá)式t=1,t5,t++的值是
A) 1 B) 6.0 C)2.0 D)1.0
(27) 若有定義和語(yǔ)句:
char s[10]:s="abcd";printf("%s\n",s);
則結(jié)果是(以下u代表空格)
A) 輸出abcd B) 輸出a C) 輸出abcduuuuu D) 編譯不通過(guò)
(28) 若有定義和語(yǔ)句:
int **pp,*p,a=10,b=20;
pp=&p;p=&a;p=&b;printf("%d\n",*p,**pp);
則輸出結(jié)果是:
A)10,20 B)10,10 C)20,10 D)20,20
(29) 若有以下定義和語(yǔ)句:
int u=010,v=0x10,w=10;
printf("%d,%d,%d\n,u,v,w);
則輸出結(jié)果是:
A) 8,16,10 B) 10,10,10 C) 8,8,10 D) 8,10,10
(30) 若有以下定義和語(yǔ)句
char c1='b',c2='e';
printf("%d,%c\n",c2-c1,c2-'a'+"A");
則輸出結(jié)果是:
A)2,M B)3,E
C)2,E D)輸出項(xiàng)與對(duì)應(yīng)的格式控制不一致,輸出結(jié)果不確定
(31) 若有以下定義:
char s[20]="programming",*ps=s;
則不能代表字符o的表達(dá)式是
A) ps+2 B)s[2] C) ps[2] D)ps+=2,*ps
(32) 若ij已定義為int類型,則以下程序段中內(nèi)循環(huán)體的總的執(zhí)行次數(shù)是
for (i=5;i;i--)
for(j=0;j<4;j++){...}
A)20 B)25 C)24 D)30
(33) 若有以下定義和語(yǔ)句:
char *s1="12345",*s2="1234";
printf("%d\n",strlen(strcpy(s1,s2)));
則輸出結(jié)果是
A) 4 B)5 C)9 D)10
(34) 若有以下定義和語(yǔ)句:
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
則不能表示a數(shù)組元素的表達(dá)式是
A) *p B) a[10] C) *a D) a[p-a]
(35) 下面程序的輸出是
main()
{ char *s="121";
int k=0, a=0, b=0;
do {k++;
if(k%2==0) {a=a+s[k]-'0';
continue;}
b=b+s[k]-'0';
a=a+s[k]-'0';
}
while (s[k+1]);
printf("k=%d a=%d b=%d\n",k,a,b);
A)k=3 a=2 b=3 B)k=3 a=3 b=2 C)k=2 a=3 b=2 D)k=2 a=2 b=3
(36) 下面程序的輸出是
main()
{ unsigned a=32768;
printf("a=%d\n",a);
}
A)a=32768 B)a=32767 C)a=-32767 D)a=-1
(37) 若有以下定義:
float x;int a,b;
則正確的switch 語(yǔ)句是
A)switch(x) B)switch(x)
{ case1.0:printf("*\n"); { case1,2:printf("*\n");
case2.0:printf("**\n"); case3:printf("**\n");
} }
C)switch (a+b) D)switch (a+b);
{ case 1:printf("\n"); { case 1:printf(."*\n");
case 1+2:printf("**\n"); case 2:printf("**\n");
} }
(38) 若有定義:int x,y;char a,b,c;并有以下輸入數(shù)據(jù)(此處< CR> 代表?yè)Q行符,/u代表空格):
1u2
AuBuC
則能給x賦整數(shù)1,給y賦整數(shù)2,給a賦字符A,給b賦字符B,給c賦字符C 的正確程序段是
A) scanf("x=%d y+%d",&x,&y);a=get);b=get);c=get);
B) scanf("%d %d",&x,&y);a=get);b=get);c=get);
C) scanf("%d%d%c%c%c,&x,&y,&a,&b,&c);
D) scanf("%d%d%c%c%c%c%c%c:&x,&y,&a,&a,&b,&b,&c,&c);
(39) 以下程序輸出的結(jié)果是
#include
#include
main()
{ char w[][10]={"ABCD","EFGH","IJKL","MNOP"},K;
for (k=1;k<3;k++)
printf("%s\n",&w[k][k]);
}
A)ABCD B)ABCD
FGH EFG
KL IJ
M
C)EFG D)FGH
JK KL
O
(40) 若有以下的定義:
int a[]={1,2,3,4,5,6,7,88,9,10}, *p=a;
則值為3的表式是
A) p+=2, *(p++) B) p+=2,*++p C) p+=3, *kp++ D) p+=2,++*p
(41) 假定所有變量均已正確說(shuō)明,下列程序段運(yùn)行后x的值是
a=b=c=0;x=35;
if(!a)x--;
else if(b);
if(c)x=3;
else x=4;
A)34 B)4 C)35 D)3
(42) 在以下一組運(yùn)算符中,優(yōu)先級(jí)最高的運(yùn)算符是
A)<= B)= C)% D)&&
(43) 若有以下定義和語(yǔ)句:
int w[2][3],(*pw)[3];
pw=w;
則對(duì)w數(shù)組元素非法引用是
A)*(w[0]+2) B)*(pw+1)[2] C)pw[0][0] D)*(pw[1]+2)
(44) 若有以下程序片段:
char str[]="ab\n\012\\\"";
printf(%dd",strlen(str));
上面程序片段的輸出結(jié)果是
A)3 B)4 C)6 D)12
(45) 函數(shù)調(diào)用:strcat(strcpy(str1,str2),str3)的功能是
A) 將串str1復(fù)制到串str2中后再連接到串str3之后
B) 將串str1連接到串str2之后再?gòu)?fù)制到串str3之后
C) 將串str2復(fù)制到串str1中后再將串str3連接到串str1之后
D) 將串str2連接到串str1之后再將串str1復(fù)制到串str3中
(46) 以下對(duì)C語(yǔ)言函數(shù)的有關(guān)描述中,正確的是
A) 在C中,調(diào)用函數(shù)時(shí),只能把實(shí)參的值傳送給形參,形參的值不能傳送給實(shí)參
B) C函數(shù)既可以嵌套定義又可以遞歸調(diào)用
C) 函數(shù)必須有返回值,否則不能使用函數(shù)
D) C程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個(gè)源程序文件中
(47) 以下敘述中不正確的是
A) 在C中,函數(shù)中的自動(dòng)變量可以賦初值,每調(diào)用一次,賦一次初值。
B) 在C中,在調(diào)用函數(shù)時(shí),實(shí)在參數(shù)和對(duì)應(yīng)形參在類型上只需賦值兼容。
C) 在C中,外部變量的隱含類別是自動(dòng)存儲(chǔ)類別。
D) 在C中,函數(shù)形參可以說(shuō)明為register變量。
(48) 以下程序的輸出結(jié)果是
#include
subl(char a,char b) {char c; c=a;a=b;b=c;}
sub2(char* a,char b) {char c; c=*a;*a=b;b=c;}
sub3(char* a,char*b) {char c; c=*a;*a=*b;*b=c;} { char a,b;
a='A';b='B';sub3(&a,&b);puta);putb);
a='A';b='B';sub2(&a,b);puta);prtb);
a='A';b='B';sub1(a,b);puta);putb);
}
A) BABBAB B) ABBBBA C) BABABA D) BAABBA
(49) 設(shè)有如下定義:
struct sk
{int a;float b;}data,*p;
若有p=&data;,則對(duì)data中的a域的正確引用是
A)(*p).data.a B)(*p).a C)p->data.a D)p.data.a
(50) 以下對(duì)枚舉類型名的定義中正確的是
A)enum a={one,two,three}; B)enum a {one=9,two=-1,three};
C)enum a={"one","two","three"}; D)enum a {"one","two","three"};
二、填空題(每空2分,共40分)
請(qǐng)將每空的正確答案寫在答題卡 【1】 至 【20】序號(hào)的橫線上,答在試卷上不得分。
(1) 與十進(jìn)制數(shù)101等值的二進(jìn)制數(shù)為 【1】 。
(2) DOS命令分為內(nèi)部命令和外部命令,XCOPY命令屬于 【2】 。
(3) 設(shè)當(dāng)前盤為A盤,當(dāng)前系統(tǒng)提示符為">",在不改變當(dāng)前盤的情況下,顯示C盤的當(dāng)前目錄的路徑,應(yīng)使用命令 【3】 。
(4) 自動(dòng)批處理文件名必須是 【4】 。
(5) 設(shè)當(dāng)前盤當(dāng)前目錄下有兩個(gè)文件W.TXT,現(xiàn)要將文件P.TXT連接到文件W.TXT的后面,若使用COPY命令,則完整的命令為 【5】 。
(6) 請(qǐng)寫出以下數(shù)學(xué)式的C語(yǔ)言表達(dá)式 6
──.
a
───
b.c
(7) 若已知a=10,b=20,則表達(dá)式!ab)
printf("****y%d\n",y);
else
printf("####x=%\n",x);
(11) 在對(duì)文件進(jìn)行操作的過(guò)程中,若要求文件的位置回到文件的開(kāi)頭,應(yīng)當(dāng)調(diào)用的函數(shù)是 11 函數(shù).──
(12) 若函數(shù)fun的類型void,且有以下定義和調(diào)用語(yǔ)句:
#define M 50
main()
{ int a[M];
. . .
fun(a);
. . .
}
定義fun函數(shù)首部可以用三種不同的形式,請(qǐng)寫出這三種形式: 12 .13 .14
─ ─ ─
(注意:①形參的名字請(qǐng)用q,②使用同一種風(fēng)格).
(13) 若給fun函數(shù)的形參s傳送字符串:"uuuu6354abc",則函數(shù)的返回值是 15
─.
log fun(char s[]) {long n;int sign;
for(;isspace(*s);s++); sign+(*s=='-')?-1:1;
if(*s=='+'‖*s=='-'s++; for(n=0;isdigit(*s);s++)
n=10*n+(*s-'0'); return sign * n;
(14) 以下函數(shù)用來(lái)在w數(shù)組中插入x,w數(shù)組中的數(shù)已按由小到大順序存放,n 所指存儲(chǔ)單元中存放數(shù)組中數(shù)據(jù)的個(gè)數(shù).插入后數(shù)組中的數(shù)仍有序.請(qǐng)?zhí)羁?
void fun (char *w,char x,int *n)
{ int i,p;
p=0;
w[*n]=x;
while (x>w[p]) 16
──;
for(i=*n;i>p;i--)w[i]= 17
─;
w[p]=x;
++ *n;
}
(15) fun1函數(shù)的調(diào)用語(yǔ)句為:fun1(&a,&b,&c); 它將三個(gè)整數(shù)按由大到小的順序調(diào)整后依次放入a,b,c,三個(gè)變量中,a中放量大數(shù).請(qǐng)?zhí)羁?
void fun2 (int *x,int *y)
{ int t;
t=*x; *x=*y;*y=t;
}
void fun1 (int *pa,int *pb,int *pc)
{ if(*pc>*pb) fun2( 18)
───;
if(*pa<*pc)fun2(19)
──;
if(*pa<*pb)fun2(20)
──; }
〖完〗
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)筆試C試卷答案
一、選擇題((1)--(40)題每題1分,(41)--(50)題每題2分,共60分。
(1)C (2)D (3)A (4)D (5)D (6)C 7)B (8)A (9)C (10)A
(11)B (12)C (13)A (14)B (15)A (16)C (17)D (18)C (19)D (20)C
(21)D (22)B (23)C (24)D (25)A (26)D (27)D (28)D (29)A (30)B
(31)A (32)A (33)A (34)B (35)C (36)C (37)C (38)D (39)D (40)A
(41)B (42)C (43)B (44)C (45)C (46)A (47)C (48)A (49)B (50)B
二、填空題(每空2分,共40分)
(1) 1100101或(1100101)2
(2) 外部命令(答 外部 不扣分)
(3)cd c:(cd與C:中間至少要有一個(gè)空格)
(4)AUTOEXEC.BAT
(5)COPY W.TXT+P.TXT 或copy w.txt+p.txt w.txt
(6)a/(b*c)或a/(a*b)或a/b/c 或a/c/b
(7)1
(8)###a=26,b=13,c=19
(9)*(p+5)或p[5]
(10)if(a<=b){x=1;printf("####x=%d\n",x);}else {y=2;printf("****y=%d\n",y);}
或if(a>b){y=2;printf("****y=%d\n",y);}else{x=1;printf("####"x=%d\n",x);}
或if(a<=b) printf("####"x=%d\n",x=1);else printf("****y=%d\n",y=2);
或if(a>b) printf("****y=%d\n",y=2);else printf("####"x=%d\n",x=1);
(11)rewind或 fseek
(12)(13)(14) void fun(int *q); 或 void fun(q) int *q;
void fun(int q[]); void fun(q) int q[];
void fun(int q[M]); void fun(q) int q[M];
說(shuō)明:以上兩組答案中(A)三個(gè)答案可以任意次序 (B)標(biāo)識(shí)符q可以用字母或下劃線開(kāi)頭以字母、數(shù)字和下劃線組成的名字代替。(C)兩種風(fēng)格可以混用。
(15)6354
(16)p++ 或 ++p 或 p=p+1 或p+=1或p=1+p
(17)w[i-1]或 *(w+i-1)
(18) pc ,pb 或 pb , pc
(19)pc , pa 或 pa , pc
【二級(jí)C語(yǔ)言面試筆試試題】相關(guān)文章:
2017年c語(yǔ)言面試筆試題11-22
普天C++筆試題02-18
群碩筆試題Java和C++、C#11-21
JAVA面試筆試題11-15
人事面試筆試題11-11
公司面試筆試題11-21
人事面試筆試題11-16
C++工程師筆試題目11-25