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

下載本文檔

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

文檔簡介

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

一、單選題(20題)1.以下程序的輸出結(jié)果是()。main{inta=3:printf("%d\n",(a+a-=a*a));}A.-6B.12C.0D.-12

2.若變量a、i已正確定義,且i已正確賦值,合法的語句是()。

A.a==lB.++iC.a=a++=5D.a=int(i)

3.若有定義語句“chars[10]=“1234567\0\0”;”,則Strlen(s)的值是()。

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

4.數(shù)據(jù)流圖用于抽象描述一個(gè)軟件的邏輯模型,數(shù)據(jù)流圖由一特定的圖符構(gòu)成。下列圖符名標(biāo)識(shí)的圖符不屬于數(shù)據(jù)流圖合法圖符的是______。

A.控制流B.加工C.數(shù)據(jù)存儲(chǔ)D.源和潭

5.

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

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

7.廣告系統(tǒng)為了做地理位置定向,將IPV4分割為627672個(gè)區(qū)間,并標(biāo)識(shí)了地理位置信息,區(qū)間之間無重疊,用二分查找將IP地址映射到地理位置信息,請(qǐng)問在最壞的情況下,需要查找多少次?()

A.17B.18C.19D.20

8.有以下程序:#include<stdio.h>main(){FILE*fp;charstr[10];fp=fopen(“myfile.dat”,“w”);fputs(“abc”,fp);fclose(fp);fp=fopen(“myfile.dat”,“a+”);fprintf(fp,“%d”,28);rewind(fp);fscanf(fp,“%s”,str);puts(str);fclose(fp);}程序的運(yùn)行結(jié)果是()。

A.abcB.28cC.abc28D.因類型不一致而出錯(cuò)

9.以下敘述中正確的是()。

A.結(jié)構(gòu)體變量中的成員可以是簡單變量、數(shù)組或指針變量

B.不同結(jié)構(gòu)體的成員名不能相同

C.結(jié)構(gòu)體定義時(shí),其成員的數(shù)據(jù)類型可以是本結(jié)構(gòu)體類型

D.結(jié)構(gòu)體定義時(shí),類型不同的成員項(xiàng)之間可以用逗號(hào)隔開

10.現(xiàn)有以下結(jié)構(gòu)體說明和變量定義,如圖所示,指針P、q、r分別指定一個(gè)鏈表中連續(xù)的3個(gè)結(jié)點(diǎn)。structnode{hardata;structnode*next;)*P,*q,*r;現(xiàn)要將q和r所指結(jié)點(diǎn)交換前后位置,同時(shí)要保持鏈表的結(jié)構(gòu),下列不能完成此操作的語句是()。A.q-:>next=r->next;p--:>next=r;rm:>next=q;

B.q-:>next=r;q->next=r->next;r->next=q;

C.q-:>next=r->next;r->next=q;p->next=r;

D.q-:>next=q;p->next=r;q->next=r->next;

11.下列關(guān)于棧的敘述中,正確的是()。

A.棧底元素一定是最后入棧的元素B.棧操作遵循先進(jìn)后出的原則C.棧頂元素一定是最先入棧的元素D.以上三種說法都不對(duì)

12.對(duì)長度為n的線性表排序,在最壞情況下,比較次數(shù)不是n(n-1)/2的排序方法是()。

A.快速排序B.冒泡排序C.直接插入排序D.堆排序

13.健壯的算法不會(huì)因非法的輸入數(shù)據(jù)而出現(xiàn)莫名其妙的狀態(tài)()

A.對(duì)B.錯(cuò)

14.若有語句“typedefstructS{intg;charh;}T;”,則下列敘述中正確的是()。

A.可用S定義結(jié)構(gòu)體變量B.可用T定義結(jié)構(gòu)體變量C.S是struct類型的變量D.T是structS類型的變量

15.下列條件語句中,輸出結(jié)果與其他語句不同的是()。

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

