2021-2022年內(nèi)蒙古自治區(qū)鄂爾多斯市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第1頁(yè)
2021-2022年內(nèi)蒙古自治區(qū)鄂爾多斯市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第2頁(yè)
2021-2022年內(nèi)蒙古自治區(qū)鄂爾多斯市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第3頁(yè)
2021-2022年內(nèi)蒙古自治區(qū)鄂爾多斯市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第4頁(yè)
2021-2022年內(nèi)蒙古自治區(qū)鄂爾多斯市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2021-2022年內(nèi)蒙古自治區(qū)鄂爾多斯市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.

2.以下選項(xiàng)中不能用做C程序合法常量的是()。

A.1,234B.‘\123’C.123D.“\x7G”

3.在單鏈表中,增加頭結(jié)點(diǎn)的目的是______。

A.方便運(yùn)算的實(shí)現(xiàn)B.使單鏈表至少有一個(gè)結(jié)點(diǎn)C.標(biāo)識(shí)表結(jié)點(diǎn)中首結(jié)點(diǎn)的位置D.說(shuō)明單鏈表是線性表的鏈?zhǔn)酱鎯?chǔ)實(shí)現(xiàn)

4.

5.在下列幾種排序方法中,要求內(nèi)存量最大的是______。

A.插入排序B.選擇排序C.快速排序D.歸并排序

6.若有定義int?x,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)

7.有以下程序:#include<stdio.h>main(){char*s=“01234”;while(*(++s)!=‘\0’){switch(*s-‘0’){case0:case1:putchar(*s+1);break;case2:putchar(*s+1);break;case3:putchar(*s+1);default:putchar(*s+1);break;}}}程序運(yùn)行后的輸出結(jié)果是()。

A.22345B.2345C.12345D.23445

8.有以下程序:#include<stdio.h>main(){char*p=“6938”;inti,s=0;for(i=3;i>=0;i--)s=10*s+p[i]-‘0’;printf(“%d\n”,s);}程序運(yùn)行后的輸出結(jié)果是()。

A.8396B.6938C.3869D.3689

9.單鏈表的存儲(chǔ)密度()順序表的存儲(chǔ)密度。

A.大于B.等于C.小于D.不能確定

10.若變量a,b已正確定義,且b已正確賦值,則合法的語(yǔ)句是()。

A.b=double(b);B.(int)a=(int)b;C.a=a++=5;D.a=double(b);

11.設(shè)x=011050,則x=x&01252的值是()。A.0000001000101000

B.1111110100011001

C.0000001011100010

D.1100000000101000

12.以下描述中,不是線性表順序存儲(chǔ)結(jié)構(gòu)特征的是()。

A.可隨機(jī)訪問(wèn)B.需要連續(xù)的存儲(chǔ)空間C.不便于插入和刪除D.邏輯相鄰的數(shù)據(jù)物理位置上不相鄰

13.以下程序的輸出結(jié)果是______。charcchar(charch){if(ch>='A'&&ch<='z')ch=ch-'A'+'a';returnch;}main(){chars[]="ABC+abc=defDEF",*p=s;while(*p){*p=cchar(*p);p++;}printf("%s\n",s);}

A.abe+ABC=DEFdef

B.abc+abe=defdef

C.abcaABCDEFdef

D.abcabcdefdef

14.當(dāng)調(diào)用函數(shù)時(shí),實(shí)參是一個(gè)數(shù)組名,則向函數(shù)傳送的是______。

A.數(shù)組的長(zhǎng)度B.數(shù)組的首地址C.數(shù)組每一個(gè)元素的地址D.數(shù)組每個(gè)元素中的值

15.有以下程序函數(shù)fun只對(duì)下標(biāo)為偶數(shù)的元素進(jìn)行操作.:

程序運(yùn)行后的輸出結(jié)果是()。A.A.7,2,5,4,3,6,1,

B.1,6,3,4,5,2,7,

C.7,6,5,4,3,2,1,

D.1,7,3,5,6,2,1,

16.以下能正確定義一維數(shù)組的選項(xiàng)是______。

A.inta[5]={0,1,2,3,4,5};

B.chara[]={0,1,2,3,4,5};

C.chara={'A','B','C'};

D.inta[5]="0123";

17.以下程序段中,與語(yǔ)句“k=a>b?(b>c?1:0):0;”功能相同的是()。

A.if((a>b)||(b>c))k=1;elsek=0;

B.if((a>b)&&(b>c))k=1;elsek=0;

C.if(a<=b)k=0;elseif(b<=c)k=1;

D.if(a>b)k=1;elseif(b>c)k=1;elsek=0;

