2021年廣東省肇慶市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)_第1頁(yè)
2021年廣東省肇慶市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)_第2頁(yè)
2021年廣東省肇慶市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)_第3頁(yè)
2021年廣東省肇慶市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)_第4頁(yè)
2021年廣東省肇慶市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩29頁(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年廣東省肇慶市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.有下列程序:main{inti,j,x=0;for(i=0,i<2;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++:}x++:}printf("x=%d\n",x);}程序執(zhí)行后的輸出結(jié)果是()。A.x=4B.x=8C.x=6D.x=12

2.以下選項(xiàng)中表示空函數(shù)的是()。

A.intfun(){return0;}

B.intfun();

C.intfun(){}

D.intfun(inta,intB){return1;}

3.設(shè)有遞歸算法如下試問(wèn)計(jì)算x(x(8))時(shí)需要計(jì)算()次x函數(shù)。A.8B.9C.16D.18

4.若有語(yǔ)句“typedefstructTT{charc;inta[4];}CIN;”,則下列敘述中正確的是()。

A.CIN是structTT類型的變量

B.TT是struct類型的變量

C.可以用TT定義結(jié)構(gòu)體變量

D.可以用CIN定義結(jié)構(gòu)體變量

5.

6.

7.若有定義“doublea;floatb;shortc;”,若想把1.2賦給變量a,3.4賦給變量b,5678賦給變量c,程序運(yùn)行時(shí)鍵盤(pán)輸入:1.23.45678<回車>則以下正確的讀入語(yǔ)句是()。A.scanf("%If%If%d",&a,&b,&c);

B.scanf("%If%If%hd",&a,&b,&c);

C.scanf("%If%f%hd",&a,&b,&c);

D.scanf("%f%f%d",&a,&b,&c);

8.

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

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

10.

11.采用開(kāi)放定址法處理散列表的沖突時(shí),其平均查找長(zhǎng)度()

A.高于二分查找B.高于鏈接法處理沖突C.低于二分查找D.低于鏈接法處理沖突

12.對(duì)于移動(dòng)平均算法,是計(jì)算某變量之前n個(gè)數(shù)值的算術(shù)平均,正確的說(shuō)法是()

A.空間復(fù)雜度是O(1)B.空間復(fù)雜度是O(n)C.空間復(fù)雜度是O(logn)D.空間復(fù)雜度是O(nlogn)

13.寫(xiě)出a*(b-c*d)+e-f/g*(h+i*j-k)的逆波蘭表達(dá)式()。

A.a(b-c*d)*+e-(f/g(h+i*j-k)*)

B.a(b-(cd*))*+e-(fg/(h+ij*-k)*)

C.a(bcd*-)*+e-(fg/hij*+k-*)

D.abcd*-*e+fg/hij*+k-*-

14.設(shè)x和y均為int型變量,且x=10,y=3,則以下語(yǔ)句的輸出結(jié)果是()printf("%d,%d\n",x--,--y);

A.10,3B.9,3C.9,2D.10,2

15.

16.軟件設(shè)計(jì)中劃分模塊的一個(gè)準(zhǔn)則是()。A.低內(nèi)聚低耦合B.高內(nèi)聚低耦合C.低內(nèi)聚高耦合D.高內(nèi)聚高耦合

17.C程序的基本模塊為()。

A.表達(dá)式B.標(biāo)識(shí)符C.語(yǔ)句D.函數(shù)

18.若要求從鍵盤(pán)讀入含有空格字符的字符串,應(yīng)該使用函數(shù)______。A.getc()B.gets()C.getchar()D.scanf()

19.數(shù)據(jù)在計(jì)算機(jī)存儲(chǔ)器內(nèi)表示時(shí),如果元素在存儲(chǔ)器中的相對(duì)位置能反映數(shù)據(jù)元素之間的邏輯關(guān)系,則稱這種存儲(chǔ)結(jié)構(gòu)為()。

A.存儲(chǔ)結(jié)構(gòu)B.邏輯結(jié)構(gòu)C.順序存儲(chǔ)結(jié)構(gòu)D.鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)

20.

二、2.填空題(20題)21.沒(méi)有chara,b;,若要通過(guò)a&b運(yùn)算屏蔽掉a中的其他位,只保留第2位和笫8位(右起為第1位),則b的二進(jìn)制是【】。

22.近年來(lái)形成了軟件開(kāi)發(fā)的多種模式,大致有3種類型:基于瀑布模型的結(jié)構(gòu)化生命周期方法、基于動(dòng)態(tài)定義需求的【】方法和基于結(jié)構(gòu)的面向?qū)ο蟮能浖_(kāi)發(fā)方法。

