2021-2022年四川省達(dá)州市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)重點(diǎn)匯總測試卷(含答案)_第1頁
2021-2022年四川省達(dá)州市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)重點(diǎn)匯總測試卷(含答案)_第2頁
2021-2022年四川省達(dá)州市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)重點(diǎn)匯總測試卷(含答案)_第3頁
2021-2022年四川省達(dá)州市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)重點(diǎn)匯總測試卷(含答案)_第4頁
2021-2022年四川省達(dá)州市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)重點(diǎn)匯總測試卷(含答案)_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

2021-2022年四川省達(dá)州市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)重點(diǎn)匯總測試卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

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

#include<stdio.h>

voidfun(intP)

{intd=2;

P=d++;printf(“%d”,P);}

main()

{inta=1;

fun(A);prinff(“%.d\n”,A);}

程序運(yùn)行后的輸出結(jié)果是A.32B.12C.21D.22

2.無向圖中一個(gè)頂點(diǎn)的度是指圖中與該頂點(diǎn)相鄰接的頂點(diǎn)數(shù)。若無向圖G中的頂點(diǎn)數(shù)為n,邊數(shù)為e,則所有頂點(diǎn)的度數(shù)之和為()

A.n*eB.n+eC.2nD.2e

3.以下關(guān)于鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的敘述中,()是不正確的。

A.結(jié)點(diǎn)除自身信息外還包括指針域,因此存儲(chǔ)密度小于順序存儲(chǔ)結(jié)構(gòu)

B.邏輯上相鄰的結(jié)點(diǎn)物理上不必鄰接

C.可以通過計(jì)算直接確定第i個(gè)結(jié)點(diǎn)的存儲(chǔ)地址

D.插入、刪除運(yùn)算操作方便,不必移動(dòng)結(jié)點(diǎn)

4.和順序棧相比,鏈棧有一個(gè)比較明顯的優(yōu)勢是()。

A.通常不會(huì)出現(xiàn)棧滿的情況B.通常不會(huì)出現(xiàn)??盏那闆rC.插入操作更容易實(shí)現(xiàn)D.刪除操作更容易實(shí)現(xiàn)

5.判定一個(gè)循環(huán)隊(duì)列qu(最多元素為MaxSize)為空的條件是()。

A.QU->rear-QU->front==MaxSize

B.QU->rear-QU->front-1==MaxSize

C.QU->front==QU->rear

D.QU->front==QU->rear+1

6.數(shù)據(jù)結(jié)構(gòu)若采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),要求內(nèi)存中可用存儲(chǔ)單元的地址()。

A.必須是連續(xù)的B.部分地址必須是連續(xù)的C.一定是不連續(xù)的D.連續(xù)不連續(xù)都可以

7.

8.以下對軟件特點(diǎn)描述錯(cuò)誤的是()。

A.軟件的使用存在老化問題B.軟件的復(fù)雜性高C.軟件是一種邏輯實(shí)體,具有抽象性D.軟件的運(yùn)行對計(jì)算機(jī)系統(tǒng)具有依賴性

9.

10.設(shè)有以下語句

charchl,ch2;scanf("%c%C",&chl,&ch2);

若要為變量chl和ch2分別輸入字符A和B,正確的輸入形式應(yīng)該是()。

A.A和B之間用逗號(hào)間隔

B.A和B之間不能有任何間隔符

C.A和B之間可以用回車間隔

D.A和B之間用空格間隔

