2021年湖南省益陽市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)模擬考試(含答案)_第1頁
2021年湖南省益陽市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)模擬考試(含答案)_第2頁
2021年湖南省益陽市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)模擬考試(含答案)_第3頁
2021年湖南省益陽市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)模擬考試(含答案)_第4頁
2021年湖南省益陽市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)模擬考試(含答案)_第5頁
已閱讀5頁,還剩77頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

2021年湖南省益陽市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.設(shè)有定義“floata=12.3f;doubleb=456.78;”,若想用printf函數(shù)輸出a和b的值,關(guān)于輸出格式,以下說法正確的是()。

A.只能用%lf輸出a,用%f輸出b

B.只能用%f輸出a,用%lf輸出b

C.只能用%lf輸出a,用%lf輸出b

D.既可以用%f輸出a,也可以用%f輸出b

2.在位運(yùn)算中,操作數(shù)每左移兩位,其結(jié)果相當(dāng)于()。

A.操作數(shù)乘以2B.操作數(shù)除以2C.操作數(shù)除以4D.操作數(shù)乘以4

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

A.用C語言編寫的程序只能放在一個(gè)程序文件中

B.C語言程序書寫格式嚴(yán)格,要求一行內(nèi)只能寫一個(gè)語句

C.C語言程序中的注釋只能出現(xiàn)在程序的開始位置和語句的后面

D.C語言程序書寫格式自由,一個(gè)語句可以寫在多行上

4.以下有關(guān)宏的描述不正確的是()。

A.宏定義不做語法檢查B.雙引號(hào)中出現(xiàn)的宏名不進(jìn)行替換C.宏名無類型D.宏名必須用大寫字母表示

5.有以下程序#include<stdio.h>structst{intx,y;}data[2]={1,10,2,20};main(){structst*p=data;printf("%d,",p->y);printf("%d\n",(++p)->x);}程序的運(yùn)行結(jié)果是______。A.10,1B.20,1C.10,2D.20,2

6.設(shè)變量已正確定義,則以下能正確計(jì)算f=n!的程序是()。A.f=0:for(i=1;i<=n;i++)f*=i:

B.F=1:for(i=1;i<2n;i++)f*=i:

C.f=1:for(i=n;i>1;i++)f*=i:

D.f=1;for(i=n;i>=2;i--)f*=i:

7.以下關(guān)于return語句的敘述中正確的是()。

A.一個(gè)自定義函數(shù)中必須有一條return語句

B.一個(gè)白定義函數(shù)中可以根據(jù)不同情況設(shè)置多條return語句

C.定義成void類型的函數(shù)中可以有帶返回值的return語句

D.沒有return語句的自定義函數(shù)在執(zhí)行結(jié)束時(shí)不能返回到調(diào)用處

8.以下敘述中錯(cuò)誤的是()。A.C程序在運(yùn)行過程中所有計(jì)算都以二進(jìn)制方式進(jìn)行

B.C程序在運(yùn)行過程中所有計(jì)算都以十進(jìn)制方式進(jìn)行

C.所有C程序都需要編譯鏈接無誤后才能運(yùn)行

D.C程序中整型變量只能存放整數(shù),實(shí)型變量只能存放浮點(diǎn)數(shù)

9.設(shè)x,y,t均為int型變量,執(zhí)行語句:

x=y=3;

t=++x||++y;

完成后,y的值為A.A.不確定B.4C.3D.1

10.

11.下面是有關(guān)C語言字符數(shù)組的描述,其中錯(cuò)誤的是()。

A.不可以用賦值語句給字符數(shù)組名賦字符串

B.可以用輸入語句把字符串整體輸入給字符數(shù)組

C.字符數(shù)組中的內(nèi)容不一定是字符串

D.字符數(shù)組只能存放字符串

12.有如下程序:#include<stdio.h>msin(){chars[]="ABCD",*P;for(p=s+1;p<s+4;p++)Printf("%s\n",p);}該程序的輸出結(jié)果是()。

A.ABCDBCDCDDB.ABCDC.BCDD.BCDCDD

13.已有定義:charc;,程序前面已在命令行中包含ctype.h文件,不能用于判斷c中的字符是否為大寫字堪的表達(dá)式是()。

A.isupper(c)B.A<=c<=ZC.A<=c&&c<=ZD.c<=(z-32)&&(a-32)<=c

14.下列選項(xiàng)中,能正確定義數(shù)組的語句是()。

A.intnum[0..2008];

B.intnum[];

C.intN=2008;intnum[N];

D.#defineN2008;intnum[N];

15.有以下程序:

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

A.1,2,6,24,120,B.1,2,3,4,5,C.1,1,1,1,1,D.1,2,4,6,8,

16.在長度為n的順序存儲(chǔ)的線性表中,刪除第i個(gè)元素(1≤i≤n)時(shí),需要從前向后依次前移____個(gè)元素。

A.n-iB.n-i+1C.n-i-1D.i

17.下列選項(xiàng)中不合法的十六進(jìn)制數(shù)是()。

A."0"xffB."0"X11C."0"x1gD.”0”Xabc

18.現(xiàn)有如下定義語句int*p,s[20],i;p=s;表示數(shù)組元素s[i]的表達(dá)式不正確的是

A.*(s+i)B.*(p+i)C.*(s=s+i)D.*(p=p+i)

19.

20.一個(gè)順序棧一旦聲明,其占用空間的大小()。

A.已固定B.可以變動(dòng)C.不能固定D.動(dòng)態(tài)變化

二、2.填空題(20題)21.常用的軟件結(jié)構(gòu)設(shè)計(jì)工具是結(jié)構(gòu)圖(SC),也稱程序結(jié)構(gòu)圖。其中,用矩形表示______,用帶空心圓的箭頭表示傳遞的是數(shù)據(jù)。

22.請?jiān)谝韵鲁绦虻谝恍械南聞澗€處填寫適當(dāng)內(nèi)容,使程序能正確運(yùn)行。

【】(double,double);

main()

{doublex,y;

seanf("%1f%1f",&x,&y);

pfintf("%1f\n",max(x,y));

}

doublemax(doublea,doubleb)

{return(a>b?a:b);}

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

structexmp{charname[10];

intnumber;

};

structexmptest[3]={{"WangXi",1},{"QiYu",2},{"HuHua",3}};

main()

{printf("%c,%s\n",test[0].name[1],test[2].name+3);

}

24.已知bead指向一個(gè)帶頭結(jié)點(diǎn)的單向鏈表,鏈表中每個(gè)結(jié)點(diǎn)包含數(shù)據(jù)域(data)和指針域(next),數(shù)據(jù)域?yàn)檎汀R韵潞瘮?shù)求出鏈表中所有連接點(diǎn)數(shù)據(jù)域的和值作為函數(shù)值返回。請?jiān)跈M線處填入正確內(nèi)容。

{intdata;structlink*next;}

main()

{structlink*head;

sam(______);

{stmctlink*p;ints=0;

p=head->next;

while(p){s+=p->data;p=p->next;}

return(s);}

25.執(zhí)行以下程序后,輸出‘#’號(hào)的個(gè)數(shù)是【】。

#include<atdio.h>

main()

{inti,j;

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

for(j=2;j<=i;j++)putchar('#');

}

26.數(shù)據(jù)元素之間______的整體稱為邏輯結(jié)構(gòu)。

27.下列二維數(shù)組初始化語句中,正確且與語句floata[][3]={0,3,8,0,9};等價(jià)的是

28.以下程序中函數(shù)huiwen的功能是檢查一個(gè)字符串是否是回文,當(dāng)字符串是回文時(shí),函數(shù)數(shù)返回字符串:yes!否則函數(shù)返回這符串:no!并在主函數(shù)中輸出。所謂回文即正向與反向的拼寫都一樣,例如:adgda。請?zhí)羁?/p>

#include<string.h>

char*huiwen(char*str)

{char*p1,*p2;inti,t=0;

pl=str;p2=______;

for(i=0;i<=strlen(str)/2;i+*)

if(*p1++!=*p2--){t=1;break;}

if(______)return("yes!");

elsereturn(*no!");

}

main()

{charstr[50];

printf("Input:");scanf("%s",str);

printf("%s\n",______);

}

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

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

#defineMAX(a,b)(a>b?a:b)+1

main()

{inti=6,j=8,k;

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

}

31.樹中度為零的結(jié)點(diǎn)稱為______。

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

main()

{inti;

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

f(i);}

f(j)

{intj;

staticinta=1000;

autointk=1;

++k;

printf("%d+%d+%d=%d\n",a,k,j,a+k+j);

a+=10;}

33.數(shù)據(jù)庫的設(shè)計(jì)通??梢苑譃?個(gè)步驟:需求分析、概念設(shè)計(jì)、【】和物理設(shè)計(jì)。

34.以下程序用以刪除字符串中所有的空格,請?zhí)羁铡?/p>

#include<stdio.h>

main()

{chars[100]={"OurteacherteachClanguage!"};inti,j;

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

if(s[i]!=''){()}

s[j]='\0';

printf("%s\n",s);

}

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

