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

付費(fèi)下載

下載本文檔

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

文檔簡(jiǎn)介

2022年陜西省渭南市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.有以下程序:#include<stdio.h>voidfunc(intn){staticintnum=1);num=num+n;printf("%d",num);}main(){funo(3);func(4);printf("n");}程序運(yùn)行后的輸出結(jié)果是()。A.48B.34C.35D.45

2.設(shè)有定義:intn=0,*p=&n,**q=&p;則以下選項(xiàng)中,正確的賦值語(yǔ)句是()A.p=1;B.*q=2;C.q=p;D.*p=5;

3.以下對(duì)于C語(yǔ)言的描述中,正確的是:()

A.C語(yǔ)言調(diào)用函數(shù)時(shí),值傳遞方式只能將實(shí)參的值傳給形參,形參的值不能傳遞給實(shí)參

B.C語(yǔ)言中函數(shù)既可以嵌套定義,也可以遞歸調(diào)用

C.函數(shù)必須有返回值

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

4.設(shè)有定義:int?x=2,以下表達(dá)式中,值不為6的是()。

A.2*<.x+=2B.x++.2*xC.x=x*(1+x)D.x*=x+1

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

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

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

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

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

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

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

7.有以下程序:#include<stdio.h>main(){inta,b,k,m,*pl,*p2;k=1,m=8;p1=&k,p2=&m;a=/*pl-m;b=*p1+*p2+6;printf("%d",a);printf("%d\n",b);}編譯時(shí)編譯器提示錯(cuò)誤信息,你認(rèn)為出錯(cuò)的語(yǔ)句是()。A.a=/*pl-m;B.b=*p1+*p2+6;C.k=1,m=8;D.pl=&k,p2-&m;

8.二叉樹中第5層上的結(jié)點(diǎn)個(gè)數(shù)最多為________

A.8B.15C.16D.32

9.下列關(guān)于線性表的敘述中,不正確的是()

A.線性表可以是空表

B.線性表是一種線性結(jié)構(gòu)

C.線性表的所有結(jié)點(diǎn)有且僅有一個(gè)前件和后件

D.線性表是由n個(gè)元素組成的一個(gè)有限序列

10.第

11

若有定義:char*st="howareyou";下列程序段中正確的是

A.chara[11],*p;strcpy(p=a+1,&st[4]);

B.chara[11];strcpy(++a,st);

C.chara[11];strcpy(a,st);

D.chara[],*p;strcpy(p=&a[1],st+2);

11.有下列程序:程序執(zhí)行后的輸出結(jié)果是()。A.Sun,f,90,Sun,f,90

B.Zhao,m,85,Sun,f,90

C.Zhao,m,85,Qian,f,95

D.Sun,f,90,Qian,f,95

12.軟件開發(fā)模型包括Ⅰ.瀑布模型Ⅱ.扇形模型Ⅲ.快速原型法模型Ⅳ.螺旋模型

A.Ⅰ、Ⅱ、ⅢB.Ⅰ、Ⅱ、ⅣC.Ⅰ、Ⅲ、ⅣD.Ⅱ、Ⅲ、Ⅳ

13.有以下程序:#include<stdio.h>#include<stdio.h>main(){charc[6];inti=0;for(;j<6;c[i]=getchar(),i++);for(i=0;i<6;i++)putchar(c[i]);printf("\n");}如果從鍵盤上輸入:ab<回車>c<回車>def<回車>則輸出結(jié)果為______。

A.abcdefB.abcdC.abcdD.abcdef

14.以下是一個(gè)對(duì)數(shù)組A(含有n個(gè)數(shù)值元素)進(jìn)行排序的算法偽代碼,請(qǐng)問它的平均時(shí)間復(fù)雜度是多少()

A.O(n)B.O(n^2)C.O(1)D.O(log(n))

15.有以下程序:int*f(int*x,int*y){if(*x<*y)returnx;elsereturny;}main(){inta=7,b=8,*p,*q,*r;p=&a;q=&b;r=f(p,q);printf("%d,%d,%d\n",*p,*q,*r);}程序運(yùn)行后輸出結(jié)果是______。

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

16.

17.若變量已正確定義,在語(yǔ)句“if(W)printf("%d\n",k);”中,以下不可替代w的是()。

A.ab+cB.ch=getcharC.a==b+CD.a++

18.堆的形狀是一棵_______。

A.二叉排序樹B.滿二叉樹C.完全二叉樹D.平衡二叉樹

19.

20.

二、2.填空題(20題)21.設(shè)x和y均為int型變量,且x=1,y=2,則表達(dá)式2.0+x/y的值為_______。

22.若有如下結(jié)構(gòu)體說(shuō)明:

structSTRU

{inta,b;charc:doubled;

structSTRU*p1,*p2;

};

請(qǐng)?zhí)羁?,以完成?duì)t數(shù)組的定義,t數(shù)組的每個(gè)元素為該結(jié)構(gòu)體類型。

【】t[20]

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

24.若按功能劃分,軟件測(cè)試的方法通常分為白盒測(cè)試方法和【】測(cè)試方法。

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