11.設(shè)有定義inta=2,b=3,c=4;,則以下選項(xiàng)中值為0的表達(dá)式是______。A.(!a==1&&(!b==0)

B.(a<b)&&!c||1

C.a&&b

D.a||(b+b)&&(c-a)

12.設(shè)x是一個(gè)int型的,y的值為10,則表達(dá)式x&&y的值為()。

A.1B.0C.與x值相同D.與x值相反

13.若有定義“intx,y;”,并已正確給變量賦值,則以下選項(xiàng)中與表達(dá)式“(x-y)?(x++):(y++)”中的條件表達(dá)式“(x-y)”等價(jià)的是()。

A.(x-y<0||x-y>0)B.(x-y<0)C.(x-y>0)D.(x-y==0)

14.若有定義“inta,b,c;”以下程序段的輸出結(jié)果是()。a=11;b=3;c=0;printf(“%d\n”,c=(a/b,a%b));

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

15.有以下程序:

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

A.abc+abc=defdef

B.abc+ABC=DEFdef

C.abcABCDEFdef

D.abcabcdefdef

16.下列方法中,屬于白盒法設(shè)計(jì)測試用例的方法的是()。

A.錯(cuò)誤推測B.因果圖C.基本路徑測試D.邊界值分析

17.有以下程序:#include<stdio.h>main(){charch=‘1’;while(ch<‘9’){printf(“%d”,ch-‘0’);ch++;}}程序運(yùn)行后的輸出結(jié)果是()。

A.12345678B.01234567C.0D.1

18.兩個(gè)或兩個(gè)以上模塊之間聯(lián)系的緊密程度稱為()。

A.耦合性B.內(nèi)聚性C.復(fù)雜性D.數(shù)據(jù)傳輸特性

19.現(xiàn)有二叉搜索樹(BST)前序遍歷結(jié)果序列為abdefgc,中序遍歷結(jié)果序列為debgfac,請問后序遍歷結(jié)果序列為()

A.debgfaCB.edgfbcAC.edgbfcAD.degbfaC

20.若變量均已正確定義并賦值,以下合法的C語言賦值語句是()。

A.x=y==5;B.X=n%2.5:C.x+n=i;D.x=5=4+1:

二、2.填空題(20題)21.軟件測試是保證軟件質(zhì)量的重要手段,而軟件測試的主要和重要的測試方法是通過測試數(shù)據(jù)和【】的設(shè)計(jì)來實(shí)現(xiàn)。

22.閱讀下面語句,則程序的執(zhí)行結(jié)果是【】。

#include"stdio.h"

main()

{inta=-1,b=1,k;

if((++a<0)&&!(b--<=0))

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

elseprintf("%d,%d\n",b,a);}

23.設(shè)有定義:intn,*k=&n;以下語句將利用指針變量k讀寫變量n中的內(nèi)容,請將語句補(bǔ)充完整。

scanf(“%d”,______);

printf(“%d\n”,______);

24.數(shù)據(jù)庫設(shè)計(jì)分為以下6個(gè)設(shè)計(jì)階段:需求分析階段、______、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、實(shí)施階段、運(yùn)行和維護(hù)階段。

25.條件“20<x<30或x<-100”的C語言表達(dá)式是【】。

26.數(shù)據(jù)庫保護(hù)分為:安全性控制、______、并發(fā)性控制和數(shù)據(jù)的恢復(fù)。

27.對于長度為n的順序存儲(chǔ)的線性表,當(dāng)隨機(jī)插入和刪除—個(gè)元素時(shí),需平均移動(dòng)元素的個(gè)數(shù)為【】。

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

29.與十進(jìn)制數(shù)101等值的二進(jìn)制數(shù)為【】。

30.將代數(shù)式轉(zhuǎn)換成程序設(shè)計(jì)中的表達(dá)式為【】。

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

main()

{inti=3,j=2;

char*a="DCBA";

printf("%c%c\n",a[i],a[j])

}

32.設(shè)有以下定義和語句,則*(*(p+2)+1)的值為【】。

inta[3][2]={10,20,30,40,50,60},(*p)[2];

p=a;

33.若a是int型變量,則下列表達(dá)式的值為______。

(a=2*3,a*2),a+4

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

main()

{inti=10,j=0;

do

{j=j+i;i-;}

while(i>2);

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

}

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

36.沒有chara,b;,,若要通過a&b運(yùn)算屏蔽掉a中的其他位,只保留第2位和第8位(右起為第1位),則b的二進(jìn)制是【】。

37.棧的3種基本運(yùn)算是:入棧、退棧和______。

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

39.已有定義:double*p;,請寫出完整的語句,利用malloc函數(shù)使p指向一個(gè)雙精度型的動(dòng)態(tài)存儲(chǔ)單元______。

40.下列語句能循環(huán)______次。

ints=12;

while(s);

--s;

三、1.選擇題(20題)41.下列程序的執(zhí)行結(jié)果是()。#include<stdio.h>main(){inta,b,c;a=b=2:c=(a++)-1;printf("%d,%d",a,c);c+=(a+=-a+++(++B);printf("%d,%d",a,c);}

A.3,14,1B.3,14,2C.2,04,1D.2,14,1

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

43.有以下函數(shù)定義:voidfun(intn,doublex){......}若以下選項(xiàng)中的變量都已正確定義并賦值,則對函數(shù)fun正確調(diào)用語句是______。

A.fun(inty,doublem);

B.k=fun(10,12.5);

C.fun(x,n);

D.voidfun(n,x);

44.下列合法的聲明語句是()。

A.int_abc=50;

B.doubleint=3+5e2.5;

C.longdo=1L:

D.float3_asd=3e-3;

45.下列程序的運(yùn)行結(jié)果是()。main(){intx=1,y=3,a=0;while(x++!=(y-=1)){a+=1;if(y<x)break;}printf("%d,%d,%d\n",x,y,a);}

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

46.以下程序的輸出結(jié)果是()。#include<stdio.h>main(){intn=4;while(n--)printf("%d",--n);}

A.20B.31C.321D.210

47.以下數(shù)據(jù)結(jié)構(gòu)屬于非線性數(shù)據(jù)結(jié)構(gòu)的是_______。

A.隊(duì)列B.線性表C.二叉樹D.棧

48.循環(huán)鏈表的主要優(yōu)點(diǎn)是()

A.不再需要頭指針了

B.從表中任一結(jié)點(diǎn)出發(fā)都能訪問到整個(gè)鏈表

C.在進(jìn)行插入、刪除運(yùn)算時(shí),能更好的保證鏈表不斷開

D.已知某個(gè)結(jié)點(diǎn)的位置后,能夠容易的找到它的直接前件

49.有以下程序:#include<string.h>main(intargc,char*argv[]){inti,len=0;for(i=1;i<argc;i++)len+=strlen(argv[i]);printf("%d\n",len);}程序編譯連接后生成的可執(zhí)行文件是ex1.exe,若運(yùn)行時(shí)輸入帶參數(shù)的命令行是:ex1abcdefg10<回車>則運(yùn)行的結(jié)果是()。

A.22B.17C.12D.9

50.有如下程序inta[10]={1,2,3,4,5,6,7,8,9,10};int*p=&a[3],b;b=p[5];則b的值是

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

51.以下程序輸出的結(jié)果為______。main(){char*alpha[6]={"ABCD","EFGH","IJKL","MNOP","QRST","UVWX");char**p;inti;p=alpha;for(i=0;i<4;i++)printf("%s",p[i]);}

A.ABCDEFGHIJKLB.ABCDC.ABCDEFGHIJKLMNOPD.AEIM

52.定義結(jié)構(gòu)體數(shù)組:structstu{intnum;charname[20];}x[5]={1,"LI",2,"ZHAO",3"WANG",4,"ZHANG",5"LIU"};for(i=1;i<5;i++)printf("%d%c",x[i].num,x[i].name[2]);以上程序段的輸出結(jié)果為().

A.2A3N4A5UB.1I2a3h4IC.1A2N3A4UD.2H3A4H5I

53.設(shè)變量a,b,c,d和y都已正確定義并賦值。若有以下if語句:

if(a<b)

if(c==d)y=0;

elsey=1;

該語句所表示的含義是()。

A.

B.

C.

D.

54.設(shè)有以下說明語句,則變量a______。chara='\72';

A.包含1個(gè)字符B.包含2個(gè)字符C.包含3個(gè)字符D.該說明不合法

55.若已定義的函數(shù)有返回值,則以下關(guān)于該函數(shù)調(diào)用的敘述中錯(cuò)誤的是A.函數(shù)調(diào)用可以作為獨(dú)立的語句存在

B.函數(shù)調(diào)用可以作為一個(gè)函數(shù)的實(shí)參

C.函數(shù)調(diào)用可以出現(xiàn)在表達(dá)式中

D.函數(shù)調(diào)用可以作為一個(gè)函數(shù)的形參

56.下列程序運(yùn)行后,輸出結(jié)果是______。func(inta,intb){staticintm=0,i=2;i+=m+1;m=i+a+b;return(m);}main(){intk=4,m=1,p;p=func(k,m);printf("%d,",p);p=func(k,m);printf("%d\n",p);}

A.8,15B.8,16C.8,17D.8,8

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

main()

{inta,i;a=0;

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

{switch(i)

{case0:

case3:a+=2;

case1:

case2:a+=3;

default:a+=5;}

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

A.31B.13C.10D.20

58.有以下程序voidss(char*s,chart){while(*s){if(*s==t)*s=t-'a'+'A';s++;}}main(){charstrl[100]="abcddfefdbd",c='d';ss(str1,c);printf("%s\n",strl);}程序運(yùn)行后的輸出結(jié)果是

A.ABCDDEFEDBDB.abcDDfefDbDC.abcAAfefAbAD.Abcddfefdbd

59.有定義語句:chars[10];,若要從終端給s輸入5個(gè)字符,錯(cuò)誤的輸入語句是

A.gets(&s[0]);

B.scanf("%s",s+1);

C.gets(s);

D.scanf("%s",s[1]);

60.數(shù)據(jù)庫是()的集合,它具有統(tǒng)一的結(jié)構(gòu)格式并存放于統(tǒng)一的存儲(chǔ)介質(zhì),可被各個(gè)應(yīng)用程序所共享

A.視圖B.消息C.數(shù)據(jù)D.關(guān)系

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

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

A.0B.一12C.一20D.10

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

63.

64.若有以下程序段,w和k都是整型變量。

w=k;

LB:if(w==0)gotoLE;

w--;

printf("*");

gotoLB;

LE:

M

則不能與上面程序段等價(jià)的循環(huán)語句是

A.for(w=k;w!=0;w--)printf("*");

B.w=k;<CR>while(w--!=0)printf("*");w++;

C.w=k;<CR>do{w--;printf("*");}while(w!=0);

D.for(w=k;w;--w)printf("*");

65.

66.C源程序中不能表示的數(shù)制是()。

A.十六進(jìn)制B.八進(jìn)制C.十進(jìn)制D.二進(jìn)制

67.在長度為n的有序線性表中進(jìn)行順序查找,最壞情況下需要比較的次數(shù)是

A.O(n)B.O(n2)C.O(log2n)D.O(nlog2n)

68.若有以下程序:inta=1,b=2:a=a^b:b=b^a:則執(zhí)行以上語句后a和b的值分別是()。

A.a=1,b=2B.a=3,b=lC.a=3,b=2D.a=2.b=1

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

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

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

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

70.在“文件包含”預(yù)處理語句的使用形式中,當(dāng)#include后面的文件名用(雙引號(hào))括起時(shí),尋找被包含文件的方式是()。

A.直接按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索目錄

B.先在源程序所在的目錄搜索,如沒找到,再按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索

C.僅僅搜索源程序所在目錄

D.僅僅搜索當(dāng)前目錄

71.兩次運(yùn)行下面的程序,如果從鍵盤上分別輸入6和3,則輸出結(jié)果是()。

if(x++>5)printf("%d",x);

elseprintf("%d\n",x--);

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

72.設(shè)變量a、b、c、d和y都已正確定義并賦值。若有以下if語句

if(a<b)

if(c==d)y=0;

Elsey=1;

該語句所表示的含義是()。

A.

B.

C.

D.

73.

74.假定X和Y為double型,則表達(dá)式x=2,y=x+3/2的值是()。

A.3.500000B.3C.2.000000D.3.000000

75.

76.算法的時(shí)間復(fù)雜度是指()。

A.執(zhí)行算法程序所需要的時(shí)間B.算法程序的長度C.算法執(zhí)行過程所需要的基本運(yùn)算次數(shù)D.算法程序中的指令條數(shù)

77.若在定義語句:inta,b,c,*p=&c;之后,接著執(zhí)行以下選項(xiàng)中的語句,則能正確執(zhí)行的語句是()。

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

B.scanf("%d%d%d",a,b,c):

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

D.scanf("%d",&p);

78.

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

#includedstdi0.h>

#includedstring.h>

voidfun(intb[])

{staticinti=0;

do

{b[i]+=b[i+1];

}while(++i<2);

}

main

{intk,a[5]={1,3,5,4,9};

fun(a);

for(k=0;k<5;k++)printf("%d",a[k]);

}

A.13579B.48579C.48549D.48999

79.

80.有以下程序,其中%u表示按無符號(hào)整數(shù)輸出:

main

{

unsignedintx=0xFFFF;/*x的初值為十六進(jìn)制數(shù)*/

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

}

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

A.-1B.65535C.32767D.0xFFFF

五、程序改錯(cuò)題(1題)81.下列給定程序中函數(shù)proc的功能是:取出長整型變量s中偶數(shù)位上的數(shù),依次構(gòu)成一個(gè)新數(shù)放在t中。例如,當(dāng)s中的數(shù)為l23456789時(shí),t中的數(shù)為2468。請修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

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

參考答案

1.C程序運(yùn)行后,首先輸出的是p的值,然后再輸出a的值。p=d++,得到p的值為d的初始值2;a的值不變,仍為1。

2.D

3.C

4.A

5.C

6.D

7.A

8.A軟件具有以下特點(diǎn)。①軟件是一種邏輯實(shí)體,具有抽象性。②軟件沒有明顯的制作過程。③軟件在使用期間不存在磨損、老化問題。④對硬件和環(huán)境具有依賴性。⑤軟件復(fù)雜性高,成本高。⑥軟件開發(fā)涉及諸多的社會(huì)因素。本題答案為A選項(xiàng)。

9.A

10.B\nscanf輸入函數(shù)中,格式控制J必須嚴(yán)格按照函數(shù)中的要求進(jìn)行輸入,在scanf('%c%c',&chl,&ch2)的格式控制語句中沒有任何字符進(jìn)行間隔,所以在輸入時(shí)也不能使用任何字符進(jìn)行間隔,所以答案選擇B。

\n

11.A解析:選項(xiàng)A中(!a==1)&&(!b==0)→(!2==1)&&(!b==0)→(0==1)&&(!b==0)→0&&(!b==0)→0(&&右邊表達(dá)式(!b==0)被“短路”):選項(xiàng)B中(a<b)&&!c||1→(2<3)&&!4||1→1&&0||1→0||1→1;選項(xiàng)C中a&&b→2&&3→1;選項(xiàng)Da||b+b)&&(c-a)→2||(b+b)&&(c-a)→1(||右邊表達(dá)式(b+b)&&(c-a)被“短路”)。所以本題選A。

12.C

13.A條件表達(dá)式“x=表達(dá)式1?表達(dá)式2:表達(dá)式3”的含義是:先求解表達(dá)式1,若其值不為0(真),則求解表達(dá)式2,將表達(dá)式2的值賦給x;若表達(dá)式1的值為0(假),則求解表達(dá)式3,將表達(dá)式3的值賦給X。本題中與條件表達(dá)式“(x-y)”等價(jià)的是“(x-y<0||lx-y>0)”。故本題答案為A選項(xiàng)。

14.AC語言中,逗號(hào)運(yùn)算符可以把兩個(gè)以上(包含兩個(gè))的表達(dá)式連接成一個(gè)表達(dá)式。逗號(hào)運(yùn)算符的優(yōu)先級(jí)是所有運(yùn)算符中級(jí)別最低的,逗號(hào)運(yùn)算符保證左邊的子表達(dá)式運(yùn)算結(jié)束后才進(jìn)行右邊的子表達(dá)式的運(yùn)算。也就是說,逗號(hào)運(yùn)算符是一個(gè)序列點(diǎn),其左邊所有子表達(dá)式運(yùn)算都結(jié)束后,才對其右邊的子表達(dá)式進(jìn)行運(yùn)算,并以最右邊表達(dá)式的值作為整個(gè)逗號(hào)表達(dá)式的值。因此c的值為“a%b”,即“11%3=2”。故本題答案為A選項(xiàng)。

15.A題干中,函數(shù)fun的功能是:判斷形參ch是否為大寫字母,若是大寫字母則改寫成小寫字母,其他字符不變。main函數(shù)中,通過while循環(huán),調(diào)用fun函數(shù),將字符數(shù)組s中的各個(gè)字符傳入,將s中的大寫字母改成小寫字母,程序輸出:abc+abc=defdef。本題答案為A選項(xiàng)。

16.CC)【解析】白盒測試方法也稱為結(jié)構(gòu)測試或邏輯測試,主要方法有邏輯覆蓋測試、基本路徑測試等。

17.A表達(dá)式“ch-‘0’’將數(shù)字字符轉(zhuǎn)為數(shù)字。輸出的格式為%d。while循環(huán)從‘1’~‘8’,因此輸出的結(jié)果是12345678。故本題答案為A選項(xiàng)。

18.A解析:耦合性是模塊間互相連接的緊密程度的度量,取決于各個(gè)模塊之間接口的復(fù)雜度、調(diào)用方式以及哪些信息通過接口。

[知識(shí)拓展]模塊的獨(dú)立程序是評(píng)價(jià)設(shè)計(jì)好壞的一個(gè)重要標(biāo)準(zhǔn),衡量軟件的模塊獨(dú)立性有兩個(gè)定性的度量標(biāo)準(zhǔn)。其中內(nèi)聚性是指一個(gè)模塊內(nèi)部各個(gè)元素間彼此結(jié)合的緊密程度的度最,內(nèi)聚性是從功能角度來度量模塊內(nèi)的聯(lián)系;耦合性是模塊間互相連接的緊密程度的度量,耦合性從整體的角度來度量模塊間的聯(lián)系。

19.B

20.AB選項(xiàng)中運(yùn)算符“%”的運(yùn)算對象為整數(shù)。C選項(xiàng)中不能將變量賦給表達(dá)式“x+n”。D選項(xiàng)中不能將表達(dá)式“4+1”賦給常量5。故本題答案為A選項(xiàng)。

21.測試實(shí)例測試實(shí)例解析:進(jìn)行軟件測試時(shí),應(yīng)精心設(shè)計(jì)測試實(shí)例和選擇測試數(shù)據(jù),以對系統(tǒng)進(jìn)行全面測試。

22.101,0解析:與運(yùn)算兩邊的語句必須同時(shí)為真時(shí),結(jié)果才為真,當(dāng)執(zhí)行完if((++a<0)&&!(b--<=0))時(shí),a,b的值已經(jīng)發(fā)生了變化。

23.k*kk*k解析:本題考查的知識(shí)點(diǎn)是scarf()函數(shù)和printf()函數(shù)的用法。scanf()函數(shù)有兩個(gè)參數(shù),第一個(gè)參數(shù)是格式控制部分(格式控制部分是字符串,主要由“%”號(hào)和格式字符組成)第二個(gè)參數(shù)是一地址列表(地址列表是由多個(gè)地址組成,可以是變量的地址,也可以是字符串的首地址)。而第一個(gè)空格處位于scanf()函數(shù)的第二個(gè)參數(shù)處,所以,第一個(gè)空應(yīng)該填地址k。printf()函數(shù)有兩個(gè)參數(shù),第一個(gè)參數(shù)是輸出格式字符串(輸出格式字符串是由控制輸出格式的字符和非格式字符組成的,通常是字符常量。非格式字符作為輸出數(shù)據(jù)的間隔,輸出時(shí)原樣輸出)第二個(gè)參數(shù)為一輸出表達(dá)式表(輸出表達(dá)式表是由若干個(gè)需要計(jì)算和輸出的表達(dá)式組成的,表達(dá)式之間用逗號(hào)分隔開)。而第;個(gè)空位于printf()函數(shù)的第二個(gè)參數(shù)處,所以應(yīng)該填*K。

24.概念設(shè)計(jì)階段(數(shù)據(jù)庫概念設(shè)計(jì)階段)概念設(shè)計(jì)階段(數(shù)據(jù)庫概念設(shè)計(jì)階段)

25.(20<x)&&(x<30)||(x<-100)或20<x&&x<30||x<-100(20<x)&&(x<30)||(x<-100)或20<x&&x<30||x<-100

26.完整性控制完整性控制

27.n/2n/2解析:刪除—個(gè)元素,平均移動(dòng)的元素個(gè)數(shù)為(n-1+n-2+…+0)/n=(n-1)/2;插入一個(gè)元素,平均移動(dòng)元素個(gè)數(shù)為(n+n-1+n-2+…+1)/n=(n+1)/2:所以總體平均移動(dòng)元素個(gè)數(shù)為n/2。

28.輸出輸出

29.1100101

30.SQRT(x2+y2)/(a+b)

31.AB

32.6060解析:程序中定義a是一個(gè)3行2列的二維數(shù)組,p是指向兩個(gè)元素的一維數(shù)組指針,并讓p指向二維數(shù)組a的首行。則代碼*(*(p+2)+1)中的p+2指向二維數(shù)組a的第三行a[2],*(p+2)指向a[2[]0],*(p+2)+1指向a[2][1],*(*(p+2)+1)是引用a[2][1],其值是60。

33.1010解析:此題考查逗號(hào)表達(dá)式。逗號(hào)表達(dá)式的值是最后一個(gè)表達(dá)式的值,所以本題的返回值是a+4。前面已經(jīng)給a賦值6,所以追回值a+4=6+4=10。

34.5252解析:do...while語句的形式為:

do

{

語句;

}while(條件表達(dá)式)

當(dāng)條件表達(dá)式為非零時(shí),繼續(xù)執(zhí)行循環(huán)體,直到條件表達(dá)式為零時(shí)退出循環(huán)。

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

36.1000001010000010解析:運(yùn)算“&”的規(guī)則是只有當(dāng)兩個(gè)相應(yīng)的二進(jìn)制位都為1時(shí),該位的結(jié)果才為1。要保留第2、8位,只要將其與二進(jìn)制數(shù)10000010相與。

37.讀棧頂元素讀棧頂元素解析:棧的基本運(yùn)算有3種:入棧、退棧和讀取棧頂元素。其中,入棧是指在棧頂插入一個(gè)新的元素;退棧是指取出棧頂元素并賦值給一個(gè)變量;讀棧頂元素是將棧頂元素賦值給一個(gè)指定的變量,不刪除棧頂元素。

38.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]。

