2022-2023年四川省綿陽市全國計算機等級考試C語言程序設(shè)計預測試題(含答案)_第1頁
2022-2023年四川省綿陽市全國計算機等級考試C語言程序設(shè)計預測試題(含答案)_第2頁
2022-2023年四川省綿陽市全國計算機等級考試C語言程序設(shè)計預測試題(含答案)_第3頁
2022-2023年四川省綿陽市全國計算機等級考試C語言程序設(shè)計預測試題(含答案)_第4頁
2022-2023年四川省綿陽市全國計算機等級考試C語言程序設(shè)計預測試題(含答案)_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2022-2023年四川省綿陽市全國計算機等級考試C語言程序設(shè)計預測試題(含答案)學校:________班級:________姓名:________考號:________

一、單選題(20題)1.有以下程序段#include<stdio.h>main(){...while(getchar()!=\n);...}以下敘述中正確的是()。A.此while語句將無限循環(huán)

B.getchar()不可以出現(xiàn)在while語句的條件表達式中

C.當執(zhí)行此while語句時,只有按回車鍵程序才能繼續(xù)執(zhí)行

D.當執(zhí)行此while語句時,按任意鍵程序就能繼續(xù)執(zhí)行

2.數(shù)據(jù)的獨立性是指______。

A.數(shù)據(jù)庫的數(shù)據(jù)相互獨立

B.DBMS和DB相互獨立

C.用戶應(yīng)用程序與數(shù)據(jù)庫的數(shù)據(jù)相互獨立

D.用戶應(yīng)用程序與DBMS相互獨立

3.有以下程序:#include<stdio.h>main(){inti,data;scanf(“%d”,&data);for(i=0;i<8;i++){if(i<=data)continue;printf(“%d,”,i);}}程序運行時輸入5并按〈Enter〉鍵,則程序輸出結(jié)果為()。

A.5,6,7,B.0,1,2,3,4,C.6,7,D.6,7,8,

4.字符(char)型數(shù)據(jù)在微內(nèi)存中的存儲形式是______。

A.反碼B.補碼C.EBCDIC碼D.ASCII碼

5.遞歸式的先序遍歷一個n節(jié)點,深度為d的二叉樹,則需要??臻g的大小為()

A.O(logn)B.O(nlogn)C.O(n)D.O(d)

6.若有說明:inta[][3]={0,0};則不正確的敘述是()。

A.數(shù)組a的每個元素的初值都是0

B.數(shù)組a的第一維大小為1

C.數(shù)組a的行數(shù)為1

D.只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0

7.

若變量均已正確賦初值,則以下語句中

錯誤的是()。

A.tl=t2;

B.t2.numl=tl.numl;

C.t2.mark=tl.Mark

D.t2.num2=tl.hum2;

8.以下敘述中錯誤的是()。

A.getehar函數(shù)用于從磁盤文件讀入字符

B.gets匿數(shù)用于從終端讀入字符串

C.取ns函數(shù)用于把字符串輸出到文件

D.fwrite函數(shù)用于以二進制形式輸出數(shù)據(jù)到文件

9.有以下程序#include<stdio.h>voidfun(int*a,intn)/*fun函數(shù)的功能是將a所指數(shù)組元素從大到小排序*/{intt,i,j;for(i=0;i<n-1;j++)for(j=i+l;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}main{intc[10]={1,2,3,4,5,6,7,8,9,0),i;fun(c+4,6);for(i=0;i<10;i++)printf("%d,",c[i]);printf("\n");}程序運行的結(jié)果是()。A.1,2,3,4,5,6,7,8,9,0,

B.0,9,8,7,6,5,1,2,3,4,

C.0,9,8,7,6,5,4,3,2,1,

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

10.C語言中,組成數(shù)據(jù)文件的成分是()。A.A.記錄

B.數(shù)據(jù)行

C.數(shù)據(jù)塊

D.字符(字節(jié))序列

11.可用作C語言用戶標識符的一組標識符是()。A.voiddefine+WORDB.a3_b3_123YNC.for-abcCaseD.2aDOsizeof

12.十進制數(shù)124轉(zhuǎn)換成二進制數(shù)是()

A.111l010B.1111100C.1011111D.1111011