23.【】是數(shù)據(jù)庫(kù)設(shè)計(jì)的核心。

24.設(shè)有下面的程序段:chars[]="china";char*p;p=S;則下列敘述正確的是

25.要使以下程序段輸出10個(gè)整數(shù),請(qǐng)?zhí)钊胍粋€(gè)整數(shù);

for(i=0;i<=【】;printf("%d\n",i+=2));

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

main()

{intk=1;

white(k<=15)

if(++k%3!=2)continue;

elseprintf("%d",k);

printf("\n");

}

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

inti=9;

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

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

main()

{inta=2,b=2,c=4;

a*=16+(b++)-(++C);

printf("%d",a);

}

29.數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式分別為【】模式、內(nèi)部級(jí)模式與外部級(jí)模拭。

30.以下函數(shù)用來(lái)在w數(shù)組中插入x。n所指向的存儲(chǔ)單元中存放w數(shù)組中字符個(gè)數(shù)。數(shù)組w中的字符已按從小到大的順序排列,插入后數(shù)組w中的字符仍有序。請(qǐng)?zhí)羁铡?/p>

voidfun(char*w,charx,int*n)

{inti,p;

p=0;

w[*n]=x;

while(x>w[p])p++;

for(i=*n;i>p;i--)w[i]=【】;

w[p]=x;

++*n;}

31.軟件設(shè)計(jì)模塊化的目的是______。

32.以下isprime函數(shù)的功能是判斷形參a是否為素?cái)?shù),如果是素?cái)?shù),函數(shù)返回1,否則返回0。

intisprime(inta)

inti;

for(i=2;i<=a/2;i++)

if(a%i==0)【】;

【】;

}

33.在進(jìn)行模塊測(cè)試時(shí),要為每個(gè)被測(cè)試的模塊另外設(shè)計(jì)兩類模塊:驅(qū)動(dòng)模塊和承接模塊(樁模塊),其中【】的作用是將測(cè)試數(shù)據(jù)傳送給被測(cè)試的模塊,并顯示被測(cè)試模塊所產(chǎn)生的結(jié)果。

34.用樹(shù)型結(jié)構(gòu)表示實(shí)體類型及實(shí)體間聯(lián)系的數(shù)據(jù)模型稱為【】。

35.數(shù)據(jù)結(jié)構(gòu)包括數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的【】以及對(duì)數(shù)據(jù)的操作運(yùn)算。

36.在最壞情況下,冒泡排序的時(shí)間復(fù)雜度為【】。

37.已知字符A的ASCⅡ代碼值為65,以下程序運(yùn)行時(shí)若從鍵盤(pán)輸入:B33<回車>.則輸出結(jié)果是()。

#include

main()

{chara,b;

a=getchar();scanf("%d",&B);

a=a-'A'+'0';b=b*2;

printf("%c%c\n",a,B);

}

38.現(xiàn)有兩個(gè)C程序文件T18.c和myfun.c同在TC系統(tǒng)目錄(文件夾)下,其中T18.c文件如下:

#include<stdio.h>

#include"myfun.c"

main()

{fun();printf("\n");}

myfun.c文件如下:

voidfun()

{chars[80],c;intn=0;

while((c=getchar())!=′\n′)s[n++]=c;

n--;

while(n>=0)printf("%c",s[n--]);

}

當(dāng)編譯連接通過(guò)后,運(yùn)行程序T18時(shí),輸入Thank!,則輸出結(jié)果是【】。

39.設(shè)有定義“stmct{inta;floatb;charc}abc,*p_abc=&abc;”,則對(duì)結(jié)構(gòu)體成員a的引用方法可以是abc.a和p_abc______。

40.以下程序中函數(shù)huiwen.的功能是檢查一個(gè)字符串是否是回文,當(dāng)字符串是回文時(shí),函數(shù)返回字符串:yes!,否則函數(shù)返回字符串:no!,并在主函數(shù)中輸出,所謂回文即正向與反向的拼寫(xiě)都一樣,例如:adgda。請(qǐng)?zhí)羁铡?/p>

#include<string.h>

char*huiwen(char*str)

{char*p1,*P2;inti,t=0;

P1=str;p2=【】;

for(i=0;i<=strlen(str)/2;i++)

if(*p1++!=*p2--){t=1;break;}

if(【】)return("yes!");

elsereturn("no!");

}

main()

{charstr[50];

printf("Input:");scanf("%s",str);

printf("%s\n",【】);

}

