2021-2022年河南省焦作市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第1頁(yè)
2021-2022年河南省焦作市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第2頁(yè)
2021-2022年河南省焦作市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第3頁(yè)
2021-2022年河南省焦作市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第4頁(yè)
2021-2022年河南省焦作市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩20頁(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年河南省焦作市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.若用一個(gè)大小為6的數(shù)值來(lái)實(shí)現(xiàn)循環(huán)隊(duì)列,且當(dāng)前rear和front的值分別為0和3,當(dāng)從隊(duì)列中刪除一個(gè)元素,再加入兩個(gè)元素后,rear和front的值分別為()。

A.1和5B.2和4C.4和2D.5和1

2.結(jié)構(gòu)化程序設(shè)計(jì)的3種結(jié)構(gòu)是()。

A.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、轉(zhuǎn)移結(jié)構(gòu)

B.分支結(jié)構(gòu)、等價(jià)結(jié)構(gòu)、循環(huán)結(jié)構(gòu)

C.多分支結(jié)構(gòu)、賦值結(jié)構(gòu)、等價(jià)結(jié)構(gòu)

D.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)

3.

4.一個(gè)棧的入棧序列是a,b,c,d,e,f,則棧的不可能的輸出序列為()

A.fedcbB.defbcC.defcbD.abcdef

5.有定義語(yǔ)句:inta=1,b=2,c=3,x;,則以下選項(xiàng)中各程序段執(zhí)行后,x的值不為3的是

A.if(c<a)x=1;elseif(b<a)x=1;elsex=3;

B.if(a<3)x=3;elseif(a<2)x=2;elsex=1;

C.if(a<3)x=3;if(a<2)x=2;if(a<1)x=1;

D.if(a<b)x=b;if(b<c)x=c;if(c<a)x=a;

6.以下選項(xiàng)中合法的實(shí)型常數(shù)是()。

A.5E2.0B.E-3C.2E0D.1.3E

7.當(dāng)用戶要求輸入的字符串中含有空格時(shí),應(yīng)使用的輸入函數(shù)是()。

A.scanfB.getcharC.getsD.getc

8.

有以下程序

#include<stdio.h>

#include<string.h>

typedefstrlIct{charname[9];charsex;floatscore[2];}STU;

STUf(STUa)

{STUb={"Zhao",m,85.0,90.0);inti;

strcpy(aname,b.name);

sex:b.sex;

for(i=0;i<2;i++)a.score[i]=b.score[i];

returna;

}

main

{STUc="Qian",f,95.0,92.0},d;

d=f(c).printf("%s,%c,%2.0f,%2.0f",d.Name,d.sex,d.score[0],d.score[1]);

}

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

A.Qian,f,95,92

B.Qian,m,85,90

C.Zhao,m,85,90

D.Zhao,f,95,92

9.有以下程序#include<stdio.h>voidfun(intx){if(x/2>1)fun(x/2);printf("%d",x);}main{fun(7);printf("\n");}程序運(yùn)行后的輸出結(jié)果是()。A.137B.731C.73D.37

10.在所有的排序方法中,關(guān)鍵字比較的次數(shù)與記錄的初始排列次序無(wú)關(guān)的是()。

A.希爾排序B.冒泡排序C.直接插入排序D.直接選擇排序

11.對(duì)于下述說(shuō)明,不能使變量p->b的值增1的表達(dá)式是______。structexm{inta;intb;floatc}*p;

A.++p->bB.++(p++)->bC.p->b++D.(++p)->b++

12.

13.

14.

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

A.在程序中凡是以“#”開(kāi)始的語(yǔ)句行都是預(yù)處理命令行

B.預(yù)處理命令行的最后不能以分號(hào)表示結(jié)束

C.#defineMAX是合法的宏定義命令行

D.C程序?qū)︻A(yù)處理命令行的處理是在程序執(zhí)行的過(guò)程中進(jìn)行的

16.堆是一種有用的數(shù)據(jù)結(jié)構(gòu)。下列關(guān)鍵碼序列()是一個(gè)堆。

A.94,31,53,23,16,72

B.94,53,31,72,16,23

C.16,53,23,94,31,72

D.16,31,23,94,53,72

17.以下程序的輸出結(jié)果是()main(){staticchara[10]={"Chinese"};printf("%d",strlen(a));}

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

18.計(jì)算機(jī)系統(tǒng)的組成是______。

A.主機(jī)、外設(shè)B.運(yùn)算器、控制器C.硬件系統(tǒng)和軟件系統(tǒng)D.CPU、內(nèi)存儲(chǔ)器

19.以下選項(xiàng)中不能用作C語(yǔ)言程序合法常量的是()。

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

20.設(shè)x、y和z是int型變量,且x=4,y=6,z=8,則下列表達(dá)式中值為0的是()。

