計算機計算機二級

2022年全國計算機二級考試試題題庫(附答案)

本文已影響 6.37K人 

計算機二級考試是全國計算機等級考試,四個等級中的一個等級,由教育部考試中心主辦,考覈計算機基礎知識和使用一種進階計算機語言編寫程序以及上機調試的基本技能。下面是小編爲大家收集的2022年全國計算機二級考試試題題庫(附答案),歡迎閱讀,希望大家能夠喜歡。

2022年全國計算機二級考試試題題庫(附答案)

一、選擇題((1)-(40)每小題1分,(41)-(50)每小題2分,共60分)

下列各題 A) 、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確選項在答題卡相應位置上塗黑,答在試卷上不得分

(1) 應用軟件是指

A) 所有能夠使用的軟件 B) 能被各應用單位共同使用的某種軟件

C) 所有微機上都應使用的基本軟件 D) 專門爲某一應用目的而編制的軟件

(2) 下列述敘中錯誤的是

A) 計算機要經常使用不要長期閒置不用

B) 爲了延長計算機的壽命,應避免頻繁開關計算機

C) 在計算機附近應避免磁場干擾

D) 計算機用幾小時後,應關機一會兒再用

(3) 下列字元中,ASCII碼值最小的是

A) A B) a C) Z D) x

(4) 用晶體管作爲電子器件製成的計算機屬於

A) 第一代 B) 第二代 C) 第三代 D) 第四代

(5) 下列各不同進制的四個無符號數中,最小的數是

A) (11011001)2 B) (37)8 C) (75)10 D) (2A)16

(6) 二進制數1110111.11轉換成十六進制數是

A) 77.C B) 77.3 C) E7.C D) E7.3

(7) 下列各無符號十進制數中,能用八位二進制表示的是

A) 296 B) 333 C) 256 D) 199

(8) 計算機的軟件系統可分類爲

A) 程序與數據 B) 系統軟件與應用軟件

D) 操作系統與語言處理程序 D) 程序、數據與文檔

(9) 486機中的CPU同時能處理的二進制位數爲

A) 8 B) 16 C) 32 D) 64

(10) 在使用計算機的過程中,需要重新啓動DOS,則要

A) 按Ctrl+Break鍵 B) 按^C鍵 C) 按Ctrl+Alt+Del鍵 D) 按^H鍵

(11) 現要從軟盤啓動DOS(軟盤中已存有DOS系統),設有如下一些操作:①開啟計算機電源;②將該軟盤插入A驅動器;③關好A驅動器門。則冷啓動的操作順序應爲

A) ①→②→③ B) ③→②→① C) ②→①→③ D) ②→③→①

(12) 設當前盤中某一檔案路徑爲ACBABC.C,當前目錄爲A。下列命令中錯誤的是

A) CD.. B) RD ACB

C) TYPE ACBABC.C D) TYPE CBABC.C

(13) 設當前盤中的根目錄下有一子目錄AB,在子目錄AB下有一檔案。現要檢視檔案的內容,應使用命令

A) TYPE AB B) TYPE

C) TYPE D) DIR

(14) 自動批處理檔案必須放在

A) C盤根目錄中 B) A盤根目錄中

C) 啓動盤的任一個目錄中 D) 啓動盤的根目錄中

(15) 設當前盤當前目錄爲C:USERXYP,且當前盤當前目錄爲空,則下列命令中能正確執行的是

A) RD C:USERXYP B) RD USERXYP

C) MD USERXYPUSER D) MD USERXYPXY

(16) 下列DOS命令中,合法的是

A) DISKCOMP A.C B.C B) TYPE A.C >> B.C

C) COMP A: B: D) COMP A: A:

(17) 設當前盤爲C盤,所用的所有軟盤已格式化,且容量相同,則下列DOS命令中錯誤的是

A) DISKCOPY A: A: B) COPY A:*.* C) COPY *.* D) COPY A:*.* C:

(18) 下列DOS命令中錯誤的是

A) TYPE >PRN B) TYPE PRN

C) COPY * PRN D) COPY CON PRN

(19) 下列四組DOS命令中,互相等價的一組是

A) COPY A:*.* B:與DISKCOPY A: B:

B) COPY +與TYPE >>

C) COPY + 與COPY +

D) TYPE *>CON與COPY * CON

(20) 設C盤目錄結構如下:

且C盤根目錄下檔案的內容爲

CD FORTRAN

CD TC

