2022-2023年安徽省六安市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第1頁(yè)
2022-2023年安徽省六安市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第2頁(yè)
2022-2023年安徽省六安市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第3頁(yè)
2022-2023年安徽省六安市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第4頁(yè)
2022-2023年安徽省六安市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2022-2023年安徽省六安市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.

2.若執(zhí)行下面的程序時(shí),從鍵盤(pán)上輸入5和2,則輸出結(jié)果是______。main(){inta,b,k;scanf("%d,%d",&a,&b);k=a;if(a<b)k=a%b;elsek=b%a;printf("%d\n",k);}

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

3.

4.

5.有如下說(shuō)明inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;則數(shù)值為9的表達(dá)式是()

A.*p+9B.*(p+8)C.*p+=9D.p+8

6.設(shè)主串T='aabaababaabaa',子串P:'abab',則簡(jiǎn)單模式匹配算法中直至匹配成功,單個(gè)字符比較的次數(shù)為()。

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

7.

8.用樹(shù)形結(jié)構(gòu)表示實(shí)體之間聯(lián)系的模型的是

A.關(guān)系模型B.網(wǎng)狀模型C.層次模型D.以上三個(gè)都是

9.該程序試圖通過(guò)指針p為變量n讀入數(shù)據(jù)并輸出,但程序有多處錯(cuò)誤,以下語(yǔ)句正確的是()#includeMain(){intn,*p=NULL;*p=&n;printf("Inputn:");scanf("%d",&p);print("outputn:");print("%d\n",p);A.intn,*p=NULL;

B.*p=&n;

C.scanf("%d",&p)

D.printf("%d\n",p);

10.設(shè)以下變量均為int類型,則值不等于7的表達(dá)式是()。

A.(x=y=6,x+y,x+1)

B.(x=y=6,x+y,y+1)

C.(x=6,x+1,y=6,x+y)

D.(y=6,y+l,x=y,x+1)

11.順序結(jié)構(gòu)的本質(zhì)特點(diǎn)是()。

A.數(shù)據(jù)元素存儲(chǔ)在地址連續(xù)的內(nèi)存空間

B.數(shù)據(jù)元素緊鄰

C.數(shù)據(jù)元素在內(nèi)存中的相對(duì)位置表示數(shù)據(jù)之間的邏輯關(guān)系

D.不使用指針

12.數(shù)據(jù)結(jié)構(gòu)通常是研究數(shù)據(jù)的及它們之間的聯(lián)系______。A.存儲(chǔ)和邏輯結(jié)構(gòu)B.存儲(chǔ)和抽象C.理想和抽象D.理想與邏輯

13.以下程序的輸出結(jié)果是()。main{charch[3][4]={"123","456","78"),*p[3];inti;for(i=0;i<3;i++)p[i]=ch[i];for(i=0;i<3;i++)printf("%s",p[i]);}A.123456780B.123456780C.12345678D.147

14.

15.若有如下程序:#definePI3.1415926#defineA(r)2*PI*rmain(){floata,1;a=3.0;1=A(a);printf("r=%.2f,1=%.2f\n",a,1);}則程序運(yùn)行后的輸出結(jié)果是()

A.r=3.001=18.85

B.3.00,18.85

C.r=3.0000001=18.8495555

D.r=3.01=18.8495555

16.在如下結(jié)構(gòu)定義中,不正確的是()。A.

B.

C.

D.

17.以下涉及字符串?dāng)?shù)組、字符指針的程序段中,沒(méi)有編譯錯(cuò)誤的是()。A.char*str,name[1];str=“Hello”;

B.char*str,name[1];name=“Hello”;

C.charstrl[10]=“ex1.c”,str2[6];str2=str1;

D.charhead_line[];head_line=“\\0”;

18.以下敘述中錯(cuò)誤的是()。

A.通過(guò)指針變量存取某個(gè)變量值的方式稱為“直接存取”方式

B.在程序的開(kāi)頭包含頭文件stdio.h后,可以給指針變量賦NULL值

C.將一個(gè)指針變量中的值賦給另一個(gè)指針變量,則這兩個(gè)指針變量指向同一地址

D.C語(yǔ)言中函數(shù)返回值的類型可以是簡(jiǎn)單的數(shù)據(jù)類型,也可以是指針類型

19.A[N][N]是對(duì)稱矩陣,將下面三角(包括對(duì)角線)以行序存儲(chǔ)到一維數(shù)組T[N(N+1)/2]中,則對(duì)任一上三角元素a[i][j]對(duì)應(yīng)T[k]的下標(biāo)k是()。

A.i(i-1)/2+jB.j(j-1)/2+iC.i(j-i)/2+1D.j(i-1)/2+1

20.在一個(gè)雙向鏈表中,q的前一個(gè)節(jié)點(diǎn)為p,q的后一個(gè)節(jié)點(diǎn)為n,刪除q所指向節(jié)點(diǎn),則執(zhí)行()

A.deleteq;

B.q->prev->next=q->prev;q->next->prev=q->next;deleteq;