36.函數(shù)my_cmp()的功能是比較字符串s和t的大小,當(dāng)s等于t時(shí)返回0,否則返回s和t的第一個(gè)不同字符的ASCII碼差值,即s>t時(shí)返回正值,當(dāng)s<t時(shí)返回負(fù)值。請?zhí)羁铡?/p>

my_cmp(char*s,char*t)

{while(*s==*t)

{if(*s=='\0')return0;

++s;++t;

}return【】;

}

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

#include<stdio.h>

main()

{intx=10,y=10,i;

for(i=0;x>8;y=++i)

printf("%d%d",x--,y);

}

38.在面向?qū)ο蟮脑O(shè)計(jì)中,用來請求對象執(zhí)行某一處理或回答某些信息的要求稱為【】。

39.設(shè)一棵完全二叉樹共有700個(gè)結(jié)點(diǎn),則在該二叉樹中有【】個(gè)葉子結(jié)點(diǎn)。

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

a>=0?【】:【】

三、1.選擇題(20題)41.以下有4組用戶標(biāo)識(shí)符,其中合法的一組是()。

A.FOr-subCase

B.4dDOSize

C.f2_G3IFabc

D.WORDvoiddefine

42.開發(fā)軟件所需高成本和產(chǎn)品的低質(zhì)量之間有著尖銳的矛盾,這種現(xiàn)象稱做()。A.軟件矛盾B.軟件危機(jī)C.軟件藕合D.軟件產(chǎn)生

43.函數(shù)fseek的正確調(diào)用形式是()。

A.fseek(位移量,起始點(diǎn),文件類型指針);

B.fseek(文件類型指針,位移量,起始點(diǎn));

C.fseek(文件類型指針,起始點(diǎn),位移量);

D.fseek(起始點(diǎn),位移量,文件類型指針);

44.若有說明語句:inta,b,c,*d=&c;則能正確從鍵盤讀入主個(gè)整數(shù)分別賦給變量a、b、c的語句是

A.scanf(“%d%d%d”,&a,&b,d);

B.scanf(“%d%d%d”,&a,&b,&d);

C.scanf(“%d%d%d”,a,b,d);

D.scanf(“%d%d%d”,a,b,*d);

45.下面程序的運(yùn)行結(jié)果是#include<stdio.h>voiddelch(char*s){inti,j;char*a;a=S;for(i=0,j=0;a[i]!='\0';i++)if(a[i]>='0'&aa[i]<='9'){s[j]=a[i];j++;}s[j]='\0';}main(){char*item="a34bC";delch(item);printf("\

A.abcB.34C.a34D.a34bc

46.有以下程序main(){inta=7,b=8,*p,*q,*r;p=&a;q=&b;r=p;p=q;q=r;printf("%d,%d,%d,%d\n",*p,*q,a,b);}程序運(yùn)行后輸出結(jié)果是

A.8,7,8,7B.7,8,7,8C.8,7,7,8D.7,8;8,7

47.(50)

A.p->nextB.pC.sD.s->next

48.有如下程序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

49.檢查軟件產(chǎn)品是否符合需求定義的過程稱為()。

A.確認(rèn)測試B.集成測試C.驗(yàn)證測試D.驗(yàn)收測試

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

A.反碼B.補(bǔ)碼C.EBCDIC碼D.ASCII碼

51.以下程序intaa[3][3]={{2},{4},{6}};main(){inti,*p=&aa[0][0];for(i=0;i<2;i++){if(i==0)aa[i][i+1]=*p+1;else++p;printf("%d",*p);}}的輸出是______。

A.23B.26C.33D.36

52.下列說法不正確的是()。

A.一個(gè)C語言源程序可以由一個(gè)函數(shù)組成也可以由多個(gè)函數(shù)組成

B.main()中的“()”是函數(shù)的參數(shù)部分,括號(hào)內(nèi)可為空,但括號(hào)不能省略

C.C語言程序是以函數(shù)為基本單位的

D.在C語言程序中,注釋行只能位于一條語句的后面

53.下列對于線性鏈表的描述中正確的是()。

A.存儲(chǔ)空間不一定連續(xù),且各元素的存儲(chǔ)順序是任意的

B.存儲(chǔ)空間不一定連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面

C.存儲(chǔ)空間必須連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面

D.存儲(chǔ)空間必須連續(xù),且各元素的存儲(chǔ)順序是任意的

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

A.軟件交付使用后還需要進(jìn)行維護(hù)

B.軟件一旦交付使用就不需要再進(jìn)行維護(hù)

C.軟件交付使用后其生命周期就結(jié)束

D.軟件維護(hù)是指修復(fù)程序中被破壞的指令

55.若有以下程序:#include<stdio.h>voidf(intn);main(){voidf(intn);f(5);}voidf(intn){printf("%d\n",n);}則以下敘述中不正確的是()。

A.若只在主函數(shù)中對函數(shù)f進(jìn)行說明,則只能在主函數(shù)中正確調(diào)用函數(shù)f

B.若在主函數(shù)前對函數(shù)f進(jìn)行說明,則在主函數(shù)和其后的其他函數(shù)中都可以正確調(diào)用函數(shù)f

C.對于以上程序,編譯時(shí)系統(tǒng)會(huì)提示出錯(cuò)信息:對f函數(shù)重復(fù)說明

D.函數(shù)f無返回值,所以可用void將其類型定義為無返回值型

56.以下程序調(diào)用findmax函數(shù)返回?cái)?shù)組中的最大值findmax(int*a,intn){int*p,*s;for(p=a,s=a;p-a<n;p++)if(_____)s=p;return(*s);}main(){intx[5]={12,21,13,6,18};printf(“%d\n”,findmax(x,5));}在下劃線處應(yīng)填入的是

A.p>sB.*p>*sC.a[p]>a[s]D.p-a>p-s

57.下列不屬于軟件調(diào)試技術(shù)的是______。A.強(qiáng)行排錯(cuò)法B.集成測試法C.回溯法D.原因排除法

58.產(chǎn)生軟件危機(jī)的原因是:一方面與軟件生產(chǎn)本身的復(fù)雜性有關(guān);另一方面,和______的方法不正確有關(guān)。

A.軟件的使用B.軟件的成本C.軟件的開發(fā)和維護(hù)D.軟件的文檔資料

59.若變量已正確定義并賦值,下面符合C語言語法的表達(dá)式是______。

A.a:=b+1;B.a=b=C+2;C.int18.5%3;D.a=a+7=c+b;

60.數(shù)據(jù)庫DB、數(shù)據(jù)庫系統(tǒng)DBS、數(shù)據(jù)庫管理系統(tǒng)DBMS之間的關(guān)系是()。

A.DB包含DBS和DBMSB.DBMS包含DB和DBSC.DBS包含DB和DBMSD.沒有任何關(guān)系

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

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

A.9.One*World

B.9.One*Dream!

C.10.One*Dream!

D.10.One*World

62.

63.面向?qū)ο蠓椒ㄖ?,繼承是指()。

A.一組對象所具有的相似性質(zhì)B.一個(gè)對象具有另一個(gè)對象的性質(zhì)C.各對象之間的共同性質(zhì)D.類之間共享屬性和操作的機(jī)制

64.有如下程序段

#include"stdio.h"

typedefstructaa

{inta;

structaa*next;

}M;

voidset(M*k,inti,int*b)

{intj,d=0;

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

{k[j-1].next=&k[j];

k[j-1].a=b[d++];

}

k[j].a=b[d];

}

main()

{Mk[5],*p;

intd[5]={23,34,45,56,67};

set(k,5,d);

p=k+1;

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

}

要輸出45,則在下畫線處應(yīng)填入的選項(xiàng)是

A.p->next->aB.++p->a

C.(*p).a(chǎn)++D.p++->a

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

A.軟件測試應(yīng)該由程序開發(fā)者來完成

B.程序經(jīng)調(diào)試后一般不需要測試

C.軟件維護(hù)只包括對程序代碼的維護(hù)

D.以上三種說法都不對

66.

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

A.

B.

C.

D.

68.有以下程序:

#include<stdio.h>

main

{shortC=124;

C=C_;

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

}

若要使程序的運(yùn)行結(jié)果為248,應(yīng)在下劃線處填入的是()。

A.>>2

B.|248

C.&0248

D.<<1

69.在c語言中,變量的隱含存儲(chǔ)類別是()。

A.autoB.staticC.externD.無存儲(chǔ)類別

70.人員基本信息一般包括:身份證號(hào),姓名,性別,年齡等。其中可以作為主關(guān)鍵字的是()。

A.身份證號(hào)B.姓名C.性別D.年齡

71.以下選項(xiàng)中合法的表達(dá)式是()。

A.a(chǎn)=a+7=c+b

B.(3+x)++

C.3+x++

D.x+1=x+1

72.當(dāng)變量c的值不為2、4、6時(shí),值也為”真”的表達(dá)式是()。

A.

B.

C.

D.