39.p=(double*)malloc(sizeof(double)):或p=(double*)malloc(8);p=(double*)malloc(sizeof(double)):或p=(double*)malloc(8);解析:malloc()函數(shù)只有一個(gè)參數(shù),該參數(shù)指定了需要分配多少字節(jié)的內(nèi)存。然后將分配好的內(nèi)存塊的首地址作為void*(未知類型指針)返回.故標(biāo)準(zhǔn)的調(diào)用形式應(yīng)該寫成:

p(double*)malloc(sizeof(double));

40.無限無限解析:分析程序“while(s)”語句后面有一個(gè)“;”不能執(zhí)行后面的語句,只是執(zhí)行空語句,所以s=12保持不變,因此,沒有條件限制的能循環(huán)無限次(即死循環(huán))。

41.A解析:本題主要考查自加運(yùn)算符(++、--)的使用。①前綴變量“++i、-i”,在使用i之前,先使i的值加1或者減1,再使用此時(shí)的表達(dá)式的值參與運(yùn)算:②后綴變量“i++、i--”,先使用此時(shí)的表達(dá)式的值參與運(yùn)算,在使用i之后,再使i的值加1或者減1。本題中計(jì)算表達(dá)式c=(a++)-1時(shí)先使用a的值進(jìn)行計(jì)算,結(jié)果為c=2-1=1,然后將a的值加1,即執(zhí)行完此語句后,的值是3;表達(dá)式c+=-a+++(++b)等價(jià)于c=c+(-a++)+(++b),c=1+(-3)+3=1,此時(shí)a=4,b=3。