18.以下選項(xiàng)中是非轉(zhuǎn)義字符的是()。

A.‘\d’B.‘\t’C.‘\b’D.‘\r’

19.下列程序執(zhí)行后的輸出結(jié)果是()。voidfunc(int*a,intb[]){b[0]=*a+b;}main{inta,b[5];a=0;b[0]=3;func(&a,b);printf("%d\n",b[0]);}A.6B.7C.8D.9

20.

二、2.填空題(20題)21.軟件結(jié)構(gòu)是以【】為基礎(chǔ)而組成的一種控制層次結(jié)構(gòu)。

22.若變量a,b已定義為int類(lèi)型并賦值21和55,要求用printf函數(shù)以a=21,b=55的形式輸出,請(qǐng)寫(xiě)出完整的的輸出語(yǔ)句()。

23.下面程序的功能是輸出數(shù)組s中最大元素的下標(biāo),請(qǐng)?zhí)羁铡?/p>

main()

{intk,p,s[]={1,-9,7,2,-10,3};

for(p=0,k=p;p<6;p++)

if(s[p]>s[k])【】

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

24.判定表和判定樹(shù)是以圖文形式描述數(shù)據(jù)流圖的【】

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

#defineMCRA(m)2*m

#defineMCRB(n,m)2*MCRA(n)+m

main()

{

inti=2,j=3;

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

}

26.軟件工程研究的內(nèi)容主要包括:【】技術(shù)和軟件工程管理。

27.\13'在內(nèi)存中占1個(gè)字節(jié),"\12"在內(nèi)存中占______個(gè)字節(jié)。

28.解題方案的準(zhǔn)確而完整的描述稱為_(kāi)_____。

29.若運(yùn)行時(shí)給變量x輸入12,則以下程序的運(yùn)行結(jié)果是【】;

main(){

intx,y;

scanf(""%d"",&x);

y=x>12?x+10:x-12;

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

}

30.設(shè)變量已正確定義為整型,則表達(dá)式n=i=2,++i,i++的值為【】。

31.以下程序的功能是:求出數(shù)組x中各相鄰兩個(gè)元素的和依次存放到a數(shù)組中,然后輸出。請(qǐng)?zhí)羁铡?/p>

main()

{intx[10],a[9],I;

for(I=0;I<10;I++)scanf("%d",&x[I]);

for(【】;I<10;I++)

a[I-1]=x[I]+【】;.

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

printf("");

}

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

structSIRU

{inta,b;charc:doubled;

structSTRU*p1,*p2;

};

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

【】t[20]

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

insert(charstr[])

{inti;

i=strlen(str);

while(i>0)

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

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

}

main()

{charstr[40];

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

}

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

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

intf(inta[],intn)

{if(n>=1)returnf(a,n-1)+a[n-1];

elsereturn0;

}

main()

{intaa[5]=(1,2,3,4,5),s;

s=f(aa,5);printf("%d\n",s);

}

36.下列程序的輸出結(jié)果是16.00,請(qǐng)?zhí)羁眨?/p>

main()

{

inta=9,b=2;

floatx=【】,y=1.1,z;

z=a/2+b*x/y+1/2;

printf("%5.2f\n",z);

}

37.最簡(jiǎn)單的交換排序方法是______。

38.mysulen函數(shù)的功能是計(jì)算str所指字符串的長(zhǎng)度,并作為函數(shù)值返回。請(qǐng)?zhí)羁铡?/p>

intmystrlen(Char*str)

{inti;

for{i=0;!='\0';i++);

return(______);

}

39.若a是int型變量,則下列表達(dá)式的值為_(kāi)_____。

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

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

main()

{inta=1,b=2,c=3,t=0;

if(a<B){t=a;a=b;b=t;}

if(a<C){t=a;a=c;c=t;}

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

}

三、1.選擇題(20題)41.以下程序的輸出結(jié)果是()。main()charc1='6',c1='0'printf("%d,%d,%d\n",c1,c2,c1-c2);}

A.因輸出格式不合法,輸出出錯(cuò)信息B.54,48,6C.6,0,7D.6,0,6

42.下列程序段中,不能正確賦值的是

A.char*p,ch;p=&ch;scanf("%c,&p")

B.char*p;p=(char*)malloc(1)scanf("%c",p);

C.char*p*p=getchar();

D.char*p,ch;p=&ch;*p=getchar();

43.閱讀下面程序段,則執(zhí)行后的結(jié)果為#inclide"stdio.h"main(){intm=4,n=2,k;k=fun(m,n);printf("%d\n",k);}fun(intm,intn){return(m*m*m-n*n*n);}