73.在單鏈表中,增加頭結(jié)點(diǎn)的目的是()。A.A.方便運(yùn)算的實(shí)現(xiàn)B.使單鏈表至少有一個(gè)結(jié)點(diǎn)

C.標(biāo)識(shí)表結(jié)點(diǎn)中首結(jié)點(diǎn)的位置

D.說明單鏈表是線性的鏈?zhǔn)酱鎯?chǔ)實(shí)現(xiàn)

74.

75.

76.以下能正確定義字符串的語句是()。

A.charstr=”\x43”;

B.charstr[]=”、0”;

C.charstr=”;

D.charstr[]={’\064’};

77..C語言運(yùn)算對象必須是整型的運(yùn)算符是

A.%B./C.=D.<

78.

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

main

{inta[3][3],*p,i};

p=&a[0][0];

for(i=p;i<9;i++)p[i]=i+1;

printf("%d\n",a[1][2]);

}

A.3B.6C.9D.隨機(jī)數(shù)

79.一個(gè)棧的初始狀態(tài)為空。現(xiàn)將元素1、2、3、4、5、A、B、C、D、E依次入棧,然后再依次出棧,則元素出棱的順序是()。A.A.12345ABCDEB.EDCBA54321C.ABCDEl2345D.54321EDCBA

80.以下數(shù)組定義中錯(cuò)誤的是()。

五、程序改錯(cuò)題(1題)81.下列給定程序中函數(shù)fun的功能是:用遞歸算法計(jì)算斐波拉契數(shù)列中第n項(xiàng)的值。從第l項(xiàng)起,斐波拉契數(shù)列為:1,1,2,3,5,8,13,21,…例如,若給n輸入7,則該項(xiàng)的斐波拉契數(shù)值為l3。請改正程序中的錯(cuò)誤,使它能得出正確結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:#include<stdio.h>longfun(intg){//****found****switch(g);{case0:return0;//****found****casel:case2:return1;}return(fun(g-1)+fun(g-2));}voidmain{longfib;intn;printf("Inputn:");scanf("%d",&n);printf("n=%d\n",n);fib=fun(n);printf("fib=%d\n\n",fib);}

六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,函數(shù)fmi()的功能是將a、b中的兩個(gè)正整數(shù)合并成一個(gè)新的整數(shù)存放在c中。合并的方式是將a中的十位和個(gè)位數(shù)依次放在變量c的十位和千位上,b中的十位和個(gè)位數(shù)依次放在變量c的個(gè)位和百位上。例如,a=45,b=12,調(diào)用該函數(shù)后,c=5241。注意:部分源程序在文件prog1.c中。請勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫的若干語句。試題程序:

參考答案

1.DC語言中,%f是格式控制符,它既可以輸出單精度數(shù)也可以輸出雙精度數(shù)。故本題答案為D選項(xiàng)。

2.D解析:本題主要考查左移、右移對數(shù)據(jù)值的影響,左移n位相當(dāng)于乘以2的n次冪,右移n位相當(dāng)于除以2的n次冪。

3.D用C語言編寫的程序可以放置于多個(gè)程序文件中,所以A選項(xiàng)錯(cuò)誤。C語言程序中的一行可以有多條語句,所以B選項(xiàng)錯(cuò)誤。C語言中的注釋語句可以與原語句放在一行,也可以不放在一行,所以C選項(xiàng)錯(cuò)誤。故本題答案為D選項(xiàng)。

4.D解析:本題考查宏的使用規(guī)則:①字符替換格式:#define標(biāo)識(shí)符字符串.標(biāo)識(shí)符稱為宏名,無類型;②雙引號(hào)中出現(xiàn)的宏名不替換;③宏名的定義通常用大寫字母,但不是必須用大寫;④宏定義不是賦值語句,不做語法檢查。

5.C解析:本題定義了一個(gè)包含兩個(gè)元素(data[0]、data[1])的結(jié)構(gòu)體數(shù)組data,其中data[0].x=1;data[0].y=10;data[1].x=2;\u3000data[1].y=20。在主函數(shù)中,定義了一個(gè)指向結(jié)構(gòu)體數(shù)組的結(jié)構(gòu)體指針變量p,使得p指向結(jié)構(gòu)體數(shù)組的首地址,所以p->y訪問的是第一個(gè)鮚構(gòu)體數(shù)組元素的第二個(gè)值,即data[0].y;(++p)->x訪問的是第二個(gè)結(jié)構(gòu)體數(shù)組元素的第一個(gè)值,即\u3000data[1].x,所以程序輸出結(jié)果為10,2。

6.D由i"11的數(shù)字定義可知n!=n*(n-1)*(n-2)*…*1。在選項(xiàng)A中,由于f的初值為0,在for循環(huán)語句中,f依次乘以1,2,3,…,n,最后計(jì)算得到f=n!一0,所以選項(xiàng)A不正確。在選項(xiàng)B中,f的初值為1,在for循環(huán)語句中,f依次乘以1,2,3,…,(n-1),最后計(jì)算得到f=(n-1)!,所以選項(xiàng)B不正確。在選項(xiàng)C中,f的初值為1,在for循環(huán)語句中,f依次乘以n,n+1,n+2,……,所以選項(xiàng)c不正確。在選項(xiàng)D中,f的初值為l,在for循環(huán)語句中,f依次乘以n,n-1,n-2,…,2,最后計(jì)算得到f=n!,所以選項(xiàng)D正確。

7.Breturn語句又稱為返回語句。該語句的格式如下:“return;”和“return(<表達(dá)式>);”。其中,return是關(guān)鍵字。該語句有兩種格式:不帶返回值格式和帶返回值格式。該語句用在被調(diào)用函數(shù)中,在被調(diào)用函數(shù)中執(zhí)行到該語句時(shí),將結(jié)束對被調(diào)用函數(shù)的執(zhí)行,并把控制權(quán)返回給調(diào)用函數(shù),繼續(xù)執(zhí)行調(diào)用函數(shù)后邊的語句。在帶有返回值的情況下,將return語句所帶的表達(dá)武的值返回給調(diào)用函數(shù),作為被調(diào)用函數(shù)的值。在被調(diào)用函數(shù)中,可以用return語句,也可以不用return語句。如果要求被調(diào)用函數(shù)有返回值,則一定要用return語句,采用return(<表達(dá)式>);格式。如果被調(diào)用函數(shù)不需要返回值,并且當(dāng)被調(diào)用函數(shù)的所有語句執(zhí)行完后進(jìn)行返回,則被調(diào)用函數(shù)可以不用return語句。

8.B所有的C程序都必須經(jīng)過編譯鏈接無誤之后才能運(yùn)行。在運(yùn)行過程中,由計(jì)算機(jī)完成程序中的所有運(yùn)算。由于計(jì)算機(jī)只能識(shí)別二進(jìn)制,所以所有的運(yùn)算都以二進(jìn)制方式進(jìn)行,而不是十進(jìn)制。

9.Ct=++x或++y,當(dāng)++x不為0的時(shí)候,即++x為真,則不需要再繼續(xù)判斷++y,那么y就不再執(zhí)行自加,因此y=3.

10.B

11.D\n用來存放字符量的數(shù)組稱為字符數(shù)組。字符數(shù)組也可以是二維或多維數(shù)組,對一個(gè)字符數(shù)組,如果不作初始化賦值,則必須說明數(shù)組長度,還可用printf函數(shù)和scarlf函數(shù)一次性輸出/輸入一個(gè)字符數(shù)組中的字符串,而不必使用循環(huán)語句逐個(gè)地輸入/輸出每個(gè)字符。通常用一個(gè)字符數(shù)組來存放一個(gè)字符串。所以D選項(xiàng)不正確。

\n

12.D解析:本題考查指向字符串指針的運(yùn)算方法。執(zhí)行p=s+1后,指針變量p就指向字符串中的第二個(gè)字符“B”,然后輸出字符串“BCD”并換行;下面繼續(xù)執(zhí)行循環(huán)語句,指針變量p指向下一個(gè)字符“C”,輸出字符串“CD”,最后一次循環(huán),p指向字符“D”,輸出字符串“D”。

13.B選項(xiàng)B先計(jì)算關(guān)系表達(dá)式“A<=c”的值是0還是l,再比較該值與字符z之間的大小關(guān)系,不能實(shí)現(xiàn)題目所要求的功能。

14.DC語言不允許定義動(dòng)態(tài)數(shù)組,定義數(shù)組的大小必須為常量表達(dá)式。A選項(xiàng)錯(cuò)誤,C語言中的數(shù)組沒有此類型的定義方法;B選項(xiàng)錯(cuò)誤,定義數(shù)組應(yīng)指明數(shù)組大小,如果不指明數(shù)組大小,需要給定元素的個(gè)數(shù);C選項(xiàng)錯(cuò)誤,N為變量,不能用來定義數(shù)組大小。故本題答案為D選項(xiàng)。