13.程序流程圖中有箭頭的線段表示的是()。

A.圖元關(guān)系B.數(shù)據(jù)流C.控制流D.調(diào)用關(guān)系

14.X、Y、Z被定義為int型變量,若從鍵盤給X、Y、Z輸入數(shù)據(jù),正確的輸入語句是______。

A.INPUTX,Y,Z;

B.scanf("%d%d%d",&X,&Y,&Z);

C.scanf("%d%d%d",X,Y,Z);

D.read("%d%d%d",&X,&Y,&Z);

15.對于順序存儲的線性表,訪問結(jié)點和增加、刪除結(jié)點的時間復雜度為()。

A.O(n)O(n)B.O(n)O(1)C.O(1)O(n)D.O(1)O(1)

16.有以下程序:

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

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

17.已知一算術(shù)表達式的中綴表達式為a-(b+c/d)*e,其后綴形式為()

A.-a+b*c/dB.-a+b*cd/eC.-+*abc/deD.abcd/+e*-

18.在具有n個結(jié)點的有序單鏈表中插入一個新結(jié)點并使鏈表仍然有序的時間復雜度是________

A.O(1)B.O(n)C.O(nlogn)D.O(n2)

19.在有序雙向鏈表中定位刪除一個元素的平均時間復雜度為()

A.O(1)B.O(N)C.O(logN)D.O(N*logN)

20.以下程序執(zhí)行后sum的值是()。

A.15

B.14

C.不確定

D.0main(){inti,sum;for(i=1;i<6;i++)sum+=i;printf("%d\n",sum);}

二、2.填空題(20題)21.在面向?qū)ο蠓椒ㄖ?,【】描述的是具有相似屬性與操作的一組對象。

22.若有以下程序:

main()

{chara;

a='H'-'A'+'0';

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

}

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

23.關(guān)系模型的完整性規(guī)則是對關(guān)系的某種約束條件,包括實體完整性、______和自定義完整性。

24.在程序設(shè)計階段應(yīng)該采取______和逐步求精的方法,把一個模塊的功能逐步分解,細化為一系列具體的步驟,繼而用某種程序設(shè)計語言寫成程序。

25.能把計算機處理好的結(jié)果轉(zhuǎn)換成為文本、圖形、圖像或聲音等形式并輸送出來的設(shè)備稱為【】設(shè)備。

26.注釋說明了程序的功能,它分為【】注釋和功能性注釋。

27.下列程序輸出的結(jié)果是______。

intm=17;

intfun(intx,inty)

{intm=3;

return(x*Y-m);

}

main()

{inta=5,b=7;

printf("%d\n",fun(a,B)/m);

}

28.當m=1,n=2,a=3,b=2,c=4時,執(zhí)行d=(m=a!=B)&&(n=b>C)后,m的值為()。

29.函數(shù)rewind的作用是

30.需求分析的最終結(jié)果是產(chǎn)生【】。

31.語句:x++;、++x;、x=x+1;、x=1+x;,執(zhí)行后都使變量x中的值增1,請寫出一條同一功能的賦值語句(不得與列舉的相同)【】。

32.下面程序的運行結(jié)果是:【】。

typedefunionstudent

{charname[10];

longsno;

charsex;

floatscore[4];

}STU;

main()

{STUa[5];

Printf(“%d\n”,sizeof(a));

}

33.數(shù)據(jù)流的類型有______和事務(wù)型。

34.以下條件表達式可計算:1+|a|的值,請?zhí)羁铡?/p>

a>=0?【】:【】

35.面向?qū)ο蟮哪P椭?,最基本的概念是對象和______。

36.有以下程序:

voidfun(int*a,inti,intj)

{intt;

if(i<j)

{t=a[i];a[i]=a[j];a[j]=t;

i++;j--;

fun(a,i,j);

}

}

main()

{intx[]=(2,6,1,8),i;

fun(x,0,3);

for(i=0;i<4;i++)printf("%2d",x[i]);

}

程序運行后的輸出結(jié)果是【】。

37.下列程序的輸出結(jié)果是______。

main()

{inta=2,b=4,c=6;

int*p1=&a,*p2=&b,*p;

*(p=&c)=*p1*(*p2);

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

}

