2021-2022年江西省景德鎮(zhèn)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題二卷(含答案)_第1頁(yè)
2021-2022年江西省景德鎮(zhèn)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題二卷(含答案)_第2頁(yè)
2021-2022年江西省景德鎮(zhèn)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題二卷(含答案)_第3頁(yè)
2021-2022年江西省景德鎮(zhèn)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題二卷(含答案)_第4頁(yè)
2021-2022年江西省景德鎮(zhèn)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題二卷(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩32頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

2021-2022年江西省景德鎮(zhèn)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題二卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.有以下程序

#include<stdio.h>

main()

{ini,j,m=1;

for(i=1;i<3;i++)

{for(j=3;j>0;j--)

{if(i*j)>3)break;

m=i*j;

}

}

printf("m=%d\n",m);

程序運(yùn)行后的輸出結(jié)果是A.m=6B.m=2C.m=4D.m=5

2.以下程序段中,與語(yǔ)句“k—a>b?(b>c?1:O):0;”功能相同的是()。

A.if(a>b)(b>c)k=1;elsek=0;

B.if((a>b)‖(b>c))k=1;elsek=0;

C.if(a<=b)k=0;elseif(b>c)k=1;

D.if(a>b)k=1;elseif(b<=c)k=1;elsek=0:

3.設(shè)有下列二叉樹(shù):

對(duì)此二叉樹(shù)后序遍歷的結(jié)果為

A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA

4.以下程序的輸出結(jié)果是()。

f(intb[],intm,intn)

{inti,s=0;

for(i=m;i<n;i=i+2)s=s+b[i];

returns;

}

voidmain()

{intx,a[]={1,2,3,4,5,6,7,8,9};

x=f(a,3,7);

printf("%d\n",x);

}A.A.10

B.18

C.8

D.15

5.

6.以下正確的字符常量是()。A.'\089'B.'\012'C.'\0XAB'D.'\0xab'

7.以下程序的輸出結(jié)果是_______。main(){inti,a[10];for(i=9;i>=0;i-)a[i]=10-i;print("%d%d%d,a[2],a[5],a[8]);}

A.258B.741C.852D.369

8.鏈表不具備的特點(diǎn)是()。

A.可隨機(jī)訪問(wèn)任一結(jié)點(diǎn)B.插入刪除不需要移動(dòng)元素C.不必事先估計(jì)存儲(chǔ)空間D.所需空間與其長(zhǎng)度成正比

9.設(shè)有定義:int?x=2,以下表達(dá)式中,值不為6的是()。

A.2*<.x+=2B.x++.2*xC.x=x*(1+x)D.x*=x+1

10.下列關(guān)于數(shù)據(jù)結(jié)構(gòu)的敘述中,正確的是()。

A.數(shù)組是同類(lèi)型值的集合

B.遞歸算法的程序結(jié)構(gòu)比迭代算法的程序結(jié)構(gòu)更為精煉

C.樹(shù)是一種線(xiàn)性結(jié)構(gòu)

D.用一維數(shù)組存儲(chǔ)二叉樹(shù),總是以先序遍歷的順序存儲(chǔ)各結(jié)點(diǎn)

11.

12.有以下程序:#include<stdio.h>main(){charv[4][10];inti;for(i=0;i<4;i++)scanf(“%s”,v[i]);printf(“%c,%s,%s,%c”,**v,*(v+1),v[3]+3,*(v[2]+1));}程序運(yùn)行時(shí)輸入welcomeyoutobeijing并按<Enter>鍵,則輸出結(jié)果是()。

A.w,youjing,o

B.welcome,you,jing,to

C.w,you,eeijing,u

D.w,xelcome,eeijing,u

13.以下關(guān)于typedef的敘述錯(cuò)誤的是A.用typedef可以增加新類(lèi)型

B.typedef只是將已存在的類(lèi)型用一個(gè)新的名字來(lái)代表

C.用typedef可以為各種類(lèi)型說(shuō)明一個(gè)新名,但不能用來(lái)為變量說(shuō)明一個(gè)新名

D.用typedef為類(lèi)型說(shuō)明一個(gè)新名,通常可以增加程序的可讀性

14.設(shè)有表示學(xué)生選課的三張表,學(xué)生S(學(xué)號(hào),姓名,性別,年齡,身份證號(hào)),課程C(課號(hào),課名),選課SC(學(xué)號(hào),課號(hào),成績(jī).,則表SC的關(guān)鍵字(鍵或碼)為()

A.課號(hào),成績(jī)B.學(xué)號(hào),成績(jī)C.學(xué)號(hào),課號(hào)D.學(xué)號(hào),姓名,成績(jī)

15.有以下程序:#include<stdio.h>voidfun(char*C,intd){*c=*c+1,d=d+1;printf(%"c%,c",*c,d);}main(){charb=aa=A;fun(&b,a);printf(%"c,%c\n",b,a);)程序運(yùn)行后的輸出結(jié)果是()。A.b,B,b,AB.b,B,B,AC.a,B,B,aD.a,B,a,B

16.公司中有多個(gè)部門(mén)和多名職員,每個(gè)職員只能屬于一個(gè)部門(mén),一個(gè)部門(mén)可以有多名職員,從職員到部門(mén)的聯(lián)系類(lèi)型是()

A.多對(duì)多B.一對(duì)一C.多對(duì)一D.一對(duì)多

17.為了隱藏在文本框中輸入的信息,用占位符代替顯示用戶(hù)輸入的字符,需要設(shè)置的屬性是()。

A.ValueB.ControlSoureeC.InputMaskD.PasswordChar

18.以下關(guān)于C語(yǔ)言文件系統(tǒng)的敘述中正確的是()。

A.fprintf與fwrite函數(shù)功能相同

B.文件以“r”方式打開(kāi)后,可以存儲(chǔ)文本類(lèi)型的數(shù)據(jù)

C.fscanf與fread函數(shù)功能相同

D.以“w”或“wb”方式打開(kāi)的文件,不可以從中讀取數(shù)據(jù)

19.

20.下列二維數(shù)組初始化語(yǔ)句中,不正確的是()。

A.intb[][2]={1,2,3,4,5,6,7};

B.intb[3][5]={0,0,0};

C.intb[][4]={{1,2},{3,4,5},{6}};

D.intb[3][2]={(1,2),(3,4),(5,6)};

二、2.填空題(20題)21.以下程序的輸出結(jié)果是()。#include<stdio.h>intfun(intx){staticintt=0;return(t+=x);}main(){ints,i;for(i=1;i<=5;i++)s=fun(i);printf("%d\11",s);}

22.設(shè)有下面的程序段:chars[]="china";char*p;p=S;則下列敘述正確的是

23.函數(shù)compare的功能是比較兩個(gè)字符串是否相等,若相等則函數(shù)返回1,否則返回o,請(qǐng)?zhí)羁铡?/p>

compare(chars[],chart[])

{

inti=0

while(s[i]==t[i]&&【】)i++;

return(【】?1:0);

}

24.以下程序的功能是找出三個(gè)字符串中的最大串。

【】

#include<stdio.h>

main()

{inti;

charstring[20],str[3][20];

(i=0;i<3;i++)gets(【】);

if(strcmp(str,str[0],str[1]>0)strcpy(string,str[0]);

elsestrcpy(string,str[1]);

if(strcmp(str[2],string)>【】)srtcpy(string,str[2]);

printf("Thelargeststringis\n%s\n",string);

}

25.設(shè)變量已正確定義為整型,則表達(dá)式n=i=2,++i,i++的值為【】。

26.在一棵二叉樹(shù)中,度為0的結(jié)點(diǎn)的個(gè)數(shù)為n0,度為2的結(jié)點(diǎn)的個(gè)數(shù)為n2,則有n0=【】。

27.有下列程序;

#include<stdio.h>

main()

{charc;

while((c=getchar())!=',')putchar(++C);

}

程序運(yùn)行時(shí),如果從鍵盤(pán)輸入:A,B,<CR>,則輸出結(jié)果為_(kāi)_____。

28.以下程序的功能是建立一個(gè)帶有頭結(jié)點(diǎn)的單向鏈表,鏈表結(jié)點(diǎn)中的數(shù)據(jù)通過(guò)鍵盤(pán)輸入,當(dāng)輸入數(shù)據(jù)為-1時(shí),表示輸入結(jié)束(鏈表頭結(jié)點(diǎn)的data域不放數(shù)據(jù),表空的條件是ph->next==NULL),請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

structlist{intdata;structlist*next;};

structlist*creatlist()

{structlist*p,*q,*ph;inta;ph=(structlist*)malloc(sizeof(structlist));

p=q=ph;printf("Inputanintegernumber;entre-1toend:\n");

scanf("%d",&a);

while(a!=-1)

{p=(structlist*)malloc(sizeof(structlist));

【】=a;q->next=p;【】=p;scanf("%d",&a);}

p->next=′\0;return(ph);}

main()

{structlist*head;head=creatlist();}

29.以下程序是求矩陣a,b的和,結(jié)果存入矩陣c中,并按矩陣形式輸出,請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{inta[3][4]={13,-2,7,5},{1,0,4,-3},{6,8,0,2}};

intb[3][4]={{-2,0,1,4},{5,-1,7,6},{6,8,0,2}};

inti,j,c[3][4];

for(i=0;i<3;i++)

for(j=0;j<4;j++)

c[i][j]=【】;

for(i=0;i<3;i++)

{for(j=0;j<4;j++)

printf("%3d",c[i][j]);

printf("\n");}}

30.以下程序的輸出結(jié)果為【】。

main()

{intk=1;

white(k<=15)

if(++k%3!=2)continue;

elseprintf("%d",k);

printf("\n");

}

31.實(shí)現(xiàn)程序可將磁盤(pán)中的一個(gè)文件復(fù)制到另一個(gè)文件中,兩個(gè)文件的文件名在可執(zhí)行命令的命令行中(相當(dāng)于copy命令),假定文件在當(dāng)前目錄下。請(qǐng)補(bǔ)全程序。

#include<stdio.h>

voidmain(intargc,char*argv[])

{FILE*f1,*f2;

if(argc<【】)

{printf("parametererror!\n");exit(0);}

f1=fopen(argv[1],"r");

f2=fopen(argv[2],"w");

while(【】)fputc(fgetc(f1),f2);

fclose(f1);

fclose(f2);

}

32.下列程序的運(yùn)行結(jié)果是______。

main()

{inti,a[10];

a[0]=a[1]=1;

for(i=2;i<5;i++)

a[i]=a[i-2]+a[i-1];

for(i=0;i<5;i++)

{if(i%2==0)printf("\n");

printf("%d",a[i]);

}

}

33.數(shù)據(jù)的【】結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式稱(chēng)為數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)或物理結(jié)構(gòu)。

34.在循環(huán)中,continue語(yǔ)句與break語(yǔ)句的區(qū)別是:______語(yǔ)句只是結(jié)束本次循環(huán),然后進(jìn)行循環(huán)的條件判定。

35.以下isprime函數(shù)的功能是判斷形參a是否為素?cái)?shù),如果是素?cái)?shù),函數(shù)返回1,否則返回0。