15.Astatic靜態(tài)變量只在聲明時(shí)初始化一次。mul()累乘,第一次init=1,init}=val,第二次init=1,val=2,第三次init=2,val=3,第四次init=6,val=4,第五層init=24,val=5,因此結(jié)果為l,2,6,24,120。故答案為A選項(xiàng)。

16.A

17.C十六進(jìn)制是以“0x、0X”開頭的字符串,字符串中只能含有0~9這l0個(gè)數(shù)字和a、b、C、d、e、f這6個(gè)字母。

18.C解析:當(dāng)p指向s數(shù)組的首地址時(shí),表示數(shù)組元素s[i]的表達(dá)式應(yīng)當(dāng)有:①s[i],②,(s+i),③*(p+i),④p[i]四種形式。選項(xiàng)C)錯(cuò)誤的原因是,數(shù)組的地址是不可變的,指針的地址是可以變的。

19.B

20.A

21.模塊模塊解析:矩形表示的是模塊,箭頭表示的是模塊間的調(diào)用關(guān)系。用帶實(shí)心圓的箭頭表示傳遞的是控制信息,用帶空心圓的箭頭表示傳遞的是數(shù)據(jù)。

22.doublemax或externdoublemaxdoublemax或externdoublemax解析:函數(shù)聲明是對所用到的函數(shù)的特征進(jìn)行必要的聲明,編譯系統(tǒng)以函數(shù)聲明中給出的信息為依據(jù),對調(diào)用表達(dá)式進(jìn)行檢測,以保證調(diào)用表達(dá)式與函數(shù)之間的參數(shù)正確傳遞。函數(shù)聲明的一般格式為:類型標(biāo)識(shí)符函數(shù)名(類型標(biāo)識(shí)符形參,…);這些信息就是函數(shù)定義中的第一行的內(nèi)容。本題中main()函數(shù)需要調(diào)用max()函數(shù),在main()之前就需要聲明函數(shù)max(),并且可以用extem說明符使變量的作用域擴(kuò)充到需要用到它的函數(shù),所以,填寫doublemax(或externdoublemax)。

23.aua。a,ua。解析:test是結(jié)構(gòu)體數(shù)組,每個(gè)元素均可看作是一個(gè)結(jié)構(gòu)體變量,主函數(shù)將結(jié)構(gòu)體數(shù)組元素test[0]中的name域下標(biāo)為1的元素以字符形式輸出,將結(jié)構(gòu)體數(shù)組元素test[2]中的name域從地址name+3開始以字符串的形式輸出。

24.

25.66解析:本題中,i,j分別為外循環(huán)和內(nèi)循環(huán)的循環(huán)控制變量,外層循環(huán)共執(zhí)行了4次。當(dāng)i=1時(shí),由于內(nèi)層循環(huán)判斷條件(2<=1)為假不執(zhí)行內(nèi)層循環(huán)。當(dāng)i=2時(shí),執(zhí)行內(nèi)層循環(huán),輸出一個(gè)#;當(dāng)i=3時(shí),內(nèi)層循環(huán)循環(huán)兩次,輸出兩個(gè)#;當(dāng)i=4時(shí),內(nèi)層循環(huán)循環(huán)三次,輸出三個(gè)#;當(dāng)i=5時(shí),循環(huán)判斷條件不成立,退出外層循環(huán)。所以一共輸出6個(gè)#。

26.邏輯關(guān)系邏輯關(guān)系

27.B

28.str+strlen(p1)-1或str+strlen(str)-1殘str-1+strlen(str)或3tr-1+strlen(p1)t==0或!t或t=='\0'huiwen(str)str+strlen(p1)-1或str+strlen(str)-1殘str-1+strlen(str)或3tr-1+strlen(p1)\r\nt==0或!t或t=='\\0'\r\nhuiwen(str)解析:判斷回文教一般使用兩個(gè)指針或下標(biāo)變量分別從檢查串的第1個(gè)字符和最后一個(gè)字符開始相向移動(dòng),并比較兩者內(nèi)容是否相同,直到中間相遇一直相同則是回文數(shù),否則不是。函數(shù)huiwen中開始定義了兩個(gè)字符指針p1和p2,并讓p1指向str的開始位置,所以p2應(yīng)該指向str的尾部,即&str[strlen(sir)-1]或?qū)懗蓅tr+strlen(str)-1或者其他等價(jià)形式。然后使用一個(gè)循環(huán),循環(huán)str的長度的一半次數(shù),比較p1和p2的內(nèi)容,并分別遞增和遞減這兩個(gè)指針。若有不同,則讓標(biāo)志t為1,并跳出循環(huán)。所以最后一個(gè)if語句應(yīng)該為判斷標(biāo)志t是否為1,即應(yīng)該填t==0或者其他等價(jià)形式。在主函數(shù)中,應(yīng)該輸出huiwen()函數(shù)的返回結(jié)果,印最后一空應(yīng)該填huiwen(str)。

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

30.99解析:本題考查宏定義與三目運(yùn)算符的綜合用法,宏定義是原樣替換,本題中,如果a>b成立,則a+1的值為整個(gè)表達(dá)式的值,否則為b+1的值為整個(gè)表達(dá)式的值,(應(yīng)注意后面的加1)。

31.葉子結(jié)點(diǎn)葉子結(jié)點(diǎn)解析:樹中度為零的結(jié)點(diǎn),也就是沒有后件的結(jié)點(diǎn),稱為葉子結(jié)點(diǎn)。

32.100+2+1=103110+2+2=114120+2+3=125130+2+4=136140+2+5=147100+2+1=103\r\n110+2+2=114\r\n120+2+3=125\r\n130+2+4=136\r\n140+2+5=147解析:靜態(tài)局部變量的生存期為整個(gè)程序的運(yùn)行期間,而作用域?yàn)槎x該變量的函數(shù)或局部范圍。自動(dòng)變量的建立和撤銷都是由系統(tǒng)自動(dòng)進(jìn)行的,所以稱為自動(dòng)變量。自動(dòng)變量的作用域和生存期都為定義它的局部范圍內(nèi)。對同一函數(shù)的兩次調(diào)用之間,自動(dòng)變量的值是不保留的。而靜態(tài)變量則保留。注意:局部變量和全局變量的定義及其作用范圍。

33.邏輯設(shè)計(jì)邏輯設(shè)計(jì)解析:數(shù)據(jù)庫設(shè)計(jì)的4個(gè)階段為:需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)。

34.s[j]=s[i];j++;s[j]=s[i];j++;解析:本題中相當(dāng)于字符串s中存儲(chǔ)著含有空格的字符,當(dāng)發(fā)現(xiàn)空格的時(shí)候就用這個(gè)空格字符后面的字符前移覆蓋這個(gè)空格字符,依次類推向后繼續(xù)。因此,應(yīng)填s[j]=s[i];j++;兩條語句。

35.1對多(或1:N)1對多(或1:N)

36.*s-*t*s-*t解析:兩字符串大小比較必須從它們的首字符開始,在對應(yīng)字符相等情況下循環(huán),直至不相等結(jié)束。相等時(shí),若字符串已到了字符串的結(jié)束標(biāo)記符,則兩字符串相同,函數(shù)返回0值;如還有后繼字符,則準(zhǔn)備比較下一對字符。對應(yīng)字符不相同,循環(huán)結(jié)束。循環(huán)結(jié)束時(shí),就以兩個(gè)當(dāng)前字符的差返回。所以在空框處應(yīng)填入*s-*t,保證在e>t時(shí)返回正值,當(dāng)s<t時(shí)返回負(fù)值。

37.101091101091解析:for(表達(dá)式1;表達(dá)式2:表達(dá)式3)語句的功能是:首先計(jì)算表達(dá)式1的值,然后檢測表達(dá)式2的值,若其值為真,則執(zhí)行循環(huán)體語句,執(zhí)行完畢后,再計(jì)算表達(dá)式3的值。然后再檢測表達(dá)式2的值是否為真,若為真,繼續(xù)執(zhí)行循環(huán)體語句,若為假,則退出循環(huán):第1次循環(huán)x>8成立,輸出x=10,y=10后,x的值減1,i=1,執(zhí)行y=++i操作,y的值變?yōu)?;判斷條件還成立,輸出x=9,y=1,然后x的值減1,循環(huán)條件不成立,則退出循環(huán)。

38.消息消息解析:在面向?qū)ο蠹夹g(shù)中,主要用到對象(object)、類(class)、方法(method)、消息(message)、繼承(inheritance)、封裝(encapsulation)等基本概念。其中消息是用來請求對象執(zhí)行某一處理或回答某些信息的要求。