main()

{

intx=0210;

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

}

26.以下程序的功能是:從低位開始取出長(zhǎng)整型變量s中奇數(shù)位上的數(shù),依次構(gòu)成一個(gè)新數(shù)放在t中。高位仍在高位,低位仍在低位。請(qǐng)?zhí)羁铡?include<stdio.h>main(){longs,t,s1=10;pfintf("\n.Pleaseenters:");scanf("%1d",&s);t=s%10;while(s>0){s=s/100;t=();s1=s1*10;}printf("Theresultis:%1d\n",t);}

27.若有以下定義,則使指針p指向值為35的數(shù)組元素的語(yǔ)句是______。

inta[10]={14,27,47,29,35,21,49,71},*p;

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

#definePOW(r)(r)*(r)

main()

{intx=3,y=2,t;

t=POW(x+y);

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

}

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

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

31.以下程序的功能是輸出字符串。請(qǐng)?zhí)羁铡?/p>

main()

{char*a[]={"Pascal","Clanguage","dbase","Cobol"};

char【】;

intj=0;

p=a;

for(;j<4;j++)

print{("%s\n",*【】);

}

32.算法的復(fù)雜度主要包括時(shí)間復(fù)雜度和______復(fù)雜度。

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

#include<stdio.h>

main()

{intn=12345,d;

while(n!=0){d=n%10;printf("%d",D);n/=10;}

}

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

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

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);

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

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

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

39.下面程序的功能是:計(jì)算1~10之間的奇數(shù)之和與偶數(shù)之和,請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{inta,b,c,i;

a=c=0;

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

{a+=i;

【】;

c+=b;}

printf("偶數(shù)之和=%d\n",a);

printf("奇數(shù)之和=%d\n",c-11);}

40.當(dāng)運(yùn)行以下程序時(shí),輸入abed,程序的輸出結(jié)果是:【】。

insert(charstr[])

{inti

i=strlen(str);

while(i>0)

{str[2*i]=str[i];str[2*-1]='*';i--;}

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

}

main()

{charstr[40];

scanf("%s",sB);insert(str);

}

三、1.選擇題(20題)41.若有定義和語(yǔ)句int**pp,*p,a=10,b=20;pp=&p;p=&a;p=&b;printf("%d,%d\n",*p,**pp);則輸出結(jié)果是()

A.10,10B.10,20C.20,10D.20,20

42.設(shè)函數(shù)fun的定義形式為voidfun(charch,floatx){…}則以下對(duì)函九fun的調(diào)節(jié)器用語(yǔ)句中,正確是

A.fun("abc",3.0);

B.t=fun('D',16.5);

C.fun('65',2.8):

D.fun(32,32);

43.有以下程序:#include<stdio.h>voidfun(char*a,char*b){a=b;(*a)++;}main(){charc1='A',c2='a',*p1,*p2;p1=&c1;P2=&c2;fun(p1,p2);printf("%c%c\n",c1,c2);}程序運(yùn)行后的輸出結(jié)果是()。

A.AbB.aaC.AaD.Bb

44.設(shè)有以下語(yǔ)句charx=3,y=6,z;z=x^y<<2;則z的二進(jìn)制值是

A.10100B.11011C.11100D.11000

45.有以下程序fun(intx){intp;if(x==0‖x==1)return(3);p=x-fun(x-2);returnp;}main(){printf("%d\n",fun(7));}執(zhí)行后的輸出結(jié)果是

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

46.有以下程序#include<stdio.h>main(){FILE*fp;inti=20,j=30,k,n;fp=fopen(“d1.dat”,“w”);fprintf(fp,“%d\n”,i);fprintf(fp,“%d\n”,j);fclose(fp);fp=fopen(“d1.dat”,“r”);fscanf(fp,“%d%d”,&k,&n);printf(“%d%d\n”,k,n);fclose(fp);}程序運(yùn)行后的輸出結(jié)果是

A.2030B.2050C.3050D.3020

47.若有定義:floatx=1.5;inta=1,b=3,c=2;則正確的switch語(yǔ)句是()。

A.switch(x){case1.0:printf("*\n");case2.0:printf("**\n");}

B.switch((int)x);{case1:printf("*\n");case2:printf("**\n");}

C.switch(a+b){case1:printf("*\n");case2+1:printf("**\n");}

D.switch(a+b){case1:printf("*\n");casec:printf("**\n");}

48.下列不正確的轉(zhuǎn)義字符是()。

A.'\\'B.'t'C.'\n'D.'088'

49.下列合法的字符型常量是()。

A.'\x13'B.'\081'C.'65'D.\n

50.設(shè)函數(shù)fun的定義形式為voidfun(charch,floatx){…}則以下對(duì)函數(shù)fun的調(diào)用語(yǔ)句中,正確的是

A.fun("abc",3.0);

B.t=fun('D',16.5);

C.fun('65',2.8);

D.fun(32,32);

