為大家收集整理了《2003年9月計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言試題及答案》供大家參考,希望對(duì)大家有所幫助?。?!
一、選擇題((1)~(40)每小題1分,(41)~(55)每小題2分,共60分)
下列各題 A、B、C、D.四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。
(1) 用8位無(wú)符號(hào)二進(jìn)制數(shù)能表示的十進(jìn)制數(shù)為
A.127
B.128
C.255
D.256
(2) 在64位高檔微機(jī)中,一個(gè)字長(zhǎng)所占的二進(jìn)制位數(shù)為
A.8
B.16
C.32
D.64
(3) 在Windows環(huán)境下,為了復(fù)制一個(gè)對(duì)象,在用鼠標(biāo)拖動(dòng)該對(duì)象時(shí)應(yīng)同時(shí)按住
A.Alt鍵
B.Esc鍵
C.Shift鍵
D.Ctrl鍵
(4) 在Windows菜單中,暗淡(灰色)的命令項(xiàng)表示該命令
A.暫時(shí)不能用
B.正在執(zhí)行
C.包含下一層菜單
D.包含對(duì)話框
(5) 在DOS環(huán)境下,為了得到TYPE命令的幫助信息,正確的DOS命令為
A.TYPE
B.TYPE/H
C.TYPE/*
D.TYPE/?
(6) 下列選項(xiàng)中,能作為合法DOS文件名的是
A.ANP/A.DAT
B.ABCCOM
C.ECD.BASIC
D.XY+Z.TXT
(7) 下列敘述中正確的是
A.在Windows環(huán)境下,化的窗口是不能移動(dòng)的
B.在Windows環(huán)境下,應(yīng)用程序窗口最小化后,該應(yīng)用程序暫停執(zhí)行
C.在Windows環(huán)境下,只有最小化的窗口才能關(guān)閉
D.在Windows環(huán)境下,不能關(guān)閉化的窗口
(8) 在Windows環(huán)境下,工具欄中的復(fù)制按鈕是
A.打印機(jī)圖標(biāo)
B.剪刀標(biāo)志
C.復(fù)制標(biāo)志
D.粘貼標(biāo)志
(9) 在Windows98環(huán)境下,若要將整個(gè)屏幕上顯示的內(nèi)容存入剪貼板,可以按
A.Ctrl+PrintScreen鍵
B.Alt+PrintScree鍵
C.Shift+PrintScreen鍵
D.PrintScreen鍵
(10) 目前,計(jì)算機(jī)病毒擴(kuò)散最快的途徑是
A.通過(guò)軟件復(fù)制
B.通過(guò)網(wǎng)絡(luò)傳播
C.通過(guò)磁盤考貝
D.運(yùn)行游戲軟件
(11) 以下敘述中正確的是
A.C語(yǔ)言比其他語(yǔ)言高級(jí)
B.C語(yǔ)言可以不用編譯就能被計(jì)算機(jī)識(shí)別執(zhí)行
C.C語(yǔ)言以接近英語(yǔ)國(guó)家的自然語(yǔ)言和數(shù)學(xué)語(yǔ)言作為語(yǔ)言的表達(dá)形式
D.C語(yǔ)言出現(xiàn)的最晚,具有其他語(yǔ)言的一切優(yōu)點(diǎn)
(12) C語(yǔ)言中用于結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu)是
A.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
B.if、switch、break
C.for、while、do-while
D.if、for、continue
(13) 在一個(gè)C程序中
A.main函數(shù)必須出現(xiàn)在所有函數(shù)之前
B.main函數(shù)可以在任何地方出現(xiàn)
C.main函數(shù)必須出現(xiàn)在所有函數(shù)之后
D.main函
(14) 下列敘述中正確的是
A.C語(yǔ)言中既有邏輯類型也有集合類型
B.C語(yǔ)言中沒(méi)有邏輯類型但有集合類型
C.C語(yǔ)言中有邏輯類型但沒(méi)有集合類型
D.C語(yǔ)言中既沒(méi)有邏輯類型也沒(méi)有集合類型
(15) 下列關(guān)于C語(yǔ)言用戶標(biāo)識(shí)符的敘述中正確的是
A.用戶標(biāo)識(shí)符中可以出現(xiàn)在下劃線和中劃線(減號(hào))
B.用戶標(biāo)識(shí)符中不可以出現(xiàn)中劃線,但可以出現(xiàn)下劃線
C.用戶標(biāo)識(shí)符中可以出現(xiàn)下劃線,但不可以放在用戶標(biāo)識(shí)符的開(kāi)頭
D.用戶標(biāo)識(shí)符中可以出現(xiàn)在下劃線和數(shù)字,它們都可以放在用戶標(biāo)識(shí)符的開(kāi)頭
(16) 若有以下程序段(n所賦的是八進(jìn)制數(shù))
int m=32767,n=032767
printf("%d,%o/n",m,n);
執(zhí)行后輸出結(jié)果是
A.32767,32767
B.32767,032767
C.32767,77777
D.32767,077777
(17) 下列關(guān)于單目運(yùn)算符++、--的敘述中正確的是
A.它們的運(yùn)算對(duì)象可以是任何變量和常量
B.它們的運(yùn)算對(duì)象可以是char型變量和int型變量,但不能是float型變量
C.它們的運(yùn)算對(duì)象可以是int型變量,但不能是double型變量和float型變量
D.它們的運(yùn)算對(duì)象可以是char型變量、int型變量和float型變量
(18) 若有以下程序段
int m=0xabc,n=0xabc;
m-=n;
printf("%X\n",m);
執(zhí)行后輸出結(jié)果是
A.0X0
B.0x0
C.0
D.0XABC
(19) 有以下程序段
int m=0,n=0; char c='a';
scanf("%d%c%d",&m,&c,&n);
printf("%d,%c,%d\n",m,c,n);
若從鍵盤上輸入:10A10<回車>,則輸出結(jié)果是:
A.10,A,10
B.10,a,10
C.10,a,0
D.10,A,0
(20) 有以下程序
main()
{ int i;
for(i=0;i<3;i++)
switch(i)
{ case 1: printf("%d",i);
case 2: printf("%d",i);
default: printf("%d",i);
}
}
執(zhí)行后輸出結(jié)果是
A.011122
B.012
C.012020
D.120
(21) 有以下程序
main()
{ int i=1,j=1,k=2;
if((j++‖k++)&&i++) printf("%d,%d,%d\n",i,j,k);
}
執(zhí)行后輸出結(jié)果是
A.1,1,2
B.2,2,1
C.2,2,2
D.2,2,3
(22) 有以下程序
main()
{ int a=5,b=4,c=3,d=2;
if(a>b>
C.
printf("%d\n",
D.;
else if((c-1>=
D.==1)
printf("%d\n",d+1);
else
printf("%d\n",d+2)
}
執(zhí)行后輸出結(jié)果是
A.2
B.3
C.4
D.編譯時(shí)有錯(cuò),無(wú)結(jié)果
(23) 有以下程序
main()
{ int p[7]={11,13,14,15,16,17,18},i=0,k=0;
while(i<7&&p[i]%2){k=k+p[i];i++;}
printf("%d\n",k);
}
執(zhí)行后輸出結(jié)果是
A.58
B.56
C.45
D.24
(24) 有以下程序
main()
{ int i=0,s=0;
do{
if(i%2){i++;continue;}
i++;
s +=i;
}while(i<7);
printf("%d\n",s);
}
執(zhí)行后輸出結(jié)果是
A.16
B.12
C.28
D.21
(25) 有以下程序
main()
{ int i=10,j=1;
printf("%d,%d\n",i--,++j);
}
執(zhí)行后輸出結(jié)果是
A.9,2
B.10,2
C.9,1
D.10,1
(26) 有以下程序
main()
{ char a,b,c,*d;
a='\'; b='\xbc';
c='\0xab'; d="\017";
print("%c%c%c\n",a,b,c,*
D.;
}
編譯時(shí)出現(xiàn)錯(cuò)誤,以下敘述中正確的是
A.程序中只有a='\';語(yǔ)句不正確
B.b='\xbc';語(yǔ)句不正確
C.d="\0127";語(yǔ)句不正確
D.a(chǎn)='\';和c='\0xab';語(yǔ)句都不正確
(27) 有以下程序
int fl(int x,int y)
{ return x>y?x:y; }
int f2(int x,int y)
{ return x>y?y:x; }
main()
{ int a=4,b=3,c=5,d,e,f;
d=f1(a,
B.; d=f1(d,
C.;
e=f2(a,
B.; e=f2(e,
C.;
f=a+b+c-d-e;
printf("%d,%d,%d\n",d,f,e);
}
執(zhí)行后輸出結(jié)果是
A.3,4,5
B.5,3,4
C.5,4,3
D.3,5,4
(28) 有如下程序
void f(int x,int y)
{ int t;
if(x
}
main()
{ int a=4,b=3,c=5;
f(a,
B.; f(a,
C.; f(b,
C.;
printf("%d,%d,%d\n",a,b,
C.;
}
執(zhí)行后輸出結(jié)果是
A.3,4,5
B.5,3,4
C.5,4,3
D.4,3,5
(29) 若有以下定義和語(yǔ)句
#include
int a=4,b=3,*p,*q,*w;
p=&a; q=&b; w=q; q=NULL;
則以下選項(xiàng)中錯(cuò)誤的語(yǔ)句是
A.*q=0;
B.w=p;
C.*p=a;
D.*p=*w;
(30) 有以下程序
int *f(int *x,int *y)
{ if(*x<*y)
return x;
else
return y;
}
main()
{ int a=7,b=8,*p,*q,*r};
}
執(zhí)行后輸出結(jié)果是
A.7,8,8
B.7,8,7
C.8,7,7
D.8,7,8
(31) 有以下程序
main()
{ char *s[]={"one","two","three"},*p;
p=s[1];
printf("%c,%s\n",*(p+1),s[0]);
}
執(zhí)行后輸出結(jié)果是
A.n,two
B.t,one C)w,one
D.o,two
(32) 有以下程序
main()
{ int x[8]={8,7,6,5,0,0},*s;
s=x+3
printf("%d\n",s[2]);
}
執(zhí)行后輸出結(jié)果是
A.隨機(jī)值
B.0
C.5
D.6
(33) 以下能正確定義數(shù)組并正確賦初值的語(yǔ)句是
A.int N=5,b[N][N];
B.int a[1][2]={{1},{3}};
C.int c[2][]={{1,2},{3,4}};
D.int d[3][2]={{1,2},{34}};
(34) 有以下程序
main()
{ int m[][3]={1,4,7,2,5,8,3,6,9};
int i,j,k=2;
for(i=0;i<3;i++)
{ printf("%d",m[k][i]); }
}
執(zhí)行后輸出結(jié)果是
A.4 5 6
B.2 5 8
C.3 6 9
D.7 8 9
(35) 以下函數(shù)的功能是:通過(guò)鍵盤輸入數(shù)據(jù),為數(shù)組中的所有元素賦值。
#define N 10
void arrin(int x[N])
{ int i=0;
while(i
scanf("%d", );
}
在下劃線處應(yīng)填入的是
A.x+i
B.&x[i+1]
C.x+(i++) D)&x[++i]
(36) 有以下程序
main()
{ char s[]="\n123\\";
printf("%d,%d\n",strlen(s),sizeof(s));
}
執(zhí)行后輸出結(jié)果是
A.賦初值的字符串有錯(cuò)
B.6,7
C.5,6
D.6,6
(37) 閱讀以下函數(shù)
fun(char *s1,char *s2)
{ int i=0;
while(s1[i]==s2[i]&& s2[i]!='\0')i++;
return(s1[i]== && s2{i}!=='\0');
}
此函數(shù)的功能是
A.將s2所指字符串賦給s1
B.比較s1和s2所指字符串的大小,若s1比s2的大,函數(shù)值為1,否則函數(shù)值為0
C.比較s1和s2所指字符串是否相等,若相等,函數(shù)值為1,否則函數(shù)值為0
D.比較s1和s2所指字符串的長(zhǎng)度,若s1比s2的長(zhǎng),函數(shù)值為1,否則函數(shù)值為0
(38) 以下敘述中正確的是
A.全局變量的作用域一定比局部變量的作用域范圍大
B.靜態(tài)(stati
C.類別變量的生存期貫穿于整個(gè)程序的運(yùn)行期間
C.函數(shù)的形參都屬于全局變量
D)未在定義語(yǔ)句中賦初值的auto變量和static變量的初值都是隨機(jī)值
(39) 設(shè)有如下說(shuō)明
typedef struct
{ int n; char c; double x;}STD;
則以下選項(xiàng)中,能正確定義結(jié)構(gòu)體數(shù)組并賦初值的語(yǔ)句是
A.STD tt[2]={{1,'A',62},{2, 'B',75}};
B.STD tt[2]={1,"A",62},2, "B",75};
C.struct tt[2]={{1,'A'},{2, 'B'}};
D.structtt[2]={{1,"A",62.5},{2, "B",75.0}};
(40) 有以下程序
main()
{ union { unsigned int n;
unsigned char c;
}u1;
ul.c=`A`;
printf("%c\n",u1.n);
}
執(zhí)行后輸出結(jié)果是
A.產(chǎn)生語(yǔ)法錯(cuò)
B.隨機(jī)值
C.A
D.65
(41) 有以下程序
main()
{ char str[]="xyz",*ps=str;
while(*ps)ps++;
for(ps--;ps-str>=0;ps--) puts(ps);
}
執(zhí)行后的輸出結(jié)果是
A.yz
B.z
C.z
D.x
xyz yz yz xy
xyz xyz
(42) 有以下程序
main()
{ int a[][3]={{1,2,3},{4,5,0}},{*pa}[3],i;
pa=a;
for(i=0;i<3;i++)
if(i<2) pa[1][i]=pa[1][i]-1;
else pa[1][i]=1;
printf("%d\n",a[0][1]+a[1][1]+a[1][2]);
}
執(zhí)行后輸出結(jié)果是
A.7
B.6
C.8
D.無(wú)確定值
(43) 有以下程序
void fun(int *a,int i,int j)
{ int t;
if(i
{ t=a[i];a[i]=a[j];a[j]=t;
fun(a,++i,--j);
}
}
main()
{ int a[]={1,2,3,4,5,6},i;
fun(a,0,5)
for(i=0;i<6;i++)
printf("%d",a[i]);
}
執(zhí)行后的輸出結(jié)果是
A.6 5 4 3 2 1
B.4 3 2 1 5 6
C.4 5 6 1 2 3
D.1 2 3 4 5 6
(44) 有以下程序
main(int arge,char *argv[])
{ int n,i=0;
while(arv[1][i]!='\0'
{ n=fun(); i++;}
printf(%d\n",n*arg
C.;
}
int fun()
{ static int s=0;
s+=1;
return s;
}
假設(shè)程序經(jīng)編譯、連接后生成可執(zhí)行文件exam.exe,若鍵入以下命令行
exam 123<回車>
則運(yùn)行結(jié)果為
A.6
B.8
C.3 D)4
(45) 以下程序段中,能夠通過(guò)調(diào)用函數(shù)fun,使main函數(shù)中的指針變量p指向一個(gè)合法的整型單元的是
A.main()
B.main
{ int *p; { int *p;
fun(p); fun(&p);
}
}
int fun(int *p) int fun(int **p)
{ int s; p=&s;} { int s;*p=&s;}
C.#include
D.#include
main() main()
{ int *p; { int *p;
fun(&p); fun(p);
} }
int fun(int **p) int fun(int *p)
{ *p=(int *)malloc(2);} { p=(int *)malloc(sizeo(int));}
(46) 若要說(shuō)明一個(gè)類型名STP,使得定義語(yǔ)句STP s等價(jià)于char *s,以下選項(xiàng)中正確的是
A.typedef STP char *s;
B.typedef *char STP;
C.typedef stp *char;
D.typedef char* STP;
(47) 設(shè)有如下定義
struct ss
{ char name[10];
int age;
char sex;
}std[3],*p=std;
下面各輸入語(yǔ)句中錯(cuò)誤的是
A.scanf("%d",&(*p).age);
B.scanf("%s",&std.name);
C.scanf("%c",&std[0].sex)
D.scanf("%c",&(p->sex));
(48) 設(shè)char型變量x中的值為10100111,則表達(dá)式(2+x)^(~3)的值是
A.10101001
B.10101000
C.11111101
D.01010101
(49) 以下敘述中不正確的是
A.C語(yǔ)言中的文本文件以ASCⅡ碼形式存儲(chǔ)數(shù)據(jù)
B.C語(yǔ)言中對(duì)二進(jìn)制文件的訪問(wèn)速度比文本文件快
C.C語(yǔ)言中,隨機(jī)讀寫方式不適用于文本文件
D.C語(yǔ)言中,順序讀寫方式不適用于二進(jìn)制文件
(50) 以下程序企圖把從終端輸入的字符輸出到名為abc.txt的文件中,直到從終端讀入字符#號(hào)時(shí)結(jié)束輸入和輸出操作,但程序有錯(cuò)。
#include
main()
{ FILE *fout; char ch;
fout=fopen('abc.txt','w');
ch=fgetc(stdin);
while(ch!='#')
{ fputc(ch,fout);
ch=fgetc(stdin);
}
fclose(fout);
}
出錯(cuò)的原因是
A.函數(shù)fopen調(diào)用形式錯(cuò)誤
B.輸入文件沒(méi)有關(guān)閉
C.函數(shù)fgetc調(diào)用形式錯(cuò)誤
D.文件指針stdin沒(méi)有定義
(42) 有以下程序
main()
{ int a[][3]={{1,2,3},{4,5,0}},{*pa}[3],i;
pa=a;
for(i=0;i<3;i++)
if(i<2) pa[1][i]=pa[1][i]-1;
else pa[1][i]=1;
printf("%d\n",a[0][1]+a[1][1]+a[1][2]);
}
執(zhí)行后輸出結(jié)果是
A.7
B.6
C.8
D.無(wú)確定值
(43) 有以下程序
void fun(int *a,int i,int j)
{ int t;
if(i { t=a[i];a[i]=a[j];a[j]=t;
fun(a,++i,--j);
}
}
main()
{ int a[]={1,2,3,4,5,6},i;
fun(a,0,5)
for(i=0;i<6;i++)
printf("%d",a[i]);
}
執(zhí)行后的輸出結(jié)果是
A.6 5 4 3 2 1
B.4 3 2 1 5 6
C.4 5 6 1 2 3
D.1 2 3 4 5 6
(44) 有以下程序
main(int arge,char *argv[])
{ int n,i=0;
while(arv[1][i]!='\0'
{ n=fun(); i++;}
printf(%d\n",n*argc);
}
int fun()
{ static int s=0;
s+=1;
return s;
}
假設(shè)程序經(jīng)編譯、連接后生成可執(zhí)行文件exam.exe,若鍵入以下命令行
exam 123<回車>
則運(yùn)行結(jié)果為
A.6
B.8
C.3
D.4
(45) 以下程序段中,能夠通過(guò)調(diào)用函數(shù)fun,使main函數(shù)中的指針變量p指向一個(gè)合法的整型單元的是
A) main() B) main
{ int *p; { int *p;
fun(p); fun(&p);
}
}
int fun(int *p) int fun(int **p)
{ int s; p=&s;} { int s;*p=&s;}
C) #include D) #include
main() main()
{ int *p; { int *p;
fun(&p); fun(p);
} }
int fun(int **p) int fun(int *p)
{ *p=(int *)malloc(2);} { p=(int *)malloc(sizeo(int));}
(46) 若要說(shuō)明一個(gè)類型名STP,使得定義語(yǔ)句STP s等價(jià)于char *s,以下選項(xiàng)中正確的是
A.typedef STP char *s;
B.typedef *char STP;
C.typedef stp *char;
D.typedef char* STP;
(47) 設(shè)有如下定義
struct ss
{ char name[10];
int age;
char sex;
}std[3],*p=std;
下面各輸入語(yǔ)句中錯(cuò)誤的是
A.scanf("%d",&(*p).age);
B.scanf("%s",&std.name);
C.scanf("%c",&std[0].sex)
D.scanf("%c",&(p->sex));
(48) 設(shè)char型變量x中的值為10100111,則表達(dá)式(2+x)^(~3)的值是
A.10101001
B.10101000
C) 11111101
D.01010101
(49) 以下敘述中不正確的是
A.C語(yǔ)言中的文本文件以ASCⅡ碼形式存儲(chǔ)數(shù)據(jù)
B.C語(yǔ)言中對(duì)二進(jìn)制文件的訪問(wèn)速度比文本文件快
C.C語(yǔ)言中,隨機(jī)讀寫方式不適用于文本文件
D.C語(yǔ)言中,順序讀寫方式不適用于二進(jìn)制文件
(50) 以下程序企圖把從終端輸入的字符輸出到名為abc.txt的文件中,直到從終端讀入字符#號(hào)時(shí)結(jié)束輸入和輸出操作,但程序有錯(cuò)。
#include
main()
{ FILE *fout; char ch;
fout=fopen('abc.txt','w');
ch=fgetc(stdin);
while(ch!='#')
{ fputc(ch,fout);
ch=fgetc(stdin);
}
fclose(fout);
}
出錯(cuò)的原因是
A.函數(shù)fopen調(diào)用形式錯(cuò)誤
B.輸入文件沒(méi)有關(guān)閉
C.函數(shù)fgetc調(diào)用形式錯(cuò)誤
D.文件指針stdin沒(méi)有定義
二、填空題(每空2分,共20分)
請(qǐng)將每空的正確答案寫在答題卡上【1】-【20】序號(hào)的橫線上,答在試卷上不得分。
(1) 用十六進(jìn)制繪存儲(chǔ)器中的字節(jié)地址進(jìn)行編號(hào),若地址編號(hào)從000到FFFF,則該存諸器的容量為【1】KB。
(2) 假設(shè)在當(dāng)前盤的當(dāng)前目錄下有兩個(gè)文件A.TXT和B.TXT,現(xiàn)要將文件B.TXT合并連接到文件A.TXT的后面。若使用COPY命令,則完整的命令為【2】。
(3) E-mail地址由用戶和域名兩部分組成,這兩部分的分隔符為【3】。
(4) 假設(shè)在當(dāng)前盤當(dāng)前目錄下有一個(gè)可執(zhí)行程序USER.EXE?,F(xiàn)要執(zhí)行該程序,并要求在執(zhí)行過(guò)程中將顯示輸出的結(jié)果信息存入當(dāng)前盤當(dāng)前目錄的文件OUT.DAT中,則完整的DOS命令為【4】。
(5) 在DOS環(huán)境下,表示打印機(jī)的設(shè)備文件名為【5】 。
(6) 若有語(yǔ)句
int i=-19,j=i%4;
printf("%d\n",j);
則輸出結(jié)果是 【6】 。
(7) 若有程序
main()
{ int i,j;
scanf("i=%d,j=%d";&i,&j);
printf("i=%d,j=%d\n",i,j);
}
要求給i賦10,給j賦20,則應(yīng)該從鍵盤輸入 【7】 。
(8) 若有以下程序
main()
{ int p,a=5;
if(p=a!=0)
printf("%d\n",p);
else
printf("%d\n",p+2);
}
執(zhí)行后輸出結(jié)果是 【8】 。
(9) 若有以下程序
main()
{ int a=4,b=3,c=5,t=0;
if(a if(a printf("%d %d %d\n",a,b,c);
}
執(zhí)行后輸出結(jié)果是 【9】 。
(10) 若有以下程序
main()
{ int a[4][4]={{1,2,-3,-4},{0,-12,-13,14},{-21,23,0,-24},{-31,32,-33,0}};
int i,j,s=0;
for(i=0;i<4;i++)
{ for(j=0;j<4;j++)
{ if(a[i][j]<0)continue;
if(a[i][j]==0)break;
s+=a[i][j];
}
}
printf("%d\n",s);
}
執(zhí)行后輸出的結(jié)果是 【10】 。
(11) 若有以下程序
main()
{ char a;
a='H'-'A'+'0';
print("%c\n",a);
}
執(zhí)行后的輸出結(jié)果是 【11】 。
(12) 若有以下程序
int f(int x,int y)
{ return(y-x)*x; }
main()
{ int a=3,b=4,c=5,d;
d=f(f(3,4),f(3,5));
printf("%d\n",d);
}
執(zhí)行后輸出的結(jié)果是【12】。
(13) 函數(shù)YangHui的功能是把楊輝三角形的數(shù)據(jù)賦給二維數(shù)組的下半三角,形式如下
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
其構(gòu)成規(guī)律是:
第0列元素和主對(duì)角線無(wú)素均為1
其余元素為其左上方和正上方元素之和
數(shù)據(jù)的個(gè)數(shù)每行遞增1
請(qǐng)將程序補(bǔ)充完整。
#defint N 6
void YangHui(int *[N][N])
{ int i,j;
x[0][0]=1
for(i=1;i { x[i][0]= 【13】 =1;
for(j=1;j x[i][j]= 【14】 ;
}
}
(14) 以下函數(shù)的功能是刪除字符串s中的所有數(shù)字字符。請(qǐng)?zhí)羁铡?BR> void dele(char *s)
{ int n=0,i;
for(i=0,s[i];i++)
if(【15】)
s[n++]=s[i];
s[n]=【16】;
}
(15) 設(shè)函數(shù)findbig已定義為求3個(gè)數(shù)中的值。以下程序?qū)⒗煤瘮?shù)指針調(diào)用findbig函數(shù)。請(qǐng)?zhí)羁铡?BR> main()
{ int findbig(int,int,int);
int (*f)(),x,yz,z,big;
f=【17】;
scanf("%d%d%d",&x,&y,&z);
big=(*f)(x,y,z);
printf("bing=%d\n",big);
}
(16) 以下程序的輸出結(jié)果是【18】 。
#defint MCRA(m) 2*m
#define MCRB(n,m) 2*MCRA(n)+m
main()
{ int i=2,j=3;
printf("%d\n",MCRB(j,MCRA(i)));
}
(17) 設(shè)有以下定義
struct ss
{ int info;struct ss *link;}x,y,z;
且已建立如下圖所示鏈表結(jié)構(gòu):
□□ →□□→□□
X Y Z
請(qǐng)寫出刪除點(diǎn)y的賦值語(yǔ)句【19】 。
(18) 已有文本文件test.txt,其中的內(nèi)容為:Hello,everyone!。以下程序中,文件test.txt已正確為"讀"而打開(kāi),由文件指針fr指向該文件,則程序的輸出結(jié)果是 【20】 。
#include
main()
{ FILE *fr; char str[40];
……
fgets(str,5,fr);
printf("%s\n",str);
fclose(fr);
}
一、選擇題
1-5:CDDAD 6-10:BACDB 11-15:CABDB 16-20:ADCAA
21-25:CBDAB 26-30:DCDAB 31-35:CBDCC 36-40:CCBAC
41-45:CAAAC 46-50:DBDDA
二、填空題
(1) 64
(2) COPY A.TXT+B.TXT A.TXT
(3) @
(4) USER >OUT.DAT
(5) PRN或LPT1或LPT2
(6) -3
(7) i=10,j=20
(8) 1
(9) 5 0 3
(10) 58
(11) 7
(12) 9
(13) x[i][i]和x[i-1][j-1]+x[i-1][j]
(14) !(s[i]>='0'&&s[i]<='9')和'\0'
(15) findbig
(16) 16
(17) x.link=y.link;
(18) Hell
一、選擇題((1)~(40)每小題1分,(41)~(55)每小題2分,共60分)
下列各題 A、B、C、D.四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。
(1) 用8位無(wú)符號(hào)二進(jìn)制數(shù)能表示的十進(jìn)制數(shù)為
A.127
B.128
C.255
D.256
(2) 在64位高檔微機(jī)中,一個(gè)字長(zhǎng)所占的二進(jìn)制位數(shù)為
A.8
B.16
C.32
D.64
(3) 在Windows環(huán)境下,為了復(fù)制一個(gè)對(duì)象,在用鼠標(biāo)拖動(dòng)該對(duì)象時(shí)應(yīng)同時(shí)按住
A.Alt鍵
B.Esc鍵
C.Shift鍵
D.Ctrl鍵
(4) 在Windows菜單中,暗淡(灰色)的命令項(xiàng)表示該命令
A.暫時(shí)不能用
B.正在執(zhí)行
C.包含下一層菜單
D.包含對(duì)話框
(5) 在DOS環(huán)境下,為了得到TYPE命令的幫助信息,正確的DOS命令為
A.TYPE
B.TYPE/H
C.TYPE/*
D.TYPE/?
(6) 下列選項(xiàng)中,能作為合法DOS文件名的是
A.ANP/A.DAT
B.ABCCOM
C.ECD.BASIC
D.XY+Z.TXT
(7) 下列敘述中正確的是
A.在Windows環(huán)境下,化的窗口是不能移動(dòng)的
B.在Windows環(huán)境下,應(yīng)用程序窗口最小化后,該應(yīng)用程序暫停執(zhí)行
C.在Windows環(huán)境下,只有最小化的窗口才能關(guān)閉
D.在Windows環(huán)境下,不能關(guān)閉化的窗口
(8) 在Windows環(huán)境下,工具欄中的復(fù)制按鈕是
A.打印機(jī)圖標(biāo)
B.剪刀標(biāo)志
C.復(fù)制標(biāo)志
D.粘貼標(biāo)志
(9) 在Windows98環(huán)境下,若要將整個(gè)屏幕上顯示的內(nèi)容存入剪貼板,可以按
A.Ctrl+PrintScreen鍵
B.Alt+PrintScree鍵
C.Shift+PrintScreen鍵
D.PrintScreen鍵
(10) 目前,計(jì)算機(jī)病毒擴(kuò)散最快的途徑是
A.通過(guò)軟件復(fù)制
B.通過(guò)網(wǎng)絡(luò)傳播
C.通過(guò)磁盤考貝
D.運(yùn)行游戲軟件
(11) 以下敘述中正確的是
A.C語(yǔ)言比其他語(yǔ)言高級(jí)
B.C語(yǔ)言可以不用編譯就能被計(jì)算機(jī)識(shí)別執(zhí)行
C.C語(yǔ)言以接近英語(yǔ)國(guó)家的自然語(yǔ)言和數(shù)學(xué)語(yǔ)言作為語(yǔ)言的表達(dá)形式
D.C語(yǔ)言出現(xiàn)的最晚,具有其他語(yǔ)言的一切優(yōu)點(diǎn)
(12) C語(yǔ)言中用于結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu)是
A.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
B.if、switch、break
C.for、while、do-while
D.if、for、continue
(13) 在一個(gè)C程序中
A.main函數(shù)必須出現(xiàn)在所有函數(shù)之前
B.main函數(shù)可以在任何地方出現(xiàn)
C.main函數(shù)必須出現(xiàn)在所有函數(shù)之后
D.main函
(14) 下列敘述中正確的是
A.C語(yǔ)言中既有邏輯類型也有集合類型
B.C語(yǔ)言中沒(méi)有邏輯類型但有集合類型
C.C語(yǔ)言中有邏輯類型但沒(méi)有集合類型
D.C語(yǔ)言中既沒(méi)有邏輯類型也沒(méi)有集合類型
(15) 下列關(guān)于C語(yǔ)言用戶標(biāo)識(shí)符的敘述中正確的是
A.用戶標(biāo)識(shí)符中可以出現(xiàn)在下劃線和中劃線(減號(hào))
B.用戶標(biāo)識(shí)符中不可以出現(xiàn)中劃線,但可以出現(xiàn)下劃線
C.用戶標(biāo)識(shí)符中可以出現(xiàn)下劃線,但不可以放在用戶標(biāo)識(shí)符的開(kāi)頭
D.用戶標(biāo)識(shí)符中可以出現(xiàn)在下劃線和數(shù)字,它們都可以放在用戶標(biāo)識(shí)符的開(kāi)頭
(16) 若有以下程序段(n所賦的是八進(jìn)制數(shù))
int m=32767,n=032767
printf("%d,%o/n",m,n);
執(zhí)行后輸出結(jié)果是
A.32767,32767
B.32767,032767
C.32767,77777
D.32767,077777
(17) 下列關(guān)于單目運(yùn)算符++、--的敘述中正確的是
A.它們的運(yùn)算對(duì)象可以是任何變量和常量
B.它們的運(yùn)算對(duì)象可以是char型變量和int型變量,但不能是float型變量
C.它們的運(yùn)算對(duì)象可以是int型變量,但不能是double型變量和float型變量
D.它們的運(yùn)算對(duì)象可以是char型變量、int型變量和float型變量
(18) 若有以下程序段
int m=0xabc,n=0xabc;
m-=n;
printf("%X\n",m);
執(zhí)行后輸出結(jié)果是
A.0X0
B.0x0
C.0
D.0XABC
(19) 有以下程序段
int m=0,n=0; char c='a';
scanf("%d%c%d",&m,&c,&n);
printf("%d,%c,%d\n",m,c,n);
若從鍵盤上輸入:10A10<回車>,則輸出結(jié)果是:
A.10,A,10
B.10,a,10
C.10,a,0
D.10,A,0
(20) 有以下程序
main()
{ int i;
for(i=0;i<3;i++)
switch(i)
{ case 1: printf("%d",i);
case 2: printf("%d",i);
default: printf("%d",i);
}
}
執(zhí)行后輸出結(jié)果是
A.011122
B.012
C.012020
D.120
(21) 有以下程序
main()
{ int i=1,j=1,k=2;
if((j++‖k++)&&i++) printf("%d,%d,%d\n",i,j,k);
}
執(zhí)行后輸出結(jié)果是
A.1,1,2
B.2,2,1
C.2,2,2
D.2,2,3
(22) 有以下程序
main()
{ int a=5,b=4,c=3,d=2;
if(a>b>
C.
printf("%d\n",
D.;
else if((c-1>=
D.==1)
printf("%d\n",d+1);
else
printf("%d\n",d+2)
}
執(zhí)行后輸出結(jié)果是
A.2
B.3
C.4
D.編譯時(shí)有錯(cuò),無(wú)結(jié)果
(23) 有以下程序
main()
{ int p[7]={11,13,14,15,16,17,18},i=0,k=0;
while(i<7&&p[i]%2){k=k+p[i];i++;}
printf("%d\n",k);
}
執(zhí)行后輸出結(jié)果是
A.58
B.56
C.45
D.24
(24) 有以下程序
main()
{ int i=0,s=0;
do{
if(i%2){i++;continue;}
i++;
s +=i;
}while(i<7);
printf("%d\n",s);
}
執(zhí)行后輸出結(jié)果是
A.16
B.12
C.28
D.21
(25) 有以下程序
main()
{ int i=10,j=1;
printf("%d,%d\n",i--,++j);
}
執(zhí)行后輸出結(jié)果是
A.9,2
B.10,2
C.9,1
D.10,1
(26) 有以下程序
main()
{ char a,b,c,*d;
a='\'; b='\xbc';
c='\0xab'; d="\017";
print("%c%c%c\n",a,b,c,*
D.;
}
編譯時(shí)出現(xiàn)錯(cuò)誤,以下敘述中正確的是
A.程序中只有a='\';語(yǔ)句不正確
B.b='\xbc';語(yǔ)句不正確
C.d="\0127";語(yǔ)句不正確
D.a(chǎn)='\';和c='\0xab';語(yǔ)句都不正確
(27) 有以下程序
int fl(int x,int y)
{ return x>y?x:y; }
int f2(int x,int y)
{ return x>y?y:x; }
main()
{ int a=4,b=3,c=5,d,e,f;
d=f1(a,
B.; d=f1(d,
C.;
e=f2(a,
B.; e=f2(e,
C.;
f=a+b+c-d-e;
printf("%d,%d,%d\n",d,f,e);
}
執(zhí)行后輸出結(jié)果是
A.3,4,5
B.5,3,4
C.5,4,3
D.3,5,4
(28) 有如下程序
void f(int x,int y)
{ int t;
if(x
}
main()
{ int a=4,b=3,c=5;
f(a,
B.; f(a,
C.; f(b,
C.;
printf("%d,%d,%d\n",a,b,
C.;
}
執(zhí)行后輸出結(jié)果是
A.3,4,5
B.5,3,4
C.5,4,3
D.4,3,5
(29) 若有以下定義和語(yǔ)句
#include
int a=4,b=3,*p,*q,*w;
p=&a; q=&b; w=q; q=NULL;
則以下選項(xiàng)中錯(cuò)誤的語(yǔ)句是
A.*q=0;
B.w=p;
C.*p=a;
D.*p=*w;
(30) 有以下程序
int *f(int *x,int *y)
{ if(*x<*y)
return x;
else
return y;
}
main()
{ int a=7,b=8,*p,*q,*r};
}
執(zhí)行后輸出結(jié)果是
A.7,8,8
B.7,8,7
C.8,7,7
D.8,7,8
(31) 有以下程序
main()
{ char *s[]={"one","two","three"},*p;
p=s[1];
printf("%c,%s\n",*(p+1),s[0]);
}
執(zhí)行后輸出結(jié)果是
A.n,two
B.t,one C)w,one
D.o,two
(32) 有以下程序
main()
{ int x[8]={8,7,6,5,0,0},*s;
s=x+3
printf("%d\n",s[2]);
}
執(zhí)行后輸出結(jié)果是
A.隨機(jī)值
B.0
C.5
D.6
(33) 以下能正確定義數(shù)組并正確賦初值的語(yǔ)句是
A.int N=5,b[N][N];
B.int a[1][2]={{1},{3}};
C.int c[2][]={{1,2},{3,4}};
D.int d[3][2]={{1,2},{34}};
(34) 有以下程序
main()
{ int m[][3]={1,4,7,2,5,8,3,6,9};
int i,j,k=2;
for(i=0;i<3;i++)
{ printf("%d",m[k][i]); }
}
執(zhí)行后輸出結(jié)果是
A.4 5 6
B.2 5 8
C.3 6 9
D.7 8 9
(35) 以下函數(shù)的功能是:通過(guò)鍵盤輸入數(shù)據(jù),為數(shù)組中的所有元素賦值。
#define N 10
void arrin(int x[N])
{ int i=0;
while(i
scanf("%d", );
}
在下劃線處應(yīng)填入的是
A.x+i
B.&x[i+1]
C.x+(i++) D)&x[++i]
(36) 有以下程序
main()
{ char s[]="\n123\\";
printf("%d,%d\n",strlen(s),sizeof(s));
}
執(zhí)行后輸出結(jié)果是
A.賦初值的字符串有錯(cuò)
B.6,7
C.5,6
D.6,6
(37) 閱讀以下函數(shù)
fun(char *s1,char *s2)
{ int i=0;
while(s1[i]==s2[i]&& s2[i]!='\0')i++;
return(s1[i]== && s2{i}!=='\0');
}
此函數(shù)的功能是
A.將s2所指字符串賦給s1
B.比較s1和s2所指字符串的大小,若s1比s2的大,函數(shù)值為1,否則函數(shù)值為0
C.比較s1和s2所指字符串是否相等,若相等,函數(shù)值為1,否則函數(shù)值為0
D.比較s1和s2所指字符串的長(zhǎng)度,若s1比s2的長(zhǎng),函數(shù)值為1,否則函數(shù)值為0
(38) 以下敘述中正確的是
A.全局變量的作用域一定比局部變量的作用域范圍大
B.靜態(tài)(stati
C.類別變量的生存期貫穿于整個(gè)程序的運(yùn)行期間
C.函數(shù)的形參都屬于全局變量
D)未在定義語(yǔ)句中賦初值的auto變量和static變量的初值都是隨機(jī)值
(39) 設(shè)有如下說(shuō)明
typedef struct
{ int n; char c; double x;}STD;
則以下選項(xiàng)中,能正確定義結(jié)構(gòu)體數(shù)組并賦初值的語(yǔ)句是
A.STD tt[2]={{1,'A',62},{2, 'B',75}};
B.STD tt[2]={1,"A",62},2, "B",75};
C.struct tt[2]={{1,'A'},{2, 'B'}};
D.structtt[2]={{1,"A",62.5},{2, "B",75.0}};
(40) 有以下程序
main()
{ union { unsigned int n;
unsigned char c;
}u1;
ul.c=`A`;
printf("%c\n",u1.n);
}
執(zhí)行后輸出結(jié)果是
A.產(chǎn)生語(yǔ)法錯(cuò)
B.隨機(jī)值
C.A
D.65
(41) 有以下程序
main()
{ char str[]="xyz",*ps=str;
while(*ps)ps++;
for(ps--;ps-str>=0;ps--) puts(ps);
}
執(zhí)行后的輸出結(jié)果是
A.yz
B.z
C.z
D.x
xyz yz yz xy
xyz xyz
(42) 有以下程序
main()
{ int a[][3]={{1,2,3},{4,5,0}},{*pa}[3],i;
pa=a;
for(i=0;i<3;i++)
if(i<2) pa[1][i]=pa[1][i]-1;
else pa[1][i]=1;
printf("%d\n",a[0][1]+a[1][1]+a[1][2]);
}
執(zhí)行后輸出結(jié)果是
A.7
B.6
C.8
D.無(wú)確定值
(43) 有以下程序
void fun(int *a,int i,int j)
{ int t;
if(i
{ t=a[i];a[i]=a[j];a[j]=t;
fun(a,++i,--j);
}
}
main()
{ int a[]={1,2,3,4,5,6},i;
fun(a,0,5)
for(i=0;i<6;i++)
printf("%d",a[i]);
}
執(zhí)行后的輸出結(jié)果是
A.6 5 4 3 2 1
B.4 3 2 1 5 6
C.4 5 6 1 2 3
D.1 2 3 4 5 6
(44) 有以下程序
main(int arge,char *argv[])
{ int n,i=0;
while(arv[1][i]!='\0'
{ n=fun(); i++;}
printf(%d\n",n*arg
C.;
}
int fun()
{ static int s=0;
s+=1;
return s;
}
假設(shè)程序經(jīng)編譯、連接后生成可執(zhí)行文件exam.exe,若鍵入以下命令行
exam 123<回車>
則運(yùn)行結(jié)果為
A.6
B.8
C.3 D)4
(45) 以下程序段中,能夠通過(guò)調(diào)用函數(shù)fun,使main函數(shù)中的指針變量p指向一個(gè)合法的整型單元的是
A.main()
B.main
{ int *p; { int *p;
fun(p); fun(&p);
}
}
int fun(int *p) int fun(int **p)
{ int s; p=&s;} { int s;*p=&s;}
C.#include
D.#include
main() main()
{ int *p; { int *p;
fun(&p); fun(p);
} }
int fun(int **p) int fun(int *p)
{ *p=(int *)malloc(2);} { p=(int *)malloc(sizeo(int));}
(46) 若要說(shuō)明一個(gè)類型名STP,使得定義語(yǔ)句STP s等價(jià)于char *s,以下選項(xiàng)中正確的是
A.typedef STP char *s;
B.typedef *char STP;
C.typedef stp *char;
D.typedef char* STP;
(47) 設(shè)有如下定義
struct ss
{ char name[10];
int age;
char sex;
}std[3],*p=std;
下面各輸入語(yǔ)句中錯(cuò)誤的是
A.scanf("%d",&(*p).age);
B.scanf("%s",&std.name);
C.scanf("%c",&std[0].sex)
D.scanf("%c",&(p->sex));
(48) 設(shè)char型變量x中的值為10100111,則表達(dá)式(2+x)^(~3)的值是
A.10101001
B.10101000
C.11111101
D.01010101
(49) 以下敘述中不正確的是
A.C語(yǔ)言中的文本文件以ASCⅡ碼形式存儲(chǔ)數(shù)據(jù)
B.C語(yǔ)言中對(duì)二進(jìn)制文件的訪問(wèn)速度比文本文件快
C.C語(yǔ)言中,隨機(jī)讀寫方式不適用于文本文件
D.C語(yǔ)言中,順序讀寫方式不適用于二進(jìn)制文件
(50) 以下程序企圖把從終端輸入的字符輸出到名為abc.txt的文件中,直到從終端讀入字符#號(hào)時(shí)結(jié)束輸入和輸出操作,但程序有錯(cuò)。
#include
main()
{ FILE *fout; char ch;
fout=fopen('abc.txt','w');
ch=fgetc(stdin);
while(ch!='#')
{ fputc(ch,fout);
ch=fgetc(stdin);
}
fclose(fout);
}
出錯(cuò)的原因是
A.函數(shù)fopen調(diào)用形式錯(cuò)誤
B.輸入文件沒(méi)有關(guān)閉
C.函數(shù)fgetc調(diào)用形式錯(cuò)誤
D.文件指針stdin沒(méi)有定義
(42) 有以下程序
main()
{ int a[][3]={{1,2,3},{4,5,0}},{*pa}[3],i;
pa=a;
for(i=0;i<3;i++)
if(i<2) pa[1][i]=pa[1][i]-1;
else pa[1][i]=1;
printf("%d\n",a[0][1]+a[1][1]+a[1][2]);
}
執(zhí)行后輸出結(jié)果是
A.7
B.6
C.8
D.無(wú)確定值
(43) 有以下程序
void fun(int *a,int i,int j)
{ int t;
if(i { t=a[i];a[i]=a[j];a[j]=t;
fun(a,++i,--j);
}
}
main()
{ int a[]={1,2,3,4,5,6},i;
fun(a,0,5)
for(i=0;i<6;i++)
printf("%d",a[i]);
}
執(zhí)行后的輸出結(jié)果是
A.6 5 4 3 2 1
B.4 3 2 1 5 6
C.4 5 6 1 2 3
D.1 2 3 4 5 6
(44) 有以下程序
main(int arge,char *argv[])
{ int n,i=0;
while(arv[1][i]!='\0'
{ n=fun(); i++;}
printf(%d\n",n*argc);
}
int fun()
{ static int s=0;
s+=1;
return s;
}
假設(shè)程序經(jīng)編譯、連接后生成可執(zhí)行文件exam.exe,若鍵入以下命令行
exam 123<回車>
則運(yùn)行結(jié)果為
A.6
B.8
C.3
D.4
(45) 以下程序段中,能夠通過(guò)調(diào)用函數(shù)fun,使main函數(shù)中的指針變量p指向一個(gè)合法的整型單元的是
A) main() B) main
{ int *p; { int *p;
fun(p); fun(&p);
}
}
int fun(int *p) int fun(int **p)
{ int s; p=&s;} { int s;*p=&s;}
C) #include D) #include
main() main()
{ int *p; { int *p;
fun(&p); fun(p);
} }
int fun(int **p) int fun(int *p)
{ *p=(int *)malloc(2);} { p=(int *)malloc(sizeo(int));}
(46) 若要說(shuō)明一個(gè)類型名STP,使得定義語(yǔ)句STP s等價(jià)于char *s,以下選項(xiàng)中正確的是
A.typedef STP char *s;
B.typedef *char STP;
C.typedef stp *char;
D.typedef char* STP;
(47) 設(shè)有如下定義
struct ss
{ char name[10];
int age;
char sex;
}std[3],*p=std;
下面各輸入語(yǔ)句中錯(cuò)誤的是
A.scanf("%d",&(*p).age);
B.scanf("%s",&std.name);
C.scanf("%c",&std[0].sex)
D.scanf("%c",&(p->sex));
(48) 設(shè)char型變量x中的值為10100111,則表達(dá)式(2+x)^(~3)的值是
A.10101001
B.10101000
C) 11111101
D.01010101
(49) 以下敘述中不正確的是
A.C語(yǔ)言中的文本文件以ASCⅡ碼形式存儲(chǔ)數(shù)據(jù)
B.C語(yǔ)言中對(duì)二進(jìn)制文件的訪問(wèn)速度比文本文件快
C.C語(yǔ)言中,隨機(jī)讀寫方式不適用于文本文件
D.C語(yǔ)言中,順序讀寫方式不適用于二進(jìn)制文件
(50) 以下程序企圖把從終端輸入的字符輸出到名為abc.txt的文件中,直到從終端讀入字符#號(hào)時(shí)結(jié)束輸入和輸出操作,但程序有錯(cuò)。
#include
main()
{ FILE *fout; char ch;
fout=fopen('abc.txt','w');
ch=fgetc(stdin);
while(ch!='#')
{ fputc(ch,fout);
ch=fgetc(stdin);
}
fclose(fout);
}
出錯(cuò)的原因是
A.函數(shù)fopen調(diào)用形式錯(cuò)誤
B.輸入文件沒(méi)有關(guān)閉
C.函數(shù)fgetc調(diào)用形式錯(cuò)誤
D.文件指針stdin沒(méi)有定義
二、填空題(每空2分,共20分)
請(qǐng)將每空的正確答案寫在答題卡上【1】-【20】序號(hào)的橫線上,答在試卷上不得分。
(1) 用十六進(jìn)制繪存儲(chǔ)器中的字節(jié)地址進(jìn)行編號(hào),若地址編號(hào)從000到FFFF,則該存諸器的容量為【1】KB。
(2) 假設(shè)在當(dāng)前盤的當(dāng)前目錄下有兩個(gè)文件A.TXT和B.TXT,現(xiàn)要將文件B.TXT合并連接到文件A.TXT的后面。若使用COPY命令,則完整的命令為【2】。
(3) E-mail地址由用戶和域名兩部分組成,這兩部分的分隔符為【3】。
(4) 假設(shè)在當(dāng)前盤當(dāng)前目錄下有一個(gè)可執(zhí)行程序USER.EXE?,F(xiàn)要執(zhí)行該程序,并要求在執(zhí)行過(guò)程中將顯示輸出的結(jié)果信息存入當(dāng)前盤當(dāng)前目錄的文件OUT.DAT中,則完整的DOS命令為【4】。
(5) 在DOS環(huán)境下,表示打印機(jī)的設(shè)備文件名為【5】 。
(6) 若有語(yǔ)句
int i=-19,j=i%4;
printf("%d\n",j);
則輸出結(jié)果是 【6】 。
(7) 若有程序
main()
{ int i,j;
scanf("i=%d,j=%d";&i,&j);
printf("i=%d,j=%d\n",i,j);
}
要求給i賦10,給j賦20,則應(yīng)該從鍵盤輸入 【7】 。
(8) 若有以下程序
main()
{ int p,a=5;
if(p=a!=0)
printf("%d\n",p);
else
printf("%d\n",p+2);
}
執(zhí)行后輸出結(jié)果是 【8】 。
(9) 若有以下程序
main()
{ int a=4,b=3,c=5,t=0;
if(a if(a printf("%d %d %d\n",a,b,c);
}
執(zhí)行后輸出結(jié)果是 【9】 。
(10) 若有以下程序
main()
{ int a[4][4]={{1,2,-3,-4},{0,-12,-13,14},{-21,23,0,-24},{-31,32,-33,0}};
int i,j,s=0;
for(i=0;i<4;i++)
{ for(j=0;j<4;j++)
{ if(a[i][j]<0)continue;
if(a[i][j]==0)break;
s+=a[i][j];
}
}
printf("%d\n",s);
}
執(zhí)行后輸出的結(jié)果是 【10】 。
(11) 若有以下程序
main()
{ char a;
a='H'-'A'+'0';
print("%c\n",a);
}
執(zhí)行后的輸出結(jié)果是 【11】 。
(12) 若有以下程序
int f(int x,int y)
{ return(y-x)*x; }
main()
{ int a=3,b=4,c=5,d;
d=f(f(3,4),f(3,5));
printf("%d\n",d);
}
執(zhí)行后輸出的結(jié)果是【12】。
(13) 函數(shù)YangHui的功能是把楊輝三角形的數(shù)據(jù)賦給二維數(shù)組的下半三角,形式如下
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
其構(gòu)成規(guī)律是:
第0列元素和主對(duì)角線無(wú)素均為1
其余元素為其左上方和正上方元素之和
數(shù)據(jù)的個(gè)數(shù)每行遞增1
請(qǐng)將程序補(bǔ)充完整。
#defint N 6
void YangHui(int *[N][N])
{ int i,j;
x[0][0]=1
for(i=1;i { x[i][0]= 【13】 =1;
for(j=1;j x[i][j]= 【14】 ;
}
}
(14) 以下函數(shù)的功能是刪除字符串s中的所有數(shù)字字符。請(qǐng)?zhí)羁铡?BR> void dele(char *s)
{ int n=0,i;
for(i=0,s[i];i++)
if(【15】)
s[n++]=s[i];
s[n]=【16】;
}
(15) 設(shè)函數(shù)findbig已定義為求3個(gè)數(shù)中的值。以下程序?qū)⒗煤瘮?shù)指針調(diào)用findbig函數(shù)。請(qǐng)?zhí)羁铡?BR> main()
{ int findbig(int,int,int);
int (*f)(),x,yz,z,big;
f=【17】;
scanf("%d%d%d",&x,&y,&z);
big=(*f)(x,y,z);
printf("bing=%d\n",big);
}
(16) 以下程序的輸出結(jié)果是【18】 。
#defint MCRA(m) 2*m
#define MCRB(n,m) 2*MCRA(n)+m
main()
{ int i=2,j=3;
printf("%d\n",MCRB(j,MCRA(i)));
}
(17) 設(shè)有以下定義
struct ss
{ int info;struct ss *link;}x,y,z;
且已建立如下圖所示鏈表結(jié)構(gòu):
□□ →□□→□□
X Y Z
請(qǐng)寫出刪除點(diǎn)y的賦值語(yǔ)句【19】 。
(18) 已有文本文件test.txt,其中的內(nèi)容為:Hello,everyone!。以下程序中,文件test.txt已正確為"讀"而打開(kāi),由文件指針fr指向該文件,則程序的輸出結(jié)果是 【20】 。
#include
main()
{ FILE *fr; char str[40];
……
fgets(str,5,fr);
printf("%s\n",str);
fclose(fr);
}
一、選擇題
1-5:CDDAD 6-10:BACDB 11-15:CABDB 16-20:ADCAA
21-25:CBDAB 26-30:DCDAB 31-35:CBDCC 36-40:CCBAC
41-45:CAAAC 46-50:DBDDA
二、填空題
(1) 64
(2) COPY A.TXT+B.TXT A.TXT
(3) @
(4) USER >OUT.DAT
(5) PRN或LPT1或LPT2
(6) -3
(7) i=10,j=20
(8) 1
(9) 5 0 3
(10) 58
(11) 7
(12) 9
(13) x[i][i]和x[i-1][j-1]+x[i-1][j]
(14) !(s[i]>='0'&&s[i]<='9')和'\0'
(15) findbig
(16) 16
(17) x.link=y.link;
(18) Hell