39.350350解析:在任意一棵二叉樹中,度為0的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè)。在根據(jù)完全二叉樹的定義,在一棵完全二叉樹中,最多有1個(gè)度為1的結(jié)點(diǎn)。因此,設(shè)一棵完全二叉樹具有n個(gè)結(jié)點(diǎn),若n為偶數(shù),則在該二叉樹中有n/2個(gè)葉子結(jié)點(diǎn)以及n/2-1個(gè)度為2的結(jié)點(diǎn),還有1個(gè)是度為1的結(jié)點(diǎn):若n為奇數(shù),則在該二叉樹中有[n/2]+1個(gè)葉子結(jié)點(diǎn)以及[n/2]個(gè)度為2的結(jié)點(diǎn),沒有度為1的結(jié)點(diǎn)。本題中,完全二叉樹共有700個(gè)結(jié)點(diǎn),700是偶數(shù),所以,在該二叉樹中有350個(gè)葉子結(jié)點(diǎn)以及349個(gè)度為2的結(jié)點(diǎn),還有1個(gè)是度為1的結(jié)點(diǎn)。所以,本題的正確答案為350。

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

41.C解析:選項(xiàng)A中for和case為C語言中的保留字,不能作為用戶標(biāo)志符,故A錯(cuò)誤。選項(xiàng)B中的4d其開頭的第一個(gè)為數(shù)字,而在C語言中規(guī)定,第一個(gè)字符必須為字母或者下劃線,故B錯(cuò)誤;選項(xiàng)D中void為C語言中的保留字,不能作為用戶標(biāo)志符,故D錯(cuò)誤。所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。

42.BB)【解析】隨著計(jì)算機(jī)軟件規(guī)模的擴(kuò)大,軟件本身的復(fù)雜性不斷增加,研制周期顯著變長,正確性難以保證,軟件開發(fā)費(fèi)用上漲,生產(chǎn)效率急劇下降,從而出現(xiàn)了入們難以控制軟件發(fā)展的局面,即所謂的“軟件危機(jī)”。

43.B解析:改變文件位置的指針函數(shù)fseek()的調(diào)用形式為:fseek(fp,offset,position);。fseek函數(shù)參數(shù)說明:“fp”是指向該文件的文件型指針;“offset'’為位移量,指從起始點(diǎn)position.到要確定的新位置的字節(jié)數(shù)。也就是以起點(diǎn)為基準(zhǔn),向前移動(dòng)的字節(jié)數(shù)。ANSIC要求該參數(shù)為長整型量;“position”為起始點(diǎn),指出以文件的什么位置為基準(zhǔn)進(jìn)行移動(dòng),position的值用整型常數(shù)表示,“0”表示文件的開頭,“1”表示文件的當(dāng)前位置,“2”表示文件的末尾。

44.A解析:scanf()函數(shù)有兩個(gè)參數(shù),第一個(gè)參數(shù)是輸入格式字符串,第二個(gè)參數(shù)是輸入變量地址列表。輸入格式字符串主要由“%”符號(hào)和格式字符組成。地址列表是由多個(gè)地址組成的。選項(xiàng)B中d已經(jīng)為地址,不應(yīng)再加上求地址符號(hào)“&”;選項(xiàng)C中,a和b都為變量不是地址,應(yīng)該在a和b之前加上求地址符號(hào)“&”;選項(xiàng)D中指針d所指向的存儲(chǔ)空間的位置為變量c的值,不為地址。

45.B

46.C解析:程序中定義了兩個(gè)變量a和b,并分別賦初值為7和8,定義了三個(gè)指針變量p、q、r,并讓指針p指向變量a,讓q指向變量b,然后通過一個(gè)中間指針變量f,使指針變量p和q互換,互換后p指向q所指的內(nèi)容即b,q指向開始p所指向的內(nèi)容即a,因此最后輸出的*p,*q的值為8,7,a,b的值沒有改變?nèi)詾?,8。

47.B解析:在主函數(shù)中,定義了一個(gè)結(jié)構(gòu)體型指針變量head,然后將函數(shù)CreatList()的返回值賦給指針變量head,從這里可知函數(shù)CreatList()的返回值為structnode*類型,所以第48處的空白應(yīng)該填structnode*,故48題選項(xiàng)C正確;在函數(shù)CreatList()中首先定義3個(gè)結(jié)構(gòu)體型指針變量h,p和q。然后調(diào)用malloc()函數(shù)分配了一個(gè)結(jié)點(diǎn)空間,并讓指針h指向它,開始指針p、q和h都指向它,然后調(diào)用一個(gè)while循環(huán)語句,當(dāng)?shù)竭_(dá)字符串?dāng)?shù)組s的末尾結(jié)束循環(huán),在每次循環(huán)中,分配一個(gè)結(jié)點(diǎn)空間,并讓p指向它,然后讓該結(jié)點(diǎn)的data域的值等于字符串指針s所指的值,因此第49題的正確答案為選項(xiàng)A:接下來讓指針q所指結(jié)點(diǎn)的next指針指向結(jié)點(diǎn)p,然后讓指針q指向該指針的所指結(jié)點(diǎn)的下一個(gè)結(jié)點(diǎn)即p,所以第50個(gè)空白處應(yīng)該填p,選擇B。故第48題4個(gè)選項(xiàng)中選項(xiàng)C符合題意;第49題4個(gè)選項(xiàng)中選項(xiàng)A符合題意;第50題4個(gè)選項(xiàng)中選項(xiàng)B符合題意。

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

49.A本題主要考查軟件測試的基本知識(shí)。軟件測試的步驟可分為單元測試(模塊測試)、集成測試、確認(rèn)測試和系統(tǒng)測試。

(1)單元測試是針對每個(gè)模塊進(jìn)行的測試,它可從程序的內(nèi)部結(jié)構(gòu)出發(fā)設(shè)計(jì)測試用例,多個(gè)模塊可以平行、對立地測試。單元測試主要用于發(fā)現(xiàn)詳細(xì)設(shè)計(jì)和編程時(shí)犯下的錯(cuò)誤。單元測試多采用白盒測試,輔之以黑盒測試。

(2)集成測試是在單元測試的基礎(chǔ)上,根據(jù)模塊結(jié)構(gòu)圖將各個(gè)模塊連接起來,必須精心計(jì)劃,應(yīng)提交集成測試計(jì)劃、集成測試規(guī)格說明和集成測試分析報(bào)告。主要目標(biāo)是發(fā)現(xiàn)與接口有關(guān)的問題。集成測試可以發(fā)現(xiàn)概要設(shè)計(jì)時(shí)犯的錯(cuò)誤。

(3)確認(rèn)測試用于驗(yàn)證軟件的功能和性能及其他特性是否與用戶的要求一致。確認(rèn)測試主要用于發(fā)現(xiàn)需求分析時(shí)犯下的錯(cuò)誤,一般使用黑盒法測試,以表明軟件符合需求說明書的要求,應(yīng)該仔細(xì)設(shè)計(jì)測試用例和測試過程。確認(rèn)測試必須有用戶參加,或以用戶為主,用戶應(yīng)參與設(shè)計(jì)測試用例,通常情況下,主要使用生產(chǎn)中的實(shí)際數(shù)據(jù)進(jìn)行測試,測試數(shù)據(jù)通過用戶接口輸入。

(4)系統(tǒng)測試是將已經(jīng)通過確認(rèn)測試的軟件,作為整個(gè)計(jì)算機(jī)系統(tǒng)的元素與計(jì)算機(jī)硬件、外設(shè)和網(wǎng)絡(luò)等其他因素結(jié)合在一起,進(jìn)行一系列的組裝測試和確認(rèn)測試。系統(tǒng)測試的目的是通過與系統(tǒng)的需求定義做比較,發(fā)現(xiàn)軟件與系統(tǒng)的定義不符合的地方。系統(tǒng)測試可以發(fā)現(xiàn)問題定義時(shí)犯下的錯(cuò)誤。

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

51.A解析:觀察題目,可以發(fā)現(xiàn),*p=&aa[0][0]語句實(shí)際是將數(shù)組aa的首地址賦給了指針變量p,將i的值帶入for循環(huán)中,i=0時(shí),aa[0][1]=3,*p=2;*p輸出的是指針?biāo)赶虻臄?shù)組值,此時(shí)p所指向的是aa[O][0],輸出2,而i=1時(shí)執(zhí)行了++p操作使指針向后移動(dòng)指向了aa[0][1],所以在輸出*p時(shí)應(yīng)為3。

52.D解析:本題涉及C語言基本的3個(gè)知識(shí)點(diǎn):①C語言是以函數(shù)為基本單位的,每一個(gè)函數(shù)完成相對獨(dú)立的功能,一個(gè)程序可以包括多個(gè)函數(shù),但有且僅有一個(gè)主函數(shù);②主函數(shù)main()的圓括號(hào)內(nèi)是填寫參數(shù)的,可以沒有參數(shù),但括號(hào)不可以省略;③程序的注釋部分應(yīng)該在“/*…………*/”之間,它允許出現(xiàn)在程序的任何位置。

53.A解析:在鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中,存儲(chǔ)數(shù)據(jù)的存儲(chǔ)空間可以不連續(xù),各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)順序與數(shù)據(jù)元素之間的邏輯關(guān)系可以不一致,數(shù)據(jù)元素之間的邏輯關(guān)系,是由指針域來確定的。由此可見,選項(xiàng)A的描述正確。因此,本題的正確答案為A。