如果在A驅動器中插入一張根目錄中只有副檔名爲.C的若干檔案(即A盤中無DOS系統檔案)的軟盤片,則由C盤啓動DOS系統後,第一次鍵入下列命令中,正確的是

A) COPY A:*.C B) COPY A:*.C TC

C) COPY A:*.C FORTRAN D) CD USER

(21) C語言提供的合法的數據類型關鍵字是

A) Double B) short C) integer D) Char

(22) 在C語言中,合法的長整型常數是

A) 0L B) 4962710 C) 0.054838743 D) 2.1869e10

(23) 表達式:10!=9的值是

A) true B) 非零值 C) 0 D) 1

(24) 合法的C語言中,合法的長整型常數是

A) ' ' B) "A" C) 65 D) A

(25) 若有說明和語句:

int a=5;

a++;

此處表達式a++的值是

A) 7 B) 6 C) 5 D) 4

(26) 在下列選項中,不正確的賦值語句是

A) ++t; B) n1=(n2=(n3=0)); C) k=i==j; D) a=b+c=1;

(27) 若有說明:int i,j=7, *p=&i;,則與i=j;等價的語句是

A) I= *P; B) *P=*&J; C) i=&j; D) i=* *p;

(28) 不能把字元串:Hello!賦給數組b的語句是

A) char b[10]={'H','e','l','l','o','!'};

B) char b[10];b="Hello!";

C) char b[10];strcpy(b,"Hello!");

D) char b[10]="Hello!";

(29) 若有以下說明:

int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};

char c='a',d,g;

則數值爲4的表達式是

A)a[g-c] B)a[4] C)a['d'-'c'] D)a['d'-c]

(30) 若有以下說明:

int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;

則數值爲6的表達式是

A) *p+6 B) *(p+6) C) *p+=5 D) p+5

(31) 若有以下說明:

int w[3][4]o={{0,1},{2,4},{5,8}};

int(*p)[4]=w;

則數值爲4的表達式是

A) *w[1]+1 B) p++,*(p+1) C) w[2][2] D) p[1][1]

(32) 若程序中有下面的說明和定義

struct abc

{int x;char y;}

struct abc s1,s2;

則會發生的情況是

A) 編譯進錯 B) 程序將順利編譯`連接`執行