B.if(a=0)pritf("%dn",y);elseprint[("%d\n",x)

C.if(a!一0)printf("%dn",x);elseprint[("%a\n",y)

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

16.

17.

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

A.在switch語句中不一定使用break語句

B.在switch語句中必須使用default語句

C.break語句必須與switch語句中的case配對(duì)使用

D.break語句只能用于switch語句

19.以下語句定義正確的是()A.A.inta[1][4]-{1,2,3,4,5};

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

C.longa[2][3]={{1},{1,2},{1,2,3},{0,0)};

D.doublea[][3]={O);

20.有下列程序:程序執(zhí)行后的輸出結(jié)果是()。

A.hAppychristmAs

B.happychristmas

C.HAppyCHrIstmAs

D.HAPPYCHRISTMAS

二、2.填空題(20題)21.設(shè)有定義:intn,*k=&n;以下語句將利用指針變量k讀寫變量n中的內(nèi)容,請(qǐng)將語句補(bǔ)充完整。

scanf(“%d”,______);

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

22.#define命令出現(xiàn)在程序中函數(shù)的外面,宏名的有效范圍為______。

23.某二義樹中度為2的結(jié)點(diǎn)有18個(gè),則該二叉樹中有______個(gè)葉子結(jié)點(diǎn)。

24.以下函數(shù)的功能是求出能整除x且不是偶數(shù)的各整數(shù),并按從小到大的順序放在pp所指的數(shù)組中,這些除數(shù)的個(gè)數(shù)通過形參n返回。例如,若x中的值為30,則有4個(gè)數(shù)符合要求,它們是1,3,5,15。請(qǐng)按題意,完成填空。

試題程序:

#include<conio.h>

#include<stdio.h>

voidfun(intx,intpp[],int*n)

{inti,j=0;

for(i=1;i<x;i+=2)

if(x%i==0)pp[j++]=i;

【】;

}

main()

{intx,aa[1000],n,i;

clrscr();

printf("\nPleasenteranintegernumber:\n");scanf("%d",&x);

fun(x,aa,&n);

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

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

printf("\n");

}

25.假定變量x為int類型,請(qǐng)以最簡單的形式寫出與邏輯表達(dá)式!x等價(jià)的C語言關(guān)系表達(dá)式【】。

26.在進(jìn)行模塊測(cè)試時(shí),要為每個(gè)被測(cè)試的模塊另外設(shè)計(jì)兩類模塊:驅(qū)動(dòng)模塊和承接模塊(樁模塊),其中【】的作用是將測(cè)試數(shù)據(jù)傳送給被測(cè)試的模塊,并顯示被測(cè)試模塊所產(chǎn)生的結(jié)果。

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

compare(chars[],chart[])

{inti=0;

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

return(【】?1:0);

}

28.在E-R圖中,矩形表示【】。

29.下面程序有兩個(gè)printf語句,如果第一個(gè)printf語句輸出的是194,則第二個(gè)printf語句的輸出結(jié)果是【】。

main()

{inta[10]={1,2,3,4,5,6,7,8,9,0},*p;

p=a;

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

printf("%x\n,p+9);

}

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

main()

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

for(p=s;p<s+2;p++)printf("%s\n",p);

}

31.下面程序的輸出是【】。

main()

{intarr[10],i,k=0;

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

arr[i]=i;

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

k+=arr[i]+i;

printf("%d\n"k);}

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

#include<stdio.h>

intt(intx,inty,intcp,intdp)

{cp=x*x+y*y;

如:dp=x*-y*y;

}

main()

{inta=1,b=8,c=7,d=9;

t(a,b,c,D);

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

}

33.有以下程序:

#include<stdio.h>

main()

{intn=0,m=1,x=2;

if(!n)x-=1;

if(m)x-=2;

if(x)x-=3;

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

}

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

34.模塊測(cè)試時(shí),要為每個(gè)被測(cè)試的模塊另外設(shè)計(jì)兩類模塊:驅(qū)動(dòng)模塊和承接模塊(樁模塊)。其中______的作用是將測(cè)試數(shù)據(jù)傳送給被測(cè)試的模塊,并顯示被測(cè)試模塊所產(chǎn)生的結(jié)果。

35.以下程序的運(yùn)行結(jié)果為【】。

#include<stdio.h>

main()

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

staticint*pb[]={b[0],b[1]};

inti,j;

i=0;

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

printf("b[%d][%d]=%d",i,j,*(pb[i]+j));

printf("\n");

}

36.若有定義:intk;,以下程序段的輸出結(jié)果是______。for(k=2;k<6;k++,k++)printf("##%d",k);

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

voidfun()

{staticinta=0;

a+=2;printf("%d",a);

}

main()

{intcc;

for(cc=1;cc<4;cc++)fun();

printf("\n");

}

38.在進(jìn)行模塊測(cè)試時(shí),要為每個(gè)被測(cè)試的模塊另外設(shè)計(jì)兩類模塊:驅(qū)動(dòng)模塊和承接模塊,其中______的作用是將測(cè)試數(shù)據(jù)傳送給被測(cè)試的模塊,并顯示被測(cè)試模塊所產(chǎn)生的結(jié)果。

39.數(shù)據(jù)庫系統(tǒng)的三級(jí)模式分別為______模式、內(nèi)部級(jí)模式與外部級(jí)模式。

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

#include<stdio.h>

main()

{intx=1,y=0,a=0,b=0;

switch(x)

{case1:

switch(y)

{case0:a++;break;

case1:b++;break;

}

case2:a++;b++;break;

case3:a++;b++;

}

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

}

三、1.選擇題(20題)41.下列敘述中正確的是()。

A.線性鏈表的各元素在存儲(chǔ)空間中的位置必須是連續(xù)的

B.線性鏈表的頭元素一定存儲(chǔ)在其他元素的前面

C.線性鏈表中的各元素在存儲(chǔ)空間中的位置不一定是連續(xù)的,但表頭元素一定存儲(chǔ)在其他元素的前面

D.線性鏈表中的各元素在存儲(chǔ)空間中的位置不一定是連續(xù)的,且各元素的存儲(chǔ)順序也是任意的

42.若已定義c為字符型變量,則下列語句中正確的是()。

A.c='97'B.c="97";C.c=97;D.c="a";

43.在數(shù)據(jù)庫系統(tǒng)中,用戶所見的數(shù)據(jù)模式為A.概念模式B.外模式C.內(nèi)模式D.物理模式

44.有以下程序main(){inta[3][2]={0},(*ptr)[2],i,i;for(i=0;i<2;i++){ptr=a+i;scanf("%d",ptr);ptr+++;}for(i=0;i<3;i++){foil(j=0;j<2;j++)printf("%2d",a[i][j]);printf("\n");}若運(yùn)行時(shí)輸入:123<回車>,則輸出結(jié)果為

A.產(chǎn)生錯(cuò)誤信息B.102000C.123000D.102030

45.下述對(duì)C語言字符數(shù)組的描述中錯(cuò)誤的是()

A.字符數(shù)組可以存放字符串

B.字符數(shù)組中的字符串可以整體輸入、輸出

C.可以在賦值語句中通過賦值運(yùn)算符“=”對(duì)字符數(shù)組整體賦值

D.不可以用關(guān)系運(yùn)算符對(duì)字符數(shù)組中的字符串進(jìn)行比較

46.若有程序fun(inta,intb){staticintc=0;c+=a+b;rerurnc;}main(){intx=5,y=3,z=7,r;r=fun(y,x+y),z);r=fun(x,y);printf("%d\n",r);}上面程序的輸出結(jié)果是______。

A.23B.15C.19D.18

47.有以下程序;intf1(doubleA){returna*a;}intf2(doublex,doubley){doublea,b;a=n(x);b=f1(y);returna+b;}main(){doublew;w=f2(1.1,2.0);┇}變量w中的值是()

A.5.21B.5C.5D.0

48.下面判斷正確的是

A.char*a="china";等價(jià)于char*a;*a="china";

B.charstr[5]={"china"};等價(jià)于charstr[]={"china"};

C.char*s="china";等價(jià)于char*s;s="china";

D.charc[4]="abc",d[4]="abc";等價(jià)于charc[4]=d[4]="abc";

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

A.預(yù)處理命令行必須位于C源程序的起始位置

B.在C語言中,預(yù)處理命令行都以“#”開頭

C.每個(gè)C程序必須在開頭包含預(yù)處理命令行:#include<stdio.h>

D.C語言的預(yù)處理不能實(shí)現(xiàn)宏定義和條件編譯的功能

50.以下程序的功能是:按順序讀入10名學(xué)生4門課程的成績,計(jì)算出每位學(xué)生的平均分并輸出,程序如下:main(){intn.k;floatscore.sum,ave;sum=0.0;for(n=1;n<=10;n++){for(k=1;k<=4;k++){scanf("%f",&score);sum+=score;}ave=sum/4.0;printf("NO%d:%f\n",n,ave);}}上述程序運(yùn)行后結(jié)果不正確,調(diào)試中發(fā)現(xiàn)有—條語句出現(xiàn)在程序中的位置不正確。這條語句是

A.sum=0.0;

B.sum+=score;

C.ave=sun/4.0;

D.printf("NO%d:%f\n",n,ave);

51.在下面的語句中,賦值語句錯(cuò)誤的是_______。

A.a=(b=(c=2,d=3));B.i++;C.a=a/b=2;D.a=a<a+1;

52.已定義以下函數(shù):fun(char*p2,char*p1){while((*p2=*p1)!='\0'){p1++;p2++;}}此函數(shù)的功能是()。

A.將P1所指字符串復(fù)制到p2所指內(nèi)存空間,

B.將p1所指字符串的地址賦給指針p2

C.對(duì)p1和p2兩個(gè)指針?biāo)缸址M(jìn)行比較