A.x&&yB.x<=yC.x||++y&&y-zD.!(x<y&&!z||1二、2.填空題(20題)21.以下程序的運(yùn)行結(jié)果是()。

intk=0;

voidfun(intm)

{m+=k;k+=m;printf("m=%d\nk=%d",m,k++);}

main()

{inti=4;

fun(i++);printf("i=%dk=%d\n",i,k);

}

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

#include<stdio.h>

func(a,B)

{staticintm=0,i=2;

i+=m+1;

m=i+a+b;

return(m);

}

main0

{intk=5,m=3,p;

p=func(k,m);

printf("%d",p);

p=func(k,m);

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

}

23.若有以下定義語(yǔ)句,則不移動(dòng)指針p,并且通過(guò)指針p引用值為98的數(shù)組元素的表達(dá)式是【】。

intw[10]={23,54,10,33,47,98,72,80,61},*p=w;

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

inti=9;

printf("%o\n",i);

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

intmystrlen(char*str)

{intI;

for(I=0;【】!='\n';I++);

return(I);}

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

longfun5(intn)

{longs;

if((n==1)||(n==2))

s=2;

else

s=n+fun5(n-1);

return(s);}

main()

{longx;

x=fun5(4);

printf("%ld\n",x);}

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

#defineJFT(x)x*x

main()

{inta,k=3;

a=++JFT(k+1);

printf("%d",a);

}

28.下列語(yǔ)句能循環(huán)______次。

ints=12;

while(s);

--s;

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

main()

{unsignedshorta=65536;intb;

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

}

30.函數(shù)pi的功能是根據(jù)以下公式近似求得的:

pi*pi/6=1+1/(2*2)+1/(3*3)+…+1/(n*n)

請(qǐng)?jiān)谙旅娴暮瘮?shù)中填空,完成求pi的功能。

#include<math.h>

doublepi(longn)

{doubles=0.0,longi;

for(i=1;i<=n;i++)s=s+【】。

return(sqrt(6*s));

}

31.以下函數(shù)的功能是求x的y次方,請(qǐng)?zhí)羁?/p>

doublefun(doublex,inty)

{inti;

doublez;

for(i=1,z=x;i<y;i++)z=z*【】;

}

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

voidfun()

{staticinta=0;

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

}

main()

{intcc;

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

printf("\n");

}

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

#include<studio.h>

main()

{inti,j;

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

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

}

34.設(shè)有下列程序:

#include<stdio.h>

#include<string.h>

main()

{inti;

chars[10],t[10];

gets(t);

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

{gets(s);

if(strcmp(t,s)<0)strcpy(t,s);

}

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

}

程序運(yùn)行后,從鍵盤(pán)上輸入(<CR>代表回車符):DEF<CR>BADEF<CR>QTHRG<CR>,則程

序的輸出結(jié)果是______。

35.對(duì)長(zhǎng)度為8的線性表進(jìn)行冒泡排序,最壞情況下需要比較的次數(shù)為()。

36.數(shù)據(jù)流圖的類型有【】和事務(wù)型。

37.設(shè)有以下程序:

main()

{inta,b,k=4,m=6,*p1=&k,*p2=&m;

a=p1=&m;

b=(*p1)/(*p2)+7;

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

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

}

執(zhí)行該程序后,a值為【】,b值為【】。

38.若已知a=10,b=20,則表達(dá)式!a<b的值為【】。

39.實(shí)體聯(lián)系模型是一種常用的高級(jí)概念數(shù)據(jù)模型,而______是實(shí)體聯(lián)系模型中的核心。

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

main()

{

intx=0210;

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

}

三、1.選擇題(20題)41.C語(yǔ)言中()

A.不能使用do-while語(yǔ)句構(gòu)成的循環(huán)

B.do-while語(yǔ)句構(gòu)成的循環(huán)必須用break語(yǔ)句才能退出

C.do-while語(yǔ)句構(gòu)成的循環(huán),當(dāng)while語(yǔ)句中的表達(dá)式值為非零時(shí)結(jié)束循環(huán)

D.do-while語(yǔ)句構(gòu)成的循環(huán),當(dāng)while語(yǔ)句中的表達(dá)式值為零時(shí)結(jié)束循環(huán)

42.若有下列定義(設(shè)int類型變量占2個(gè)字節(jié)):inti=8,j=9;則下列語(yǔ)句:printf("i=%u,j=%x\n",i,j);輸出的結(jié)果是()。

A.i=8,j=9B.8.9C.89D.i=8,j=8

43.要求通過(guò)while循環(huán)不斷讀入字符,當(dāng)讀入字母N時(shí)結(jié)束循環(huán),若變量已正確定義,下列正確的程序段是()。