C) 能順利透過編譯`連接`但不能執行 D) 能順利透過編譯`但連接出錯

(33) 能正確表示a≥10或a≤0的關係表達式是

A)a>=10 or a<=0 a="">=10│a<=0

C)a>=10││a<=0 a="">=10 ││a<=0

(34) 下面程序的輸出是

main()

{ int x=3,y=6,a=0;

while(x++!=(y+=o1))

{ a+o=1;

if(y

#include

main()

{ char ss[10]="12345";

strcat(ss,"6789");

gets(ss);printf("%s ",ss);

}

A) ABC B) ABC9 C) 123456ABC D) ABC456789

(35) 下面程序的輸出是

main()

{ char *a="12134211";

int v1=0,v2=0,v3=0,v4=0,k;

for(k=0;s[k];k++)

switch(s[k])

{ default:v4++;

case '1': v1++;

case '3': v3++;

case '2': v2++; }

printf("v1=%d,v2=%d,v3=%d,v4=%d ",v1,v2,v3,v4); }

A) v1=4,v2=2,v3=1,v4=1 B) v1=4,v2=9,v3=3,v4=1

C) v1=5,v2=8,v3=6,v4=1 D) v1=8,v2=8,v3=8,v4=8

(36) 下面程序的輸出是

main()

{int k=11;printf("k=%d,k=%o,k=%x ",k,k,k);}

A)k=11,k=12,k=11 B)k=11,k=13,k=13 C)k=11,k=013,k=0xb D)k=11,k=13,k=b

(37) 若有以下程序段,w和k都是整型變量:

w=k;

LB: if(w==0) go to LE;

w--;

printf("*");

goto LB;

LE: ┆

則不能與上面程序段等價的循環語句是

A)for(w=k;w!=0;w--) printf("*"); B)for(w=k;w;--w)printf("*");

C)w=k; D)w=k;

while(w--!=0)printf("*");w++; do{ w--;printf("*");}while(w!=0);

(38) 若有說明,double *p,a;則能透過scanf語句正確給輸入項讀入數據的程序段是

A)*p=&a; scanf("%lf",p); B)p=(double *)malloc(8);scanf("%f",p);

C) p=&a;scanf("%lf",a); D)p=&a; scanf("%le",p);

(39) 當執行下面程序且輸入:ABC時,輸出的結果是

#include

#include

main()

{ char ss[10]="12345";

gets(ss);printf("%s ",ss); }

A) ABC B) ABC9 C) 123456ABC D) ABC456789

(40) 若有以下的說明和語句:

main()

{int t[3][2], *pt[3],k;

fpr(k=o; k<3;k++)pt[k]=t[k];

}

則以一選項中能正確表示t數組元素地址的表達式是

A) &t[3][2] B) *pt[0] C) *(pt+1) D) &pt[2]

(41) 下面程序輸出數組中的最大值,由s指針指向該元素.

main()

{ int a[10]={6,7,2,9,1,10,5,8,4,3,},*p,*s;

flr(p=a, s=a; p-a<10; p++)

if(---?---)s=p;

printf("The max:%d",*s):

}

則在if語句中的判斷表達式應該是

A) p>s B) *p>*s C) a[p]>a[s] D) p-a>p-s

(42) 下面程序的輸出是

#include

main()

{ char*a="abcdefgh";

fun(a);puts(a); }

fun (char * s)

{ int x=0,y;char c;

for(y=strlen(s)-1;x

A)abcdefgh B)hgfdecba C)dcbahgfe D)hgfedcba

(43) 若有以下函數調用語句: fun(a+b,(x,y),fun(n+k,d,(a,b)));在此函數調用語句中實參的個數是

A)3 B)4 C)5 D)6

(44) 下面程序的輸出是

main()

{ int t=1; fun(fun(t));}

fun(int h)

{ static int a[3]={1,2,3};

int k;

for(k=0;k<3;k++) a[k]+=a[k]-h;

for(k=1;k<3;k++) printf("%d",a[k]);

printf(" "); return(a[h]);}

A)1,2,3, B)1,3,5, C) 1,3,5, D) 1,3,5,

1,5,9, 1,3,5, 0,4,8, -1,3,7,

(45) C語言中,函數的隱含存儲類別是

A)auto B)static C)extern D)無存儲類別

(46) 下面程序的輸出是

int w=3;

main()

{ int w=10; printf("%d ",fun(5)*w); }

fun(int k)

{ if(k==0) return w;

return(fun(k-1)*k); }

A)360 B)3600 C)1080 D)1200

(47) 要求函數的功能是交換x和y中的值,且透過正確調用返回交換結果。能正確招待此功能的函數是

A)funa(int *x,int *y) B) funb(int x,int y)

{int *p; {int t;

*p=*x;*x=*y;*y=*p;} t=x;x=y;y=t;}

C) func(int *x,int *y) D) fund(int x,int y)

{*x=*y;*y=*x;} {*x=*x+*y; *y=*x-*y; *x=*x-*y; }

(48) 要求函數的功能是在一維數組中查找值;若找到則返回所在的下標值,否則返回0;數列放在到中。不能正確執行的函數是

A)funa(int *a,int n,int x ) B)funb(int *a,int n,int x)

{ *a=x; {int k;

while(a[n]!=x)n--; for(k=1;k<=n;k++)

return n; if(a[k]==x)return k;

} return 0; }

C)func(int a[],int n,int x ) D) fund(int a[],int n,int x )

{ int *k; { int k=0;

a[0]=x;k=a+n; do

while(*k!=x) k--; k++;

return k-n; while((k<n+1)&&(a[k]!=x));< p="">

} if(a[k]==x)return k; else return 0; }

(49) 若有下面的說明和定義,則sizeof(struct aa) 的值是

struct aa

{ int r1;double r2; float r3;

union uu{char u1[5]; long u2[2]; } ua;

} mya;

A)30 B)29 C)24 D)22

(50) 用十進制數表示表達式:12/012的運算結果是

A)1 B)0 C)14 D)12

二、填空題:(每空2分,共40分)

請將每空的正確答案寫在答題卡【1】-【20】序號的橫線上,答在試卷上不得分。

(1) 與八進制小數0.1等值的十六進制小數爲 【1】 。

(2) DOS命令分爲內部命令和外部命令,SYS命令屬於 【2】 。

(3) 要打印輸出當前盤當前目錄下的所有副檔名爲的檔案內容,應使用的DOS命令爲 【3】 。

(4) 設當前系統提示符爲"C:USER>",執行命令"PROMPT $p"後,系統提示符變爲 【4】 。

(5) 要建立當前盤當前目錄下的全部檔案與下一級子目錄的目錄資訊檔案MYDIR,應使用的DOS命令爲 【5】 。

(6) 若想透過以下輸入語句給a賦於1,給b賦於2,則輸入數據的形式應該是 【6】 。

int a,b;

scanf("a=%b,b=%d,&a,&b);

(7) 函數mycmp (char*s,chat *t)的`功能是比較字元串s和t的大小,當s等於t 時返回0,否則返回s和t的第一個不同字元的ASCOII碼的差值,即當s>t時返回正值, 當s等於t 時返回0,否則返回s和t的第一個不同字元的ASCOII碼的差值,即當s>t時返回正值, 當s<t時返回負值,請填空。< p="">

