2022年湖南省郴州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)_第1頁(yè)
2022年湖南省郴州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)_第2頁(yè)
2022年湖南省郴州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)_第3頁(yè)
2022年湖南省郴州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)_第4頁(yè)
2022年湖南省郴州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩103頁(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)介

2022年湖南省郴州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.若以下選項(xiàng)中的變量全部為整型變量,且已正確定義并賦值,則語(yǔ)法正確的switch語(yǔ)句是()。

A.switch(a+9){casecl:y=a-b;casec2:y=a+b;}

B.switcha*b{casel0:x=a+b;default:y=a-b;}

C.switch(a+b){casel:case3:y=a+b;break;case0:case4:y=a-b;}

D.switch(a*a+b*b){default:break;case3:y=a+b;break;case2:y=a-b;break;}

2.有下列程序:程序執(zhí)行后的輸出結(jié)果是()。A.17,17,49,49B.17,29,49,49C.29,29,49,49D.49,49,49,49

3.已知a,b均被定義為double型,則表達(dá)式:a=5/2的值為()。

A.1B.3C.3.0D.2.5

4.下列敘述中正確的是()。

A.continue語(yǔ)句的作用是使程序的執(zhí)行流程跳出包含它的所有循環(huán)

B.break語(yǔ)句只能用在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)

C.在循環(huán)體內(nèi)使用break語(yǔ)句和continue語(yǔ)句的作用相同

D.break語(yǔ)句只能用于switch語(yǔ)句體中

5.

6.對(duì)兩個(gè)數(shù)組a和b進(jìn)行下列初始化:charm[]1="l234567":charn[]={1,2,3,4,5,6,7);則下列敘述正確的是()。A.數(shù)組m與數(shù)組n完全相同B.數(shù)組m與數(shù)組n長(zhǎng)度相同C.數(shù)組m比數(shù)組n長(zhǎng)1D.數(shù)組m與數(shù)組n中都存放字符串

7.若進(jìn)棧序列為1,2,3,4,進(jìn)棧過(guò)程中可以出棧,則下列不可能的一個(gè)出棧序列是______。

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

8.以下程序的運(yùn)行結(jié)果是()。#include<stdio.h>main(){st,uctdate{intyear,month,day;}today;printf("%d\n",sizeof(structdate));}

A.6B.8C.10D.12

9.若有定義“floata=25,b,*p=&b;”,則下列對(duì)賦值語(yǔ)句“*p=a;”和“p=&a;”的正確解釋為()。

A.兩個(gè)語(yǔ)句都是將變量a的值賦予變量P

B.*p=a是使P指向變量a,而p=&a是將變量的值賦予變量指針P

C.*p=a是將變量a的值賦予變量b,而&a是使P指向變量a

D.兩個(gè)語(yǔ)句都是使P指向變量a

10.以下關(guān)于typedef的敘述錯(cuò)誤的是()。A.用tyFedef可以增加新類(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è)新名,通??梢栽黾映绦虻目勺x性

11.下列結(jié)構(gòu)體的定義語(yǔ)句中錯(cuò)誤的是()。

A.structord{intx;inty;intz;}structorda;

B.structord{intx;inty;intz;};structorda;

C.structord{intx;inty;intz;}a;

D.struct{intx;inty;intz;}a;

12.下列程序的輸出結(jié)果是______。#include<stdio.h>main(){inti,j,k,a=3,b=2;i=(--a==b++)?--a;++b;j=a++;k=b;printf("i=%d,j=%d,k=%d\n",i,j,k);}

A.i=2,j=1,k=3B.i=1,j=1,k=2C.i=4,j=2,k=4D.i=1,j=1,k=3

13.

14.以下選項(xiàng)中非法的字符常量是()。

A.\101B.\65C.\xffD.\019

15.有以下程序:#include<stdio.h>main(){inta=-2,b=2;for(;++a&&--b;)printf(“%d,%d\n”,a,b);}程序運(yùn)行后的輸出結(jié)果是()。

A.0,1B.0,0C.1,-1D.0,2

16.下列敘述中正確的是()。

A.可以用關(guān)系運(yùn)算符比較字符串的大小

B.空字符串不占用內(nèi)存,其內(nèi)存空間大小是0

C.兩個(gè)連續(xù)的單引號(hào)是合法的字符常量

D.兩個(gè)連續(xù)的雙引號(hào)是合法的字符串常量

17.

18.數(shù)據(jù)庫(kù)系統(tǒng)的核心是()。

A.數(shù)據(jù)模型B.數(shù)據(jù)庫(kù)管理系統(tǒng)C.數(shù)據(jù)庫(kù)D.數(shù)據(jù)庫(kù)管理員

19.已知字符A的ASCII值是65,字符變量c1的值是‘A’,c2的值是‘D’,則執(zhí)行語(yǔ)句“printf(“%d,%d”,c1,c2-2);”的輸出結(jié)果是()。

A.65,68B.A,68C.A,BD.65,66

20.以下敘述正確的是

A.continue語(yǔ)句的作用是結(jié)束整個(gè)循環(huán)的執(zhí)行

B.只能在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)使用break語(yǔ)句

C.在循環(huán)體內(nèi)使用break語(yǔ)句或continue語(yǔ)句的作用相同

D.從多層循環(huán)嵌套中退出時(shí),只能使用goto語(yǔ)句

二、2.填空題(20題)21.數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式分別為_(kāi)_____模式、內(nèi)部級(jí)模式與外部級(jí)模式。

22.下列軟件系統(tǒng)結(jié)構(gòu)圖的寬度為[]。

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

main()

{chars[]="ABCD",*p;

for(p=s+1;p<s+4;p++)printf("%s\n",p);}

24.設(shè)a、b、c為整數(shù),且a=2、b=3、c=4,則執(zhí)行完語(yǔ)句a*=18+(b++)-(++c);后,a的值是【】。

25.以下程序運(yùn)行后的輸出結(jié)果是【】。

main()

{

chara[]="Language",b[]="Programe";

char,p1,*p2;

intk;

p1=a,p2=b;

for(k=0;k<=7;k++)

if*(p1+k)==*(p2+k))printf("%c",*(p1+k));

}

26.以下程序運(yùn)行后的輸出結(jié)果是【】。

main()

{inti,m=0,n=0,k=0;

for(i=9;i<=11;i++)

switch(i/10)

{case0:m++;n++;break;

case1:n++;break;

default:k++;n++;

}

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

}

27.以下程序運(yùn)行后的輸出結(jié)果是______。

inta=5;

fun(intB)

{staticinta=10;

a+=b++;

printf("%d",A);

}

main()

{intc=20;

fun(C),

a+=C++;

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

}

28.以下程序運(yùn)行后的輸出結(jié)果是【】。

mam()

{

chara[]="123456789",*p;

inti=0;

p=a;

while(*p)

{

if(i%2=0)

*p='*';

p++;i++;

}

puts(A);

}

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

#defineMAX(x,y)(x)>(y)?(x):(y)

main()

{inta=5,b=2,c=3,d=3,t;

t=MAX(a+b,e+d)*10;

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

}

30.一個(gè)項(xiàng)目具有一個(gè)項(xiàng)目主管,一個(gè)項(xiàng)目主管可管理多個(gè)項(xiàng)目,則實(shí)體集“項(xiàng)目主管”與實(shí)體集“項(xiàng)目”的聯(lián)系屬于【】的聯(lián)系。

31.隊(duì)列是限定在表的一端進(jìn)行插入和在另一端進(jìn)行刪除操作的線性表。允許插入的一端稱(chēng)作______。

32.數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu),線性鏈表屬于【】。

33.通常,將軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過(guò)程稱(chēng)為【】。

34.若s是int型變量,且s=8,則s%3+(s+1)%3表達(dá)式的值為()。

35.不改變關(guān)系表中的屬性個(gè)數(shù)但能減少元組個(gè)數(shù)的是()。

36.軟件結(jié)構(gòu)是以【】為基礎(chǔ)而組成的一種控制層次結(jié)構(gòu)。

37.若有定義inta[4][4]={{1,2,3,4},{0},{4,6,8,10},{1,3,5,7}},則初始化后,a[1][1]得到的初值是______。

38.在關(guān)系模型中,二維表的行稱(chēng)為_(kāi)_____。

39.買(mǎi)來(lái)一張新盤(pán)后,在存入文件前,必須進(jìn)行【】處理。

40.下列程序的功能是將字符串s中所有的字符c刪除。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{chars[80];

inti,j;

gets(s);

for(i=j=0;s[i]!='\0';i++)

if(s[i]!='c')

s[j]='\0';

puts(s);

}

三、1.選擇題(20題)41.若定義函數(shù)int*func(),則函數(shù)func的返回值為()。

A.一個(gè)實(shí)數(shù)B.一個(gè)指向整型變量的指針C.一個(gè)指向整型函數(shù)的指針D.一個(gè)整型函數(shù)的入口地址

42.串的長(zhǎng)度是______。A.A.串中不同字符的個(gè)數(shù)

B.串中不同字母的個(gè)數(shù)

C.串中所含字符的個(gè)數(shù)且字符個(gè)數(shù)大于零

D.串中所含字符的個(gè)數(shù)

43.設(shè)關(guān)系R1有r1個(gè)元組,關(guān)系R2有r2個(gè)元組,則關(guān)系R1和R2連接后的結(jié)果關(guān)系的元組數(shù)目是______個(gè)。