C.q->prev=p->next;p->next=p->prev;deleteq;

D.q->next=q->prev->next;q->prev=q->next->prev;deleteq;

E.q->prev->next=q->next;q->next->prev=q->prev;deleteq;

F.p->prev->next=p->next;p->next->prev=p->prev;deleteq->next;

二、2.填空題(20題)21.Jackson方法是一種面向【】的結(jié)構(gòu)化方法。

22.設(shè)a、b、c為int型變量,且a=10、b=5、c=1,則執(zhí)行完以下語(yǔ)句,a的值變?yōu)椤尽俊?/p>

a/=10-(++b)-(c--);

23.診斷和改正程序中錯(cuò)誤的工作通常稱為【】。

24.設(shè)Y是int型變量,請(qǐng)寫(xiě)出判斷Y為奇數(shù)的關(guān)系表達(dá)【】。

25.若有以下程序

main()

{intp,a=5;

if(p=a!=0)

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

else

pfintf("%d\n",p+2);

}

執(zhí)行后輸出結(jié)果是【】。

26.以下程序由終端鍵盤(pán)輸入一個(gè)文件名,然后把從終端鍵盤(pán)輸入的字符依次放到該文

件中,用井作為結(jié)束輸入的標(biāo)志。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{FILE*fp;

charch,fname[10];

printf("Inputthenameoffile\n");

gets(fname);

if((fp=【】)==NULL)

{printf("Cannotope\n");exit(O);}

printf("Enterdata\n");

while((ch=getchar())!='#')

fputc(【】,fp);

fclose(fp);

}

27.以下程序運(yùn)行時(shí)若從鍵盤(pán)輸入:102030<回車(chē)>。輸出結(jié)果是()。

#include<stdio.h>

main()

{inti=0,j=0,k=0;

scanf("%d%*d%d",&i,&j,&k);printf("%d%d%d\n",i,j,k);

}

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

intt(intx,inty,intcp,intdp)

{cp=x*x+y*y;

dp=x*x-y*y;

}

main()

{inta=4,b=3,c=5,d=6;

t(a,b,c,d);

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

}

29.若有定義intm=5,y=2,則執(zhí)行表達(dá)式y(tǒng)+=y-=m*=y后,y的值為【】。

30.若有以下程序:

main()

{intp,a=5;

if(p=a!=0)

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

else

printf("%d\n",p+2);

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

31.在計(jì)算機(jī)軟件系統(tǒng)的體系結(jié)構(gòu)中,數(shù)據(jù)庫(kù)管理系統(tǒng)位于用戶和【】之間。

32.設(shè)有以下結(jié)構(gòu)類型說(shuō)明和變量定義,則變量a在內(nèi)存所占字節(jié)數(shù)是【】。

structstud

{charnum[6];

ints[4];

doubleave;

}a,*p;

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

#defineDOUBLE(x,y)x/y

main()

{intx=4,y=2,t;

t=DOUBLE(x+y,x-y);

printf("%d",t);

}

34.若有如下定義:

intx=2,y=3,z=4;

則表達(dá)式!(x=y)||x+z&&y-z的值是【】。

35.有以下定義語(yǔ)句,則sizeof(a)的值是【】,而sizeof(a.share)的值是【】。

structdate

{intday;

intmouth;

intyear,

union{intshare1;

floatshare2;

}share;

}a;

36.以下函數(shù)用以求x的y次方。補(bǔ)足所缺語(yǔ)句。

Doublefun(doublex,inty)

{inti;doublez=1;

for(i=1;i【】;i++)

z=【】;

returnz;

}

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

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

#defineN10

#defines(x)x*x

#definef(x)(x'x)

main()

{

inti1,i2;

i1-1000/s(N);i2=1000/f(N);

printf("%d%d\n",i1,i2);

}

39.對(duì)于軟件測(cè)試,從是否需要執(zhí)行被測(cè)軟件的角度,可以分為靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試。代碼檢查屬于______測(cè)試。

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

main()

{

charc1,c2;

for{c1='0',c2='9';c1<c2;c1++,C2--)

printf("%c%c",c1,c2);

printf("\n");

}

三、1.選擇題(20題)41.若語(yǔ)句“t=fun(fun(x,y,A),(a+b,a+C),x+y+z);”對(duì)fun函數(shù)的調(diào)用正確,則fun函數(shù)的形參個(gè)數(shù)為()。

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

42.在數(shù)據(jù)庫(kù)設(shè)計(jì)中,將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過(guò)程屬于()A.需求分析階段B.邏輯設(shè)計(jì)階段C.概念設(shè)計(jì)階段D.物理設(shè)計(jì)階段

43.下列寫(xiě)法正確的是()。

A.main(){inti=3,j;j=5}

B.main(){inti=3;

C.main()

D.main(){;}

44.變量a中的數(shù)據(jù)用二進(jìn)制表示的形式是01011101,變量b中的數(shù)據(jù)用二進(jìn)制表示的形式是11110000。若要求將a的高4位取反,低4位不變,所要執(zhí)行的運(yùn)算是()。

A.a^bB.a|bC.a&bD.a<<4

45.下列程序的運(yùn)行結(jié)果為()。#include<stdio.h>voidabc(char*str){inta,b,i,j;for(i=j=0;str[i]!='\0';i++)if(str[i]!='a'str[j++]=str[i];str[j]='\0';}voidmain(){charstr[]="abcdef";abc(str);printf("str[]=%s",str);}

A.str[]=bcdefB.str[]=abcdefC.str[]=aD.str[]=ab

46.內(nèi)聚性是對(duì)模塊功能強(qiáng)度的衡量,下列選項(xiàng)中,內(nèi)聚性較弱的是()

A.順序內(nèi)聚B.偶然內(nèi)聚C.時(shí)間內(nèi)聚D.邏輯內(nèi)聚

47.下列敘述中,不屬于軟件需求規(guī)格說(shuō)明書(shū)的作用的是()

A.便于用戶,開(kāi)發(fā)人員進(jìn)行理解和交流

B.反映出用戶問(wèn)題的結(jié)構(gòu),可以作為軟件開(kāi)發(fā)工作的基礎(chǔ)和依據(jù)

C.作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)

D.便于開(kāi)發(fā)人員進(jìn)行需求分析

48.以下程序的輸出的結(jié)果是intx=3;main(){inti;for(i=1;i<x;i++)incre();}incre(){staicintx=1;x*=x+1;printf("%d",x);}

A.33B.22C.26D.25

49.以下敘述中正確的是______。

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)