42.A解析:條件表達(dá)式的形式如下:表達(dá)式1?表達(dá)式2:表達(dá)式3,所以本題條件表達(dá)式a<b?a:c<d?c:d應(yīng)該理解為a<b?a:(c<d?c:d),首先求出條件表達(dá)式c<d?c:d的值等于2,再求條件表達(dá)式a<b?a:2的值,由于a-1<b-4成立,所以上述條件表達(dá)式的值等于1。

43.C解析:函數(shù)調(diào)用的一般形式為:函數(shù)名(實(shí)參表列);,實(shí)參與形參的個(gè)數(shù)應(yīng)相等,類型應(yīng)一致,在調(diào)用函數(shù)時(shí),不要指定其返回類型,對于返回類型為void的函數(shù),不能作為賦值表達(dá)式的組成部分,所以選C。

44.A解析:C語言規(guī)定,標(biāo)識(shí)符是由字母、數(shù)字或下劃線組成,并且它的第一個(gè)字符必須是字母或者下劃線。另外C語言規(guī)定了一些專用的標(biāo)識(shí)符,它們有著固定的含義,不能更改。int就是表達(dá)變量類型的標(biāo)識(shí)符,它不能再用做變量名和函數(shù)名,所以選項(xiàng)B)不正確。do是C語言的一個(gè)關(guān)鍵字,也不能再用做變量名和函數(shù)名,所以選項(xiàng)C)不正確。

