2021-2022年陜西省西安市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第1頁(yè)
2021-2022年陜西省西安市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第2頁(yè)
2021-2022年陜西省西安市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第3頁(yè)
2021-2022年陜西省西安市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第4頁(yè)
2021-2022年陜西省西安市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩67頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2021-2022年陜西省西安市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.下面不正確的字符賦值或賦初值的方式為()。

A.chars[10]=”hello!”

B.chars[10]={‘h’,‘e’,‘l’,‘l’,‘o’,‘!’}

C.chars[10];s=”hello”

D.char[]=”hello!”

2.下面程序的輸出結(jié)果是main(){charstr[10],c='a';inti=0;for(;i<5;i++)str[i]=c++;printf("%s",str);}

A.abcdeB.aC.不確定D.bcdef

3.設(shè)有以下定義:inta=0;doubleb=1.25;charc='A';#defined2則下面語(yǔ)句中錯(cuò)誤的是()。

A.a++;B.b++;C.c++;D.d++;

4.定義根節(jié)點(diǎn)深度為1,有n個(gè)元素的完全二叉樹(shù)的深度是()

A.D(n)=log2(n)

B.D(n)=1+log2(n)

C.D(n)=n+log2(n)

D.D(n)=1+n*log2(n)

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

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

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

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

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

6.設(shè)有下列二叉樹(shù):

對(duì)此二叉樹(shù)先序遍歷的結(jié)果為

A.ABCDEFB.DBEAFCC.ABDECPD.DEBFCA

7.在排序方法中,元素比較次數(shù)與元素的初始排列無(wú)關(guān)的是()

A.Shell排序B.歸并排序C.直接插入排序D.選擇排序

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

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

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

C.“include<stdio.h>”必須放在C語(yǔ)言程序的開(kāi)頭

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

9.在關(guān)系數(shù)據(jù)模型中,通常可以把()稱(chēng)為屬性,其值稱(chēng)為屬性值。

A.記錄B.基本表C.模式D.字段

10.在一個(gè)C語(yǔ)言源程序文件中所定義的全局變量,其作用域?yàn)?)。

A.所在文件的全部范圍B.所在程序的全部范圍C.所在函數(shù)的全部范圍D.由具體定義位置和extern說(shuō)明來(lái)決定范圍

11.

12.在具有101個(gè)元素的順序表中查找值為x的元素結(jié)點(diǎn)時(shí),平均比較元素的次數(shù)為()。

A.50B.51C.100D.101

13.下列敘述中正確的是A.為了建立一個(gè)關(guān)系,首先要構(gòu)造數(shù)據(jù)的邏輯關(guān)系

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

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

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

14.

15.以下選項(xiàng)中合法的C語(yǔ)言常量是()。

A.‘C-STR’B.2014.1C.”\1.0D.2EK

16.設(shè)有條件表達(dá)式:(EXP)?i++;j--,則以下表達(dá)式中(EXP)完全等價(jià)的是()。

A.(EXP==0)B.(EXP!=0)C.(EXP==1)D.(EXP!=1)

17.有以下程序:Main(){{intx,y,z;x=y=1;z=x++,y++,++y;print(“%d,%d,%d”,x,y,z);}程序運(yùn)行后的輸出結(jié)果是()。A.2,3,3B.2.3.2C.2,3.1D.2.2.1

18.以下不能對(duì)二維數(shù)組a進(jìn)行正確初始化的語(yǔ)句是()。A.inta[2][3]={0};

B.inta[2][3]={{1,2},{3,4},{5,6}};

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

D.inta[][3]={1,2,3,4,5,6};

19.設(shè)有定義:

inta=1,b=2,C=3;

以下語(yǔ)句中執(zhí)行效果與其他三個(gè)不同的是()。

A.if(a>B.C=a,a=b,b=C;

B.if(a>B.{C=a,a=b,b=C;}

C.if(a>B.C=a;a=b;b=c;

D.if(a>B.{C=a;a=b;b=c;}

20.下列關(guān)于棧敘述正確的是A.棧頂元素最先能被刪除B.棧頂元素最后才能被刪除C.棧底元素永遠(yuǎn)不能被刪除D.以上三種說(shuō)法都不對(duì)

二、2.填空題(20題)21.把數(shù)學(xué)表達(dá)式改寫(xiě)成C語(yǔ)言的表達(dá)式是【】。

22.函數(shù)YangHui的功能是把楊輝三角形的數(shù)據(jù)賦給二維數(shù)組的下半三角,形式如下

1

11

121

1331

14641

其構(gòu)成規(guī)律是:

(1)第0列元素和主對(duì)角線元素均為1

(2)其余元素為其左卜方和正上方元素之和

(3)數(shù)據(jù)的個(gè)數(shù)每行遞增1

請(qǐng)將程序補(bǔ)充完整。

#defineN6

voidyanghui(intx[N][N])

{inti,j;

x[0][0]=1;

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

{x[i][0]=______=1;

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

x[i][j]=______;

}

}

23.語(yǔ)句:x++;++x;x=1/x;執(zhí)行后都使變量x中的值增1,請(qǐng)寫(xiě)出一條同一功能的賦值語(yǔ)句______。

24.以下程序的功能是:將輸入的正整數(shù)按逆序輸出。例如:若輸入135則輸出531。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{intn,s;

printf("Enteranumber:");scanf("%d",&n);

printf("Output:");

do

{s=n%10;printf("%d",s);【】;

}while(n!=0);

printf("\n");

}

25.性表的順序存儲(chǔ)中,元素之間的邏輯關(guān)系是通過(guò)【】決定的;性表的鏈接存儲(chǔ)中,元素之間的邏輯關(guān)系是通過(guò)【】決定的。

26.數(shù)據(jù)庫(kù)系統(tǒng)中實(shí)現(xiàn)各種數(shù)據(jù)管理功能的核心軟件稱(chēng)為【】。

27.自動(dòng)批處理文件名必須是【】。

28.下面程序的功能是輸出數(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);}

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

fun(intx)

{if(x/2>0)fun(x/2);

printf("%d",x);

}

main()

{fun(6);}

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

compare(chars[],chart[])

{inti=0;

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

return(【】?1:0);

}

31.下面程序的功能是將一個(gè)字符串str的內(nèi)容顛倒過(guò)來(lái),請(qǐng)?zhí)羁铡?/p>

#include<string.h>

main()

{infi,j,[13];charstr[]={"1234567"};

for(i=0,j=strlen(str)[14];i<j;i++,j--)

{k=str[i];str[i]=str[i];str[j]=k;}

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

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

#include<stdio.h>

main()

{staticchara[]="language",b[]="program";

char*ptr1=a,*ptr2=b;

intk;

for(k=0;k<7;k++)

if(*(ptr1+k)==*(ptr2+k))

printf("%c",*(ptr1+k));}

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

34.設(shè)有以下結(jié)構(gòu)體類(lèi)型:

structst

{charname[8];

intnum;

floats[4];

}student[50];

并且結(jié)構(gòu)體數(shù)組student中的元素都已有值。若要將這些元素寫(xiě)到硬盤(pán)文件fp中,請(qǐng)將以下fwrite語(yǔ)句補(bǔ)充完整:

fwrite(student,【】,1,fp);

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é)果是______。

voidfun()

{staticinta=0;

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

}

main()

{intcc;

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

printf("\n");

}

37.用以下程序計(jì)算1到100的整數(shù)的累加和。請(qǐng)?zhí)羁铡?/p>

main()

{inti,sum=【】;

i=1;

for(【】)

{sum+=j(luò)

i++;

}

printf("sum=%d\n",【】);

}

38.數(shù)據(jù)庫(kù)系統(tǒng)中實(shí)現(xiàn)各種數(shù)據(jù)管理功能的核心軟件是______。

39.有以下程序:

voidf(intv,intw)

{intt;

t=v;v=w;w=t;

}

main()

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

if(x>y)f(x,y);

elseif(y>z)f(y,z);

elsef(x,z);

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

}

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

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

fun(intx,inty,intz)

{z=x*x+y*y;}

main()

{inta=31;

fun(6,3,a)

printf("%d,a)

}

三、1.選擇題(20題)41.以下程序的輸出結(jié)果是______。#include<stdio.h>#defineSQR(x)x*xmain(){inta,k=3;a=++SQR(k+1);printf((“%d\n”,a);}A.8B.9C.17D.20

42.以下合法的字符型常量是

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

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

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

C.a&&b

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

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

A.用C語(yǔ)言實(shí)現(xiàn)的算法必須要有輸入和輸出操作

B.用C語(yǔ)言實(shí)現(xiàn)的算法可以沒(méi)有輸出但必須要有輸入

C.用C語(yǔ)言程序?qū)崿F(xiàn)的算法可以沒(méi)有輸入但必須要有輸出

D.用C語(yǔ)言程序?qū)崿F(xiàn)的算法可以既沒(méi)有輸入也沒(méi)有輸出

