2017年計(jì)算機(jī)考試C語(yǔ)言考試題及答案
山不厭高,水不厭深。 驕傲是跌跤的前奏。以下是小編為大家搜索整理2017年計(jì)算機(jī)考試C語(yǔ)言考試題及答案,希望能給大家?guī)韼椭?更多精彩內(nèi)容請(qǐng)及時(shí)關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!
一、 選擇題((1)-(40)每小題1分, (41)-(50)每小題2分, 共60分)
下列各題 A) 、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。
(1) 下列設(shè)備中只能作為輸入設(shè)備的是
A.磁盤驅(qū)動(dòng)器
B.鼠標(biāo)器
C.存儲(chǔ)器
D.顯示器
(2) 下列DOS組合控制鍵中,能使標(biāo)準(zhǔn)輸出同時(shí)送到屏幕與打印機(jī)的是
A.Ctrl+Break
B.Ctrl+P
C.Ctrl+C
D.Ctrl+H
(3) 通常所說的386機(jī)是
A.8位機(jī)
B.16位機(jī)
C.32位機(jī)
D.64位機(jī)
(4) 二進(jìn)制數(shù)01100100轉(zhuǎn)換成十六進(jìn)制數(shù)是
A.64
B.63
C.100
D.144
(5) 十六進(jìn)制數(shù)100轉(zhuǎn)換成十進(jìn)制數(shù)是
A.1024
B.512
C.256
D.128
(6) 對(duì)于存有重要數(shù)據(jù)的5.25英寸軟盤,防止計(jì)算機(jī)病毒感染的方法是
A.不要與有病毒的軟盤放在一起
B.在寫保護(hù)口貼上膠條
C.保持軟盤清潔
D.定期對(duì)軟盤格式化
(7) 在啟動(dòng)DOS系統(tǒng)時(shí),啟動(dòng)盤的根錄下必須包含的文件是
A.START.COM
B.COMMAND.COM
C.FORMAT.COM
D.BOOT.COM
(8) DOS系統(tǒng)啟動(dòng)后,下列文件中常駐內(nèi)存的是
A.DOS.COM
B.COMMAND.COM
C.DISKCOPY.COM
D.SYS.COM
(9) 下列名字中,不能作為DOS磁盤文件名的是
A.JTU
B.93GZ.PRG
C.CON
D.ATT&T.BAS
(10) 下列命令中屬于內(nèi)部命令的是
A.SYS
B.COMP
C.DIR
D.DISKCOMP
(11) 下列文件名中,能與ABC?.?匹配的是
A.AB12.C
B.ABCD.FOR
C.ABC.TXT
D.ABCD.C
(12) 要列出當(dāng)前盤當(dāng)前目錄中第三個(gè)字符為"B"的所有文件的清單,可使用的命令為
A.DIR **B*.*
B.DIR ??B*.?
C.DIR ??B.*
D.DIR ??B*.*
(13) 設(shè)當(dāng)前盤為C盤,其根目錄下有兩個(gè)子目錄D1與D2,且當(dāng)前目錄為D1,若要進(jìn)入子目錄D2,可使用的命令為
A.CD D2
B.CD D2\
C.CD \D2
D.CD D1\D2
(14) 設(shè)當(dāng)前盤為C盤,A盤當(dāng)前目錄為根目錄。為了刪除A盤目錄\WS下擴(kuò)展名為.TXT的所有文件,可用的命令為
A.DEL WS\*.TXT
B.DEL \WS\*.TXT
C.DEL A:\WS\?.TXT
D.DEL A:WS\*.TXT
(15) 設(shè)當(dāng)前盤為C盤,C盤當(dāng)前目錄為\AAA\BBB\A\B\X。下列命令中能正確執(zhí)行的是
A.MD \AAA\BBB\A
B.MD X
C.MD \
D.MD \AAA\BBB\A\B\X
(16) 在下列各組的兩個(gè)命令中,根據(jù)給定的條件,執(zhí)行效果互相等價(jià)的是
A.DEL \DOS 與 RD \DOS(當(dāng)前盤上有目錄\DOS)
B.FORMAT A:與 DEL A:*.*(A盤為啟動(dòng)盤)
C.DISKCOPY A: B: 與 COPY A:*.* B:(A盤為啟動(dòng)盤)
D.COPY F1 F2 與 TYPE F1>F2(當(dāng)前盤當(dāng)前目錄下有文件F1)
(17) 為了在1.2MB的高密驅(qū)動(dòng)器A中格式化一張360KB的啟動(dòng)盤,可用的命令為
A.FORMAT A:
B.FORMAT A:/S/1
C.FORMAT A:/S/4
D.FORMAT A:/S
(18) 要在打印機(jī)上輸出當(dāng)前盤當(dāng)前目錄下擴(kuò)展名為.TXT的所有文件內(nèi)容,正確的命令為
A.COPY *.TXT PRN
B.COPY *.TXT>PRN
C.TYPE *.TXT PRN
D.TYPE *.TXT>PRN
(19) 設(shè)B盤目錄結(jié)構(gòu)如下:
設(shè)B盤的當(dāng)前目錄為\F2,要將A盤當(dāng)前目錄下的文件P.BAS復(fù)制到B盤的F3子目錄中,可用的命令為
A.COPY P.BAS B:
B.COPY A:P.BAS B:\
C.COPY A:P.BAS B:\F3
D.COPY A:P.BAS B:F3\
(20) 設(shè)當(dāng)前盤為A盤,要將B盤當(dāng)前目錄下的兩個(gè)文件A.TXT與X.TXT連接后以文件名Y.TXT存放到A盤的當(dāng)前目錄中,可用的命令為
A.COPY A.TXT+X.TXT A:Y.TXT
B.COPY B:A.TXT+X.TXT A:Y.TXT
C.COPY B:A.TXT+B:X.TXT >Y.TXT
D.COPY B:A.TXT+B:X.TXT Y.TXT(21) C語(yǔ)言中最簡(jiǎn)單的數(shù)據(jù)類型包括
A.整型、實(shí)型、邏輯型
B.整型、實(shí)型、字符型
C.整型、字符型、邏輯型
D.整型、實(shí)型、邏輯型、字符型
(22) C語(yǔ)言中,運(yùn)乍對(duì)象必須是整型數(shù)的運(yùn)算符是
A.%
B.\
C.%和\
D.* *
(23) 為表示關(guān)系x≥y≥z,應(yīng)使用C語(yǔ)言表達(dá)式
A.(x>=y)&&(y>=z) B(x>=y)AND(y>=z)
C.(x>=y>=z)
D.(x>=y)&(y>=z)
(24) 下述對(duì)C語(yǔ)言字符數(shù)組的描術(shù)中錯(cuò)誤的是
A.字符數(shù)組可以存放字符串
B.字符數(shù)組中的字符串可以整體輸入、輸出
C.可以在賦值語(yǔ)句中通過賦值運(yùn)算符"="對(duì)字符數(shù)組整體賦值
D.不可以用關(guān)系運(yùn)算符對(duì)字符數(shù)組中的字符串進(jìn)行比較
(25) 設(shè)有如下定義: int x=10,y=3,z; 則語(yǔ)句
printf("%d\n",z=(x%y,x/y)); 的輸出結(jié)果是
A.1
B.0
C.4
D.3
(26) 以下程序的輸出結(jié)果是
main()
{ int x=10,y=10;
printf("%d %d\n",x--,--y); }
A.10 10
B.9 9
C.9 10
D.10 9
(27) 定義如下變題和數(shù)組:
int i;
int x[3][3]={1,2,3,4,5,6,7,8,9};
則下面語(yǔ)句的輸出結(jié)果是
for(i=0;i<3;i++) printf("%d",x[i][2-1]);
A.1 5 9
B.1 4 7
C.3 5 7
D.3 6 9
(28) 若要求在if后一對(duì)圓括號(hào)中表示a不等于0的關(guān)系,則能正確表示這一關(guān)系的表達(dá)式為
A.a<>0
B.!a
C.a=0
D.a
(29) 閱讀程序:
#include
main()
{ int a[10]={1,2,3,4,5,6,7,8,9,0},*p;
p=a;
printf("%x\n",p);
printf("%x\n",p+9); }
該程序有兩個(gè)printf 語(yǔ)句, 如果第一個(gè)printf 語(yǔ)句輸出的是194, 則第二個(gè)printf語(yǔ)句的輸出結(jié)果是
A.203
B.204
C.1a4
D.1a6
(30) 設(shè)有如下函數(shù)定義:
int f(char *s)
{ char *p=s;
while(*p!=’\0’) p++;
return(p-s); }
如果在主程序中用下面的語(yǔ)句調(diào)用上述函數(shù),則輸出結(jié)果為
printf("%d\n",f("goodbey!"));
A.3
B.6
C.8
D.0
(31) 以下說法中正確的是
A.C語(yǔ)言程序總是從第一個(gè)的函數(shù)開始執(zhí)行
B.在C語(yǔ)言程序中,要調(diào)用的函數(shù)必須在main()函數(shù)中定義
C.C語(yǔ)言程序總是從main()函數(shù)開始執(zhí)行
D.C語(yǔ)言程序中的main()函數(shù)必須放在程序的開始部分
(32) 執(zhí)行下面的程序后,a的值為
main()
{ int a,b;
for (a=1,b=1;a<=100;a++)
{ if(b>=20) break;
if(b%3==1) {b+=3; continue; }
b-=5; } }
A.7
B.8
C.9
D.10
(33) 以下程序段的輸出結(jié)果是
int x=3;
do { printf("=",x-=2);} while(!(--x));
A.1
B.3 0
C.1-2
D.死循環(huán)
(34) 定義如下變量: int n=10; 則下列循環(huán)的輸出結(jié)果是
while(n>7)
{ n--;
printf("%d\n",n); }
A.10
B.9
C.10
D.9
9 8 9 8
8 7 8 7
7 6
(35) 兩次運(yùn)行下面的程序,如果從鍵盤上分別輸入6和4,則輸出結(jié)果是
main( )
{ int x;
scanf("%d",&x);
if(x + + >5) printf("%d",x);
else printf("%d\n",x - -); }
A.7和5
B.6和3
C.7和4
D.6和4(36) 設(shè)有如下定義: char *aa[2]={"abcd","ABCD"}; 則以下就法中正確的是
A.aa數(shù)組成元素的值分別是"abcd"和ABCD"
B.aa是指針變量,它指向含有兩個(gè)數(shù)組元素的字符型一維數(shù)組
C.aa數(shù)組的兩個(gè)元素分別存放的是含有4個(gè)字符的一維字符數(shù)組的首地址
D.aa數(shù)組的兩個(gè)元素中各自存放了字符’a’和’A’的地址
(37) 以下程序的輸出結(jié)果是
main( )
{ int a=-1,b=4,k;
k=(+ +a〈0)&&!(b - -〈=0);
printf("%d%d%d\n",k,a
B.; }
A.104
B.103
C.003
D.004
(38) 設(shè)有以下定義:
int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};
int (*prt)[3]=a,*p=a[0];
則下列能夠正確表示數(shù)組元素a[1][2]的表達(dá)式是
A.*((*prt+1) [2])
B.*(*(p+5))
C.(*prt+1)+2
D.*(*(a+1)+2)
(39) 下列程序的輸出結(jié)果是
main( )
{ char*p1,*p2,str[50]="xyz";
p1="abcd";
p2="ABCD";
strcpy(str+2,strcat(p1+2,p2+1);
printf)"%s",str); }
A.xyabcAB
B.abcABz
C.ABabcz
D.xycdBCD
(40) 執(zhí)行下面的程序后,a的值是
#define SQR(X) X*X
main( )
{ int a=10,k=2,m=1;
a/=SQR(k+m)/SQR(k+m);
printf("%d\n",a); }
A.10
B.1
C.9
D.0
(41) 下列程序執(zhí)行后輸出的結(jié)果是
#include
f(int a)
{ int b=0; static c=3:
a=c+ +,b+ +;
return (a); }
main( )
{ int a=2,i,k;
for(i=0;i〈2;i=+ +〉 k=f(a+ +);
printf("%d\n",k); }
A.3
B.0
C.5
D.4
(42) 下列程序的輸出結(jié)果是
main( )
{ int a[5]={2,4,6,8,10},*P,* *k;
p=a; k=&p;
printf("%d",*(p++)); printf("%d\n",* *k); }
A.4 4
B.2 2
C.2 4
D.4 6
(43) 閱讀下列程序:
main( )
{ int n[3],i,j,k;
for(i=0;i〈3;i++〉 n[i]=0;
k=2;
for (i=0;i〈k;i++〉
for (j=0;j〈k;j++〉 n[j]=n[i]+1;
printf("%d\n",n[1]); }
下述程序運(yùn)行后輸出結(jié)果是
A.2
B.1
C.0
D.3
(44) 字符’0’的ASCII碼的十進(jìn)制數(shù)為48,且數(shù)組的第0個(gè)元素在低位,則以下程序的輸出結(jié)果是
#include
main( )
{ union { int i[2]; long k; char c[4]; }r,*s=&r;
s->i[0]=0x39;
s->i[1]=0x38;
printf("%c\n",s->c[0]) }
A.39
B.9
C.38
D.8(45) 設(shè)有以下定義:
typedef union { long i;int k[5];char c;}DATE;
struct date { int cat;DATE cow;double dog;}too;
DATE max;
則下列語(yǔ)句的執(zhí)行結(jié)果是
printf("%d",sizeof(struct date)+sizeof(max));
A.25
B.30
C.18
D.8
(46) 執(zhí)行以下程序后,y的值是
main ( )
{ int a[]={2,4,6,8,10};
int y=1,x,*p;
p=&a[1];
for(x=0;x<3;x++) y + = * (p + x);
printf("%d\n",y); }
A.17
B.18
C.19
D.20
(47) 下列程序執(zhí)行后輸出的結(jié)果是
int d=1;
fun (int q)
{ int d=5;
d + =p + +; printf("%d".
D.; }
main( )
{ int a=3;
fun(a);
d + = a + +; printf("%d\n",
D.; }
A.8 4
B.9 6
C.9 4
D.8 5
(48) 下列程序的輸出結(jié)果是
main( )
{ char ch[2][5]={"6934,"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’&&p[i][j]<=’9’;j+=2) s=10*s+p[i][j]-’0’;
printf("%d\n",s);
A.6385
B.69825
C.63825
D.693825
(49) 以下程序的輸出結(jié)果是
fut (int**s,int p[2][3])
{ **s=p[1][1]; }
main( )
{ int a[2][3]={1,3,5,7,9,11},*p;
p=(int*)malloc(sizeof(int));
fut(&p,a);
primtf("%d\n",*p); }
A.1
B.7
C.9
D.11
(50) 以下程序的輸出結(jié)果是
#include"ctype.h"
space (char *str)
{ int i,t;char ts[81];
for(i=0,t=0;str[i]!=’\0’;i+=2)
if(! isspace(*str+i)&&(*(str+i)!=’a’))
ts[t++]=toupper(str[i]);
ts[t]=’\0’;
strcpy(str,ts); }
mian( )
{ char s[81]={"a b c d e f g"};
space(s);
puts(s); }
A.abcdeg
B.bcde
C.ABCDE
D.BCDE二、填空題(每空2分,共40分)
請(qǐng)將每空的正確答案寫在答題卡上【1】-【20】序號(hào)的橫線上,答在試卷上不得分。
(1) 十進(jìn)制數(shù)112.375轉(zhuǎn)換成十六進(jìn)制數(shù)為 【1】 。
(2) 存儲(chǔ)200個(gè)32×32點(diǎn)陣的漢字信息需 【2】 KB。
(3) 數(shù)字符號(hào)0的ASCII碼十進(jìn)制表示為48,數(shù)字符號(hào)9的ASCII碼十進(jìn)制表示為 【3】 。
(4) DOS命令分為內(nèi)部命令與外部命令,TREE命令屬于 【4】 命令。
(5) 自動(dòng)批處理文件的文件名為【5】 。
(6)表示條件:10
(7) 下列程序的輸出結(jié)果是【7】
main()
{ char b[]="ABCDEFG";
char *chp=&b[7];
while(--chp>&b[0]) putchar(*chp);
putchar(’\n’); }
(8) 下列程序的輸出結(jié)果是【8】 。
int ast(int x,int y,int * cp,int * dp)
{ *cp=x+y; *dp=x-y; }
main()
{ int a,b,c,d;
a=4;b=3;
ast(a,b,&c,&d);
printf("%d %d/n",c,d); }
(9) 以下程序的功能是:人鍵盤上輸入若干個(gè)學(xué)生的成績(jī), 統(tǒng)計(jì)并輸出最高成績(jī)和最低成績(jī),當(dāng)輸入負(fù)數(shù)時(shí)結(jié)束輸入.請(qǐng)?zhí)羁?
main()
{ float x,amax,amin;
scanf("%f",&x);
amax=x; amin=x;
while(【9】)
{ if(x>amax) amax=x;
if(【10】) amin=x;
scanf("%f",&x); }
printf("\namax=%f\namin=%f\n",amax,amin); }
(10) 下面程序通過函數(shù)average計(jì)算數(shù)組中各元素的平均值,請(qǐng)?zhí)羁?
float average(int * pa,int n)
{ int i;
float avg=0.0;
for(i=0;i avg=【12】;
return avg; }
main()
{ int i,a[5]={2,4,6,8,10};
float mean;
mean=average(a,5); printf("mean=%f\n",mean);}
(11) 閱讀程序:
#include "string.h"
#include "stdio.h"
strle(char a[],char b[])
{ int num=0,n=0;
while(*(a+num)!=’\0’),num++;
while(b[n]){ *(a+num)=b[n];num++;n++;}
return (num);}
main()
{ char str1[81],str2[81],*p1=str1,*p2=str2;
gets(p1); gets(p2);
printf("%d\n",strle(p1,p2)); }
運(yùn)行上面程序,如果從鍵盤上輸入字符串qwerty和字符串a(chǎn)bcd則程序的輸出結(jié)果是 【13】 。
(12) 以下程序的輸出結(jié)果是 【14】 。
fun(int n,int *s)
{ int f1,f2;
if(n = =1||n = =2) *s=1;
else { fun(n-1,&f1); fun(n-2,&f2); *s=f1+f2;} }
main()
{ int x;
fun(6,&x); printf("%d\n",x); }
(13) 閱讀程序:
main()
{ char str1[]="how do you do" ,str2[10];
char *p1=str1,*p2=str2;
scanf("%s",p2); printf("%s",p2); printf("%s\n",p1); }
運(yùn)行上面的程序,輸入字符串HOW DO YOU DO 則程序的輸出結(jié)果是【15】 。 (14) 以下程序由終端輸入一個(gè)文件名,然后把從終端鍵盤輸入的字符依次存放到該文件中,用#作為結(jié)束輸入的標(biāo)志.請(qǐng)?zhí)羁?
#include
main()
{ FILE * fp;
char ch,fname[10];
printf("lnput the name of file\n");
gets(fname);
if((fp=【16】)==NULL)
{ printf("Cannot open\n"); exit(0);}
printf("Enter data\n");
while((ch=getchar())!=’#’) fputc(【17】,fp);
fclose(fp); }
(15) 以下函數(shù)creat用來建立一個(gè)帶頭結(jié)點(diǎn)的單向鏈表,新產(chǎn)生的結(jié)點(diǎn)總是插在鏈表的末尾。單向鏈表的頭指針作為函數(shù)值返回.請(qǐng)?zhí)羁?
#include
struct list { char data; struct list * next; };
struct list * creat()
{ struct list * h,* p,* q;
char ch;
h=【18】 malloc(sizeof(struct list));
p=q=h;
ch=getchar();
while(ch!=’?’)
{ p=【19】 malloc(sizeof(struct list));
p->data=ch;
p->next=p;
q=p;
ch=getchar();
}
p->next=’\0’;
【20】
}
參考答案
一 選擇題((1)~(40)題每題1分,(41)~(50)題每題2分,共60分)
(1)B (2)B (3)C (4)A (5)C (6)B (7)B (8)B (9)C (10)C
(11)D (12)D (13)C (14)D (15)B (16)D (17)C (18)A (19)C (20)D
(21)B (22)A (23)A (24)C (25)D (26)D (27)C (28)D (29)D (30)C
(31)C (32)B (33)C (34)B (35)A (36)D (37)D (38)D (39)D (40)B
(41)D (42)C (43)D (44)B (45)B (46)C (47)A (48)A (49)C (50)D
二 填空題(每空2分,共40分)
((1)至(5)題中所有字母都允許大`小寫或大小寫混合)
(1) 【1】 70.6
(2) 【2】 25(答25KB不扣分)
(3) 【3】 57
(4) 【4】 外部(答外部命令不扣分)
(5) 【5】 AUTOEXEC.BAT(答AUTOEXEC扣1分)
(6) 【6】 (x>10 && x<100)││x<0 或(1010 && x<100) 或 0>x││(10< && x<100)
(并且括號(hào)有無都可以)
(7) 【7】 GFEDCB
(8) 【8】 7 1
(9) 【9】 x>=0.0 或 !(x<0) 或!(x<0.0)
或0.0<=x 或!(0.0>x) 或! (0>x)
(10)【10】 xx 或 amin>=x
【11】 *(pa+i) 或 pa[i]
【12】 avg/n 或avg/(float)n 或 avg/(double)n
(11)【13】 10
(12)【14】 8
(13)【15】 HOW how do you do (說明:HOW 和how之間有無空格均可)
(14)【16】 fopen(fname,"w")說明:"w"開頭的字符串均可)
【17】 ch
(15)【18】 (struct list *)
【19】 (struct list *)
【20】 return(h); 或 return h;
【計(jì)算機(jī)考試C語(yǔ)言考試題及答案】相關(guān)文章:
2024年C語(yǔ)言考試題及答案09-20
2017年計(jì)算機(jī)C語(yǔ)言考試題及答案08-06
2017計(jì)算機(jī)二級(jí)《C語(yǔ)言》考試題及答案09-29
計(jì)算機(jī)二級(jí)《C語(yǔ)言》備考試題及答案06-18
計(jì)算機(jī)二級(jí)C語(yǔ)言考試上機(jī)考試題及答案10-29
2016計(jì)算機(jī)二級(jí)《C語(yǔ)言》無紙化考試題及答案09-19
全國(guó)計(jì)算機(jī)二級(jí)考試C語(yǔ)言備考試題及答案09-18