D.檢查p1和p2兩個(gè)指針?biāo)缸址惺欠裼?\0'

53.已知大寫字母A的ASCII碼是65,小寫字母a的ASCII碼是97。下列不能將變量c中的大寫字母轉(zhuǎn)換為對(duì)應(yīng)小寫字母的語句是()。

A.c=(c-'A')%26+'a'

B.c=c+32

C.c=C-'A'+'a'

D.c=('A'+C)%26-'a'

54.用鏈表表示線性表的優(yōu)點(diǎn)是()。

A.便于隨機(jī)存取B.花費(fèi)的存儲(chǔ)空間較順序存儲(chǔ)少C.便于插入和刪除操作D.數(shù)據(jù)元素的物理順序和邏輯順序相同

55.若有以下定義和語句#include<stdio.h>inta=4,b=3,*p,*q,*w;p=&a;q=&b;w=q;q=NULL;則以下選項(xiàng)中錯(cuò)誤的語句是

A.*q=0;B.w=p;C.*p=a;D.*p=*w;

56.對(duì)于n個(gè)結(jié)點(diǎn)的單向鏈表(無表頭結(jié)點(diǎn)),需要指針單元的個(gè)數(shù)至少為______。

A.n-1B.nC.n+1D.2n

57.對(duì)于白箱(盒)測(cè)試用例的各設(shè)計(jì)準(zhǔn)則,下列敘述中正確的是()。

A.分支覆蓋準(zhǔn)則比語句覆蓋準(zhǔn)則嚴(yán)密

B.條件覆蓋要比分支覆蓋優(yōu)越。因此,條件覆蓋能完全滿足分支覆蓋

C.組合條件覆蓋準(zhǔn)則既能滿足分支覆蓋準(zhǔn)則,也能滿足條件覆蓋準(zhǔn)則。因此,組合條件覆蓋準(zhǔn)則是一種完全測(cè)試

D.上述說法都不對(duì)

58.以下程序的輸出結(jié)果是______。main(){charstr[12]={'s','t','r','i','n','g'};printf("%d/n",strlen(str));}

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

59.以下程序的輸出結(jié)果是main(){inta=4,b=5,c=0,d;d=!a&&!b||!c;printf("%d\n",d);}

A.1B.0C.非0的數(shù)D.-1

60.有以下程序main(){intx=10,y=10;printf("%d%d\n",x--,--y);}程序運(yùn)行后的輸出結(jié)果是()

A.1010B.99C.910D.109

四、選擇題(20題)61.(57)下列敘述中,不屬于軟件需求規(guī)格說明書的作用的是______。

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

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

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

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

62.

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

main