54.A解析:維護(hù)是軟件生命周期的最后一個(gè)階段,也是持續(xù)時(shí)間最長、付出代價(jià)最大的階段。軟件工程學(xué)的目的就在于提高軟件的可維護(hù)性,同時(shí)也要設(shè)法降低維護(hù)的代價(jià)。

軟件維護(hù)通常有以下四類;

①為糾正使用中出現(xiàn)的錯(cuò)誤而進(jìn)行的改正性維護(hù);

②為適應(yīng)環(huán)境變化而進(jìn)行的適應(yīng)性維護(hù);

③為改進(jìn)原有軟件而進(jìn)行的完善性維護(hù);

④為將來的可維護(hù)和可靠而進(jìn)行的預(yù)防性維護(hù)。

軟件維護(hù)不僅包括程序代碼的維護(hù),還包括文檔的維護(hù)。文檔可以分為用戶文檔和系統(tǒng)文檔兩類。但無論是哪類文檔,都必須與程序代碼同時(shí)維護(hù)。只有與程序代碼完全一致的文檔才有意義和價(jià)值。由此可知,本題中選項(xiàng)B、C、D中的說法都是錯(cuò)誤的。

55.C解析:f函數(shù)沒有重復(fù)說明,在main函數(shù)中是對f函數(shù)聲明,在main函數(shù)外則是對f函數(shù)的定義。

56.B解析:在main()函數(shù)中定義了一個(gè)具有5個(gè)元素的x數(shù)組并賦初值,然后調(diào)用findmax()函數(shù)求數(shù)組中元素的最大值。調(diào)用時(shí)把數(shù)組元素x的首地址,傳給了形參指針變量a,把5傳給形參n。在函數(shù)findmax()中定義了兩種指針變量p和s,其中s用來記錄最大元素的地址,p作為循環(huán)控制變量,表示每個(gè)元素的地址。求最大值的算法是先將第一個(gè)元素(用s記下它的地址)做為最大值,然后用最大值(*s)與后面的每個(gè)元素比較(*p),若后面的元素大,則用s記下它的地址,所以下劃線應(yīng)填“*8<*p或“*p>*8”。

57.B解析:我們嚴(yán)格區(qū)分調(diào)試與測試,調(diào)試是已知有錯(cuò)誤而來找錯(cuò)誤,是被動(dòng)的;測試有很多種,比如未發(fā)現(xiàn)錯(cuò)誤但不能保證程序沒錯(cuò)而來找BUG,還比如我們運(yùn)行測試程序是否符合用戶的要求,是主動(dòng)的。所以答案是選項(xiàng)B。A、C、D都是具體的程序調(diào)試方法,而B是宏觀的程序測試方法。測試有單元測試、集成測試、確認(rèn)測試、系統(tǒng)測試。比如我們在進(jìn)行單元測試時(shí),發(fā)現(xiàn)程序有錯(cuò)誤,我們再可以根據(jù)A、C、D的方法來找錯(cuò)誤。

58.C解析:在軟件開發(fā)和維護(hù)的過程中存在著不少問題,從而導(dǎo)致軟件危機(jī)。軟件危機(jī)一方面與軟件生產(chǎn)本身的復(fù)雜性有關(guān),另一方面也和軟件開發(fā)與維護(hù)的方法不正確有關(guān)。

59.B

60.C(10)C)解析:DB即數(shù)據(jù)庫(Database),是統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合;DBMS即數(shù)據(jù)庫管理系統(tǒng)(DatabaseManagementSystem),是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,為用戶或應(yīng)用程序提供訪問DB的方法;DBS即數(shù)據(jù)庫系統(tǒng)(DatabaseSystem)由如下5部分組成,數(shù)據(jù)庫(數(shù)據(jù))、數(shù)據(jù)庫管理系統(tǒng)(軟件)、數(shù)據(jù)庫管理員(人員)、系統(tǒng)平臺(tái)之一——硬件平臺(tái)(硬件)、系統(tǒng)平臺(tái)之二——軟件平臺(tái)(軟件)。

61.C可以將二維數(shù)組str看成是一個(gè)特殊的

62.B

63.D繼承是面向?qū)ο蟮姆椒ǖ囊粋€(gè)主要特征,是使用已有的類的定義作為基礎(chǔ)建立新類的定義技術(shù)。廣義的說,繼承是指能夠直接獲得已有的性質(zhì)和特征,而不必重復(fù)定義它們,所以說繼承是指類之間共享屬性和操作的機(jī)制。

64.A在本題中,程序首先定義了一個(gè)結(jié)構(gòu)體,結(jié)構(gòu)體中有兩個(gè)成員變量,一個(gè)是整型,另一個(gè)是指向該結(jié)構(gòu)體的指針。然后程序定義了一無返回值的函數(shù)set,該函數(shù)帶有三個(gè)參數(shù),第一個(gè)是結(jié)構(gòu)體指針變量k,第二個(gè)是整型變量i,第三個(gè)是整型指針變量b。在函數(shù)體中,首先定義了兩個(gè)整型變量,然后執(zhí)行for循環(huán),從循環(huán)變量的初始值及循環(huán)結(jié)束條件我們可以知道,循環(huán)執(zhí)行的次數(shù)與形參變量i有關(guān),從循環(huán)體中我們可以看出,該循環(huán)是將結(jié)構(gòu)體數(shù)組中的前一個(gè)結(jié)構(gòu)體的指針成員指向后一個(gè)結(jié)構(gòu)體的首地址,并用數(shù)組b中的值給結(jié)構(gòu)體的成員變量a賦值。

在主函數(shù)中,定義了一個(gè)大小為5的結(jié)構(gòu)體數(shù)組k和一個(gè)結(jié)構(gòu)體指針p,然后定義了一個(gè)數(shù)組d,并給數(shù)組d進(jìn)行了初始化操作,然后調(diào)用函數(shù)set,實(shí)參分別為結(jié)構(gòu)體數(shù)組k、5和數(shù)組d,結(jié)合上面我們對set函數(shù)的分析可以知道,此時(shí)執(zhí)行set的for循環(huán),可以是結(jié)構(gòu)體數(shù)組中各結(jié)構(gòu)體變量的指針成員next指向下一個(gè)結(jié)構(gòu)體變量,并將該結(jié)構(gòu)體變量的成員a賦值為數(shù)組d的與之位置相對應(yīng)的值,如結(jié)構(gòu)體數(shù)組中第一個(gè)結(jié)構(gòu)體變量的a被賦值為數(shù)組d中的第一個(gè)元素值,即23。那么函數(shù)調(diào)用后,結(jié)構(gòu)體數(shù)組各元素的成員a的值分別為23、34、45、56、67。

函數(shù)調(diào)用后,運(yùn)行p=k+1;語句,該語句的作用是使結(jié)構(gòu)體指針變量p執(zhí)行結(jié)構(gòu)體數(shù)組k的第二個(gè)元素,然后執(zhí)行輸出語句,本題要填的空就在輸出語句中,根據(jù)題目要求,要輸出一個(gè)45的值,當(dāng)然,用數(shù)組d輸出這么一個(gè)結(jié)果很簡單,為d[2],但選項(xiàng)中并沒有這項(xiàng),而是需要我們從結(jié)構(gòu)體數(shù)組中輸出這個(gè)值,從上面的分析我們知道,該值對應(yīng)結(jié)構(gòu)體數(shù)組第三個(gè)元素的成員,而當(dāng)前的p執(zhí)行第二個(gè)元素,從四個(gè)選項(xiàng)來分析,只有A選項(xiàng)能完成輸出45的任務(wù)。

B選項(xiàng)中的++p->a由于運(yùn)算符優(yōu)先級(jí)問題,首先運(yùn)行p->a,輸出的是34,然后加1,即輸出35。

C選項(xiàng)中的(*p).a++等于((*p).a)++,這樣的結(jié)果是34++,最后的輸出結(jié)果是34。

D選項(xiàng)中的p++->a等價(jià)于(p++)->a,顯然是輸出第二個(gè)結(jié)構(gòu)體的a成員值,即34。

65.D程序調(diào)試是由程序開發(fā)者完成診斷和改正程序中的錯(cuò)誤的過程;軟件測試是由專門的測試人員完成,是發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程;軟件維護(hù)是指軟件系統(tǒng)交付使用以后,為了改正錯(cuò)誤或滿足新的需要而修改軟件的過程,是軟件生存周期中非常重要的一個(gè)階段。

66.D

67.B定義結(jié)構(gòu)體變量有三種方式:①先聲明結(jié)構(gòu)體類型,再定義變量名,如選項(xiàng)A)所示;②在聲明類型的同時(shí)定義變量,如選項(xiàng)C)所示;③直接定義結(jié)構(gòu)體類型變量,如選項(xiàng)D)所示。

68.D\n124的2進(jìn)制值為1111100,要輸出為248即124*2,則2進(jìn)制值為11111000,即右移l位,所以選D。

