- 相關(guān)推薦
計(jì)算機(jī)二級(jí)考試C語(yǔ)言程序設(shè)計(jì)試題及答案
計(jì)算機(jī)二級(jí)考試采用全國(guó)統(tǒng)一命題、統(tǒng)一考試的形式。下面小編整理了計(jì)算機(jī)二級(jí)考試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) 顯示器和打印機(jī)都是輸出設(shè)備 B) 顯示器只能顯示字符
C) 通常的彩色顯示器都有7種顏色 D) 打印機(jī)只能打印字符和表格
(2) 微型計(jì)算機(jī)中運(yùn)算器的主要功能是進(jìn)行
A) 算術(shù)運(yùn)算 B) 邏輯運(yùn)算 C) 算術(shù)和邏輯運(yùn)算 D) 初等函數(shù)運(yùn)算
(3) COMMAND。COM是DOS系統(tǒng)的最外層模塊,通常稱(chēng)之為
A) 引導(dǎo)程序 B) 輸入輸出系統(tǒng) C) 命令處理系統(tǒng) D) 文件管理系統(tǒng)
(4) 電子郵件是
A)網(wǎng)絡(luò)信息檢索服務(wù)
B)通過(guò)Web網(wǎng)頁(yè)發(fā)布的公告信息
C)通過(guò)網(wǎng)絡(luò)實(shí)時(shí)交互的信息傳遞方式
D)一種利用網(wǎng)絡(luò)交換信息的非交互式服務(wù)
(5) 和十進(jìn)制數(shù)225相等的二進(jìn)制數(shù)是
A) 11101110 B) 11111110 C) 10000000 D) 11111111
(6) 下列敘述中正確的是
A) 指令由操作數(shù)和操作碼兩部分組成
B) 常用參數(shù)xxMB表示計(jì)算機(jī)的速度
C) 計(jì)算機(jī)的一個(gè)字長(zhǎng)總是等于兩個(gè)字節(jié)
D) 計(jì)算機(jī)語(yǔ)言是完成某一任務(wù)的指令集
(7) 計(jì)算機(jī)的內(nèi)存儲(chǔ)器比外存儲(chǔ)器
A) 價(jià)格便宜 B) 存儲(chǔ)容量大 C) 讀寫(xiě)速度快 D) 讀寫(xiě)速度慢
(8) 設(shè)當(dāng)前盤(pán)為C盤(pán),執(zhí)行DOS命令"COPY B:A.TXT PRN"之后,結(jié)果是
A) B盤(pán)上的A.TXT文件被復(fù)制到C盤(pán)的PRN文件
B) 屏幕上顯示B盤(pán)上的A.TXT文件內(nèi)容
C) B盤(pán)上的A.TXT文件內(nèi)容在打印機(jī)上輸出
D) B盤(pán)上的A.TXT文件被復(fù)制到B盤(pán)上的PRN文件
(9) 要將當(dāng)前盤(pán)當(dāng)前目錄下的兩個(gè)文件X1.TXT和B1.TXT連接起來(lái)之后存入B盤(pán)當(dāng) 前目錄下并且命名為Z.TXT,無(wú)論B盤(pán)當(dāng)前目錄是什么,完成這件任務(wù)可以使用的命令是
A) COPY A:X1.TXT+C:B1.TXT Z.TXT
B) COPY X1.TXT+C:WSB1.TXT B:.TXT
C) COPY A:X1.TXT+C:WSB1.TXT
D) COPY X1.TXT+B1.TXT B:Z.TXT
(10) 下列四組DOS命令中,功能等價(jià)的一組是
A) COPY A:*.* B:與DISKCOPY A: B:
B) COPY ABC.TXT+XYZ.TXT 與TYPE XYZ.TXT>>ABC.TXT
C) COPY ABC.TXT+XYZ.TXT與COPY XYZ.TXT+ABC.TXT
D) TYPE *.FOR>CON與COPY *.FOR CON
(11) 設(shè)當(dāng)前目錄為D:BB,現(xiàn)要把D:AA目錄下首字符是A的文本文件全部刪除,應(yīng)該使用命令
A) DEL A*.TXT B) DEL AAA.TXT
C) DEL AAA*.TXT D) DEL AAA?.TXT
(12) 在Windows中,啟動(dòng)應(yīng)用程序的正確方法是
A) 用鼠標(biāo)指向該應(yīng)用程序圖標(biāo)
B) 將該應(yīng)用程序窗口最小化成圖標(biāo)
B) 將該應(yīng)用程序窗口還原
D) 用鼠標(biāo)雙擊該應(yīng)用程序圖標(biāo)
(13) 在Windows中,終止應(yīng)用程序執(zhí)行的正確方法是
A) 將該應(yīng)用程序窗口最小化成圖標(biāo)
B) 用鼠標(biāo)雙擊應(yīng)用程序窗口右上角的還原按鈕
C) 用鼠標(biāo)雙擊應(yīng)用程序窗口中的標(biāo)題欄
D) 用鼠標(biāo)雙擊應(yīng)用程序窗口左上角的控制菜單框
(14) 在微機(jī)系統(tǒng)中,對(duì)輸入輸出設(shè)備進(jìn)行管理的基本程序模塊(BIOS)存放在
A) RAM中 B) ROM中 C) 硬盤(pán)中 D) 寄存器中
(15) 使計(jì)算機(jī)病毒傳播范圍最廣的媒介是
A) 硬磁盤(pán) B) 軟磁盤(pán) C) 內(nèi)部存儲(chǔ)器 D) 互聯(lián)網(wǎng)
(16) 設(shè)有 int x=11; 則表達(dá)式 (x++ * 1/3) 的值是
A) 3 B) 4 C) 11 D) 12
(17) 下列程序的輸出結(jié)果是
A) 3 B) 3.2 C) 0 D) 3.07
main()
{ double d=3.2; int x,y;
x=1.2; y=(x+3.8)/5.0;
printf("%d ", d*y);
}
(18) 下列程序執(zhí)行后的輸出結(jié)果是(小數(shù)點(diǎn)后只寫(xiě)一位)
A) 6 6 6.0 6.0 B) 6 6 6.7 6.7
C) 6 6 6.0 6.7 D) 6 6 6.7 6.0
main()
{ double d; float f; ling l; int i;
i=f=1=d=20/3;
printf("%d %ld %f %f ", i,l,f,d);
}
(19) 下列變量定義中合法的是
A) short _a=1-.le-1; B) double b=1+5e2.5;
C) long do=0xfdaL; D) float 2_and=1-e-3;
(20) 設(shè) int x=1, y=1; 表達(dá)式(!x||y--)的值是
A) 0 B) 1 C) 2 D) -1
(21) 與 y=(x>0?1:x<0?-1:0);的功能相同的if語(yǔ)句是
A) if (x>0) y=1; B) if(x)
else if(x<0)y=-1; if(x>0)y=1;
else y=0; else if(x<0)y=-1;
else y=0;
C) y=-1 D) y=0;
if(x) if(x>=0)
if(x>0)y=1; if(x>0)y=1;
else if(x==0)y=0; else y=-1;
else y=-1;
(22) 以下循環(huán)體的執(zhí)行次數(shù)是
A) 3 B) 2 C) 1 D) 0
main()
{ int i,j;
for(i=0,j=1; i<=j+1; i+=2, j--)printf("%d ",i);
}
(23) 以下敘述正確的是
A) do-while語(yǔ)句構(gòu)成的循環(huán)不能用其它語(yǔ)句構(gòu)成的循環(huán)來(lái)代替。
B) do-while語(yǔ)句構(gòu)成的循環(huán)只能用break語(yǔ)句退出。
C) 用do-while語(yǔ)句構(gòu)成的循環(huán),在while后的表達(dá)式為非零時(shí)結(jié)束循環(huán)。
D) 用do-while語(yǔ)句構(gòu)成的循環(huán),在while后的表達(dá)式為零時(shí)結(jié)束循環(huán)。
(24) 下列程序執(zhí)行后的輸出結(jié)果是
A) G B) H C) I D) J
main()
{ int x='f'; printf("%c ",'A'+(x-'a'+1)); }
(25) 執(zhí)行下面的程序段后,變量k中的值為
A) 不定值 B) 33 C) 30 D) 10
int k=3, s[2];
s[0]=k; k=s[1]*10;
(26) 若已定義:
int a[ ]={0,1,2,3,4,5,6,7,8,9], *p=a,i;
其中 0≤i≤9, 則對(duì)a數(shù)組元素不正確的引用上
A) a[p-a] B) *(&a[i]) C) p[i] D) a[10]
(27) 下列程序執(zhí)行后的輸出結(jié)果是
A) 6 B) 7 C) 8 D) 9
void func(int *a,int b[])
{ b[0]=*a+6; }
main()
{ int a,b[5];
a=0; b[0]=3;
func(&a,b); printf("%d ,b[0]);
}
(28) 下列程序的運(yùn)行結(jié)果是
A) a=%2,b=%5 B) a=2,b=5
C) a=d, b=d D) a=%d,b=%d
#include
main()
{ int a=2,c=5;
printf("a=%d,b=%d ",a,c); }
(29) 下列程序執(zhí)行后的輸出結(jié)果是
A) 3 B) 6 C) 9 D) 隨機(jī)數(shù)
main()
{ int a[3][3], *p,i;
p=&a[0][0];
for(i=p; i<9; i++) p[i]=i+1;
printf("%d ",a[1][2]);
}
(30) 設(shè)有數(shù)組定義: char array [ ]="China"; 則數(shù)組 array所占的空間為
A) 4個(gè)字節(jié) B) 5個(gè)字節(jié) C) 6個(gè)字節(jié) D) 7個(gè)字節(jié)
(31) 下列程序的輸出結(jié)果是
A) 4 B) 6 C) 8 D) 10
int b=2;
int func(int *a)
{ b += *a; return(b);}
main()
{ int a=2, res=2;
res += func(&a);
printf("%d ",res);
}
(32) 在以下四組中,每組有兩個(gè)分別運(yùn)算的函數(shù),運(yùn)算結(jié)果相同的是
A) 4 B) 2 C) 2 D) 0
main()
{ int i, j, m=0, n=0;
for(i=p; i<2; i++)
for(j=0; j<2; j++)
if(j>=i) m=1; n++;
printf("%d ",n);
}
(33) 下列程序的輸出結(jié)果是
A) 5 B) 6 C) 7 D) 8
struct abc
{ int a, b, c; };
main()
{ struct abc s[2]={{1,2,3},{4,5,6}}; int t;
t=s[0],a+s[1],b;
printf("%d ",t);
}
(34) 設(shè) int b=2;表達(dá)式(b>>2)/(b>>1)的值是
A) 0 B) 2 C) 4 D) 8
(35) 在C程序中,可把整型數(shù)以二進(jìn)制形式存放到文件中的函數(shù)是
A) fprintf函數(shù) B) fread函數(shù) C) fwrite函數(shù) D) fputc函數(shù)
(36) 下列程序執(zhí)行后的輸出結(jié)果是
A) -32767 B) FFFE C) -1 D) -32768
main()
{ char x=0xFFFF; printf("%d ",x--); }
(37) 若有定義: float w; int a, b; 則合法的switch語(yǔ)句是
A) switch(w) B) switch(a);
{ case 1.0: printf("* "); { case 1 printf("* ");
case 2.0: printf("** "); case 2 printf("** ");
} }
C) switch(b) D) switch(a+b);
{ case 1: printf("* "); { case 1: printf("* ");
default: printf(" "); case 2: printf("** ");
case 1+2: printf("** "); default: printf(" ");
} }
(38) 以下程序段的執(zhí)行結(jié)果是
A) a=12 y=12 B) a=12 y=12
a=14 y=16 a=16 y=28
a=16 y=20
a=18 y=24
C) a=12 y=12 D) a=12 y=12
a=14 y=26
a=14 y=44
int a, y;
a=10; y=0;
do
{ a+=2; y+=a;
printf("a=%d y=%d ",a,y);
if(y>20) break;
{ while(a=14);
.
.
.
(39) 若有以下調(diào)用語(yǔ)句,則不正確的fun函數(shù)的首部是
A) void fun(int m, int x[]) B) void fun(int s, int h[41])
C) void fun(int p, int *s) D) void fun(int n, int a)
main()
{ …
int a[50],n;
…
fun(n, &a[9]);
…
}
(40) 語(yǔ)句printf("are'hi'y\ou ");的輸出結(jié)果是
A) are'hi'y\ou B) are'hi'you
C) re'hi'you D) abre'hi'you
(說(shuō)明:''是退格符)
(41) 請(qǐng)選出正確的程序段
A) int *p; B) int *s, k;
scanf("%d",p); *s=100;
… …
C) int *s, k; D) int *s, k;
char *p, c; char *p, e;
s=&k; s=&k;
p=&c; p=&c;
*p='a'; s=p;
… *s=1;
…
(42) 已知指針p的指向如下圖所示,則執(zhí)行語(yǔ)句 *--p;后*p的值是
A) 30 B) 20 C) 19 D) 29
a[0] a[1] a[2] a[3] a[4]
10 20 30 40 50
(43) 設(shè)已有定義: char *st="how are you"; 下列程序段中正確的是
A) char a[11], *p; strcpy(p=a+1,&st[4]);
B) char a[11]; strcpy(++a, st);
C) char a[11]; strcpy(a, st);
D) char a[], *p; strcpy(p=&a[1],st+2);
(44) 下列程序執(zhí)行后的輸出結(jié)果是
A) you&ne B) you C) me D) err
mai()
{ char arr[2][4];
strcpy(arr,"you"); strcpy(arr[1],"me");
arr[0][3]='&';
printf("%s ",arr);
}
(45) 下列程序執(zhí)行后的輸出結(jié)果是
A) hello B) hel C) hlo D) hlm
void func1(int i);
void func2(int i);
char st[]="hello,friend!";
void func1(int i)
{ printf("%c",st[i]);
if(i<3){i+=2;func2(i);}
}
void func2(int i)
{ printf("%c",st[i]);
if(i<3){i+=2;func1(i);}
}
main()
{ int i=0; func1(i); printf(" ");}
(46) 假定下列程序的可執(zhí)行文件名為prg.exe,則在該程序所在的子目錄下輸入命令行: prg hello good<回車(chē)>后,程序的輸出結(jié)果是
A) hello good B) hg C) hel D) hellogood
main()(int argc, char *argv[])
{ int i;
if(argc<-0)return;
for(i=1;i
}
(47) 下列程序執(zhí)行后的輸出結(jié)果是
A) 6 B) 8 C) 10 D) 12
#define MA(x) x*(x-1)
main()
{ int a=1,b=2; printf("%d ",MA(1+a+b));}
(48) 有以下結(jié)構(gòu)體說(shuō)明和變量的定義,且如下圖所示指針p指向變量a,指針q指向變量b。則不能把結(jié)點(diǎn)b連接到結(jié)點(diǎn)a之后的語(yǔ)句是
A) a.next=q; B) p.next=&b;
C) p->next=&b; D) (*p).next=q;
struct node
{ char data;
struct node *next;
{ a,b,*p=&a,*q=&b;
data next data next
(49) 變量a所占內(nèi)存字節(jié)數(shù)是
A) 4 B) 5 C) 6 D) 8
union U
{ char st[4];
int i;
long l;
};
struct A
{ int c;
union U u;
}a;
(50) 執(zhí)行下列程序時(shí)輸入:123<空格>456<空格>789<回車(chē)>,輸出結(jié)果是
A) 123,456,789 B) 1,456,789
C) 1,23,456,789 D) 1,23,456
main()
{ char s[100]; int c, i;
scanf("%c",&c); scanf("%d",&i); scanf("%s",s);
printf("%c,%d,%s ",c,i,s);
}
二、填空題(每空2分,共40分)
請(qǐng)將每空的正確答案寫(xiě)在答題卡上[1] ̄[20]序號(hào)的橫線(xiàn)上,答在試卷上不得分。
(1) 計(jì)算機(jī)網(wǎng)絡(luò)按通信距離來(lái)劃分,可分為局域網(wǎng)和廣域網(wǎng)。因特網(wǎng)屬于 [1] 。
(2) 當(dāng)前盤(pán)是C,確保在D盤(pán)的根目錄下建立一個(gè)子目錄USER的一條DOS命令是 [2] 。
(3) 要將當(dāng)前盤(pán)當(dāng)前目錄中所有擴(kuò)展名為.TXT的文件內(nèi)容顯示在屏幕上的DOS命令是 [3] 。
(4) DOS命令分為內(nèi)部命令和外部命令,CHKDSK命令是 [4] 命令。
(5) 在Windows中,為了終止一個(gè)應(yīng)用程序的運(yùn)行,首先單擊該應(yīng)用程序窗口中的控制菜單框,然后在控制菜單中單擊 [5] 命令。
(6) 設(shè)有以下變量定義,并已賦確定的值
char w; int x; float y; double z;
則表達(dá)式:w*x+z-y所求得的數(shù)據(jù)類(lèi)型為 [6] 。
(7) 若x為int類(lèi)型,請(qǐng)以最簡(jiǎn)單的形式寫(xiě)出與邏輯表達(dá)式!x等價(jià)的C語(yǔ)言關(guān)系表達(dá)式 [7] 。
(8) 若有如下圖所示五個(gè)連續(xù)的int類(lèi)型的存儲(chǔ)單元并賦值如下圖,a[0]的地址小于a[4]的地址。p和s是基類(lèi)型為int的指針變量。請(qǐng)對(duì)以下問(wèn)題進(jìn)行填空。
a[0] a[1] a[2] a[3] a[4]
22 33 44 55 66
1,若p已指向存儲(chǔ)單元a[1]。通過(guò)指針p,給s賦值,使s指向最后一個(gè)存儲(chǔ)單元 a[4]的語(yǔ)句是 [8] 。
2,若指針s指向存儲(chǔ)單元a[2],p指向存儲(chǔ)單元a[0],表達(dá)式s-p的值是 [9] 。
(9) 下面函數(shù)用來(lái)求出兩個(gè)整數(shù)之和,并通過(guò)形參傳回兩數(shù)相加之和值,請(qǐng)?zhí)羁铡?/p>
int add(int x, int y, [10] z)
{ [11] =x+y; }
(10) 下面程序的功能是:計(jì)算1到10之間奇數(shù)之和及偶數(shù)之和,請(qǐng)?zhí)羁铡?/p>
#include
main()
{ int a, b, c, i;
a=c=0;
for(i=0;i<10;i+=2)
{ a+=i;
[12] ;
c+=b;
}
printf("偶數(shù)之和=%d ",a);
printf("奇數(shù)之和=%d ",c-11);
}
(11) 下面程序的功能是:輸出100以?xún)?nèi)能被3整除且個(gè)位數(shù)為6的所有整數(shù),請(qǐng)?zhí)羁铡?/p>
#include
main()
{ int i, j;
for(i=0; [13] ; i++)
{ j=i*10+6;
if( [14] ) continue;
printf("%d",j);
}
}
(12) 下面程序的功能是:將字符數(shù)組a中下標(biāo)值為偶數(shù)的元素從小到大排列,其它元素不變。請(qǐng)?zhí)羁铡?/p>
#include
#include
main()
{ char a[]="clanguage",t;
int i, j, k;
k=strlen(a);
for(i=0; i<=k-2; i+=2)
for(j=i+2; j<=k; [15] )
if( [16] )
{ t=a[i]; a[i]=a[j]; a[j]=t; }
puts(a);
printf(" ");
}
(13) 以下程序的運(yùn)行結(jié)果是 [17]
#include
main()
{ int k=4, m=1, p;
p=func(k,m); printf("%d,",p);
p=func(k,m); printf("%d ",p);
}
func(int a, int b)
{ static int m=0, i=2;
i+=m+1;
m=i+a+b;
return m;
}
(14) 以下程序的功能是:將無(wú)符號(hào)八進(jìn)制數(shù)字構(gòu)成的字符串轉(zhuǎn)換為十進(jìn)制整數(shù)。例如,輸入的字符串為:556,則輸出十進(jìn)制整數(shù)366。請(qǐng)?zhí)羁铡?/p>
#include
main()
{ char *p, s[6];
int n;
p=s;
gets(p);
n=*p-'0';
while( [18] !=' 主站蜘蛛池模板: 尚义县| 惠州市| 苏州市| 两当县| 黄陵县| 密山市| 阿勒泰市| 邢台市| 德阳市| 扎鲁特旗| 务川| 赤峰市| 诸暨市| 湛江市| 镇雄县| 嘉峪关市| 阿尔山市| 吉安县| 耒阳市| 綦江县| 成都市| 确山县| 正阳县| 蒙城县| 广昌县| 宁国市| 阳原县| 伊吾县| 斗六市| 桑日县| 荔波县| 聂荣县| 临桂县| 临高县| 慈利县| 邻水| 罗山县| 通化县| 弥渡县| 桂东县| 平武县|