A.while((ch=getchar())!='N')printf("%c",ch);

B.while(ch=getchar()!='N')printf("%c",ch);

C.while(ch=getchar()=='N')printf("%c",ch);

D.while((ch=getchar())=='N')printf("%c",ch);

44.若整型變量a、b、c、d中的值依次為1、4、3、2。則條件表達(dá)式a<b?a:c<d?c:d的值是______。A.1B.2C.3D.4

45.若有以下程序段intm=0xabc,n=0xabc;m-=n;printf("%X\n".m);執(zhí)行后輸出結(jié)果是

A.0X0B.0x0C.0D.0XABC

46.設(shè)x,y和z都是int型變量,且x=3,y=4,z=5,則下面表達(dá)式中,值為0的表達(dá)式是()。

A.x&&y

B.x<=y

C.x||++y&&y-z

D.!(x<y&&!z||1)

47.下面程序輸出的結(jié)果是

main()

{inti;

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

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

printf("%d",a[2-i][i]);}

A.159B.753C.357D.591

48.沒(méi)有程序段:intk=10;while(k=0)k=k-1;則下面描述中正確的是()。

A.while循環(huán)執(zhí)行10次B.循環(huán)是無(wú)限循環(huán)C.循環(huán)體語(yǔ)句一次也不執(zhí)行D.循環(huán)體語(yǔ)句執(zhí)行一次

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

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

50.有如下程序main(){inty=3,x=3,z=1;printf("%d%d\n",(++x,y++),z+2);}運(yùn)行該程序的輸出結(jié)果是______。

A.34B.42C.43D.33

51.面向?qū)ο蟮脑O(shè)計(jì)方法與傳統(tǒng)的面向過(guò)程的方法有本質(zhì)不同,它的基本原理是()。

A.模擬現(xiàn)實(shí)世界中不同事物之間的聯(lián)系

B.強(qiáng)調(diào)模擬現(xiàn)實(shí)世界中的算法而不強(qiáng)調(diào)概念

C.使用現(xiàn)實(shí)世界的概念抽象地思考問(wèn)題從而自然地解決問(wèn)題

D.鼓勵(lì)開(kāi)發(fā)者在軟件開(kāi)發(fā)的絕大部分中都用實(shí)際領(lǐng)域的概念去思考

52.已經(jīng)定義ch為字符型變量,以下賦值表達(dá)式中錯(cuò)誤的是______。

A.ch='\'B.ch=62+3C.ch=NULLD.ch='\xaa'

53.以下定義語(yǔ)句中正確的是

A.inta=b=0;

B.charA=65+1,b='b';

C.noata=1,*b=&a,*c=&b;

D.doublea=0.0;b=1.1;

54.在數(shù)據(jù)庫(kù)設(shè)計(jì)中,將E-R圖轉(zhuǎn)換為關(guān)系模式的過(guò)程屬于()。

A.需求分析階段B.邏輯設(shè)計(jì)階段C.概念設(shè)計(jì)階段D.物理設(shè)計(jì)階段

55.數(shù)據(jù)的完整性是指數(shù)據(jù)的正確性、有效性和______。

A.可維護(hù)性B.獨(dú)立性C.安全性D.相容性

56.有以下程序

#include

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

57.數(shù)據(jù)庫(kù)設(shè)計(jì)的四個(gè)階段是:需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和______。A.編碼設(shè)計(jì)B.測(cè)試階段C.運(yùn)行階段D.物理設(shè)計(jì)

58.以下程序的輸出結(jié)果是______。intf(){staticinti=0;ints=1;s+=i;i++;returns;}main(){inti,a=0;for(i=0;i<5;i++)a+=f():printf("%d\n",a);}

A.20B.24C.25D.15

59.樹(shù)是結(jié)點(diǎn)的集合,它的根結(jié)點(diǎn)數(shù)目是()。

A.有且只有1B.1或多于1C.0或1D.至少2

60.以下程序的輸出結(jié)果是______。#include<stdio.h>voidprt(int*x,int*y,int*z){printf("%d,%d,%d\n",++*x,++*y,*(z++));}inta=10,b=40,c=20;main(){prt(&a,&b&C);prt(&a,&b,&C);}

A.11,42,3112,22,41

B.11,41,2012,42,20

C.11,21,4011,21,41

D.11,41,2112,42,22

四、選擇題(20題)61.

設(shè)有以下定義和語(yǔ)句:

charstr[2O]="Program",*P:

p=str:

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

A.*p與stf[0]的值相等

B.str與P的類型完全相同

C.str數(shù)組長(zhǎng)度和P所指向的字符串長(zhǎng)度相等

D.數(shù)組str中存放的內(nèi)容和指針變量P中存放的內(nèi)容相同

62.