45.若有如下說(shuō)明,則______的敘述是正確的。structst{inta;intb[2];}a;

A.結(jié)構(gòu)體變量a與結(jié)構(gòu)體成員a同名,定義是非法的

B.程序只在執(zhí)行到該定義時(shí)才為結(jié)構(gòu)體st分配存儲(chǔ)單元

C.程序運(yùn)行時(shí)為結(jié)構(gòu)體st分配6個(gè)字節(jié)存儲(chǔ)單元

D.類(lèi)型名structst可以通過(guò)extern關(guān)鍵字提前引用(即引用在前,說(shuō)明在后)

46.有以下程序main(){intm[][3]={1,4,7,2,5,8,3,6,9};inti,j,k=2;for(i=0;i<3;i++){printf("%d",m[k][i]);}}執(zhí)行后輸出結(jié)果是

A.456B.258C.369D.789

47.若已定義x和y為double類(lèi)型,則表達(dá)式:x=1,y=x+3/2的值是()A.1B.2C.2.0D.2.5

48.以下程序中C的二進(jìn)制值是()。chara=2,b=4,c;c=a^b>>2

A.11B.10100C.111100D.000l1000

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

A.ABCDDEFEGDBDB.abcDDfefDbDC.abcAAfefAbAD.Abcddfefdbd

50.有以下程序main(){ihtm=3,n=r,x;x=-m++;X=x+8/++n;printf("%d\n",x);}程序運(yùn)行后的輸出結(jié)果是

A.3B.5C.-1D.-2

51.下列程序的輸出結(jié)果是()。#include<stdio.h>intb=2;intfunc(int*a){b+=*a;return(b);}main(){inta=2,res=2;res+=func(&a);printf("%d\n",res);}

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

52.假定w,x,y,z和m均為int型變量,有如下程序段:w=1;x=2,y=3;z=4;m=(w<x)?w:x;m=(m<y)?m:y;m(m<2)?m:2;則該程序段執(zhí)行后,m的值為()

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

53.運(yùn)行下面程序時(shí),從鍵盤(pán)輸入字母A,則輸出結(jié)果是()。#include<stdio.h>main(){charch;ch=getchar();switch(ch){case'A':printf("AAAA\n");case'B':printf("BBBB\n");default:printf("CCCC\n");}}

A.AAAAB.AAAABBBBC.AAAABBBBCCCCD.AAAACCCC

54.在C語(yǔ)言中,函數(shù)的隱含存儲(chǔ)類(lèi)別是______。

A.autoB.staticC.externD.無(wú)存儲(chǔ)類(lèi)別

55.軟件開(kāi)發(fā)離不開(kāi)系統(tǒng)環(huán)境資源的支持,其中必要的測(cè)試數(shù)據(jù)屬于A.硬件資源B.通信資源C.支持軟件D.輔助資源

56.有以下程序:#include<stdio.h>main()inti;for(i=0;i<3;i++)switch(i)case0:printf("%d",i);case2:printf("%d",i);default:printf("%d",i);程序運(yùn)行后的輸出結(jié)果是()。

A.22111B.21021C.122D.12

57.下列屬于不合法的main函數(shù)命令行參數(shù)表示形式的是()。

A.main(intargv,char*argc[])

B.main(intargv,char*argc)

C.main(intargv,char**arc)

D.main(intargc,char*argv[])

58.下面程序的輸出是______。main(){intk=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}

A.k=11,k=12,k=11

B.k=11,k=13,k=13

C.k=11,k=013,k=0xb

D.k=11,k=13,k=B

59.若有如下程序:voids(char*m,intn){*m=*m+3;n=n+3;printf("%c,%c,",*m,n);}main(){charp='b',q='B';s(&q,p);printf("%c,%c\n",p,q);}則程序運(yùn)行后的輸出結(jié)果是()

A.E,e,b,EB.e,E,b,F(xiàn)C.E,e,e,ED.e,E,b,E

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

A.gets(&s[0]);

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

C.gets(s);

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

四、選擇題(20題)61.設(shè)x=015,則x=x^017的值是()。A.00001111B.11111101C.00000010D.11000000

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

A.在C語(yǔ)言中調(diào)用函數(shù)時(shí),只能把實(shí)參的值傳送給形參,形參的值不能傳送給實(shí)參

B.在C的函數(shù)中,最好使用全局變量

C.外部變量可以在函數(shù)之間傳遞數(shù)據(jù)

D.自動(dòng)變量實(shí)質(zhì)上是一個(gè)函數(shù)內(nèi)部的局部變量

63.有以下程序:

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

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

64.有以下程序:

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

A.在給P和q數(shù)組置初值時(shí),系統(tǒng)會(huì)自動(dòng)添加字符串結(jié)束符,故輸出的長(zhǎng)度都為3

B.由于P數(shù)組中沒(méi)有字符串結(jié)束符,長(zhǎng)度不能確定;但q數(shù)組中字符長(zhǎng)度為3

C.由于q數(shù)組中沒(méi)有字符串結(jié)束符,長(zhǎng)度不能確定;但P數(shù)組中字符長(zhǎng)度為3

D.由于P和q數(shù)組中沒(méi)有字符串結(jié)束符,故長(zhǎng)度都不能確定

65.

66.以下選項(xiàng)中可用做c程序合法實(shí)數(shù)的是()。、、

A.3.0e0.2B..1e0C.E9D.9.12E

67.一棵二叉樹(shù)共有25個(gè)結(jié)點(diǎn),其中5個(gè)是葉子結(jié)點(diǎn),則度為1的結(jié)點(diǎn)數(shù)為()。

A.16B.10C.6D.4

68.

69.

70.

71.

72.

73.以下不合法的字符常量是()。

A.

B.

C.

D.

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

A.m=6B.m=2C.m=4D.m=5

75.軟件開(kāi)發(fā)中需求分析的主要任務(wù)是()。

A.定義和描述目標(biāo)系統(tǒng)“做什么”B.獲取需求C.給出軟件解決方案D.需求評(píng)審

76.

77.

78.設(shè)有定義:intx[2][3];,則以下關(guān)于二維數(shù)組X的敘述錯(cuò)誤的是()。

A.x[0]可看做是由3個(gè)整型元素組成的一維數(shù)組

B.x[0]和x[l]是數(shù)組名,分別代表不同的地址常量

C.數(shù)組X包含6個(gè)元素

D.可以用語(yǔ)句x[o]=0;為數(shù)組所有元素賦初值0

79.數(shù)據(jù)流圖中方框表示的是()。

A.數(shù)據(jù)流B.存儲(chǔ)文件C.控制流D.源,潭

80.有以下程序段:

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

A.a=10b=50C=30

B.a=10b=50c=10

C.a=10b=30c=10

