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