intisprime(inta)

inti;

for(i=2;i<=a/2;i++)

if(a%i==0)【】;

【】;

}

36.下面的函數(shù)strcat(str1,str2)實(shí)現(xiàn)將字符串str2拼接到字符串str1后面的功能。請(qǐng)?zhí)羁帐怪暾?/p>

char*strcat(str1,str2)

char*str1,*str2;

{char*t=str1;

while(【】)str1++;

while(【】);

return(t);}

37.在面向?qū)ο蠓椒ㄖ?,?lèi)之間共享屬性和操作的機(jī)制稱(chēng)為_(kāi)_____。

38.下列程序的運(yùn)行結(jié)果是______。

#include<stdio.h>

main()

{inta,b,c;

a=3;b=4;c=5;

if(a>b)

if(a>c)

printf("%d",a);

elseprintf("%d",b);

printf("%d\n",c);

}

39.數(shù)據(jù)庫(kù)管理系統(tǒng)是位于用戶(hù)與______之間的軟件系統(tǒng)。

40.下面程序的輸出結(jié)果是【】。

structaa

{intx,*y;

}*p;

inta[8]={10,20,30,40,50,60,70,80};

structaab[4]={100,&a[1],200,&a[3],10,&a[5],20,&a[7]};

main()

{p=b;

printf(%d",*++p->y);

printf("%d\n",++(p->x));

}

三、1.選擇題(20題)41.在數(shù)據(jù)庫(kù)管理系統(tǒng)提供的數(shù)據(jù)語(yǔ)言中,負(fù)責(zé)數(shù)據(jù)的完整性、安全性的定義與檢查以及并發(fā)控制、故障恢復(fù)等功能的是

A.數(shù)據(jù)定義語(yǔ)言B.數(shù)據(jù)轉(zhuǎn)換語(yǔ)言C.數(shù)據(jù)操縱語(yǔ)言D.數(shù)據(jù)控制語(yǔ)言

42.有以下程序:voidfun(int*a,inti,intj){intt;if(i<j){t=a[i];a[i]=a[j];a[j]=t;}fun(a,++i,--j);}}main(){inta[]={1,2,3,4,5,6},i;fun(a,0,5);for(i=0;i<6;i++)printf("%d",a[i]);}執(zhí)行后的輸出結(jié)果是______。