63.以下選項(xiàng)中合法的標(biāo)識(shí)符是()。

64.設(shè)有如下程序段:

則執(zhí)行P=s;語(yǔ)句后,以下敘述中正確的是()。

A.可以用*P表示s[O]

B.S數(shù)組中元素的個(gè)數(shù)和P所指字符串長(zhǎng)度相等

C.s和P都是指針變量

D.數(shù)組s中的內(nèi)容和指針變量P中的內(nèi)容相等

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

A.intjnt;B.doubleint_;C.charFor;D.floatUS$;

66.

67.以下程序的功能是進(jìn)行位運(yùn)算

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

A.43B.73C.70D.40

68.若有定義:“inta=4,b=5;floatx=3.4,y=2.1;”,則下列表達(dá)式的值為()。(float)(a+b)/2+(int)x%(int)y;

A.5.5B.55C.5.500000D.55.00000

69.

70.

有以下程序:

#include<stdio.h>

main

{inti=0,a=0;

while(i<20)

{for(;;)

{if((i%10)==0)break:

else

i--;

}

i+=11:

a+=i:

}

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

}

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

A.62B.63C.33D.32

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

72.

73.

74.

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

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ǔ)句的作用相同

76.

77.

78.有以下程序:

main

{chara='a',b;

printf("%c,",++a);

printf("%c\n",b=a++):

)

程序運(yùn)行后的輸出結(jié)果是()。A.A.b,bB.b,cC.a,bD.a,c

79.若有下的定義:"intt[3][2];",能正確表示t數(shù)組元素地址的表達(dá)式是()。

A.&t[3][2]

B.t[3]

C.t[l]

D.t[2][2]

80.有以下程序五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:將str所指字符串中的字母轉(zhuǎn)換為按字母序列的后續(xù)字母(但Z轉(zhuǎn)化為A,z轉(zhuǎn)化為a),其他字符不變。

請(qǐng)修改函數(shù)proc()中的錯(cuò)誤,使它能得出正確的結(jié)果。

注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。

試題程序:

六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開(kāi)考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,編寫(xiě)函數(shù)fun(),其功能是根據(jù)以下公式求P的值,結(jié)果由函數(shù)值返回。m與n為兩個(gè)正整數(shù)且要求m>n。例如:m=12,n=8時(shí),運(yùn)行結(jié)果為495.000000。注意:部分源程序在文件prog1.c中。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。試題程序:

參考答案

1.B

2.D結(jié)構(gòu)化程序設(shè)計(jì)的基本要點(diǎn):①采用自頂向下、逐步求精的程序設(shè)計(jì)方法;②任何程序都可由順序、選擇和循環(huán)3種基本控制結(jié)構(gòu)構(gòu)造。

3.A

4.B

5.C解析:選項(xiàng)A首先判斷if語(yǔ)句條件中表達(dá)式的值“3<1”為假,然后執(zhí)行最近的else后面的語(yǔ)句,該else后面又為if-else語(yǔ)句,在這個(gè)if-else語(yǔ)句中首先判斷該if語(yǔ)句條件中表達(dá)式的值“2<1”為假,程序執(zhí)行其最近的else后面的語(yǔ)句,將3賦值給x。

選項(xiàng)B中首先判斷if語(yǔ)句條件中表達(dá)式的值“1<3”為真,然后執(zhí)行最近的else后面的語(yǔ)句“x=3”,后面的else不再執(zhí)行,最后x的值為3。

選項(xiàng)C中,首先執(zhí)行第一條if語(yǔ)句,由于“1<3”為真,執(zhí)行此if后面的語(yǔ)句“x=3”,接著執(zhí)行第二條if語(yǔ)句,由于“1<2”為真,執(zhí)行此if后面的語(yǔ)句“x=2”,接著執(zhí)行第三條if語(yǔ)句,由于“1<1為假,后面的語(yǔ)句不執(zhí)行,所以最后的x值為2不為3。

選項(xiàng)D中;首先執(zhí)行第一條if語(yǔ)句,由于“a<b”為真,執(zhí)行此if后面的語(yǔ)句“x=b”;接著執(zhí)行第二條if語(yǔ)句,由于“b<c”,為真,執(zhí)行此if后面的語(yǔ)句“x=c”,接著執(zhí)行第三條if語(yǔ)句,由于“c<a”為假,后面的語(yǔ)句不執(zhí)行,所以最后的x值為c即為3。

6.C解析:在C語(yǔ)言中,實(shí)數(shù)有兩種表示形式:十進(jìn)制數(shù)形式與指數(shù)形式。

一般形式的實(shí)數(shù):小數(shù)形式的實(shí)數(shù)由整數(shù)部分、小數(shù)點(diǎn)和小數(shù)部分組成(必須要有小數(shù)點(diǎn)),