A.r1+r2B.r1×r2C.≤r1×r2D.≥r1×r2

44.結(jié)構(gòu)化程序設(shè)計(jì)所規(guī)定的三種基本控制結(jié)構(gòu)是()

A.輸入、處理、輸出B.樹(shù)形、網(wǎng)形、環(huán)形C.順序、選擇、循環(huán)D.主程序、子程序、函數(shù)

45.下列有關(guān)數(shù)據(jù)庫(kù)的描述,正確的是A.數(shù)據(jù)處理是將信息轉(zhuǎn)化為數(shù)據(jù)的過(guò)程

B.數(shù)據(jù)的物理獨(dú)立性是指當(dāng)數(shù)據(jù)的邏輯結(jié)構(gòu)改變時(shí),數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)不變

C.關(guān)系中的每一列稱(chēng)為元組,一個(gè)元組就是一個(gè)字段

D.如果一個(gè)關(guān)系中的屬性或?qū)傩越M并非該關(guān)系的關(guān)鍵字,但它是另一個(gè)關(guān)系的關(guān)鍵字,則稱(chēng)其為本關(guān)系的外關(guān)鍵字

46.以下能正確定義一維數(shù)組的選項(xiàng)是A.intnum[];

B.#defineN100intnum[N];

C.intnum[0..100];

D.intN=100;intnum[N];

47.標(biāo)準(zhǔn)庫(kù)函數(shù)fgets(s,n,file)的功能是()。

A.從文件file中讀取長(zhǎng)度為n的字符串存入字符數(shù)組s中

B.從文件file中讀取長(zhǎng)度不超過(guò)n-1個(gè)字符的字符串放到字符數(shù)組s中

C.從文件file中讀取n個(gè)字符串存入字符數(shù)組s中

D.從文件file中讀取長(zhǎng)度為n-1個(gè)字符的字符串存入字符數(shù)組s中

48.下述函數(shù)功能是______。intfunr(char*x){char*y=x;while(*y++);returny-x-1;}

A.求字符串的長(zhǎng)度B.求字符串存放的位置C.比較兩個(gè)字符串的大小D.將字符串x連接字符串y后面

49.下述關(guān)于數(shù)據(jù)庫(kù)系統(tǒng)的敘述中,正確的是()。

A.數(shù)據(jù)庫(kù)系統(tǒng)減少了數(shù)據(jù)冗余

B.數(shù)據(jù)庫(kù)系統(tǒng)避免了一切冗余

C.數(shù)據(jù)庫(kù)系統(tǒng)中數(shù)據(jù)的一致性是指數(shù)據(jù)類(lèi)型一致

D.數(shù)據(jù)庫(kù)系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù)

50.有以下程序:#include<stdio.h>main(){inti=1,j=2,k=3;if(i++==1&&(++j==3‖k++==3))printf("%d%d%d\n",i,j,k);}程序運(yùn)行后的輸出結(jié)果是()。

A.123B.234C.223D.233

51.下列程序的輸出結(jié)果是______。#include<stdio.h>#defineFUDGE(y)2.84+y#definePR(a)printf("%d",(int)(a))#definePRINTl(a)PR(a);putchar('\n')main(){intx=2;PRINT1(FUDGE(5)*x);}

A.11B.12C.13D.15

52.設(shè)a、b、c、d、m、n均為int型變量,且a=5、b=6、c=7、d=8、m=2、n=2,則運(yùn)算后,n的值為_(kāi)_____。

A.0B.1C.2D.3

53.軟件需求分析階段的工作,可以分為4個(gè)方面:需求獲取、需求分析、編寫(xiě)需求規(guī)格說(shuō)明書(shū)以及()。

A.階段性報(bào)告B.需求評(píng)審C.總結(jié)D.都不正確

54.有如下程序main(){charch[2][5]={"6937","8254"},*p[2];inti,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';j+=2)s=10*s+p[i][j]-'0';printf("%d\n",s);}該程序的輸出結(jié)果是

A.69825B.63825C.6385D.693825

55.有以下語(yǔ)句:intb;charc[10];,則正確的輸入語(yǔ)句是______。

A.scanf("%d%s",&b,&c);

B.scanf("%d%s",&b,c);

C.scanf("%d%s",b,c);

D.scanf("%d%s",b,&c);

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

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

57.一個(gè)源文件中的外部變量的作用域?yàn)?)。

A.本文件的全部范圍B.本程序的全部范圍C.本函數(shù)的全部范圍D.從定義該變量的位置開(kāi)始到本文件結(jié)束

58.設(shè)只是一個(gè)二元關(guān)系,S是一個(gè)三元關(guān)系,則下列運(yùn)算中正確的是()。

A.R-SB.RX×SC.R∩SD.R∪S

59.以下不能定義為用戶(hù)標(biāo)識(shí)符的是()。

A.scanfB.VoidC.3comD.int

60.變量m的值為8,m的地址為1010,若欲使p為指向m的指針變量,則下列賦值正確的是()。

A.&m=8B.*p=8C.*p=1010D.p=&m

四、選擇題(20題)61.有以下程序:

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

A.b,B"b,AB.b,B,B,AC.a,B,B,aD.a,B,a,B

62.有如下程序段

voidfun(int*a,int*b)

{int*k;

k=a;a=b;b=k;

}

main()

{inta=3,b=6,*x=&a,*y=&b;

fun(x,y);

printf("%d%d",a,b);

}

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

B.36

C.編譯出錯(cuò)

D.00

63.專(zhuān)門(mén)的關(guān)系運(yùn)算不包括下列的()運(yùn)算。

A.連接運(yùn)算B.選擇運(yùn)算C.投影運(yùn)算D.并運(yùn)算

64.以下不能輸出字符A的語(yǔ)句是()。(注:字符A的ASCIl碼值為65,字符a的ASCIl碼值為97)

65.下列不屬于過(guò)程設(shè)計(jì)工具中圖形工具的是()。

A.N—SB.PADC.程序流程圖D.PDL

66.下列函數(shù)的功能是()。

A.將a所指字符串賦給b所指空間

B.使指針b指向a所指字符串

C.將a所指字符串和b所指字符串進(jìn)行比較

D.檢查a和b所指字符串中是否有‘、O’

67.

68.有三個(gè)關(guān)系R、S和t如下:由關(guān)系R和s通過(guò)運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為()。

A.笛卡兒積B.交C.并D.自然連接

69.有以下程序:

程序執(zhí)行后的輸出結(jié)果是()。

A.5,11B.5,5C.11,11D.11,5

70.

71.有如下程序段

structabc

{inta,b,c,s;};

main()

{structabcs[2]={{1,2,3},{4,5,6}};intt;

t=s[0].a+s[1].b;

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

}

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

A.5B.6

C.7D.8

72.

73.設(shè)fun函數(shù)的定義形式為

voidfun(charch,floatx){…}

則下列對(duì)函數(shù)fun的調(diào)用語(yǔ)句中,正確的是()。A.A.fun("abc",3.0);B.t=fun('D'.16.5);

C.fun('65',2.8);

D.fun(32,32);

74.有以下程序:

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

A.0987654321

B.4321098765

C.5678901234

D.0987651234

75.以下程序的輸出結(jié)果是()。main(){inti,a[4][4]={{1,3,5),{2,4,6},{3,5,7}};printf("%(1%d%d%d\n".a(chǎn)[O][3],a[1][2],a[2][1],a[3][0]);}A.0650B.1470C.5430D.輸出值不定

76.

77.有以下程序:

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

A.2,3,1,6,8,7,5,4,10,9,

B.3,4,2,7,9,8,6,5,11,10,

C.2,4,3,9,12,12,11,11,18,9,

D.1,2,3,6,8,7,5,4,10,9,

78.(10)下列模式中,能夠給出數(shù)據(jù)庫(kù)物理存儲(chǔ)結(jié)構(gòu)與物理存取方法的是()

A.內(nèi)模式

B.外模式

C.概念模式

D.邏輯模式

79.

80.若整型變量a、b、c、d中的值依次為2、2、3、4,則條件表達(dá)式a<b?a:c<d?c:d的值是()。A.A.1B.2C.3D.4

五、程序改錯(cuò)題(1題)81.已知一個(gè)數(shù)列,從0項(xiàng)開(kāi)始的前3項(xiàng)為0、0、1,以后的各項(xiàng)都是其相鄰的前3項(xiàng)之和。下列給定的程序中,函數(shù)proc()的功能是:計(jì)算并輸出該數(shù)列前n項(xiàng)的平方根之和sum。n的值通過(guò)形參傳入。例如,當(dāng)n=11時(shí),程序的輸出結(jié)果應(yīng)為32.197745。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫(xiě)函數(shù)proc(),它的功能是:求出1~1000中能被5或13整除,但不能同時(shí)被5和13整除的所有整數(shù),并將它們放在arr所指的數(shù)組中,通過(guò)n返回這些數(shù)。注意:部分源程序給H{如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:

參考答案

1.D選項(xiàng)A,當(dāng)cl和c2相等時(shí),不成立;選項(xiàng)B,a*b要用括號(hào)括起來(lái);選項(xiàng)C,case與后面的數(shù)字用空格隔開(kāi)。

2.B對(duì)于題干中的宏,替換如下:S1(a+b,a+b),&+1>)等價(jià)于a+b*a+b,即2+5*2+5,等于17;S1(a+b,b+a),等價(jià)于a+b*b+a,即2+5*5+2,等于29;S2(a+b,a+b)等價(jià)于(a+b)*(a+b),即(2+5)*(2+5),等于49;S2(a+b,b+a)等價(jià)于(a+b)*(b+a),即(2+5)*(5+2),等于49。本題答案為B選項(xiàng)。