三、1.選擇題(20題)41.如果進(jìn)棧序列為e1,e2,e3,e4,則可能的出棧序列是()

A.e3,e1,e4,e2B.e2,e4,e3,e1C.e3,e4,e1,e2D.任意順序

42.下列描述中正確的是()。

A.程序就是軟件

B.軟件開(kāi)發(fā)不受計(jì)算機(jī)系統(tǒng)的限制

C.軟件既是邏輯實(shí)體,又是物理實(shí)體

D.軟件是程序、數(shù)據(jù)與相關(guān)文檔的集合

43.以下程序的輸出結(jié)果是()structHAR{intx,y;structHAR*p;}h[2];main(){h[0].x=1;h[0].y=2;h[1].x=3;h[1].y=4;h[0].p=&h[1];h[1].p=h;printf("%d%d\n"h[0].p)->x,(h[1].p)->y);}

A.12B.23C.14D.32

44.下列程序的運(yùn)行結(jié)果是()。#include<stdio.h>main(){staticchara[]="Languagef",b[]="programe";char*p1,*p2;intk;p1=a;p2=b;for(k=0;k<=8;k++)if(*(p1+k)==*(p2+k))printf("%c",*(p1+k));}

A.gaeB.angC.programD.有語(yǔ)法錯(cuò)

45.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指()。

A.數(shù)據(jù)所占的存儲(chǔ)空間

B.數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的存放形式

C.數(shù)據(jù)在計(jì)算機(jī)中的順序存儲(chǔ)方式

D.存儲(chǔ)在計(jì)算機(jī)外存中的數(shù)據(jù)

46.下面程序的功能是輸出以下形式的金字塔圖案:****************#include<stdio.h>main(){inti,j;for(i=1;i<=4;i++){for(j=1;j<=4-i;j++)printf("");for(j=1;j<=______;j++)printf("*");printf("\n");}}在下劃線處應(yīng)填入的是()。

A.iB.2*i-1C.2*i+1D.i+2

47.有以下程序structSTU{charnum[10];floatscore[3];};main(){stmctSTUs[3]={{“20021”,90,95,85},{“20022”,95,80,75},{“20023”,100,95,90}},*p=s;inti;floatsum=0;for(i=0;i<3;i++)sum=sum+p->score[i];printf(“%6.2f\n”,sum);}程序運(yùn)行后的輸出結(jié)果是

A.260B.270C.280D.285

48.fwrite函數(shù)的一般調(diào)用形式是

A.fwrite(buffer,count,size,fp);

B.fwrite(fP,size,count,buffer);

C.fwrite(fp,count,size,buffer);

D.fwrite(buffer,size,count,fp);

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

A.構(gòu)成C程序的基本單位是函數(shù)

B.可以在一個(gè)函數(shù)中定義另一個(gè)函數(shù)

C.main函數(shù)必須放在其他函數(shù)之前

D.C函數(shù)定義的格式是K&R格式

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

A.預(yù)處理命令行都必須以#號(hào)開(kāi)始,結(jié)尾不加分號(hào)

B.在程序中凡是以#號(hào)開(kāi)始的語(yǔ)句行都是預(yù)處理命令行

C.C程序在執(zhí)行過(guò)程中對(duì)預(yù)處理命令進(jìn)行處理

D.預(yù)處理命令可以放在程序中的任何位置

51.下列選項(xiàng)中不屬于軟件生命周期開(kāi)發(fā)階段任務(wù)的是()。

A.軟件測(cè)試B.概要設(shè)計(jì)C.軟件維護(hù)D.詳細(xì)設(shè)計(jì)

52.數(shù)據(jù)字典是對(duì)數(shù)據(jù)定義信息的集合,它所定義的對(duì)象都包含于______。

A.程序框圖B.軟件結(jié)構(gòu)C.數(shù)據(jù)流圖D.方框圖

53.設(shè)有以下程序段intx=0,s=0;while(!x!=0)s+=++x;printf("%d",s);

A.運(yùn)行程序段后輸出0B.運(yùn)行程序段后輸出1C.程序段中的控制表達(dá)式是非法的D.程序段執(zhí)行無(wú)限次

54.以下數(shù)組定義中不正確的是_______。

A.inta[2][3];

B.intb[][3]={0,1,2};