A.64B.8C.56D.0

44.下面敘述不正確的是

A.算法的執(zhí)行效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)有關(guān)

B.算法的空間復(fù)雜度是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間

C.算法的有窮性是指算法必須能在執(zhí)行有限個(gè)步驟之后終止

D.算法的時(shí)間復(fù)雜度是指執(zhí)行這個(gè)算法所需要的時(shí)間

45.C語(yǔ)言規(guī)定如果調(diào)用fpute函數(shù)輸出成功,則返回值是()

A.1B.輸出的字符C.0D.TRUE

46.有以下程序intf(intn){if(n==l)return1;elsereturnf(n-1)+1;}main(){inti,j=0;for(i=i;i<3;i++)j+=f(i);printf{"%d\n",j);}程序運(yùn)行后的輸出結(jié)果是

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

47.已有定義inta=-2;和輸出語(yǔ)句printf("%81x",a);以下正確的敘述是()。

A.整型變量的輸出形式只有%d一種

B.%x是格式符的一種,它可以適用于任何一種類(lèi)型的數(shù)據(jù)

C.%x是格式符的一種,其變量的值按十六進(jìn)制輸出,但%81x是錯(cuò)誤的

D.%81x不是錯(cuò)誤的格式符,其中數(shù)字8規(guī)定了輸出字段的寬度

48.下列程序的運(yùn)行結(jié)果為#include<stdio.h>voidabc(char*str){inta,b;for(a=b=0;str[a]!='\0';a++)if(str[a]!='c')str[b++]=str[a];str[b]='\0';}voidmain(){charstr[]="abcdef";abc(str);printf("str[]=%s",str);}

A.str[]=abdefB.str[]=abcdefC.str[]=aD.str[]=ab

49.以下敘述不正確的是______。

A.分號(hào)是C語(yǔ)言的必要組成部分

B.C程序的注釋可以寫(xiě)在句的后面

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

D.主函數(shù)的名字不一定用main表示

50.調(diào)用gets和puts函數(shù)時(shí),必須包含的頭文件是

A.stdio.hB.stdlib.hC.defineD.以上都不對(duì)

51.十進(jìn)制數(shù)1385轉(zhuǎn)換成十六進(jìn)制數(shù)為()

A.568B.569C.D85D.D55

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

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

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

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

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

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

A.(c==2)||(c==4)||(c==6)

B.(c>=2&&c<=6)||(c!=3)||(c!=5)

C.(c>=2&&c<=6)&&!(c%2)

D.(c>=2&&c<=6)&&(c%2!=1)

54.有以下程序:#include<stdio,h>main(){intm=0256,n=256;printf("%o%o\n",m,n);程序運(yùn)行后的輸出結(jié)果是()。

A.02560400B.0256256C.256400D.400400

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

A.測(cè)試工作必須由程序編制者自己完成

B.測(cè)試用例和調(diào)試用例必須一致

C.一個(gè)程序經(jīng)調(diào)試改正錯(cuò)誤后,一般不必再進(jìn)行測(cè)試

D.上述三種說(shuō)法都不對(duì)

56.以下對(duì)聯(lián)合類(lèi)型敘述正確的是()。

A.可以對(duì)聯(lián)合變量名直接賦值

B.使用聯(lián)合變量的目的是為了節(jié)省內(nèi)存

C.任何一個(gè)聯(lián)合變量可以同時(shí)引用聯(lián)合中的不同成員

D.聯(lián)合類(lèi)型定義中不能同時(shí)出現(xiàn)結(jié)構(gòu)類(lèi)型的成員

57.定義int*swap()指的是______。

A.一個(gè)返回整型值的函swap()

B.—個(gè)返回指向整型值指針的swap()

C.一個(gè)指向函數(shù)swap()的指針,函數(shù)返回一個(gè)整型值

D.以上說(shuō)法均錯(cuò)

58.下面四個(gè)選項(xiàng)中,均是不合法的用戶標(biāo)識(shí)符的選項(xiàng)是()。

A.AP_0doB.floatla0_AC.b-agotointD._123tempint

59.若有以下定義和語(yǔ)句,則輸出的結(jié)果是______。charc1='b',c2='e';printf("%d,%c\n",c2-c1,c2-'a'+"A");

A.2,MB.3,EC.2,ED.輸出結(jié)果不確定

60.下列程序的輸出結(jié)果是()。main(){intp[8]={11,12,13,14,15,16,17,18},i=0,j=0;while(i++<7)if(p[i]%2)j+=p[i];printf("%d\n",j);}

A.42B.45C.56D.60

四、選擇題(20題)61.