38.長度為n的順序存儲線性表中,當在任何位置上插入一個元素概率都相等時,插入一個元素所需移動元素的平均個數(shù)為【】。

39.設(shè)有下列宏定義:#defineA2

#defineBA+3

則執(zhí)行賦值語句;t=B*2;t為int型變量后的值是______。

40.下列程序的運行結(jié)果是______。

#include<stdio.h>

func(a,b)

{staticintm=0,i=2;

i+=m+1;

m=i+a+b;

return(m);

}

main()

{intk=5,m=3,p;

p=func(k,m);

printf("%d",p);

p=func(k,m);

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

}

三、1.選擇題(20題)41.以下能正確定義字符串的語句是()。

A.charstr[]={'\064'};

B.charstr="\x43";

C.charstr=";

D.charstr[]="\0";

42.排序方法中,將整個無序序列分割成若干小的子序列并分別進行插入排序的方法,稱為______。

A.希爾排序B.冒泡排序C.插入排序D.選擇排序

43.結(jié)構(gòu)化分析方法是面向()的自頂向下、逐步求精進行需求分析的方法

A.對象B.數(shù)據(jù)結(jié)構(gòu)C.數(shù)據(jù)流D.目標

44.判斷char型變量cl是否為大寫字母的正確表達式是

A.′A′<=cl<=′Z′

B.(cl>=A)&&(cl<=Z)

C.(′A′>=cl)||(′Z′<=cl)

D.(cl>=′A′)&&(cl<=′Z′)

