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

下載本文檔

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

文檔簡介

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

一、單選題(20題)1.以下不構(gòu)成無限循環(huán)的語句或語句組的是()。

A.n=0;do{++n;}while(n<=0);

B.n=0;while(1){n++;}

C.n=10;while(n);{n--;}

D.for(n=0,i=1;i++)n+=i;

2.有以下程序:

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

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

3.數(shù)據(jù)庫管理系統(tǒng)中負(fù)責(zé)數(shù)據(jù)模式定義的語言是()。A.數(shù)據(jù)定義語言B.數(shù)據(jù)管理語言C.數(shù)據(jù)操縱語言D.數(shù)據(jù)控制語言

4.在下列定義語句中,編譯時(shí)會(huì)出現(xiàn)編譯錯(cuò)誤的是()。

A.chara=‘\x2d’;B.chara=‘\n’;C.chara=‘a(chǎn)’;D.chara=“aa”;

5.與單鏈表相比,雙鏈表的優(yōu)點(diǎn)之一是()。

A.插入、刪除操作更簡單B.可以進(jìn)行隨機(jī)訪問C.可以省略表頭指針或表尾指針D.順序訪問相鄰結(jié)點(diǎn)更靈活

6.有以下程序#include<stdio.h>main(){inti,j,m=55;for(i=1;i<=3;i++)for(j=3;j<=i;j++)m=m%j;printf(“%d\n”,m);}程序的運(yùn)行結(jié)果是()A.1B.0C.2D.3

7.下列關(guān)于邏輯運(yùn)算符兩側(cè)運(yùn)算對(duì)象的敘述中正確的是()。

A.只能是整數(shù)0或1B.只能是整數(shù)0或非0整數(shù)C.可以是結(jié)構(gòu)體類型的數(shù)據(jù)D.可以是任意合法的表達(dá)式

8.

9.

有以下程序

#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

10.設(shè)有序順序表中有n個(gè)數(shù)據(jù)元素,則利用二分查找法查找數(shù)據(jù)元素X的最多比較次數(shù)不超過()。A.log2+1

B.log2(n-1)

C.log2n

D.log2(n+1)

11.有以下程序:voidsort(inta[],intn){inti,j,t;for(i=0;i<n-1;i+=2)for(j=i+2;j<n;j+=2)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;sort(aa,10);for(i=0;i<10;i++)printf("%d",aa[i]);printf("\n");}其輸出結(jié)果是

A.1,2,3,4,5,6,7,8,9,10,

B.10,9,8,7,6,5,4,3,2,1,

C.9,2,7,4,5,6,3,8,1,10,

D.1,10,3,8,5,6,7,4,9,2,

12.有如下定義:inta[5],*p;p=a;則下列描述錯(cuò)誤的是()。

A.表達(dá)式p=p+1合法的B.表達(dá)式a=a+1是合法的C.表達(dá)式p-a是合法的D.表達(dá)式a+2是合法的

13.有以下程序:#include<stdio.h>main(){intt;scanf(“%d”,&t);if(t++<6)printf(“%d\n”,t);elseprintf(“%d\n”,t--);printf(“\n”);}執(zhí)行時(shí)輸入6并按<Enter>鍵,則輸出結(jié)果是()。A.6B.8C.7D.5

14.判斷一個(gè)循環(huán)隊(duì)列cq(最多元素為m)為空的條件是()。A.cq->rear-cq-front=m;

B.(cq->rear+1)%m=cq->front;

C.cq->front=cq->rear;

D.cq->rear=m-1;

15.用鏈接方式存儲(chǔ)的隊(duì)列,在進(jìn)行刪除運(yùn)算時(shí)()。

A.僅修改頭指針B.僅修改尾指針C.頭、尾指針都要修改D.頭、尾指針可能都要修改

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

A.5E2.0B.E-3C.2.00E+00D.1.3E

17.單鏈表中,增加一個(gè)頭結(jié)點(diǎn)的目的是為了()。

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

18.C語言結(jié)構(gòu)體類型變量在程序執(zhí)行期間,()。

A.所有成員一直駐留在內(nèi)存中B.沒有成員駐留在內(nèi)存中C.部分成員駐留在內(nèi)存中D.只有一個(gè)成員駐留在內(nèi)存中

19.若有說明語句:double*P,a;則能通過scanf語句正確給輸入項(xiàng)讀入數(shù)據(jù)的程序段是()。