62.若有以下語(yǔ)句:typedefstructS{int9;charh;}T;以下敘述中正確的是()。

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

63.

64.(40)將E-R圖轉(zhuǎn)換到關(guān)系模式時(shí),實(shí)體與聯(lián)系都可以表示成()

A.屬性

B.關(guān)系

C.鍵

D.域

65.下列能正確進(jìn)行字符串賦值的是()。A.A.chars[5]={”ABCI)E”);

B.chars[5]={'A','B','C','D','E'};

C.char*s;s="ABCDE";

D.char*s;printf("%S",s);

66.有以下程序在VC6平臺(tái)上編譯運(yùn)行。程序運(yùn)行后的輸出結(jié)果是(

)。

A.4,8B.4,4C.2,4D.10,6

67.有以下程序:

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

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

68.數(shù)據(jù)流程圖(DFD)是()。

A.軟件概要設(shè)計(jì)的工具B.軟件詳細(xì)設(shè)計(jì)的工具C.結(jié)構(gòu)化方法的需求分析工具D.面向?qū)ο蠓椒ǖ男枨蠓治龉ぞ?/p>

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

A.執(zhí)行算法程序所需要的時(shí)間

B.算法程序的長(zhǎng)度

C.算法執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)

D.算法程序中的指令條數(shù)

70.設(shè)x=011050,則x=x&01252的值是()。A.0000001000101000

B.1111110100011001

C.0000001011100010

D.1100000000101000

71.

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

main

{charw[][10]={"ABCD","EFGH","IJKL","MNOP"),K;

for(k=1;k<3;k++)printf("%s\n",w[k]);A.A.ABCDFGHKLB.ABCDEFGUC.EFGJKOD.EFGHUKL

73.設(shè)有如圖所示二叉樹(shù),對(duì)此二叉樹(shù)后序遍歷的結(jié)果為()。

A.ZBTYCPXAB.ATBZXCYPC.TZBACYXPD.ATBZXCPY

74.運(yùn)算符________的優(yōu)先級(jí)最高。

A.[]B.+=C.?:D.++

75.有以下程序:

#include<stdio.h>

main()

{inta=2,b;

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

}

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

A.2

B.4

C.6

D.8

76.

77.(25)下面對(duì)對(duì)象概念描述錯(cuò)誤的是()

A.任何對(duì)象都必須有繼承性

B.對(duì)象是屬性和方法的封裝體

C.對(duì)象間的通訊靠消息傳遞

D.操作是對(duì)象的動(dòng)態(tài)性屬性

78.有以下程序:

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

A.0B.1C.4D.8

79.

80.

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:用冒泡法對(duì)6個(gè)字符串按由小到大的順序進(jìn)行排序。請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.規(guī)定輸入的字符串中只包含字母和*號(hào)。編寫(xiě)函數(shù)fun(),其功能是:刪除字符串中所有的*號(hào)。編寫(xiě)函數(shù)時(shí),不得使用C語(yǔ)言提供的字符串函數(shù)。例如,字符串中的內(nèi)容為“****A*BC*DEF*G****”,刪除后,字符串中的內(nèi)容應(yīng)當(dāng)是“ABCDEFG”。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入編寫(xiě)的若干語(yǔ)句。試題程序:

參考答案

1.A

2.AA選項(xiàng)中逗號(hào)是一個(gè)操作符。

3.A\nA?!窘馕觥款^結(jié)點(diǎn)不僅標(biāo)識(shí)了表中首結(jié)點(diǎn)的位置,而且根據(jù)單鏈表(包含頭結(jié)點(diǎn))的結(jié)構(gòu),只要掌握了表頭,就能夠訪問(wèn)整個(gè)鏈表,因此增加頭結(jié)點(diǎn)的目的是為了便于運(yùn)算的實(shí)現(xiàn)。

\n

4.B

5.D解析:快速排序的基本思想是,通過(guò)一趟排序?qū)⑴判蛴涗浄指畛瑟?dú)立的兩部

分,其中一部分記錄的關(guān)鍵字均比另一部分記錄的關(guān)鍵字小,再分別對(duì)這兩部分記錄繼

續(xù)進(jìn)行排序,以達(dá)到整個(gè)序列有序;插入排序的基本操作是指將無(wú)序序列中的各元素依

次插入到已經(jīng)有序的線性表中,從而得到一個(gè)新的序列;選擇排序的基本思想是:掃描整

個(gè)線性表,從中選出最小的元素,將它交換到表的最前面(這是它應(yīng)有的位置),然后對(duì)剩

下的于表采用同樣的方法,直到表空為止;歸并:排序是將兩個(gè)或兩個(gè)以上的有序表組合