{inti,k,a[10],p[3];

k=5;

for(i=0:i<10;i++)a[i]=i;

for(i=0;i<3;i++)p[i]=a[i*(i+1)];

for(i=0;i<3;i++)k+=p[i]*2;

printf("%d\n",k、;

}

A.20B.21C.22D.23

63.有以下程序:

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

A.3B.4C.lD.9

64.以下選項(xiàng)中與

65.

66.有以下程序程序的運(yùn)行結(jié)果是()。

A.852B.963C.741D.875421

67.

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

#include<stdio.h>

main

{inta=0,i;

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

{switch(i)

{case0:

case3:a+=1;

case1;

case2:a+=2;

default:a+=3;

}

}

printf("%d",a);

}

A.19B.1C.6D.8

68.

69.

70.設(shè)有以下定義uniondata{intd1;floatd2;)demo;則下面敘述中錯(cuò)誤的是()。A.變量demo與成員d2所占的內(nèi)存字節(jié)數(shù)相同

B.變量demo中各成員的地址相同

C.變量demo和各成員的地址相同

D.若給demo.d1賦99后,demo.d2中的值是99.0

71.假定已建立以下鏈表結(jié)構(gòu),且指針P和q已指向如圖所示的結(jié)點(diǎn):

則以下選項(xiàng)中可將q所指結(jié)點(diǎn)從鏈表中刪除并釋放該結(jié)點(diǎn)的語句組是()。

A.p一>next=q一>next;flee(q);

B.p=q一>next;free(q);

C.p=q;free(q);

D.(*p).next=(幸q).next;ffee(p);

72.對(duì)于一個(gè)正常運(yùn)行的C程序,以下敘述中正確的是()。A.程序的執(zhí)行總是從main函數(shù)開始

B.程序的執(zhí)行總是從程序的第一個(gè)函數(shù)開始,在main函數(shù)結(jié)束

C.程序的執(zhí)行總是從main函數(shù)開始,在程序的最后一個(gè)函數(shù)中結(jié)束

D.程序的執(zhí)行總是從程序的第一個(gè)函數(shù)開始,在程序的最后一個(gè)函數(shù)中結(jié)束

73.

74.下列定義變量的語句中錯(cuò)誤的是()。

75.以下選項(xiàng)中關(guān)于C語言常量的敘述錯(cuò)誤的是()。

A.經(jīng)常被使用的變量可以定義成常量

B.常量分為整型常量、實(shí)型常量、字符常量和字符串常量

C.常量可分為數(shù)值型常量和非數(shù)值型常量.

D.所謂常量,是指在程序運(yùn)行過程中,其值不能被改變的量

76.

77.對(duì)如下二叉樹進(jìn)行后序遍歷的結(jié)果為()。

A.A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA

78.C語言中char類型數(shù)據(jù)占字節(jié)數(shù)為()。

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

79.若有以下說明和語句:

sturctst

{intn;char*ch;};

structsta[3]={5,"abc",7,"def",9,"ghk"},*p=a;

則值為6的表達(dá)式是()。

A)p++->nB)p->n++

C)(*p).n++D)++p->n

80.在E—R圖中,用來表示實(shí)體聯(lián)系的圖形是()。

A.橢圓形B.矩形C.菱形D.三角形

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc的功能是計(jì)算正整數(shù)m

各位上數(shù)字的平方和。例如,輸入498,則輸出應(yīng)該是161。請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:#include<stdlib.h>#include<stdio.h>#include<conio.h>longproc(10ngm){//****found****longsum=1;do{sum+=(m%10)*(m%10);m/=l0;//****found****}while(m)return(sum);}voidmain{longn;system("CLS");printf("Pleaseenteranumber:");scanf("%1d",&n);printf("\n%ld\n",proc(n));}

六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,已知學(xué)生的記錄由學(xué)號(hào)和學(xué)習(xí)成績構(gòu)成,N名學(xué)生的數(shù)據(jù)已存入a結(jié)構(gòu)體數(shù)組中。請(qǐng)編寫函數(shù)fun(),該函數(shù)的功能是找出成績最低的學(xué)生記錄,通過形參將其返回主函數(shù)(規(guī)定只有一個(gè)最低分)。已給出函數(shù)的首部,請(qǐng)完成該函數(shù)。注意:部分源程序在文件prog1.c中。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫的若干語句。試題程序:1#include<stdio.h>2#include<string.h>3#include<conio.h>4#include<stdlib.h>5#defineN106typedefstructss7{charnum[10];8ints;9}STU;10fun(STUa[],STU*s)11{1213}14voidmain()15{16FILE*wf;17STUa[N]={{"A01",81},{"A02",89},{"A03",66},{"A04",87},{"A05",77},{"A06",90},{"A07",79},{"A08",61},{"A09",80},{"A10",71}},m18inti;19system("CLS");20printf("*****Theoriginaldata*****\n");21for(i=0;i<N;i++)22printf("No=%sMark=%d\n",a[i],num,a[i].s);23fun(a,&m);24printf("****TheResult****\n");25printf("Thelowest:%s,%d\n",m.num,m.s);26/*************************/27wf=fopen("out.dat'*,"w");28fprintf(wf,"%s,%d",m.num,m.s);29fclose(wf);30/*************************/

參考答案

1.D本題可以寫成:a+a+(a-(a*a)),所以*的優(yōu)先級(jí)最高,其次是-=的,+的優(yōu)先級(jí)最低,因此先求a-=a*a=9,表達(dá)式變?yōu)閍+a+-=9,a即a=a-9=-6,再次變?yōu)閍+(-6)=-12,故選擇D選項(xiàng)。

2.B選項(xiàng)A為表達(dá)式,因此不正確,選項(xiàng)C中a++本身就是表達(dá)式,無需再賦值,選項(xiàng)D中,在強(qiáng)制類型轉(zhuǎn)換時(shí),類型名應(yīng)用括號(hào)括起來,故選擇8選項(xiàng)。

3.Astrlen函數(shù)計(jì)算字符串長度時(shí),遇到結(jié)束標(biāo)識(shí)為止,且長度不包括結(jié)束標(biāo)識(shí)。本題中的字符串從第1個(gè)字符開始,遇到第1個(gè)結(jié)束標(biāo)識(shí)‘\\0’為止,注意不占字符串長度,所以字符串長度為7。故本題答案為A選項(xiàng)。