69.A解析:auto變量:無static聲明的局部變量。用auto作存儲(chǔ)類別的聲明時(shí),可以不寫auto,存儲(chǔ)類別隱含確定為auto(自動(dòng)存儲(chǔ)類別),是動(dòng)態(tài)存儲(chǔ)方式。大多數(shù)變量是自動(dòng)變量。用static聲明的局部變量是靜態(tài)局部變量。函數(shù)調(diào)用結(jié)束后靜態(tài)局部變量占據(jù)的內(nèi)存存儲(chǔ)單元空間不釋放,局部變量保留原值,下次調(diào)用時(shí)可以繼續(xù)使用該值。用extern聲明外部變量,外部變量即全局變量,可以用extern聲明來改變?nèi)肿兞康淖饔糜?實(shí)際上,關(guān)鍵字'auto'可以省略,auto不寫則隱含確定為'自動(dòng)存儲(chǔ)類別',屬于動(dòng)態(tài)存儲(chǔ)方式。

70.A\n主關(guān)鍵字是表中區(qū)別不同的記錄的標(biāo)識(shí),在該表中只有身份證號(hào)能具有這個(gè)作用,所以用其作為主關(guān)鍵字。

\n

71.C賦值號(hào)和自增符左邊的數(shù)據(jù)對象不能為表達(dá)式或常量,只能為變量。

72.B滿足表達(dá)式,(C>=2&&c<=6)的整型變量C的值是2,3,4,5,6。當(dāng)變量C的值不為2,4,6時(shí),其值只能為3或5,所以表達(dá)式C!=3和C!=5中至少有一個(gè)為真,即不論C為何值,表達(dá)式B)都為”真”。

73.A根據(jù)單位鏈表(包含頭結(jié)點(diǎn))的結(jié)構(gòu),只要掌握了表頭,就能夠訪問整個(gè)鏈表,因此增加頭結(jié)點(diǎn)的目的是為了便于運(yùn)算的實(shí)現(xiàn)。

74.C

75.C

76.BC語言中,字符串是用一對雙引號(hào)括起來的字符序列,并用字符型數(shù)組來存放,故c選項(xiàng)和D選項(xiàng)不屬于字符串,A選項(xiàng)定義的是一個(gè)字符變量s拄,卻用來存放字符串,顯然也不正確,因此B選項(xiàng)正確。

77.A本題主要考查C語言中一些常見運(yùn)算符的基本知識(shí)。在題目中,給出了四種不同的運(yùn)算符,分別如下:

“/”是除法運(yùn)算符。在C語言中,該運(yùn)算符的作用是將兩操作數(shù)進(jìn)行除法運(yùn)算,在更改運(yùn)算符時(shí),兩操作數(shù)可以是同類型的數(shù)值類型,也可以是不同類型的數(shù)值類型。

“=”是賦值運(yùn)算符。在C語言中,該運(yùn)算符的作用是將運(yùn)算符左邊的結(jié)果值復(fù)制到右邊的變量中保存,該運(yùn)算符可以操作整型數(shù)據(jù),也可以操作其他類型的數(shù)據(jù)。

“<”是小于關(guān)系運(yùn)算符。如果左邊的操作數(shù)小于右邊,則返回真,否則返回假。該運(yùn)算符可以操作整型數(shù)據(jù),也可以操作其他類型的數(shù)據(jù)。

“%”是取余運(yùn)算符。該運(yùn)算符的作用是求兩操作數(shù)相除后的余數(shù),該運(yùn)算符要求兩操作數(shù)都不能為實(shí)數(shù)。

\r\n\r\n\r\n

78.D

\n程序執(zhí)行在for循環(huán),當(dāng)i=p時(shí),i中放的是P的地址,類型不符合,因此輸出隨機(jī)數(shù),故選擇D進(jìn)項(xiàng).

\n

79.B棧是先進(jìn)后出的原則組織數(shù)據(jù),所以人棧最早的最后出棧,所以選擇B。

80.AA)選項(xiàng)dPx[2][31定義的是一個(gè)2行3列的二維數(shù)組,而在給數(shù)組元素賦值時(shí)卻賦成了3行,因此錯(cuò)誤。

81.(1)錯(cuò)誤:switch(g);正確:switch(g)(2)錯(cuò)誤:casel:case2:returnl;正確:casel;case2:returnl;【解析】此題考查C語言的語法規(guī)則,switch(表達(dá)式)后不應(yīng)該帶有“;”,case語句常量后應(yīng)該是“:”。switch語句的一般形式如下:switch(表達(dá)式){case常量表達(dá)式1:語句1;case常量表達(dá)式2:語句2;case常量表達(dá)式n:語句i;default:語句n+1;}

82.1voidfun(inta,intb,long*c)2{3*c=(a%10)*1000+(b%10)*100+(a/10)*10+(b/10);4}本題給出兩個(gè)兩位數(shù)的正整數(shù)。分別取出兩個(gè)數(shù)各位上的數(shù)字,再按條件組成一個(gè)新數(shù)。取整數(shù)a十位數(shù)的方法為a/10,取整數(shù)a個(gè)位數(shù)的方法為a%10。同理可取出整數(shù)b的個(gè)位數(shù)和十位數(shù)。2021年湖南省益陽市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.設(shè)有定義“floata=12.3f;doubleb=456.78;”,若想用printf函數(shù)輸出a和b的值,關(guān)于輸出格式,以下說法正確的是()。

A.只能用%lf輸出a,用%f輸出b

B.只能用%f輸出a,用%lf輸出b

C.只能用%lf輸出a,用%lf輸出b

D.既可以用%f輸出a,也可以用%f輸出b

2.在位運(yùn)算中,操作數(shù)每左移兩位,其結(jié)果相當(dāng)于()。

A.操作數(shù)乘以2B.操作數(shù)除以2C.操作數(shù)除以4D.操作數(shù)乘以4

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

A.用C語言編寫的程序只能放在一個(gè)程序文件中

B.C語言程序書寫格式嚴(yán)格,要求一行內(nèi)只能寫一個(gè)語句

C.C語言程序中的注釋只能出現(xiàn)在程序的開始位置和語句的后面

D.C語言程序書寫格式自由,一個(gè)語句可以寫在多行上

4.以下有關(guān)宏的描述不正確的是()。

A.宏定義不做語法檢查B.雙引號(hào)中出現(xiàn)的宏名不進(jìn)行替換C.宏名無類型D.宏名必須用大寫字母表示

5.有以下程序#include<stdio.h>structst{intx,y;}data[2]={1,10,2,20};main(){structst*p=data;printf("%d,",p->y);printf("%d\n",(++p)->x);}程序的運(yùn)行結(jié)果是______。A.10,1B.20,1C.10,2D.20,2

6.設(shè)變量已正確定義,則以下能正確計(jì)算f=n!的程序是()。A.f=0:for(i=1;i<=n;i++)f*=i:

B.F=1:for(i=1;i<2n;i++)f*=i:

C.f=1:for(i=n;i>1;i++)f*=i:

D.f=1;for(i=n;i>=2;i--)f*=i:

7.以下關(guān)于return語句的敘述中正確的是()。

A.一個(gè)自定義函數(shù)中必須有一條return語句

B.一個(gè)白定義函數(shù)中可以根據(jù)不同情況設(shè)置多條return語句

C.定義成void類型的函數(shù)中可以有帶返回值的return語句

D.沒有return語句的自定義函數(shù)在執(zhí)行結(jié)束時(shí)不能返回到調(diào)用處

8.以下敘述中錯(cuò)誤的是()。A.C程序在運(yùn)行過程中所有計(jì)算都以二進(jìn)制方式進(jìn)行

B.C程序在運(yùn)行過程中所有計(jì)算都以十進(jìn)制方式進(jìn)行

C.所有C程序都需要編譯鏈接無誤后才能運(yùn)行

D.C程序中整型變量只能存放整數(shù),實(shí)型變量只能存放浮點(diǎn)數(shù)

9.設(shè)x,y,t均為int型變量,執(zhí)行語句:

x=y=3;

t=++x||++y;

完成后,y的值為A.A.不確定B.4C.3D.1

10.

11.下面是有關(guān)C語言字符數(shù)組的描述,其中錯(cuò)誤的是()。

A.不可以用賦值語句給字符數(shù)組名賦字符串

B.可以用輸入語句把字符串整體輸入給字符數(shù)組

C.字符數(shù)組中的內(nèi)容不一定是字符串

D.字符數(shù)組只能存放字符串

12.有如下程序:#include<stdio.h>msin(){chars[]="ABCD",*P;for(p=s+1;p<s+4;p++)Printf("%s\n",p);}該程序的輸出結(jié)果是()。

A.ABCDBCDCDDB.ABCDC.BCDD.BCDCDD

13.已有定義:charc;,程序前面已在命令行中包含ctype.h文件,不能用于判斷c中的字符是否為大寫字堪的表達(dá)式是()。

A.isupper(c)B.A<=c<=ZC.A<=c&&c<=ZD.c<=(z-32)&&(a-32)<=c

14.下列選項(xiàng)中,能正確定義數(shù)組的語句是()。

A.intnum[0..2008];

B.intnum[];

C.intN=2008;intnum[N];

D.#defineN2008;intnum[N];

15.有以下程序:

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

A.1,2,6,24,120,B.1,2,3,4,5,C.1,1,1,1,1,D.1,2,4,6,8,

16.在長度為n的順序存儲(chǔ)的線性表中,刪除第i個(gè)元素(1≤i≤n)時(shí),需要從前向后依次前移____個(gè)元素。

A.n-iB.n-i+1C.n-i-1D.i

17.下列選項(xiàng)中不合法的十六進(jìn)制數(shù)是()。

A."0"xffB."0"X11C."0"x1gD.”0”Xabc

18.現(xiàn)有如下定義語句int*p,s[20],i;p=s;表示數(shù)組元素s[i]的表達(dá)式不正確的是

A.*(s+i)B.*(p+i)C.*(s=s+i)D.*(p=p+i)

19.

20.一個(gè)順序棧一旦聲明,其占用空間的大小()。

A.已固定B.可以變動(dòng)C.不能固定D.動(dòng)態(tài)變化

二、2.填空題(20題)21.常用的軟件結(jié)構(gòu)設(shè)計(jì)工具是結(jié)構(gòu)圖(SC),也稱程序結(jié)構(gòu)圖。其中,用矩形表示______,用帶空心圓的箭頭表示傳遞的是數(shù)據(jù)。

22.請?jiān)谝韵鲁绦虻谝恍械南聞澗€處填寫適當(dāng)內(nèi)容,使程序能正確運(yùn)行。