C.intc[100][100={0};

D.intd[3][]={{1,2},{1,2,3},{1,2,3,4}};

55.有以下程序:structSTU{charnum[10];floatscore[3];);main(){structstus[3]={{"20021",90,95,85},{"20022",95,80,75},{"20023",100,95,90}},*p=s;inti;floatsum=0;for(i=0;i<3,i++)sum=sum+p->score[i];printf("%6.2f\n",sum);}程序運(yùn)行后的輸出結(jié)果是()。

A.260B.270C.280D.285

56.若要求定義具有10個(gè)血型元素的一維數(shù)組a,則以下定義語(yǔ)句中錯(cuò)誤的是()。

A.#definmeN10inta[N];

B.#definen5inta[2*n];

C.inta[5+5];

D.intn=10,a[n];

57.執(zhí)行語(yǔ)句“for(n=10;n>0;)printf("%d",--n+n--);”后,下列說(shuō)法正確的是()

A.循環(huán)體執(zhí)行了5次,最終n的值是-1

B.循環(huán)體執(zhí)行了6次,最終n的值是-1

C.循環(huán)體執(zhí)行了6次,最終n的值是0

D.循環(huán)體執(zhí)行了5次,最終n的值是0

58.若有以下的說(shuō)明,對(duì)初值中整數(shù)2的正確引用方式是()。staticstruct{charch;inti;doublex;}a[2][3]={{{'a',1,3,45},{'b',2,7,98},{'c',31,93}}};

A.a[0][1].chB.a[0][1].iC.a[0][0].iD.a[0][2].i

59.下列敘述中正確的是()。A.一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)只能有一種存儲(chǔ)結(jié)構(gòu)

B.邏輯結(jié)構(gòu)屬于線性結(jié)構(gòu),存儲(chǔ)結(jié)構(gòu)屬于非線性結(jié)構(gòu)

C.一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu),且各種存儲(chǔ)結(jié)構(gòu)不影響數(shù)據(jù)處理的效率

D.一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu),且各種存儲(chǔ)結(jié)構(gòu)影響數(shù)據(jù)處理的效率