45.D解析:本題考查while循環(huán)。第一次循環(huán),先拿x的值和(y-1)比較,此時(shí)x=1,y-1=2,循環(huán)條件成立,比較完將x的值加1,此時(shí)x=2,進(jìn)入循環(huán),a=a+1=1,判斷if語句的控制條件是否成立,y<x不成立,接著執(zhí)行下一次循環(huán)。第二次循環(huán),先拿x的值和(y-1)比較,此時(shí)x=2,y-1=1,循環(huán)條件成立,比較完將x的值加1,此時(shí)x=3,進(jìn)入循環(huán),a=a+1=2,判斷if語句的控制條件是否成立,y<x成立,執(zhí)行break語句退出循環(huán)。

46.A解析:n--是先使用后自減,--n是先自減后使用。n=4時(shí),執(zhí)行n--后,n變?yōu)?,執(zhí)行--n后,n變?yōu)?,所以,第一次輸出時(shí),n為2;同上過程,第二次輸出時(shí),n為0。

47.C解析:線性表、棧和隊(duì)列等數(shù)據(jù)結(jié)構(gòu)所表達(dá)和處理的數(shù)據(jù)以線性結(jié)椒為組織形式。棧是一種特殊的線性表,這種線性表只能在固定的一端進(jìn)行插入和刪除操作,允許插入和刪除的一端稱為棧頂,另一端稱為棧底。一個(gè)新元素只能從棧頂一端進(jìn)入;刪除時(shí),只能刪除棧頂?shù)脑?,即剛剛被插入的元素。所以棧又稱后進(jìn)先出表(LastInFirstOut):隊(duì)列可看作是插入在一端進(jìn)行,刪除在另一端進(jìn)行的線性表,允許插入的一端稱為隊(duì)尾,允許刪除的一端稱為隊(duì)頭。在隊(duì)列中,只能刪除隊(duì)頭元素,隊(duì)列的最后一個(gè)元素一定是最新入隊(duì)的元素。因此隊(duì)列又稱先進(jìn)先出表(FirstInFirstOut)。