45.有以下程序main(){charstr[][10]={"China",Beijing"},*p=str;printf("%s\n",p+10);}程序運行后的輸出結(jié)果是

A.ChinaB.BeijingC.ngD.ing

46.設(shè)有:

inta=1,b=2,c=3,d=4,m=2,n=2;

執(zhí)行(m=a>b)&&(n=c>d)后,n的值是

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

47.以下錯誤的定義語句是A.intx[][3]={{0},{1},{1,2,3}};

B.intx[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};

C.intx[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};

D.intx[][3]={1,2,3,4};

48.按照“后進先出”原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是()。

A.隊列B.棧C.雙向鏈表D.二叉樹

49.下列程序的運行結(jié)果是#include"stdio.h"main(){intx=-9,y=5,z=8;if(x<y)if(y<0)z=0;elsez+=1;printf("%d\n",z);}

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

50.下面描述中,符合結(jié)構(gòu)化程序設(shè)計風格的是()。

A.使用順序、選擇和重復(循環(huán))3種基本控制結(jié)構(gòu)表示程序的控制邏輯

B.模塊只有一個入口,可以有多個出口

C.注重提高程序的執(zhí)行效率

D.不使用goto語句

51.下面程序的輸出結(jié)果為______。#include<string.h>main(){charp1[7]="abc",p2[]="ABC",str[50]="xyz";strcpy(str,strcat(p1,p2));printf("%s",str);}

A.xyzabcABCB.abcABCC.xyzabcD.xyzABC

52.若執(zhí)行下列的程序時,從鍵盤上輸入1和2,則輸出結(jié)果是()。#include<stdio.h>main(){inta,b,s;scanf("%d%d",&a,&b);s=a;if(a<b)s=b;S=S*S,printf("%d\n",s);}

A.1B.4C.2D.9

53.在下列語句中,其含義為“q為一個指針的函數(shù),該指針指向整型數(shù)據(jù)”的定義語句是()。

A.int**q;B.int(*q)();C.int*q;D.int*q();

54.下列說法中錯誤的是A.A.只能在循環(huán)體內(nèi)使用break語句

B.在循環(huán)體內(nèi)使用break語句可以使流程跳出本層循環(huán)體,從而提前結(jié)束本層循環(huán)

C.在while和do…while循環(huán)中,continue語句并沒有使整個循環(huán)終止

D.continue的作用是結(jié)束本次循環(huán),即跳過本次循環(huán)體中余下尚未執(zhí)行的語句,接著再一次進行循環(huán)判斷

55.若要求從鍵盤讀入含有空格字符的字符串,應(yīng)使用函數(shù)A.getc()B.gets()C.getchar()D.scanf()

56.若有下列定義(設(shè)int類型變量占2個字節(jié)):inti=8,j=9;則下列語句:printf("i=%%d,j=%%d\n”,i,j);輸出的結(jié)果是()。

A.i=8,j=9B.i=%d,j=%dC.i=%8,j=%9D.8,9

57.請選出以下程序的輸出結(jié)果

#include<stdio.h>

main()

{inta[]={1,2,3,4},i;

intx=0;

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

{sub(a,x);printf("%d",x);}

printf("\n");}

sub(s,y)

int*s,y;

{staticintt=3;

y=s[t];t--;}

A.1234B.4321C.0000D.4444

58.有以下程序:main(){intm=12,n=34;printf("%d%d",m++,++n);printf("%d%d\n",n++,++m);}程序運行后的輸出結(jié)果是______。

A.12353514B.12353513C.12343514D.12343513

59.模塊本身的內(nèi)聚是模塊獨立性的重要性度量因素之一。在7類內(nèi)聚中,具有最強內(nèi)聚的—類是______。

A.順序性內(nèi)聚B.過程性內(nèi)聚C.邏輯性內(nèi)聚D.功能性內(nèi)聚

60.假定w、x、y、m均為int型變量,則執(zhí)行下列的語句后,m的值是()。w=6,x=4,y=3;m=(w<x)?w:x;m=(m<y)?m:y;

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

四、選擇題(20題)61.設(shè)“intx=2,y=1;”,則表達式(!x||Y--)的值是()。

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

62.

63.算法分析的目的是()。

A.找出數(shù)據(jù)結(jié)構(gòu)的合理性B.找出算法中輸入和輸出之間的關(guān)系C.分析算法的易懂性和可靠性D.分析算法的效率以求改進

64.有三個關(guān)系R,S和T如下:

其中關(guān)系T由關(guān)系R和s通過某種操作得到,該操作為()。

A.選擇B.交C.投影D.并

65.下列關(guān)于棧敘述正確的是()。A.棧頂元素最先能被刪除B.棧頂元素最后才能被刪除C.棧底元素永遠不能被刪除D.棧底元素最先能被胍除

66.有以下程序:

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

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

67.

68.下列不可作為C語言賦值語句的是()。

A.x=3,y=5B.a(chǎn)=b=6C.i--D.y=6

69.

70.若變量x、y已正確定義并賦值,以下符合C語言語法的表達式是()。

A.X+1=yB.++X.Y=X一一C.X=X+10=X+YD.double(X)/10

71.有以下程序程序運行后的輸出結(jié)果是()。

A.123456B.14C.1234D.12

72.以下敘述中錯誤的是()。

A.全局變量的作用域一定比局部變量的作用域范圍大

B.靜態(tài)(static)類別變量的生存期貫穿于整個程序的運行期間

C.全局變量的生存期是整個程序的運行期間

D.靜態(tài)局部變量的初值是在編譯時賦予的,在程序執(zhí)行期間不再賦予初值

73.

74.

75.

76.下列選項中,不是一個算法的基本特征的是()。

A.完整性B.可行性C.有窮性D.擁有足夠的情報

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

A.#defineS(x)x*x

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

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

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

78.設(shè)有定義:intm=0;。以下選項的四個表達式中與其他三個表達式的值不相同的是()。

A.++mB.m+=1C.m++D.m+1

79.

80.有以下程序:

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

A.12

B.15

C.16

D.20

五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc()的功能是:將m(1≤m≤10)個字符串連接起來,組成一個新串,放入pt所指字符串中,例如,把2個字符串a(chǎn)bc、CD串聯(lián)起來,結(jié)果是abcCD。請修改程序中的錯誤,使它能得出正確的結(jié)果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計題(1題)82.三個整數(shù)a、b、c,由鍵盤輸入,輸出其中最大的數(shù)。

參考答案

1.C主要是考查while和getchar函數(shù),getchar函數(shù)是輸入字符函數(shù),while是循環(huán)語句,所以當輸入的字符為換行符時將執(zhí)行。

2.C解析:修改數(shù)據(jù)庫的物理結(jié)構(gòu)或邏輯結(jié)構(gòu)時,通過兩級映像,可以使得應(yīng)用程序不必修改,保證數(shù)據(jù)的獨立性。數(shù)據(jù)的獨立性包括物理獨立性和邏輯獨立性。

3.Cmain函數(shù)首先定義一個整型變量data,使用scanf函數(shù)輸入一個整數(shù)賦給data。接著執(zhí)行for循環(huán),i的值為0~7。當i的值不大于data的值時,使用continue語句跳過當前循環(huán),進入下一輪循環(huán)。若從鍵盤輸入5,data的值為5,i取值為0~5時,都不執(zhí)行printf語句。當i取值為6、7時,執(zhí)行printf語句,輸出6,7。故本題答案為C選項。

4.D解析:將一個字符常量放到一個字符變量中,實際上并不是把該字符本身放到內(nèi)存單元中去,而是將該字符的ASCII碼值放到存儲單元中。

5.D

6.D解析:本題考查給二維數(shù)組元素賦值。給二維數(shù)組元素賦值時應(yīng)注意下列兩點:①在對二維數(shù)組元素賦初值時,可以只對部分元素賦初值,未賦初值的元素自動取0。②二維數(shù)組第一維的大小由下列規(guī)則確定;當初值的個數(shù)能被第二維的常量表達式的值除盡時,所得商數(shù)就是第一維的大??;當初值的個數(shù)不能被第二維的常量表達式的值除盡時,第一維的大小等于所得商數(shù)加1。

7.C結(jié)構(gòu)體變量中的第一成員都是數(shù)組,不能直接將變量tl的成員mark數(shù)組的地址賦給另一個變量t2的成員mark數(shù)組的地址。因為地址都是固定值,不能被賦值。結(jié)構(gòu)體可以進行整體的賦值。

8.A本題考查的是文件操作。題中“fopen(fn,”w”)”的作用是打開fn所指向的文件,使用文件方式為“寫入”;

“每uts(str,fp)”的作用是將字符str的值輸出到fb所指向的文件中去。在程序中,兩次使用“寫入”的方式打開同一個文件,在第二次打開時,文件指針指向文件頭,所以此次寫入的數(shù)據(jù)覆蓋了文件原有的數(shù)據(jù),故本題中tl.dat的內(nèi)容為end。故本題答案為A)。

9.Dfun函數(shù)的功能是對數(shù)組a[]的元素從大到小進行排序。

10.D解析:C語言中的文件是流式文件。流式文件是一種無結(jié)構(gòu)文件,即整個文件是一串字符流或二進制流。文件的存取以字符或字節(jié)為單位。

11.B

12.B

13.C解析:程序流程圖是軟件過程設(shè)計中常用的圖形描述工具之一。構(gòu)成程序流程圖的最基本符號有:→或↓,表示控制流;□表示加工步驟;

表示邏輯條件。

14.B解析:scanf()函數(shù)要求將輸入的數(shù)據(jù)存入變量所在的地址。選項A不是C語言中的輸入語句,故選項A不正確;選項C中輸入的是變量字符串而不是地址字符串,不滿足scanf()函數(shù)要求將輸入的數(shù)據(jù)存入變量所在的地址,故選項C不正確;選項D不是C語言中的輸入語句,故選項D不正確:所以,4個選項中選項B符合題意。

15.C

16.D調(diào)用f(a,b)函數(shù)返回3,調(diào)用f(a,c)函數(shù)返回6,所以外層調(diào)用f(f(a,b),f(a,c));即調(diào)用f(3,6)函數(shù)返回9。

17.D

18.B

19.B

20.C解析:C語言中,如果對定義的變量沒有賦初值,那么在后面使用時,變量的值是不確定的。所以,本程序中,沒有對sum賦初值,它的值不確定。在執(zhí)行了for循環(huán)語句后,sum的值也不確定的,所以,4個選項中選項C符合題意。

21.類類解析:在面向?qū)ο蠓椒ㄖ?,類描述的是具有相似屬性與操作的一組對象。

22.77解析:本題考查英文字母ASCII碼值的概念。字符參與運算的值是其對應(yīng)的ASCII碼,字符H的ASCII碼為72,A的ASCII碼為65,0的ASCII碼為48,所以a=72-65+48=55,ASCII碼值為55的字符是7。

23.參照完整性參照完整性

24.自頂向下自頂向下解析:在程序設(shè)計時,應(yīng)先考慮總體,后考慮細節(jié),逐步使問題具體化,對復雜的問題,應(yīng)該設(shè)計一些子目標作為過渡,上述方法概括為:自頂向下,逐步細化。

25.輸出輸出

26.序言性序言性解析:注釋一般分為序言性注釋和功能性注釋。

27.11解析:本題考查局部變量和全局變量的區(qū)別:局部變量是指作用域在函數(shù)級和塊級的變量,全局變量是指作用域在程序級和文件級的變量。本程序首先定義了一個全局變量m=17,m=17的作用域在整個程序內(nèi)。在fun函數(shù)內(nèi)部定義了一個局部變量m=3,m=3的作用域僅在fun函數(shù)內(nèi)部,通過fun函數(shù)返回兩個形參的積再減m。在主函數(shù)中,輸出fun(a,b)/m=(5*7-3)/17=1。

28.11解析:①“sizeof'、“%”、“>”、“<<”、“*=”,運算符的優(yōu)先級順序為:“*=”→“>”→“<<”→“%”→“sizeof”;②位運算的優(yōu)先級順序為:“~”→“<<”→“>>”→“&”→“^”。(b=2)>(c=4)不成立,邏輯為假,所以n=0;(a=3)!=(b=2)成立,邏輯為真,所以m=1。

29.A

30.需求規(guī)格說明書需求規(guī)格說明書解析:軟件需求規(guī)格說明書是需求分析階段的最后成果,是軟件開發(fā)中的重要文檔之一。需求規(guī)格說明書包括正確性、無歧義性、完整性、可驗證性、一致性、可理解性、可修改性和可追蹤性等。

31.x+=1;

32.8080解析:數(shù)組a是共用體變量,共用體類型變量所占的內(nèi)存長度為最大成員的長度,即單精度數(shù)組的長度,為4×4=16,因此,數(shù)組a所占的內(nèi)存長度為5×16=80,所以最后輸出的s的值為80。

33.變換型變換型

34.1+a1-a1+a\r\n1-a解析:因為題目中求的是1+|a|的值,即1和a的絕對值之和。所以根據(jù)數(shù)學中求絕對值的規(guī)則,當a>=0時,絕對值取本身,當a<0時,絕對值取相反數(shù),再結(jié)合條件運算符的計算規(guī)則可得到本題的答案為a>=0。注意:逗號表達式的求值規(guī)則。

35.類類

36.81628162解析:第一次調(diào)用函數(shù)fun時,x[0]=2、xL1]=6、x[2]=1、x[3]=8,執(zhí)行完函數(shù)fun后,x[0]與x[3]的值互換,即x[0]=8、x[1]=6、x[2]=1、x[3]=2;第二次調(diào)用函數(shù)fun時,i=1、j=2,故將x[1]與x[2]的值互換,即得x[0]=8、x[1]=1、x[2]=6、x[3]=2。