50.以下敘述正確的是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)

51.以下對(duì)C語(yǔ)言函數(shù)的有關(guān)描述中,正確的是______。

A.在C程序中,調(diào)用函數(shù)時(shí),只能把實(shí)參的值傳送給形參,形參的值不能傳送給實(shí)參

B.函數(shù)既可以嵌套定義又可以遞歸調(diào)用

C.函數(shù)必須有返回值,否則不能使用函數(shù)

D.C程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個(gè)源程序文件中

52.當(dāng)運(yùn)行以下程序時(shí),從鍵盤(pán)輸入AhaMA(空格)Aha<CR>,則下面程序的運(yùn)行結(jié)果是#include<stdio.h>main(){chars[80],c='a';inti=0;scanf("%s",s);while(s[i]!='\n\){if(s[i]]==c)s[i]-32;elseif(s[i]==c-32)s[i]=s[i]+32;i++;}puts(s);}

A.ahaMaB.AbAMaC.A11AMa[空格]ahaD.ahAMa[空格]ahA

53.以下敘述中錯(cuò)誤的是()。

A.改變函數(shù)形參的值,不會(huì)改變對(duì)應(yīng)實(shí)參的值

B.函數(shù)可以返回地址值

C.可以給指針變量賦一個(gè)整數(shù)作為地址值.

D.當(dāng)在程序的開(kāi)頭包含頭文件stdio.h時(shí),可以給指針變量賦NULL

54.有以下程序:#include<stdio.h>structs{intx,y;}data[2]={10,100,20,200};main(){structs*p=data;printf("%d\n",++(p->x));程序運(yùn)行后的輸出結(jié)果是()。

A.10B.11C.20D.21

55.在printf函數(shù)中用來(lái)輸出十六制無(wú)符號(hào)的格式字符是()

A.d格式符B.x格式符C.u格式符D.o格式符

56.有以下程序:#include<stdio.h>main(){charc1='1',c2='2';c1=getchar();c2=getchar();putchar(c1);putchar(c2);}當(dāng)運(yùn)行時(shí)輸入:a<回車(chē)>后,以下敘述正確的是()。

A.變量c1被賦予字符a,c2被賦予回車(chē)符

B.程序?qū)⒌却脩糨斎氲?個(gè)字符

C.變量c1被賦予字符a,c2中仍是原有字符2

D.變量c1被賦予字符a,c2中將無(wú)確定值

57.下列合法的數(shù)組定義是______。

A.inta[]="string";

B.inta[5]={0,1,2,3,4,5};

C.chars="string";

D.chara[]={0,1,2,3,4,5};

58.有以下程序main(){intm[][3]={1,4,7,2,5,8,3,6,9};inti,j,k=2;for(i=0;i<3;i++){printf("%d",m[k][i]);}}執(zhí)行后輸出結(jié)果是

A.456B.258C.369D.789

59.下述程序的輸出結(jié)果是

#include<stdio.h>

voidmain()

{inta[5]={2,4,6,8,10};

int*p=a,**q=&p;

printf("%d,",*(p++));

printf("%d",**q);}

A.4,4B.2,2C.4,5D.2,4