D.a=50b=30c:50

五、程序改錯(cuò)題(1題)81.下列給定程序中函數(shù)fun的功能是:用冒泡法對(duì)6個(gè)字符串進(jìn)行升序排列。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。

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

六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫(xiě)函數(shù)voidproc(intx,intpp[],int*n),它的功能是:求出能整除x且不是偶數(shù)、不為1的各整數(shù),并按從大到小的順序放在PP所指的數(shù)組中,這些除數(shù)的個(gè)數(shù)通過(guò)形參n返回。

例如,若x的值為30,則有3個(gè)數(shù)符合要求,它們是15,5,3。

注意:部分源程序給出如下。

請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。

試題程序:

參考答案

1.C

2.C解析:字符串少一個(gè)結(jié)束標(biāo)志,所以輸出的結(jié)果不確定。

3.D解析:本題考核的知識(shí)點(diǎn)是在自加運(yùn)算符的運(yùn)算對(duì)象。自加運(yùn)算對(duì)象可以是整型變量也可以是實(shí)型變量,但不能是表達(dá)式和常量。本題中,#defined2定義了d為常數(shù)2,不能在對(duì)d進(jìn)行自加運(yùn)算.故選項(xiàng)D是個(gè)不正確的語(yǔ)句,所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。

4.B

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

6.C解析:二叉樹(shù)的遍歷分為先序,中序、后序三種不同方式.本題要求先序遍歷,其遍歷順序應(yīng)該為:訪問(wèn)根結(jié)點(diǎn)->,先序遍歷左子樹(shù)->先序遍歷右子樹(shù)。按照定義,先序遍歷序列是ABDECF,故答案為C。

7.D

8.A預(yù)處理命令以“#”開(kāi)頭,一般在源文件的最前面書(shū)寫(xiě),但不是必須在起始位置書(shū)寫(xiě),所以B、C選項(xiàng)錯(cuò)誤。C語(yǔ)言的預(yù)處理能夠?qū)崿F(xiàn)宏定義和條件編譯的功能,所以D選項(xiàng)錯(cuò)誤。故本題答案為A選項(xiàng)。

9.D解析:數(shù)據(jù)庫(kù)表中字段轉(zhuǎn)化為屬性,把記錄的類(lèi)型轉(zhuǎn)化為關(guān)系模式。

10.D

\n全局變量是在函數(shù)外部任意位置上定義的變量,它的作用域是從變量定義的位置開(kāi)始,到整個(gè)源文件結(jié)束止。當(dāng)全局變量定義在后,引用它的函數(shù)在前時(shí),應(yīng)該在引用它的函數(shù)中用extern對(duì)此全局變量進(jìn)行說(shuō)明,以便通知編譯程序該變量是一個(gè)已在外部定義了的全局變量,這時(shí)全局變量的作用域從extern說(shuō)明處起,延伸到該函數(shù)末尾。

\n

11.B

12.B

13.C解析:在格式化模型中,要事先根據(jù)應(yīng)用的需要,確定數(shù)據(jù)之間的邏輯關(guān)系,即先對(duì)數(shù)據(jù)進(jìn)行結(jié)構(gòu)化。在關(guān)系模型中,不需要事先構(gòu)造數(shù)據(jù)的邏輯關(guān)系,只要將數(shù)據(jù)按照一定的關(guān)系存入計(jì)算機(jī),也就是建立關(guān)系。所以選項(xiàng)A錯(cuò)誤。對(duì)于一個(gè)表示關(guān)系的二維表,其最基本的要求是表中元組的每一個(gè)分量必須是不可分的數(shù)據(jù)項(xiàng),即不允許表中再有表。所以,選項(xiàng)B、D說(shuō)法是錯(cuò)誤的。一個(gè)關(guān)系的屬性名表稱(chēng)為關(guān)系模式,也就是二維表的表框架,相當(dāng)于記錄型。因此,選項(xiàng)C說(shuō)法正確。

14.B

15.B所謂常量,是指在程序運(yùn)行的過(guò)程中,其值不能被改變的量。在C語(yǔ)言中,有整型常量、實(shí)型常量、字符常量和字符串常量等類(lèi)型。選項(xiàng)A是字符串,需要使用雙引號(hào);選項(xiàng)C不是合法的常量形式;選項(xiàng)D為實(shí)型常量中的指數(shù)形式,但指數(shù)形式e(E)之前必須是數(shù)字,之后必須為整數(shù)。故本題答案為B選項(xiàng)。

16.B解析:條件表達(dá)式的形式為:“表達(dá)式1?表達(dá)式2:表達(dá)式3”。其含義為:當(dāng)“表達(dá)式1”的值為非零時(shí),求出“表達(dá)式2”的值,此時(shí)“表達(dá)式2”的值就是整個(gè)條件表達(dá)式的值;當(dāng)“表達(dá)式1”的值為零時(shí),求出“表達(dá)式3”的值,此時(shí)“表達(dá)式3”的值就是整個(gè)條件表達(dá)式的值。對(duì)于本題來(lái)說(shuō),當(dāng)表達(dá)式EXP為非0值時(shí)條件成立,即執(zhí)行語(yǔ)句i++;當(dāng)EXP等于0時(shí),執(zhí)行語(yǔ)句j--;這等同于條件表達(dá)式“(EXP!=0)?i++:i++;”。

17.C整型變量x、y的初值都為1,“x++,y++,++y”是一個(gè)逗號(hào)表達(dá)式,程序執(zhí)行“z=x++,y++,++y”之后,x的值為2,y的值為3,z取逗號(hào)表達(dá)式中的第二個(gè)表達(dá)式的值,為1。因此本題的答案為選項(xiàng)C。

18.B選項(xiàng)A中,將二維數(shù)組a的6個(gè)元素都賦值為0,正確;選項(xiàng)B中,由于a包含2個(gè)元素,每個(gè)元素都是包含3個(gè)元素的一維數(shù)組,初始化列表中包含3個(gè)元素,每個(gè)元素是包含2個(gè)元素的數(shù)組,錯(cuò)誤;選項(xiàng)C中,a的每個(gè)元素是包含3個(gè)元素的一維數(shù)組,初始化列表將a[0]的3個(gè)元素初始化為1,2,0,將a[1]的3個(gè)元素初始化為0,0,0,正確;選項(xiàng)D中,將a[0]初始化為1,2,3,將a[1]初始化為4,5,6,正確。本題答案為B選項(xiàng)。

19.C由于a小于b,所以所有選項(xiàng)中的條件都為假,c選項(xiàng)中實(shí)際執(zhí)行了a=b;b=c;兩個(gè)操作。而A、B、D選項(xiàng)由于條件不成立,所以什么也沒(méi)有做,所以選擇c選項(xiàng)。

20.A棧是限定只在一端進(jìn)行插入與刪除的線性表,按照“先進(jìn)后出”或“后進(jìn)先出”的原則組織數(shù)據(jù)。棧頂元素總是最后被插入的元素,從而也是最先能被刪除的元素;棧底元素總是最先被插入的元素,從而也是最后才能被刪除的元素。

21.(cosx)*(cosx)*(m+n)/(m-n)

22.x[i][i]x[i-1][j-1]+x[i-1]或x[i-1][j]+x[i-1][j-1]x[i][i]\r\nx[i-1][j-1]+x[i-1]或x[i-1][j]+x[i-1][j-1]解析:本題考核的知識(shí)點(diǎn)是函數(shù)與算法結(jié)合在一起的應(yīng)用。在程序中用兩重循環(huán)。在第一層循環(huán)中將每行的第0列賦值為1,對(duì)角線上的元素賦值為1顯然在第一個(gè)空中應(yīng)該填入對(duì)角線上的元素即x[i][i]在第2重循環(huán)中給每行其他元素賦值,而在每行中除了第0列和對(duì)角線的元素外其他元素為其對(duì)應(yīng)的上一行中同列和同列的前一列的元素相加,所以在第二個(gè)空中應(yīng)該填入x[i-1][j-1]+x[i-1][j]。