48.B解析:循環(huán)鏈表就是將單向鏈表中最后一個(gè)結(jié)點(diǎn)的指針指向頭結(jié)點(diǎn),使整個(gè)鏈表構(gòu)成一個(gè)環(huán)形,這樣的結(jié)構(gòu)使得從表中的任一結(jié)點(diǎn)出發(fā)都能訪問到整個(gè)鏈表。

49.D解析:本題執(zhí)行時(shí),因?yàn)槊钚幸还灿?個(gè)字符串,所以argc的值為4,在循環(huán)中依次求出argv[1]、argv[2]和argv[3]指向的字符串('abcd'、'efg'和'10')的長度,并把它們加到變量len中,得到len的值9。所以最后輸出的len值為9,故4個(gè)選項(xiàng)中D正確。

50.C解析:p=&a[3]將指針指向數(shù)組a的第4個(gè)元素,p[5]指向數(shù)組a的第9個(gè)元素,而a[8]=9,所以b=9。

51.C解析:alpha[0]指向“ABCD”的首地址;alpha[1]指向“EFGH”的首地址;alpha[2]指向“IJKL”的首地址,依此類推。當(dāng)執(zhí)行p=alpha后,p指向指針數(shù)組alpha的首地址。for循環(huán)中輸出了4個(gè)字符串。