4.A解析:數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,來刻畫數(shù)據(jù)流從輸入到輸出的移動(dòng)變換過程。數(shù)據(jù)流圖中的主要圖形元素有:加工(轉(zhuǎn)換)、數(shù)據(jù)流、存儲(chǔ)文件(數(shù)據(jù)源)、源和潭。

5.D

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

7.D

8.Cfprintf函數(shù)將內(nèi)容寫入硬盤的文件,fputs函數(shù)將字符串寫入文件,最終文件的內(nèi)容為abc28。故本題答案為C選項(xiàng)。

9.A結(jié)構(gòu)體變量中的成員可以是簡單變量、數(shù)組、指針變量或者結(jié)構(gòu)體變量,選項(xiàng)A正確;不同結(jié)構(gòu)體成員名可以相同,選項(xiàng)B錯(cuò)誤;結(jié)構(gòu)體定義時(shí),其成員的數(shù)據(jù)類型不能是本結(jié)構(gòu)體類型,選項(xiàng)C錯(cuò)誤;結(jié)構(gòu)體定義時(shí),類型不同的成員項(xiàng)之間使用分號(hào)隔開,選項(xiàng)D錯(cuò)誤。本題答案為A選項(xiàng)。

10.D由題目中線性鏈表的定義可知,要將q和r所指的結(jié)點(diǎn)交換前后位置,只要使q指向r的后一個(gè)結(jié)點(diǎn),P指向r結(jié)點(diǎn),r指向q結(jié)點(diǎn)即可。而在選項(xiàng)D中,r->next=q,這時(shí)r指向的節(jié)點(diǎn)為q;p->next=r,這時(shí)P指向的節(jié)點(diǎn)為r;q->next:r->next,因?yàn)閞節(jié)點(diǎn)已經(jīng)指向q,所以執(zhí)行這個(gè)語句后q又指向q,所以選項(xiàng)D不正確。

11.B棧是先進(jìn)后出,因此,棧底元素是先入棧的元素,棧頂元素是后入棧的元素。

12.D各種排序方法中最壞情況下需要比較的次數(shù)分別為:冒泡排序n(n-1)/2、快速排序n(n-1)/2、簡單插入排序n(n-1)/2、希爾排序0(n1.5)、簡單選擇排序n(n-1)/2、堆排序O(nlog2n)

13.A

14.BT為結(jié)構(gòu)體類型名,可以用來定義結(jié)構(gòu)體變量。故本題答案為B選項(xiàng)。

15.D主要考查if判斷語句,A選項(xiàng)if(a),如果a為真,則輸出X,否則輸出Y。B選項(xiàng)if(a==0),如果a恒等于0,則輸出Y,否則輸出X。C選項(xiàng)a(!=o),如果a不等于0,則輸出X,否則輸出y。D選項(xiàng)if(a==0),如果a恒等于0,則輸出X,否則輸出y。由以上結(jié)論可知,輸出結(jié)果不同的為D選項(xiàng)。

16.B本題考查標(biāo)準(zhǔn)輸入輸出函數(shù)和循環(huán)語句。gets(s)函數(shù)的作用是將輸入的字符讀入字符串s,直到遇到回車。而scanf函數(shù)接收字符串時(shí)的結(jié)束標(biāo)志為回車或者空格。因此選項(xiàng)B)不能,選項(xiàng)C)和選項(xiàng)D)中按字符逐個(gè)讀入字符串s中,直到讀入的字符是換行符為止,因此B正確。

17.B

18.Adefault語句在switch語句中可以省略,所以B選項(xiàng)錯(cuò)誤;switch語句中并非每個(gè)case后都需要使用break語句,所以C選項(xiàng)錯(cuò)誤;break語句還可以用于for等循環(huán)結(jié)構(gòu)中,所以D選項(xiàng)錯(cuò)誤。故本題答案為A選項(xiàng)。

19.D本題考查的是如何對(duì)二維數(shù)組進(jìn)行賦值。選項(xiàng)A)中數(shù)組第二維的大小是4,但卻給賦了5個(gè)元素;選項(xiàng)B)中C語言規(guī)定,對(duì)于二維數(shù)組,只可以省略第一個(gè)方括號(hào)中的常量表達(dá)式而不可以省略第二個(gè)方括號(hào)中的常量表達(dá)式:選項(xiàng)c)中數(shù)組第一維的大小是2,但是賦值卻超過了2;選項(xiàng)D)中在對(duì)二維數(shù)組元素賦初值時(shí),可以只對(duì)部分元素賦初值,未賦初值的元素自動(dòng)取0。

20.C程序定義一個(gè)字符數(shù)組b和一個(gè)字符變量k。for循環(huán)通過循環(huán)變量k,遍歷數(shù)組b中的各個(gè)字符,通過if語句判斷當(dāng)前下標(biāo)為k的字符的ASCII值與字符'm'的ASCII值的大小,ASCII值小于‘m’的ASCII值的字符改成大寫字母(b[k]=b[k]-'a'+'A'),然后輸出b[k]。在字符串“happychristmas”中,ASCII值小于'm'的字符有h,a,c,h,i,a,所以程序輸出:HAppyCHrIstmAs。本題答案為C選項(xiàng)。

21.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。

22.從定義到本源文件結(jié)束從定義到本源文件結(jié)束解析:C語言規(guī)定,宏名的有效范圍為從定義宏到本源程序結(jié)束。

23.1919解析:二叉樹具有如下性質(zhì):在任意一棵二叉樹中,度為。的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè)。根據(jù)題意,度為2的節(jié)點(diǎn)為18個(gè),那么,葉子結(jié)點(diǎn)就應(yīng)當(dāng)是19個(gè)。