23.x+=1x+=1解析:本題考查'++'、'--'運(yùn)算符。'++'、'--'只能作用于變量,不能用于表達(dá)式或常量;前綴形式是在使用變量之前先將其值增1或減1,后綴形式是先使用變量原來(lái)的值,使用完后再使其增1或減1。

24.n/=10或n=n/10n/=10或n=n/10解析:每次循環(huán)把n除以10所得的商賦給n。

25.相鄰位置鄰接指針相鄰位置\r\n鄰接指針

26.數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)

27.AUTOEXEC.BAT

28.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;'。

29.136136解析:本題考核的知識(shí)點(diǎn)是函數(shù)遞歸。主函數(shù)調(diào)用函數(shù)fun(6),由于6/2>0為真遞歸調(diào)用fun(3),接著遞歸調(diào)用fun(1),輸出1,返回上一層輸出3,在返回上一層輸出6。故空格處應(yīng)該填136。

30.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'

31.顛倒一個(gè)字符串中的字符,就是首尾對(duì)應(yīng)的元素兩兩交換。簡(jiǎn)單地可用兩個(gè)游標(biāo)變量i和j,i是前端元素的下標(biāo),j是后端元素的下標(biāo),交換以這兩個(gè)變量值為下標(biāo)的元素str[i]和str[j]。開(kāi)始時(shí),i的值為0,j的值為字符串末元素的下標(biāo)(字符串長(zhǎng)度減1)。每次交換后,i增1,j減1。繼續(xù)交換的條件是str[i]位于str[j]的前面,即i<j字符串末元素的下標(biāo)是它的長(zhǎng)度減1,所以在第二個(gè)空框處應(yīng)填入-1。程序?yàn)榱私粨Qstr[i]和str[j],使用了變量k,該變量應(yīng)在程序的變量定義部分中—起定義,所以在第—個(gè)空\(chéng)r\n\r\n

32.gaga解析:考查了用字符指針處理字符串的方法。用字符指針處理字符串,首先要使指針指向這個(gè)字符串,即題中的ptr1=a和ptr2=b,然后就是通過(guò)指針的移動(dòng)可以引用到字符串中的每一個(gè)字符。題中的*(ptr1+k)是使指針ptr1向后移動(dòng)k個(gè)位置,然后取出指向的字符。

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

34.sizeof(structst)*50sizeof(structst)*50解析:fwrite函數(shù)的一般調(diào)用形式為:fwrite(buffer,size,count,fp);其中:buffer是一個(gè)指針變量,是要輸出數(shù)據(jù)的起始地址;size是要寫(xiě)的字節(jié)數(shù);count是要寫(xiě)多少個(gè)size字節(jié)的數(shù)據(jù)項(xiàng);fp是文件指針。

35.1515解析:通過(guò)遞歸調(diào)用f函數(shù)實(shí)現(xiàn)了數(shù)組各元素之和,即a[4]+a[2]+a[1]+a[0]=15。

36.246

37.0i<=100;sum

38.數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)解析:數(shù)據(jù)庫(kù)管理系統(tǒng)是數(shù)據(jù)庫(kù)的管理機(jī)構(gòu),它是一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫(kù)中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護(hù)、控制及保護(hù)和數(shù)據(jù)服務(wù)等。

39.1321,3,2解析:函數(shù)f的形參是簡(jiǎn)單變量,形參的改變不能影響實(shí)參,所以正確答案為1,3,2。

40.3131解析:在函數(shù)調(diào)用時(shí),形參值和改變,不會(huì)改變實(shí)參的值。

41.B

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

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

44.C解析:一個(gè)算法應(yīng)該具有以下5個(gè)特性:有窮性、確定性、可行性、有零個(gè)或多個(gè)輸入、有一個(gè)或多個(gè)輸出。因此一個(gè)算法可以沒(méi)有輸入(程序的功能確定),但必須要有輸出,沒(méi)有輸出的算法是沒(méi)有意義的。

45.D解析:結(jié)構(gòu)體變量a與結(jié)構(gòu)體成員a同名是合法的定義,引用成員a的方法是a.a,變量a處于不同的“層次”上,系統(tǒng)完全能夠分情。st是—個(gè)結(jié)構(gòu)體名,不會(huì)為結(jié)構(gòu)體名分配存儲(chǔ)空間,應(yīng)該是在運(yùn)行時(shí)為結(jié)構(gòu)體變量a分配6個(gè)字節(jié)的存儲(chǔ)單元,故選項(xiàng)B和選項(xiàng)C錯(cuò)誤。

46.C解析:本題考核的知識(shí)點(diǎn)是二維數(shù)組的定義,賦值及數(shù)組元素的引用。變量k的初值為2,循環(huán)執(zhí)行了3次,分別輸出m[2][0]、m[2][1]和m[2][2],其值分別為3,6,9。所以,C選項(xiàng)為所選。

47.C解析:這是一個(gè)逗號(hào)表達(dá)式,它的值應(yīng)為表達(dá)式y(tǒng)=x+3/2的值,而前一個(gè)表達(dá)式已給x賦值1,在沒(méi)有進(jìn)行類(lèi)型轉(zhuǎn)換的情況下,3/2的值為1,所以x+3/2的值應(yīng)為2.0。

48.A

49.B

50.D解析:主函數(shù)中首先定義了整型變量m、n和x,并給m和n賦初值為3和4,接著執(zhí)行兩條賦值語(yǔ)句,第一條x=-m++等價(jià)于x=-(m++),其值即為-3,第二條x=x+8/++n等價(jià)于x=x+8/(++n),即為x=-3+8/5=-2,因此最后輸出x的值為-2。

51.B解析:對(duì)于函數(shù)體中的語(yǔ)句b+=*a;其中的“*”是指針運(yùn)算符,*a就是main函數(shù)中變量a的值。

52.D

53.C解析:本題考查switch語(yǔ)句。因?yàn)閏h=A,所以第一個(gè)switch語(yǔ)句,執(zhí)行ease'A'后面的語(yǔ)句,輸出AAAA,沒(méi)有遇到break語(yǔ)句,所以接著再執(zhí)行case'B'和default,分別輸出BBBB和CCCC。

54.C解析:C語(yǔ)言規(guī)定,只要在定義函數(shù)時(shí)不進(jìn)行存儲(chǔ)類(lèi)型的顯式說(shuō)明,函數(shù)的存儲(chǔ)類(lèi)型就隱含為外部類(lèi)型,即extern型,外部類(lèi)型允許其他文件中的函數(shù)調(diào)用。

55.D軟件開(kāi)發(fā)離不開(kāi)系統(tǒng)環(huán)境資源的支持,其中主要的資源有硬件資源、通信資源、輔助資源等。(1)硬件資源是指組成計(jì)算機(jī)及相關(guān)應(yīng)用所需要的硬件,它是軟件開(kāi)發(fā)必不可少的資源,因?yàn)闊o(wú)論什么樣的軟件工具都需要在硬件上完成任務(wù),它是其他資源的基礎(chǔ)資源。(2)通信資源是指為軟件開(kāi)發(fā)提供通信支撐的資源,它與測(cè)試數(shù)據(jù)無(wú)關(guān)。(3)支持軟件是指為軟件開(kāi)發(fā)提供操作平臺(tái)的軟件,如常用的面向?qū)ο箝_(kāi)發(fā)的Rose軟件,它主要是軟件開(kāi)發(fā)的工具。通過(guò)對(duì)上述分析的總結(jié),可以知道本題的正確答案選D。