3.D

4.Bcontinue語(yǔ)句的作用是跳過(guò)循環(huán)體中剩余的語(yǔ)句而進(jìn)行下一次循環(huán),所以A選項(xiàng)錯(cuò)誤。break語(yǔ)句的作用是終止正在執(zhí)行的switch語(yǔ)句體,跳出switch語(yǔ)句體或者強(qiáng)制終止當(dāng)前循環(huán),從當(dāng)前執(zhí)行的循環(huán)中跳出,所以C、D選項(xiàng)錯(cuò)誤。故本題答案為B選項(xiàng)。

5.A

6.C在m數(shù)組中賦值的是字符串,其長(zhǎng)度為7,末尾有結(jié)束符\0,故字節(jié)數(shù)為8,而n數(shù)組中賦的是字符,其長(zhǎng)度為7,故C選項(xiàng)正確。

7.C解析:棧是一種后進(jìn)先出表,選項(xiàng)C中,先出棧的是3,說(shuō)明此時(shí)棧內(nèi)必然有1,2,由于1先于2進(jìn)淺,所以1不可能在2之前出棧,故選項(xiàng)C這種出棧序列是不可能的。

8.A解析:結(jié)構(gòu)體變量的長(zhǎng)度是其內(nèi)部成員總長(zhǎng)度之和,在本題中,structdate中包含year,month,day三個(gè)整型變量。通常一個(gè)整型變量占2個(gè)字節(jié),因此,用sizeof求得該結(jié)構(gòu)體變量的長(zhǎng)度為6個(gè)字節(jié)。

9.C“P”是指針變量,指向一個(gè)地址:“*P”為P指針?biāo)赶虻刂返膬?nèi)容“&”是取變量地址。

10.A用typedef沒(méi)有增加新類(lèi)型,所以選擇A)。

11.AA選項(xiàng)錯(cuò)誤,在定義結(jié)構(gòu)體語(yǔ)句后少了分號(hào)。故本題答案為A選項(xiàng)。

12.D

13.A

14.D在選項(xiàng)中,\\019,以0開(kāi)頭的數(shù)都為八進(jìn)制數(shù),而八進(jìn)制的表示數(shù)字是0~7,所以答案選擇D。

15.A在語(yǔ)句“for(;++a&&--b;)”中,for循環(huán)的表達(dá)式1和表達(dá)式3為缺省項(xiàng)。首先判斷條件表達(dá)式“b”。當(dāng)“a=-2,b=2”時(shí),第1次執(zhí)行“++a”和“--b”,條件表達(dá)式為真,循環(huán)條件成立。第2次執(zhí)行“++a”為0,由于運(yùn)算符,當(dāng)?shù)?個(gè)條件為假時(shí),不執(zhí)行第2個(gè)條件,因此“b=1”,發(fā)生短路,“--b”不再執(zhí)行。因此輸出的最終值為0,1。故本題答案為A選項(xiàng)。

16.D比較兩個(gè)字符串大小用函數(shù)strcomp(S,t),空字符串有結(jié)束符,所以也要占用字節(jié),兩個(gè)雙引號(hào)表示的是空字符串。

17.A

18.B解析:數(shù)據(jù)庫(kù)管理系統(tǒng)是數(shù)據(jù)庫(kù)系統(tǒng)的核心,是負(fù)責(zé)數(shù)據(jù)庫(kù)的建立、使用和維護(hù)的軟件。數(shù)據(jù)庫(kù)管理系統(tǒng)建立在操作系統(tǒng)之上,實(shí)施對(duì)數(shù)據(jù)庫(kù)的統(tǒng)一管理和控制。用戶(hù)使用的各種數(shù)據(jù)庫(kù)命令以及應(yīng)用程序的執(zhí)行,最終都必須通過(guò)數(shù)據(jù)庫(kù)管理系統(tǒng)。另外,數(shù)據(jù)庫(kù)管理系統(tǒng)還承擔(dān)著數(shù)據(jù)庫(kù)的安全保護(hù)工作,按照數(shù)據(jù)庫(kù)管理員所規(guī)定的要求,保證數(shù)據(jù)庫(kù)的完整性和安全性。

19.D輸出時(shí)以%d整型格式輸出,所以輸出字符變量c1的值為65,c2-2的值為68-2,即66。故本題答案為D選項(xiàng)。

20.B解析:continue是結(jié)束本次循環(huán),直接進(jìn)入到下次循環(huán)中,break用于循環(huán)語(yǔ)句中的作用是直接跳出本層循環(huán),能從多層循環(huán)中退出的語(yǔ)句除了goto語(yǔ)句,exit,return等語(yǔ)句也能直接跳出多層循環(huán)。注意:continue和break語(yǔ)句在while語(yǔ)句中的作用。

21.概念(或概念級(jí))概念(或概念級(jí))

22.33解析:軟件系統(tǒng)結(jié)構(gòu)圖的寬度:整體控制跨度(最大模塊數(shù)的層)的表示。

23.BCDCDDBCD\r\nCD\r\nD解析:本題考查指向字符串的指針的運(yùn)算方法。指針變量p首先指向字符串中的第一個(gè)字符A,執(zhí)行p=s+1后,p指向字符串中的第二個(gè)字符B,然后輸出值'BCD'并換行,依次執(zhí)行循環(huán)語(yǔ)句。

24.3232解析:b++是先使用b的值參加運(yùn)算,再對(duì)b加1。++c是先對(duì)c加1,再使用c的值參加運(yùn)算。a*=18+(b++)-(++c)等價(jià)于a=a*(18+(b++)-(++c))則a=2*(18+3-5)=32。

25.gaegae解析:本題定義了兩個(gè)字符串?dāng)?shù)組a[],b[],字符型指針變量p1和p2,且分別指向字符串?dāng)?shù)組a和b,抽打for循環(huán),當(dāng)if(*(p1+k)==*(p2+k))條件為真,執(zhí)行輸出*(p1+k)對(duì)應(yīng)的字符。即當(dāng)k=0時(shí),*(p1+k)對(duì)應(yīng)的字符串?dāng)?shù)組a中的字符L,*(p2+k)對(duì)應(yīng)的字符串?dāng)?shù)組b中字符P,因此if(*(p1+k)==*(p2+k))條件為假,不執(zhí)行printf語(yǔ)句,依此類(lèi)推,將字符串?dāng)?shù)組a和b中對(duì)應(yīng)位置上的字符——比較,如果對(duì)應(yīng)位置上的字符相同,則輸出該字符。

26.130130解析:本題主函數(shù)中用了一個(gè)for循環(huán),循環(huán)了3次:當(dāng)i=9時(shí),i/10=0,執(zhí)行switch語(yǔ)句中case0分支,m和n的值各增1,變?yōu)?和1,然后遇到break語(yǔ)句,退出switch語(yǔ)句;當(dāng)i=10和11時(shí),i/10都等于1,執(zhí)行switch語(yǔ)句中的case1分支,兩次使n增1,變?yōu)?,退出switch語(yǔ)句。故該空格處應(yīng)該填130。

27.30253025解析:本題考核的知識(shí)點(diǎn)是變量的存儲(chǔ)屬性和算術(shù)運(yùn)算的應(yīng)用。本題涉及了自動(dòng)變量、靜態(tài)變量和外部變量。外部變量是定義在所有函數(shù)之外的變量,本題中inta=5定義了一個(gè)外部變量a,它是一個(gè)全局變量,即作用域是從定義的位置開(kāi)始到本文件的結(jié)束;靜態(tài)變量的存儲(chǔ)空間在程序的整個(gè)運(yùn)行期間是固定的(static),本題函數(shù)fun()中staticinta=10定義個(gè)一個(gè)靜態(tài)變量a,此靜態(tài)變量a是個(gè)靜態(tài)的局部變量,即它的值只能在本函數(shù)中使用;自動(dòng)變量是C程序中使用最多的一種變量,它的建立和撤消都是由系統(tǒng)在程序執(zhí)行過(guò)程中自動(dòng)進(jìn)行的,auto是自動(dòng)變量的存儲(chǔ)類(lèi)別標(biāo)識(shí)符,如果省略auto,系統(tǒng)隱含認(rèn)為此變量為auto,本題中main()中intc=20定義了一個(gè)自動(dòng)變量c,此自動(dòng)變量c是個(gè)靜態(tài)的局部變量.算術(shù)運(yùn)算中a+=b++相當(dāng)于a=a+b,b=b+1.所以,在第一個(gè)ptine('%d',a)中a=a+b=10+20=30,第二個(gè)printf('%d',a)中a=a+c=5+20=25,即輸出3025。

28.*2*4*6*8**2*4*6*8*解析:程序中定義了一個(gè)字符數(shù)組a,并初始化為123456789,接著定義了一個(gè)指針p并讓它指向數(shù)組a,緊接著執(zhí)行了一個(gè)while循環(huán),此循環(huán)的作用是:當(dāng)i為偶數(shù)時(shí),將“*”賦給a[i],p指向數(shù)組末尾,循環(huán)結(jié)束,此時(shí)數(shù)組中a[0]、a[2]、a[4]、a[6]和a[8]的值都為“*”,所以最后調(diào)用puts()函數(shù)輸出的a的值為*2*4*6*8*