【】(double,double);

main()

{doublex,y;

seanf("%1f%1f",&x,&y);

pfintf("%1f\n",max(x,y));

}

doublemax(doublea,doubleb)

{return(a>b?a:b);}

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

structexmp{charname[10];

intnumber;

};

structexmptest[3]={{"WangXi",1},{"QiYu",2},{"HuHua",3}};

main()

{printf("%c,%s\n",test[0].name[1],test[2].name+3);

}

24.已知bead指向一個(gè)帶頭結(jié)點(diǎn)的單向鏈表,鏈表中每個(gè)結(jié)點(diǎn)包含數(shù)據(jù)域(data)和指針域(next),數(shù)據(jù)域?yàn)檎汀R韵潞瘮?shù)求出鏈表中所有連接點(diǎn)數(shù)據(jù)域的和值作為函數(shù)值返回。請?jiān)跈M線處填入正確內(nèi)容。

{intdata;structlink*next;}

main()

{structlink*head;

sam(______);

{stmctlink*p;ints=0;

p=head->next;

while(p){s+=p->data;p=p->next;}

return(s);}

25.執(zhí)行以下程序后,輸出‘#’號(hào)的個(gè)數(shù)是【】。

#include<atdio.h>

main()

{inti,j;

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

for(j=2;j<=i;j++)putchar('#');

}

26.數(shù)據(jù)元素之間______的整體稱為邏輯結(jié)構(gòu)。

27.下列二維數(shù)組初始化語句中,正確且與語句floata[][3]={0,3,8,0,9};等價(jià)的是

28.以下程序中函數(shù)huiwen的功能是檢查一個(gè)字符串是否是回文,當(dāng)字符串是回文時(shí),函數(shù)數(shù)返回字符串:yes!否則函數(shù)返回這符串:no!并在主函數(shù)中輸出。所謂回文即正向與反向的拼寫都一樣,例如:adgda。請?zhí)羁?/p>

#include<string.h>

char*huiwen(char*str)

{char*p1,*p2;inti,t=0;

pl=str;p2=______;

for(i=0;i<=strlen(str)/2;i+*)

if(*p1++!=*p2--){t=1;break;}

if(______)return("yes!");

elsereturn(*no!");

}

main()

{charstr[50];

printf("Input:");scanf("%s",str);

printf("%s\n",______);

}

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

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

#defineMAX(a,b)(a>b?a:b)+1

main()

{inti=6,j=8,k;

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

}

31.樹中度為零的結(jié)點(diǎn)稱為______。

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

main()

{inti;

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

f(i);}

f(j)

{intj;

staticinta=1000;

autointk=1;

++k;

printf("%d+%d+%d=%d\n",a,k,j,a+k+j);

a+=10;}

33.數(shù)據(jù)庫的設(shè)計(jì)通??梢苑譃?個(gè)步驟:需求分析、概念設(shè)計(jì)、【】和物理設(shè)計(jì)。

34.以下程序用以刪除字符串中所有的空格,請?zhí)羁铡?/p>

#include<stdio.h>

main()

{chars[100]={"OurteacherteachClanguage!"};inti,j;

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

if(s[i]!=''){()}

s[j]='\0';

printf("%s\n",s);

}

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

36.函數(shù)my_cmp()的功能是比較字符串s和t的大小,當(dāng)s等于t時(shí)返回0,否則返回s和t的第一個(gè)不同字符的ASCII碼差值,即s>t時(shí)返回正值,當(dāng)s<t時(shí)返回負(fù)值。請?zhí)羁铡?/p>

my_cmp(char*s,char*t)

{while(*s==*t)

{if(*s=='\0')return0;

++s;++t;

}return【】;

}

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

#include<stdio.h>

main()

{intx=10,y=10,i;

for(i=0;x>8;y=++i)

printf("%d%d",x--,y);

}

38.在面向?qū)ο蟮脑O(shè)計(jì)中,用來請求對象執(zhí)行某一處理或回答某些信息的要求稱為【】。

39.設(shè)一棵完全二叉樹共有700個(gè)結(jié)點(diǎn),則在該二叉樹中有【】個(gè)葉子結(jié)點(diǎn)。

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

a>=0?【】:【】

三、1.選擇題(20題)41.以下有4組用戶標(biāo)識(shí)符,其中合法的一組是()。

A.FOr-subCase

B.4dDOSize

C.f2_G3IFabc

D.WORDvoiddefine

42.開發(fā)軟件所需高成本和產(chǎn)品的低質(zhì)量之間有著尖銳的矛盾,這種現(xiàn)象稱做()。A.軟件矛盾B.軟件危機(jī)C.軟件藕合D.軟件產(chǎn)生

43.函數(shù)fseek的正確調(diào)用形式是()。

A.fseek(位移量,起始點(diǎn),文件類型指針);

B.fseek(文件類型指針,位移量,起始點(diǎn));

C.fseek(文件類型指針,起始點(diǎn),位移量);

D.fseek(起始點(diǎn),位移量,文件類型指針);

44.若有說明語句:inta,b,c,*d=&c;則能正確從鍵盤讀入主個(gè)整數(shù)分別賦給變量a、b、c的語句是

A.scanf(“%d%d%d”,&a,&b,d);

B.scanf(“%d%d%d”,&a,&b,&d);

C.scanf(“%d%d%d”,a,b,d);

D.scanf(“%d%d%d”,a,b,*d);

45.下面程序的運(yùn)行結(jié)果是#include<stdio.h>voiddelch(char*s){inti,j;char*a;a=S;for(i=0,j=0;a[i]!='\0';i++)if(a[i]>='0'&aa[i]<='9'){s[j]=a[i];j++;}s[j]='\0';}main(){char*item="a34bC";delch(item);printf("\

A.abcB.34C.a34D.a34bc

46.有以下程序main(){inta=7,b=8,*p,*q,*r;p=&a;q=&b;r=p;p=q;q=r;printf("%d,%d,%d,%d\n",*p,*q,a,b);}程序運(yùn)行后輸出結(jié)果是

A.8,7,8,7B.7,8,7,8C.8,7,7,8D.7,8;8,7

47.(50)

A.p->nextB.pC.sD.s->next

48.有如下程序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

49.檢查軟件產(chǎn)品是否符合需求定義的過程稱為()。

A.確認(rèn)測試B.集成測試C.驗(yàn)證測試D.驗(yàn)收測試

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

A.反碼B.補(bǔ)碼C.EBCDIC碼D.ASCII碼

51.以下程序intaa[3][3]={{2},{4},{6}};main(){inti,*p=&aa[0][0];for(i=0;i<2;i++){if(i==0)aa[i][i+1]=*p+1;else++p;printf("%d",*p);}}的輸出是______。

A.23B.26C.33D.36

52.下列說法不正確的是()。

A.一個(gè)C語言源程序可以由一個(gè)函數(shù)組成也可以由多個(gè)函數(shù)組成

B.main()中的“()”是函數(shù)的參數(shù)部分,括號(hào)內(nèi)可為空,但括號(hào)不能省略

C.C語言程序是以函數(shù)為基本單位的

D.在C語言程序中,注釋行只能位于一條語句的后面

53.下列對于線性鏈表的描述中正確的是()。

A.存儲(chǔ)空間不一定連續(xù),且各元素的存儲(chǔ)順序是任意的

B.存儲(chǔ)空間不一定連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面

C.存儲(chǔ)空間必須連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面

D.存儲(chǔ)空間必須連續(xù),且各元素的存儲(chǔ)順序是任意的

54.下列敘述中正確

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論