60.標(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中

四、選擇題(20題)61.以下選項(xiàng)中不合法的標(biāo)識(shí)符是()。

A.&aB.FORC.printD._00

62.

63.

64.有以下程序

main()

{inti=010,j=0X10;

pirntf("%d,%d\n",i,j);

}

該程序的輸出結(jié)果是

A.10,10B.8,10

C.8,16D.10,16

65.在滿足實(shí)體完整性約束的條件下()。

A.一個(gè)關(guān)系中廊該有一個(gè)或多個(gè)候選關(guān)鍵字

B.一個(gè)關(guān)系中只能有一個(gè)候選關(guān)鍵字

C.一個(gè)關(guān)系中必須有多個(gè)候選關(guān)鍵字

D.一個(gè)關(guān)系中可以沒(méi)有候選關(guān)鍵字

66.

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

68.

69.執(zhí)行以下程序時(shí)輸人1234567<CR>,則輸出結(jié)果是()。

#include<stdio.h>

main

{

inta=1,b;

scanf("%3d%2d",&a,&b);

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

}

A.12367B.12346C.12312D.12345

70.有以下程序:

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

A.LoB.30C.0D.64

71.軟件的()設(shè)計(jì)又稱總體結(jié)構(gòu)設(shè)計(jì),其主要任務(wù)是建立軟件系統(tǒng)的總體結(jié)構(gòu)。

A.概要B.抽象C.邏輯D.規(guī)劃

72.

73.

74.

75.若有代數(shù)式(其中e僅代表自然對(duì)數(shù)的底數(shù),不是變量),則以下能夠正確表示該代數(shù)式的c語(yǔ)言表達(dá)式是()。

76.

77.(15)在軟件生命周期中,能準(zhǔn)確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是()

A.概要設(shè)計(jì)

B.詳細(xì)設(shè)計(jì)

C.可行性分析

D.需求分析

78.現(xiàn)有定義inta;doubleb;floatc;chark;,則表達(dá)式a/b+C—k值的類型為:()。

A.intB.doubleC.floatD.char

79.有以下程序(注:字符a的ASCIl碼值為97)}程序運(yùn)行后的輸出結(jié)果是()。

A.789B.abcC.7890D.979899

80.

已知有如下結(jié)構(gòu)體:

structsk

{inta;

floatb;

}data,*p;

若有P=&data,則對(duì)data的成員a引用正確的是()。

A.(*p).data.a(chǎn)B.(*p).a(chǎn);C.p->data.a(chǎn)D.p.data.a(chǎn)

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:用冒泡法對(duì)6個(gè)字符串按由小到大的順序進(jìn)行排序。請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開(kāi)考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,請(qǐng)編寫(xiě)函數(shù)fun(),該函數(shù)的功能是判斷字符串是否為回文,若是,則函數(shù)返回1,在主函數(shù)中輸出“YES”,否則返回0,在主函數(shù)中輸出“NO”。回文字符串是指順讀和倒讀都一樣的字符串。例如,字符串LEVEL是回文,而字符串123312就不是回文。注意:部分源程序在文件prog1.c中。第3部分無(wú)紙化考武題庠請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。試題程序:1#include2#defineN803intfun(char*str)4{56}7main()8{9chars[n];10FILE*out;11char*test[]={"1234321","123421","123321","abcdCBA"};12inti;13printf("Enterastring:");14gets(s);15printf("\n\n");16puts(s);17if(fun(s))18printf("YES\n");19else20printf("NO\n");21/******************/22out=fopen("out.dat","w");23for(i=0;i<4/i++)24if(fun(test[i]))25fprintf(out,"YES\n");26else27fprintf(out,"NO\n");28fclose(out);29/******************/30}

參考答案

1.D

2.C解析:本題考查簡(jiǎn)單的if...else語(yǔ)句。先執(zhí)行條件if(a<b),顯然不成立,則執(zhí)行else語(yǔ)句。

3.B

4.B

5.B解析:在C語(yǔ)言的數(shù)組元素的引用方法,我們?cè)谇懊嬉呀?jīng)講過(guò)了,比如數(shù)組元素a[0],可以用表達(dá)式*(p+0),即*p來(lái)引用,對(duì)于數(shù)組元素a[1],可以用表達(dá)式*(p+1)來(lái)引用,在這里,p+1的值就是數(shù)組元素a[1]的地址,對(duì)此地址使用“間接訪問(wèn)運(yùn)算符”:*(p+1)就代表存儲(chǔ)單元a[1],注意:一對(duì)圓括號(hào)不可少。同樣,對(duì)于數(shù)組元素a[2],則可以用表達(dá)式。(p+2)來(lái)引用…,對(duì)于數(shù)組元素a[9],可以用表達(dá)式,(p+9)來(lái)引用。因此,當(dāng)指針變量p指向a數(shù)組的起始地址時(shí),若0≤i<10,則數(shù)組元素a[i]可以用*(p+i)來(lái)表示。

6.A

7.C

8.C解析:在數(shù)據(jù)庫(kù)系統(tǒng)中,由于采用的數(shù)據(jù)模型不同,相應(yīng)的數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)也不同。目前常用的數(shù)據(jù)模型有三種:層次模型、網(wǎng)狀模型和關(guān)系模型。在層次模型中,實(shí)體之間的聯(lián)系是用樹(shù)結(jié)構(gòu)來(lái)表示的,其中實(shí)體集(記錄型)是樹(shù)中的結(jié)點(diǎn),而樹(shù)中各結(jié)點(diǎn)之間的連線表示它們之間的關(guān)系。因此,本題的正確答案是C。