A.*p=&a;scanf("%lf",p);

B.*p=&a;scanf("%f",p);

C.p=&a;scanf("%lf",*p);

D.p=&a;scanf("%lf",p);

20.有以下程序:#include<stdio.h>structtt{intx;structtt*y;}*p;structtta[4]={20,a+1,15,a+2,30,a+3,17,a};main(){inti;p=a;for(i=1;i<=2;i++){printf(“%d,”,p->x);p=p->y;}}程序的運(yùn)行結(jié)果是()。

A.20,30,B.30,17,C.15,30,D.20,15,

二、2.填空題(20題)21.以下程序運(yùn)行后的輸出結(jié)果是______。

intf(inta[],intn)

{

if(n>=l)

returnf(a,n-1)+a[n-1];

else

return0;

}

main{)

{

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

s=f(aa,5);

printf{'%d\n",s);

}

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

main()

{inti,sum;

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

sum+=i;

printf("%d",sum);

}

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

#include<stdio,h>

main()

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

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

elseprintf("%d\n",b);}

24.Jackson方法是一種面向【】的結(jié)構(gòu)化方法。

25.若想通過以下輸入語句給a賦值1,給b賦值2.則輸入數(shù)據(jù)的形式應(yīng)該是【】。

inta,b;

scanf("a=%d,b=%d",&a,&b);

26.在軟件開發(fā)中,結(jié)構(gòu)化方法包括結(jié)構(gòu)化分析方法、結(jié)構(gòu)化設(shè)計(jì)方法和結(jié)構(gòu)化程序設(shè)計(jì)方法。詳細(xì)設(shè)計(jì)階段所采用的是【】方法。

27.以下程序的功能是:將輸入的正整數(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");

}

28.設(shè)有定義:intn,*k=&n;以下語句將利用指針變量k讀寫變量n中的內(nèi)容,請(qǐng)將語句補(bǔ)充完整。

scanf(“%d”,______);

printf(“%d\n”,______);

29.下面程序的功能:輸出100以內(nèi)能被3整除且個(gè)位數(shù)為6的所有整數(shù),請(qǐng)補(bǔ)充完整。

main()

{inti,j;

for(i=0;【】;i++)

{j=i*10+6;

if(【】)continue;

printf("%d",j);

}

}

30.數(shù)據(jù)的邏輯結(jié)構(gòu)有線性結(jié)構(gòu)和______兩大類。

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

#include<stdio.h>

unsignedfun6(unslgnednum)

{unsignedk=1;

do{k*=mum%10;num/=10;}

while(num);

returnk;

}

main()

{unsignedn=26;

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

}

32.模式/內(nèi)模式映射為數(shù)據(jù)庫提供了【】數(shù)據(jù)獨(dú)立性。

33.以下程序的功能是調(diào)用函數(shù)fun計(jì)算:m=1-2+3-4+…+9-10,并輸出結(jié)果。請(qǐng)?zhí)羁铡?/p>

intfun(intn)

{

intm=0,f=1,i;

for(i=1:i<=n;i++)

{

m+=i*f;

f=______;

}

returnm;

}

main()

{printf(“m=%d\n”,______)};

34.以下函數(shù)sstrcat的功能是實(shí)現(xiàn)字符串的連接,即將t所指字符串復(fù)制到s所指字符串的尾部。例如:,所指字符串為abed,t所指字符串為efgh,調(diào)用函數(shù)sstrcat后s所指字符串為abcdefgh。請(qǐng)?zhí)羁铡?/p>

#inehde<stdio.h>

#include<string.h>

voidsstuat(char*9,char*t)

{intn;

n=strlen(s);

while(*(s+n)=【】){s++;t++;}

35.以下函數(shù)的功能是計(jì)算s=1+1/2!+1/3!+…+1/n!,請(qǐng)?zhí)羁铡?/p>

doublerun(intn)

{doubles=0.0,fac=1.0;

inti,k=1;

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

{【】;

fac=fac/k;

s=s+fac;

}

}

36.關(guān)系模型的完整性規(guī)則是對(duì)關(guān)系的某種約束條件,包括實(shí)體完整性、______和自定義完整性。

37.當(dāng)數(shù)據(jù)的物理結(jié)構(gòu)(存儲(chǔ)結(jié)構(gòu))改變時(shí),不影響數(shù)據(jù)庫的邏輯結(jié)構(gòu),從而不致引起應(yīng)用程序的變化,這是指數(shù)據(jù)的【】。

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