37.88解析:本程序定義了3個指針變量p1、p2、p,并且將,、b的地址分別賦給P1、p2,則*p1=a=2,*p2=b=4,所以表達式*p1*(*p2)的值是8。在賦值語句的左邊是*(p=&c),即使指針p指向了變量c,因而*(p)代表了c的存儲單元,賦值語句“*(p=&c)=*p1*(*p2);”是把整數(shù)8賦給了變量c。

38.n/2性表的任何位置插入一個元素的概率相等,即概率為p=1/(n+1),則插入一個元素時所需移動元素的平均次數(shù)為E=1/(n+1)(n-i+1)=n/2。

39.88解析:本題考查帶參數(shù)的宏定義及相關(guān)運算.運算過程為:t=B*2=A+3*2=2+3*2=8。

40.11231123解析:在主函數(shù)中第一次調(diào)用func子函數(shù)時,m=0,i=2,i=i+m+1=3,m=i+a+b=3+5+3=11。因為在子函數(shù)中將m和i定義成了static類型,所以在子函數(shù)中對m和i進行的改變在下一次調(diào)用子函數(shù)時能進行保存,所以第二次調(diào)用子函數(shù)時,m=11,i=3,則i=i+m+1=15,m=i+a+b=15+5+3=23。

41.D解析:C語言中,字符串是用一對雙引號括起來的字符序列,并用字符型數(shù)組來存放,故選項A)、C)不是字符中;選項B)定義的是一個字符變量str,不能用來存放字符串,所以不正確。