60.下列程序的運(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

四、選擇題(20題)61.

62.

63.x,y,z被定義為int型變量,若從鍵盤(pán)給x,y,z輸入數(shù)據(jù),正確的輸入語(yǔ)句是()。

A.INPUTx,y、z;

B.scanf(”%d%d%d”,&x,&y,&z.);

C.sCanf(”%d%d%d”,x,y,z.);

D.read(”%d%d%d”,&x,&y,&z.);

64.

65.

66.

67.有以下程序:

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

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

68.以下選項(xiàng)中正確的定義語(yǔ)句是()。

A.double,a,b;B.doublea=b=7;C.doublea;b;D.doublea=7,b=7;

69.

70.若有定義:intX=0,*P=&x;,則語(yǔ)句printf(”%d\n”,*P.的輸出結(jié)果是()。

A.隨機(jī)值B.0C.X的地址D.P的地址

71.有以下程序:

#include<stdio.h>

main()

{intx=1,y=0;

if(!x)y++;

elseif(x==0)

if(x)y+=2;

elsey+=3;

Drintf("%d\n"。v);

}

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

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

72.設(shè)有如下三個(gè)關(guān)系表

下列操作中正確的是()。

A.T=RnSB.T=RUSC.T=R×SD.T=R/S

73.

74.

75.若在定義語(yǔ)句:inta,b,c,*p=&c;之后,接著執(zhí)行以下選項(xiàng)中的語(yǔ)句,則能正確執(zhí)行的語(yǔ)句是()。

A.scanf("%d",a,b,c);

B.scanf("%d%d%d",a,b,c):

C.scanf("%d",p);

D.scanf("%d",&p);

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

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

77.(21)算法的空間復(fù)雜度是指______。

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

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

C.算法程序所占的存儲(chǔ)空間

D.算法執(zhí)行過(guò)程中所需要的存儲(chǔ)空間

78.整型變量X和Y的值相等,且為非0值,則以下選項(xiàng)中結(jié)果為0的表達(dá)式是()。

A.X‖YB.X|YC.X&YD.X^Y

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

A.執(zhí)行算法程序所需要的時(shí)間B.算法程序的長(zhǎng)度C.算法執(zhí)行過(guò)程所需要的基本運(yùn)算次數(shù)D.算法程序中的指令條數(shù)

80.若有說(shuō)明“chars1[30]="abc",s2[]="defghi";",則在使用函數(shù)stoat(s1,s2)后,結(jié)果是()。

A.s1的內(nèi)容更新為abcdefghi

B.s1的內(nèi)容更新為defghi\0

C.s1的內(nèi)容更新勾defghiabc\0

D.s1的內(nèi)容更新為abcdefghi\0

五、程序改錯(cuò)題(1題)81.下列給定的程序中,函數(shù)proc()的功能是:計(jì)算并輸出m以內(nèi)最大的6個(gè)能被7或11整除的自然數(shù)之和。m的值由主函數(shù)傳人。例如,若m的值為600,則函數(shù)的值為3515。請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫(xiě)函數(shù)proc(),該函數(shù)的功能是:移動(dòng)一維數(shù)組中的內(nèi)容,若數(shù)組中有n個(gè)整數(shù),要求把下標(biāo)從p到n-1(p≤n-1)的數(shù)組元素平移到數(shù)組的前面。例如,一維數(shù)組中的原始內(nèi)容為1,2,3,4,5,6,7,8,9,10,11,12,13,14,P的值為4。移動(dòng)后,一維數(shù)組中的內(nèi)容應(yīng)為5,6,7,8,9,10.11,12,13,14,1,2,3,4。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:

參考答案

1.B在第1次外層for循環(huán)中,首先x++得到x=1。進(jìn)入到內(nèi)層for循環(huán),只有循環(huán)j的值為奇數(shù)時(shí),變量x的值才自加1,所以在內(nèi)層for循環(huán)執(zhí)行過(guò)程中,變量x的值自加兩次,當(dāng)退出內(nèi)層for循環(huán)時(shí),x=3,然后執(zhí)行x++,得到x=4。在進(jìn)入執(zhí)行第2次外層for循環(huán)中,首先x++得到x=5。進(jìn)入到內(nèi)層for循環(huán),只有循環(huán)變量j的值為奇數(shù)時(shí),變量x的值才自加1,所以在內(nèi)層for循環(huán)執(zhí)行過(guò)程中,變量X的值自加1兩次,當(dāng)退出內(nèi)層for循環(huán)時(shí),x=7,然后執(zhí)行x++,得到x=8,所以打印輸出變量x的值為8。

2.C空函數(shù)是函數(shù)體沒(méi)有執(zhí)行語(yǔ)句的函數(shù)。選項(xiàng)A、D不是空函數(shù);選項(xiàng)B是函數(shù)的聲明;只有選項(xiàng)C是空函數(shù)。故本題答案為C選項(xiàng)。

3.D

4.DCIN為結(jié)構(gòu)體類型名,而不是結(jié)構(gòu)體變量。故本題答案為D選項(xiàng)。

5.D

6.A

7.Cscanf函數(shù)用于輸入數(shù)據(jù)。第1個(gè)參數(shù)表示輸入格式控制。本題變量a是double類型,使用格式控制符%If;變量b是float類型,使用%If;變量c是short類型,使用%hd,選項(xiàng)C正確。本題答案為C選項(xiàng)。

8.C

9.D

10.D

11.B

12.A

13.D

14.D

15.B

16.B一般較優(yōu)秀的軟件設(shè)計(jì),應(yīng)盡量做到高內(nèi)聚、低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨(dú)立性。

17.D

18.B解析:函數(shù)getchar()的作用是從終端(或系統(tǒng)隱含指定的輸入設(shè)備)輸入一個(gè)字符,且只能接受—個(gè)字符(回車符也算是—個(gè)字符),所以getchar()不能用宋讀入字符串。scanf()函數(shù)要求按—定的格式來(lái)輸入,若同時(shí)輸入多個(gè)字符串,則以空格或回車分割,所以空格不能被識(shí)別為—個(gè)字符,也就無(wú)法讀入空格字符。函數(shù)gets()的作用是從終端輸入—個(gè)字符串\u3000(包括空格)至字符數(shù)組,直到遇到換行符為止,所以可以用來(lái)鍵盤(pán)讀入空格字符。

19.C

20.D

21.1000001010000010解析:運(yùn)算“&”的規(guī)則是只有當(dāng)兩個(gè)相應(yīng)的二進(jìn)制位都為1時(shí),該位的結(jié)果才為1。要保留第2、8位,只要將其與二進(jìn)制數(shù)10000010相與。

22.原型化原型化

23.數(shù)據(jù)模型數(shù)據(jù)模型

24.D

25.18或1918或19

26.25811142581114解析:本題通過(guò)while和if語(yǔ)句,求得出1~15之間與3取模為2的整數(shù),并依次輸出。

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

28.2626解析:a*=16+(b++)-(++c)等價(jià)于a*=a*(16+(b++)-(++c))=2*(16+(2-5)=26。b++是先使用b的值參加運(yùn)算,再對(duì)b加1;++c是先c加1,再使用c的值參加運(yùn)算。

29.概念或概念級(jí)概念或概念級(jí)解析:數(shù)據(jù)庫(kù)系統(tǒng)在其內(nèi)部具有三級(jí)模式及二級(jí)映射,三級(jí)模式分別是概念級(jí)模式、內(nèi)部級(jí)模式和外部級(jí)模式。概念模式是數(shù)據(jù)庫(kù)系統(tǒng)中全局?jǐn)?shù)據(jù)邏輯結(jié)構(gòu)的描述,是全體用戶(應(yīng)用)公共數(shù)據(jù)視圖。

內(nèi)模式式又稱物理模式,它給出了數(shù)據(jù)庫(kù)物理存儲(chǔ)結(jié)構(gòu)與物理存取方法,如數(shù)據(jù)存儲(chǔ)的文件結(jié)構(gòu)、索引、集簇及hash等存取方式與存取路徑,內(nèi)模式的物理性主要體現(xiàn)在操作系統(tǒng)及文件級(jí)上,它還未深入到設(shè)備級(jí)上(如磁盤(pán)及磁盤(pán)操作)。

外模式也稱子模式或用戶模式,它是用戶的數(shù)據(jù)視圖,也就是用戶所見(jiàn)到的數(shù)據(jù)模式,它由概念模式推導(dǎo)而出。

30.w[i-1]w[i-1]解析:在用數(shù)組實(shí)現(xiàn)的有序序列中插入內(nèi)容,必須先尋找插入位置。插入位置找到后,需將插入位置之后的元素向后移動(dòng)一個(gè)位置,留出插入點(diǎn)。最后,將元素插入,并增加序列的元素個(gè)數(shù)。函數(shù)為了簡(jiǎn)化尋找插入位置循環(huán)的循環(huán)條件,預(yù)先在序列的最后置入插入值。插入位置之后的元素向后移動(dòng)一個(gè)位置必須從最后一個(gè)元素開(kāi)始往前逆序移動(dòng),是將前一個(gè)元素向后移,所以在空框處應(yīng)填入w[i-1]。

31.降低復(fù)雜性降低復(fù)雜性

32.return0或return(0)return1或return(1)return0或return(0)\r\nreturn1或return(1)解析:素?cái)?shù)是指只能被1和其本身整除,不能被其他任何整數(shù)整除的數(shù)。根據(jù)if條件語(yǔ)句,若形參a對(duì)i取余等于0,則形參a可以被其他數(shù)整除,所以第一處填return0;若形參a對(duì)i取余不等于0,則形參s不可以被其他數(shù)整除,所以第二處填return1。