指數(shù)形式的小數(shù);指數(shù)形式的實(shí)數(shù)由尾數(shù)部分、e(E)和指數(shù)部分組成(字母e或E的前后必須要有數(shù)字,且其后面的指數(shù)必須為整數(shù))。

選項(xiàng)A中,5E2.0中E后面的2.0不是整數(shù);選項(xiàng)B中,E前面沒(méi)有數(shù)字:選項(xiàng)D中,E后面沒(méi)有數(shù)字。最終可以判斷選項(xiàng)C正確。

7.C解析:C語(yǔ)言提供了許多輸入函數(shù),其中有:getchar(輸入字符)、scanf(格式輸入)和gets\u3000(輸入字符串)等。題目要求輸入的是字符串,所以可以排除getchar,而且要求輸入的字符串中包含空格,而scanf函數(shù)默認(rèn)將輸入的空格字符作為分割符,所以空格不會(huì)被輸入,故可排除scanf。getc的作用是從文件中輸入一個(gè)字符,故也不可取。gets函數(shù)可以輸入一整行作為一個(gè)字符串,其中也包括空格字符,故應(yīng)該選擇C。

8.Cf函數(shù)的功能是對(duì)形參a的各個(gè)成員用結(jié)構(gòu)體變量b的各個(gè)成員進(jìn)行賦值后,然后返回變量a。

9.D本程序主要考查遞歸函數(shù)。fun(7),首先將參數(shù)代入函數(shù),因?yàn)?7/2)>1,所以執(zhí)行f(3),依此類推直到f(1.5),(1.5/2)<1,所以執(zhí)行打印函數(shù),此時(shí)X值為3,然后退出f(1.5),返回f(3),打印x值即7。所以選D。

10.D

11.D解析:p->b應(yīng)作為一個(gè)整體看待,++p->b和p->b++都使變量b增1,++(p++)->b先使b增1,再使p后移,D中表達(dá)式的含義是使p+1所指結(jié)構(gòu)體變量中的成員b的值增1。

12.B

13.B

14.D

15.D解析:在C語(yǔ)言中,凡是以“#”開(kāi)頭的行都稱為編譯預(yù)處理命令行,如#include、#define、#if等,每行的末尾不得用“;”結(jié)束,以區(qū)別于C語(yǔ)句、定義和說(shuō)明語(yǔ)句。選項(xiàng)C中的宏定義為不帶參數(shù)的宏命令行,宏名之后可以有替換文本,也可以沒(méi)有。編譯預(yù)處理是在編譯程序?qū)源程序進(jìn)行編譯前執(zhí)行的.當(dāng)然也在程序執(zhí)行之前執(zhí)行,因此選項(xiàng)D是錯(cuò)誤的。

16.D

17.A

18.C

19.CC選項(xiàng)中不能含有逗號(hào),所以“1,234”不能用作C語(yǔ)言程序的合法常量。B選項(xiàng)表示的是八進(jìn)制的常量,D選項(xiàng)表示的是十六進(jìn)制的常量。故本題答案為C選項(xiàng)。

20.D本題考查邏輯運(yùn)算符的使用。當(dāng)“&&”的兩個(gè)運(yùn)算對(duì)象都是邏輯1時(shí),表達(dá)式返回值才是1;“||”的兩個(gè)運(yùn)算對(duì)象至少有一個(gè)是邏輯1時(shí),表達(dá)式返回值也是1,x<y為1,!z為0,1&&0為1,0||為1,因此,!1為0。

21.m=4k=4i=5k=5m=4k=4i=5k=5解析:在主函數(shù)main()中定義了一個(gè)變量i,并賦初值4,調(diào)用fun()函數(shù)將i的初值傳遞給形參m,進(jìn)行fun()函數(shù)后的運(yùn)算,輸出結(jié)果為m=4,k=4。將k值輸出后自行增加1,k=5,此時(shí)全局變量k的值變?yōu)?。主函數(shù)中調(diào)用fun()函數(shù)后,i再自行增加1,i=5,所以主函數(shù)輸出的結(jié)果為“i=5k=5”。

22.11231123解析:在主函數(shù)中第一次調(diào)用func子函數(shù)時(shí),m=0,i=2,i=i+m+1=3,m=i+a+b=3+5+3=11。因?yàn)樵谧雍瘮?shù)中將m和i定義成了static類型,所以在子函數(shù)中對(duì)m和i進(jìn)行的改變,在下一次調(diào)用子函數(shù)時(shí)能進(jìn)行保存,所以第二次調(diào)用子函數(shù)時(shí),m=11,i==3,則i=i+m+1=15,m=i+a+b=15+5+3=23。

23.*(p+5)