52.A解析:本題主要考查結(jié)構(gòu)體數(shù)組的使用。x[i].mum為結(jié)構(gòu)體x[i]中的num成員,x[i].name[2]是結(jié)構(gòu)體x[i]中name成員的第3個(gè)元素。程序執(zhí)行循環(huán)過程時(shí):第1次循環(huán),i=1,輸出x[1].num,x[1].name[2]的值,即2A:第2次循環(huán),i=2,輸出x[2].mum,x[2].name[2]的值,即3N;第3次循環(huán),i=3,輸出x[3].num,x[3].name[2]的值,即4A;第4次循環(huán),i=4,輸出x[4].num,x[4].name[2]的值,即5U。

53.C解析:在C語言中,從if語句的最內(nèi)層開始,else總是與它上面最近的(未曾配對的)if配對,故本題中y=1的條件是c≠d。又因?yàn)榇薸f語句是前一個(gè)if語句的內(nèi)層嵌套語句,所以在滿足內(nèi)層嵌套的if語句之前,必須先滿足外層的if語句中的條件表達(dá)式。a<b,所以選項(xiàng)C)正確。

54.A

55.D解析:本題考查函數(shù)的調(diào)用。在有參函數(shù)調(diào)用中,是將主調(diào)函數(shù)的實(shí)參值傳給被調(diào)函數(shù)的形參。按函數(shù)在程序中出現(xiàn)的位置來分,有以下三種函數(shù)調(diào)用形式:

①函數(shù)調(diào)用作為一條語句。例如:fun();這時(shí)不要求函數(shù)帶回值,只要求函數(shù)完成一定的操作。故選項(xiàng)A)正確。