9.A選項(xiàng)B)的正確寫(xiě)法應(yīng)為p=&n;選項(xiàng)C)的正確寫(xiě)法應(yīng)為scanf("%d",p);選項(xiàng)D)的正確寫(xiě)法應(yīng)為print("%d\\n",*p)。

10.C

11.C

12.A

13.B第一個(gè)for循環(huán)的作用是讓p指向每行的首地址,第二個(gè)for循環(huán)的作用是把它指向的字符串輸出,故選擇B選項(xiàng)。

14.C

15.A

16.B

17.AC語(yǔ)言中,字符指針變量可以直接使用字符串賦值,而字符數(shù)組不能直接使用字符串或字符數(shù)組賦值,選項(xiàng)B、C、D錯(cuò)誤,選項(xiàng)A正確。故本題答案為A選項(xiàng)。

18.A通過(guò)指針變量存取某個(gè)變量值的方式稱為“間接存取”方式,選項(xiàng)A錯(cuò)誤;頭文件stdio.h中定義了NULL,在程序的開(kāi)頭包含stdio.h后,可以給指針變量賦NULL值,表示一個(gè)空指針,選項(xiàng)B正確;將一個(gè)指針變量中的值賦給另一個(gè)指針變量,這兩個(gè)指針變量指向同一地址,選項(xiàng)C正確;C語(yǔ)言中函數(shù)返回值的類型可以是簡(jiǎn)單的數(shù)據(jù)類型,也可以是指針類型,選項(xiàng)D正確。故本題答案為A選項(xiàng)。

19.B

20.E

21.數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)解析:Jackson方法是—‘種面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化方法。

22.3

23.程序調(diào)試程序調(diào)試解析:程序調(diào)試的任務(wù)是診斷和改正程序中的錯(cuò)誤。程序調(diào)試與軟件測(cè)試不同,軟件測(cè)試是盡可能多地發(fā)現(xiàn)軟件中的錯(cuò)誤。先要發(fā)現(xiàn)軟件的錯(cuò)誤,然后借助于調(diào)試工具找出軟件錯(cuò)誤的具體位置。軟件測(cè)試貫穿整個(gè)軟件生命期,而調(diào)試主要在開(kāi)發(fā)階段。

24.Y%2=1或Y%2!=0Y%2=1或Y%2!=0解析:判斷變量是否為奇數(shù)可以用變量與2取模,判斷結(jié)果是為1或不為0。本題具體做法如下:Y%2=1或Y%2!=0。

25.11解析:首先計(jì)算if語(yǔ)句后面的表達(dá)式,根據(jù)運(yùn)算符的優(yōu)先級(jí)可知,先算“a!=o”,該值為1,再把1賦值給p,結(jié)果為1(真),執(zhí)行其后的printf語(yǔ)句,輸出的值為1。

26.fopen(fname:"w")

27.1030010300解析:本題的考點(diǎn)是C語(yǔ)言的scanf的“%*d”?!?*d”是在輸入流中跳過(guò)一個(gè)整數(shù),而讀入下一個(gè)整數(shù)。因此語(yǔ)句“scanf('%d%*d%d',&i,&j,&k);”在讀入10、20、30時(shí),將10讀入到i中,將20跳過(guò),將30讀入到j(luò)中,而k沒(méi)有讀入數(shù),仍是初值的0。

28.5656解析:本題中a,b,c,d足實(shí)參,x,y,cp,dp是形參。C語(yǔ)言規(guī)定,實(shí)參變量對(duì)形參變量的數(shù)據(jù)傳遞是“值傳遞”,即單向傳遞,只由實(shí)參傳給形參,而不能由形參傳回來(lái)給實(shí)參。在內(nèi)存中,實(shí)參單元與形參單元是不同的單元。在調(diào)用函數(shù)時(shí),給形參分配存儲(chǔ)單元,并將實(shí)參對(duì)應(yīng)的值傳遞給形參,調(diào)用結(jié)束后,形參單元被釋放,實(shí)參單元仍保留并維持原值。因此,程序的輸出結(jié)果是56。

29.-16-16解析:將賦值運(yùn)算符右側(cè)的“表達(dá)式”的值賦給左側(cè)的變量,并且賦值運(yùn)算符按照“自右而左”的結(jié)合順序,本題表達(dá)式應(yīng)先算m的值為10,再運(yùn)算y的值為8,最后計(jì)算y=y+(-8)=-8+(-8)=-16。

30.11解析:本題考查C語(yǔ)言中的if-else語(yǔ)句。if語(yǔ)句中的條件表達(dá)式p=a!=0是一個(gè)賦值語(yǔ)句,將關(guān)系表達(dá)式a!=0的結(jié)果賦值給變量p。因a=5,所以a!=0的結(jié)果為1,即p=1,條件為真,所以執(zhí)行if后面的語(yǔ)句printf('%d\\n',p),輸出結(jié)果為1。