A.654321B.432156C.456123D.123456

43.下面程序的輸出是_______。main(){intm=0xa,n=2;m+=n;printf(""%X\n"",m);}

A.CB.cC.99D.2

44.下面程序:voidfunc(int*a,intb[]){b[0]=*a+6;)main(){inta,b[5];a=0;b[0]=3;func(&a,b);printf("%d\n",b[0]);}則程序運(yùn)行后的輸出結(jié)果是()。

A.6B.7C.8D.9

45.有以下程序main(){unsignedchara,b;a=4|3;b=4&3;printf("%d%d\n",a,b);}執(zhí)行后輸出結(jié)果是

A.70B.7C.11D.430

46.有以下程序:voidfun1(char*p){char*q;q=p;while(*q!='\0'){(*q)++;q++;}}main(){chara[]={"Program"),*p;p=&a[3];fun1(p)printf("%s\n",A);}程序執(zhí)行后的輸出結(jié)果是()。

A.ProhsbnB.PrphsbnC.ProgsbnD.Program

47.下列條件語(yǔ)句中,功能與其他語(yǔ)句不同的是()。

A.if(a)printf("%d\n",x);elseprintf("%d\n",y);

B.if(a==0)printf("%d\n",y);elseprintf("%d\n",x);

C.if(a!=0)printf("%d\n",x);elseprintf("%d\n",y);,

D.if(a==O)printf("%d\n",x);elseprintf("%d\n",y);

48.設(shè)有定義:inta,*pa=&a;以下scanf語(yǔ)句中能正確為變量a讀入數(shù)據(jù)的是

A.scant("%d",pa);

B.scant("%d",a);

C.scanf("%d",&pa);

D.scanf("%d",*pa);

49.一個(gè)棧的輸入序列為1,2,3,4,下列選項(xiàng)中的______序列不可能是這個(gè)棧的輸出序列。

A.1,3,2,4B.2,3,4,1C.4,3,1,2D.3,4,2,1

50.設(shè)有以下程序段intx=0,s=0;while(!x!=0)s+=++x;printf("%d",s);則

A.運(yùn)行程序段后輸出0B.運(yùn)行程序段后輸出1C.程序段中的控制表達(dá)式是非法的D.程序段執(zhí)行無(wú)限次

51.電子郵件是()

A.網(wǎng)絡(luò)信息檢索服務(wù)

B.通過(guò)Web網(wǎng)頁(yè)發(fā)布的公告信息

C.通過(guò)網(wǎng)絡(luò)實(shí)時(shí)交互的信息傳遞方式

D.一種利用網(wǎng)絡(luò)交換信息的非交互式服務(wù)

52.在宏定義#defineP13.1415926中,用宏名PI代替一個(gè)()

A.單精度數(shù)B.雙精度數(shù)C.常量D.字符串

53.設(shè)已包含頭文件<string.h>,下列程序段的運(yùn)行結(jié)果是()。chars1[]={"ACDEF"};chars2[]="ABC";strcpy(s1,s2);printf("%d",strlen(s1));

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

54.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指______。

A.數(shù)據(jù)所占的存儲(chǔ)空間量B.數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示C.數(shù)據(jù)在計(jì)算機(jī)中的順序存儲(chǔ)方式D.存儲(chǔ)在外存中的數(shù)據(jù)