51.執(zhí)行下面的程序時(shí),輸入abc<CR>(其中CR代表回車),輸出結(jié)果是()。#include<stdio.h>#include<string.h>main(){charch;while((cn=getchar())!='n'){switch(ch-'a'){case0:putchar(ch+1);case1:putchar(ch+1);break;case2:putchar(ch+2);caSe3:putchar(ch+2);break;}}}

A.abcB.bbcC.abcdD.bbcee

52.在關(guān)系模型中,()。

A.為了建立一個(gè)關(guān)系,首先要構(gòu)造數(shù)據(jù)的邏輯關(guān)系

B.表示關(guān)系的二維表中各元組的每一個(gè)分量還可以分成若干數(shù)據(jù)項(xiàng)

C.一個(gè)關(guān)系的屬性名表稱為關(guān)系模式

D.一個(gè)關(guān)系可以包括多個(gè)二維表

53.以下各選項(xiàng)企圖說(shuō)明一種新的類型名,其中正確的是______。

A.typedefvlint;

B.typedefv2=int

C.typedefintv3;

D.typedefv4:int

54.定義如下變量和數(shù)組:intk;inta[3][3]={9,8,7,6,5,4,3,2,1};則下面語(yǔ)句的輸出結(jié)果是()。for(k=0;k<3;k++)printf("%d",a[k][k]);

A.753B.951C.963D.741

55.下列語(yǔ)句組中,不正確的是()。

A.char*s;s="Olympic";

B.chars[]="Olympic";

C.char*s;s={"Olympic"};

D.chars[]={"Olympic"};

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

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

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

C.如果一個(gè)函數(shù)有多個(gè)return語(yǔ)句,那么不論運(yùn)行到哪一個(gè)return語(yǔ)句,該函數(shù)將結(jié)束

D.沒有return語(yǔ)句的自定義函數(shù)在執(zhí)行完最后一條語(yǔ)句時(shí)返回到調(diào)用處

57.當(dāng)執(zhí)行下面的語(yǔ)句后,表達(dá)式++x>b?x:b-->++x?++b:x的值為()intx=5,b=5;

A.5B.25C.6D.10

58.下列函數(shù)定義中,會(huì)出現(xiàn)編譯錯(cuò)誤的是()。

A.max(intx,inty,int*z){*z=x>y?x:y;}

B.intmax(intx,y){intz;z=x>y?x:y;returnz;}

C.max(intx,inty){intz;z=x>y?x:y;return(z);}

D.intmax(intx,inty){return(x>y?x:y);}

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

A.break語(yǔ)句只能用于switch語(yǔ)句體中

B.continue語(yǔ)句的作用是使程序的執(zhí)行流程跳出包含它的所有循環(huán)

C.break語(yǔ)句只能用在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)

D.在循環(huán)體內(nèi)使用break語(yǔ)句和continue語(yǔ)句的作用相同

60.設(shè)定義下列結(jié)構(gòu)體,結(jié)構(gòu)體變量p的出生年份賦值正確的語(yǔ)句是()。stmctst{intx;inty;intz;}structworker{charname[20];charsex;structstbirth;}p;

A.x=1987B.birth.x=1987;C.p.birth.x=1987;D.p.x=1987;

四、選擇題(20題)61.設(shè)intx=7,則~x的值是()。

A.-8B.7C.-1D.1

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

A.順序存儲(chǔ)結(jié)構(gòu)只針對(duì)線性結(jié)構(gòu),鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)只針對(duì)非線性結(jié)構(gòu)

B.線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)與順序存儲(chǔ)結(jié)構(gòu)所需要的存儲(chǔ)空間是相同的

C.線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)所需要的存儲(chǔ)空間一般要多于順序存儲(chǔ)結(jié)構(gòu)

D.順序存儲(chǔ)結(jié)構(gòu)能存儲(chǔ)有序表,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)不能存儲(chǔ)有序表

63.有以下程序:

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

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

64.下列說(shuō)法正確的是()。

A.在C語(yǔ)言中,可以使用動(dòng)態(tài)內(nèi)存分配技術(shù)定義元素個(gè)數(shù)可變的數(shù)組

B.在c語(yǔ)言中,數(shù)組元素的個(gè)數(shù)可以不確定,允許隨機(jī)變動(dòng)

C.在C語(yǔ)言中,數(shù)組元素的數(shù)據(jù)類型可以不一致

D.在C語(yǔ)言中,定義一個(gè)數(shù)組后.就確定了它所容納的元素的個(gè)數(shù)

65.有以下程序

main()

{

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

printf("%d\n",x/y&~z);

}

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

A.3B.2

C.1D.0

66.下列關(guān)于結(jié)構(gòu)型、共用型、枚舉型的定義語(yǔ)句中,正確的是()。

A.structss{intx}

B.unionuu{intx;}xx=5;

C.enumee{intx};

D.struct{intx;};

67.

68.有以下程序:

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

A.1002,ZhangDa,1202.0

B.1002,ChangRon9,1202.0

C.1001,ChangRon9,1098.0

D.1001,ZhangDa,1098.0

69.以下程序段中的變量已正確定義

70.算法的有窮性是指A.算法程序的運(yùn)行時(shí)間是有限的