29.77解析:在C語(yǔ)言中,宏定義是直接替換的,所以在對(duì)表達(dá)式MAX(a+b,c+d)*l0進(jìn)行替換后,表達(dá)式變?yōu)?a+b)>(c+d)?(a+b):(c+d)*10。在這個(gè)條件表達(dá)式中,(a+b)>(c+d)為真,所以用(a+b)的值作為整個(gè)表達(dá)式的值(否則用(c+9d)*10)的值作為整個(gè)表達(dá)式的值),而(a+b)的值為7。所以整個(gè)表達(dá)式的值為7。

30.一對(duì)多一對(duì)多解析:實(shí)體集“項(xiàng)目主管”與實(shí)體集“項(xiàng)目”的聯(lián)系屬于一對(duì)多的聯(lián)系。

31.隊(duì)尾隊(duì)尾解析:在隊(duì)列中,允許插入的一端叫做“隊(duì)尾”,允許刪除的一端叫做“隊(duì)頭”。

32.存儲(chǔ)結(jié)構(gòu)

33.軟件生命周期軟件生命周期解析:軟件產(chǎn)品從考慮其概念開(kāi)始,到該軟件產(chǎn)品不能使用為止的整個(gè)時(shí)期都屬于軟件生命周期。一般包括可行性研究與需求分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試、交付使用以及維護(hù)等活動(dòng)。

34.22解析:考查基本表達(dá)式的計(jì)算,“%”運(yùn)算符的功能是取余。題中條件s=8,則s%3=2,(s+1)%3=9%3=0,所以表達(dá)式s%3+(s+1)%3=2+0=2。

35.選擇選擇解析:關(guān)系數(shù)據(jù)庫(kù)的專(zhuān)門(mén)關(guān)系運(yùn)算包括選擇、投影和連接3種,其中選擇不改變關(guān)系表中的屬性個(gè)數(shù)但能減少元組個(gè)數(shù)。

36.模塊模塊

37.00解析:二維數(shù)組可以看成是按矩陣形式排列的,題目中給二維數(shù)組賦初值是按行分段賦值的,a[4][4]可以分解為4個(gè)一維數(shù)組,其數(shù)組名分別為a[0]、a[1]、a[2]、a[3],這4個(gè)一維數(shù)組都有4個(gè)元素,a[0]的元素為a[0][0]、a[0][1]、a[0][2]、a[0][3]。

38.元組元組解析:在關(guān)系型數(shù)據(jù)庫(kù)中,用二維表來(lái)表示關(guān)系,二維表的表名即關(guān)系名,二維表的行稱(chēng)為關(guān)系的元組,二維表的列,稱(chēng)為關(guān)系的屬性。

39.格式化(或初始化、FORMAT)格式化(或初始化、FORMAT)

40.S[j++]=s[i]S[j++]=s[i]解析:循環(huán)開(kāi)始后如果數(shù)組s中儲(chǔ)存值與字符c相同,則i++直接跳過(guò)當(dāng)前值;如果不相同,則將當(dāng)前值賦予數(shù)組指定位置,并通過(guò)j++將下標(biāo)加1,指向下一元素要存儲(chǔ)的位置。

41.B解析:本題考考查的是指針函數(shù)。指針函數(shù)定義的基本格式為:類(lèi)型說(shuō)明符*函數(shù)名()。其中,“類(lèi)型說(shuō)明符”表示返回的指針。值所指向的數(shù)據(jù)類(lèi)型。

42.D解析:串的長(zhǎng)度指的是串中字符的個(gè)數(shù),且其字符個(gè)數(shù)可以為零。選項(xiàng)D正確。

43.C

44.C

45.D數(shù)據(jù)處理是指將數(shù)據(jù)轉(zhuǎn)換成信息的過(guò)程,故選項(xiàng)A敘述錯(cuò)誤。數(shù)據(jù)的物理獨(dú)立性是指數(shù)據(jù)的物理結(jié)構(gòu)的改變,不會(huì)影響數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),故選項(xiàng)B敘述錯(cuò)誤。關(guān)系中的行稱(chēng)為元組,對(duì)應(yīng)存儲(chǔ)文件中的記錄,關(guān)系中的列稱(chēng)為屬性,對(duì)應(yīng)存儲(chǔ)文件中的字段,故選項(xiàng)C敘述錯(cuò)誤。所以本題選D。

46.B解析:選項(xiàng)A定義數(shù)組時(shí)省略了長(zhǎng)度,而C語(yǔ)言中規(guī)定,只有在定義并同時(shí)進(jìn)行初始化時(shí),數(shù)組的長(zhǎng)度才可以省略,數(shù)組的長(zhǎng)度為初始化時(shí)候的成員個(gè)數(shù),故選項(xiàng)A錯(cuò)誤;在C語(yǔ)言中規(guī)定,數(shù)組的長(zhǎng)度必須是一個(gè)整數(shù)或整型常量表達(dá)式,故選項(xiàng)C不正確:定義時(shí)數(shù)組的長(zhǎng)度不能使用變量表示,故選項(xiàng)D不正確,所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。

47.B解析:字符串輸入函數(shù)fgets()的調(diào)用形式為:fgets(s,n,fp)。fgets函數(shù)參數(shù)說(shuō)明:“s”可以是一個(gè)字符數(shù)組名,也可以是指向字符串的指針;“n”為要讀取的最多的字符個(gè)數(shù);“fp”是指向該文件的文件型指針。fgets函數(shù)的功能是:從fp所指向的文件中讀取長(zhǎng)度不超過(guò)n-1個(gè)字符的字符串,并將該字符串放到字符數(shù)組s中;讀入字符串后會(huì)自動(dòng)在字符串末尾加入“'\\0'”結(jié)束符,表示字符串結(jié)束。

48.A解析:在函數(shù)體內(nèi)定義一字符型指針并指向形參,然后遍歷其中各字符直到NULL,最后返回字符串首尾地址的差值,即字符串的長(zhǎng)度。

49.A解析:數(shù)據(jù)庫(kù)是一個(gè)通用化的、綜合性的數(shù)據(jù)集合,它可以為各種用戶(hù)所共享,具有最小的冗余度和較高的數(shù)據(jù)與程序的獨(dú)立性,而且能并發(fā)地為多個(gè)應(yīng)用服務(wù),同時(shí)具有安全性和完整性。即數(shù)據(jù)庫(kù)系統(tǒng)減少了數(shù)據(jù)冗余,但不能避免一切冗余。所以選項(xiàng)A正確,選項(xiàng)B錯(cuò)誤。在數(shù)據(jù)庫(kù)管理階段中,數(shù)據(jù)是結(jié)構(gòu)化的,面向系統(tǒng),數(shù)據(jù)冗余度小,從而節(jié)省了數(shù)據(jù)的存儲(chǔ)空間,也減少了對(duì)數(shù)據(jù)的存取時(shí)間,提高了訪問(wèn)效率,避免了數(shù)據(jù)的不一致性。數(shù)據(jù)的不一致性,是指對(duì)數(shù)據(jù)的存取方式,選項(xiàng)C錯(cuò)誤。數(shù)據(jù)庫(kù)系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù),并非是數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn),選項(xiàng)D錯(cuò)誤。本題正確答案是A。

50.D解析:判斷i++==1&&(++j==3||k++==3)時(shí),先執(zhí)行i++==1,由于i++是先運(yùn)算,后自加,這時(shí)i的值為1,所以表達(dá)式i++==1的值為真,其值為i;然后執(zhí)行++j==3,由于++j是先自加,后運(yùn)算,這時(shí)j的值為3,所以表達(dá)式++j==3的值為真,不再計(jì)算右邊表達(dá)式k++==3,括號(hào)中表達(dá)式的值為1,“&&”運(yùn)算后整個(gè)表達(dá)式的值也為1,輸出i,j,k時(shí),由于k沒(méi)有進(jìn)行過(guò)運(yùn)算,所以輸出結(jié)果為2,3,3。

51.B

52.A解析:C語(yǔ)言中比較表式的運(yùn)算結(jié)果為0或1。0代表不成立,1表示成立。

53.B解析:需求分析是軟件定義時(shí)期的最后一個(gè)階段。可以概括為4個(gè)方面:①需求獲??;②需求分析;⑧編寫(xiě)需求規(guī)格說(shuō)明書(shū);④需求評(píng)審。