成一個(gè)新的有序表。

注意:各種排序方法實(shí)現(xiàn)過(guò)程及實(shí)現(xiàn)機(jī)制。

6.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á)式1:(x-y)等價(jià)的是(x-y<0|x-y>0)。

7.D程序首先定義一個(gè)字符指針s,指向一個(gè)常量字符串“01234”;接著while循環(huán)的循環(huán)條件每次將s指向下一個(gè)字符,然后判斷s指向的字符是否為空字符“\\0”,若不是,則執(zhí)行循環(huán)體,將當(dāng)前字符與‘0’”的ASCII差值作為switch語(yǔ)句的常量表達(dá)式,執(zhí)行對(duì)應(yīng)的case語(yǔ)句。指針s指向空字符“\\0”時(shí),則終止循環(huán),程序結(jié)束。從常量字符串“01234”可知,循環(huán)過(guò)程中s指向的各個(gè)字符分別是1、2、3、4。當(dāng)*s是字符“1”時(shí),*s-‘0’的值為1,執(zhí)行case1語(yǔ)句,輸出*s+1,即字符“2”;當(dāng)*s是字符“2”時(shí),*s-‘0’的值為2,執(zhí)行case2語(yǔ)句,輸出*s+1,即字符“3”;當(dāng)*s是字符“3”時(shí),*s-‘0’的值為3,執(zhí)行case3和default語(yǔ)句,兩次輸出*s+1,即字符“4”;當(dāng)*s是字符“4”時(shí),*s-‘0’的值為4,執(zhí)行default語(yǔ)句,輸出*s+1,即字符“5”。綜上,程序輸出結(jié)果為23445。故本題答案為D選項(xiàng)。

8.A程序首先定義一個(gè)字符指針P,使其指向一個(gè)字符串“6938”。然后通過(guò)for循環(huán)使用逆序的方式遍歷字符串的各個(gè)字符,并將各個(gè)字符當(dāng)作整數(shù)參與算術(shù)運(yùn)算。其中,“p[i]-‘0’”的含義是將字符串中的數(shù)字字符轉(zhuǎn)換成對(duì)應(yīng)的整數(shù);“10*s+P[i]-‘0’”是將上一次運(yùn)算結(jié)果乘以10后與轉(zhuǎn)換后的整數(shù)相加,再累加到S中。所以for循環(huán)執(zhí)行完后,S的值是將字符串“6938”逆序后當(dāng)作整數(shù)輸出。故本題答案為A選項(xiàng)。

9.C

10.B在C語(yǔ)名中規(guī)定進(jìn)行強(qiáng)制類(lèi)型轉(zhuǎn)換的格式是:(類(lèi)型名)變量名;并且給表達(dá)式賦值。

11.A本題考查按位與運(yùn)算,按位與就是相同為1,不同為0,把x=011050化成二進(jìn)制為0001001000101000,把01252化成二進(jìn)制為0000001010101010,兩者相與得0000001000101000。

12.DD)【解析】線性表的順序存儲(chǔ)是用一片連續(xù)的空間來(lái)存放數(shù)據(jù)元素,其特點(diǎn)是邏輯上相鄰的元素在物理位置上也相鄰。數(shù)據(jù)元素之間邏輯上的先后關(guān)系自動(dòng)隱含在物理位置的相鄰元素之中,因此不需要另外開(kāi)辟空間來(lái)保存元素之間的關(guān)系。

13.B解析:字符數(shù)組元素作函數(shù)參數(shù)是單向的值傳遞。函數(shù)cchar的功能是將大寫(xiě)字母轉(zhuǎn)換為小寫(xiě)字母。主函數(shù)中while循環(huán)語(yǔ)句的條件是判斷指針p當(dāng)前指向的字符是否為空,若不為空,則調(diào)用函數(shù)cchar,即主函數(shù)中通過(guò)循環(huán)語(yǔ)句將字符串'ABC+abc=defDEF'中的大寫(xiě)字母全部轉(zhuǎn)換為小寫(xiě)字母,因此printf的輸出結(jié)果為選項(xiàng)B。

14.B解析:當(dāng)調(diào)用函數(shù)時(shí),實(shí)參是一個(gè)數(shù)組名,則向函數(shù)傳送的是數(shù)組的首地址,函數(shù)中的形參可定義成以下三種形式:

①形參定義成數(shù)組;

②形參定義成可變長(zhǎng)數(shù)組:

③形參定義為指針變量。