55.下面程序的輸出結(jié)果是()main(){inta=-1,b=4,k;k=(a++<=0)&&(!(b--<=0));prinft("%d%d\n",k,a,b);}

A.003B.012C.103D.112

56.為了提高軟件模塊的獨(dú)立性,模塊之間最好是()。

A.控制耦合B.公共耦合C.內(nèi)容耦合D.數(shù)據(jù)耦合

57.不能與do…while(exp)語(yǔ)句中的(exp)等價(jià)的表達(dá)式是()。

A.(!exp==0)B.(exp>0‖exp<0)C.(exp==0)D.(exp!=0)

58.當(dāng)執(zhí)行以下語(yǔ)句后,函數(shù)strlen(str)返回的值是()staticcharstr[10]={”Change"};

A.10B.7C.6D.11

59.閱讀下面程序段,則執(zhí)行后輸出的結(jié)果是#include"stdio.h"main(){charfun(char,int);chara='A';intb=13;a=fun(a,b);putchar(a);}charfun(chara,intb){chark;k=a+b;returnk;}

A.AB.MC.ND.L

60.下面程序的輸出是______。main(){intx=3,y=6,a=0;while(x++!=(y-=1)){a+=1if(y<x)break;}printf("x=%d,y=%d,=%d\n",x,y,a);}

A.x=4,y=4,a=1B.x=5,y=5,a=1C.x=5,y=4,a=3D.x=5,y=4,a=1

四、選擇題(20題)61.

62.有以下程序:

程序運(yùn)行后的輸出結(jié)果是()。

A.2344B.4332C.1234D.1123

63.在位運(yùn)算中,操作數(shù)每左移兩位,其結(jié)果相當(dāng)于()。

A.操作數(shù)乘以2B.操作數(shù)除以2C.操作數(shù)除以4D.操作數(shù)乘以4

64.

65.

66.

67.

68.若有定義語(yǔ)句:doublex,y,*px,+py;,執(zhí)行Tpx=&x;py=&y之后,正確的輸入語(yǔ)句是()。

69.有以下程序

#include<string.h>

structSTU

{intnum;

floatTotalScore;};

voidf(structSTUp)

{structSTUs[2]={{1047,530},{1048,531}};

p.num=s[1].num;p.TotalScore=s[1].TotalScore;

}

main()

{structSTUs[2]={{2041,730},{2042,731}};

f(s[0]);

printf("%d,%3.0f\n",s[0].num,s[0].TotalScore);

}

程序的運(yùn)行結(jié)果是

A.1047,530

B.1048,531

C.2041,730

D.2042,731

70.

71.將E—R圖轉(zhuǎn)換為關(guān)系模式時(shí),實(shí)體和聯(lián)系都可以表示為()。

A.屬性B.鍵C.關(guān)系D.域

72.

73.在C語(yǔ)言中,函數(shù)返回值的類(lèi)型最終取決于()。

A.函數(shù)定義時(shí)在函數(shù)首部所說(shuō)明的函數(shù)類(lèi)型

B.return語(yǔ)句中表達(dá)式值的類(lèi)型

C.調(diào)用函數(shù)時(shí)主調(diào)函數(shù)所傳遞的實(shí)參類(lèi)型

D.函數(shù)定義時(shí)形參的類(lèi)型

74.

75.有定義:“inta=2,b=3,c=4;”,則下列選項(xiàng)中值為0的表達(dá)式是()。

A.(!a==1)&&(!b==0)B.(a<b)&&!cC.D.1E.a&&bF.aG.H.(b+b)&&(c-a)

76.

77.下列選項(xiàng)中不會(huì)引起二義性的宏定義是()。

A.#defineS(x)x*x

B.#defineS(x)(x)*(x)

C.#defineS(x)(x*x)

D.#defineS(x)((x)*(x))

78.

79.

80.下面描述中錯(cuò)誤的是()。

A.系統(tǒng)總體結(jié)構(gòu)圖支持軟件系統(tǒng)的詳細(xì)設(shè)計(jì)

B.軟件設(shè)計(jì)是將軟件需求轉(zhuǎn)換為軟件表示的過(guò)程

C.數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)庫(kù)設(shè)計(jì)是軟件設(shè)計(jì)的任務(wù)之一

D.PAD圖是軟件詳細(xì)設(shè)計(jì)的表示工具

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:傳人一個(gè)整數(shù)n,計(jì)算如下公式的值。t=1/2-1/3-…-1/n例如,若輸入3,則應(yīng)輸出0.166667。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫(xiě)函數(shù)proc,該函數(shù)的功能是:將放在字符串?dāng)?shù)組中的M個(gè)字符串(每串的長(zhǎng)度

不超過(guò)N),按順序合并組成一個(gè)新的字符串。

例如,若字符串?dāng)?shù)組中的M個(gè)字符串為:

ABCD

BCDEFG

CDEFGHI

則合并后的字符串內(nèi)容應(yīng)該是ABCDBCDEFGCDEFGHl。

注意:部分源程序給出如下。

請(qǐng)勿改動(dòng)main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。

試題程序:

#include<stdio.h>

#include<conio.h>

#defineM3

#defineN20

voidproc(chararr[M][N],char*b)

{

}

voidmain

{

charstr[M][N]={"ABCD","BCDEFG","CDEFGHl"),i;

chararr[100]={"##################"};

printf(”Thestrin9:kn”);

for(i=0;i<M;i++)

puts(str[i]);

printf("\n");

proc(str,arr);

printf("TheAstring:\n");

printf("%S",arr);

printf("\n\n");

}

