2016年計算機二級C語言筆試試題
以下文章為大家提供的是關(guān)于計算機二級C語言的c語言設(shè)計考試試題,希望對各位考生的備考有所幫助!
一、選擇題((1)--(40)每小題1分, (41)--(50)每小題2分, 共60分
下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確選項在答題卡相應(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) 下列說法中正確的是
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) 下列說法中不正確的是
A) 調(diào)制解調(diào)器(Modem)是局域網(wǎng)絡(luò)設(shè)備 B) 集線器(Hub)是局域網(wǎng)絡(luò)設(shè)備
C) 網(wǎng)卡(NIC)是局域網(wǎng)絡(luò)設(shè)備 D) 中繼器(Repeater)是局域網(wǎng)絡(luò)設(shè)備
(4) 十進制數(shù)397的十六進制值為
A) 18D B) 18E C) 277 D) 361
(5) 下列說法中不正確的是
A) CD-ROM是一種只讀存儲器但不是內(nèi)存儲器 B) CD-ROM驅(qū)動器是多媒體計算機的基本部分
C) 只有存放在CD-ROM盤上的數(shù)據(jù)才稱為多媒體信息 D) CD-ROM盤上最多能夠存儲大約650兆字節(jié)的信息
(6) Windows應(yīng)用環(huán)境中鼠標的拖動操作不能完成的是
A) 當窗口不是最大時,可以移動窗口的位置 B) 當窗口最大時,可以將窗口縮小成圖標
C) 當窗口有滾動條時可以實現(xiàn)窗口內(nèi)容的滾動 D) 可以將一個文件移動(或復(fù)制)到另一個目錄中去
(7) 從Windows中啟動MS-DOS方式進入了DOS狀態(tài),如果想回到Windos狀態(tài),在DOS提示符下,應(yīng)鍵入的命令為
A) EXIT B) QUIT C) WIN D) DOS -U
(8) 要在WINDOWS標準窗口的下拉菜單中選擇命令,下列操作錯誤的是
A) 用鼠標單擊該命令選項 B) 用鍵盤上的上下方向鍵將高亮度條移至該命令選項后再按回車鍵
C) 同時按下ALT鍵與該命令選項后括號中帶有下劃線的字母鍵
D) 直接按該命令選項后面括號中帶有下劃線的字母鍵
(9) ASCII碼(含擴展)可以用一個字節(jié)表示,則可以表示的ASCII碼值個數(shù)為
A) 1024 B) 256 C) 128 D) 8O
(10) 字長為32位的計算機是指
A) 該計算機能夠處理的最大數(shù)不超過232 B) 該計算機中的CPU可以同時處理32位的二進制信息
C) 該計算機的內(nèi)存量為32MB D) 該計算機每秒鐘所能執(zhí)行的指令條數(shù)為32MIPS
(11) 在DOS系統(tǒng)中,下列文件名中非法的是
A) ABCDEFG1 B) ABCDEFG1.234 C)ABCD_EFG D)ABCD\EFG
(12) DOS系統(tǒng)啟動后,下列文件中駐留內(nèi)存的是
A) CONFIG.SYS B) COMMAND.COM C) AUTOEXEC.BAT D) MEM.EXE
(13) DOS下的“DIR *2”命令將列出當前目錄下的
A) 所有名字末尾為字符2的非隱含文件和目錄 B) 所有名字末尾為字符2的非隱含文件
C) 所有非隱含文件 D) 所有非隱含文件和目錄
(14) 軟驅(qū)的盤符為A,A盤上只有一個目錄\XYZ,而\XYZ下有若干子目錄和文件,若想把A盤的所有內(nèi)容復(fù)制到C盤根目錄下,應(yīng)使用的命令為
A) COPY A:\*.* C: B) COPY A:\*.* C:\*.*
C) XCOPY A:\*.* C:\ /S D) DISKCOPY A: C:
(15) 若要將當前盤目錄下的文件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語言語法的表達式是
A) a:=b+1 B) a=b=c+2 C) int 18.5%3 D) a=a+7=c+b
(17) C語言中運算對象必須是整型的運算符是
A) %= B) / C) = D)〈=
(18) 若已定義x和y為double類型,則表達式x=1,y=x+3/2 的值是
A) 1 B) 2 C) 2.0 D) 2.5
(19) 若變量a、i已正確定義,且i已正確賦值,合法的語句是
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);
}
運行該程序的輸出結(jié)果是
A) 3 4 B) 4 2 C) 4 3 D) 3 3
(22) 能正確表示邏輯關(guān)系:“a≥=10或a≤0”的C語言表達式是
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è)有說明語句:char a=’\72’;則變量a
A) 包含1個字符 B) 包含2個字符 C) 包含3個字符 D) 說明不合法
(30) 有如下函數(shù)調(diào)用語句
func(rec1,rec2+rec3,(rec4,rec5);
該函數(shù)調(diào)用語句中,含有的實參個數(shù)是
A) 3 B) 4 C) 5 D) 有語法錯
(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) 編譯出錯
(33) 對于基類型相同的兩個指針變量之間,不能進行的運算是
A) < B) = C) + D) –
(34) 以下函數(shù)返回a所指數(shù)組中最小的值所在的下標值
fun(int *a, int n)
{ int i,j=0,p;
p=j;
for(i=j;iif(a[i]return(p);
)
在下劃線處應(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語言中,函數(shù)的隱含存儲類別是
A) auto B) static C) extern D) 無存儲類別
(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) 無確切的值 B) 形參p中存放的地址值
B) 一個臨時存儲單元的地址 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是指向某文件的指針,且已讀到此文件末尾,則庫函數(shù)feof(fp)的返回值是
A) EOF B) 0 C) 非零值 D) NULL
(41) 若有以下說明和定義
fun(int *c){ }
main()
{ int (*a)()=fun,*b(),w[10],c;
┆
}
在必要的賦值之后,對fun函數(shù)的正確調(diào)用語句是
A) a=a(w); B) (*a)(&c); C) b=*b(w); D) fun (b);
(42) 有如下說明
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
則數(shù)值為9的表達式是
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ù)組元素地址的表達式是
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的語句是
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) 以下對結(jié)構(gòu)體類型變量的定義中,不正確的是
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é)點,則不能將s所指的結(jié)點插入到鏈表末尾仍構(gòu)成單向鏈表的語句組是
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分)
請將每空的正確答案寫在答題卡上[1]至[20]序號的橫線上,答在試卷上不得分。
(1) 在DOS狀態(tài)下,當執(zhí)行當前盤目錄中的程序A.EXE時,為了將本該在屏幕上顯示的運行結(jié)果輸出到文件A.DAT中,應(yīng)使用的DOS命令為 [1] 。
(2) 在XCOPY、PATH、TREE三個DOS命中,屬于內(nèi)部命令的是令是 [2] 。
(3) 設(shè)當前盤為C盤,為了將當前盤當前目錄中第三個字符為X的所有文件同名復(fù)制到A盤的當前目錄中,應(yīng)使用的DOS命令為 [3] 。
(4) 要將當前盤的目錄A\B\C設(shè)置為當前目錄,應(yīng)使用的DOS命令為 [4]。
(5) 計算機網(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í)行下列語句后,變量b中的值是 [7] 。
c=(a-=(b-5));
c=(a%11)+(b=3);
(8) 表示“整數(shù)x的絕對值大于5”時值為“真”的C語言表達式是 [8] 。
(9) 要使以下程序段輸出10個整數(shù),請?zhí)钊胍粋整數(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)在請你在下面的函數(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<回車>,則以下while循環(huán)體將執(zhí)行 [11] 次。
While((ch=getchar())==’e’) printf(“*”);
(12) 以下函數(shù)用來求出兩整數(shù)之和,并通過形參將結(jié)果傳回,請?zhí)羁铡?/p>
void func(int x,int y, [12] z)
{ *z=x+y; }
(13) 若有以下定義,則不移動指針p,且通過指針p引用值為98的數(shù)組元素的表達式是 [13] 。
int w[10]={23,54,10,33,47,98,72,80,61}, *p=w;
(14) 設(shè)在主函數(shù)中有以下定義和函數(shù)調(diào)用語句,且fun函數(shù)為void類型;請寫出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指向一個double類型的動態(tài)存儲單元,請?zhí)羁铡?/p>
p= [17] malloc(sizeof(double));
(18) 設(shè)有以下結(jié)構(gòu)類型說明和變量定義,則變量a在內(nèi)存所占字節(jié)數(shù)是 [18] 。
Struct stud
{ char num[6];
int s[4];
double ave;
} a,*p;
(19) 以下函數(shù)把b字符串連接到a字符串的后面,并返回a中新字符串的長度。請?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);
【計算機二級C語言筆試試題】相關(guān)文章:
計算機二級C語言筆試題09-08
計算機二級c語言筆試題庫08-19
c語言經(jīng)典筆試題10-06
計算機C語言筆試試題07-01
C語言筆試題及答案02-13
標準c語言筆試題09-07
C語言筆試試題08-01
計算機二級c語言試題06-24
全國計算機等級考試二級C語言筆試試題06-29