24.*n=j*n=j解析:本題題干信息是能整除x且不是偶數(shù)的所有整數(shù)之和。循環(huán)語句中i從1開始且每次增2,所以i始終是奇數(shù),*n=j;語句是記錄能夠符合題意的各個(gè)整數(shù)的各數(shù)。

25.x==0

26.驅(qū)動(dòng)模塊驅(qū)動(dòng)模塊解析:在進(jìn)行模塊測(cè)試時(shí),要為每個(gè)被測(cè)試的模塊另外設(shè)計(jì)兩類模塊:驅(qū)動(dòng)模塊和承接模塊(樁模塊)。其中,驅(qū)動(dòng)模塊相當(dāng)于被測(cè)試模塊的主程序,它接收測(cè)試數(shù)據(jù),并傳給被測(cè)試模塊,輸出實(shí)際測(cè)試結(jié)果。承接模塊通常用于代替被測(cè)試模塊調(diào)用的其他模塊,其作用僅做少量的數(shù)據(jù)操作,是一個(gè)模擬子程序,不必將子模塊的所有功能帶入。

27.s[i]!='\0'||t[i]!='\0's[i]=='\0'&&t[i]=='\0's[i]!='\\0'||t[i]!='\\0'\r\ns[i]=='\\0'&&t[i]=='\\0'

28.實(shí)體實(shí)體解析:E-R模型中,有3個(gè)基本的抽象概念:實(shí)體、聯(lián)系和屬性。在E-R圖中,用矩形框表示實(shí)體,菱形框表示聯(lián)系,橢圓形框表示屬性。

29.1a61a6解析:對(duì)于指針變量的運(yùn)算,就是對(duì)地址的運(yùn)算。本題中由于指針指向的是整型變量,所以,使指針變量移動(dòng)9個(gè)位置也就是移動(dòng)18個(gè)字節(jié)。注意,本題是以十六進(jìn)制輸出的。

30.98768769876\r\n876解析:指針是一種數(shù)據(jù)類型,這種數(shù)據(jù)類型的變量用來存放內(nèi)存中分配的存儲(chǔ)單元的首地址。指針的定義:

類型說明符*指針變量名;

31.1212解析:本題通過第一個(gè)for循坪將數(shù)組arr[0]-arr[9]分別賦值為0-9,通過第二個(gè)for循環(huán)的三次循環(huán)累加,求出結(jié)果為12,具體分析如下:

i=1:k=0+arr[1]+1即k=2;

i=2:k=2+arr[2]+2即k=6;

i=3:k=6+arr[3]+3即k=12;

32.7979解析:因?yàn)樵谡{(diào)用子函數(shù)時(shí)進(jìn)行的是數(shù)值傳遞,調(diào)用子函數(shù)并不能改變實(shí)參的值,所以經(jīng)過調(diào)用子函數(shù),c、d的值并沒有發(fā)生變化還是原來的值。

33.-4-4解析:因?yàn)閚=0,所以!n為真,執(zhí)行x-=1;得到x=x=2-1=1;m=1為真,執(zhí)行x-=2;得到x=x-2=1-2=-1;x=-1為真,執(zhí)行x-=3;得到x=x-3=-1-3=-4。

34.在進(jìn)行單元測(cè)試時(shí),要用一些輔助模塊去模擬與被測(cè)模塊相聯(lián)系的其他模塊,即為被測(cè)模塊設(shè)計(jì)和搭建驅(qū)動(dòng)模塊和樁模塊。其中,驅(qū)動(dòng)模塊相當(dāng)于被測(cè)模塊的主程序,它接收測(cè)試數(shù)據(jù),并傳給被測(cè)模塊,輸出實(shí)際測(cè)試結(jié)果;而樁模塊是模擬其他被調(diào)用模塊,不必將子模塊的所有功能帶入。\r\n\r\n

35.b[0][0]=1b[0][1]=2b[0][2]=3

36.本題主要考查for循環(huán)語句。for循環(huán)的增量表達(dá)式為逗號(hào)表達(dá)式,相當(dāng)于k+=2;,即每次循環(huán)后k增加2。第一次循環(huán)時(shí),k=2,因此輸出##2;第二次循環(huán)時(shí)k=4,輸出##4。此后k=6,不滿足循環(huán)條件。\r\n\r\n

37.246

38.驅(qū)動(dòng)模塊驅(qū)動(dòng)模塊解析:由于模塊通常不是獨(dú)立的程序,自己不能運(yùn)行,而需要其他模塊調(diào)用或驅(qū)動(dòng),同時(shí)被測(cè)試模塊還要去調(diào)用其他模塊,前者稱為驅(qū)動(dòng)模塊,后者稱為承接模塊。其中驅(qū)動(dòng)模塊的作用是將測(cè)試數(shù)據(jù)傳送給被測(cè)試的模塊,并顯示被測(cè)試模塊所產(chǎn)生的結(jié)果;承接模塊的作用是代替被測(cè)模塊,調(diào)用其他模塊。

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

40.a=2b=1a=2,b=1解析:本題考查了switch結(jié)構(gòu)的內(nèi)容。C語言中,程序執(zhí)行完一個(gè)case標(biāo)號(hào)的內(nèi)容后,如果沒有break語句,控制結(jié)構(gòu)會(huì)轉(zhuǎn)移到下一個(gè)case繼續(xù)執(zhí)行,因?yàn)閏ase常量表達(dá)式只是起語句標(biāo)號(hào)作用,并不是在該處進(jìn)行條件判斷。本題程序在執(zhí)行完內(nèi)部switch結(jié)構(gòu)后,繼續(xù)執(zhí)行了外部switch結(jié)構(gòu)的case2:分支,最后a和b的值分別為2和1。