24.1111解析:本題考核的知識(shí)點(diǎn)是printf()函數(shù)的輸出格式。本題中定義了一個(gè)整型變量i并賦初值為9,然后要求以八進(jìn)制輸出i的值,9的八進(jìn)制數(shù)的表示為11。

25.*(str+I)或str[I]*(str+I)或str[I]解析:str是指針變量,它指向字符型數(shù)據(jù),在循環(huán)過(guò)程中,可以用*(str+I)來(lái)訪問(wèn)字符串中的第I個(gè)元素,判斷是否為結(jié)束標(biāo)志,如果不是,I=I+1,繼續(xù)取下一個(gè)元素進(jìn)行判斷,直到*(str+I)的值為'\\0'為止,也可以用下標(biāo)的方式引用字符,如*(str+I)相當(dāng)于str[I]。

26.9

27.99解析:本題中首先將宏替換掉,則表達(dá)式為a=++k+1*k+1=4+1*4+1=9,故最后輸出a的值為9。

28.無(wú)限無(wú)限解析:分析程序“while(s)”語(yǔ)句后面有一個(gè)“;”不能執(zhí)行后面的語(yǔ)句,只是執(zhí)行空語(yǔ)句,所以s=12保持不變,因此,沒(méi)有條件限制的能循環(huán)無(wú)限次(即死循環(huán))。

29.00解析:對(duì)于一個(gè)unsignedshort來(lái)說(shuō),它能取的最大值是65535。這里給a賦值65536,已經(jīng)超出了它的取值范圍,這樣它的高位將被截掉,只把低位賦給它(全零)。所以a的值實(shí)際為0。

30.0/i/i或1.0/(i*i)0/i/i或1.0/(i*i)解析:由題面中提供的計(jì)算pi的公式可知;在第i項(xiàng)其值為1/(i*i),考慮到運(yùn)算結(jié)果為浮點(diǎn)數(shù),故必須要將1轉(zhuǎn)化為浮點(diǎn)數(shù)或采用1.0/(i*i)的形式。故本題應(yīng)填1.0/(i*i)或其等效形式。

31.xx解析:函數(shù)的定義形式為:

函數(shù)類型函數(shù)名(形參表)

{

類型說(shuō)明語(yǔ)句;

執(zhí)行語(yǔ)句;

}

本題中函數(shù)的功能是:累積變量以求捐變量的Y次方。

32.246

33.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)3次,輸出3個(gè)#。當(dāng)i=5時(shí),循環(huán)判斷條件不成立,退出外層循環(huán)。所以一共輸出6個(gè)#。

34.QTHRGQTHRG解析:函數(shù)strcmp(t,s)用來(lái)比較t和s所指字符串的大小,若t>s,則函數(shù)值大于0;若t=s,則函數(shù)值等于0:若t<s,則函數(shù)值小于0。函數(shù)strcpy(t,s)的功能是,把字符數(shù)組s所指字符串的內(nèi)容復(fù)制到字符數(shù)組t所指存儲(chǔ)空間中。本題中,t[10]='CDEF'。第一次循環(huán),s[10]='BADEF',if語(yǔ)句的控制條件strcmp(t,s)<0不成立,接著執(zhí)行第二次循環(huán),s='QTHRG',if語(yǔ)句的控制條件strcmp(t,s)<0成立,執(zhí)行下列的語(yǔ)句,將字符數(shù)組s所指字符串的內(nèi)容復(fù)制到字符數(shù)組t所指存儲(chǔ)空間中,然后輸出字符數(shù)組t。

35.2828解析:在最壞情況下,冒泡排序所需要的比較次數(shù)為n(n-1)/2;簡(jiǎn)單插入排序所需要的比較次數(shù)為n(n-1)/2;希爾排序所需要的比較次數(shù)為O(n1.5);堆排序所需要的比較次數(shù)為O(nlog2n)。

36.變換型典型的數(shù)據(jù)流類型有兩種:變換型和事務(wù)型。變換型是指信息沿輸入通路進(jìn)入系統(tǒng),同時(shí)由外部形式變換成內(nèi)部形式,進(jìn)入系統(tǒng)的信息通過(guò)變換中心,經(jīng)加工處理以后再沿輸出通路變換成外部形式離開(kāi)軟件系統(tǒng);在很多軟件應(yīng)用中,存在某種作業(yè)數(shù)據(jù)流,它可以引發(fā)一個(gè)或多個(gè)處理,這些處理能夠完成該作業(yè)要求的功能,這種數(shù)據(jù)流就叫做事務(wù)。

37.07

38.11解析:計(jì)算表達(dá)式!a<b,先計(jì)算!a,因a的值為10,!a的值為0,而關(guān)系表達(dá)式0<20為真,所以表達(dá)式!a<b的值為1。