42.A解析:希爾排序法的基本思想是:將整個無序序列分割成若干小的子序列分別進行插入排序。

43.CC。【解析】結(jié)構(gòu)化分析方法是面向數(shù)據(jù)流進行需求分析的方法,采用自頂向下、逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。

44.D解析:本題考查字母大小寫的判斷。字符型數(shù)據(jù)在計算機內(nèi)部是以ASCII碼存儲的,英文大寫字母和小寫字母在ASCII碼表中都是連續(xù)的。大寫字母A到Z是從65到90,所以只要變量c1大于A并且小于Z就能保證其為大寫字母。

45.B解析:本題考核的知識點是二維數(shù)組的定義、初始化和指針的應(yīng)用。本題中首先定義了一個字符串數(shù)組并初始化,初始化后使得str[0]='China',str[1]='Beijing',然后定義一個指針變量p并讓其指向str,而在該二維數(shù)組中定義每個字符串的長度為10所以p+10將指向str[1]的,因此最后輸出*(p+10)的值為Beijing。所以,4個選項中選項B符合題意。

46.B本題考查邏輯與運算符“&&”的使用。對于邏輯與運算符&&來說,對象的結(jié)合方式為從左往右,只有&&左邊的值為真,才繼續(xù)右邊的運算。題目中&&左邊的表達式為m=a>b,“>”運算符優(yōu)先級高于“=”,故先判斷a>b,因為a=1,b=2,所以a>b為假,于是m=0?!?&”左邊的值為假,所以不進行右邊的運算。n的值沒有發(fā)生改變,n=2。