54.C解析:該題稍微難一點(diǎn)。主要要搞清楚以下幾點(diǎn):①定義了一個(gè)指針數(shù)組char.p[2]后,程序中第一個(gè)循環(huán)for(i=0;i<2;i++)p[i]=ch[i];的作用,是使指針數(shù)組的p[0]元素(它本身是一個(gè)指針)指向了二維數(shù)組ch的第一行字符串,并使指針數(shù)組的p11)元素指向了二維數(shù)組ch的第二行字符串,這樣,就使指針數(shù)組p和二維數(shù)組ch建立起了一種對(duì)應(yīng)關(guān)系,以后對(duì)二維數(shù)組ch的某個(gè)元素的引用就有兩種等價(jià)的形式:ch[i][j]或p[i][j]。②對(duì)二維數(shù)組ch的初始化,使其第一行ch[0]中存入了字符串'6937',第二行ch[1]中的內(nèi)容為字符串'8254'。③程序中第二個(gè)循環(huán)中的循環(huán)體s=e*10+p[i][j]-‘0’;的功能是這樣的,每執(zhí)行一次,將s中的值乘以10(也即,將s中的數(shù)值整體向左移動(dòng)一位,并在空出來(lái)的個(gè)位上添一個(gè)0),再將當(dāng)前p[i][j]中的字符量轉(zhuǎn)換為相應(yīng)的數(shù)字,然后把這個(gè)數(shù)字加到s的個(gè)位上。④注意到內(nèi)層循環(huán)的循環(huán)條件p[i][j]>,0,是指p[i][j]中的字符只要不是字符串結(jié)束標(biāo)志,\\0,就繼續(xù)循環(huán),語(yǔ)句j+=2;是使下標(biāo)j每次增加2,也即一個(gè)隔一個(gè)地從p[i]所指向的字符串中取出字符。經(jīng)過(guò)上述解析后,不難看出,該程序首先從p[0]所指向的字符串'6937'中一個(gè)隔一個(gè)地取出字符,分別是‘6’和‘3’,然后從p[1]所指向的字符串'8254'中一個(gè)隔一個(gè)地取出字符,分別是‘8’和‘5’,同時(shí)經(jīng)過(guò)轉(zhuǎn)換和相加運(yùn)算后,結(jié)果s中的值應(yīng)該是6385,所以,正確答案是C)。

55.B解析:b是整型數(shù),在輸人語(yǔ)句中要加取地址符,而c是數(shù)組名,本身就是數(shù)組的首地址,因此不用加取地址符。

56.C

57.D解析:一個(gè)源文件中的外部變量的作用域是從定義該變量的位置開(kāi)始到本文件結(jié)束。

58.B解析:關(guān)系的交(∩)、并(∪)和差(-)運(yùn)算要求兩個(gè)關(guān)系是同元的,顯然作為二元的R和三元S只能做笛卡爾積運(yùn)算。

59.D解析:標(biāo)識(shí)符是C語(yǔ)言中用來(lái)表示變量名、數(shù)組名、函數(shù)名、指針名、結(jié)構(gòu)名、聯(lián)合名、枚舉常數(shù)名、用戶(hù)定義的數(shù)據(jù)類(lèi)型名、語(yǔ)句標(biāo)號(hào)等用途的字符序列。標(biāo)識(shí)符由1~32個(gè)字符組成,第一個(gè)字符必須是字母或下劃線,后面的字符可以是字母、數(shù)字或下劃線。標(biāo)識(shí)符不能與C關(guān)鍵字相同,并區(qū)分大小寫(xiě)。選項(xiàng)D)錯(cuò)誤,因?yàn)閕nt是C語(yǔ)言中的關(guān)鍵字。

60.D解析:指針變量是通過(guò)指向變量地址來(lái)指定變量值的。這里只要取m的地址賦給p,即可實(shí)現(xiàn)使p為指向m的指針變量。

61.A本題重點(diǎn)考察函數(shù)的調(diào)用,首先要了解字母對(duì)應(yīng)的ASCIl碼。例如A為65,a為97。即字母+1劂可得到下一個(gè)字母。-其次是函數(shù)形參和實(shí)參的問(wèn)題,運(yùn)行過(guò)程如下:在fun(&b,a)中,}c=.a(chǎn)-,d=65。}c+l=V,d+1=66,prinff(”%c,%c,”,}C,d);輸出b,B,因?yàn)橹羔榗指向地址的值為b,此時(shí)b=}C=.b.;豳數(shù)返回執(zhí)行ptud(。%C,%c、n”,b,8);輸出b,A,因此A選項(xiàng)正確。

62.B在本題中,程序首先定義了一個(gè)無(wú)返回值的函數(shù)fun,該函數(shù)帶有兩個(gè)整型的指針形參變量,在函數(shù)體中,首先定義一個(gè)整型指針變量k,然后試圖利用k來(lái)交換a和b的結(jié)果。但處理語(yǔ)句k=a;很明顯是對(duì)地址進(jìn)行賦值操作。在C語(yǔ)言中,指針變量作為函數(shù)參數(shù)時(shí),可以改變被指向的變量的值,但不能改變指針變量本身的值,即我們可以改變實(shí)參指向的變量的值,不能使實(shí)參指向其他的變量。因此,本函數(shù)并不能交換形參所指向變量的結(jié)果。

在主函數(shù)中,首先定義了兩個(gè)整型變量a和b,并分別被初始化為3和6,然后定義兩個(gè)指針變量x和y,分別指向a和b,接著調(diào)用fun函數(shù),傳遞的實(shí)參為指針變量x和y,根據(jù)前面對(duì)fun函數(shù)的分析可知,調(diào)用該函數(shù)后并不能實(shí)現(xiàn)a和b數(shù)組的交換,因此,執(zhí)行輸出語(yǔ)句后,輸出的結(jié)果是36。本題正確答案選B。

63.D關(guān)系運(yùn)算有傳統(tǒng)的集合運(yùn)算和專(zhuān)門(mén)的關(guān)系運(yùn)算,傳統(tǒng)的集合運(yùn)算有交,差,并,除和笛卡爾積,專(zhuān)門(mén)的關(guān)系運(yùn)算有鏈接,選擇,投影。

64.BB選項(xiàng)輸出的格式為%d,即為整型格式,所以輸出字符A的ASCI1碼值65,而不是字符A。由于大寫(xiě)字母比與其對(duì)應(yīng)的小寫(xiě)字母的ASCI1碼值小32,所以A正確。字符A的ASCI1碼值就是65,所以以%C格式輸出可以輸出字符A,所以c正確。由于字符A的ASCI1碼值比字符B的小1,所以D正確。

65.D\n常用的過(guò)程設(shè)計(jì)工具有圖形工具(程序流程圖、N-S圖、PAD圖、HIPO)、表格工具(判定表)、語(yǔ)言工具(PDL)。

\n

66.AWhile循環(huán)條件為:(_h=}a)f-‘、0’,執(zhí)行時(shí)先把指針a所指向的字符賦給指針b所在內(nèi)存單元,如果該字符不是結(jié)束標(biāo)識(shí)‘\0’,執(zhí)行循環(huán)體a++;b++;,指針a.b分別指向下一個(gè)字符單元。再判斷循環(huán)條件,如果成立,繼續(xù)把指針a所指向的字符賦給指針b所在內(nèi)存單元,直到遇到結(jié)束標(biāo)識(shí)為止。因此A選項(xiàng)正確。

67.A

68.D自然連接是一種特殊的等值連接,它要求兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相同的屬性組,并且在結(jié)果中把重復(fù)的屬性列去掉,因此根據(jù)關(guān)系T中的有序組可知關(guān)系R與s進(jìn)行的是自然連接操作,故本題答案為D)。

69.A聲明靜態(tài)局部變量:函數(shù)調(diào)用結(jié)束后,其占用的存儲(chǔ)單元不釋放,在下次該函數(shù)調(diào)用時(shí),該變量保留上一次函數(shù)調(diào)用結(jié)束時(shí)的值。本題子函數(shù)tim中的變量i和m均為靜態(tài)局部變量。所以第一次調(diào)用fun函數(shù),返回m的值為5,第二次再調(diào)用fun函數(shù)時(shí),i的值為3,nl的值已經(jīng)是5了,所以執(zhí)行i+=m+1,i的值變?yōu)?,nl=i+x+Y=9+1+l=11。

70.B

71.B本題中,程序首先定義一個(gè)結(jié)構(gòu)體,該結(jié)構(gòu)體定義了四個(gè)整型變量。在主函數(shù)中,首先定義了一個(gè)該結(jié)構(gòu)體的大小為2的結(jié)構(gòu)體數(shù)組,并給該數(shù)組進(jìn)行了初始化,從初始化語(yǔ)句我們可以看出,初始化時(shí)缺少了一個(gè)結(jié)構(gòu)體成員的值,在這種情況下,系統(tǒng)會(huì)自動(dòng)為缺省的成員補(bǔ)0,本題中就是給結(jié)構(gòu)體成員變量b賦初值為0。

然后定義了一個(gè)整型變量t,接著運(yùn)行t=s[0].a+s[1].b;語(yǔ)句,即t=1+5=6。因此,程序的最后輸出結(jié)果為6,本題正確答案選B。

72.C

73.C由題目的已知條件函數(shù)fun的定義形式voidfun(charch,floatx){…)可知第一個(gè)形參為字符型,所以A不符合,第二個(gè)形參為精度型,所以D不符合,函數(shù)fun定義為void型(無(wú)論返回值型),故其沒(méi)有返回值,所以選項(xiàng)B錯(cuò)誤。選項(xiàng)C的第一個(gè)實(shí)參的類(lèi)型為字符型,第二個(gè)實(shí)參的類(lèi)型為單精度型,與函數(shù)fun的形式參數(shù)的類(lèi)型相符合,所以選項(xiàng)C為正確答案。

74.C函數(shù)fun(int*s,intn1,intn2)的功能是對(duì)數(shù)組s中的元素進(jìn)行首尾互相調(diào)換。所以在主函數(shù)中,當(dāng)fun(a,0,3)執(zhí)行完后,數(shù)組a[12]={4,3,2,1,5,6,7,8,9,0};再執(zhí)行fun(a,4,9),數(shù)組a[12]={4,3,2,1,0,9,8,7,6,5};再執(zhí)行fun(a,0,9)后,數(shù)組a[12]={5,6,7,8,9,0,1,2,3,4}。所以正確答案為c)。