B.算法程序所處理的數(shù)據(jù)量是有限的

C.算法程序的長(zhǎng)度是有限的

D.算法只能被有限的用戶使用

71.

72.

73.有定義語(yǔ)句:intm=1,n=2,P=5,x;,則以下選項(xiàng)中各程序段執(zhí)行后,x的值不等于5的是()。

A.

B.

C.

D.

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

intb=2;

intfunc(int*a)

{b+=*a;return(b);}

main()

{inta=2,res=2;

res+=func(&a);

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

}

A.2

B.4C.6

D.8

75.有以下程序

76.若有定義:charc;doubled;程序運(yùn)行時(shí)輸入:12<;回車>;,能把字符1輸入給變量c、數(shù)值2輸入給變量d的輸入語(yǔ)句是()。

77.

78.

79.對(duì)于算法的每一步,指令必須是可執(zhí)行的。算法的()要求算法在有限步驟之后能夠達(dá)到預(yù)期的目的。

A.可行性B.有窮性C.正確性D.確定性

80.有以下程序main(){intc=35;printf("%d\n",c&c);}程序運(yùn)行后的輸出結(jié)果是______。

A.0B.70C.35D.1

五、程序改錯(cuò)題(1題)81.下列給定程序中函數(shù)fun的功能是:將tt所指字符串中的小寫字母全部改為對(duì)應(yīng)的大寫字母,其他字符不變。

例如,若輸入“Ab,cD”,則輸出“AB,CD”。

請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。

注意:部分源程序在文件MODIl.C中,不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫函數(shù)proc(),其功能是:將str所指字符串中除了下標(biāo)為奇數(shù)、同時(shí)ASCⅡ值為偶數(shù)的字符外,其余的全部刪除,串中剩余字符所形成的一個(gè)新串放在t所指的數(shù)組中。例如,若str所指字符串中的內(nèi)容為edB2A4Dsdg,其中字符A的ASCⅡ碼值為奇數(shù),因此應(yīng)當(dāng)刪除;其中字符B的ASCⅡ碼值為偶數(shù),但在數(shù)組中的下標(biāo)為偶數(shù),因此也應(yīng)當(dāng)刪除;而字符2的ASCⅡ碼值為偶數(shù),所在數(shù)組中的下標(biāo)為奇數(shù),因此不應(yīng)當(dāng)刪除。依此類推,最后t所指的數(shù)組中的內(nèi)容應(yīng)是d24。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫的若干語(yǔ)句。試題程序:

參考答案

1.A第一調(diào)用func函數(shù)時(shí)輸出4,第二次調(diào)用func函數(shù)時(shí)num的值并不會(huì)釋放,仍然是上次修改后的值4,第二次調(diào)用結(jié)果為8,所以輸出結(jié)果是48。

2.D解析:本題考核的知識(shí)點(diǎn)是指針變量定義和賦值語(yǔ)句的基本應(yīng)用。在使用一個(gè)指針變量之前,先要用聲明語(yǔ)句對(duì)其進(jìn)行定義,在定義了一個(gè)指針變量之后,系統(tǒng)就為這個(gè)指針變量分配了一個(gè)存儲(chǔ)單元,用它來(lái)存放地址。在C語(yǔ)言中有兩個(gè)有關(guān)指針的運(yùn)算符:&運(yùn)算符,為取地址運(yùn)算符,*運(yùn)算符是指針運(yùn)算符,*p代表p所指向的變量。本題中首先定義了整型變量n,其初值為0,接著定義一個(gè)指針變量p并讓它指向n,然后定義了一個(gè)指向指針的指針變量q并讓它指向p,選項(xiàng)A中將常量1賦給指針p不正確;選項(xiàng)B也是將常量2賦給*p,故選項(xiàng)B不正確;選項(xiàng)C中P不是指向指針的指針變量,而將他賦值給一個(gè)指向指針的指針變量小顯然不正確,所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。

3.A

4.A?A)選項(xiàng)中逗號(hào)表達(dá)式先計(jì)算第一表達(dá)式2*x,然后計(jì)算表達(dá)式x+=2的值,即x=x+2即4,整個(gè)逗號(hào)表達(dá)式為第二個(gè)表達(dá)式的值4,所以選A)。B)選項(xiàng)中首先計(jì)算逗號(hào)表達(dá)式中第一一個(gè)表達(dá)式x++,此時(shí)x為3,再執(zhí)行第二個(gè)表達(dá)式2*x=2*3=6,所以逗號(hào)表達(dá)式為第二個(gè)表達(dá)式的值6。C)選項(xiàng)的賦值表達(dá)式可以表示為x=x*(1+x)=2*(1+2)=6。D)選項(xiàng)中的表達(dá)式可以表示為x=x*(x+1)=2*3=6。

5.C指針變量的值只能是存儲(chǔ)單元地址,而不能是一個(gè)整數(shù),故選項(xiàng)C錯(cuò)誤。

6.C