41.DD.【解析】在線性鏈表中,各元素在存儲(chǔ)空間中的位置是任意的,各元素的順序也是任意的,依靠指針來實(shí)現(xiàn)數(shù)據(jù)元素的前后件關(guān)系。

42.C解析:C語言中,字符型數(shù)據(jù)和整型數(shù)據(jù)之間可以通用。一個(gè)字符數(shù)據(jù)既可以字符形式輸出,也可以整數(shù)形式輸出,所以把整型數(shù)據(jù)賦給字符型變量,直接用c=97即可,所以選項(xiàng)C)正確。由于題目要求選出正確的語句,選項(xiàng)A)少分號(hào),不能構(gòu)成語句,因此錯(cuò)誤。B)、D)是將一個(gè)字符串賦給一個(gè)字符變量,所以錯(cuò)誤。

43.B解析:數(shù)據(jù)庫管理系統(tǒng)的三級(jí)模式結(jié)構(gòu)由外模式、模式和內(nèi)模式組成。外模式也稱子模式或用戶模式,是指數(shù)據(jù)庫用戶所看到的數(shù)據(jù)結(jié)構(gòu),是用戶看到的數(shù)據(jù)視圖。模式也稱邏輯模式,是數(shù)據(jù)庫中對(duì)全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特性的描述,是所有用戶所見到的數(shù)據(jù)視圖的總和。內(nèi)模式也稱存儲(chǔ)模式或物理模式,是指數(shù)據(jù)在數(shù)據(jù)庫系統(tǒng)內(nèi)的存儲(chǔ)介質(zhì)上的表示,即對(duì)數(shù)據(jù)的物理結(jié)構(gòu)和存取方法的描述。根據(jù)上述介紹可知,數(shù)據(jù)庫系統(tǒng)中用戶所見到的數(shù)據(jù)模式為外模式。因此,本題的正確答案是B。

44.D解析:本題主要考查的是scanf()函數(shù)的輸入原理。scanf()函數(shù)執(zhí)行時(shí),先從鍵盤緩沖區(qū)中讀取用戶輸入的數(shù)據(jù),若緩沖區(qū)為空或輸入數(shù)據(jù)少于所需數(shù)據(jù),則暫停程序等待用戶的輸入,直到用戶敲入回車,scanf()將繼續(xù)到鍵盤緩沖區(qū)中讀取輸入,如此反復(fù)直到滿足scanf()函數(shù)所需數(shù)據(jù),程序才繼續(xù)執(zhí)行下面的語句,而scanf()沒有取完的數(shù)據(jù)仍然會(huì)保存在鍵盤緩沖區(qū)內(nèi),到程序結(jié)束時(shí)還沒取完就會(huì)被釋放掉,不會(huì)影響其他的程序運(yùn)行。另外,scanf()函數(shù)將取到的數(shù)據(jù)匹配給第2個(gè)及其后面的指針參數(shù)所指的內(nèi)存地址中去,而不檢查該參數(shù)的類型是否匹配。所以在本題中考生不要被指針ptr的定義所迷惑,它所做的只不過是臨時(shí)保存一下a+i的值,然后送到scanf()函數(shù)中去。題目首先定義了一個(gè)二維數(shù)組a[3][2]并用{0}初始化之,因?yàn)楫?dāng)所賦初值少于所定義數(shù)組的元素個(gè)數(shù)時(shí),將自動(dòng)給后面的元素樸以初值0,所以數(shù)組a[3][2]中所有的元素都被初始化為0了。在主程序的第一個(gè)for循環(huán)體中有三條語句,該循環(huán)體會(huì)被執(zhí)行兩次,每次執(zhí)行時(shí)i的值分別為0和1。第1條語句讓ptr的值分別為a+0(即元素a[0])[0])的地址)和a+1(即元素a[1][0]的地址);第2條語句是一條輸入語句,它每次接受一個(gè)十進(jìn)制整數(shù)存入到ptr所指的內(nèi)存地址中,題目要求輸入的數(shù)據(jù)為“123<回車>”,所以兩次scanf()函數(shù)的調(diào)用使a[0][0]和a[1][0]分別被賦為1和2。笫3條語句讓ptr自增1在這里沒有起到任何作用,因?yàn)槊看芜M(jìn)入循環(huán)體ptr都會(huì)被重新賦值。最后,程序用一個(gè)兩重循環(huán)按行列輸出二維數(shù)組a中的所有元素。所以,選項(xiàng)B符合題意。

45.C

46.A解析:static聲明的外部變量只限于被本文件引用,而不能被其他文件引用。用static來聲明—個(gè)變量的作用有:①對(duì)局部變量用static聲明,則為該變量分配的空間在整個(gè)程序執(zhí)行期間始終存在;②全部變量用static聲明,則該變量的作用域只限于本文件模塊(即被聲明的文件中)。調(diào)用第—個(gè)fun,其兩個(gè)實(shí)參的值為(3,5+3)與7即8與7,在函數(shù)fun執(zhí)行結(jié)束返回15。第二次調(diào)用fun時(shí),由于static為靜態(tài)類型,其值保留,執(zhí)行fun(5,3)后,其返回值為23,故選A。

47.C

48.C解析:選項(xiàng)A)char*a;*a=“china”應(yīng)改為a=china;,選項(xiàng)B)應(yīng)該是charstr[6];D)項(xiàng)表述方法有錯(cuò)誤。

49.B解析:選項(xiàng)B)正確,預(yù)處理命令行之前都有一個(gè)“#”符號(hào)。C語言提供三種預(yù)處理:宏替換,文件包含,條件編譯。