main()

{inti=0,a=0;

while(i<20)

{for(;;)

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

elsei--;}

i+=11;

a+=i;

}

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

}

39.若要使指針p指向一個(gè)double類型的動(dòng)態(tài)存儲(chǔ)單元,請(qǐng)?zhí)羁铡?/p>

p=【】malloc(sizeof(double));

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

#include<stdio.h>

main()

{intfun();

fun();

}

fun()

{staticinta[4]={1,2,3,4};

inti;

for(i=0;i<4;i++)a[i]+=a[i];

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

printf"\n");

}

三、1.選擇題(20題)41.結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是______。

A.程序的規(guī)模B.程序的易讀性C.程序的執(zhí)行效率D.程序的可移植性

42.設(shè)有語句:if(a==1)b=2;c=3;,以下語句中與之等價(jià)的是()。

A.if(a==1){b=2;c=3;}

B.if(a!=1){;}else{b=2;c=3;}

C.if(a=1)c=3;b=2;

D.(a==1)?b=2:a:=a;c=3;

43.有以下程序main(){intn[3],i,j;for(i=0;i<3;i++)n[i]=0;for(i=0;i<2,i++)for(j=0;j<2;j++)n[j]=n[i]+1;printf("%d\n",n[1]);}程序運(yùn)行后的輸出結(jié)果是()

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

44.下列程序的輸出結(jié)果是()。#include<stdio.h>main(){inti;for(i=1;i<=10;i++){if((i*i>=20)&&(i*i<=100))}break;printf("%d\n",i*i);}

A.49B.36C.25D.64

45.程序流程圖中帶有箭頭的線段表示的是()。

A.圖元關(guān)系B.數(shù)據(jù)流C.控制流D.調(diào)用關(guān)系

46.若有以下定義和語句:intu=010,v=0x10,w=10;printf("%d,%d,%d\n",u,v,w);則輸出結(jié)果是()

A.8,16,10B.10,10,10C.8,8,10D.8,10,10

47.下面各語句行中,能正確進(jìn)行賦值字符串操作的語句是()

A.charst[4][5]={"ABCDE"};

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

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

D.char*s;scanf(”%s”,s);

48.若有以下定義和語句:ints[4][5],(*ps)[5];ps=s;則對(duì)s數(shù)組元數(shù)的正確引用形式是

A.ps+1B.*(ps+3)C.ps[0][2]D.*(ps+1)+3

49.設(shè)變量x為float型且已賦值,則以下語句中能將x中的數(shù)值保留到小數(shù)點(diǎn)后兩位,并將第三位四舍五入的是()。

A.x=x*100+0.5/100.0;

B.x=(x*100+0.5)/100.0

C.x=(int)(x*100+0.5)/100.0;

D.x=(x/100+0.5)/100.0;

50.若有以下定義和語句:inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;則不能表示a數(shù)組元素的表達(dá)式是______。

A.*pB.a[10]C.*aD.a[p-a]

51.有以下程序:main(){intk=4,n=0;for(;n<k;){n++;if(n%3!=O)continue;k--;}printf("%d,%d\n",k,n);}程序運(yùn)行后的輸出結(jié)果是()。

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

52.在C語言程序中,下列說法正確的是()。

A.函數(shù)的定義和函數(shù)的調(diào)用均可以嵌套

B.函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套

C.函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套

D.函數(shù)的定義和函數(shù)的調(diào)用均不可以嵌套

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

54.在下列敘述中,錯(cuò)誤的一條是______。

A.對(duì)關(guān)系的描述稱為關(guān)系模式,一個(gè)關(guān)系模式對(duì)應(yīng)一個(gè)關(guān)系的結(jié)構(gòu)

B.不同元組對(duì)同一個(gè)屬性的取值范圍稱為域

C.二維表中的行稱為屬性

D.所謂關(guān)鍵字,即屬性或?qū)傩越M合,其值能夠惟一標(biāo)識(shí)一個(gè)元組

55.有以下程序:#include<stdio.h>main(){inti,j;for(i=3;i>=1;i--){for(j=1;j<=2;j++)printf("%d",i+j);printf("\n");}}程序運(yùn)行的結(jié)果是()。

A.234B.432C.23D.4534554334344523

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

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

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

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