mycmp(char *s,char *t)

{ while(*s==*t)

{if(*s=='') return 0;

++s; ++t;}

return (【7】); }

(8) 下面程序的輸出是【8】 。

#define MAX 5

int a[MAX],k;

main()

{ fun1();fun3(); fun2(); fun3();

printf(" "); }

fun1()

{ for(k=0;k

fun2()

{ int a[MAX],k;

for(k=0;k<5;k++) a[k]=k; }

fun3()

{ int k;

for(k=0;k

(9) 若有以下定義和語句,則使指針p指向值爲36的數組元素的表達式是【9】 。

int a[10]={19,23,44,17,37,28,49,36},*p;

p=a;

(10) 下面程序的輸出是 【10】 。

main()

{ enum em{ em1=3,em2=1,em3};

char *aa[]={"AA","BB","CC","DD"};

printf("%s%s%s ",aa[em1],aa[em2],aa[em3]); }

(11) 下面函數要求用來求出兩個整數之和,並透過形參傳回兩數相加之和值,請填空。

int add(int x,int y, 【11】 z)

{ 【12】 =x+y;}

(12) 有以下說明定義和語句,可用引用結構體成員day, 請寫出引用結構體成員的其它兩種形式 【13】 、【14】 。

struct{int day;char mouth;int year;}a,*b; b=&a;

(13) 下面fun函數的功能是將形參x的值轉換成二進制數,所得二進制數的每一位數放在一維數組中返回,二進制數的最低位放在下標爲0的元素中,其它依此類推。請填空。

fun(int x,int b[])

{ int k=0,r;

do

{ r=x% 【15】;

b[k++]=r;

x/=【16】; } while(x); }

(14) 現有如圖所示的存儲結構,每個結點含兩個域,data是指向字元串的指針域,next是指向結點的指針域。請填空完成此結構的類型定義和說明。

head

struct link

{【17】 ; 【18】;} *head;

(15) 下面程序把從終端讀入的文字用@作爲文字結束標誌)複製到一個名爲的新檔案中,請填空。

#include

FILE *fp;

main()

{ char ch;

if((fp=fopen( 【19】))==NULL)exit(0);

while ((ch=get))!='@')fputc(ch,fp); 【20】

【參考答案】

一.選擇題((1)~(40)題每題1分,(41)~(50)題每題2分,共60分)

(1)D (2)D (3)A (4)B (5)B (6)A (7)D (8)B (9)C (10)C

(11)D (12)B (13)B (14)D (15)C (16)B (17)C (18)B (19)B (20)A

(21)B (22)A (23)D (24)A (25)C (26)D (27)B (28)B (29)D (30)C

(31)D (32)A (33)D (34)D (35)C (36)D (37)C (38)D (39)A (40)C

(41)B (42)D (43)A (44)D (45)C (46)B (47)D (48)C (49)D (50)C

二.填空題(每空2分,共40分) ((1)至(5)題中所有字母都允許大、小寫或大小寫混合)

(1) 1 0.2或(0.2)16

(2) 2 外部命令(答外部不扣分)

(3) 3 COPY * PRN

(4) 4 C:USER

(5) 5 DIR >MYDIR

(6) 6 a=1,b=2

(7) 7 *s=*t

(8) 8 o246802468

(9) 9 p=p+7或p+=7

(10)10 DDBBCC

(11)11 int * 12 * z

(12)13 (*b) 14 b->day

說明:答案[13]和[14]可以互換

(13)15 2 16 2

(14)17 char *data 18 struct link *next

說明:答案[17]和[18]可以互換

(15)19 "","w" (說明:"w"內以w開頭的字元串都可以) 20 fclose(fp)

猜你喜歡

熱點閱讀

最新文章

推薦閱讀