56.C解析:程序中沒(méi)有使用break終止switch語(yǔ)句的執(zhí)行。當(dāng)i:0時(shí),執(zhí)行第一個(gè)case語(yǔ)句,因?yàn)樗竺鏇](méi)有break,所以一直到執(zhí)行完default語(yǔ)句結(jié)束,輸出3個(gè)0,再執(zhí)行下一循環(huán)。所以只有選項(xiàng)C)正確。

57.B解析:main函數(shù)通常可用兩個(gè)參數(shù),參數(shù)名可由用戶(hù)自定,但類(lèi)型是固定的,第一個(gè)參數(shù)必須是整型,第二個(gè)參數(shù)是一個(gè)指向字符型的指針數(shù)組的指針,可以表示為**arc或*argc[]。4個(gè)選項(xiàng)中只有選項(xiàng)B不符合。

58.D解析:在C語(yǔ)言格式字符的輸出中,“%d”是以帶符號(hào)的十進(jìn)制形式輸出整數(shù);“%60”是以8進(jìn)制無(wú)符號(hào)形式輸出整數(shù)(不輸出前導(dǎo)符o);“%x”是以16進(jìn)制無(wú)符號(hào)形式輸出整數(shù)(不輸出前導(dǎo)符Ox)。

59.A

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

61.C

\n本題考查按位異或運(yùn)算,異或就是相同為0,不同為1(化為二進(jìn)制00001101),017的二進(jìn)制為000001111,兩者異或結(jié)果為00000010。

\n

62.B解析:編譯時(shí),編譯系統(tǒng)不為局部變量分配內(nèi)存單元,而是在程序運(yùn)行中,當(dāng)局部變量所在的函數(shù)被調(diào)用時(shí),編譯系統(tǒng)根據(jù)需要要臨時(shí)分配內(nèi)存,調(diào)用結(jié)束空間釋放;全局變量一經(jīng)定義,編譯系統(tǒng)為其分配固定的內(nèi)存單元,在程序運(yùn)行的自始至終都占用固定的單元。在考慮內(nèi)存不定的情況下,最好使用全局變量。

63.B第一次執(zhí)行外循環(huán)i的值為1,滿(mǎn)足條件,判斷第一次內(nèi)循環(huán),j的值為3,不滿(mǎn)足條件,跳出內(nèi)循環(huán)。第二次執(zhí)行外循環(huán)i的值為2,同理也不滿(mǎn)足內(nèi)循環(huán)條件,跳出內(nèi)循環(huán)。第三次執(zhí)行外循環(huán)i的值為3,此時(shí)進(jìn)入內(nèi)循環(huán)判斷條件時(shí),條件成立,執(zhí)行m=m%j,m的值為1,跳出內(nèi)循環(huán),跳出外循環(huán)打印m的值。

64.B本題考查的是庫(kù)函數(shù)的調(diào)用。Stden

65.D

66.BA選項(xiàng)中e后面的指數(shù)必須為整數(shù),所以錯(cuò)誤。C語(yǔ)言規(guī)定,E之前必須要有數(shù)字,所以c選項(xiàng)錯(cuò)誤。E后面必須要有數(shù)字,且必須為整數(shù),所以D選項(xiàng)錯(cuò)誤。

67.A【答案】:A【知識(shí)點(diǎn)】:二叉樹(shù)的性質(zhì)

【解析】:由二叉樹(shù)的性質(zhì)3可知,度為0的結(jié)點(diǎn)數(shù)(即葉子結(jié)點(diǎn)數(shù))=度為2的結(jié)點(diǎn)數(shù)+1。題目中給出葉子結(jié)點(diǎn)數(shù)為5個(gè),利用性質(zhì)3可計(jì)算出度為2的結(jié)點(diǎn)數(shù)為4個(gè)。在二叉樹(shù)只有三種結(jié)點(diǎn):度為0的、度為1的、度為2的,總數(shù)為25個(gè),所以度為1的結(jié)點(diǎn)數(shù)即為25-5-4=16個(gè),所以答案為A。

68.A

69.A

70.B

71.A

72.D\r\n

73.B在c語(yǔ)言中,用單引號(hào)擴(kuò)起來(lái)的一個(gè)字符表示字符常量,轉(zhuǎn)義字符由反斜扛”\”+特定字符組成。選項(xiàng)B)表示是8進(jìn)制數(shù)碼,出現(xiàn)8屬于非法字符,所以正確答案是選項(xiàng)B)

74.A第一次外循環(huán)i的值為l,第一次內(nèi)循環(huán)j的值為3,不滿(mǎn)足條件,則執(zhí)行m*=i*j,即m的值為3;第二次j的值為2,不滿(mǎn)足條件,則執(zhí)行m+=i+j,即m的值為6;第三次j的值為1,不滿(mǎn)足條件,則執(zhí)行m*=i*j,即m的值仍為6。第二次外循環(huán)i的值為2,j的值為3,滿(mǎn)足條件,執(zhí)行break語(yǔ)句,跳出循環(huán)。故本題答案為A)。

75.A需求分析階段的工作可以分為4個(gè)方面:需求獲取、需求分析、編寫(xiě)需求規(guī)格說(shuō)明書(shū)和需求評(píng)審。需求分析的任務(wù)是發(fā)現(xiàn)需求、求精、建模和定義需求的過(guò)程,是描述“做什么”的軟件開(kāi)發(fā)階段。故選A選項(xiàng)。

76.B

77.A

78.Dx[0]是不能賦值的。

79.D數(shù)據(jù)流圖是描述數(shù)據(jù)處理過(guò)程的工具,\n它從數(shù)據(jù)傳遞和加工的角度,來(lái)刻畫(huà)數(shù)據(jù)流從輸入到輸出的變化過(guò)程。數(shù)據(jù)流圖中的主要圖形元素有:圓形,表示加工;箭頭,表示數(shù)據(jù)流;雙杠,表示存儲(chǔ)文件;方框,表示源、潭。

80.B本題中a>b的條件不滿(mǎn)足,所以不執(zhí)行逗號(hào)表達(dá)式a=b,b=c;的操作,而是執(zhí)行c=a操作,即c的值勾10。

81.

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

(2)*(pstr+i)=}(pstr+j);

【考點(diǎn)分析】

本題考查:冒泡排序算法;for循環(huán)語(yǔ)句格式;指針數(shù)組。

【解題思路】

(1)此處考查for語(yǔ)句的格式,各表達(dá)式之間應(yīng)用“;”隔開(kāi)。

(2)此處考查用指針表示數(shù)組元素的方法,}(pstr+I)表示pstr所指向數(shù)組的第1個(gè)元素,同理}(pstr+j)表示pstr所指向數(shù)組的第j個(gè)元素。

【解題寶典】

冒泡排序算法,其基本思想是,將待排序的元素看作是豎著排列的“氣泡”,較小的元素比較輕,從而要往上浮。在冒泡排序算法中我們要對(duì)這個(gè)“氣泡”序列處理若干遍。所謂一遍處理,就是自底向上檢查一遍這個(gè)序列,并時(shí)刻注意兩個(gè)相鄰的元素的順序是否正確。如果發(fā)現(xiàn)兩個(gè)相鄰元素的順序不對(duì),即“輕”的元素在下面,就交換它們的位置。顯然,處理一遍之后,“最輕”的元素就浮到了最高位置;處理二遍之后,“次輕”的元素就浮到了次高位置。依次類(lèi)推,完成排序。

用代碼實(shí)現(xiàn)數(shù)組s[N]的升序排列為:for(i=0;i<N;i++)

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

if(s[i]>s[j]){t-s[i];s[i]=s[j]s[j]=t;}

82.

【解析】按照題目中要求,求出能整除x且不是偶數(shù)的各整數(shù)。首先判斷小于等于整數(shù)x的所有奇數(shù)是否能被x整除,將能被x整除的奇數(shù)放入數(shù)組pp中。最后將數(shù)組pp中元素的個(gè)數(shù)返回到主函數(shù)中。