參考答案

1.A

2.A本題考查了雙重三目運(yùn)算符的用法。例如:表達(dá)式a>b?c:d可以看成,當(dāng)a>b時(shí)取C的值,否則取d的值。在本題中k=a>b?(b>c?1:0):0可以看做:當(dāng)b>c時(shí)為真,則k=a>b?1:0。當(dāng)bb?0:0。也就是說(shuō),當(dāng)a>b并且b>C時(shí),k=1,否則k=0。所以A選項(xiàng)符合題意。

3.D解析:二叉樹(shù)的遍歷分為先序、中序、后序三種不同方式。本題要求后序遍歷,其遍歷順序應(yīng)該為:后序遍歷左子樹(shù)->,后序遍歷右子樹(shù)->,訪問(wèn)根結(jié)點(diǎn)。按照定義,后序遍歷序列是DEBFCA,故答案為D。

4.A函數(shù)的功能是對(duì)數(shù)組某一區(qū)域內(nèi)的元素隔個(gè)求和;a[3]=4,所以從4開(kāi)始進(jìn)行隔個(gè)求和,a[7]=8,即對(duì)4到8的元素隔個(gè)求和,4+6=10。

5.B

6.B題目中的選項(xiàng)都以轉(zhuǎn)義字符“\\”開(kāi)頭,“\\ddd”表示3位八進(jìn)制數(shù)代表的一個(gè)ASCII字符,“\\xhh”表示2位十六進(jìn)制數(shù)代表的一個(gè)ASCII字符。選項(xiàng)A中“089”是不合法的八進(jìn)制數(shù),錯(cuò)誤;選項(xiàng)C、D中“\\0X”或“\\0x”不合法,錯(cuò)誤;選項(xiàng)B表示八進(jìn)制數(shù)012代表的ASCII字符,正確。本題答案為B選項(xiàng)。

7.C解析:在本題運(yùn)行時(shí)主要注意的是當(dāng)i=9時(shí),a[i]=10-9=1:i=8時(shí),a[i]=10-8=2;i=7時(shí),a[i]=10-7=3;……依此類(lèi)推,直到i=0時(shí),a[i]=10-0=10:此時(shí),i的值已變?yōu)?1,判斷for的循環(huán)條件,不成立,然后輸出a[2],a[5],a[8]分別為8,5,2。

8.A

9.A?A)選項(xiàng)中逗號(hào)表達(dá)式先計(jì)算第一表達(dá)式2*x,然后計(jì)算表達(dá)式x+=2的值,即x=x+2即4,整個(gè)逗號(hào)表達(dá)式為第二個(gè)表達(dá)式的值4,所以選A)。B)選項(xiàng)中首先計(jì)算逗號(hào)表達(dá)式中第一一個(gè)表達(dá)式x++,此時(shí)x為3,再執(zhí)行第二個(gè)表達(dá)式2*x=2*3=6,所以逗號(hào)表達(dá)式為第二個(gè)表達(dá)式的值6。C)選項(xiàng)的賦值表達(dá)式可以表示為x=x*(1+x)=2*(1+2)=6。D)選項(xiàng)中的表達(dá)式可以表示為x=x*(x+1)=2*3=6。

10.B

11.C

12.A題干中,定義一個(gè)二維字符數(shù)組v。然后通過(guò)for循環(huán),輸入4個(gè)字符串welcome、you、to、beijing,將其分別存放在v的4個(gè)元素中。數(shù)組v是存放4個(gè)字符串的二維數(shù)組;“**v”表示第1個(gè)字符串的第一個(gè)字符“w”;“*(v+1)”指向第2個(gè)字符串“you”;“v[3]+3”指向第4個(gè)字符串的第3個(gè)字符開(kāi)始后的整個(gè)字符串“jing”;“*(v[2]+1)”表示第3個(gè)宇符串的第2個(gè)字符“o”。故本題答案為A選項(xiàng)。

13.A解析:本題考查的重點(diǎn)是typedef的理解運(yùn)用。C語(yǔ)言允許通過(guò)typedef為數(shù)據(jù)類(lèi)型定義新名字,但是,它并非是生成新的數(shù)據(jù)類(lèi)型,因此選項(xiàng)A是錯(cuò)誤的。

14.C學(xué)號(hào)是學(xué)生表S的主鍵,課號(hào)是課程表C的主鍵,所以選課表SC的關(guān)鍵字就應(yīng)該是與前兩個(gè)表能夠直接聯(lián)系且能唯一定義的學(xué)號(hào)和課號(hào),所以選擇C項(xiàng)。

15.A本題考查了函數(shù)的調(diào)用。首先主函數(shù)定義了兩個(gè)字符型數(shù)據(jù)b和a,給b賦值為字母a.a(chǎn)賦值為字母A,調(diào)用fun(&.b,a)函數(shù),*C=*c十1,a的ASCIl碼值加1后為b,A的ASCIl碼值加1后為B。輸出第一組值,排除C、D選項(xiàng)。B選項(xiàng)的值此時(shí)為小b,排除B選項(xiàng),所以本題答案為A。

