2016年計(jì)算機(jī)二級(jí)C語(yǔ)言筆試試題
以下文章為大家提供的是關(guān)于計(jì)算機(jī)二級(jí)C語(yǔ)言的c語(yǔ)言設(shè)計(jì)考試試題,希望對(duì)各位考生的備考有所幫助!
一、選擇題((1)--(40)每小題1分, (41)--(50)每小題2分, 共60分
下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)在答題卡相應(yīng)位置上涂黑,答在試卷上不得分。
(1) 下列電子郵件地址中正確的是(其中□表示空格)
A) Malin&ns.cnc.ac.cn B) malin@ns.cac.ac.cn
C) Lin□Ma&ns.cnc.ac.cn D) Lin□Ma@ns.cnc.ac.cn
(2) 下列說(shuō)法中正確的是
A) 為了使用Novell網(wǎng)提供的服務(wù),必須采用FTP協(xié)議 B) 為了使用Internet網(wǎng)提供的服務(wù),必須采用TELNET協(xié)議
C) 為了使用Novell網(wǎng)提供的服務(wù),必須采用TCP/IP協(xié)議 D) 為了使用Internet網(wǎng)提供的服務(wù),必須采用TCP/IP協(xié)議
(3) 下列說(shuō)法中不正確的是
A) 調(diào)制解調(diào)器(Modem)是局域網(wǎng)絡(luò)設(shè)備 B) 集線(xiàn)器(Hub)是局域網(wǎng)絡(luò)設(shè)備
C) 網(wǎng)卡(NIC)是局域網(wǎng)絡(luò)設(shè)備 D) 中繼器(Repeater)是局域網(wǎng)絡(luò)設(shè)備
(4) 十進(jìn)制數(shù)397的十六進(jìn)制值為
A) 18D B) 18E C) 277 D) 361
(5) 下列說(shuō)法中不正確的是
A) CD-ROM是一種只讀存儲(chǔ)器但不是內(nèi)存儲(chǔ)器 B) CD-ROM驅(qū)動(dòng)器是多媒體計(jì)算機(jī)的基本部分
C) 只有存放在CD-ROM盤(pán)上的數(shù)據(jù)才稱(chēng)為多媒體信息 D) CD-ROM盤(pán)上最多能夠存儲(chǔ)大約650兆字節(jié)的信息
(6) Windows應(yīng)用環(huán)境中鼠標(biāo)的拖動(dòng)操作不能完成的是
A) 當(dāng)窗口不是最大時(shí),可以移動(dòng)窗口的位置 B) 當(dāng)窗口最大時(shí),可以將窗口縮小成圖標(biāo)
C) 當(dāng)窗口有滾動(dòng)條時(shí)可以實(shí)現(xiàn)窗口內(nèi)容的滾動(dòng) D) 可以將一個(gè)文件移動(dòng)(或復(fù)制)到另一個(gè)目錄中去
(7) 從Windows中啟動(dòng)MS-DOS方式進(jìn)入了DOS狀態(tài),如果想回到Windos狀態(tài),在DOS提示符下,應(yīng)鍵入的命令為
A) EXIT B) QUIT C) WIN D) DOS -U
(8) 要在WINDOWS標(biāo)準(zhǔn)窗口的下拉菜單中選擇命令,下列操作錯(cuò)誤的是
A) 用鼠標(biāo)單擊該命令選項(xiàng) B) 用鍵盤(pán)上的上下方向鍵將高亮度條移至該命令選項(xiàng)后再按回車(chē)鍵
C) 同時(shí)按下ALT鍵與該命令選項(xiàng)后括號(hào)中帶有下劃線(xiàn)的字母鍵
D) 直接按該命令選項(xiàng)后面括號(hào)中帶有下劃線(xiàn)的字母鍵
(9) ASCII碼(含擴(kuò)展)可以用一個(gè)字節(jié)表示,則可以表示的ASCII碼值個(gè)數(shù)為
A) 1024 B) 256 C) 128 D) 8O
(10) 字長(zhǎng)為32位的計(jì)算機(jī)是指
A) 該計(jì)算機(jī)能夠處理的最大數(shù)不超過(guò)232 B) 該計(jì)算機(jī)中的CPU可以同時(shí)處理32位的二進(jìn)制信息
C) 該計(jì)算機(jī)的內(nèi)存量為32MB D) 該計(jì)算機(jī)每秒鐘所能執(zhí)行的指令條數(shù)為32MIPS
(11) 在DOS系統(tǒng)中,下列文件名中非法的是
A) ABCDEFG1 B) ABCDEFG1.234 C)ABCD_EFG D)ABCD\EFG
(12) DOS系統(tǒng)啟動(dòng)后,下列文件中駐留內(nèi)存的是
A) CONFIG.SYS B) COMMAND.COM C) AUTOEXEC.BAT D) MEM.EXE
(13) DOS下的“DIR *2”命令將列出當(dāng)前目錄下的
A) 所有名字末尾為字符2的非隱含文件和目錄 B) 所有名字末尾為字符2的非隱含文件
C) 所有非隱含文件 D) 所有非隱含文件和目錄
(14) 軟驅(qū)的盤(pán)符為A,A盤(pán)上只有一個(gè)目錄\XYZ,而\XYZ下有若干子目錄和文件,若想把A盤(pán)的所有內(nèi)容復(fù)制到C盤(pán)根目錄下,應(yīng)使用的命令為
A) COPY A:\*.* C: B) COPY A:\*.* C:\*.*
C) XCOPY A:\*.* C:\ /S D) DISKCOPY A: C:
(15) 若要將當(dāng)前盤(pán)目錄下的文件A.TXT連接在文件B.TXT后面,應(yīng)使用的命令為
A) COPY A.TXT>>B.TXT B) MOVE A.TXT>>B.TXT
C) PATH A.TXT>>B.TXT D) TYPE A.TXT>>B.TXT
(16) 若變量已正確定義并賦值,下面符合C語(yǔ)言語(yǔ)法的表達(dá)式是
A) a:=b+1 B) a=b=c+2 C) int 18.5%3 D) a=a+7=c+b
(17) C語(yǔ)言中運(yùn)算對(duì)象必須是整型的運(yùn)算符是
A) %= B) / C) = D)〈=
(18) 若已定義x和y為double類(lèi)型,則表達(dá)式x=1,y=x+3/2 的值是
A) 1 B) 2 C) 2.0 D) 2.5
(19) 若變量a、i已正確定義,且i已正確賦值,合法的語(yǔ)句是
A) a==1 B) ++i; C) a=a++=5; D) a=int(i);
(20) 若有以下程序段,
int c1=1,c2=2,c3;
c3=1.0/c2*c1;
則執(zhí)行后,c3中的值是
A) 0 B) 0.5 C) 1 D) 2
(21) 有如下程序
main( )
{ int y=3,x=3,z=1;
printf(“%d %d\n”,(++x,y++),z+2);
}
運(yùn)行該程序的輸出結(jié)果是
A) 3 4 B) 4 2 C) 4 3 D) 3 3
(22) 能正確表示邏輯關(guān)系:“a≥=10或a≤0”的C語(yǔ)言表達(dá)式是
A) a>=10 or a<=0 B) a>=0|a<=10 C) a>=10 &&a<=0 D) a>=10‖a<=0
(23) 有如下程序
main( )
{ int x=1,a=0,b=0;
switch(x){
case 0: b++;
case 1: a++
case 2: a++;b++
}
printf(“a=%d,b=%d\n”,a,b);
}
該程序的輸出結(jié)果是
A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2
(24) 有如下程序
main( )
{ float x=2.0,y;
if(x<0.0) y=0.0;
else if(x<10.0) y=1.0/x;
else y=1.0;
printf(“%f\n”,y);
}
該程序的輸出結(jié)果是
A) 0.000000 B) 0.250000 C) 0.500000 D) 1.000000
(25) 有如下程序
main( )
{ int a=2,b=-1,c=2;
if(aif(b<0) c=0;
else c++
printf(“%d\n”,c);
)
該程序的輸出結(jié)果是
A} 0 B} 1 C} 2 D} 3
(26) 有如下程序
main( )
{ int i,sum;
for(i=1;i<=3;sum++) sum+=i;
printf(“%d\n”,sum);
}
該程序的執(zhí)行結(jié)果是
A) 6 B) 3 C) 死循環(huán) D) 0
(27) 有如下程序
main( )
{ int x=23;
do
{ printf(“%d”,x--);}
while(!x);
}
該程序的執(zhí)行結(jié)果是
A) 321 B) 23 C) 不輸出任何內(nèi)容 D) 陷入死循環(huán)
(28) 有如下程序
main( )
{ int n=9;
while(n>6) {n--;printf(“%d”,n);}
}
該程序段的輸出結(jié)果是
A) 987 B) 876 C) 8765 D) 9876
(29) 設(shè)有說(shuō)明語(yǔ)句:char a=’\72’;則變量a
A) 包含1個(gè)字符 B) 包含2個(gè)字符 C) 包含3個(gè)字符 D) 說(shuō)明不合法
(30) 有如下函數(shù)調(diào)用語(yǔ)句
func(rec1,rec2+rec3,(rec4,rec5);
該函數(shù)調(diào)用語(yǔ)句中,含有的實(shí)參個(gè)數(shù)是
A) 3 B) 4 C) 5 D) 有語(yǔ)法錯(cuò)
(31) 有如下程序
int runc(int a,int b)
{ return(a+b);}
main( )
{ int x=2,y=5,z=8,r;
r=func(func(x,y),z);
printf(“%\d\n”,r);
}
該程序的輸出的結(jié)果是
A) 12 B) 13 C) 14 D) 15
(32) 有如下程序段
int *p,a=10,b=1
p=&a; a=*p+b;
執(zhí)行該程序段后,a的值為
A) 12 B) 11 C) 10 D) 編譯出錯(cuò)
(33) 對(duì)于基類(lèi)型相同的兩個(gè)指針變量之間,不能進(jìn)行的運(yùn)算是
A) < B) = C) + D) –
(34) 以下函數(shù)返回a所指數(shù)組中最小的值所在的下標(biāo)值
fun(int *a, int n)
{ int i,j=0,p;
p=j;
for(i=j;iif(a[i]return(p);
)
在下劃線(xiàn)處應(yīng)填入的是
A) i=p B} a[p]=a[i] C} p=j D} p=i
(35) 有如下程序
long fib(int n)
{ if(n>2) return(fib(n-1)+fib(n-2));
else return(2);
}
main( )
{ printf(“%d\n”,fib(3));
該程序的輸出結(jié)果是
A} 2 B} 4 C} 6 D} 8
(36) 在C語(yǔ)言中,函數(shù)的隱含存儲(chǔ)類(lèi)別是
A) auto B) static C) extern D) 無(wú)存儲(chǔ)類(lèi)別
(37) 有如下程序
#define N 2
#define M N+1
#define NUM 2*M+1
#main()
{ int i;
for(i=1;i<=NUM;i++)printf(“%d\n”,i);
}
該程序中的for循環(huán)執(zhí)行的次數(shù)是
A) 5 B) 6 C) 7 D) 8
(38) 有以下函數(shù)
char fun(char *p)
{ return p; }
該函數(shù)的返回值是
A) 無(wú)確切的值 B) 形參p中存放的地址值
B) 一個(gè)臨時(shí)存儲(chǔ)單元的地址 D) 形參p自身的地址值
(39) 有如下程序段
int a=14,b=15,x;
char c=’A’;
x=(a&&b)&&(c<’B’);
執(zhí)行該程序段后,x的值為
A) ture B) false C) 0 D) 1
(40) 若fp是指向某文件的指針,且已讀到此文件末尾,則庫(kù)函數(shù)feof(fp)的返回值是
A) EOF B) 0 C) 非零值 D) NULL
(41) 若有以下說(shuō)明和定義
fun(int *c){ }
main()
{ int (*a)()=fun,*b(),w[10],c;
┆
}
在必要的賦值之后,對(duì)fun函數(shù)的正確調(diào)用語(yǔ)句是
A) a=a(w); B) (*a)(&c); C) b=*b(w); D) fun (b);
(42) 有如下說(shuō)明
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
則數(shù)值為9的表達(dá)式是
A) *P+9 B) *(P+8) C) *P+=9 D) P+8
(43) 有如下程序
main( )
{ int n[5]={0,0,0},i,k=2;
for(i=0;iprintf(“%d\n”,n[k]);
)
該程序的輸出結(jié)果是
A} 不確定的值 B} 2 C} 1 D} 0
(44) 若有以下的定義:int t[3][2];能正確表示t數(shù)組元素地址的表達(dá)式是
A) &t[3][2] B) t[3] C) t[1] D) t[2]
(45) 有如下程序
main( )
{ int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;
for(i=1;i<3;i++)
for(j=0;jprintf(“%d\n”,s);
)
該程序的輸出結(jié)果是
A} 18 B} 19 C} 20 D} 21
(46) 有如下定義
struct person{char name[9]; int age;};
strict person class[10]={“Johu”, 17,
“Paul”, 19
“Mary”, 18,
“Adam 16,};
根據(jù)上述定義,能輸出字母M的語(yǔ)句是
A) prinft(“%c\n”,class[3].mane); B) pfintf(“%c\n”,class[3].name[1]);
C) prinft(“%c\n”,class[2].name[1]); D) printf(“%^c\n”,class[2].name[0]);
(47) 以下對(duì)結(jié)構(gòu)體類(lèi)型變量的定義中,不正確的是
A) typedef struct aa B) #define AA struct aa
{ int n; AA {int n;
float m; float m;
}AA; }td1;
AA td1;
C) struct D) struct
{ int n; { int n;
float m; float m;
}aa; }td1;
stuct aa td1;
(48) 若已建立如下圖所示的單向鏈表結(jié)構(gòu), 在該鏈表結(jié)構(gòu)中,指針p、s分別指向圖中所示結(jié)點(diǎn),則不能將s所指的結(jié)點(diǎn)插入到鏈表末尾仍構(gòu)成單向鏈表的語(yǔ)句組是
A) p =p->next; s->next=p; p->next=s; B) p =p->next; s->next=p->next; p->next=s;
C) s->next=NULL; p=p->next; p->next=s; D) p=(*p).next; (*s).next=(*p).next; (*p).next=s;
(49) 有如下程序
main()
{ char s[]=”ABCD”, *P;
for(p=s+l; p)
該程序的輸出結(jié)果是
A} ABCD B} A C} B D} BCD
BCD B C CD
CD C D D
D D
(50) 有如下程序
main()
{ char ch[2][5]={“6937”,”8254”},*p[2];
int i,j,s=0;
for(i=0;i<2;i++) p[i]=ch[i];
for(i=0;i<2;i++)
for(j=0;p[i][j]>’\0’;j+=2)
s=10*s+p[i][j]-‘0’;
printf(“%d\n”,s);
}
該程序的輸出結(jié)果是
A) 69825 B) 63825 C) 6385 D) 693825
二、 填空題(每空2分,共40分)
請(qǐng)將每空的正確答案寫(xiě)在答題卡上[1]至[20]序號(hào)的橫線(xiàn)上,答在試卷上不得分。
(1) 在DOS狀態(tài)下,當(dāng)執(zhí)行當(dāng)前盤(pán)目錄中的程序A.EXE時(shí),為了將本該在屏幕上顯示的運(yùn)行結(jié)果輸出到文件A.DAT中,應(yīng)使用的DOS命令為 [1] 。
(2) 在XCOPY、PATH、TREE三個(gè)DOS命中,屬于內(nèi)部命令的是令是 [2] 。
(3) 設(shè)當(dāng)前盤(pán)為C盤(pán),為了將當(dāng)前盤(pán)當(dāng)前目錄中第三個(gè)字符為X的所有文件同名復(fù)制到A盤(pán)的當(dāng)前目錄中,應(yīng)使用的DOS命令為 [3] 。
(4) 要將當(dāng)前盤(pán)的目錄A\B\C設(shè)置為當(dāng)前目錄,應(yīng)使用的DOS命令為 [4]。
(5) 計(jì)算機(jī)網(wǎng)絡(luò)按通信距離劃分為局域網(wǎng)與廣域網(wǎng),Novell網(wǎng)屬于 [5] 。
(6) 以下程序的輸出結(jié)果是 [6] 。
main()
{ unsigned short a=65536; int b;
printf(“%d\n”,b=a);
}
(7) 若有定義:int a=10,b=9,c=8;接著順序執(zhí)行下列語(yǔ)句后,變量b中的值是 [7] 。
c=(a-=(b-5));
c=(a%11)+(b=3);
(8) 表示“整數(shù)x的絕對(duì)值大于5”時(shí)值為“真”的C語(yǔ)言表達(dá)式是 [8] 。
(9) 要使以下程序段輸出10個(gè)整數(shù),請(qǐng)?zhí)钊胍粋(gè)整數(shù)。
for(i=0;i<= [9] ;printf(“%d\n”,i+=2));
(10) 函數(shù)pi的功能是根據(jù)以下近似公式求π值:
(π*π)/6=1+1/(2*2)+1/(3*3)+..+1/(n*n)
現(xiàn)在請(qǐng)你在下面的函數(shù)中填空,完成求π的功能。
#include “math.h”
double pi(long n)
{ double s=0.0; long i;
for(i=1;i<=n;i++)s=s+ [10] ;
return(sqrt(6*s));
}
(11) 若輸入字符串:abcde<回車(chē)>,則以下while循環(huán)體將執(zhí)行 [11] 次。
While((ch=getchar())==’e’) printf(“*”);
(12) 以下函數(shù)用來(lái)求出兩整數(shù)之和,并通過(guò)形參將結(jié)果傳回,請(qǐng)?zhí)羁铡?/p>
void func(int x,int y, [12] z)
{ *z=x+y; }
(13) 若有以下定義,則不移動(dòng)指針p,且通過(guò)指針p引用值為98的數(shù)組元素的表達(dá)式是 [13] 。
int w[10]={23,54,10,33,47,98,72,80,61}, *p=w;
(14) 設(shè)在主函數(shù)中有以下定義和函數(shù)調(diào)用語(yǔ)句,且fun函數(shù)為void類(lèi)型;請(qǐng)寫(xiě)出fun函數(shù)的首部[14] 。要求形參名為b。
main()
{ double s[10][22];
int n; ┆
┆
fun(s);
┆
}
(15) 以下程序的輸出結(jié)果是 [15] 。
void fun()
{ static int a=0;
a+=2; printf(“%d”,a);
}
main()
{ int cc;
for(cc=1;cc<4;cc++) fun()
printf(“\n”);
}
(16) 以下程序的輸出結(jié)果是 [16] 。
#define MAX(x,y) (x)>(y)?(x):(y)
main()
{ int a=5,b=2,c=3,d=3,t;
t=MAX(a+b,c+d)*10;
printf(“%d\n”,t);
}
(17) 若要使指針p指向一個(gè)double類(lèi)型的動(dòng)態(tài)存儲(chǔ)單元,請(qǐng)?zhí)羁铡?/p>
p= [17] malloc(sizeof(double));
(18) 設(shè)有以下結(jié)構(gòu)類(lèi)型說(shuō)明和變量定義,則變量a在內(nèi)存所占字節(jié)數(shù)是 [18] 。
Struct stud
{ char num[6];
int s[4];
double ave;
} a,*p;
(19) 以下函數(shù)把b字符串連接到a字符串的后面,并返回a中新字符串的長(zhǎng)度。請(qǐng)?zhí)羁铡?/p>
Strcen(char a[], char b[])
{ int num=0,n=0;
while(*(a+num)!= [19] ) num++;
while(b[n]){*(a+num)=b[n]; num++; [20] ;}
return(num);
【計(jì)算機(jī)二級(jí)C語(yǔ)言筆試試題】相關(guān)文章:
計(jì)算機(jī)二級(jí)C語(yǔ)言筆試題09-08
計(jì)算機(jī)二級(jí)c語(yǔ)言筆試題庫(kù)08-19
c語(yǔ)言經(jīng)典筆試題10-06
C語(yǔ)言筆試題及答案02-13
C語(yǔ)言筆試試題08-01