39.實(shí)體聯(lián)系圖或E-R圖實(shí)體聯(lián)系圖或E-R圖解析:實(shí)體聯(lián)系圖(B-R圖)是實(shí)體聯(lián)系模型中的核心。由于E-R圖描述的是數(shù)據(jù)流圖中數(shù)據(jù)存儲(chǔ)及其之間的關(guān)系,因此它是數(shù)據(jù)庫(kù)觀念設(shè)計(jì)的最常用的工具。

40.8888解析:C語(yǔ)言規(guī)定,以0開(kāi)頭的整型常量為八進(jìn)制。另外,在primf()函數(shù)中,%X表示以十六進(jìn)制無(wú)符號(hào)形式輸出一個(gè)整數(shù),且十六進(jìn)制中的ABCDEF為大寫(xiě)字母。本題的輸出應(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

41.D

42.A解析:本題考查函數(shù)printf()的格式?!?x”表示以十六進(jìn)制輸出整型數(shù)據(jù);“%u”表示以十進(jìn)制無(wú)符號(hào)型輸出整型數(shù)據(jù)。printf函數(shù)中格式說(shuō)明符之前插入的任何字符都原樣輸出。

43.A解析:while循環(huán)的執(zhí)行過(guò)程如下:(1)計(jì)算while后面圓括號(hào)中表達(dá)式的值.當(dāng)值為非0時(shí),執(zhí)行步驟(2);當(dāng)值為0時(shí),執(zhí)行步驟(4)。(2)執(zhí)行循環(huán)體一次。(3)轉(zhuǎn)去執(zhí)行步驟(1)。(4)退出循環(huán)。在選項(xiàng)A)中,表達(dá)式(ch=getchar())!='N'表示輸入的字符不等于N,如果這個(gè)條件表達(dá)式成立,則執(zhí)行循環(huán)體,打印輸出輸入的字符。如果這個(gè)條件表達(dá)式不成立,即輸入的字符等于N,則退出循環(huán).所以選項(xiàng)A)為正確答案。

44.A解析:條件表達(dá)式的形式如下:表達(dá)式1?表達(dá)式2:表達(dá)式3,所以本題條件表達(dá)式a<b?a:c<d?c:d應(yīng)該理解為a<b?a:(c<d?c:d),首先求出條件表達(dá)式c<d?c:d的值等于2,再求條件表達(dá)式a<b?a:2的值,由于a-1<b-4成立,所以上述條件表達(dá)式的值等于1。

45.C解析:本題考核的知識(shí)點(diǎn)是C語(yǔ)言中的自反賦值運(yùn)算符?!癿-=n”相當(dāng)于“m=m-n”,兩個(gè)相等的數(shù)相減,其值為0。所以,C選項(xiàng)為所選。

46.D解析:該題考查邏輯與“&&”和邏輯或“||”以及邏輯非“!”符號(hào)的用法。選項(xiàng)A)即3&&4為真,選項(xiàng)B)即3<=4為真,選項(xiàng)C)是一個(gè)邏輯或與邏輯與的混合運(yùn)算,只要執(zhí)行了邏輯或左半部分,程序?qū)⒅苯油V箞?zhí)行邏輯或右半部分程序,因?yàn)閤的值為真,此時(shí)選項(xiàng)C)變?yōu)?&&-1為真。選項(xiàng)D)不用計(jì)算,括號(hào)內(nèi)邏輯或右邊的值為1,因而括號(hào)內(nèi)的值為1,再進(jìn)行邏輯非運(yùn)算得0。

47.B解析:本題用循環(huán)的方法考查對(duì)數(shù)組概念的掌握。首先,當(dāng)i=0時(shí),數(shù)組中的位置是a[2][0]=7,當(dāng)然,如果用排除法,就不用考慮后面的循環(huán),因?yàn)樵?個(gè)選項(xiàng)中,第1個(gè)數(shù)為7的選項(xiàng)只有B)。本題執(zhí)行第2次循環(huán)時(shí),i的值為1,則printf函數(shù)中的數(shù)組指向?yàn)閍[1][1]=5,依次循環(huán),可求出答案。

48.C解析:本題的while語(yǔ)句是將0賦給k,表達(dá)式的值為0,沒(méi)有執(zhí)行循環(huán)體語(yǔ)句。

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

50.D解析:逗號(hào)表達(dá)式(++x,y++)的值應(yīng)該是y++的值,由于y++是先引用后自增,所以y++的值是3。