2021-2022年陜西省西安市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.下面不正確的字符賦值或賦初值的方式為()。

A.chars[10]=”hello!”

B.chars[10]={‘h’,‘e’,‘l’,‘l’,‘o’,‘!’}

C.chars[10];s=”hello”

D.char[]=”hello!”

2.下面程序的輸出結(jié)果是main(){charstr[10],c='a';inti=0;for(;i<5;i++)str[i]=c++;printf("%s",str);}

A.abcdeB.aC.不確定D.bcdef

3.設(shè)有以下定義:inta=0;doubleb=1.25;charc='A';#defined2則下面語(yǔ)句中錯(cuò)誤的是()。

A.a++;B.b++;C.c++;D.d++;

4.定義根節(jié)點(diǎn)深度為1,有n個(gè)元素的完全二叉樹(shù)的深度是()

A.D(n)=log2(n)

B.D(n)=1+log2(n)

C.D(n)=n+log2(n)

D.D(n)=1+n*log2(n)

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

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

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

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

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

6.設(shè)有下列二叉樹(shù):

對(duì)此二叉樹(shù)先序遍歷的結(jié)果為

A.ABCDEFB.DBEAFCC.ABDECPD.DEBFCA

7.在排序方法中,元素比較次數(shù)與元素的初始排列無(wú)關(guān)的是()

A.Shell排序B.歸并排序C.直接插入排序D.選擇排序

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

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

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

C.“include<stdio.h>”必須放在C語(yǔ)言程序的開(kāi)頭

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

9.在關(guān)系數(shù)據(jù)模型中,通??梢园?)稱(chēng)為屬性,其值稱(chēng)為屬性值。

A.記錄B.基本表C.模式D.字段

10.在一個(gè)C語(yǔ)言源程序文件中所定義的全局變量,其作用域?yàn)?)。

A.所在文件的全部范圍B.所在程序的全部范圍C.所在函數(shù)的全部范圍D.由具體定義位置和extern說(shuō)明來(lái)決定范圍

11.

12.在具有101個(gè)元素的順序表中查找值為x的元素結(jié)點(diǎn)時(shí),平均比較元素的次數(shù)為()。

A.50B.51C.100D.101

13.下列敘述中正確的是A.為了建立一個(gè)關(guān)系,首先要構(gòu)造數(shù)據(jù)的邏輯關(guān)系

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

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

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

14.

15.以下選項(xiàng)中合法的C語(yǔ)言常量是()。

A.‘C-STR’B.2014.1C.”\1.0D.2EK

16.設(shè)有條件表達(dá)式:(EXP)?i++;j--,則以下表達(dá)式中(EXP)完全等價(jià)的是()。

A.(EXP==0)B.(EXP!=0)C.(EXP==1)D.(EXP!=1)

17.有以下程序:Main(){{intx,y,z;x=y=1;z=x++,y++,++y;print(“%d,%d,%d”,x,y,z);}程序運(yùn)行后的輸出結(jié)果是()。A.2,3,3B.2.3.2C.2,3.1D.2.2.1

18.以下不能對(duì)二維數(shù)組a進(jìn)行正確初始化的語(yǔ)句是()。A.inta[2][3]={0};

B.inta[2][3]={{1,2},{3,4},{5,6}};

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

D.inta[][3]={1,2,3,4,5,6};

19.設(shè)有定義:

inta=1,b=2,C=3;

以下語(yǔ)句中執(zhí)行效果與其他三個(gè)不同的是()。

A.if(a>B.C=a,a=b,b=C;

B.if(a>B.{C=a,a=b,b=C;}

C.if(a>B.C=a;a=b;b=c;

D.if(a>B.{C=a;a=b;b=c;}

20.下列關(guān)于棧敘述正確的是A.棧頂元素最先能被刪除B.棧頂元素最后才能被刪除C.棧底元素永遠(yuǎn)不能被刪除D.以上三種說(shuō)法都不對(duì)

二、2.填空題(20題)21.把數(shù)學(xué)表達(dá)式改寫(xiě)成C語(yǔ)言的表達(dá)式是【】。

22.函數(shù)YangHui的功能是把楊輝三角形的數(shù)據(jù)賦給二維數(shù)組的下半三角,形式如下

1

11

121

1331

14641

其構(gòu)成規(guī)律是:

(1)第0列元素和主對(duì)角線元素均為1

(2)其余元素為其左卜方和正上方元素之和

(3)數(shù)據(jù)的個(gè)數(shù)每行遞增1

請(qǐng)將程序補(bǔ)充完整。

#defineN6

voidyanghui(intx[N][N])

{inti,j;

x[0][0]=1;

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

{x[i][0]=______=1;

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

x[i][j]=______;

}

}

23.語(yǔ)句:x++;++x;x=1/x;執(zhí)行后都使變量x中的值增1,請(qǐng)寫(xiě)出一條同一功能的賦值語(yǔ)句______。

24.以下程序的功能是:將輸入的正整數(shù)按逆序輸出。例如:若輸入135則輸出531。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{intn,s;

printf("Enteranumber:");scanf("%d",&n);

printf("Output:");

do

{s=n%10;printf("%d",s);【】;

}while(n!=0);

printf("\n");

}

25.性表的順序存儲(chǔ)中,元素之間的邏輯關(guān)系是通過(guò)【】決定的;性表的鏈接存儲(chǔ)中,元素之間的邏輯關(guān)系是通過(guò)【】決定的。

26.數(shù)據(jù)庫(kù)系統(tǒng)中實(shí)現(xiàn)各種數(shù)據(jù)管理功能的核心軟件稱(chēng)為【】。

27.自動(dòng)批處理文件名必須是【】。

28.下面程序的功能是輸出數(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);}

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

fun(intx)

{if(x/2>0)fun(x/2);

printf("%d",x);

}

main()

{fun(6);}

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

compare(chars[],chart[])

{inti=0;

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

return(【】?1:0);

}

31.下面程序的功能是將一個(gè)字符串str的內(nèi)容顛倒過(guò)來(lái),請(qǐng)?zhí)羁铡?/p>

#include<string.h>

main()

{infi,j,[13];charstr[]={"1234567"};

for(i=0,j=strlen(str)[14];i<j;i++,j--)

{k=str[i];str[i]=str[i];str[j]=k;}

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

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

#include<stdio.h>

main()

{staticchara[]="language",b[]="program";

char*ptr1=a,*ptr2=b;

intk;

for(k=0;k<7;k++)

if(*(ptr1+k)==*(ptr2+k))

printf("%c",*(ptr1+k));}

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

34.設(shè)有以下結(jié)構(gòu)體類(lèi)型:

structst

{charname[8];

intnum;

floats[4];

}student[50];

并且結(jié)構(gòu)體數(shù)組student中的元素都已有值。若要將這些元素寫(xiě)到硬盤(pán)文件fp中,請(qǐng)將以下fwrite語(yǔ)句補(bǔ)充完整:

fwrite(student,【】,1,fp);

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é)果是______。

voidfun()

{staticinta=0;

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

}

main()

{intcc;

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

printf("\n");

}

37.用以下程序計(jì)算1到100的整數(shù)的累加和。請(qǐng)?zhí)羁铡?/p>

main()

{inti,sum=【】;

i=1;

for(【】)

{sum+=j(luò)

i++;

}

printf("sum=%d\n",【】);

}

38.數(shù)據(jù)庫(kù)系統(tǒng)中實(shí)現(xiàn)各種數(shù)據(jù)管理功能的核心軟件是______。

39.有以下程序:

voidf(intv,intw)

{intt;

t=v;v=w;w=t;

}

main()

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

if(x>y)f(x,y);

elseif(y>z)f(y,z);

elsef(x,z);

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

}

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

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

fun(intx,inty,intz)

{z=x*x+y*y;}

main()

{inta=31;

fun(6,3,a)

printf("%d,a)

}

三、1.選擇題(20題)41.以下程序的輸出結(jié)果是______。#include<stdio.h>#defineSQR(x)x*xmain(){inta,k=3;a=++SQR(k+1);printf((“%d\n”,a);}A.8B.9C.17D.20

42.以下合法的字符型常量是

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

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

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

C.a&&b

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

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

A.用C語(yǔ)言實(shí)現(xiàn)的算法必須要有輸入和輸出操作

B.用C語(yǔ)言實(shí)現(xiàn)的算法可以沒(méi)有輸出但必須要有輸入

C.用C語(yǔ)言程序?qū)崿F(xiàn)的算法可以沒(méi)有輸入但必須要有輸出

D.用C語(yǔ)言程序?qū)崿F(xiàn)的算法可以既沒(méi)有輸入也沒(méi)有輸出