15.A由函數(shù)fun(int*a,intn)中語(yǔ)句if(a[j]>a[k])k=j;可知當(dāng)前k是記錄數(shù)組中較大數(shù)據(jù)值所在位置的下標(biāo)變量,所以該函數(shù)的作用是對(duì)數(shù)組a中的下標(biāo)為偶數(shù)位置的數(shù)據(jù)進(jìn)行從大到小的排序,即對(duì)a[0],a[2],a[4],a[6]中的數(shù)據(jù)1,3,5,7進(jìn)行從大到小的排序,其他位置的數(shù)據(jù)不變,所以答案為A)。

16.B解析:選項(xiàng)A)定義的是長(zhǎng)度為5的數(shù)組元素,但初值有6個(gè)元素,所以錯(cuò)誤;選項(xiàng)C)不符合數(shù)組定義形式,數(shù)組名后應(yīng)加上“[];選項(xiàng)D)的類(lèi)型說(shuō)明符錯(cuò)誤,應(yīng)改為char;選項(xiàng)B)中的0,1,2,3,4,5分別表示對(duì)應(yīng)字符的ASCII碼,所以正確。

17.B條件表達(dá)式的含義是:如果表達(dá)式1成立,結(jié)果為表達(dá)式2的值,如果不成立,則為表達(dá)式3的值。在題干中,如果“a>b”且“b>c”,則k值為1;如果“a>b”且“b<c”,則k值為0;如果“a<b”,則k值為0。條件“a>b”與“b>c”中只要有一個(gè)條件不成立,k的值就為0。故本題答案為B選項(xiàng)。

18.AC語(yǔ)言中,轉(zhuǎn)義字符又稱反斜線字符,這些字符常量總是以一個(gè)反斜線開(kāi)頭后加一個(gè)特定的字符。題干中,‘\\t’表示橫向跳若干格,‘\\b’表示退格符,‘\\r’表示回車(chē)符,選項(xiàng)B、C、D正確,選項(xiàng)A錯(cuò)誤。故本題答案為A選項(xiàng)。

19.A本題考查函數(shù)的調(diào)用,從主函數(shù)傳遞到調(diào)用函數(shù)中,*a的值為0,因此當(dāng)執(zhí)行完調(diào)用函數(shù)后,b[0]的值為6。

20.C

21.模塊模塊

22.printf(“a=%db=%d”aB);printf(“a=%d,b=%d”,a,B);解析:printf函數(shù)的一般格式為:“printf(格式控制,輸出表列)”。

23.k=p;k=p;解析:為尋找數(shù)組中最大元素的下標(biāo),需先預(yù)設(shè)1個(gè)臨時(shí)最大元素的下標(biāo),并順序逐一考查數(shù)組的元素,當(dāng)發(fā)現(xiàn)當(dāng)前元素比臨時(shí)最大元素更大時(shí),就用當(dāng)前元素的下標(biāo)更新臨時(shí)最大元素下標(biāo)。直至考查了數(shù)組的全部元素后,這臨時(shí)最大元素下標(biāo)就是數(shù)組的最大元素下標(biāo)。通常預(yù)設(shè)的最大元素下標(biāo)是數(shù)組的首元素下標(biāo),考查通常從首元素開(kāi)始順序向后繼元素考查。程序中,存儲(chǔ)臨時(shí)最大元素下標(biāo)的變量是k,變量p控制順序考查的循環(huán)控制變量。當(dāng)發(fā)現(xiàn)當(dāng)前元素s[p]比臨時(shí)最大元素s[k]更大時(shí),應(yīng)該用p更新k,所以在空框處應(yīng)填入代碼'k=p;'。

24.判定樹(shù)、判定表判定樹(shù)、判定表

25.1616解析:首先用j和MCRA(i)替換MCRB(n,m)中的參數(shù)n和m,變成2*MCRA(j)+MCRA(i),再用j和i替換MCRA(m)中的參數(shù)m,變成2*2*j+2*i=2*2*3+2*2=16。

26.軟件開(kāi)發(fā)

27.22解析:'\\13':表示八進(jìn)制數(shù)13表示的ASCII字符,是一個(gè)字符,占一個(gè)字節(jié);而”\\12”是個(gè)字符串,除了八進(jìn)制數(shù)12表示的ASCII字符占一個(gè)字節(jié)外,還有在字符串的末尾加上串結(jié)束標(biāo)志“'\\0'”,所以共有2個(gè)字節(jié)。

28.算法算法解析:算法是指對(duì)解題方案的準(zhǔn)確而完整的描述。

29.00解析:三目運(yùn)算符的形式為(表達(dá)式1)?(表達(dá)式2):(表達(dá)式3)。當(dāng)(表達(dá)式1)值為真時(shí),返回(表達(dá)式2)的值;為假時(shí),返回(表達(dá)式3)的值。題中因?yàn)閤>12為假,所以結(jié)果為x-12,即為0。