50.A解析:程序中使用了兩層for循環(huán),外層循環(huán)的作用是控制人數(shù),循環(huán)一次是求一個(gè)人的成績和,然后除以4得到平均成績。每個(gè)人的成績總和一開始時(shí)都必須清0,否則就會(huì)出現(xiàn)后面人的總成績?cè)絹碓酱?。“sum=0.0”;應(yīng)在外層循環(huán)中。選項(xiàng)A正確。

51.C解析:①C語言中的賦值號(hào)“=”是—個(gè)運(yùn)算符;②賦值語句是由賦值表達(dá)式加上一個(gè)分號(hào)構(gòu)成。賦值表達(dá)式的左側(cè)不能為常量或表達(dá)式。

52.A解析:本題中的while((*p2=*p1)!='\\0')語句首先進(jìn)行賦值*p2=*p1,即把p1所指存儲(chǔ)單元的字符逐一復(fù)制到p2所指存儲(chǔ)單元中,然后判斷p1所指單元內(nèi)容是否為'\\0',若判斷條件成立,則指針p1和p2依次指向下一個(gè)字符,繼續(xù)執(zhí)行循環(huán)體語句,否則循環(huán)終止。

53.D解析:由題意可知,小寫字符a和大寫字符A的ASCII代碼相差為32,所以選項(xiàng)C)能將大寫字符c的ASCII代碼轉(zhuǎn)換為小寫字符c的ASCⅡ代碼;選項(xiàng)A)和C)左側(cè)的表達(dá)式都是大寫字符c與大寫字符A的差與'a'的ASCII代碼的和就是小寫字符c的ASCII代碼。而選項(xiàng)D)中應(yīng)該是加上'a',而不是減去'a'。

54.C【解析】在鏈表中因?yàn)槌舜娣艛?shù)據(jù)元素之外,還要存放指針,所以鏈表花費(fèi)的存儲(chǔ)空間要比順序表還要多,在插入和刪除數(shù)據(jù)元素時(shí),只需要移動(dòng)相應(yīng)的記錄指針即可,在鏈表中,數(shù)據(jù)的物理結(jié)構(gòu)與邏輯結(jié)構(gòu)不一定相同,因?yàn)槭强恐羔榿韺?shí)現(xiàn)對(duì)數(shù)據(jù)的指定的,所以不能進(jìn)行隨機(jī)存取。

55.A解析:本題中定義了3個(gè)指向整型的指針變量p、q、w,并讓P指向a,讓q指向b,通過將q的值賦給w,使w也指向b,最后將NULL賦值給q。由整型變量指針的定義可知,可以給整型指針指向的變量賦一個(gè)常數(shù)值(表達(dá)式);可以給指針變量賦一個(gè)同種類型的指針變量(或地址值);選項(xiàng)A因?yàn)閝不指向任何變量,給一個(gè)空指針指向的單元賦值是錯(cuò)誤的。

56.C解析:在n個(gè)結(jié)點(diǎn)的單向鏈表(無表頭結(jié)點(diǎn))中,每個(gè)結(jié)點(diǎn)都有一個(gè)指針單元(即指針域),加上頭指針,至少需要n+1個(gè)指針單元。

57.A解析:白箱(盒)測(cè)試是根據(jù)對(duì)程序內(nèi)部邏輯結(jié)構(gòu)的分析來選取測(cè)試用例的。白箱(盒)測(cè)試用例的設(shè)計(jì)準(zhǔn)則有:語句覆蓋、分支覆蓋、條件覆蓋和組合條件覆蓋。分支覆蓋通過足夠多的測(cè)試用例,使程序中的每個(gè)分支至少通過一次。分支覆蓋準(zhǔn)則比語句覆蓋準(zhǔn)則嚴(yán)密一些,選項(xiàng)A正確;條件覆蓋通過執(zhí)行足夠多的測(cè)試用例,使每個(gè)判定中的每個(gè)條件都能取到兩種不同的結(jié)果(“真”與“假”)。雖然條件覆蓋要比分支覆蓋優(yōu)越,但、并不能完全滿足分支覆蓋,選項(xiàng)B錯(cuò)誤;組合條件覆蓋要求通過足夠多的測(cè)試用例,使每個(gè)判定中各條件的各種可能組合至少出現(xiàn)一次,它既能滿足分支覆蓋準(zhǔn)則,也能滿足條件覆蓋準(zhǔn)則,但也不是完全測(cè)試,選項(xiàng)C錯(cuò)誤。

58.A解析:在C語言中,字符串的長度是其首字符到NULL(不含)字符的總字符個(gè)數(shù)。本題定義字符數(shù)組str的同時(shí),對(duì)第7個(gè)元素,由系統(tǒng)自動(dòng)添加上“\\0”,故字符串的長度為6。

59.A解析:本題考核的知識(shí)點(diǎn)是邏輯運(yùn)算符的運(yùn)用。由于單目運(yùn)算符優(yōu)先級(jí)高于“&&”和“‖”、運(yùn)算,所以先計(jì)算!a、!b和!c分別為“假”、“假”、“真”,然后是&&運(yùn)算和“‖”運(yùn)算,原表達(dá)式就等價(jià)于“假”&&“假”‖“真”又由于“&&”的優(yōu)先級(jí)高于“‖”運(yùn)算符,所以先計(jì)算“假”&&“假”,還是為假,最后是“假”‖,“真”為真。因此最后d被賦值為1,故最后輸出為1。所以,4個(gè)選項(xiàng)中A為所選。

60.D

61.D

62.B

\n第一個(gè)循環(huán)的作用是把從0~9的數(shù)賦

\n給a數(shù)組;第二個(gè)循環(huán)的作用是把

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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)論