33.驅(qū)動(dòng)模塊驅(qū)動(dòng)模塊解析:在進(jìn)行模塊測(cè)試時(shí),要為每個(gè)被測(cè)試的模塊另外設(shè)計(jì)兩類模塊:驅(qū)動(dòng)模塊和承接模塊(樁模塊)。其中,驅(qū)動(dòng)模塊相當(dāng)于被測(cè)試模塊的主程序,它接收測(cè)試數(shù)據(jù),并傳給被測(cè)試模塊,輸出實(shí)際測(cè)試結(jié)果。承接模塊通常用于代替被測(cè)試模塊調(diào)用的其他模塊,其作用僅做少量的數(shù)據(jù)操作,是一個(gè)模擬子程序,不必將子模塊的所有功能帶入。

34.層次模型用樹(shù)型結(jié)構(gòu)表示實(shí)體類型及實(shí)體間聯(lián)系的數(shù)據(jù)模型稱為層次模型,用有向圖結(jié)構(gòu)表示實(shí)體類型及實(shí)體間聯(lián)系的數(shù)據(jù)模型稱為網(wǎng)狀模型,用二維表格結(jié)構(gòu)表示實(shí)體及其聯(lián)系的數(shù)據(jù)模型稱為關(guān)系模型。

35.存儲(chǔ)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)包括3個(gè)方面,即數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)及對(duì)數(shù)據(jù)的操作運(yùn)算。

36.

解析:冒泡排序法是通過(guò)相鄰數(shù)據(jù)元素的交換逐步將線性表變成有序。假設(shè)線性表的長(zhǎng)度為n,則在最壞的情況下,冒泡排序需要經(jīng)過(guò)遍的從前往后的掃描和遍的從后往前的掃描,需要的比較次數(shù)為。

37.1B

38.!knahT!knahT解析:此程序是一道次序顛倒題,即輸入'Thank!',則輸出'!knahT'。

