計算機二級考試是全國計算機等級考試(National Computer Rank Examination,簡稱NCRE)四個等級中的一個等級,考核計算機基礎知識和使用一種高階計算機語言編寫程式以及上機除錯的基本技能。那麼計算機等級考試二級C語言會怎麼考?以下僅供參考!
一、選擇題(1-30 每小題1 分,31-45 每小題2 分,共60 分)
下列各題 A),B),C),D)四個選項,只有一個選項是正確的,請將正確的選項在答題
卡相應位置上塗黑。答在試卷上不得分。
(1) 二進位制數101110 轉換為等值的八進位制數是 ( ) 。
A.45
B.56
C.67
D.78
(2) CPU 是由( )組成的。
A.記憶體儲器和控制器
B.控制器和運算器
C.記憶體儲器和運算器
D.記憶體儲器、控制器和運算器
(3) DOS 是為IBM PC 系列微型計算機及其相容機所配置的 ( ) 磁碟作業系統。
A.多使用者多工
B.單使用者單任務
C.分時
D.分散式
(4) 啟動MS-DOS 作業系統後, ( ) 已駐留記憶體。
A.
B.
C.
D.
(5) 設驅動器B 中軟盤上的目錄結構如下圖所示。
設當前目錄為F2,則把A 盤根目錄下的 檔案複製到B 盤F3 子目錄中的命
令是 ( ) 。
A.COPY B:
B.COPY A: B:
C.COPY A: B:F3
D.COPY A: B:F3
(6) 下面四組DOS 命令中,意義完全相同的一組是 ( ) 。
A.COPY 和DISKCOPY
B.COMP 和DISKCOMP
C.DEL 和RD
D.RENAME 和REN
(7) 防止軟盤感染病毒的有效方法是 ( ) 。
A.不要把軟盤和有毒軟盤放在一起
B.在防寫缺口上貼上膠條
C.保持機房清潔
D.定期對軟盤格式化
(8) 雙面高密度5 英寸軟磁碟的容量是 ( ) 。
A.360KB
B.720KB
C.1.2MB
D.1.44MB
(9) 在FOXBASE 中,可以使用的兩類變數是 ( ) 。
A.記憶體變數和欄位變數
B.全域性變數和區域性變數
C.欄位變數和簡單變數
D.記憶體變數和自動變數
(10) 建立一個新子目錄的DOS 命令是 ( ) 。
A.CREATE
B.RD
C.MD
D.CD
(11) 在C 語言中,如果下面的變數都是int 型別,則輸出的結果是 ( ) 。
sum=pad=5; pAd=sum + + ,pAd + + , + + pAd;
printf("%d ",pad);
A.7
B.6
C.5
D.4
(12) 以下程式的輸出結果是 ( ) 。
# include
main()
{ int i=010 , j = 10;
printf("%d,%d ",+ +i , j - -); }
A.11,10
B.9,10
C.010,9
D.10,9
(13) 已知在ASCII 程式碼中,字母A 的序號為65,以下程式的.輸出的結果是 ( ) 。
# include
main()
{ char c1=’A’, c2=’Y’;
printf("%d,%d ",c1,c2); }
A.因輸出格式不合法,輸出錯誤資訊
B.65,90
C.A,Y
D.65,89
(14) 指標s 所指字串的長度為 ( ) 。
char *s=""NameAddress ";
A.19
B.15
C.18
D.說明不合法
(15) 設有說明int(*ptr)[m];其中的識別符號ptr 是 ( ) 。
A.M個指向整型變數的指標
B.指向M個整型變數的函式指標
C.一個指向具有M個整型元素的一維陣列的指標
D.具有M個指標元素的一維指標陣列,每個元素都只能指向整型量
(16) 語句while(!E);中的條件!E 等價於 ( ) 。
A.E = = 0
B.E!=1
C.E!=0
D.~E
(17) 以下程式的輸出結果是 ( ) 。
# include
main()
{ printf("%d ",NULL); }
A.不確定的(因變數無定義)
B.0
C.-1
D.1
(18) 以下函式呼叫語句中含有 ( ) 個實參。
func((exp1,exp2),(exp3,exp4,exp5));
A.1
B.2
C.4
D.5
(19) 設有以下語句:
char a=3,b=6,c;
c=a^b<<2;
則c 的二進位制值是 ( ) 。
A.00011011
B.00010100
C.00011100
D.00011000
(20) 下面的程式中 ( ) 有錯誤(每行程式前面的數字是行號)。
1 #include
2 main()
3 {
4 float a[3]={0,0};
5 int i;
6 for(i=0;i<3;i + + ) scanf("%d",&a[i]);
7 for(i=1;i<3;i + + ) a[0]=a[0]+a[i];
8 printf("%f ",a[0]);
9 }
A.沒有
B.第4 行
C.第6 行
D.第8 行
(21) 設有語句int a=3;則執行了語句a+=a-=a*a;後,變數a 的值是 ( ) 。
A.3
B.0
C.9
D.-12
(22) 以下的for 迴圈 ( ) 。
for(x=0,y=0; (y!=123)&&(x<4); x + + );
A.是無限迴圈
B.迴圈次數不定
C.執行4 次
D.執行3 次
(23) 設有語句char a=’72’;則變數a ( ) 。
A.包含1 個字元
B.包含2 個字元
C.包含3 個字元
D.說明不合法
(24) 以下程式的輸出結果是 ( ) 。
# include
# include
main()
{ int a=1,b=4,c=2;
float x=10..5 , y=4.0 , z;
z=(a+
B./c+sqrt((double)y)*1.2/c+x;
pritnf("%f ",z); }
A.14.000000
B.015.400000
C.13.700000
D.14.900000
(25) sizeof(double)是 ( ) 。
A.一種函式呼叫
B.一個雙精度型表示式
C.一個整型表示式
D.一個不合法的表示式
(26) C 語言中 ( ) 。
A.不能使用do-while 語句構成的迴圈
B.do-while 語句構成的迴圈必須用break 語句才能退出
C.do-while 語句構成的迴圈,當while 語句中的表示式值為非零時結束迴圈
D.do-while 語句構成的迴圈,當while 語句中的表示式值為零時結束迴圈
(27) 以下程式的輸出結果是 ( ) 。
# include
# include
main()
{ char str[12]={’s’,’t’,’r’,’i’,’n’,’g’};
printf("%d ",strlen(str)); }
A.6
B.7
C.11
D.12
(28) 以下程式的輸出結果是 ( ) 。
# include
main()
{ int a=2,c=5;
printf("a=%%d,b=%%d ",a,
C.; }
A.a=%2,b=%5
B.a=2,b=5
C.a=%%d,b=%%d
D.a=%d,b=%d
(29) 以下程式的輸出結果是 ( ) 。
# include
main()
{ int a ,b,d=241;
a=d/100%9;
b=(-1)&&(-1);
printf("%d,%d ",a,
B.; }
A.6,1
B.2,1
C.6,0
D.2,0
(30) 以下程式的輸出結果是 ( ) 。
# include
main()
{ int i;
for ( i=1;i<=5;i + + ) {if ( i%2 ) printf("*");
else continue; printf("#");}
printf("$ "); }
A.*#*#*#$
B.#*#*#*$
C.*#*#$
D.#*#*$
(31) 以下for 語句構成的迴圈執行了 ( ) 次。
# include
# define N 2
# define M N+1
# define NUM (M+1)*M/2
main()
{ int i , n=0;
for ( i=1;i<=NUM;i + + );
{n + + ; printf("%d",n); }
printf(" "); }
A.5
B.6
C.8
D.9
(32) 設有以下語句,則 ( ) 不是對a 陣列元素的正確引用,其中0≤i<10。
int a[10]={0,1,2,3,4,5,6,7,8,9}, *p=a;
A.a[p-a]
B.*(&a[i])
C.p[i]
D.*(*(a+i))
(33) 有以下程式:
# include
# define N 6
main()
{ char c[N]; int i=0;
for ( ;i for ( i=0 ; i 開始,代表一個
回車符:
a
b
cdef
程式的輸出結果是 ( ) 。
A.abcdef
B.a
C.a
D.a
b b b
c cd cdef
d
e
f
(34) 以下程式呼叫findmax 函式求陣列中值最大的元素在陣列中的下標,請選擇填空。
# include
findmax ( s , t , k )
int *s , t , *k;
{ int p; for(p=0,*k=p;p if ( s[p] > s[*k] )( ); }
main()
{ int a[10] , i , k ;
for ( i=0 ; i<10 ; i + + ) scanf("%d",&a[i]);
findmax ( a,10,&k );
printf ( "%d,%d " , k , a[k] ); }
A.k=p
B.*k=p-s
C.k=p-s
D.*k=p
(35) 有以下程式:
#include
union pw
{ int i; char ch[2]; } a;
main()
{ [0]=13; [1]=0; printf("%d ",a.i); }
程式的輸出結果是 ( ) 。(注意: ch[0]在低位元組,ch[1]在高位元組。)
A.13
B.14
C.208
D.209
(36) 有以下程式:
# include
main()
{ int c;
while((c=get))!=’ ’)
{ switch(c-’2’)
{ case 0:
case 1: putc+4);
case 2: putc+4);break;
case 3: putc+3);
case 4: putc+2);break; } }
printf(" "); }
從第一列開始輸入以下資料,代表一個回車符。
2743
程式的輸出結果是 ( ) 。
A.668977
B.668966
C.6677877
D.6688766
(37) 以下程式的輸出結果為 ( ) 。
main()
{ char *alpha[6]={"ABCD","IJKL","MNOP","QRST","UVWX"};
char **p; int i;
p=alpha;
for(i=0;i<4;i + + ) printf("%s",p[i]); printf(" "); }
A.ABCDEFGHIJKL
B.ABCD
C.ABCDEFGHIJKLMNOP
D.AEIM
(38) 以下程式的輸出結果是 ( ) 。
# include
# define FUDGE(y) 2.84+y
# define PR(
A.printf("%d",(int)(
A.)
# define PRINT1(
A.PR(
A.;put’ ’)
main()
{int x=2; PRINT1(FUDGE(5)*x); }
A.11
B.12
C.13
D.15
(39) 以下程式的輸出結果是 ( ) 。
# include
main()
{ int i=1,j=3;
printf("%d",i + + );
{ int i=0; i+=j*2; printf("%d,%d",i,j); }
printf("%d,%d ",i,j); }
A.1,6,3,1,3
B.1,6,3,2,3
C.1,6,3,6,3
D.1,7,3,2,3
(40) 以下程式的輸出結果是 ( ) 。
# include
main()
{ int k=4,m=1,p;
p=func(k,m); printf("%d,",p); p=func(k,m); printf("%d ",p);}
func(a,
B.
int a,b;
{ static int m=0,i=2;
i+=m+1; m=i+a+b; return(m); }
A.8,17
B.8,16
C.8,20
D.8,8
(41) 設有以下語句:
char str[4][12]={"aaa","bbbb","ccccc","dddddd"},
*strp[4];
int i;
for(i=0;i<4;i + + )strp[i]=str[i];
( )不是對字串的正確引用,其中0≤k<4。
A.strp
B.str[k]
C.strp[k]
D.*strp
(42) 設有以下語句:
char str1[]="string",str2[8],*str3,*str4="string";
則 ( ) 不是對庫函式strcpy 的正確呼叫,此庫函式用業複製字串。
A.strcpy(str1,"HELLO1");
B.strcpy(str2,"HELLO2");
C.strcpy(str3,"HELLO3");
D.strcpy(str4,"HELLO4");