16.C解析:該題考查的是實(shí)體間的聯(lián)系。多對(duì)多聯(lián)系(m:n):如果對(duì)于實(shí)體集A中的每個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(shí)體(n≥0)與之聯(lián)系,反之,對(duì)于實(shí)體集B中的每個(gè)實(shí)體,實(shí)體集A中有m個(gè)實(shí)體(m≥0)與之聯(lián)系,則稱(chēng)實(shí)體集A與實(shí)體集B之間是多對(duì)多聯(lián)系,記作m:n。一對(duì)一聯(lián)系(1:1):如果對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中至多有一個(gè)實(shí)體與之有聯(lián)系,反之亦然,則稱(chēng)實(shí)體集A與實(shí)體集B之間是一對(duì)一聯(lián)系,記作1:1。一對(duì)多聯(lián)系(1:n):如果對(duì)于實(shí)體集A中每一個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(shí)體(n≥0)與之聯(lián)系,反之,對(duì)于實(shí)體集B中的每個(gè)實(shí)體,實(shí)體集A中至多只有一個(gè)實(shí)體與之聯(lián)系,則稱(chēng)實(shí)體集A與實(shí)體集B之間是一對(duì)多聯(lián)系,記作1:n。那么根據(jù)題意可知是多對(duì)一聯(lián)系。所以選項(xiàng)C是正確的。

17.DD?!窘馕觥勘究虻腜asswordChar屬性用來(lái)指定文本框是顯示用戶(hù)輸入的字符還是顯示占位符,指定用做占位符的字符。

18.Dfprintf函數(shù)和fscanf函數(shù)都可以讀寫(xiě)文本文件,而fwrite和fread函數(shù)可以讀寫(xiě)二進(jìn)制文件,選項(xiàng)A、C錯(cuò)誤;文件以“r”方式打開(kāi)后,只可以讀取文本數(shù)據(jù),選項(xiàng)B錯(cuò)誤。故本題答案為D選項(xiàng)。

19.D

20.D解析:在對(duì)二維數(shù)組元素賦初值時(shí),可以只對(duì)部分元素賦初值,未賦初值的元素自動(dòng)取0;C語(yǔ)言規(guī)定,對(duì)于二維數(shù)組,只可以省略第1個(gè)方括號(hào)中的常量表達(dá)式,而不能省略第2個(gè)方括號(hào)中的常量表達(dá)式;賦的初值不能多于事先定義好的數(shù)組元素個(gè)數(shù)。

在選項(xiàng)D)賦值表達(dá)式中,對(duì)每一維的元素賦初值應(yīng)用{},而不是()。

21.1515解析:在函數(shù)fun(intx)中定義了局部靜態(tài)整形變量t,并初始化為0。這個(gè)函數(shù)的返回值為t+x。所以在主函數(shù)的for循環(huán)中,5次連續(xù)調(diào)用fun(i),實(shí)現(xiàn)了從1到5連續(xù)數(shù)字的相加運(yùn)算。因而最后結(jié)果等于15。

22.D

23.s[i]&&t[i]或s[i]!='\0'&&t[i]!='\0'!(s[i]-t[i])s[i]&&t[i]或s[i]!='\\0'&&t[i]!='\\0'\r\n!(s[i]-t[i])解析:while后括號(hào)中的判斷條件為兩個(gè)字符串相同位置上的字符相等,且兩個(gè)字符串都沒(méi)有結(jié)束,則循環(huán)。故第一空應(yīng)該填s[i]&&t[i]或其他等價(jià)表達(dá)式。如果兩個(gè)字符串完全相等,則while循環(huán)退出時(shí)s[i]和t[i]的值同時(shí)為0,否則s[i]和t[i]不相等。故表達(dá)式s[i]-t[i]在字符串相等時(shí)為0,不相等時(shí)為非0,所以第二空應(yīng)該填!(s[i]-t[i])就滿(mǎn)足題意了。

24.#include<string.h>str[i]0

25.33解析:本題考查的是C語(yǔ)言逗號(hào)表達(dá)式的相關(guān)知識(shí)。程序在計(jì)算逗號(hào)表達(dá)式時(shí),從左到右計(jì)算由逗號(hào)分隔各表達(dá)式的值,整個(gè)逗號(hào)表達(dá)式的值等于其中最后一個(gè)表達(dá)式的值。本題中,首先i被賦值為2,再自加1,最后i++的值計(jì)算為3。

26.n2+1

27.BB解析:因?yàn)閏是字符類(lèi)型變量,它只能接收一個(gè)字符,所以c=A,字符型變量在參與算術(shù)運(yùn)算的時(shí)候是用其相應(yīng)的ASCII碼參與運(yùn)算的,這樣++c得到字母B的ASCII碼,用putchar函數(shù)輸出是輸出其相應(yīng)的字符,所以是B。

28.p->dataqp->data,q解析:本題考查的是鏈表這一數(shù)據(jù)結(jié)構(gòu)對(duì)結(jié)構(gòu)體變量中數(shù)據(jù)的引用。鏈表的特點(diǎn)是結(jié)構(gòu)體變量中有兩個(gè)域,一個(gè)是數(shù)據(jù),另一個(gè)是指向該結(jié)構(gòu)體變量類(lèi)型的指針,用以指明鏈表的下一個(gè)結(jié)點(diǎn)。

29.a[i][j]+b[i][j]a[i][j]+b[i][j]解析:此題是雙重for循環(huán)結(jié)構(gòu)應(yīng)用在了二維數(shù)組中。外層for循環(huán)用來(lái)控制二維數(shù)組的行,內(nèi)層for循環(huán)控制二維數(shù)組的列。

30.25811142581114解析:本題通過(guò)while和if語(yǔ)句,求得出1~15之間與3取模為2的整數(shù),并依次輸出。