B.算法的空間復(fù)雜度是指算法程序中指令(或語句)的條數(shù)

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

D.以上三種描述都不對(duì)

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

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

59.請(qǐng)讀程序:#include<stdio.h>main(){intnum=0;while(num<=2){num++;printf("%d\n",num);}}上面程序的輸出結(jié)果是()

A.1B.12C.123D.1234

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

A.scanfB.getcharC.getsD.getc

四、選擇題(20題)61.下面程序段的輸出為()。

#include"stdio.h"

main

{

printf("%d\n",12<<2);

}

A.0B.47C.48D.24

62.下列關(guān)于C語言文件的敘述中正確的是()。

A.文件由一系列數(shù)據(jù)依次排列組成,只能構(gòu)成二進(jìn)制文件

B.文件由結(jié)構(gòu)序列組成,可以構(gòu)成二進(jìn)制文件或文本文件

C.文件由數(shù)據(jù)序列組成,可以構(gòu)成二進(jìn)制文件或文本文件

D.文件由字符序列組成,其類型只能是文本文件

63.設(shè)變量均已正確定義,若要通過

scaIIf(”%d%c%d%c”,&;al,&;el,&;a2,&;c2);

語句為變量al和a2賦數(shù)值l0和20,為變量cl和c2賦字符x和Y。以下所示的輸入形式中正確的是()。(注:口代表空格字符)

64.在c語言中,只有在使用時(shí)才占用內(nèi)存單元的變量,其存儲(chǔ)類型是()。

A.auto和static

B.extern和register

C.auto和register

D.static和register

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

main

{inta=5,b=-1,c;

c=adds(a,b);

printf(“%d”,c);

c=adds(a,b);

printf(“%d\n”,c);}

intadds(intx,inty)

{staticintm=0,n=3;

n*=++m;

m=n%x+y++;

return(m);}

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

66.

67.

68.有以下程序

main()

{

inta[3][2]={0},(*ptr)[2],i,j;

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

{

ptr=a+i;

scanf("%d",ptr);

ptr++;

}

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

{

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

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

printf("\n");

}

}

若運(yùn)行時(shí)輸入:123<回車>,則輸出結(jié)果是

69.設(shè)有定義:charp[]={1,2,3),*q=p;,以下不能計(jì)算出一個(gè)char型數(shù)據(jù)所占字節(jié)數(shù)的表達(dá)式是()。

A.sizeof(p)B.sizeof(char)C.sizeof(*q)D.sizeof(p[0])

70.有以下程序:

程序運(yùn)行后,若從鍵盤輸入(從第l列開始.:

123<回車>

45678<回車>

則輸出結(jié)果是()。

A.1267B.1256C.1278D.1245

71.

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

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

73.下列選項(xiàng)中,不是一個(gè)算法的基本特征的是()。

A.完整性B.可行性C.有窮性D.擁有足夠的情報(bào)

74.

75.

76.若intk=8;則執(zhí)行下列程序后,變量k的正確結(jié)果是

main()

{intk=8;

switch(k)

{case9:k+=1;

case10:k+=1;

default:k+=1;

case11:k+=1;break;

}

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

}

A.12B.1

C.10D.9

77.以下選項(xiàng)中不屬于c語言的類型的是()。

A.unsignedlongint

B.longshort

C.unsignedint

D.signedshortint

78.閱讀下面程序段,則執(zhí)行后的結(jié)果為()。

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

79.

80.

五、程序改錯(cuò)題(1題)81.已知一個(gè)數(shù)列從0項(xiàng)開始的前3項(xiàng)為0,0,1,以后的各項(xiàng)都是其相鄰的前3項(xiàng)之和。下列給定的程序中,函數(shù)proc的功能是:計(jì)算并輸出該數(shù)列前n項(xiàng)的和sum。n的值通過形參傳人。例如,當(dāng)n=20時(shí),程序的輸出結(jié)果應(yīng)為42762.000000。

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

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

試題程序:

#include<stdlib.h>

#include<conio.h>

#include<stdio.h>

doubleproc(intn)

{

doublesum,s0,s1,s2,s;

intk;

sum=1.0;

if(n<=2)

sum=0.0;

s0=0.0;

s1=0.0;

s2=1.0;

//****found****

for(k=4;k<n;k++)

}

{

s=s0+s1+s2;

sum+=S:

s0=s1;

s1=s2;

//****found****

s2=s;

returnsum;

}

voidmain

{

intn;

system("CLS");

printf("InputN=");

scanf("%d",&nJ;

printf("%f\n",proc(n));

}

六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫函數(shù)fun,其功能是:找出一維整型數(shù)組元素中最大的值所在的下標(biāo),并通過形參傳回。數(shù)組元素中的值已在主函數(shù)中賦予。

主函數(shù)中x是數(shù)組名,n是x中的數(shù)據(jù)個(gè)數(shù),max存放最大值。index存放最大值所在元素的下標(biāo)。

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

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

試題程序:

參考答案

1.AA選項(xiàng)中do后面的語句只執(zhí)行了一次便結(jié)束了循環(huán);B選項(xiàng)中條件while(1)永遠(yuǎn)成立,所以是死循環(huán);C選項(xiàng)中n的值為10,而循環(huán)體為空語句,所以while(n)永遠(yuǎn)為真,進(jìn)入死循環(huán);D選項(xiàng)中for語句第2個(gè)表達(dá)式為空,所以沒有判斷條件,進(jìn)入死循環(huán)。故本題答案為A選項(xiàng)。

2.C該程序中int8pl=&a,+p2=&b,4P=&c;指定義三個(gè)指針變量,并賦值,即使pl指向a;p2指向b;p指向c。+P=。pl$(+p2)。;該條語句是給P所指的存儲(chǔ)單元c賦值,就是pl所指的存儲(chǔ)單元的值,即a的值,與p2所指的存儲(chǔ)單元b的值相乘,也就是c=a+b,等價(jià)于c=1·3=3;因此C選項(xiàng)正確?!?/p>

3.AA。數(shù)據(jù)定義語言(DDL)是集中負(fù)責(zé)數(shù)據(jù)庫模式定義與數(shù)據(jù)庫對(duì)象定義的語言。數(shù)據(jù)操縱語言(DML)是指用來查詢、添加、修改和刪除數(shù)據(jù)庫中數(shù)的語句。數(shù)據(jù)控制語言(DCL)是用來設(shè)置或者更改數(shù)據(jù)為用戶或角色權(quán)限的語句。據(jù)此,本題正確答案為選項(xiàng)A。

4.DD選項(xiàng)中將字符串常量“aa”賦給字符變量a是錯(cuò)誤的。故本題答案為D選項(xiàng)。

5.D

6.A雖為嵌套的for循環(huán),但“m=m%j”只執(zhí)行1次,即當(dāng)i=3時(shí),內(nèi)層循環(huán)條件成立,m=55%3=1,故選A。

7.D解析:邏輯運(yùn)算符兩側(cè)的運(yùn)算對(duì)象可以是任意合法的表達(dá)式。邏輯表達(dá)式的運(yùn)算結(jié)果或者為1(“真”),或者為0(“假”)。

8.A

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

10.A

11.C解析:本題考核的知識(shí)點(diǎn)是程序中算法的基本分析。sort()函數(shù)作用是將數(shù)組aa中的下標(biāo)為偶數(shù)的元素按大到小排序.主函數(shù)中首先定義了一個(gè)長度為10的數(shù)組并賦值,然后調(diào)用sort()函數(shù),將數(shù)組aa中奇數(shù)個(gè)元素的值按大到小排序,因此執(zhí)行完該函數(shù)后,數(shù)組中奇數(shù)個(gè)元素的值為9,7、5、3和1,故主函數(shù)中最后通過一個(gè)for循環(huán)輸出數(shù)組aa中各元素的值為9、2、7、4、5、6、3、8、1和10,所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。

12.B

13.C后綴自增運(yùn)算“t++”表示先運(yùn)算,再自加。語句“if(t++<6)printf(“%d\\n”,t);elseprintf(“%d\\n”,t--);”中t的初值為6,則“t++<6”,條件為假,t自增至7,執(zhí)行“printf(“%d\\n”,t--);”,此時(shí)t=7,輸出t值為7,之后進(jìn)行自減操作t=6。因此輸出的結(jié)果為7。故本題答案為C選項(xiàng)。

14.C

15.D

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

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

2)指數(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前面沒有數(shù)字;選項(xiàng)D中,E后面沒有數(shù)字。

17.C

18.A解析:C語言結(jié)構(gòu)體類型變量在程序執(zhí)行期間所有成員一直駐留在內(nèi)存中。

19.D解析:*p間接引用指針指向的變量,因此“(*p)=&a”不對(duì)。scanf()的輸入變量必須為地址,因此C是錯(cuò)誤的。

20.D結(jié)構(gòu)體指針變量p指向a數(shù)組的第1個(gè)元素,所以“p->x”為20。執(zhí)行“p=p->y”后,p指向數(shù)組a的第2個(gè)元素,所以輸出15。故本題答案為D選項(xiàng)。

21.1515解析:在函數(shù)f()中只有一條if語句,如果n不小于1,則返回f(a,n-1)+a[n-1);,否則返回0。所以f(aa,5)返回f(aa,4)+aa[4],而f(aa,4)返回f(aa,3)+aa[3]……直到f(aa,0)返回0.故f(aa,5)實(shí)際返回值是0+aa[1]+aa[2]+aa[3]+aa[4]+aa[5],所以本題最終輸出15。

22.無定值無定值解析:for(i=1;i<7;i++)決定了循環(huán)次數(shù)為6次,每次執(zhí)行的操作是sum+=i,但由于sum沒有初始化,并不知道sum的初值是多少,所以結(jié)果無定值。

23.11解析:該程序要注意的是if語句的判斷條件“c=a”是賦值,而不是“c==a”。由于a=1,故條件c=a使c的值為1(真),所以輸出c的值1。

24.數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)解析:Jackson方法是—‘種面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化方法。

25.a=1b=2

26.結(jié)構(gòu)化設(shè)計(jì)結(jié)構(gòu)化設(shè)計(jì)解析:在軟件開發(fā)中,結(jié)構(gòu)化方法包括結(jié)構(gòu)化分析方法、結(jié)構(gòu)化設(shè)計(jì)方法和結(jié)構(gòu)化程序設(shè)計(jì)方法。詳細(xì)設(shè)計(jì)階段所采用的是結(jié)構(gòu)化設(shè)計(jì)方法。

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

28.k*kk*k解析:本題考查的知識(shí)點(diǎn)是scarf()函數(shù)和printf()函數(shù)的用法。scanf()函數(shù)有兩個(gè)參數(shù),第一個(gè)參數(shù)是格式控制部分(格式控制部分是字符串,主要由“%”號(hào)和格式字符組成)第二個(gè)參數(shù)是一地址列表(地址列表是由多個(gè)地址組成,可以是變量的地址,也可以是字符串的首地址)。而第一個(gè)空格處位于scanf()函數(shù)的第二個(gè)參數(shù)處,所以,第一個(gè)空應(yīng)該填地址k。printf()函數(shù)有兩個(gè)參數(shù),第一個(gè)參數(shù)是輸出格式字符串(輸出格式字符串是由控制輸出格式的字符和非格式字符組成的,通常是字符常量。非格式字符作為輸出數(shù)據(jù)的間隔,輸出時(shí)原樣輸出)第二個(gè)參數(shù)為一輸出表達(dá)式表(輸出表達(dá)式表是由若干個(gè)需要計(jì)算和輸出的表達(dá)式組成的,表達(dá)式之間用逗號(hào)分隔開)。而第;個(gè)空位于printf()函數(shù)的第二個(gè)參數(shù)處,所以應(yīng)該填*K。

29.i<10i%3!=0i<10\r\ni%3!=0解析:本題要求輸出100以內(nèi)能被3整除且個(gè)位數(shù)為6的所有整數(shù),程序中j=i*10+6;語句是求個(gè)位數(shù)為6的整數(shù),由此可得出程序的循環(huán)次數(shù)為i<10。然后通過if語句判斷整數(shù)是否能被3整除,若不能則繼續(xù)下一次循環(huán),若能則輸出該整數(shù),所以邏輯表達(dá)式為j%3!=0。

30.非線性結(jié)構(gòu)非線性結(jié)構(gòu)

31.1212解析:循環(huán)語句中,表達(dá)式num%10是取num的個(gè)位。循環(huán)直至num為0結(jié)束,這是逐一求出num+進(jìn)制表示的各位數(shù)字,并累乘于變量k中。函數(shù)最后返回k,所以程序輸出12。

32.物理物理

33.-f或f*-1或-1*f或f*(-1)或(*1)*f。fun(10)-f或f*-1或-1*f或f*(-1)或(*1)*f。\r\nfun(10)解析:本題考核的知識(shí)點(diǎn)是C程序的簡單應(yīng)用。本題要求調(diào)用fun()函數(shù)計(jì)算m的值,故在主函數(shù)中的空格處應(yīng)該填調(diào)用fun()函數(shù)的語句。fun()函數(shù)有一個(gè)形參n,為每次參加計(jì)算的值的個(gè)數(shù),故在主函數(shù)中的空格處應(yīng)該填fun(10),回到fun()函數(shù),函數(shù)用到了一個(gè)for循環(huán),共循環(huán)n次,當(dāng)循環(huán)第i次的時(shí)候,m的值等于m=1-2+……+[(-1)的i-1次方]*1所以在fun()函數(shù)的空格處應(yīng)該填使f改變符號(hào)的語句,故應(yīng)填*f或f*-1或-1*f或f*(-1)或(-1)*f。

34.*t*t解析:程序中,(a+n)代表字符串s最后一個(gè)字符后的,'\\0',根據(jù)題意,'\\0'所在位置應(yīng)該賦值為字符串t的第一個(gè)字符,字符中t的其他字符根據(jù)循環(huán),依次賦值到,所指字符串的尾部,所以[14]應(yīng)填:*t。

35.k=k*ik=k*i解析:本題小通過for循環(huán)求s表達(dá)式中每一項(xiàng)的和,表達(dá)式“fac=fac/k;”求的是每一項(xiàng)的值,所以k的值應(yīng)為n!,在求n!的時(shí)候,可以用上次循環(huán)階乘的值乘i,就可以直接得此次n!,故木題填k=k*i。

36.參照完整性參照完整性

37.物理獨(dú)立性數(shù)據(jù)獨(dú)立性是數(shù)據(jù)與程序間的互不依賴性,即數(shù)據(jù)庫中數(shù)據(jù)獨(dú)立于應(yīng)用程序而不依賴于應(yīng)用程序。也就是說,數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)與存取方式的改變不會(huì)影響應(yīng)用程序。數(shù)據(jù)獨(dú)立性一般分為物理獨(dú)立性與邏輯獨(dú)立性兩級(jí)。