31.操作系統(tǒng)或OS操作系統(tǒng)或OS解析:數(shù)據(jù)庫(kù)管理系統(tǒng)是數(shù)據(jù)庫(kù)的機(jī)構(gòu),它是一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫(kù)中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護(hù)、控制及保護(hù)和數(shù)據(jù)服務(wù)。位于用戶和操作系統(tǒng)之間。

32.22

33.2

34.11解析:運(yùn)算符的優(yōu)先級(jí)次序由高到底是!,算術(shù)運(yùn)算符,&&,||。先運(yùn)算!(x=y),由于x=3非零,則表達(dá)式!(x=y)的值為0。再運(yùn)算x+z,x+z=3+4=7,非零則運(yùn)算y-z,y-z=3-4=-1,非零則表達(dá)式x+z&&y-z的值為1。0||1=0,則表達(dá)式!(x=y)||x+z&&y-z的值是1。

35.10410\r\n4解析:結(jié)構(gòu)體變量所占內(nèi)存長(zhǎng)度是各成員占的內(nèi)存長(zhǎng)度之和。每個(gè)成員分別占有其自己的內(nèi)存單元。int占2個(gè)字節(jié),float占4個(gè)字節(jié),共用體變量所占的內(nèi)存長(zhǎng)度等于最長(zhǎng)的成員的長(zhǎng)度。所以,sizeof(a.share)的值是4,sizeof(a)的值是2+2+2+4-10。

36.<y+1z*x

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

38.100010100010解析:首先將程序中的宏替換掉,兩處的宏替換后分別為i1=1000/10*10和i2=1000/(10*10),即i1=1000,i2=10,所以最后輸出的i1和i2的值分別為1000和10。

39.靜態(tài)靜態(tài)解析:靜態(tài)測(cè)試包括代碼檢查、靜態(tài)結(jié)構(gòu)分析,代碼質(zhì)量度量等。靜態(tài)測(cè)試不實(shí)際運(yùn)行軟件。

40.918273645918273645解析:題目中為for循環(huán)定義了兩個(gè)字符型循環(huán)變量c1和c2,循環(huán)開(kāi)始時(shí)分別初始化為字符'0'和'9',然后每次循環(huán)結(jié)束給c1增1、c2減1,循環(huán)條件為c1<c2,即讓c1的值依次為'0'、'1'、'2'…,c2的值依次為'9'、'8'、'7'…,直到兩個(gè)數(shù)相遇時(shí)結(jié)束循環(huán)。又因?yàn)樵撗h(huán)的循環(huán)體每次按字符形式輸出c1和c2的值.所以最終的輸出結(jié)果為:0918273645。

41.A本題考查函數(shù)調(diào)用時(shí)的參數(shù)個(gè)數(shù)。在函數(shù)調(diào)用時(shí),實(shí)參必須和形參的個(gè)數(shù)、類型一一對(duì)應(yīng)。但函數(shù)的計(jì)算結(jié)果只有一個(gè)值,因而fun函數(shù)的參數(shù)個(gè)數(shù)為3。

42.B數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的邏輯設(shè)計(jì)包括數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫(kù)事務(wù)概要設(shè)計(jì)和應(yīng)用程序概要設(shè)計(jì)三方面。數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)的主要步驟為:將E—R圖轉(zhuǎn)換為初始關(guān)系模式,對(duì)初始關(guān)系模式進(jìn)行優(yōu)化,檢查關(guān)系表對(duì)數(shù)據(jù)庫(kù)事務(wù)的支持性,確定關(guān)系模式完整性約束,設(shè)計(jì)基于關(guān)系模式的用戶視圖。

43.D解析:本題考查語(yǔ)句的基本構(gòu)成。選項(xiàng)A)中j=5后面少了一個(gè)分號(hào):選項(xiàng)B)中少了“}”;選項(xiàng)C)不是一個(gè)完整的函數(shù)定義格式,一個(gè)完整的函數(shù)定義格式還包括一對(duì)花括號(hào):選項(xiàng)D)正確,是一個(gè)空語(yǔ)句。

44.A解析:1與1異或結(jié)果為0,0與1異或結(jié)果為1,可見(jiàn)要使某位數(shù)翻轉(zhuǎn),只要使其與1進(jìn)行異或運(yùn)算即可。0與0進(jìn)行異或運(yùn)算結(jié)果為0,1與0進(jìn)行異或運(yùn)算結(jié)果為1,可見(jiàn)要使某位的數(shù)不變,只要使其與0進(jìn)行異或運(yùn)算即可。

45.A解析:本題考查函數(shù)調(diào)用時(shí)的參數(shù)傳遞。通過(guò)函數(shù)abc的執(zhí)行,將字符串中的字母a去掉,保留剩下的。由于是通過(guò)指針調(diào)用,所以改變字符串的結(jié)果。

46.BB)【解析】?jī)?nèi)聚是從功能角度來(lái)衡量模塊的聯(lián)系,它描述的是模塊內(nèi)的功能聯(lián)系。內(nèi)聚有如下種類,它們之間的內(nèi)聚度由弱到強(qiáng)排列:

偶然內(nèi)聚——模塊中的代碼無(wú)法定義其不同功能的調(diào)用。但它使該模塊能執(zhí)行不同的功能,這種模塊為巧合強(qiáng)度模塊。

邏輯內(nèi)聚——這種模塊把幾種相關(guān)的功能組合在一起,每次被調(diào)用時(shí),由傳送給模塊的參數(shù)來(lái)確定該模塊應(yīng)完成哪一種功能。

時(shí)間內(nèi)聚——這種模塊順序完成一類相關(guān)功能,比如初始化模塊,它順序地為變量置初值。

過(guò)程內(nèi)聚——如果一個(gè)模塊內(nèi)的處理元素是相關(guān)的,而且必須以特定次序執(zhí)行,則稱為過(guò)程內(nèi)聚。

通信內(nèi)聚——這種模塊除了具有過(guò)程內(nèi)聚的特點(diǎn)外,還有另外一種關(guān)系,即它的所有功能都通過(guò)使用公用數(shù)據(jù)而發(fā)生關(guān)系。

順序內(nèi)聚——如果一個(gè)模塊內(nèi)各個(gè)處理元素和同一個(gè)功能密切相關(guān),而且這些處理必須順序執(zhí)行,處理元素的輸出數(shù)據(jù)作為下一個(gè)處理元素的輸入數(shù)據(jù),則稱為順序內(nèi)聚。

功能內(nèi)聚——如果一個(gè)模塊包括為完成某一具體任務(wù)所必需的所有成分,或者說(shuō)模塊中所有成分結(jié)合起來(lái)是為了完成一個(gè)具體的任務(wù),此模塊則為功能內(nèi)聚模塊。

47.D解析:軟件需求規(guī)格說(shuō)明書(shū)SRS,SoftwareRequirementSpecification)是需求分析階段的最后成果,是軟件開(kāi)發(fā)中的重要文檔之一。它有以下幾個(gè)方面的作用,①便于用戶、開(kāi)發(fā)人員進(jìn)行理解和交流;②反映出用戶問(wèn)題的結(jié)構(gòu),可以作為軟件開(kāi)發(fā)工作的基礎(chǔ)和依據(jù);③作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)。

48.C解析:本題首先定義一個(gè)全局變量x并賦初值為3,主函數(shù)中使用這個(gè)全局變量控制循環(huán)次數(shù),循環(huán)執(zhí)行了2次,調(diào)用兩次tncre()函數(shù)。第一次調(diào)用incre(),定義一個(gè)靜態(tài)變量x并賦初值1,然后執(zhí)行“x*=x+1”,使x的值變?yōu)?;第二次調(diào)用incre()函數(shù)時(shí),靜態(tài)變量將保留上一次退出時(shí)的值即2,執(zhí)行語(yǔ)句“x*=x+1”后,x的值變成6,輸出x的值為6。所以,4個(gè)選項(xiàng)中C為所選。

49.C解析:計(jì)算機(jī)語(yǔ)言分為低級(jí)語(yǔ)言、匯編語(yǔ)言和高級(jí)語(yǔ)言,C語(yǔ)言屬于高級(jí)語(yǔ)言,但并不是說(shuō)C語(yǔ)言比其他語(yǔ)言高級(jí),所以選項(xiàng)A錯(cuò)誤;除了低級(jí)語(yǔ)言外,其他各種語(yǔ)言都必須編譯成能被計(jì)算機(jī)識(shí)別的二進(jìn)制數(shù)才能執(zhí)行,選項(xiàng)B錯(cuò)誤;C語(yǔ)言出現(xiàn)從1972年到1973年間,并不是出現(xiàn)最晚的語(yǔ)言,所以選項(xiàng)D也是錯(cuò)誤的。

50.C解析:目前,在社會(huì)上使用的程序設(shè)計(jì)語(yǔ)言有上百種,它們都被稱為計(jì)算機(jī)“高級(jí)語(yǔ)言”,如BASIC,C語(yǔ)言等。但是對(duì)于計(jì)算機(jī)本身來(lái)說(shuō),它并不能直接識(shí)別由高級(jí)語(yǔ)言編寫(xiě)的程序,只能接受并處理由0,1代碼組成的數(shù)據(jù),即所謂的機(jī)器語(yǔ)言代碼。目前,一些程序設(shè)計(jì)語(yǔ)言(如Visual\u3000Basic\u3000Visual\u3000C++和Visual\u3000FoxPro等)所具有的面向?qū)ο蠹夹g(shù),C語(yǔ)言則沒(méi)有。

51.A解析:在C語(yǔ)言中,提供了許多庫(kù)函數(shù)供用戶使用,因此選項(xiàng)D錯(cuò)誤。

52.A解析:本題主要考查的知識(shí)點(diǎn)是大寫(xiě)字母比它對(duì)應(yīng)的小寫(xiě)字母ASCII碼值小32,并且字符可以看作整數(shù)進(jìn)行算術(shù)運(yùn)算等操作。