31.3!feof(f1)3\r\n!feof(f1)解析:要實(shí)現(xiàn)文件復(fù)制,需要指定源文件及目的文件,因此在命令行下執(zhí)行程序時(shí)至少要指定兩個(gè)參數(shù),加上程序名本身,故argc的值至少為3,因此第一空應(yīng)填3。while循環(huán)中語(yǔ)句fputc(fgetc(f1),f2);的目的是將f1中的字符依次讀出并寫(xiě)入到f2對(duì)應(yīng)的文件中去,直至文件f1結(jié)束為止,因此第二空為!feof(f1)。

32.11<CR>23<CR>5(<CR代表?yè)Q行)11<CR>23<CR>5(<CR,代表?yè)Q行)解析:本題通過(guò)語(yǔ)句“for(i=2;i<5;i++)a[i]=a[i-2]+a[i-];”將數(shù)組中前面兩項(xiàng)的和賦值給數(shù)組當(dāng)前元素,得到a的值應(yīng)為(1,1,2,3,5)。語(yǔ)句if(i%2==0)pfintf('\\n')是要將數(shù)組中的元素以每行2個(gè)的形式輸出。

33.邏輯邏輯解析:數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式稱(chēng)為數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)或物理結(jié)構(gòu)。

34.continuecontinue解析:continue語(yǔ)句只是結(jié)束本次循環(huán),然后進(jìn)行循環(huán)的條件判定。break語(yǔ)句是終止整個(gè)循環(huán)的執(zhí)行,不再進(jìn)行條件判定。

35.return0或return(0)return1或return(1)return0或return(0)\r\nreturn1或return(1)解析:素?cái)?shù)是指只能被1和其本身整除,不能被其他任何整數(shù)整除的數(shù)。根據(jù)if條件語(yǔ)句,若形參a對(duì)i取余等于0,則形參a可以被其他數(shù)整除,所以第一處填return0;若形參a對(duì)i取余不等于0,則形參s不可以被其他數(shù)整除,所以第二處填return1。

36.*str1或*str1!='\0'或*str1!=0或*str1!=NUL*str1++=*str2++或*str1++=*str2*str2++*str1或*str1!='\\0'或*str1!=0或*str1!=NUL\r\n*str1++=*str2++或*str1++=*str2,*str2++解析:函數(shù)strcat(str1,str2)實(shí)現(xiàn)將字符串str2連接到字符串str1后面,所以首先要找到字符串str1的串尾,根據(jù)C語(yǔ)言的語(yǔ)法規(guī)定,一個(gè)串的串尾—定是—個(gè)隱含字符“\\0”,而在程序中,對(duì)字符串中字符的訪問(wèn)是通過(guò)兩個(gè)指針變量來(lái)完成的,因此要找到字符串str1的串尾,要判斷:str1是否為“\\0”,要找到字符串str2的串尾,要判斷*str2是否為“\\0”,程序中必須以使字符串中字符逐—順序體現(xiàn),所以在題中我們應(yīng)填寫(xiě)“*str1”和“*str1++=*str2++”。

37.繼承繼承

38.55解析:分析程序,當(dāng)a=3;b=4;c=5時(shí),判斷語(yǔ)句a>b不成立,所以不執(zhí)行后面的語(yǔ)句,直接執(zhí)行“printf('%d\\n',c);”語(yǔ)句,輸出c的值,輸出結(jié)果為5。

39.操作系統(tǒng)操作系統(tǒng)解析:數(shù)據(jù)庫(kù)管理系統(tǒng)是幫助用戶(hù)創(chuàng)建和管理數(shù)據(jù)庫(kù)的應(yīng)用程序的集合。因此,數(shù)據(jù)庫(kù)管理系統(tǒng)需要操作系統(tǒng)的支持,為用戶(hù)提供服務(wù)。

40.3010130101解析:注意地址自增與變量自增的區(qū)別。

41.D解析:在數(shù)據(jù)庫(kù)管理系統(tǒng)提供的數(shù)據(jù)語(yǔ)言中,數(shù)據(jù)控制語(yǔ)言負(fù)責(zé)數(shù)據(jù)的完整性、安全性的定義與檢查以及并發(fā)控制、故障恢復(fù)等功能。

42.A解析:本題考查指針變量作函數(shù)形參的問(wèn)題。指針變量作函數(shù)的形參,實(shí)現(xiàn)的是地址傳遞,形參的改變可以影響實(shí)參。fun由數(shù)的功能是將a所指數(shù)組中的內(nèi)容逆置。在main函數(shù)中調(diào)用fun函數(shù)后,實(shí)參數(shù)組s中元素的值變?yōu)椋篴[0]=6、a[1]=5、a[2]=4、a[3]=3、a[4]=2、a[5]=1。

43.A解析:格式控制x表示數(shù)據(jù)按十六進(jìn)制格式輸出(不輸出前導(dǎo)符ox)。本題在執(zhí)行語(yǔ)句m+=n;后,m的值變?yōu)樽帜竎,又因?yàn)樵谳敵鯽-f時(shí),如果格式控制符用X,則以大寫(xiě)字母輸出;如果用x,則以小寫(xiě)字母輸出,故本題答案為A。

44.A解析:在函數(shù)的形參中使用int*類(lèi)型和使用int[]類(lèi)型并無(wú)區(qū)別,兩者都可用宋傳遞數(shù)組名或指針變量,所以func()函數(shù)的形參是兩個(gè)指針a和b,又因?yàn)閎[0]亦可寫(xiě)成*b,所以表達(dá)式b[0]=*a+6也可以寫(xiě)成*b=*a+6,其意思是:將a所指內(nèi)容加上6賦給b所指內(nèi)容。所以主函數(shù)中對(duì)func()的調(diào)用func(&a,b)可看成b[0]=a+6,所以最后b[0]的結(jié)果為6。正確答案為選項(xiàng)A。