75.A當(dāng)所賦的值不夠其列的寬度時(shí),系統(tǒng)在其后自動(dòng)補(bǔ)0,因此a[0][3]=0,a[1][2]=6,a[2][1]=5,a[3][0]=0,故選擇A選項(xiàng)。

76.C

77.C題目中定義了一個(gè)結(jié)構(gòu)體類(lèi)型s,然后定義了一個(gè)結(jié)構(gòu)體變量s并初始化,執(zhí)行f函數(shù)后,將s中元素a的每個(gè)元素都加上i,這里需要注意最后一個(gè)元素沒(méi)有加i,所以最終答案為C選項(xiàng)。

78.A能夠給出數(shù)據(jù)庫(kù)物理存儲(chǔ)結(jié)構(gòu)與物理存取方法的是內(nèi)模式。外模式是用戶(hù)的數(shù)據(jù)視圖,也就是用戶(hù)所見(jiàn)到的數(shù)據(jù)模式。概念模式是數(shù)據(jù)庫(kù)系統(tǒng)中全局?jǐn)?shù)據(jù)邏輯結(jié)構(gòu)的描述,是全體用戶(hù)公共數(shù)據(jù)視圖。沒(méi)有邏輯模式這一說(shuō)法。正確答案為A。

79.A

80.C本題考查三目運(yùn)算符a<b?a:c<d?c:d也可寫(xiě)成a<b?a:(c<d?c:d),所以根據(jù)優(yōu)先級(jí),先算括號(hào)內(nèi)的,c小于d為真取C的值,再看a小于b為假,所以取C的值。

81.(1)錯(cuò)誤:proc(intn)

正確:doubleproc(intn)

(2)錯(cuò)誤:returnsum

正確:returnsuln;

【解析】從主函數(shù)中的函數(shù)調(diào)用可知,函數(shù)proc()有double型的返回值,因此“proc(intn)”應(yīng)改為“doubleproc(intn)”;在C語(yǔ)言中,每一個(gè)語(yǔ)句都要以分號(hào)結(jié)束,因此應(yīng)在語(yǔ)句“returnsum”后加上分號(hào)。

82.

【解析】題目中要求出1~1000中能被5或13整除,但不能同時(shí)被5和13整除的所有整數(shù),首先應(yīng)判斷1~1000的每一個(gè)整數(shù)是否符合要求,將符合要求的每一個(gè)整數(shù)放入數(shù)組arr中。最后將整數(shù)的個(gè)數(shù)作為形參返回給主函數(shù)。

2022年湖南省郴州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.若以下選項(xiàng)中的變量全部為整型變量,且已正確定義并賦值,則語(yǔ)法正確的switch語(yǔ)句是()。

A.switch(a+9){casecl:y=a-b;casec2:y=a+b;}

B.switcha*b{casel0:x=a+b;default:y=a-b;}

C.switch(a+b){casel:case3:y=a+b;break;case0:case4:y=a-b;}

D.switch(a*a+b*b){default:break;case3:y=a+b;break;case2:y=a-b;break;}

2.有下列程序:程序執(zhí)行后的輸出結(jié)果是()。A.17,17,49,49B.17,29,49,49C.29,29,49,49D.49,49,49,49

3.已知a,b均被定義為double型,則表達(dá)式:a=5/2的值為()。

A.1B.3C.3.0D.2.5

4.下列敘述中正確的是()。

A.continue語(yǔ)句的作用是使程序的執(zhí)行流程跳出包含它的所有循環(huán)

B.break語(yǔ)句只能用在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)

C.在循環(huán)體內(nèi)使用break語(yǔ)句和continue語(yǔ)句的作用相同

D.break語(yǔ)句只能用于switch語(yǔ)句體中

5.

6.對(duì)兩個(gè)數(shù)組a和b進(jìn)行下列初始化:charm[]1="l234567":charn[]={1,2,3,4,5,6,7);則下列敘述正確的是()。A.數(shù)組m與數(shù)組n完全相同B.數(shù)組m與數(shù)組n長(zhǎng)度相同C.數(shù)組m比數(shù)組n長(zhǎng)1D.數(shù)組m與數(shù)組n中都存放字符串

7.若進(jìn)棧序列為1,2,3,4,進(jìn)棧過(guò)程中可以出棧,則下列不可能的一個(gè)出棧序列是______。

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

8.以下程序的運(yùn)行結(jié)果是()。#include<stdio.h>main(){st,uctdate{intyear,month,day;}today;printf("%d\n",sizeof(structdate));}

A.6B.8C.10D.12

9.若有定義“floata=25,b,*p=&b;”,則下列對(duì)賦值語(yǔ)句“*p=a;”和“p=&a;”的正確解釋為()。

A.兩個(gè)語(yǔ)句都是將變量a的值賦予變量P

B.*p=a是使P指向變量a,而p=&a是將變量的值賦予變量指針P

C.*p=a是將變量a的值賦予變量b,而&a是使P指向變量a

D.兩個(gè)語(yǔ)句都是使P指向變量a

10.以下關(guān)于typedef的敘述錯(cuò)誤的是()。A.用tyFedef可以增加新類(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è)新名,通常可以增加程序的可讀性

11.下列結(jié)構(gòu)體的定義語(yǔ)句中錯(cuò)誤的是()。

A.structord{intx;inty;intz;}structorda;

B.structord{intx;inty;intz;};structorda;

C.structord{intx;inty;intz;}a;

D.struct{intx;inty;intz;}a;

12.下列程序的輸出結(jié)果是______。#include<stdio.h>main(){inti,j,k,a=3,b=2;i=(--a==b++)?--a;++b;j=a++;k=b;printf("i=%d,j=%d,k=%d\n",i,j,k);}

A.i=2,j=1,k=3B.i=1,j=1,k=2C.i=4,j=2,k=4D.i=1,j=1,k=3

13.

14.以下選項(xiàng)中非法的字符常量是()。

A.\101B.\65C.\xffD.\019

15.有以下程序:#include<stdio.h>main(){inta=-2,b=2;for(;++a&&--b;)printf(“%d,%d\n”,a,b);}程序運(yùn)行后的輸出結(jié)果是()。

A.0,1B.0,0C.1,-1D.0,2

16.下列敘述中正確的是()。

A.可以用關(guān)系運(yùn)算符比較字符串的大小

B.空字符串不占用內(nèi)存,其內(nèi)存空間大小是0

C.兩個(gè)連續(xù)的單引號(hào)是合法的字符常量

D.兩個(gè)連續(xù)的雙引號(hào)是合法的字符串常量

17.

18.數(shù)據(jù)庫(kù)系統(tǒng)的核心是()。

A.數(shù)據(jù)模型B.數(shù)據(jù)庫(kù)管理系統(tǒng)C.數(shù)據(jù)庫(kù)D.數(shù)據(jù)庫(kù)管理員

19.已知字符A的ASCII值是65,字符變量c1的值是‘A’,c2的值是‘D’,則執(zhí)行語(yǔ)句“printf(“%d,%d”,c1,c2-2);”的輸出結(jié)果是()。

A.65,68B.A,68C.A,BD.65,66

20.以下敘述正確的是

A.continue語(yǔ)句的作用是結(jié)束整個(gè)循環(huán)的執(zhí)行

B.只能在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)使用break語(yǔ)句

C.在循環(huán)體內(nèi)使用break語(yǔ)句或continue語(yǔ)句的作用相同

D.從多層循環(huán)嵌套中退出時(shí),只能使用goto語(yǔ)句

二、2.填空題(20題)21.數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式分別為_(kāi)_____模式、內(nèi)部級(jí)模式與外部級(jí)模式。

22.下列軟件系統(tǒng)結(jié)構(gòu)圖的寬度為[]。

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

main()

{chars[]="ABCD",*p;

for(p=s+1;p<s+4;p++)printf("%s\n",p);}

24.設(shè)a、b、c為整數(shù),且a=2、b=3、c=4,則執(zhí)行完語(yǔ)句a*=18+(b++)-(++c);后,a的值是【】。

25.以下程序運(yùn)行后的輸出結(jié)果是【】。

main()

{

chara[]="Language",b[]="Programe";

char,p1,*p2;

intk;

p1=a,p2=b;

for(k=0;k<=7;k++)

if*(p1+k)==*(p2+k))printf("%c",*(p1+k));

}

26.以下程序運(yùn)行后的輸出結(jié)果是【】。

main()

{inti,m=0,n=0,k=0;

for(i=9;i<=11;i++)

switch(i/10)

{case0:m++;n++;break;

case1:n++;break;

default:k++;n++;

}

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

}

27.以下程序運(yùn)行后的輸出結(jié)果是______。

inta=5;

fun(intB)

{staticinta=10;

a+=b++;

printf("%d",A);

}

main()

{intc=20;

fun(C),

a+=C++;

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

}

28.以下程序運(yùn)行后的輸出結(jié)果是【】。

mam()

{

chara[]="123456789",*p;

inti=0;

p=a;

while(*p)

{

if(i%2=0)

*p='*';

p++;i++;

}

puts(A);

}

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

#defineMAX(x,y)(x)>(y)?(x):(y)

main()

{inta=5,b=2,c=3,d=3,t;

t=MAX(a+b,e+d)*10;

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

}