39.若結(jié)構(gòu)體變量abc有成員a,并有指針p_abc指向結(jié)構(gòu)變量abe,則引用變量abe成員s的標(biāo)記形式有abe.a和p_abc->a。

40.str+strlen(str)-1i>strlen(str)/2huiwen(str)str+strlen(str)-1\r\ni>strlen(str)/2\r\nhuiwen(str)解析:首先使指針p1指向字符串的首地址,指針p2指向字符串的尾地址(不包括字符串結(jié)束標(biāo)記'\\0'),然后指針p1從前往后,指針p2從后往前,直到移至字符串的中間元素,若兩者所指的元素不相等,則跳出循環(huán),此時(shí)i<=strlen(str)/2,若兩者所指的元素均相等,則此時(shí)i>strlen(str)/2。

通過(guò)if語(yǔ)句判斷,如果i>strlen(str)/2,則返回“yes!”,否則返回“no!”。

主函數(shù)中要求輸出函數(shù)huiwen(str)的返回值。

41.B解析:由棧“后進(jìn)先出”的特點(diǎn)可知:A中e1不可能比e2先出,C中e3不可能比e4先出,且e1不可能比e2先出,D中棧是先進(jìn)后出的,所以不可能是任意順序。所以B是正確的。它執(zhí)行的順序是:e1進(jìn)?!鷈2進(jìn)?!鷈2出?!鷈3進(jìn)?!鷈4進(jìn)棧→e4出?!鷈3出?!鷈1出棧,所以只看出棧序列應(yīng)為e2,e4,e3,e1。

42.D\r\n軟件是與計(jì)算機(jī)操作相關(guān)的計(jì)算機(jī)程序、規(guī)程、規(guī)則,以及可能有的文件、文檔及數(shù)據(jù);軟件開(kāi)發(fā)要受到計(jì)算機(jī)系統(tǒng)的限制;軟件是一個(gè)邏輯實(shí)體,不是物理實(shí)體,軟件具有抽象性。因此選項(xiàng)D正確。

43.D解析:本題中是一個(gè)含有兩個(gè)結(jié)點(diǎn)的循環(huán)鏈表。

C語(yǔ)言中結(jié)構(gòu)體的定義為:

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

{

成員項(xiàng)表;

};

44.A解析:本題考查指針的用法,if(*(p1+k)==*(p2+k))語(yǔ)句的功能是判斷兩個(gè)數(shù)組中的字符是否相同,如果相同則輸出。

45.B解析:數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu),又稱為數(shù)據(jù)的物理結(jié)構(gòu),是數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的存放形式,數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)有順序結(jié)構(gòu)、鏈?zhǔn)浇Y(jié)構(gòu)、散列結(jié)構(gòu)和索引結(jié)構(gòu)等。

46.B解析:本題是找出打印“*”號(hào)的條件,從圖中我們可以找到規(guī)律,第一行1個(gè)“*”,第二行3個(gè)“*”,第三行5個(gè)*,……,即每行中。的個(gè)數(shù)恰好是行數(shù)的2倍減一個(gè),由此不難得出,橫線處應(yīng)當(dāng)填入2*i-1。

47.B解析:程序中首先定義了一個(gè)結(jié)構(gòu)體,其成員為一字符數(shù)組和一浮點(diǎn)型數(shù)組。在main()首先定義了一個(gè)結(jié)構(gòu)體數(shù)組并初始化。接下來(lái)在for循環(huán)中遍歷了結(jié)構(gòu)體數(shù)組中的第一個(gè)元素中數(shù)組成員即{20021“,90,95,85”}循環(huán)結(jié)果為90+95+85=270最后sum為270,又輸出格式為“%6.2f\\n”要求保留兩位小數(shù)故最后輸出為270.00。

48.D解析:fwrite的形式是fwrite(buffer,size,count,fp),buffer表示準(zhǔn)備輸出的數(shù)據(jù)塊的起始地址,size表示每個(gè)數(shù)據(jù)塊的字節(jié)數(shù),count用來(lái)指定每寫(xiě)一次或輸出的數(shù)據(jù)塊,fp為文件指針。

49.A解析:本題考查C語(yǔ)言的綜合基礎(chǔ)知識(shí)。構(gòu)成C程序的基本單位是函數(shù),一個(gè)C程序總是從main函數(shù)開(kāi)始執(zhí)行,而不論main函數(shù)在整個(gè)程序中的位置如何。C語(yǔ)言的函數(shù)定義都是互相平行、獨(dú)立的,在定義函數(shù)時(shí),一個(gè)函數(shù)內(nèi)不能定義另一個(gè)函數(shù)。C函數(shù)定義的一般格式有兩種:傳統(tǒng)格式和現(xiàn)代格式。傳統(tǒng)格式也稱K&R格式,是早期編譯系統(tǒng)使用的格式;現(xiàn)代格式又稱ANSI格式,是現(xiàn)代編譯系統(tǒng)使用的格式。