45.A解析:按位與運(yùn)算符“&”中參加運(yùn)算的兩位都為1時(shí),其結(jié)果為1,否則結(jié)果為0,或位或運(yùn)算符“|”中參加運(yùn)算的兩位只要有一個(gè)為1,則結(jié)果為1,只有當(dāng)相應(yīng)的兩位都為0結(jié)果才為0。所以最后輸出a和b的值為7和0。

46.A解析:在函數(shù)fun1()中,首先將形參p的內(nèi)容存入臨時(shí)指針q中,然后使用—個(gè)while循環(huán),當(dāng)q所指內(nèi)容不是字符串結(jié)束標(biāo)志'\\0\'時(shí),讓q所指內(nèi)容增1,然后將指針q增1指向下一個(gè)位置。所以函數(shù)fun1()實(shí)現(xiàn)的功能是:將傳入字符串的所有字符自增1。主函數(shù),指針p在被傳入fun1()函數(shù)之前,初始化指向的是寧符數(shù)組a的第4個(gè)元素\'g\',所以最終輸出的結(jié)果應(yīng)該是Prohsbn。故應(yīng)該選擇A。

47.D解析:選項(xiàng)A)的語(yǔ)句表示若a非0,則輸出x的值,否則輸出y的值;選項(xiàng)B)的語(yǔ)句表示如果a等于o,則輸出y的值,否則輸出x的值,與選項(xiàng)A)等價(jià);選項(xiàng)C)的語(yǔ)句表示如果a不等于0,則輸出x,否則輸出y,與選項(xiàng)A)、B)相同;選項(xiàng)D)的語(yǔ)句表示如果a為0,則輸出x,否則輸出y,與前三個(gè)選項(xiàng)都不同。

48.A解析:scanf()函數(shù)的功能是進(jìn)行輸入數(shù)據(jù),它是按格式參數(shù)的要求從終端上把數(shù)據(jù)傳送到地址參數(shù)所指定的內(nèi)存空間中,C語(yǔ)言允許程序員間接地使用內(nèi)存地址,這個(gè)地址是通過(guò)對(duì)變量名“求地址”運(yùn)算得到的,求地址的運(yùn)算符是&,得到的地址是一種符號(hào)地址。本題中定義了整型變量a和一個(gè)指向整型數(shù)據(jù)的指針變量pa,并定義pa是一個(gè)存放a的地址的變量。選項(xiàng)B中應(yīng)該將a改為&a;選項(xiàng)C應(yīng)該將&pa改為pa,因?yàn)閜a已經(jīng)表示存放a的地址;選項(xiàng)D中*pa表示的是指針pa所指向存儲(chǔ)空間的變量的值,而不是一個(gè)地址。

49.C

50.B解析:本題考查while語(yǔ)句的使用。本題考查邏輯非運(yùn)算符和不等于運(yùn)算符的區(qū)別,邏輯非運(yùn)算符'!'的優(yōu)先級(jí)大于不等于運(yùn)算符'!='的優(yōu)先級(jí)。

51.D解析:電子郵件是利用Internet網(wǎng)傳送信件,不是檢索服務(wù),由于信件只發(fā)給收信人,所以不是公告信息,并不是一發(fā)信就必須要收信人立即接收,而是信件存放在郵箱中,收信人在需要的時(shí)候再取出。

52.D

53.A解析:頭文件<string.h>是字符串處理函數(shù)對(duì)應(yīng)的頭文件,要想調(diào)用C語(yǔ)言的庫(kù)函數(shù)時(shí),都要在程序中嵌入該函數(shù)對(duì)應(yīng)的頭文件,否則無(wú)法使用庫(kù)函數(shù)。

strcpy(s1,s2)把s2中的字符串復(fù)制到s1中,所以結(jié)果就為s2的長(zhǎng)度。

54.B解析:數(shù)據(jù)元素在計(jì)算機(jī)存儲(chǔ)空間中的位置關(guān)系與它們的邏輯關(guān)系不一定是相同的,而且一般不可能相同。數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式稱(chēng)為數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu),也稱(chēng)數(shù)據(jù)的物理結(jié)構(gòu)。

55.C

56.D解析:耦合性與內(nèi)聚性是模塊獨(dú)立性的兩個(gè)定性標(biāo)準(zhǔn),是互相關(guān)聯(lián)的。在程序設(shè)計(jì)中,各模塊間的內(nèi)聚性越強(qiáng),則耦合性越弱。一般較優(yōu)秀的軟件設(shè)計(jì),應(yīng)盡量做到高內(nèi)聚、低耦合,有利于提高模塊的獨(dú)立性。

57.C解析:本題考查.do…while循環(huán)。在do…while循環(huán)中,當(dāng)表達(dá)式的值為非零(真)時(shí),執(zhí)行循環(huán),不能與其等價(jià)的是為零的表達(dá)式,即(exp==0)。

58.C

59.C解析:函數(shù)說(shuō)明語(yǔ)句中的類(lèi)型名必須與函數(shù)返回值的類(lèi)型一致。本題實(shí)現(xiàn)的是在字符,A,的ASCII碼值上加上一個(gè)常數(shù),使之變成另一個(gè)ASCII碼值,從而輸出字符。

60.D解析:注意的是x++中x值的引用時(shí),這里應(yīng)當(dāng)是先引用,后自加,具體執(zhí)行過(guò)程如下:第—次while循環(huán):條件為真,執(zhí)行a=a+1=1;此時(shí),x的值已為4,判斷y<x不成立,繼續(xù)執(zhí)行循環(huán);

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論