47.C解析:本題考查的是二維數(shù)組的定義和初始化方法。C語言中,在定義并初始化二維數(shù)組時,可以省略數(shù)組第一維的長度,但是不能省略第二維的長度。故選項C)錯誤。

48.B解析:“后進先出”表示最后被插入的元素最先能被刪除。選項A中,隊列是指允許在—端進行插入、而在另一端進行刪除的線性表,在隊列這種數(shù)據(jù)結(jié)構(gòu)中,最先插入的元素將最先能夠被刪除,反之,最后插入的元素將最后才能被刪除,隊列又稱為“先進先出”的線性表,它體現(xiàn)了“先來先服務(wù)”的原則:選項B中,棧頂元素總是最后被插入的元素,從而也是最先能被刪除的元素,棧底元素總是最先被插入的元素,從而也是最后才能被刪除的元素。隊列和棧都屆于線性表,它們具有順序存儲的特點,所以才有“先進先出”和“后進先出”的數(shù)據(jù)組織方式。雙向鏈表使用鏈式存儲方式,二叉樹也通常采用鏈式存儲方式,它們的存儲數(shù)據(jù)的空間可以是不連續(xù)的,各個數(shù)據(jù)結(jié)點的存儲順序與數(shù)據(jù)元素之間的邏輯關(guān)系可以不一致。所以選項C和選項D錯誤。本題的正確答案為選項B。

49.D解析:if...else語句的執(zhí)行過程如下,首先計算if后面一對圓括號內(nèi)表達式的值,若表達式的值為非0,執(zhí)行if子句,然后跳過else子句,去執(zhí)行if語句后的下一條語句;若表達式的值為0,跳過if子句,去執(zhí)行else子句,接著去執(zhí)行if語句后的下一條語句。C語言的語法規(guī)定,else子句總是與前面最近的不帶else的if匹配,與書寫格式無關(guān),本題目的后一個ifelse相當于嵌套在第一個if子句里,相當于x<y&&y<0時,z=0;當x<y&&y>=0時,z=z+1。

50.A解析:符合結(jié)構(gòu)化程序設(shè)計風格中,應(yīng)該選擇只有一個入口和一個出口的模塊,故選項B錯誤;首先要保證程序正確,然后才要求提高效率,故選項C錯誤;嚴格控制使用goto語句,必要時可以使用,故選項D錯誤。