②函數(shù)出現(xiàn)在表達(dá)式中,這種表達(dá)式稱為函數(shù)表達(dá)式。這時(shí)要求函數(shù)帶回一個(gè)確定的值以參加表達(dá)式的運(yùn)算。例如:c=5*max(a,b);函數(shù)max是表達(dá)式的一部分,將其值乘以5后賦給c。故選項(xiàng)C)正確。

③函數(shù)調(diào)用作為一個(gè)函數(shù)的實(shí)參,例如:m=max(a,max(b,c));其中max(b,c)是一次函數(shù)調(diào)用,它的值作為max另一次調(diào)用的實(shí)參。故選項(xiàng)B)正確。

函數(shù)調(diào)用不可作為一個(gè)函數(shù)的形參,因?yàn)楹瘮?shù)調(diào)用參數(shù)的數(shù)據(jù)傳遞是單向傳遞,即實(shí)參傳給形參,不能由形參傳給實(shí)參。故選項(xiàng)D)錯(cuò)誤。

56.C

57.A解析:本題考查用于多分支選擇的switch語句,其一般形式為:

switch(表達(dá)式)

{

case常量表達(dá)式1:語句1;

case常量表達(dá)式2:語句2;

case常量表達(dá)式n:語句n;

default:語句n+1;

}

其語義是:計(jì)算表達(dá)式的值,并逐個(gè)與其后的常量表達(dá)式值進(jìn)行比較,當(dāng)表達(dá)式的值與某個(gè)常量表達(dá)式的值相等時(shí),即執(zhí)行其后的語句,然后不再進(jìn)行判斷,繼續(xù)執(zhí)行后面所有case后的語句;如表達(dá)式的值與所有case后的常量表達(dá)式均不相等時(shí),則執(zhí)行default后的語句。

58.B解析:在內(nèi)存中,字符數(shù)據(jù)以ASCII碼存儲(chǔ),它的存儲(chǔ)形式就與整數(shù)的存儲(chǔ)形式相類似。C語言使字符型數(shù)據(jù)和整型數(shù)據(jù)之間可以通用。也可以對字符數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算,此時(shí)相當(dāng)于對它們的ASCII碼進(jìn)行算術(shù)運(yùn)算,在本題中,s++相當(dāng)于s=s+1,即讓s指向數(shù)組中的下一個(gè)元素。

59.D解析:在格式輸入中,要求給出的是編譯的地址,而D)答案中給出的s[1]是一個(gè)值的表達(dá)式。

60.C解析:數(shù)據(jù)庫是數(shù)據(jù)的集合,其中的數(shù)據(jù)是按數(shù)據(jù)所提供的數(shù)據(jù)模式存放的,它能構(gòu)造復(fù)雜的數(shù)據(jù)結(jié)構(gòu),以建立數(shù)據(jù)之間的內(nèi)在聯(lián)系與復(fù)雜的關(guān)系。

61.C本題考在宏定義,宏定義只是做簡單的替換,所以本題中SUB(a+b)·c=(a+b)一(a+b)·e=一20,所以答案為C選項(xiàng)。

62.A%d輸出整數(shù),所以選擇A)。

63.B

64.C本題主要考查幾種循環(huán)結(jié)構(gòu)的比較。在題目中,給出了一段程序,程序首先對整型變量w賦值;然后定義了一段程序LB,在該段程序中,首先判斷變量w是否為零,如果是,則用GOTO語句跳出該段程序至LE,如果不為零,則w自減并輸出*,然后用GOTO語句跳到該程序段開始的地方執(zhí)行。該段程序其實(shí)相當(dāng)于一個(gè)循環(huán),循環(huán)的結(jié)束條件是變量w的值等于零。

在選項(xiàng)A中,我們可以看到循環(huán)結(jié)束的條件是變量w的值等于零,而初值也一樣,與題目中的程序段意思完全一致。

在選項(xiàng)B中,我們可以看出循環(huán)結(jié)束的條件是變量w的值等于零,而程序也是先判斷,再執(zhí)行后面的語句,與原程序段描述的意思一致。

在選項(xiàng)C中,do-while循環(huán)是直到型循環(huán),即先執(zhí)行一次循環(huán)體中的語句后,再判斷循環(huán)條件,當(dāng)w的值已經(jīng)等于0時(shí),循環(huán)依然要運(yùn)行一次,與原程序段描述的內(nèi)容不一致,是題目的答案。

在選項(xiàng)D中,循環(huán)所描述的內(nèi)容也與原程序段一致。

提醒:在完成這類題時(shí),首先需要弄明白原程序段的作用,如果看不懂,則可以比較選項(xiàng)中與其他選項(xiàng)不同的結(jié)果。

65.D

66.D在C語言中整型常量可以用十進(jìn)制、八進(jìn)制和十六進(jìn)制等形式表示,但不包括二進(jìn)制,所以選擇D。

67.A在有序的線性表中進(jìn)行查找,最差的情況為從表頭查找到表尾都沒有所需要的值。長度為n的線性

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論