38.3232解析:while(表達(dá)式)的功能是:首先計(jì)算表達(dá)式的值,若為真,則執(zhí)行循環(huán)體語句,執(zhí)行完畢,再計(jì)算表達(dá)式的值,若仍為真,則重復(fù)執(zhí)行循環(huán)體語句,直到表達(dá)式的值為假時(shí),結(jié)束while語句的執(zhí)行,繼續(xù)執(zhí)行while語句后面的語句:i=0時(shí)滿足循環(huán)條件,也滿足if的條件,執(zhí)行語句得i=11,a=11,第2次循環(huán)不滿足if的條件,執(zhí)行i--,i=10,執(zhí)行i+=11;a+=i后,得i=21,a=32,不滿足i<20,循環(huán)結(jié)束。

39.(double*)(double*)解析:一般用malloc函數(shù)為變量分配存儲(chǔ)單元時(shí),要在前面用強(qiáng)制類型轉(zhuǎn)換符說明該存儲(chǔ)單元中數(shù)據(jù)的類型。本題要為指向雙精度浮點(diǎn)型數(shù)據(jù)的指針變量p分配存儲(chǔ)單元,因此用(double*)說明。

40.24682,4,6,8解析:子函數(shù)fun()的功能是將數(shù)組a中的元素都自加一遍,然后仍然將結(jié)果存在原數(shù)組中,其實(shí)就是將數(shù)組a的每個(gè)元素都變?yōu)樵瓉淼?倍,然后輸出。在主程序中首先通過intfun()定義了子函數(shù)fun(),然后再調(diào)用fun()。