45.若有如下說(shuō)明,則______的敘述是正確的。structst{inta;intb[2];}a;

A.結(jié)構(gòu)體變量a與結(jié)構(gòu)體成員a同名,定義是非法的

B.程序只在執(zhí)行到該定義時(shí)才為結(jié)構(gòu)體st分配存儲(chǔ)單元

C.程序運(yùn)行時(shí)為結(jié)構(gòu)體st分配6個(gè)字節(jié)存儲(chǔ)單元

D.類(lèi)型名structst可以通過(guò)extern關(guān)鍵字提前引用(即引用在前,說(shuō)明在后)

46.有以下程序main(){intm[][3]={1,4,7,2,5,8,3,6,9};inti,j,k=2;for(i=0;i<3;i++){printf("%d",m[k][i]);}}執(zhí)行后輸出結(jié)果是

A.456B.258C.369D.789

47.若已定義x和y為double類(lèi)型,則表達(dá)式:x=1,y=x+3/2的值是()A.1B.2C.2.0D.2.5

48.以下程序中C的二進(jìn)制值是()。chara=2,b=4,c;c=a^b>>2

A.11B.10100C.111100D.000l1000

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

A.ABCDDEFEGDBDB.abcDDfefDbDC.abcAAfefAbAD.Abcddfefdbd

50.有以下程序main(){ihtm=3,n=r,x;x=-m++;X=x+8/++n;printf("%d\n",x);}程序運(yùn)行后的輸出結(jié)果是

A.3B.5C.-1D.-2

51.下列程序的輸出結(jié)果是()。#include<stdio.h>intb=2;intfunc(int*a){b+=*a;return(b);}main(){inta=2,res=2;res+=func(&a);printf("%d\n",res);}

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

52.假定w,x,y,z和m均為int型變量,有如下程序段:w=1;x=2,y=3;z=4;m=(w<x)?w:x;m=(m<y)?m:y;m(m<2)?m:2;則該程序段執(zhí)行后,m的值為()

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

53.運(yùn)行下面程序時(shí),從鍵盤(pán)輸入字母A,則輸出結(jié)果是()。#include<stdio.h>main(){charch;ch=getchar();switch(ch){case'A':printf("AAAA\n");case'B':printf("BBBB\n");default:printf("CCCC\n");}}

A.AAAAB.AAAABBBBC.AAAABBBBCCCCD.AAAACCCC

54.在C語(yǔ)言中,函數(shù)的隱含存儲(chǔ)類(lèi)別是______。

A.autoB.staticC.externD.無(wú)存儲(chǔ)類(lèi)別

55.軟件開(kāi)發(fā)離不開(kāi)系統(tǒng)環(huán)境資源的支持,其中必要的測(cè)試數(shù)據(jù)屬于A.硬件資源B.通信資源C.支持軟件D.輔助資源

56.有以下程序:#include<stdio.h>main()inti;for(i=0;i<3;i++)switch(i)case0:printf("%d",i);case2:printf("%d",i);default:printf("%d",i);程序運(yùn)行后的輸出結(jié)果是()。

A.22111B.21021C.122D.12

57.下列屬于不合法的main函數(shù)命令行參數(shù)表示形式的是()。

A.main(intargv,char*argc[])

B.main(intargv,char*argc)

C.main(intargv,char**arc)

D.main(intargc,char*argv[])

58.下面程序的輸出是______。main(){intk=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}

A.k=11,k=12,k=11

B.k=11,k=13,k=13

C.k=11,k=013,k=0xb

D.k=11,k=13,k=B

59.若有如下程序:voids(char*m,intn){*m=*m+3;n=n+3;printf("%c,%c,",*m,n);}main(){charp='b',q='B';s(&q,p);printf("%c,%c\n",p,q);}則程序運(yùn)行后的輸出結(jié)果是()

A.E,e,b,EB.e,E,b,F(xiàn)C.E,e,e,ED.e,E,b,E

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

A.gets(&s[0]);

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

C.gets(s);

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

四、選擇題(20題)61.設(shè)x=015,則x=x^017的值是()。A.00001111B.11111101C.00000010D.11000000

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

A.在C語(yǔ)言中調(diào)用函數(shù)時(shí),只能把實(shí)參的值傳送給形參,形參的值不能傳送給實(shí)參

B.在C的函數(shù)中,最好使用全局變量

C.外部變量可以在函數(shù)之間傳遞數(shù)據(jù)

D.自動(dòng)變量實(shí)質(zhì)上是一個(gè)函數(shù)內(nèi)部的局部變量

63.有以下程序:

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

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

64.有以下程序:

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

A.在給P和q數(shù)組置初值時(shí),系統(tǒng)會(huì)自動(dòng)添加字符串結(jié)束符,故輸出的長(zhǎng)度都為3

B.由于P數(shù)組中沒(méi)有字符串結(jié)束符,長(zhǎng)度不能確定;但q數(shù)組中字符長(zhǎng)度為3

C.由于q數(shù)組中沒(méi)有字符串結(jié)束符,長(zhǎng)度不能確定;但P數(shù)組中字符長(zhǎng)度為3

D.由于P和q數(shù)組中沒(méi)有字符串結(jié)束符,故長(zhǎng)度都不能確定

65.

66.以下選項(xiàng)中可用做c程序合法實(shí)數(shù)的是()。、、

A.3.0e0.2B..1e0C.E9D.9.12E

67.一棵二叉樹(shù)共有25個(gè)結(jié)點(diǎn),其中5個(gè)是葉子結(jié)點(diǎn),則度為1的結(jié)點(diǎn)數(shù)為()。

A.16B.10C.6D.4

68.

69.

70.

71.

72.

73.以下不合法的字符常量是()。

A.

B.

C.

D.

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

A.m=6B.m=2C.m=4D.m=5

75.軟件開(kāi)發(fā)中需求分析的主要任務(wù)是()。

A.定義和描述目標(biāo)系統(tǒng)“做什么”B.獲取需求C.給出軟件解決方案D.需求評(píng)審

76.

77.

78.設(shè)有定義:intx[2][3];,則以下關(guān)于二維數(shù)組X的敘述錯(cuò)誤的是()。

A.x[0]可看做是由3個(gè)整型元素組成的一維數(shù)組

B.x[0]和x[l]是數(shù)組名,分別代表不同的地址常量

C.數(shù)組X包含6個(gè)元素

D.可以用語(yǔ)句x[o]=0;為數(shù)組所有元素賦初值0

79.數(shù)據(jù)流圖中方框表示的是()。

A.數(shù)據(jù)流B.存儲(chǔ)文件C.控制流D.源,潭

80.有以下程序段:

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

A.a=10b=50C=30

B.a=10b=50c=10

C.a=10b=30c=10

D.a=50b=30c:50

五、程序改錯(cuò)題(1題)81.下列給定程序中函數(shù)fun的功能是:用冒泡法對(duì)6個(gè)字符串進(jìn)行升序排列。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。

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