30.一個(gè)項(xiàng)目具有一個(gè)項(xiàng)目主管,一個(gè)項(xiàng)目主管可管理多個(gè)項(xiàng)目,則實(shí)體集“項(xiàng)目主管”與實(shí)體集“項(xiàng)目”的聯(lián)系屬于【】的聯(lián)系。

31.隊(duì)列是限定在表的一端進(jìn)行插入和在另一端進(jìn)行刪除操作的線性表。允許插入的一端稱(chēng)作______。

32.數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu),線性鏈表屬于【】。

33.通常,將軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過(guò)程稱(chēng)為【】。

34.若s是int型變量,且s=8,則s%3+(s+1)%3表達(dá)式的值為()。

35.不改變關(guān)系表中的屬性個(gè)數(shù)但能減少元組個(gè)數(shù)的是()。

36.軟件結(jié)構(gòu)是以【】為基礎(chǔ)而組成的一種控制層次結(jié)構(gòu)。

37.若有定義inta[4][4]={{1,2,3,4},{0},{4,6,8,10},{1,3,5,7}},則初始化后,a[1][1]得到的初值是______。

38.在關(guān)系模型中,二維表的行稱(chēng)為_(kāi)_____。

39.買(mǎi)來(lái)一張新盤(pán)后,在存入文件前,必須進(jìn)行【】處理。

40.下列程序的功能是將字符串s中所有的字符c刪除。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{chars[80];

inti,j;

gets(s);

for(i=j=0;s[i]!='\0';i++)

if(s[i]!='c')

s[j]='\0';

puts(s);

}

三、1.選擇題(20題)41.若定義函數(shù)int*func(),則函數(shù)func的返回值為()。

A.一個(gè)實(shí)數(shù)B.一個(gè)指向整型變量的指針C.一個(gè)指向整型函數(shù)的指針D.一個(gè)整型函數(shù)的入口地址

42.串的長(zhǎng)度是______。A.A.串中不同字符的個(gè)數(shù)

B.串中不同字母的個(gè)數(shù)

C.串中所含字符的個(gè)數(shù)且字符個(gè)數(shù)大于零

D.串中所含字符的個(gè)數(shù)

43.設(shè)關(guān)系R1有r1個(gè)元組,關(guān)系R2有r2個(gè)元組,則關(guān)系R1和R2連接后的結(jié)果關(guān)系的元組數(shù)目是______個(gè)。

A.r1+r2B.r1×r2C.≤r1×r2D.≥r1×r2

44.結(jié)構(gòu)化程序設(shè)計(jì)所規(guī)定的三種基本控制結(jié)構(gòu)是()

A.輸入、處理、輸出B.樹(shù)形、網(wǎng)形、環(huán)形C.順序、選擇、循環(huán)D.主程序、子程序、函數(shù)

45.下列有關(guān)數(shù)據(jù)庫(kù)的描述,正確的是A.數(shù)據(jù)處理是將信息轉(zhuǎn)化為數(shù)據(jù)的過(guò)程

B.數(shù)據(jù)的物理獨(dú)立性是指當(dāng)數(shù)據(jù)的邏輯結(jié)構(gòu)改變時(shí),數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)不變

C.關(guān)系中的每一列稱(chēng)為元組,一個(gè)元組就是一個(gè)字段

D.如果一個(gè)關(guān)系中的屬性或?qū)傩越M并非該關(guān)系的關(guān)鍵字,但它是另一個(gè)關(guān)系的關(guān)鍵字,則稱(chēng)其為本關(guān)系的外關(guān)鍵字

46.以下能正確定義一維數(shù)組的選項(xiàng)是A.intnum[];

B.#defineN100intnum[N];

C.intnum[0..100];

D.intN=100;intnum[N];

47.標(biāo)準(zhǔn)庫(kù)函數(shù)fgets(s,n,file)的功能是()。

A.從文件file中讀取長(zhǎng)度為n的字符串存入字符數(shù)組s中

B.從文件file中讀取長(zhǎng)度不超過(guò)n-1個(gè)字符的字符串放到字符數(shù)組s中

C.從文件file中讀取n個(gè)字符串存入字符數(shù)組s中

D.從文件file中讀取長(zhǎng)度為n-1個(gè)字符的字符串存入字符數(shù)組s中

48.下述函數(shù)功能是______。intfunr(char*x){char*y=x;while(*y++);returny-x-1;}

A.求字符串的長(zhǎng)度B.求字符串存放的位置C.比較兩個(gè)字符串的大小D.將字符串x連接字符串y后面

49.下述關(guān)于數(shù)據(jù)庫(kù)系統(tǒng)的敘述中,正確的是()。

A.數(shù)據(jù)庫(kù)系統(tǒng)減少了數(shù)據(jù)冗余

B.數(shù)據(jù)庫(kù)系統(tǒng)避免了一切冗余

C.數(shù)據(jù)庫(kù)系統(tǒng)中數(shù)據(jù)的一致性是指數(shù)據(jù)類(lèi)型一致

D.數(shù)據(jù)庫(kù)系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù)

50.有以下程序:#include<stdio.h>main(){inti=1,j=2,k=3;if(i++==1&&(++j==3‖k++==3))printf("%d%d%d\n",i,j,k);}程序運(yùn)行后的輸出結(jié)果是()。

A.123B.234C.223D.233

51.下列程序的輸出結(jié)果是______。#include<stdio.h>#defineFUDGE(y)2.84+y#definePR(a)printf("%d",(int)(a))#definePRINTl(a)PR(a);putchar('\n')main(){intx=2;PRINT1(FUDGE(5)*x);}

A.11B.12C.13D.15

52.設(shè)a、b、c、d、m、n均為int型變量,且a=5、b=6、c=7、d=8、m=2、n=2,則運(yùn)算后,n的值為_(kāi)_____。

A.0B.1C.2D.3

53.軟件需求分析階段的工作,可以分為4個(gè)方面:需求獲取、需求分析、編寫(xiě)需求規(guī)格說(shuō)明書(shū)以及()。

A.階段性報(bào)告B.需求評(píng)審C.總結(jié)D.都不正確

54.有如下程序main(){charch[2][5]={"6937","8254"},*p[2];inti,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';j+=2)s=10*s+p[i][j]-'0';printf("%d\n",s);}該程序的輸出結(jié)果是

A.69825B.63825C.6385D.693825

55.有以下語(yǔ)句:intb;charc[10];,則正確的輸入語(yǔ)句是______。

A.scanf("%d%s",&b,&c);

B.scanf("%d%s",&b,c);

C.scanf("%d%s",b,c);

D.scanf("%d%s",b,&c);

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

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

57.一個(gè)源文件中的外部變量的作用域?yàn)?)。

A.本文件的全部范圍B.本程序的全部范圍C.本函數(shù)的全部范圍D.從定義該變量的位置開(kāi)始到本文件結(jié)束

58.設(shè)只是一個(gè)二元關(guān)系,S是一個(gè)三元關(guān)系,則下列運(yùn)算中正確的是()。

A.R-SB.RX×SC.R∩SD.R∪S

59.以下不能定義為用戶(hù)標(biāo)識(shí)符的是()。

A.scanfB.VoidC.3comD.int

60.變量m的值為8,m的地址為1010,若欲使p為指向m的指針變量,則下列賦值正確的是()。

A.&m=8B.*p=8C.*p=1010D.p=&m

四、選擇題(20題)61.有以下程序:

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

A.b,B"b,AB.b,B,B,AC.a,B,B,aD.a,B,a,B

62.有如下程序段

voidfun(int*a,int*b)

{int*k;

k=a;a=b;b=k;

}

main()

{inta=3,b=6,*x=&a,*y=&b;

fun(x,y);

printf("%d%d",a,b);

}

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

B.36

C.編譯出錯(cuò)

D.00

63.專(zhuān)門(mén)的關(guān)系運(yùn)算不包括下列的()運(yùn)算。

A.連接運(yùn)算B.選擇運(yùn)算C.投影運(yùn)算D.并運(yùn)算

64.以下不能輸出字符A的語(yǔ)句是()。(注:字符A的ASCIl碼值為65,字符a的ASCIl碼值為97)

65.下列不屬于過(guò)程設(shè)計(jì)工具中圖形工具的是()。

A.N—SB.PADC.程序流程圖D.PDL

66.下列函數(shù)的功能是()。

A.將a所指字符串賦給b所指空間

B.使指針b指向a所指字符串

C.將a所指字符串和b所指字符串進(jìn)行比較

D.檢查a和b所指字符串中是否有‘、O’

67.

68.有三個(gè)關(guān)系R、S和t如下:由關(guān)系R和s通過(guò)運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為()。

A.笛卡兒積B.交C.并D.自然連接

69.有以下程序:

程序執(zhí)行后的輸出結(jié)果是()。

A.5,11B.5,5C.11,11D.11,5

70.

71.有如下程序段

structabc

{inta,b,c,s;};

main()

{structabcs[2]={{1,2,3},{4,5,6}};intt;

t=s[0].a+s[1].b;

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

}

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

A.5B.6

C.7D.8

72.

73.設(shè)fun函數(shù)的定義形式為

voidfun(charch,floatx){…}

則下列對(duì)函數(shù)fun的調(diào)用語(yǔ)句中,正確的是()。A.A.fun("abc",3.0);B.t=fun('D'.16.5);

C.fun('65',2.8);

D.fun(32,32);

74.有以下程序:

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

A.0987654321

B.4321098765

C.5678901234

D.0987651234