51.B解析:strcpy(str1,s1):作用是將字符串s1拷貝到字符數(shù)組str1中去。strcat(字符數(shù)組1,字符數(shù)組2):把字符串2接到字符串1的后面,結(jié)果放在字符數(shù)組1中,函數(shù)調(diào)用后返回字符數(shù)組1的地址。本題定義了三個字符數(shù)組p1,p2,sir,strcat(p1,p2)函數(shù)的作用是將字符串數(shù)組p2接到字符串p1的后面,結(jié)果放在字符數(shù)組p1中,再通過strcpy()函數(shù)將該字符串拷貝到str數(shù)組中,原str數(shù)組中的字符串xyz被覆蓋,因此打印輸出字符串str即可得到abcABC。

52.B解析:本題考查if語句。scanf函數(shù)通過鍵盤讀入a、b的值,a=1,b=2。第一個if語句,先判斷條件,發(fā)現(xiàn)a<b條件成立,則s=b=2,s=s*s=4。

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

54.A解析:只能在循環(huán)體內(nèi)和switch語句體內(nèi)使用break語句,當break出現(xiàn)在循環(huán)體中的switch語句體時,其作用是跳出該switch語句體。當break出現(xiàn)在循環(huán)體中,但不在switch語句體中時,則在執(zhí)行break后,跳出本層循環(huán)體。continue語句的作用是,跳過本次循環(huán)體中余下尚未執(zhí)行的語句,接著再一次進行循環(huán)的條件判定。

55.Bscanf(\u3000)語句中用“空格”間隔不同的字符串,空格將被全部忽略掉,所以用scanf(\u3000)函數(shù)不能輸入空格;getehar(\u3000)函數(shù)用于輸入字符,其調(diào)用形式為:ch=getelaar(\u3000),getehar(\u3000)函數(shù)從終端讀入一個字符作為函數(shù)值,把讀入的字符賦給變量ch。在輸入時,空格、回車符都將作為字符讀入,而且只有在用戶敲入Enter鍵時,讀入才開始執(zhí)行。gets(\u3000)函數(shù)的凋用形式為:gets(str_adr),其中stradr是存放輸入字符串的起始地址,可以是字符數(shù)組名、字符數(shù)組元素的地址或字符指針變量。9ets函數(shù)用來從終端鍵盤讀入字符串(包括空格符),直到讀入一個換行符為止。getc(\u3000)函數(shù)的調(diào)用形式為:ch=getc(pf)其中pf是文件指針。函數(shù)的功能是從pf指定的文件中讀入一個字符,并把它作為函數(shù)值返回。

56.B解析:本題考查printf函數(shù)的格式。在printf函數(shù)中,如果格式說明符中有兩個%說明,則將第1個%后面的字符原樣輸出,并不輸出其對應(yīng)的變量值。

57.C解析:考查通過指針來引用一維數(shù)組元素的方法。若指針s指向數(shù)組a,則s[t]可以引用數(shù)組a中下標為t的元素。

58.A解析:自增運算符“++”,放在變量之前表示在使用變量之前,先使變量的值加1;放在變量之后表示在使用變量之后,再使變量的值加1。第一條輸出語句,先輸出m=12,m再自加1,變成13,n先自加1再輸出,輸出n=35;第二條輸出語句,先輸出n=35,n再自加1,變成36,m先自加1再輸出,輸出m=14。

59.D解析:內(nèi)聚性是一個模塊內(nèi)部各元素間彼此結(jié)合的緊密程度的度量。內(nèi)聚共有7類,它們之間的內(nèi)聚性由弱到強排列順序為:偶然內(nèi)聚、邏輯內(nèi)聚、時間內(nèi)聚、過程內(nèi)聚、通信內(nèi)聚、順序內(nèi)聚和功能內(nèi)聚。

60.A解析:條件表達式“a?b:c”的含義是:當a為真時,其值等于表達式b的值,當a為假時,其值等于表達式c的值。第一個表達式:w=6<x=4為假,所以返回x的值,即m=x=4;第二個表達式:m=4<y=3為假,所以返回y的值,即m=y=3。

61.B因X為2,所以!X時表達式值為0,因Y為1,y--表達式的值為1然后自減1,y為0,所以

溫馨提示

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

評論

0/150

提交評論