51.C解析:面向?qū)ο蟮脑O(shè)計(jì)方法與傳統(tǒng)的面向過(guò)程的方法有本質(zhì)不同。它的基本原理是,使用現(xiàn)實(shí)世界的概念抽象地思考問(wèn)題從而自然地解決問(wèn)題。它強(qiáng)調(diào)模擬現(xiàn)實(shí)世界中的概念而不強(qiáng)調(diào)算法,它鼓勵(lì)開(kāi)發(fā)者在軟件開(kāi)發(fā)的絕大部分中都用應(yīng)用領(lǐng)域的概念去思考。

52.A解析:反斜杠字符“\\”賦給字符,應(yīng)該寫(xiě)成ch='\\\\',所以A是錯(cuò)誤的。

53.B解析:本題考查變量的定義方法。如果要一次進(jìn)行多個(gè)變量的定義,則在它們之間要用逗號(hào)隔開(kāi),因此選項(xiàng)A)和D)錯(cuò)誤。在選項(xiàng)C)中,變量c是一個(gè)浮點(diǎn)型指針,它只能指向一個(gè)浮點(diǎn)型數(shù)據(jù),不能指向指針變量b,故選項(xiàng)C)錯(cuò)誤。

54.BB?!窘馕觥繑?shù)據(jù)庫(kù)設(shè)計(jì)階段主要包括需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)。其中邏輯設(shè)計(jì)的主要工作是將E-R圖轉(zhuǎn)換為關(guān)系模式。

55.D解析:數(shù)據(jù)模型應(yīng)該反映和規(guī)定本數(shù)據(jù)模型必須遵守的、基本的、通用的完整性約束條件。完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和依存規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫(kù)狀態(tài)及其狀態(tài)的變化,以保證數(shù)據(jù)的正確性、有效性和相容性。

56.A解析:本題中,最主要的是掌握幾個(gè)有關(guān)文件函數(shù)的應(yīng)用。

函數(shù)名:fopen

功能:打開(kāi)一個(gè)文件

調(diào)用方式FILE*fp;

fp=fopen(文件名,使用文件方式);

函數(shù)名:fprintf

功能:傳送格式化輸出到一個(gè)文件中

調(diào)用方式:fprintf(文件指針,格式字符串,輸出表列);

函數(shù)名:fclose

功能:關(guān)閉一個(gè)文件

調(diào)用方式:fclose(文件指針);

函數(shù)名:fscanf

功能:從磁盤(pán)文件執(zhí)行格式化輸入

調(diào)用方式:fscanf(文件指針,格式字符串,輸入列表)。

57.DD)【解析】數(shù)據(jù)庫(kù)設(shè)計(jì)目前一段采用生命周期法.即將整個(gè)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的開(kāi)分解成目標(biāo)獨(dú)立的若干階段,它們是:需要分析階段、概念設(shè)計(jì)階段、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、編碼階段、測(cè)試階段、運(yùn)行階段、進(jìn)一步修改階段。在數(shù)據(jù)庫(kù)設(shè)計(jì)中采用上面幾個(gè)階段中的前四個(gè)階段,并且重點(diǎn)以數(shù)據(jù)結(jié)構(gòu)和模型設(shè)計(jì)為主線。

58.D解析:函數(shù)f中變量i為靜態(tài)變量,函數(shù)f調(diào)用結(jié)束后變量i所占據(jù)的存儲(chǔ)單元不會(huì)釋放,而在主函數(shù)中f被調(diào)用5次,具體過(guò)程如下。

第1次調(diào)用f:s=s+i=1+0=1,i=i+1=1,主函數(shù)中a=a+f()=O+1=1

第2次調(diào)用f:s=s+1=1+1=2,i=i+1=2,豐函數(shù)中a=a+f()=1+2=3

第3次調(diào)用f:s=s+1=1+2=3,i=i+1=3,主函數(shù)中a=a+f()=3+3=6

第4次調(diào)用f:s=s+i=1+3=4,i=i+1=4,主函數(shù)中a=a+r()=6+4=10

第5次調(diào)用f:s=s+i=1+4=5,i=i+4=5,主函數(shù)中a=a+f()=10+5=15

所以printf語(yǔ)句的輸出結(jié)果為15。

59.A樹(shù)形結(jié)構(gòu)是一類重要的非線性數(shù)據(jù)結(jié)構(gòu)。樹(shù)是n(n≥0)個(gè)結(jié)點(diǎn)的集合,對(duì)應(yīng)任意一棵非空樹(shù),它具有以下幾點(diǎn)重要的性質(zhì)。

①有且僅有一個(gè)特定的稱為根的結(jié)點(diǎn)。

②當(dāng)n>1時(shí),其余結(jié)點(diǎn)可分為m(m>0)個(gè)互不相交的有限集T1,T2,…,TM,其中每一個(gè)集合本身又是一棵樹(shù),稱為子樹(shù)。

因此,本題的正確答案有且只有一個(gè)。

60.B解析:由于實(shí)參傳送的是

溫馨提示

  • 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)論