全國計算機等級考試二級筆試試題及答案
全國計算機等級考試二級筆試試題及答案
計算機二級考試采用全國統(tǒng)一命題、統(tǒng)一考試的形式。下面小編整理了全國計算機等級考試二級筆試試題及答案,希望對大家有幫助!
一、選擇題((1)-(40)每小題1分,(41)-(50)每小題2分,共60分)
下列各題 A) 、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確選項涂寫在答題卡相應位置上,答在試卷上不得分。
(1) 第一臺電子數(shù)字計算機ENIAC誕生于
A) 1927年 B)1936年 C) 1946年 D) 1951年
(2) 用FORTRAN語言編制的源程序要變?yōu)槟繕顺绦,必須?jīng)過
A) 匯編 B) 解釋 C) 編輯 D) 編譯
(3) 計算機軟件一般包括系統(tǒng)軟件和
A) 字處理軟件 B) 應用軟件 C) 管理軟件 D) 科學計算機軟件
(4) 計算機內使用的數(shù)是
A) 二進制數(shù) B) 八進制數(shù) C) 十進制數(shù) D) 十六進制數(shù)
(5) 目前微型機常用的5.25寸雙面高密度軟盤的容量是
A) 360KB B) 1.44MB C) 760KB D) 1.2MB
(6) 具有多媒體功能的微機系統(tǒng)常用CD-ROM作為外存儲器,它是
A) 只讀內存儲器 B) 只讀大容量軟盤 C) 只讀硬盤 D) 只讀光盤
說明:
(7)到(17)題給定的條件如下:
微機系統(tǒng)有A和B兩個容量相同的軟盤驅動器,硬盤C的目錄結構為
文件AUTOEXEC.BAT的內容為
PROMPT $P$G
CD F4
CD DOS
(7) 微機系統(tǒng)用硬盤C啟動后,當前系統(tǒng)提示符是
A) C:> B) C:DOS> C) C:F4> D) C>
(8) 在用C盤啟動后,把A盤格式化成系統(tǒng)盤的命令為
A) FORMAT A: B) FORMAT A:/S
C) DOSFORMAT A:/S D) DOSFORMAT A:S
(9) 設當前盤為C盤,C盤當前目錄為DOS。把JD1.FOR和JD2.FOR連接起來后存入A盤根目錄下,命名為JD3.FOR,應使用命令
A) COPY JD1.FOR+JD2.FOR A:JD3.FOR
B) COPY F4JD1.FOR+JD2.FOR A:JD3.FOR
C) COPY F4JD1.FOR+F4JD2.FOR A:JD3.FOR
D) COPY F4JD1.FOR+F4JD2.FOR JD3.FOR
(10) 設當前盤為C盤,C盤當前目錄為DOS。把FORMAT.COM和DISKCOPY.COM兩個命令文件復制到A盤上的命令為
A) COPY DOS*.* A: B) COPY*.COM A:
C) COPY DOS*.* A: D) COPY DOS*.COM A:
(11) 列出硬盤C上所有擴展名為.FOR文件的命令是
A) DIR*.FOR B) DIR C:F4*.FOR C) DIR C:*.FOR D) DIR C:F4*.*
(12) 把A盤的所有信息復制到B盤上的命令為
A) COPY A:*.* B: B) COPY A:*.* B:*.*
C) C:DOSDISKCOPY A: B: D) C:DOSDISKCOPY B: A:
(13) 設當前盤為C盤。刪除硬盤C上的兩個擴展名為.EXE文件的命令是
A) DELF4*.EXE B) DELXD?.EXE C) DELF4*.* D) DEL *.EXE
(14) 設當前盤為C盤。C盤當前目錄為DOS。在硬盤C的根目錄下建立新子目錄USER的命令為
A) MD C:USER B) MDUSER C) MDUSER D) MD USER
(15) 設當前盤為C盤,C盤當前目錄為根目錄。在硬盤C上刪除子目錄F4的命令或命令組為
A) RD F4 B) RDF4 C) DELF4*.* D) DEL*.*
RD F4 RD F4
(16) 設當前盤為C盤,C盤當前目錄為根目錄。把JD1.FOR改名為JX1.FOR的命令為
A) REN JD1.FOR JX1.FOR B) REN JX1.FOR JD1.FOR
C) REN F4JD1.FOR JX1.FOR D) REN F4JX1.FOR JD1.FOR
(17) 顯示C盤根目錄下所有.TXT文件內容的.命令為
A) TYPE C:*.TXT B) TYPE C:*.TXT>CON
C) COPY C:*.TXT>CON D) COPY C:*.TXT CON
(18) 按照數(shù)據(jù)模型分類,F(xiàn)oxBASE和dBASE是屬于
A) 層次型 B) 網(wǎng)狀型 C) 關系型 D) 混合型
(19) FoxBASE和dBASE命令文件的擴展名為
A) .PRG B) .DBF C) .MEM D) .TXT
(20) "計算機等級考試"這七個漢字作為字符串常量,在FoxBASE和dBASE中,可以表示為
A) {計算機等級考試} B) (計算機等級考試)
C) 計算機等級考試 D) "計算機等級考試"
(21) 請選出可用作C語言用戶標識符的一組標識符
A) void B) a3_b3 C) For D) 2a
define _123 -abc DO
WORD IF Case sizeof
(22) 設 int a=12,則執(zhí)行完語句 a+=a-=a*a后,a的值是
A) 552 B) 264 C) 144 D) -264
(23) C語言程序的基本單位是
A) 程序行 B) 語句 C) 函數(shù) D) 字符
(24) 請選出合法的C語言賦值語句
A) a=b=58 B) i++; C) a=58,b=58 D) k=int(a+b);
(25) 執(zhí)行下面程序片段的結果是
int x=23;
do
{ printf("%2d",x--);}
while(!x);
A) 打印出321 B) 打印出23 C) 不打印任何內容 D) 陷入死循環(huán)
(26) 請選出以下語句的輸出結果
printf("%d",strlen(""65xff"));
A) 5 B) 14 C) 8 D) 輸出項不合法,無正常輸出
(27) 設有如下的函數(shù)
ggg(x)
float x;
{ printf("%d",x*x);}
則函數(shù)的類型
A) 與參數(shù)x的類型相同 B) 是void C) 是int D) 無法確定
(28) 設有如下枚舉類型定義:
enum language { Basic=3,Assembly,Ada=100,COBOL,Fortran};
枚舉量Fortran的值為
A) 4 B) 7 C) 102 D) 103
(29) 若有以下說明和語句,請選出哪個是對c數(shù)組元素的正確引用
int c[4][5], (*cp)[5];
cp=c;
A) cp+1 B) *(cp+3) C) *(cp+1)+3 D) *(*cp+2)
(30) 標準函數(shù) fgets(s, n, f) 的功能是
A) 從文件f中讀取長度為n的字符串存入指針s所指的內存
B) 從文件f中讀取長度不超過n-1的字符串存入指針s所指的內存
C) 從文件f中讀取n個字符串存入指針s所指的內存
D) 從文件f中讀取長度為n-1的字符串存入指針s所指的內存
(31) 設有如下一段程序:
int *var,ab;
ab=100
var=&ab;
ab=*var+10;
執(zhí)行上面的程序后,ab的值為
A) 120 B) 110 C) 100 D) 90
(32) 以下程序段給數(shù)組所有的元素輸入數(shù)據(jù),請選擇正確答案填入。
#include
main()
{ int a[10],i=0;
while(i<10) scanf("%d",________ );
┇
}
A) a+(i++) B) &a[i+1] C) a+i D) &a[++i]
(33) 設有如下的程序段:
char str[ ]="Hello";
char *ptr;
ptr=str;
執(zhí)行上面的程序段后,*(ptr+5)的值為
A) 'o' B) '' C) 不確定的值 D) 'o'的地址
(34) 在宏定義 #define PI 3.14159中,用宏名PI代替一個
A) 單精度數(shù) B) 雙精度數(shù) C) 常量 D) 字符串
(35) 字符(char)型數(shù)據(jù)在微機內存中的存儲形式是
A) 反碼 B) 補碼 C) EBCDIC碼 D) ASCII碼
(36) 執(zhí)行下面的程序段
int x=35;
char z='A';
int b;
B=((x&15)&&(z<'a'));
后,B的值為
A) 0 B) 1 C) 2 D) 3
(37) C語言規(guī)定,程序中各函數(shù)之間
A) 既允許直接遞歸調用也允許間接遞歸調用
B) 不允許直接遞歸調用也不允許間接遞歸調用
C) 允許直接遞歸調用不允許間接遞歸調用
D) 不允許直接遞歸調用允許間接遞歸調用
(38) 假設在程序中a,b,c均被定義成整型,并且已賦大于1的值,則下列能正確表示代數(shù)式 的表達式是
A) 1/a*b*c B) 1/(a*b*c) C) 1/a/b/(float)c D) 1.0/a/b/c
(39) 若x是整型變量,pb是基類型為整型的指針變量,則正確的賦值表達式是
A) pb=&x B) pb=x; C) *pb=&x; D) *pb=*x
(40) 設有
static char str[ ]="Beijing";
則執(zhí)行
printf("%d", strlen(strcpy(str,"China")));
后的輸出結果為
A) 5 B) 7 C) 12 D) 14
(41) 設有如下程序:
#include
main()
{ int **k, *j, i=100;
j=&i; k=&j;
printf("%d", **k);
}
上面程序的輸出結果是
A) 運行錯誤 B) 100 C) i的地址 D) j的地址
(42) 設 a=5, b=6, c=7, d=8, m=2, n=2, 執(zhí)行
(m=a>b)&&(n=c>d)
后n的值為
A) 1 B) 2 C) 3 D) 4
(43) 下面函數(shù)的功能是
sss(s, t)
char *s, *t;
{ while((*s)&&(*t)&&(*t++== *s++));
return(*s-*t);
}
A) 求字符串的長度 B) 比較兩個字符串的大小
C) 將字符串s復制到字符串t中 D) 將字符串s接續(xù)到字符串t中
(44) 請選出以下程序的輸出結果
#include
sub(x,y,z)
int x, y, *z;
{ *z=y-x; }
main()
{ int a, b, c;
sub(10,5,&a); sub(7,a,&b); sub(a,b,&c);
printf("%d,%d,%d", a,b,c);
}
A) 5,2,3 B) -5,-12,-7 C) -5,-12,-17 D) 5,-2,-7
(45) 下面程序的輸出結果是
#include
main()
{ int i=2,p;
p=f(i,i+1);
printf("%d",p);
}
int f(a,b)
int a,b;
{ int c;
if(a>b) c=1;
else
if(a==b) c=0;
else c=-1;
return(c);
}
A) -1 B) 0 C) 1 D) 2
(46) 請選出以下程序段的輸出結果
#include
#define MIN(x,y) (x)<(y)? (x):(y)
main()
{ int i,j,k;
i=10; j=15;
k=10*MIN(i,j);
printf("%d",k);
}
A) 15 B) 100 C) 10 D) 150
(47) 請選出以下程序段的輸出結果
#include
main()
{ char sl[10], s2[10], s3[10], s4[10];
scanf("%s%s",s1,s2); gets(s3); gets(s4);
puts(s1); puts(s2); puts(s3); puts(s4);
}
輸入數(shù)據(jù)如下:(此處代表回車符)
aaaa bbbb
cccc dddd
A) aaaa B) aaaa C) aaaa D) aaaa bbbb
bbbb bbbb bbbb cccc
cccc cccc dddd dddd
cccc dddd dddd eeee
(48) 請選出以下程序的輸出結果
#include
fun(s, n1, n2)
int *s, n1, n2;
{ int i, j, t;
i=n1; j=n2;
while(i
{ t= *(s+i); *(s+i)= *(s+j); *(s+j)=t;
i++; j--;
}
}
main()
{ int a[10]={1,2,3,4,5,6,7,8,9,0},i, *p=a;
fun(p,0,3); fun(p,4,9); fun(p,0,9);
for(i=0; i<10; i++) printf("%d", *(a+i));
printf("");
}
A) 0 9 8 7 6 5 4 3 2 1 B) 4 3 2 1 0 9 8 7 6 5
C) 5 6 7 8 9 0 1 2 3 4 D) 0 9 8 7 6 5 1 2 3 4
(49) 請選出以下程序的輸出結果
#include
main()
{ int a[ ]={ 1,2,3,4 },i;
int x=0;
for(i=0; i<4; i++)
{ sub(a,x); printf("%d",x);}
printf("");
}
sub(s,y)
int *s, y;
{ static int t=3;
y=s[t]; t--;
}
A) 1 2 3 4 B) 4 3 2 1 C) 0 0 0 0 D) 4 4 4 4
(50) 下面程序的輸出結果為
struct st
{ int x;
int *y;
} *p;
int dt[4]={10,20,30,40};
struct st aa[4]={ 50,&dt[0],60,&dt[1],
70,&dt[2],80,&dt[3] };
main()
{ p=aa;
printf("%d", ++p->x );
printf("%d", (++p)->x);
printf("%d", ++( *p->y));
}
A) 10 B) 50 C) 51 D) 60
20 60 60 70
20 21 21 31
二、填空題(每空2分,共40分)
請將每空的正確答案寫在答題卡上-序號的橫線上,答在試卷上不得分。
(1) 十進制數(shù)123用八位二進制表示為 。
(2) 70年代末開始出現(xiàn)16位微處理器,標志著微型計算機進入了第三代;80年代起使用 位微處理器,標志微型計算機進入了第四代。
(3) 通用計算機操作系統(tǒng)的功能和任務是:作業(yè)管理、文件管理、外設管理、CPU管理和 管理。
(4) PC-DOS的兩個隱含文件是:IBMBIO.COM(輸入輸出程序)與 (磁盤操作管理程序)。
(5) FoxBASE和dBASE有兩種變量:即內存變量和 變量 。
(6) 設有如下程序段:
int i=0, sum=1;
do
{ sum+=i++;}
while(i<6);
printf("%d", sum);
上述程序段的輸出結果是 。
(7) 閱讀下列程序:
#include
main()
{ int i, j, row, column,m;
static int array[3][3]={{100,200,300},
{28,72,-30},
{-850,2,6}
};
m=array[0][0];
for (i=0; i<3; i++)
for (j=0; j<3; i++)
if (array[i][j]
{ m=array[i][j]; row=i; column=j;}
printf("%d,%d,%d",m,row,column);
}
上述程序的輸出結果是 。
(8) 設a、b、c為整型數(shù), 且a=2、b=3、c=4, 則執(zhí)行完以下語句:
a*=16+(b++)-(++c);
后,a的值是 。
(9) 下面程序的輸出結果是 。
#include
main()
{ int a=3, b=2, c=1;
c-=++b;
b*=a+c;
{ int b=5, c=12;
c/=b*2;
a-=c;
printf( '%d,%d,%d,",a,b,c);
a+=--c;
}
printf( '%d,%d,%d,",a,b,c);
}
(10) 設有如下程序:
#include
main(argc,argv)
int argc; char *argv[ ];
{ while( --argc>0) printf("%s",argv[argc]);
printf("");
}
假定上述程序經(jīng)編譯和連接后生成可執(zhí)行文件PROG.EXE,如果在DOS提示符下鍵入PROG ABCD EFGH IJKL ,則輸出結果為 。
(11) 閱讀下列程序:
#include
#define MAX_COUNT 4
void fun();
main()
{ int count;
for (count=1; count<=MAX_COUNT; count++) fun();
}
void fun()
{ static int i;
i+=2; printf("%d",i);
}
上述程序的輸出結果是 。
(12) 設有下列程序:
#include
#include
main()
{ int i;
char str[10], temp[10];
gets(temp);
for (i=0; i<4; i++)
{ gets(str);
if (strcmp(temp,str)<0) strcpy(temp,str);
}
printf("%s",temp);
}
上述程序運行后,如果從鍵盤上輸入(在此代表回車符):
C++
BASIC
QuickC
Ada
Pascal
則程序的輸出結果是 。
(13) 設有如下程序:
#include
main(argc,argv)
int argc; char *argv[ ];
{ FILE *fp;
void fc();
int i=1;
while( --argc>0)
if((fp=fopen(argv[i++],"r"))==NULL)
{ printf("Cannot open file! ");
exit(1);
}
else
{ fc(fp); fclose(fp); }
}
void fc(ifp)
FILE *ifp;
{ char c;
while((c=getc(ifp))!='#') putc-32);
}
上述程序經(jīng)編譯、連接后生成可執(zhí)行文件名為cpy.exe。假定磁盤上有三個
文本文件,其文件名和內容分別為:
文件名 內容
a aaaa#
b bbbb#
c cccc#
如果在DOS下鍵入
cpy a b c
則程序輸出 。
(14) 若輸入3個整數(shù)3,2,1,則下面程序的輸出結果是 。
#include
void sub( n,uu)
int n, uu[ ];
{ int t;
t=uu[n--]; t+=3*uu[n];
n=n++;
if(t>=10)
{ uu[n++]=t/10; uu[n]=t%10;}
else uu[n]=t;
}
main( )
{ int i, n, aa[10]={0,0,0,0,0,0}
scanf( "%d%d%d",&n,&aa[0],&aa[1]);
for(i=1; i
for(i=0; i<=n; i++) printf("%d",aa[i]);
printf("");
}
(15) 若有以下定義:
double w[10];
則w數(shù)組元素下標的上限為 ,下限為 。
(16) 以下程序統(tǒng)計從終端輸入的字符中每個大寫字母的個數(shù)。用#號作為輸入結束標志,請?zhí)羁铡?/p>
#include
#include
main( )
{ int num[26],i; char c;
for(i=0; i<26; i++) num[i]=0;
while( !='#') /*統(tǒng)計從終端輸入的大寫字母個數(shù)*/
if( isupper(c)) num[c-65]+=1;
for(i=0; i<26; i++) /*輸出大寫字母和該字母的個數(shù)*/
if(num[i]) printf("%c:%d,i , num[i]);
}
(17) 下面的程序調用getone函數(shù)開辟一個動態(tài)存儲單元,調用assone函數(shù)把數(shù)據(jù)輸入此動態(tài)存儲單元,調用outone函數(shù)輸出此動態(tài)存儲單元中的數(shù)據(jù)。請?zhí)羁铡?/p>
#include
getone(s)
int **s;
{ *s=(int *)malloc(sizeof(int));}
assone(a)
int *a;
{ scanf("%d", );}
outone(b)
int *b;
printf("%d", );}
main( )
{ int *p;
getone(&p);
assone(p);
outone(p);
}
參考答案 一`選擇題((1)~(40)題每題1分,(41)~(50)題每題2分,共60分)
(1)C (2)D (3)B (4)A (5)D (6)D (7)B (8)C (9)C (10)A
(11)B (12)C (13)A (14)C (15)C (16)C (17)D (18)C (19)A (20)D
(21)B (22)D (23)C (24)B (25)B (26)A (27)C (28)C (29)D (30)B
(31)B (32)A (33)B (34)D (35)D (36)B (37)A (38)D (39)A (40)A
(41)B (42)B (43)B (44)B (45)A (46)A (47)A (48)C (49)C (50)C
二` 填空題(每空2分,共40分)
(1) 01111011
(2) 32
(3) 內存 或存儲器 或存儲
(4) IBMDOS.COM 允許用小寫字母
(5) 字段 或字段名
(6) 16
(7) -850,2,0若遺漏逗號扣1分
(8) 28
(9) 2,5,1,2,3,-2若遺漏逗號扣1分
(10) IJKLEFGHABCD 若在字符間嵌入空格扣1分 若在字符間嵌入空格扣1分
(12) QuickC 若大寫字母寫成小寫字母,或小寫字母寫成大寫字母扣1分
(13) AAAABBBBCCCC 若在字符間嵌入空格扣1分若用小寫字母扣1分
(14) 2 7 2 1 或2721
(15) 9
(16) 0
(17) (c=get)) 注意,外層括號不得遺漏
(18) +65 或 +'A'
(19) a 或&*a
(20) *b
版權聲明:本文內容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權/違法違規(guī)的內容, 請發(fā)送郵件至 yyfangchan@163.com (舉報時請帶上具體的網(wǎng)址) 舉報,一經(jīng)查實,本站將立刻刪除