75.以下程序的輸出結(jié)果是()。main(){inti,a[4][4]={{1,3,5),{2,4,6},{3,5,7}};printf("%(1%d%d%d\n".a(chǎn)[O][3],a[1][2],a[2][1],a[3][0]);}A.0650B.1470C.5430D.輸出值不定

76.

77.有以下程序:

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

A.2,3,1,6,8,7,5,4,10,9,

B.3,4,2,7,9,8,6,5,11,10,

C.2,4,3,9,12,12,11,11,18,9,

D.1,2,3,6,8,7,5,4,10,9,

78.(10)下列模式中,能夠給出數(shù)據(jù)庫(kù)物理存儲(chǔ)結(jié)構(gòu)與物理存取方法的是()

A.內(nèi)模式

B.外模式

C.概念模式

D.邏輯模式

79.

80.若整型變量a、b、c、d中的值依次為2、2、3、4,則條件表達(dá)式a<b?a:c<d?c:d的值是()。A.A.1B.2C.3D.4

五、程序改錯(cuò)題(1題)81.已知一個(gè)數(shù)列,從0項(xiàng)開(kāi)始的前3項(xiàng)為0、0、1,以后的各項(xiàng)都是其相鄰的前3項(xiàng)之和。下列給定的程序中,函數(shù)proc()的功能是:計(jì)算并輸出該數(shù)列前n項(xiàng)的平方根之和sum。n的值通過(guò)形參傳入。例如,當(dāng)n=11時(shí),程序的輸出結(jié)果應(yīng)為32.197745。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫(xiě)函數(shù)proc(),它的功能是:求出1~1000中能被5或13整除,但不能同時(shí)被5和13整除的所有整數(shù),并將它們放在arr所指的數(shù)組中,通過(guò)n返回這些數(shù)。注意:部分源程序給H{如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:

參考答案

1.D選項(xiàng)A,當(dāng)cl和c2相等時(shí),不成立;選項(xiàng)B,a*b要用括號(hào)括起來(lái);選項(xiàng)C,case與后面的數(shù)字用空格隔開(kāi)。

2.B對(duì)于題干中的宏,替換如下:S1(a+b,a+b),&+1>)等價(jià)于a+b*a+b,即2+5*2+5,等于17;S1(a+b,b+a),等價(jià)于a+b*b+a,即2+5*5+2,等于29;S2(a+b,a+b)等價(jià)于(a+b)*(a+b),即(2+5)*(2+5),等于49;S2(a+b,b+a)等價(jià)于(a+b)*(b+a),即(2+5)*(5+2),等于49。本題答案為B選項(xiàng)。

3.D

4.Bcontinue語(yǔ)句的作用是跳過(guò)循環(huán)體中剩余的語(yǔ)句而進(jìn)行下一次循環(huán),所以A選項(xiàng)錯(cuò)誤。break語(yǔ)句的作用是終止正在執(zhí)行的switch語(yǔ)句體,跳出switch語(yǔ)句體或者強(qiáng)制終止當(dāng)前循環(huán),從當(dāng)前執(zhí)行的循環(huán)中跳出,所以C、D選項(xiàng)錯(cuò)誤。故本題答案為B選項(xiàng)。

5.A

6.C在m數(shù)組中賦值的是字符串,其長(zhǎng)度為7,末尾有結(jié)束符\0,故字節(jié)數(shù)為8,而n數(shù)組中賦的是字符,其長(zhǎng)度為7,故C選項(xiàng)正確。

7.C解析:棧是一種后進(jìn)先出表,選項(xiàng)C中,先出棧的是3,說(shuō)明此時(shí)棧內(nèi)必然有1,2,由于1先于2進(jìn)淺,所以1不可能在2之前出棧,故選項(xiàng)C這種出棧序列是不可能的。

8.A解析:結(jié)構(gòu)體變量的長(zhǎng)度是其內(nèi)部成員總長(zhǎng)度之和,在本題中,structdate中包含year,month,day三個(gè)整型變量。通常一個(gè)整型變量占2個(gè)字節(jié),因此,用sizeof求得該結(jié)構(gòu)體變量的長(zhǎng)度為6個(gè)字節(jié)。

9.C“P”是指針變量,指向一個(gè)地址:“*P”為P指針?biāo)赶虻刂返膬?nèi)容“&”是取變量地址。

10.A用typedef沒(méi)有增加新類(lèi)型,所以選擇A)。

11.AA選項(xiàng)錯(cuò)誤,在定義結(jié)構(gòu)體語(yǔ)句后少了分號(hào)。故本題答案為A選項(xiàng)。

12.D

13.A

14.D在選項(xiàng)中,\\019,以0開(kāi)頭的數(shù)都為八進(jìn)制數(shù),而八進(jìn)制的表示數(shù)字是0~7,所以答案選擇D。

15.A在語(yǔ)句“for(;++a&&--b;)”中,for循環(huán)的表達(dá)式1和表達(dá)式3為缺省項(xiàng)。首先判斷條件表達(dá)式“b”。當(dāng)“a=-2,b=2”時(shí),第1次執(zhí)行“++a”和“--b”,條件表達(dá)式為真,循環(huán)條件成立。第2次執(zhí)行“++a”為0,由于運(yùn)算符,當(dāng)?shù)?個(gè)條件為假時(shí),不執(zhí)行第2個(gè)條件,因此“b=1”,發(fā)生短路,“--b”不再執(zhí)行。因此輸出的最終值為0,1。故本題答案為A選項(xiàng)。

16.D比較兩個(gè)字符串大小用函數(shù)strcomp(S,t),空字符串有結(jié)束符,所以也要占用字節(jié),兩個(gè)雙引號(hào)表示的是空字符串。

17.A

18.B解析:數(shù)據(jù)庫(kù)管理系統(tǒng)是數(shù)據(jù)庫(kù)系統(tǒng)的核心,是負(fù)責(zé)數(shù)據(jù)庫(kù)的建立、使用和維護(hù)的軟件。數(shù)據(jù)庫(kù)管理系統(tǒng)建立在操作系統(tǒng)之上,實(shí)施對(duì)數(shù)據(jù)庫(kù)的統(tǒng)一管理和控制。用戶(hù)使用的各種數(shù)據(jù)庫(kù)命令以及應(yīng)用程序的執(zhí)行,最終都必須通過(guò)數(shù)據(jù)庫(kù)管理系統(tǒng)。另外,數(shù)據(jù)庫(kù)管理系統(tǒng)還承擔(dān)著數(shù)據(jù)庫(kù)的安全保護(hù)工作,按照數(shù)據(jù)庫(kù)管理員所規(guī)定的要求,保證數(shù)據(jù)庫(kù)的完整性和安全性。

19.D輸出時(shí)以%d整型格式輸出,所以輸出字符變量c1的值為65,c2-2的值為68-2,即66。故本題答案為D選項(xiàng)。

20.B解析:continue是結(jié)束本次循環(huán),直接進(jìn)入到下次循環(huán)中,break用于循環(huán)語(yǔ)句中的作用是直接跳出本層循環(huán),能從多層循環(huán)中退出的語(yǔ)句除了goto語(yǔ)句,exit,return等語(yǔ)句也能直接跳出多層循環(huán)。注意:continue和break語(yǔ)句在while語(yǔ)句中的作用。

21.概念(或概念級(jí))概念(或概念級(jí))

22.33解析:軟件系統(tǒng)結(jié)構(gòu)圖的寬度:整體控制跨度(最大模塊數(shù)的層)的表示。

23.BCDCDDBCD\r\nCD\r\nD解析:本題考查指向字符串的指針的運(yùn)算方法。指針變量p首先指向字符串中的第一個(gè)字符A,執(zhí)行p=s+1后,p指向字符串中的第二個(gè)字符B,然后輸出值'BCD'并換行,依次執(zhí)行循環(huán)語(yǔ)句。

24.3232解析:b++是先使用b的值參加運(yùn)算,再對(duì)b加1。++c是先對(duì)c加1,再使用c的值參加運(yùn)算。a*=18+(b++)-(++c)等價(jià)于a=a*(18+(b++)-(++c))則a=2*(18+3-5)=32。

25.gaegae解析:本題定義了兩個(gè)字符串?dāng)?shù)組a[],b[],字符型指針變量p1和p2,且分別指向字符串?dāng)?shù)組a和b,抽打for循環(huán),當(dāng)if(*(p1+k)==*(p2+k))條件為真,執(zhí)行輸出*(p1+k)對(duì)應(yīng)的字符。即當(dāng)k=0時(shí),*(p1+k)對(duì)應(yīng)的字符串?dāng)?shù)組a中的字符L,*(p2+k)對(duì)應(yīng)的字符串?dāng)?shù)組b中字符P,因此if(*(p1+k)==*(p2+k))條件為假,不執(zhí)行printf語(yǔ)句,依此類(lèi)推,將字符串?dāng)?shù)組a和b中對(duì)應(yīng)位置上的字符——比較,如果對(duì)應(yīng)位置上的字符相同,則輸出該字符。

26.130130解析:本題主函數(shù)中用了一個(gè)for循環(huán),循環(huán)了3次:當(dāng)i=9時(shí),i/10=0,執(zhí)行switch語(yǔ)句中case0分支,m和n的值各增1,變?yōu)?和1,然后遇到break語(yǔ)句,退出switch語(yǔ)句;當(dāng)i=10和11時(shí)

溫馨提示

  • 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)論