53.C解析:函數(shù)形參和實(shí)參分別占用不同的內(nèi)存單元,改變形參的值不會(huì)影響對(duì)應(yīng)實(shí)參的值,選項(xiàng)A)正確。指針類型的函數(shù)可以返回地址值,選項(xiàng)B)正確。在文件stdio.h中,NULL被定義為void型的指針,選項(xiàng)D)也正確。指針變量的值只能是存儲(chǔ)單元地址,而不能是一個(gè)整數(shù),選項(xiàng)C)錯(cuò)誤。

54.B解析:本題考查對(duì)外部存儲(chǔ)類型的結(jié)構(gòu)體變量進(jìn)行初始化。初始化后,data[0]x的值為10,data[0]y的值為100。輸出++(p->x)時(shí),++(p->x)就相當(dāng)于++data[0].x,這時(shí)data[0].x先自增,再使用,所以輸出11。

55.B

56.A解析:本題考查的是getchar()函數(shù)。getchar()函數(shù)執(zhí)行時(shí)將從鍵盤(pán)緩沖區(qū)中讀取用戶的輸入,而不管輸入的是否可打印字符,所以當(dāng)輸入a<回車(chē)>后,鍵盤(pán)緩沖區(qū)被輸入的實(shí)際上是兩個(gè)字符:'a'和'\\n'。故選項(xiàng)A的說(shuō)法是正確的。

57.D解析:選項(xiàng)A錯(cuò)在用字符串對(duì)整型數(shù)組賦值;選項(xiàng)B錯(cuò)在初始化表中數(shù)據(jù)的個(gè)數(shù)多于數(shù)組的最大長(zhǎng)度;選項(xiàng)C錯(cuò)在沒(méi)有用數(shù)組存儲(chǔ)字符串;選項(xiàng)D的初始化表中雖然是5個(gè)數(shù),但實(shí)際相當(dāng)于把ASCⅡ碼值是這5個(gè)整數(shù)的字符賦值給數(shù)組,因此是正確的。

58.C解析:本題考核的知識(shí)點(diǎn)是二維數(shù)組的定義,賦值及數(shù)組元素的引用。變量k的初值為2,循環(huán)執(zhí)行了3次,分別輸出m[2][0]、m[2][1]和m[2][2],其值分別為3,6,9。所以,C選項(xiàng)為所選。

59.D解析:考查一維數(shù)組的指針和指向指針的指針兩個(gè)知識(shí)點(diǎn)。通過(guò)賦值,指針p和q都指向了數(shù)組a的首地址,*(p++)先引用數(shù)組元素,然后p++,所以輸出結(jié)果為2,**q指向的數(shù)組元素為4。

60.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é)束。

61.Ac語(yǔ)言中標(biāo)識(shí)符由字母、下劃線或數(shù)字組成,且開(kāi)頭必須是字母或下劃線。另外,關(guān)鍵字不能作為標(biāo)識(shí)符。因?yàn)閏語(yǔ)言中區(qū)分大小寫(xiě),所以B)選項(xiàng)中的“FOR”可以作為標(biāo)識(shí)符來(lái)用。A)選項(xiàng)中含有非法字符&,因此選擇A)。

62.A

63.B

64.C本題主要考查八進(jìn)制數(shù)與十六進(jìn)制數(shù)的十進(jìn)制輸出。做這類題目的關(guān)鍵是對(duì)數(shù)據(jù)進(jìn)行數(shù)制轉(zhuǎn)換。

在程序中,首先定義了兩個(gè)變量i和j,其中i的初值為一個(gè)八進(jìn)制數(shù)10,而j的初值為一個(gè)十六進(jìn)制數(shù)10,然后輸出它們的十進(jìn)制數(shù)。

一般情況下,八進(jìn)制數(shù)與十進(jìn)制數(shù)的轉(zhuǎn)換通過(guò)二進(jìn)制來(lái)實(shí)現(xiàn),即先將八進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù),然后將二進(jìn)制轉(zhuǎn)換為十進(jìn)制數(shù)。八進(jìn)制數(shù)的一位對(duì)應(yīng)二進(jìn)制數(shù)的三位,那么將八進(jìn)制數(shù)10轉(zhuǎn)換成二進(jìn)制應(yīng)該為001000,再將這個(gè)值轉(zhuǎn)換為十進(jìn)制,即2的三次方,結(jié)果為8。

將十六進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)也可以通過(guò)二進(jìn)制來(lái)實(shí)現(xiàn)。一位十六進(jìn)制數(shù)對(duì)應(yīng)四位二進(jìn)制數(shù),轉(zhuǎn)換后為00010000,再將這個(gè)值轉(zhuǎn)換為十進(jìn)制數(shù),即2的四次方,結(jié)果為16。

因此本題程序最后輸出的結(jié)果為8,16。

65.A實(shí)體完整性約束要求關(guān)系的主鍵中屬性值不能為空值,因此本題答案為A)。

66.B

67.AA)選項(xiàng)structord(intx;inty;intz;}structord

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論