50.C解析:本題考查預(yù)處理命令的特點(diǎn)。編譯預(yù)處理命令的特點(diǎn)有:①為了區(qū)分一般的語(yǔ)句,預(yù)處理命令行都必須以#開(kāi)始,結(jié)尾不加分號(hào);②預(yù)處理命令可以放在程序中的任意位置;③在程序中凡是以#開(kāi)始的語(yǔ)句都是預(yù)處理命令行。

51.C解析:軟件生命周期由軟件定義、軟件開(kāi)發(fā)和軟件維護(hù)三個(gè)時(shí)期組成,每個(gè)時(shí)期又進(jìn)一步劃分為若干個(gè)階段。軟件定義時(shí)期的基本任務(wù)是確定軟件系統(tǒng)的工程需求。軟件定義可分為軟件系統(tǒng)的可行性研究和需求分析兩個(gè)階段。軟件開(kāi)發(fā)時(shí)期是具體設(shè)計(jì)和實(shí)現(xiàn)在前一時(shí)期定義的軟件,它通常由下面五個(gè)階段組成:概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編寫(xiě)代碼、組裝測(cè)試和確認(rèn)測(cè)試。軟件維護(hù)時(shí)期的主要任務(wù)是使軟件持久地滿足用戶的需要。即當(dāng)軟件在使用過(guò)程中發(fā)現(xiàn)錯(cuò)誤時(shí)應(yīng)加以改正;當(dāng)環(huán)境改變時(shí)應(yīng)該修改軟件,以適應(yīng)新的環(huán)境;當(dāng)用戶有新要求時(shí)應(yīng)該及時(shí)改進(jìn)軟件,以滿足用戶的新要求。根據(jù)上述對(duì)軟件生命周期的介紹,可知選項(xiàng)C中的軟件維護(hù)不是軟件生命周期開(kāi)發(fā)階段的任務(wù)。因此,本題的正確答案是C。

52.C解析:數(shù)據(jù)字典是對(duì)數(shù)據(jù)定義的信息的集合,是對(duì)數(shù)據(jù)流圖中包含的所有元素定義的集合。數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)的邏輯模型,沒(méi)有數(shù)據(jù)流圖則數(shù)據(jù)字典難以發(fā)揮作用,沒(méi)有數(shù)據(jù)字典則數(shù)據(jù)流圖就不嚴(yán)格。

53.B解析:本題考查邏輯非運(yùn)算符和不等于運(yùn)算符的區(qū)別,邏輯非運(yùn)算符“!”的優(yōu)先級(jí)大于不等于運(yùn)算符“!=”的優(yōu)先級(jí)。注意:for語(yǔ)句和do…while語(yǔ)句的使用。

54.D解析:一維數(shù)組的定義方式為:

類型說(shuō)明符數(shù)組名[常量表達(dá)式];

選項(xiàng)A符合此定義形式,正確;C語(yǔ)言中多維數(shù)組賦初值時(shí)可以部分賦值,也可以不指定除第一維以外的其他維的大小,故選項(xiàng)C正確;另外,如果對(duì)全部數(shù)組元素都賦初值,則定義數(shù)組時(shí)對(duì)第一維的長(zhǎng)度可以不指定,但第二維的長(zhǎng)度不能省,所以選項(xiàng)B正確,而選項(xiàng)D是錯(cuò)誤的。

55.B解析:程序中首先定義了一個(gè)結(jié)構(gòu)體,其成員為一字符數(shù)組和一實(shí)型數(shù)組。在main()中首先定義了一個(gè)結(jié)構(gòu)體數(shù)組并初始化。接下來(lái)在for循環(huán)中遍歷了結(jié)構(gòu)體數(shù)組的第一個(gè)元素中數(shù)組成員即{'20021',90,95,85'}循環(huán)結(jié)果為90+95+85=270最后sum為270,又輸出格式為%6.2f\\n要求保留兩位小數(shù),故最后輸出為270.00。所以4個(gè)選項(xiàng)中B正確。

56.D解析:C語(yǔ)言規(guī)定,在定義數(shù)組時(shí)數(shù)組名后的方括號(hào)中必須是

溫馨提示

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