41.B解析:采用結(jié)構(gòu)化編程方法的好處主要在于:一是便于控制、降低程序的復(fù)雜性,因此便于編寫程序。二是程序清晰易讀,可理解性好。因此,結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是程序的易讀性,而不是程序的規(guī)模、程序的執(zhí)行效率和程序的可移植性。

42.D

43.D

44.C解析:本題考查if語句。當(dāng)執(zhí)行到第一個(gè)滿足(i*i>=20)&&(i*i<=100)這個(gè)條件的i出現(xiàn)時(shí),通過break語句跳出循環(huán),執(zhí)行下列的printf語句。

45.C解析:程序流程圖是人們對(duì)解決問題的方法、思路或算法的一種描述。其中,圖框表示各種操作的類型,圖框中的文字和符號(hào)表示操作的內(nèi)容,流程線表示操作的先后次序。帶箭頭的線段在數(shù)據(jù)流程圖中表示數(shù)據(jù)流。帶箭頭的線段在程序流程圖中表示控制流。題中給出的選項(xiàng)中,在圖元之間用帶有箭頭的線段表示圖元關(guān)系。在模塊之間用帶有箭頭的線段表示調(diào)用關(guān)系。構(gòu)成程序流程圖的基本圖符及含義:→或↓表示控制流;□表示加工步驟;