六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫(xiě)函數(shù)voidproc(intx,intpp[],int*n),它的功能是:求出能整除x且不是偶數(shù)、不為1的各整數(shù),并按從大到小的順序放在PP所指的數(shù)組中,這些除數(shù)的個(gè)數(shù)通過(guò)形參n返回。

例如,若x的值為30,則有3個(gè)數(shù)符合要求,它們是15,5,3。

注意:部分源程序給出如下。

請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。

試題程序:

參考答案

1.C

2.C解析:字符串少一個(gè)結(jié)束標(biāo)志,所以輸出的結(jié)果不確定。

3.D解析:本題考核的知識(shí)點(diǎn)是在自加運(yùn)算符的運(yùn)算對(duì)象。自加運(yùn)算對(duì)象可以是整型變量也可以是實(shí)型變量,但不能是表達(dá)式和常量。本題中,#defined2定義了d為常數(shù)2,不能在對(duì)d進(jìn)行自加運(yùn)算.故選項(xiàng)D是個(gè)不正確的語(yǔ)句,所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。

4.B

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

6.C解析:二叉樹(shù)的遍歷分為先序,中序、后序三種不同方式.本題要求先序遍歷,其遍歷順序應(yīng)該為:訪問(wèn)根結(jié)點(diǎn)->,先序遍歷左子樹(shù)->先序遍歷右子樹(shù)。按照定義,先序遍歷序列是ABDECF,故答案為C。

7.D

8.A預(yù)處理命令以“#”開(kāi)頭,一般在源文件的最前面書(shū)寫(xiě),但不是必須在起始位置書(shū)寫(xiě),所以B、C選項(xiàng)錯(cuò)誤。C語(yǔ)言的預(yù)處理能夠?qū)崿F(xiàn)宏定義和條件編譯的功能,所以D選項(xiàng)錯(cuò)誤。故本題答案為A選項(xiàng)。

9.D解析:數(shù)據(jù)庫(kù)表中字段轉(zhuǎn)化為屬性,把記錄的類(lèi)型轉(zhuǎn)化為關(guān)系模式。

10.D

\n全局變量是在函數(shù)外部任意位置上定義的變量,它的作用域是從變量定義的位置開(kāi)始,到整個(gè)源文件結(jié)束止。當(dāng)全局變量定義在后,引用它的函數(shù)在前時(shí),應(yīng)該在引用它的函數(shù)中用extern對(duì)此全局變量進(jìn)行說(shuō)明,以便通知編譯程序該變量是一個(gè)已在外部定義了的全局變量,這時(shí)全局變量的作用域從extern說(shuō)明處起,延伸到該函數(shù)末尾。

\n

11.B

12.B

13.C解析:在格式化模型中,要事先根據(jù)應(yīng)用的需要,確定數(shù)據(jù)之間的邏輯關(guān)系,即先對(duì)數(shù)據(jù)進(jìn)行結(jié)構(gòu)化。在關(guān)系模型中,不需要事先構(gòu)造數(shù)據(jù)的邏輯關(guān)系,只要將數(shù)據(jù)按照一定的關(guān)系存入計(jì)算機(jī),也就是建立關(guān)系。所以選項(xiàng)A錯(cuò)誤。對(duì)于一個(gè)表示關(guān)系的二維表,其最基本的要求是表中元組的每一個(gè)分量必須是不可分的數(shù)據(jù)項(xiàng),即不允許表中再有表。所以,選項(xiàng)B、D說(shuō)法是錯(cuò)誤的。一個(gè)關(guān)系的屬性名表稱(chēng)為關(guān)系模式,也就是二維表的表框架,相當(dāng)于記錄型。因此,選項(xiàng)C說(shuō)法正確。

14.B

15.B所謂常量,是指在程序運(yùn)行的過(guò)程中,其值不能被改變的量。在C語(yǔ)言中,有整型常量、實(shí)型常量、字符常量和字符串常量等類(lèi)型。選項(xiàng)A是字符串,需要使用雙引號(hào);選項(xiàng)C不是合法的常量形式;選項(xiàng)D為實(shí)型常量中的指數(shù)形式,但指數(shù)形式e(E)之前必須是數(shù)字,之后必須為整數(shù)。故本題答案為B選項(xiàng)。

16.B解析:條件表達(dá)式的形式為:“表達(dá)式1?表達(dá)式2:表達(dá)式3”。其含義為:當(dāng)“表達(dá)式1”的值為非零時(shí),求出“表達(dá)式2”的值,此時(shí)“表達(dá)式2”的值就是整個(gè)條件表達(dá)式的值;當(dāng)“表達(dá)式1”的值為零時(shí),求出“表達(dá)式3”的值,此時(shí)“表達(dá)式3”的值就是整個(gè)條件表達(dá)式的值。對(duì)于本題來(lái)說(shuō),當(dāng)表達(dá)式EXP為非0值時(shí)條件成立,即執(zhí)行語(yǔ)句i++;當(dāng)EXP等于0時(shí),執(zhí)行語(yǔ)句j--;這等同于條件表達(dá)式“(EXP!=0)?i++:i++;”。

17.C整型變量x、y的初值都為1,“x++,y++,++y”是一個(gè)逗號(hào)表達(dá)式,程序執(zhí)行“z=x++,y++,++y”之后,x的值為2,y的值為3,z取逗號(hào)表達(dá)式中的第二個(gè)表達(dá)式的值,為1。因此本題的答案為選項(xiàng)C。

18.B選項(xiàng)A中,將二維數(shù)組a的6個(gè)元素都賦值為0,正確;選項(xiàng)B中,由于a包含2個(gè)元素,每個(gè)元素都是包含3個(gè)元素的一維數(shù)組,初始化列表中包含3個(gè)元素,每個(gè)元素是包含2個(gè)元素的數(shù)組,錯(cuò)誤;選項(xiàng)C中,a的每個(gè)元素是包含3個(gè)元素的一維數(shù)組,初始化列表將a[0]的3個(gè)元素初始化為1,2,0,將a[1]的3個(gè)元素初始化為0,0,0,正確;選項(xiàng)D中,將a[0]初始化為1,2,3,將a[1]初始化為4,5,6,正確。本題答案為B選項(xiàng)。

19.C由于a小于b,所以所有選項(xiàng)中的條件都為假,c選項(xiàng)中實(shí)際執(zhí)行了a=b;b=c;兩個(gè)操作。而A、B、D選項(xiàng)由于條件不成立,所以什么也沒(méi)有做,所以選擇c選項(xiàng)。

20.A棧是限定只在一端進(jìn)行插入與刪除的線性表,按照“先進(jìn)后出”或“后進(jìn)先出”的原則組織數(shù)據(jù)。棧頂元素總是最后被插入的元素,從而也是最先能被刪除的元素;棧底元素總是最先被插入的元素,從而也是最后才能被刪除的元素。

21.(cosx)*(cosx)*(m+n)/(m-n)

22.x[i][i]x[i-1][j-1]+x[i-1]或x[i-1][j]+x[i-1][j-1]x[i][i]\r\nx[i-1][j-1]+x[i-1]或x[i-1][j]+x[i-1][j-1]解析:本題考核的知識(shí)點(diǎn)是函數(shù)與算法結(jié)合在一起的應(yīng)用。在程序中用兩重循環(huán)。在第一層循環(huán)中將每行的第0列賦值為1,對(duì)角線上的元素賦值為1顯然在第一個(gè)空中應(yīng)該填入對(duì)角線上的元素即x[i][i]在第2重循環(huán)中給每行其他元素賦值,而在每行中除了第0列和對(duì)角線的元素外其他元素為其對(duì)應(yīng)的上一行中同列和同列的前一列的元素相加,所以在第二個(gè)空中應(yīng)該填入x[i-1][j-1]+x[i-1][j]。

23.x+=1x+=1解析:本題考查'++'、'--'運(yùn)算符。'++'

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論