30.33解析:本題考查的是C語(yǔ)言逗號(hào)表達(dá)式的相關(guān)知識(shí)。程序在計(jì)算逗號(hào)表達(dá)式時(shí),從左到右計(jì)算由逗號(hào)分隔各表達(dá)式的值,整個(gè)逗號(hào)表達(dá)式的值等于其中最后一個(gè)表達(dá)式的值。本題中,首先i被賦值為2,再自加1,最后i++的值計(jì)算為3。

31.I=1x[I-1]I=1,x[I-1]解析:對(duì)于10個(gè)數(shù),相臨的兩個(gè)數(shù)相加取和,總共要進(jìn)行9次加法運(yùn)算,所以空14處應(yīng)填入I=1。相臨的兩個(gè)數(shù)相加取和,放在數(shù)組a中,x[0]與x[1]的和存放在a[0]中,所以空15處應(yīng)填入x[I-1]。

32.structSTRUstructSTRU解析:結(jié)構(gòu)體類(lèi)型是構(gòu)造數(shù)據(jù)類(lèi)型,是用戶自己定義的一種類(lèi)型。

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

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

{

成員項(xiàng)表;

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

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

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

33.a*b*c*d*a*b*c*d*解析:字符處理函數(shù)strlen()測(cè)試字符串常量的長(zhǎng)度,不包括‘\\0’在內(nèi)。因此,函數(shù)insert()實(shí)現(xiàn)了將字符數(shù)組中每個(gè)非‘\\0’的字符后插入字符‘*’的功能。故輸出結(jié)果是a*b*c*d*。

34.A

35.1515解析:s=f(aa,5)=f(aa,4)+a[4]=f(aa,3)+a[3]+a[4]=f(aa,2)+a[2]+a[3]+a[4]

=f(aa,1)+a[1]+a[2]+a[3]|a[4]=0+a[0]+a[1]+a[2]+a[3]+a[4]=15。

解析:本題,已知結(jié)果z=16.00,即16.0=a/2+b*x/y+1/2,分別把a(bǔ)、b,代入,得到16.0=9/2+2*x/1.1+1/2。因?yàn)閍=9,a是整型,所以9/2的值在沒(méi)有進(jìn)行類(lèi)型轉(zhuǎn)換時(shí),等于4,1/2同理,等于0。代入求一元一次方程,很容易就可以得出x=6.6。

37.冒泡排序冒泡排序解析:交換排序是指借助數(shù)據(jù)元素之間的互相交換進(jìn)行排序的一種方法。冒泡排序是一種最簡(jiǎn)單的交換排序方法,它是通過(guò)相鄰元素之間的相互交換逐步將線性表變成有序。

38.*(srt+i)或str[i]i*(srt+i)或str[i]\r\ni解析:求str指向的字符串長(zhǎng)度的算法是:用一個(gè)變量i表示字符串中字符的位置,一開(kāi)始賦值為0,取出i位置的字符,判斷是否為'\\0',若不是則i的值加1,如此循環(huán)直到取出的字符是'\\0'為止,此時(shí)i的值就是字符串的長(zhǎng)度。由此可知,第一個(gè)空處應(yīng)填第i位置上的字符*(str+i);第二個(gè)空格應(yīng)該填字符串的長(zhǎng)度i。

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

40.3123,1,2解析:分析程序,第一個(gè)if語(yǔ)句,a=1,b=2,控制條件a<b成立,則交換a、b的值,此時(shí)a=2,b=1。第二個(gè)if語(yǔ)句,a=2,c=3,控制條件a<c成立,則交換a、c的值,此時(shí)a=3,c=2。

41.A解析:因?yàn)閙ain()函數(shù)缺少左大括號(hào),所以編譯無(wú)法通過(guò)。應(yīng)該選擇A。

42.C解析:本題考查了字符的輸入函數(shù)getchar和利用scanf函數(shù)輸入一個(gè)字符。用scanf輸入字符時(shí),格式說(shuō)明字符應(yīng)該為%c。本題選項(xiàng)C)因?yàn)橹羔榩沒(méi)有賦初值,所以是一個(gè)不定值,不能直接將getchar讀入的字符賦給指針p所指向的字符,所以選項(xiàng)C錯(cuò)誤。

43.C

44.D解析:算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量,故D選項(xiàng)不正確。

45.B

46.B解析:本題考查的知識(shí)點(diǎn)是遞歸函數(shù).通過(guò)分析不難寫(xiě)出,f()函數(shù)的數(shù)學(xué)表達(dá)式為:

f(n)=1n=1;

f(n)=f(n-1)+1n不等于1;

在主函數(shù)中for循環(huán)執(zhí)行了兩次函數(shù)調(diào)用f(i)。第一次:i為1,調(diào)用f(1)得到返回值1,并把它加到i中,i的值為1。第二次i為2,調(diào)用f(n),根據(jù)遞歸公式可知“f(2)=f(1)+1”,得到返回值2并把它加到i中,j的值為3。所以最后輸出的j的值為3,所以4個(gè)選項(xiàng)中B正確。

47.D解析:整型變量的輸出形式有:%d,%o,%x,%u等,%x是以十六進(jìn)制無(wú)符號(hào)形式輸出整數(shù)。十六進(jìn)制數(shù)同樣也可以像%md一樣按%mlx輸出指定寬度的長(zhǎng)整型數(shù)。

48.A解析:本題考查了用字符指針引用字符數(shù)組中的字符及對(duì)字符的操作。函數(shù)abc()的for語(yǔ)句執(zhí)行過(guò)程是:從字符指針str所指向的字符數(shù)組的第一個(gè)元素開(kāi)始,逐一判斷字符是否為'c',若不是就執(zhí)行一次數(shù)組元素的賦值過(guò)程,若字符為'c'就不執(zhí)行。

49.D解析:C語(yǔ)言的程序是由主函數(shù)main()開(kāi)始運(yùn)行,由主函數(shù)來(lái)調(diào)用其他函數(shù),所以D是錯(cuò)誤的。

50.A解析:gets函數(shù)和puts函數(shù)是庫(kù)函數(shù),必須包含的頭文件是stdio.h。

51.B

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

53.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為何值,選項(xiàng)B中的表達(dá)式都為'真'。

54.C解析:o格式符是以八進(jìn)制形式輸出整數(shù)。此題m已是八進(jìn)制數(shù)(256前面的0表示此數(shù)是八進(jìn)制數(shù)),n是十進(jìn)制數(shù),所以輸出時(shí),直接輸出m的值,n的值需要轉(zhuǎn)換成八進(jìn)制數(shù)400后再輸出。

55.D解析:測(cè)試不是為了證明程序是正確的,而是在設(shè)想程序有錯(cuò)誤的前提下進(jìn)行的,其目的是設(shè)法暴露程序中的錯(cuò)誤和缺陷,一般應(yīng)當(dāng)避免由開(kāi)發(fā)者測(cè)試自己的程序,因此,選項(xiàng)A錯(cuò)誤;測(cè)試是為了發(fā)現(xiàn)程序錯(cuò)誤,不能證明程序的正確性,調(diào)試主要是推斷錯(cuò)誤的原因,從而進(jìn)一步改正錯(cuò)誤,調(diào)試用例與測(cè)試用例可以一致,也可以不一致,選項(xiàng)B錯(cuò)誤;測(cè)試發(fā)現(xiàn)錯(cuò)誤后,可進(jìn)行調(diào)試并改正錯(cuò)誤:經(jīng)過(guò)調(diào)試后的程序還需進(jìn)行回歸測(cè)試,以檢查調(diào)試的效果,同時(shí)也可防止在調(diào)試過(guò)程中引進(jìn)新的錯(cuò)誤,選項(xiàng)C錯(cuò)誤。

56.B由于聯(lián)合體是同一存儲(chǔ)區(qū)域由不同類(lèi)型的變量共享,所以不可以直接對(duì)聯(lián)合體變量名進(jìn)行賦值,且聯(lián)合體中的空間在某一時(shí)刻只能保持某一成員的數(shù)據(jù);另外合體中可以出現(xiàn)結(jié)構(gòu)類(lèi)型的成員。

57.B解析:一個(gè)函數(shù)可以帶回一個(gè)整型值、字符值、實(shí)型值等,但也可以帶回指針型數(shù)據(jù),即地址。本題的定義中,包括括號(hào)和*號(hào),由于()優(yōu)先級(jí)高于*。故它是—個(gè)返回整型指針的函數(shù)。

58.C解析:C語(yǔ)言規(guī)定的標(biāo)識(shí)符只能由字母、數(shù)字和下劃線3種字符組成,第一個(gè)字符必須為字母或下劃線,并且不能使用C語(yǔ)言中的關(guān)鍵字作為標(biāo)識(shí)符。選項(xiàng)C)中g(shù)oto和int是關(guān)鍵字,b-a中'-'不是組成標(biāo)識(shí)符的3種字符之一;選項(xiàng)D)中int是關(guān)鍵字,所以,均是不

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論