表示邏輯條件。

46.A

47.C

48.C解析:本題首先定義了一個(gè)4行5列的數(shù)組s,又定義了一個(gè)指向由5個(gè)元素組成的一維數(shù)組的指針變量ps,通過賦值讓ps指向了數(shù)組s的首地址。此時(shí)數(shù)組元素s[i)[j]的地址為“*(ps+i)+j”,數(shù)組元素s[i][j]可表示為*(*(pe+i)+j);選項(xiàng)B表示的是數(shù)組元素a[3][0]的地址;選項(xiàng)D表示的是數(shù)組元素s[1][3]的地址;選項(xiàng)A中“ps+1”為指向下一行(第二行)的地址;選項(xiàng)C中ps[0][2]無條件等價(jià)于“*(ps[0]+2)”又無條件等價(jià)于“*(*(pe+0)+2)”,即是數(shù)組元素s[0][2]。

49.C解析:本題考查實(shí)型數(shù)據(jù)。題目要求保留到小數(shù)點(diǎn)后兩位,選項(xiàng)A)、B)、D)都不合要求。在選項(xiàng)C)中,x*100+0.5的作用是將第三位四舍五入,取整后再除以100.0,即可得符合要求的數(shù)據(jù)。

50.B解析:程序中定義了數(shù)組a[10],則其元素的下標(biāo)范圍為0~9,而B選項(xiàng)中的a[10]所表示的元素已經(jīng)超出a數(shù)組元素的范圍,故應(yīng)該選擇B。

51.C解析:在本程序的for循環(huán)中,用到了一個(gè)continue語句,continue語句的作用是停止本次循環(huán),不執(zhí)行循環(huán)體內(nèi)continue語句后面的其他語句,繼續(xù)下次循環(huán)的條件判斷。首先在for循環(huán)中n自加1(值變?yōu)?),然后執(zhí)行后面的if語句,由于if語句后面括號(hào)的表達(dá)式1%3!=0的值為真,程序執(zhí)行continue語句,回到for循環(huán)的開始部分,并且判斷for循環(huán)中的條件表達(dá)式(n<k)為真,重復(fù)執(zhí)行“n++;”語句,如此循環(huán)直到n=3時(shí),if語句判定條件中表達(dá)式3%3!=0的值為假,程序執(zhí)行if語句后面的“k--;”語句,此時(shí)k的值為3,不滿足n<k,退出for循環(huán)。故最后的k和n的值為3和3,選項(xiàng)C符合題意。

52.B解析:本題考查函數(shù)調(diào)用的基本概念。因?yàn)楹瘮?shù)的結(jié)果是個(gè)未知量,而函數(shù)定義時(shí)不能使用未知量,所以函數(shù)定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套。

53.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。

54.C

55.D解析:本題主要考查for循環(huán)語句的嵌套。外層主循環(huán)執(zhí)行了3次,嵌套的循環(huán)語句每輪執(zhí)行2次,每次輸出i+j的值,推出嵌套循環(huán)語句后換行。

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

57.C解析:算法的執(zhí)行效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)密切相關(guān)。算法的空間復(fù)雜度是指算法執(zhí)行過程中所需的存儲(chǔ)空間。

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

59.C

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

61.C解析:考查位運(yùn)算的運(yùn)算原理。<<為左移運(yùn)算符,運(yùn)算符的左邊是移位對(duì)象;右邊是整型表達(dá)式,代表左移的位數(shù),左移時(shí),右端(低位)補(bǔ)0;左端(高位)移出的部分舍棄。

62.C文件由數(shù)據(jù)序列組成,可以構(gòu)成二進(jìn)制文件或文本文件。故本題答案為C選項(xiàng)。

63.C輸入數(shù)據(jù)的格式必須與scanf()的格式控制串完全匹配,如果A、B、Cc選項(xiàng)中在數(shù)字l0

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(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)論