7.A本題考查指針,pl=&k表示P指向k的地址,則*p=k,依次類推,在對(duì)指針進(jìn)行賦值時(shí)沒有錯(cuò)誤。a=/*p+m賦值,在c語(yǔ)言中"/*"表示的注釋,所以答案選擇A。

8.C

9.CC)【解析】線性表是一種線性結(jié)構(gòu),由n(n≥O)個(gè)元素組成,所以線性表可以是空表。但是性表中,第一個(gè)結(jié)點(diǎn)沒有前件,最后一個(gè)結(jié)點(diǎn)沒有后件,其他結(jié)點(diǎn)有且只有一個(gè)前件和后件,所以選項(xiàng)C)是錯(cuò)誤的。

10.A本題綜合考查字符數(shù)組的賦值和strcpy函數(shù)的用法。C語(yǔ)言不允許用賦值表達(dá)式對(duì)字符數(shù)組賦值,如下面的語(yǔ)句就是非法的:str1='China',如果想把“China”這5個(gè)字符放到數(shù)組str1中,除了逐個(gè)輸入外,還能使用strcpy函數(shù),該函數(shù)的功能是將一個(gè)字符串復(fù)制到一字符數(shù)組中。例如,strcpy(str1,'China');或strcpy(str1,str2);注意,不能企圖用以下語(yǔ)句來(lái)實(shí)行賦值(將str2的值傳給str1):str1=str2;不能用賦值語(yǔ)句將一個(gè)字符串常量或字符數(shù)組直接給一個(gè)字符數(shù)組。

strcpy函數(shù)的結(jié)構(gòu)是:strcpy(字符數(shù)組1,字符串2)

其中,需要注意的是,字符數(shù)組1的長(zhǎng)度不應(yīng)小于字符串2的長(zhǎng)度,“字符數(shù)組1”必須寫成數(shù)組名形式,如(str1),“字符串2”可以是字符數(shù)組名,也可以是字符串常量,不能用賦值語(yǔ)句將一個(gè)字符串常量或字符數(shù)組直接給一個(gè)字符數(shù)組。

11.A程序定義結(jié)構(gòu)體類型STU,定義類型STU的全局變量a。main函數(shù)定義局部類型為STU變量b,并對(duì)它初始化,調(diào)用函數(shù)f。將局部變量c的各個(gè)成員值賦給a,覆蓋a的舊值,將a的新值返回并賦給b,此時(shí)a、b的各個(gè)成員值都是Sun,f,90,程序輸出:Sun,f,90,Sun,f,90。本題答案為A選項(xiàng)。

12.C解析:軟件開發(fā)模型包括瀑布模型、快速原型法模型和螺旋模型。

13.C解析:1.getchar():此函數(shù)的作用是從終端(或系統(tǒng)隱含指定的輸入設(shè)備)輸入一個(gè)字符。

2.putchar():此函數(shù)的作用是向終端輸出一個(gè)字符,也可以輸出控制字符。本題在輸入字符時(shí),ab和c后面的回車符分別賦給了c[2]和c[4],所以,正確答案為C。

14.B

15.B解析:f函數(shù)的功能是返回地址為x,y的兩個(gè)數(shù)中值鉸的數(shù)的地址,本題輸出結(jié)果是7,8,7。

16.D

17.A符號(hào)<>不是C語(yǔ)言中的運(yùn)算符,所以不能替代。

18.C

19.A

20.C

21.2.0。2.0。解析:x和y為整數(shù),運(yùn)算符“/”在這里是整型除,整除后值為0。

22.strudctSTRUstrudctSTRU解析:結(jié)構(gòu)件類型是構(gòu)造數(shù)據(jù)類型,是用戶自己定義的一種類型。

結(jié)構(gòu)體類型的定義:

struct結(jié)構(gòu)體類型名

{

成員項(xiàng)表;

};

定義結(jié)構(gòu)體變量的的形式為:

struct結(jié)構(gòu)體類型名變量1,變量2,...?

其中變量包括;一般變量、指針變量、數(shù)組變量等。

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

24.黑盒軟件測(cè)試的方法有三種:動(dòng)態(tài)測(cè)試、靜態(tài)測(cè)試和正確性證明。設(shè)計(jì)測(cè)試實(shí)例的方法一般有兩類:黑盒測(cè)試法和白盒測(cè)試法。在使用黑盒法設(shè)計(jì)測(cè)試實(shí)例時(shí),測(cè)試人員將程序看成一個(gè)“黑盒”,即不關(guān)心程序內(nèi)部是如何實(shí)現(xiàn)的,只是檢查程序是否符合它的“功能說(shuō)明”,所以使用黑盒法設(shè)計(jì)的測(cè)試用例完全是根據(jù)程序的功能說(shuō)明來(lái)設(shè)計(jì)的。

25.8888解析:C語(yǔ)言規(guī)定,以0開頭的整型常量為八進(jìn)制。另外,在primf()函數(shù)中,%X表示以十六進(jìn)制無(wú)符號(hào)形式輸出一個(gè)整數(shù),且十六進(jìn)制中的ABCDEF為大寫字母。本題的輸出應(yīng)該是八進(jìn)制210的十六進(jìn)制形式。將八進(jìn)制轉(zhuǎn)換為十六進(jìn)制,可以先將其轉(zhuǎn)換為二進(jìn)制。因?yàn)?位八進(jìn)制表示3位二進(jìn)制,4位二進(jìn)制表示1位十六進(jìn)制。(210)8=(10001000)2=(88)16,故本題輸出為880

26.s%10*s1+t

27.p=a+4或p=&a[4]。p=a+4或p=&a[4]。解析:可以直接將數(shù)組元素a[4]的地址(即&a[4])賦給指針變量p,也可以用數(shù)組名加偏移量的形式(即a+4)表示數(shù)組元素a[4]的地址,并賦給指針變量p。

28.2525解析:本題考查帶參數(shù)的宏的定義及相關(guān)運(yùn)算。運(yùn)算過程為:t=POW(x+y)=(2+3)*(2+3)=25。

29.1919解析:根據(jù)二叉樹的性質(zhì):在任意一棵二叉樹中,度為。的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè)。本題中度為2的結(jié)點(diǎn)數(shù)為18,故葉子結(jié)點(diǎn)數(shù)為18+1=19個(gè)。

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

31.**p(p+i)

32.空間空間解析:算法的復(fù)雜度主要包括時(shí)間復(fù)雜度和空間復(fù)雜度。所謂算法的時(shí)間復(fù)雜度,是指執(zhí)行算法所需要的計(jì)算工作量。一個(gè)算法的空間復(fù)雜度,一般是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。

33.5432154321解析:在while循環(huán)中,d=n%10;語(yǔ)句每次求得的結(jié)果是n個(gè)位上的數(shù)值,例如12345÷10所得的余數(shù)就是個(gè)位上的5。接下來(lái)輸出得到的個(gè)位數(shù)字d,然后執(zhí)行n/=10;語(yǔ)句,該語(yǔ)句等價(jià)于n=n/10;。在C語(yǔ)言中,如果/運(yùn)算的兩個(gè)運(yùn)算分量都是整數(shù),那所得的結(jié)果也截尾取整,所以12345/10=1234,即n-=n/10;語(yǔ)句的作用是讓n截去個(gè)位上的數(shù)字。由此可知,隨著while循環(huán)的繼續(xù),n依次為12345、1234、123、12、1,而每次輸出n的個(gè)位數(shù)字將為5、4、3、2、1。故本題應(yīng)填543210。

34.x+=1;

35.1212解析:本題的第一個(gè)for循環(huán)用于給數(shù)組arr賦初值,第二個(gè)for循環(huán)用于求和運(yùn)算。由于第二個(gè)for循環(huán)初始值為1,而循環(huán)條件為i<4,所以求的是arr[1]到arr[3]及i的和,所以輸出結(jié)果為12。

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

37.1對(duì)多(或1:N)1對(duì)多(或1:N)

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

39.b=i+1b=i+1解析:本題考查了for循環(huán)語(yǔ)句的執(zhí)行過程。i+=2是修正表達(dá)式,執(zhí)行一次循環(huán)體后i的值就增加2,i的初始值為0,每次加2之后和累加至a,所以a的值就是1~10之間的偶數(shù)之后;b的值是1~11之間的奇數(shù)和,但在輸出b值時(shí)c去掉多加的11,即為1~10之間的奇數(shù)之和。

40.a*b*c*da*b*c*d,解析:在insert()函數(shù),因?yàn)轭}目要求輸入的字符串為abed,所以執(zhí)行完“i=strlen(str);”后,i中存放的是字符串a(chǎn)bcd的長(zhǎng)度值4。所以接F來(lái)的while循環(huán)會(huì)循環(huán)4次,每次讓i減1,故4次循環(huán)中i的值依次為4、3、2、1。每次循環(huán)會(huì)執(zhí)行兩條語(yǔ)句str[2*i]=str[i];str[2*i-1]='*',當(dāng)i=4時(shí)為:str[8]=str[4];str[7=='*';。執(zhí)行結(jié)果是將字符串a(chǎn)bed末尾的結(jié)束符'\\0'復(fù)制到其下標(biāo)值2倍的位置,并在其前1位插入—個(gè)'*'哼符。接下來(lái)i=3,執(zhí)行str[6]=str[3];str[5]='*'。執(zhí)行后會(huì)將字符串a(chǎn)bcd最后一個(gè)字符,d復(fù)制到其下標(biāo)值2倍的位置,并在其前1位插入一個(gè)'*'字符。依次類推,直到i=1,執(zhí)行str[2]=str[1];str[1]='*',將字符tb,往后移動(dòng)了1位,并在原位置插入'*'字符。所以,循環(huán)結(jié)束后,字符串str會(huì)變?yōu)閍*b*c*d*。這就是程序的輸出結(jié)果。

41.D

42.D解析:本題考查了函數(shù)的定義。題目中定義的函數(shù)fun()有兩個(gè)參數(shù),一個(gè)是字符型變量ch,另一個(gè)是浮點(diǎn)型變量x,函數(shù)類型是void即無(wú)返回值。選項(xiàng)A調(diào)用fun的第1個(gè)參數(shù)是字符串常量與字符變量不匹配,所以不正確。選項(xiàng)B是有返回值函數(shù)的調(diào)用形式,不正確。選項(xiàng)C的第1個(gè)參數(shù)是錯(cuò)誤的字符常量,字符常量是用單引號(hào)括起來(lái)的一個(gè)字符(是轉(zhuǎn)義字符可能有多個(gè)字符),故也不正確。選項(xiàng)D使用兩個(gè)整型常量調(diào)用fun這在C語(yǔ)言中是允許的。因?yàn)檎偷阶址涂梢宰詣?dòng)轉(zhuǎn)換,整型到浮點(diǎn)型也可以自動(dòng)轉(zhuǎn)換。故應(yīng)該選擇D。

43.A解析:本題中fun函數(shù)的形參是兩個(gè)指向字符型數(shù)據(jù)的指針,其功能是把b賦給a,然后將a所指存儲(chǔ)單元里的變量值加1。在main函數(shù)中,p1里存放的是c1的地址,p2里存放的是c2的地址,經(jīng)函數(shù)調(diào)用fun(p1,P2)后,p2的值賦給了p1,使p1和p2都指向了c2,而(*a)++又使'a'的值加1變成了'b',所以此時(shí)c2的值為'b',而c1的值沒變,仍為'A'。程序改變的是p1的地址和c2的值。

44.B解析:本題考查兩個(gè)位運(yùn)算符。按位異或運(yùn)算符“”’是雙目運(yùn)算符,其功能是參與運(yùn)算的兩數(shù)各對(duì)應(yīng)的二進(jìn)位相異或,當(dāng)兩對(duì)應(yīng)的二進(jìn)位相異或時(shí),結(jié)果為1。左移運(yùn)算符“<<”是雙目運(yùn)算符,其功能把“<<”左邊的運(yùn)算數(shù)的各二進(jìn)位全部左移若干位,由“<<”右邊的數(shù)指定移動(dòng)的位數(shù),高位丟棄,低位補(bǔ)0,并且“<<”運(yùn)算符的優(yōu)先級(jí)于“^”。

45.C解析:因?yàn)閒un(intx)是一個(gè)遞歸函數(shù),所以主函數(shù)中fun(7)經(jīng)過三次遞歸調(diào)用,其過程可以描述為'fun(7)=7-fun(5)=7-(5-fun(3))=7-(5-(3-fun(1)))=7-(5-(3-3))=7-5=2”,所以最后的輸出結(jié)果為2。

46.A解析:本題首先以創(chuàng)建方式打開文件“d1.dar”,兩次調(diào)用fprintf()把i和j的值寫到文件“d1.dat”中,文件“d1.dar的內(nèi)容為20〈回車〉30〈回車〉后把該文件關(guān)閉再以讀的方式打開,文件位置指針指向文件頭,在通過fscard()函數(shù)從中讀取兩個(gè)整數(shù)到k和n中,由于格式符無(wú)間隔,因此輸入數(shù)據(jù)可以用回車隔開,故輸入的k值為20,n的值為30。

47.C解析:switch后的括號(hào)中只能是整型或字符型表達(dá)式,選項(xiàng)A中使用的是浮點(diǎn)型變量x,故不正確。選項(xiàng)B在switch的括號(hào)后面多了一個(gè)分號(hào),故也不正確。switch的case標(biāo)號(hào)后只能是常量或常量表達(dá)式,而不能是變量,所以選項(xiàng)D也不正確。故應(yīng)該選擇C。

48.D解析:'\\\\'是反斜線轉(zhuǎn)義字符:'\\t'是水平跳格轉(zhuǎn)義字符;'\\n'飯是換行轉(zhuǎn)義字符;C語(yǔ)言中沒有規(guī)定'088'為轉(zhuǎn)義字符。

49.A解析:C語(yǔ)言的字符常量是用單引號(hào)(\')括起來(lái)的一個(gè)字符,也可以用以一個(gè)“\\”開頭的字符序列來(lái)表示字符常量。其中形式\\ddd表示1到3位8進(jìn)制數(shù)所代表的字符;形式\\xhh表示1到2位16進(jìn)制數(shù)所代表的字符。在本題中\(zhòng)'\\x13\'表示回車符,是一個(gè)字符常量;而\'\\081\'用8進(jìn)制數(shù)所代表的字符形式不正確,因?yàn)?進(jìn)制數(shù)所表示的字符中不會(huì)出現(xiàn)數(shù)字“8”;\'65\'單引號(hào)(即撇號(hào))括起來(lái)的不是一個(gè)字符,而是一個(gè)十進(jìn)制數(shù)字;'\\n'是用雙引號(hào)括起來(lái)的一個(gè)字符,表示一個(gè)字符串,而不是字符常量。

50.D解析:題目中定義的函數(shù)fun()有兩個(gè)參數(shù),一個(gè)是字符型變量ch,另一個(gè)是浮點(diǎn)型變景x,函數(shù)類型是void即無(wú)返回值。選項(xiàng)A調(diào)用fun的第1個(gè)參數(shù)是字符串常量與字符變量不匹配,所以不正確。選項(xiàng)B是有返回值函數(shù)的調(diào)用形式,不正確。選項(xiàng)C的第1個(gè)參數(shù)是錯(cuò)誤的字符常量,字符常量是用單引號(hào)括起來(lái)的—個(gè)字符(是轉(zhuǎn)義字符可能有多個(gè)字符),故也不正確。選項(xiàng)D使用兩個(gè)整型常量調(diào)用fun這在C語(yǔ)言中是允許的。因?yàn)檎偷阶址涂梢宰詣?dòng)轉(zhuǎn)換,整型到浮點(diǎn)型也可以自動(dòng)轉(zhuǎn)換。故應(yīng)該選擇D。

51.D解析:當(dāng)ch='a'時(shí),ch-'a'=0,進(jìn)入case0分支輸出b,再進(jìn)入case1分支輸出b,然后結(jié)束本次循環(huán)。當(dāng)ch='b'時(shí),'b'-'a'=1,進(jìn)入case1分支輸出c,然后結(jié)束本次循環(huán)。當(dāng)ch='c'時(shí),'c'-'a'=2,進(jìn)入case2分支輸出e,再進(jìn)入case3分支輸出e,然后結(jié)束次循環(huán)。遇到'-n'結(jié)束循環(huán)。顯示輸出為bbcee。

52.C解析:在關(guān)系模型中,不需要事先構(gòu)造數(shù)據(jù)的邏輯關(guān)系,只要將數(shù)據(jù)按照一定的關(guān)系存入計(jì)算機(jī),也就是建立關(guān)系,選項(xiàng)A錯(cuò)誤。對(duì)于表示關(guān)系的二維表,其最基本的要求是,表中元組的每一個(gè)分量必須是不可分的數(shù)據(jù)項(xiàng),即不允許表中再有表,選項(xiàng)B和D錯(cuò)誤。本題的正確答案是C。

53.C解析:C語(yǔ)言中可以使用typedef來(lái)重新定義已有的數(shù)據(jù)類型,相當(dāng)于為數(shù)據(jù)類型取個(gè)別名。

54.B解析:本題中的二維數(shù)組的每個(gè)元素就是一個(gè)由3個(gè)元素構(gòu)成的一維數(shù)組,根據(jù)條件for(k=0;k<3;++)和要求的a[k][k]可以得出本題的答案應(yīng)該是951。

55.C

56.A解析:return語(yǔ)句主要用于返回函數(shù)的值。在一個(gè)自定義函數(shù)中,可以根據(jù)不同的情況設(shè)置多條return語(yǔ)句返回函數(shù)的值,也可以不包含return語(yǔ)句。

57.B

58.B解析:本題考核的知識(shí)點(diǎn)是函數(shù)的定義方法。選項(xiàng)B中在說(shuō)明形參時(shí),省略了第二個(gè)參數(shù)的類型,故選項(xiàng)B編譯不能通過。

59.C解析:只能在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)使用break語(yǔ)句。當(dāng)break出現(xiàn)在循環(huán)體的switch語(yǔ)句體內(nèi)時(shí),其作用只是跳出該switch語(yǔ)句體,并不能中止循環(huán)體的執(zhí)行。若想強(qiáng)行中止循環(huán)體的執(zhí)行,可以在循環(huán)體中,但并不在switch語(yǔ)句中設(shè)置break語(yǔ)句,滿足某種條件,則跳出本層循環(huán)體。

60.C解析:本題主要考查怎樣為嵌套定義的結(jié)構(gòu)中的成員賦值:由于worker中的birth是一個(gè)st型的結(jié)構(gòu),在給birth賦值時(shí),不能將birth作為一個(gè)整體,要用“.”運(yùn)算再深入一層訪問到最基本的成員x、y\\z。

61.A本題主要考查按位求反運(yùn)算和C語(yǔ)言正負(fù)數(shù)的表示,“O”代表正數(shù),“1”代表負(fù)數(shù);x=7的二進(jìn)制為00111,第一個(gè)0代表正數(shù),~x為11000,第一個(gè)l代表負(fù)數(shù),值為8。

62.C\n線性表的順序存儲(chǔ)結(jié)構(gòu)是把線性表中相鄰的元素存放在相鄰的內(nèi)存單元中,而鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)是用一組任意存儲(chǔ)單元來(lái)存放表中的數(shù)據(jù)元素,為了表示出每個(gè)元素與其直接后繼元素之間的關(guān)系,除了存儲(chǔ)元素本身的信息外,還需存儲(chǔ)一個(gè)指示其直接后繼的存儲(chǔ)位置信息。故線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)所需的存儲(chǔ)空間一般要多于順序存儲(chǔ)結(jié)構(gòu)。

\n

63.B該題目考查函數(shù)參數(shù)傳遞以及if條件語(yǔ)句。當(dāng)變量b為0時(shí),將a的值返回給主調(diào)函數(shù),因此a進(jìn)行兩次自減l后,將其值返回并輸出。

64.D

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論