2021年山西省運(yùn)城市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第1頁(yè)
2021年山西省運(yùn)城市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第2頁(yè)
2021年山西省運(yùn)城市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第3頁(yè)
2021年山西省運(yùn)城市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第4頁(yè)
2021年山西省運(yùn)城市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2021年山西省運(yùn)城市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.在10000個(gè)int型變量中找出最大的100個(gè),使用下列排序算法中哪一種用時(shí)最快()

A.冒泡排序B.快速排序C.歸并排序D.堆排序

2.有以下程序:

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

A.02B.13C.57D.12

3.順序查找不論在順序線性表中還是在鏈?zhǔn)骄€性表中的時(shí)間復(fù)雜度為()。

A.O(n)B.O(n^2)C.O(n^1/2)D.O(1og2n)

4.有下列程序:intfunl(doublea){returna*=a;)intfun2(doublex,doubley){doublea=0,b=0;a=funl(x);b=funl(y);return(int)(a+h);}main{doublew;w=fun2(1.1,2.0),……)程序執(zhí)行后變量w中的值是()。A.5.21B.5C.5.0D.0.0

5.軟件設(shè)計(jì)包括軟件的結(jié)構(gòu)、數(shù)據(jù)接口和過(guò)程設(shè)計(jì),其中軟件的過(guò)程設(shè)計(jì)是指()

A.模塊間的關(guān)系B.系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過(guò)程描述C.軟件層次結(jié)構(gòu)D.軟件開(kāi)發(fā)過(guò)程

6.設(shè)有函數(shù)說(shuō)明語(yǔ)句:intfun(int,int);以及函數(shù)指針定義語(yǔ)句:int(*f)(int,int);若要使函數(shù)指針指向函數(shù)fun的入口地址,以下選項(xiàng)中正確的是()。

A.f=fun();B.*f=fun;C.f=fun;D.*f=fun();

7.

8.數(shù)據(jù)庫(kù)是()的集合,它具有統(tǒng)一的結(jié)構(gòu)格式并存放于統(tǒng)一的存儲(chǔ)介質(zhì),可被各個(gè)應(yīng)用程序所共享

A.視圖B.消息C.數(shù)據(jù)D.關(guān)系

9.

10.下述函數(shù)功能是______。intfun(char*x){char*y=x;while(*y++);returny-x-1;}

A.求字符串的長(zhǎng)度B.求字符串存放的位置C.比較兩個(gè)字符串的大小D.將字符串x連接到字符串y后面

11.有以下程序:#include<stdio.b>voidfun(charc){if(c>X)fun(c-1):printf("%C",c);}traia(){fun(z);}程序運(yùn)行后的輸出結(jié)果是()A.xyzB.wxyzC.xzyD.zvx

12.若有以下程序

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

A.China!B.toChina!C.meyoutoChina!D.youtoChina!

13.在一個(gè)元素個(gè)數(shù)為N的數(shù)組里,找到升序排在N/5位置的元素的最優(yōu)算法時(shí)間復(fù)雜度是()A.O(n)B.O(nlogn)C.O(n(logn)2)D.O(n3/2)

14.printf函數(shù)中用到格式符%5s,其中數(shù)字5表示輸出的字符串占用5列。如果字符串長(zhǎng)度大于5,則輸出按方式()。

A.從左起輸出該字串,右補(bǔ)空格B.按原字符長(zhǎng)從左向右全部輸出C.右對(duì)齊輸出該字串,左補(bǔ)空格D.輸出錯(cuò)誤信息

15.數(shù)組A[0...4,-1...-3,5...7]中含有的元素個(gè)數(shù)是()。A.A.55B.45C.36D.16

16.有以下程序段:intx=3;do{printf("%d",x-=2);)while(!(--x));其輸出結(jié)果是()。A.1B.30C.1-2D.死循環(huán)

17.下列各排序法中,最壞情況下的時(shí)間復(fù)雜度最低的是()

A.希爾排序B.快速排序C.堆排序D.冒泡排序

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

A.ABCDDEFEDBDB.abcDDfefDbDC.abcAAfefAbAD.Abcddfefdbd

19.下列條件語(yǔ)句中,輸出結(jié)果與其他語(yǔ)句不同的是()。

A.if(a!=0)printf(“%d\n”,x);elseprintf(“%d\n”,y);

B.if(a==0)printf(“%d\n”,y);elseprintf(“%d\n”,x);

C.if(a==0)printf(“%d\n”,x);elseprintf(“%d\n”,y);

D.if(a)printf(“%d\n”,x);elseprintf(“%d\n”,y);

20.以下不能正確進(jìn)行字符串賦初值的語(yǔ)句是

A.charstr[5]="good!";

B.charstr[]="good!";

C.char*srt="good!";

D.charstr[5]={'g','o','o','d'};

二、2.填空題(20題)21.在對(duì)文件進(jìn)行操作的過(guò)程中,若要求指針的位置回到文件的開(kāi)頭,應(yīng)當(dāng)調(diào)用的函數(shù)是【】。

22.已知字母A的ASCII碼為65。以下程序運(yùn)行后的輸出結(jié)果是______。

main()

{chara,b;

a='A'+'5'-'3';b=a+'6'-'2';

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

}

23.已知head指向一個(gè)帶頭結(jié)點(diǎn)的單向鏈表,鏈表中每個(gè)結(jié)點(diǎn)包含數(shù)據(jù)域(data)和指針域(next),數(shù)據(jù)域?yàn)檎?。以下函?shù)求出鏈表中所有鏈結(jié)點(diǎn)數(shù)據(jù)域的和值,作為函數(shù)值返回。請(qǐng)?jiān)谙聞澗€內(nèi)填入正確內(nèi)容。

{intdata;structlink*next;}

main()

{structlink*head;

sum(head);

┆}

sum(【】);

{structlink*p;ints=0;

p=head->next;

while(p){s+=p->data;p=p->next;}

return(s);}

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

main()

{charc='z';

printf("%c",c-25);}

25.防止軟盤(pán)感染病毒的最有效的方法是【】。

26.以下程序的功能是建立一個(gè)帶有頭結(jié)點(diǎn)的單向鏈表,鏈表結(jié)點(diǎn)中的數(shù)據(jù)通過(guò)鍵盤(pán)輸入,當(dāng)輸入數(shù)據(jù)為-1時(shí),表示輸入結(jié)束(鏈表頭結(jié)點(diǎn)的data域不放數(shù)據(jù),表空的條件是ph->next==NULL),請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

structlist{intdata;structlist*next;};

structlist*creatlist()

{structlist*p,*q,*ph;inta;ph=(structlist*)malloc(sizeof(structlist));

p=q=ph;printf("Inputanintegernumber;entre-1toend:\n");

scanf("%d",&a);

while(a!=-1)

{p=(structlist*)malloc(sizeof(structlist));

[14]=a;q->next=p;[15]=p;scanf("%d",&a);}

p->next='\0';return(ph);}

main()

{stuctlist*head;head=creatlist();}

27.下列程序中字符串中各單詞之間有一個(gè)空格,則程序的輸出結(jié)果是【】。

#include<string.h>

main()

{charstr1[]="Howdoyoudo",*p1=str1;

strcpy(str1+strlen(str1)/2,"eshe");

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

}

28.設(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值為【】。

29.下列程序的循環(huán)次數(shù)是______。

x=2;

do

{x=x*x;}

while(!x);

30.若x和y都是double型變量,且x的初值為3.0,y的初值為2.0,則表達(dá)式pow(y,fabs(x))的值為【】。

31.軟什是程序、數(shù)據(jù)和______的集合。

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

main()

{chars[]="9876",*p;

for(p=s;p<s+2;p++)printf("%s\n",p);

}

33.結(jié)構(gòu)化程序設(shè)計(jì)的3種基本結(jié)構(gòu)分別是順序、選擇和______。

34.如果兩個(gè)8位二進(jìn)制數(shù)00010101與01000111相加,其結(jié)果用十進(jìn)制表示為【】。

35.結(jié)構(gòu)化分析方法是面向______進(jìn)行分析的方法。

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

#include<stdio.h>

int(intx,inty,intcp,intdp)

{cp=x*x+y*y;

dp=x*x-y*y;

}

main()

{inta=1,b=8,c=7,d=9;

t(a,b,c,d);

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

}

37.以下函數(shù)把b字符串連到a字符串的后面,并返回a中新字符串的長(zhǎng)度,請(qǐng)?zhí)羁铡?/p>

strcen(chara[],charb[])

{

intnum=0,n=0;

while(*(a+num)!=【】)num++;

while(b[n]){*(a+num)=b[n];num++;【】;}

returnnum;

}

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

39.當(dāng)線性表采用順序存儲(chǔ)結(jié)構(gòu)實(shí)現(xiàn)存儲(chǔ)時(shí),其主要特點(diǎn)是______。

40.問(wèn)題處理方案的正確而完整的描述稱為_(kāi)_____。

三、1.選擇題(20題)41.以下合法的字符型常量是

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

42.若fp是指向某文件的指針,且已讀到文件末尾,則函數(shù)feof(fp)的返回值是

A.EOFB.-1C.1D.NULL

43.設(shè)有以下語(yǔ)句:inta=1,b=2,c;c=a∧(b<<2);執(zhí)行后,c的值為()。

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

44.下面四個(gè)選項(xiàng)中,不屬于數(shù)據(jù)庫(kù)管理系統(tǒng)提供的數(shù)據(jù)語(yǔ)言的是

A.數(shù)據(jù)定義語(yǔ)言B.數(shù)據(jù)查詢語(yǔ)言C.數(shù)據(jù)操縱語(yǔ)言D.數(shù)據(jù)控制語(yǔ)言

45.以下4個(gè)選項(xiàng)中,不能看作一條語(yǔ)句的是

A.;B.a=5,b=2.5,c=3.6;C.if(a<5);D.if(b!=5)x=2;y=6;

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

A.快速排序B.選擇排序C.堆排序D.冒泡排序

47.在下列選項(xiàng)中,沒(méi)有構(gòu)成死循環(huán)的是()。

A.inti=100;while(1){i=i%100+1;if(i>100)break;}

B.for(;;);

C.intk=10000;do{k++;}while(k>10000);

D.ints=36;while(s)--s;

48.若變量已正確定義,有以下程序段

inta=3,b=5,c=7;

if(a>b)a=b;c=a;

if(c!=a)c=b;

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

其輸出結(jié)果是

A.程序段有語(yǔ)法錯(cuò)B.3,5,3C.3,5,5D.3,5,7

49.語(yǔ)句int(*ptr)()的含義是()。

A.ptr是一個(gè)返回值是int的函數(shù)

B.ptr是指向int型數(shù)據(jù)的指針變量

C.ptr是指向函數(shù)的指針,該函數(shù)返回一個(gè)int型數(shù)據(jù)

D.ptr是一個(gè)函數(shù)名,該函數(shù)的返回值是指向int型數(shù)據(jù)的指針

50.在下列關(guān)于邏輯表達(dá)式a&&b的敘述中,錯(cuò)誤的一條是()

A.若a為真、b為真,則a&&b為真

B.若a為真、b為假,則a&&b為假

C.若a為假、b為真,則a&&b為真

D.若a為假、b為真,則a&&b為假

51.以下程序的輸出結(jié)果是()#include<string.h>main(){chars1[]="123",s2[]="abc",ss[20]="010";strcat(ss+1,strcpy(s2,s1));printf("%s\n",ss);}

A.10123B.0abcC.1123D.01abc

52.下面程序的輸出結(jié)果是#include<stdio.h>#include<string.h>main(){char*pl="abc",*p2="ABC",str[50]="xyz";strcpy(str+2,strcat(p1,p2));printf("%s\n",str);}

A.xyzabcABCB.zabcABCC.xyabcABCD.yzabcABC

53.以下程序的輸出結(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

54.以下程序中函數(shù)sort的功能是對(duì)a所指數(shù)組中的數(shù)據(jù)進(jìn)行由大到小的排序:voidsort(inta[],intn){inti,j,t;for(i=0;i<n-1;i++)for(j=i+1;i<n;j++)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[3],5);for(i=0;i<10;i++)printf('%d,",aa[i]);printf("\n");}程序運(yù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.1,2,3,8,7,6,5,4,9,10,

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

55.以下錯(cuò)誤的定義語(yǔ)句是A.intx[][3]={{0},{1},{1,2,3}};

B.intx[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};

C.intx[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};

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

56.下列程序語(yǔ)句中,不正確的是______。

A.maia(){floata,b,c;scanf("%f,%f",&a,&b);c=add(a,b);……}intadd(floatx,floaty){……}

B.main(){floata,b,c;scanf("%f,%f",&a,&b);c=add(a,b);……}floatadd(floatx,floaty){……}

C.floatadd()maia(){floata,b,c;scanf("%f,%f",&a,&b);c=add(a,b);……}floatadd(floatx,floaty){……}

D.floatadd(floatx,floaty){……}main(){floata,b,c;scanf("%f,%f",&a,&b);c=add(a,b);……}

57.有以下說(shuō)明和定義語(yǔ)句structstudent{intage;charnum[8];structstudentstu[3]={{20,"200401"},{21,"200402"},{19,"200403"}};structstudent*p=stu;};以下選項(xiàng)中引用結(jié)構(gòu)體變量成員的表達(dá)式錯(cuò)誤的是

A.(p++)->numB.p->numC.(*p).numD.stu[3].a(chǎn)ge

58.棧底至棧頂依次存放元素A、B、C、D,在第五個(gè)元素E入棧前,棧中元素可以出棧,則出棧序列可能是

A.ABCEDB.DCBEAC.DBCEAD.CDABE

59.已有定義:chara[]="xyz",b[]={'x','y','z'};,以下敘述中正確的是

A.數(shù)組a和b的長(zhǎng)度相同B.a數(shù)組長(zhǎng)度小于b數(shù)組長(zhǎng)度C.a數(shù)組長(zhǎng)度大于b數(shù)組長(zhǎng)度D.上述說(shuō)法都不對(duì)

60.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);

四、選擇題(20題)61.有如下程序段:inta=14,b=15,x;charc=A;x=(a&&b)&&(c<B):執(zhí)行該程序后,x的值為()。A.trueB.falseC.0D.1

62.若有說(shuō)明“chars1[30]="abc",s2[]="defghi";",則在使用函數(shù)stoat(s1,s2)后,結(jié)果是()。A.A.s1的內(nèi)容更新為abcdefghiB.s1的內(nèi)容更新為defghi\0

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

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

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

main()

{inta=1;

charc=’a’;

floatf=2.0;

Printf("%d\n",(!(a==0),f1=0&&c==’A’));

}

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

64.

有下列程序:

#include<stdio.h>

main

{inta=6,b=7,m=1;

switch(a%2)

{case0:m++;break;

case1:m++;

switch(b%2)

{default:m++;

case0:m++;break;

}

}

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

}

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

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

65.

66.

67.以下能正確定義賦初值的語(yǔ)句是()。

A.intnl=n2=10:

B.Chare=32;

C.floatf=f+1.1;

D.doublex=12.3E2.5;

68.下列關(guān)于數(shù)據(jù)庫(kù)設(shè)計(jì)的敘述中,正確的是()。

A.在需求分析階段建立數(shù)據(jù)字典

B.在概念設(shè)計(jì)階段建立數(shù)據(jù)字典

C.在邏輯設(shè)計(jì)階段建立數(shù)據(jù)字典

D.在物理設(shè)計(jì)階段建立數(shù)據(jù)字典

69.以下不合法的字符常量是

A.’x\018’B.’\"’C.’\\’D.’\xcc’

70.一間工廠可有多個(gè)工人,則實(shí)體工廠和工人之間的聯(lián)系是

A.一對(duì)一B.一對(duì)多C.多對(duì)一D.多對(duì)多

71.

72.(72)n個(gè)頂點(diǎn)的強(qiáng)連通圖的邊數(shù)至少有______。

A.n-1

B.n(n-1)

C.n

D.n+1

73.下列程序的輸出結(jié)果是()。#includedstdi0.h>#includedstring.h>voidfun(intb[]){staticinti=0;do{b[i]+=b[i+1];}while(++i<2);}main{intk,a[5]={1,3,5,4,9};fun(a);for(k=0;k<5;k++)printf("%d",a[k]);}A.13579B.48579C.48549D.48999

74.

75.在面向?qū)ο蠓椒ㄖ校粚儆凇皩?duì)象”基本特點(diǎn)的是A.一致性B.分類性C.多態(tài)性D.標(biāo)識(shí)唯一性

76.下列描述中正確的是

A.軟件指的就是程序B.軟件開(kāi)發(fā)不受任何計(jì)算機(jī)系統(tǒng)的限制

C.軟件既是邏輯實(shí)體,又是物理實(shí)體D.軟件是程序、數(shù)據(jù)與相關(guān)文檔的集合

77.有以下程序:

voidfun2(chara,charb){printf(”%c%c”,a,b);}

chara='A',b='B';

voidfunl(){a='C';b='D';}

main()

{funl();

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

fun2('E','F');

}

程序的運(yùn)行結(jié)果是()。A.A.CDEFB.ABEFC.ABCDD.CDAB

78.CSS指的是下列()的縮寫(xiě)。

A.ComputerStyle.Sheets

B.CascadingStyle.Sheets

C.CreativeStyle.Sheets

D.ColorfulStyle.Sheets

79.有以下程序main(){union{charch[2];intd;}s;s.d=0x4321;printf("%x,%x\n",s.ch[0],s.ch[1]);}在16位編譯系統(tǒng)上,程序執(zhí)行后的輸出結(jié)果是______。A.21,43B.43,21C.43,00D.21,00

80.對(duì)如下二叉樹(shù)進(jìn)行后序遍歷的結(jié)果為()。

A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc的功能是計(jì)算正整數(shù)m各位上數(shù)字的平方和。 例如,輸入498,則輸出應(yīng)該是161。 請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。 注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。 試題程序: #include<stdlib.h> #include<stdio.h> #include<conio.h> longproc(10ngm) {//****found****longsum=1;do{sum+=(m%10)*(m%10);m/=l0;//****found****}while(m)return(sum); } voidmain {longn;system("CLS");printf("Pleaseenteranumber:");scanf("%1d",&n);printf("\n%ld\n",proc(n)); }

六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫(xiě)函數(shù)proc(),該函數(shù)的功能是:將M行N列的二維數(shù)組中的字符數(shù)據(jù),按列的順序依次放到一個(gè)字符串中。例如,若二維數(shù)組中的數(shù)據(jù)為:

WWW

SSS

HHH

III

則字符串中的內(nèi)容應(yīng)是WSHIWSHIWSHI。

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

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

試題程序:

參考答案

1.B

2.D本題考查邏輯運(yùn)算符的”短路”現(xiàn)象,由于k的值為0,表達(dá)式首先去求k++的值,因?yàn)楸磉_(dá)式k++的值為0,系統(tǒng)完全可以確定邏輯表達(dá)式的運(yùn)算結(jié)果總是為0,因此將跳過(guò)n++>2,不再對(duì)它進(jìn)行求值,即k的值加1,n的值不變。

3.A

4.C子函數(shù)fun1(doublea)的功能是返回a的平方值的整數(shù)部分。子函數(shù)fun2(doublex,doubley)的功能是返回X的平方值的整數(shù)部分與Y的平方值的整數(shù)部分的和。又因?yàn)轭}中變量w的定義為double型,函數(shù)fun(2)的定義為int型,按照各類數(shù)值型數(shù)據(jù)間的混合運(yùn)算,整型數(shù)據(jù)被轉(zhuǎn)換為實(shí)型數(shù)據(jù)。所以雙精度型變量w的值為5.0。

5.B軟件設(shè)計(jì)包括軟件的結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)接口設(shè)計(jì)和過(guò)程設(shè)計(jì)。其中軟件結(jié)構(gòu)設(shè)計(jì)主要包括系統(tǒng)由哪些子系統(tǒng)構(gòu)成,以及這些子系統(tǒng)之間的關(guān)系是怎樣的,并將這些內(nèi)容編寫(xiě)成文檔;數(shù)據(jù)接口設(shè)計(jì)的任務(wù)是為每個(gè)子系統(tǒng)設(shè)計(jì)其與其他子系統(tǒng)間的接口,并編寫(xiě)成文檔,這個(gè)接口要是一個(gè)無(wú)二義的接口,不需要子系統(tǒng)的操作知識(shí)就可以使用;過(guò)程設(shè)計(jì)是指系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過(guò)程描述。

6.CC語(yǔ)言中,函數(shù)名也是一個(gè)指針,是函數(shù)的人口地址。使函數(shù)指針f指向函數(shù)fun的入口地址,直接將函數(shù)名fun賦給指針f即可。故本題答案為C選項(xiàng)。

7.D

8.C解析:數(shù)據(jù)庫(kù)是數(shù)據(jù)的集合,其中的數(shù)據(jù)是按數(shù)據(jù)所提供的數(shù)據(jù)模式存放的,它能構(gòu)造復(fù)雜的數(shù)據(jù)結(jié)構(gòu),以建立數(shù)據(jù)之間的內(nèi)在聯(lián)系與復(fù)雜的關(guān)系。

9.D

10.A解析:在函數(shù)體內(nèi)定義一字符型指針并指向形參,然后遍歷其中各字符直到NULL,最后返回字符串首尾地址的差值,即字符串的長(zhǎng)度。

11.A本題考查簡(jiǎn)單的遞歸函數(shù),當(dāng)c>X則會(huì)產(chǎn)生遞歸,依次類推,答案選擇A.

12.D該程序首先定義*a和b[],并進(jìn)行初始化。主函數(shù)中通過(guò)外層for循環(huán)語(yǔ)句,遍歷字符數(shù)組b[],并且將符合if條件語(yǔ)句的字符賦給數(shù)組p;for內(nèi)層循環(huán)語(yǔ)句,遍歷字符數(shù)組a[]。再將符合if條件語(yǔ)句的結(jié)果輸出。因此D選項(xiàng)正確。

13.A

14.B

15.A

16.C本題考查do-while循環(huán),先執(zhí)行d0輸出的x的值為1,接著執(zhí)行while語(yǔ)句,此時(shí)--x的值為0,x也為0,而非0為1,循環(huán)成立,接著執(zhí)行do輸出X值為-2,執(zhí)行--x后,表達(dá)式為-2,而!(--x)為0,退出循環(huán)。

17.C

18.B解析:本題中的函數(shù)ss()有兩個(gè)參數(shù),一個(gè)是字符型指針變量s,另一個(gè)是字符型變量t在函數(shù)中通過(guò)一個(gè)while循環(huán),在循環(huán)中一次取出s指向的字符串并判斷它是否和t中存放的字符相同,若相等,則執(zhí)行“s=t-'a'+'A':”(若是小寫(xiě)字母,則把它轉(zhuǎn)換成大寫(xiě)字母)語(yǔ)句。在主函數(shù)中執(zhí)行函數(shù)調(diào)用ss(strl,c),很顯然是把str1數(shù)組中所有字符“d”變成大寫(xiě)字母,其他字符不變。所以4個(gè)選項(xiàng)中B正確。

19.CA、B、D選項(xiàng)的含義均為:a的值如果為0,輸出y的值,否則輸出x的值。而C選項(xiàng)的含義是:a的值為0時(shí)輸出x的值,不為0時(shí)輸出y的值,與其他選項(xiàng)正好相反。故本題答案為C選項(xiàng)。

20.A解析:本題考核的知識(shí)點(diǎn)是字符數(shù)組和字符指針變量的初始化。選項(xiàng)A定義了一個(gè)字符數(shù)組str,具有5個(gè)元素,但賦初值的時(shí)候,初值個(gè)數(shù)卻是6個(gè)(有一個(gè)'\\0'),故選項(xiàng)A錯(cuò)誤的;選項(xiàng)B定義了一個(gè)字符數(shù)組str并給它賦初值,由于省去了長(zhǎng)度定義,長(zhǎng)度由初值個(gè)數(shù)確定,相當(dāng)于str[6],選項(xiàng)B正確;選項(xiàng)C定義了一個(gè)字符型指針變量并用一個(gè)字符串給它賦初值,使該字符型指針指向了該字符串,選項(xiàng)C正確;選項(xiàng)D是對(duì)字符型數(shù)組中單個(gè)元素依次賦初值,選項(xiàng)D正確。所以,4個(gè)選項(xiàng)中A為所選。

21.rewindrewind解析:庫(kù)函數(shù)rewind()的作用是使文件位置指針重新返回文件的開(kāi)頭,所以本題應(yīng)該填rewind。

22.67G67G解析:字符型變量中保存的是某個(gè)字符的ASCII碼值,是一個(gè)整數(shù),因此字符型變量的算術(shù)運(yùn)算和整型變量并無(wú)區(qū)別。所以。a='A'+'5'-'3'='A'+('5'='3')='A'+2=65+2=67:b=a+'6'='2'='C'+('6'-'2')='C'+4='G'。最后分別按十進(jìn)制整數(shù)和字符形式輸出a和b的值為:67G。

23.structlink*headstructlink*head解析:因?yàn)楸绢}中是用結(jié)構(gòu)體變量構(gòu)成了鏈表,所以要從鏈表頭節(jié)點(diǎn)逐個(gè)節(jié)點(diǎn)的引用結(jié)構(gòu)體的數(shù)據(jù)域,需要有個(gè)指向結(jié)構(gòu)體變量的指針依次指向各個(gè)節(jié)點(diǎn),即p=p->next,而用指針引用結(jié)構(gòu)體成員數(shù)據(jù)的方法為:p->data。注意:結(jié)構(gòu)體變量和共用體變量之間的區(qū)別為聯(lián)系。

24.aa解析:“z”的ASCII碼值為122,經(jīng)過(guò)c-25運(yùn)算后得97,以字符形式輸出是a。

25.進(jìn)行寫(xiě)保護(hù)進(jìn)行寫(xiě)保護(hù)

26.p->dataqp->data\r\nq解析:本題考查的是鏈表這一數(shù)據(jù)結(jié)構(gòu)對(duì)結(jié)構(gòu)體變量中數(shù)據(jù)的引用。鏈表的特點(diǎn)是結(jié)構(gòu)體變量中有兩個(gè)域,一個(gè)是數(shù)據(jù),另一個(gè)是指向該結(jié)構(gòu)體變量類型的指針,用以指明鏈表的下一個(gè)結(jié)點(diǎn)。

27.HowdoesheHowdoeshe解析:本題的關(guān)鍵在于表達(dá)式str1+strlen(str1)/2,注意“/”的用法,可得str1+13/2=str1+6。

28.07

29.11解析:do…while語(yǔ)句的功能是:首先執(zhí)行循環(huán)體語(yǔ)句,然后檢測(cè)循環(huán)控制條件表達(dá)式的值,若為真,則重復(fù)執(zhí)行循環(huán)體語(yǔ)句,否則退出循環(huán);do…while語(yǔ)句的特點(diǎn)是先執(zhí)行后判斷,因此循環(huán)體至少執(zhí)行1次.本程序中x=2不符合循環(huán)條件,所以只循環(huán)1次。

30.88解析:fabs函數(shù)功能是求x的絕對(duì)值,計(jì)算結(jié)果為double型。pow功能是計(jì)算x的y次方的值,計(jì)算結(jié)果同樣為double型。所以本題表達(dá)式相當(dāng)于2.0的3.0次方,結(jié)果為8.000000。

31.文檔文檔解析:計(jì)算機(jī)軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)以及相關(guān)文檔的完整集合。

32.98768769876\r\n876解析:指針是一種數(shù)據(jù)類型,這種數(shù)據(jù)類型的變量用來(lái)存放內(nèi)存中分配的存儲(chǔ)單元的首地址。指針的定義:

類型說(shuō)明符*指針變量名;

33.重復(fù)(循環(huán))重復(fù)(循環(huán))解析:結(jié)構(gòu)化程序設(shè)計(jì)包括3種基本的結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)和重復(fù)結(jié)構(gòu)(循環(huán)結(jié)構(gòu)),利用這3種結(jié)構(gòu)就足以表達(dá)出各種其他形式結(jié)構(gòu)的程序設(shè)計(jì)方法。其中利用循環(huán)結(jié)構(gòu),可以簡(jiǎn)化大量的程序執(zhí)行。

34.92

35.數(shù)據(jù)流數(shù)據(jù)流解析:結(jié)構(gòu)化分析方法的實(shí)質(zhì)是著眼于數(shù)據(jù)流,自頂向下,逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。

36.7979解析:因?yàn)樵谡{(diào)用子函數(shù)時(shí)進(jìn)行的是數(shù)值傳遞,調(diào)用于函數(shù)并不能改變實(shí)參的值,所以經(jīng)過(guò)調(diào)用子函數(shù),c、d的值并沒(méi)有發(fā)生變化還是原來(lái)的值。

37.\0'n++

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

39.邏輯結(jié)構(gòu)中相鄰的結(jié)點(diǎn)在存儲(chǔ)結(jié)構(gòu)中仍相鄰。邏輯結(jié)構(gòu)中相鄰的結(jié)點(diǎn)在存儲(chǔ)結(jié)構(gòu)中仍相鄰。解析:順序存儲(chǔ)結(jié)構(gòu)的主要特點(diǎn)是數(shù)據(jù)元素按線性表的邏輯次序,依次存放在一組地址連續(xù)的存儲(chǔ)單元中。在存儲(chǔ)單元中,各元素的物理位置和邏輯結(jié)構(gòu)中各結(jié)點(diǎn)間的相鄰關(guān)系是一致的。

40.算法或程序或流程圖算法或程序或流程圖解析:算法是問(wèn)題處理方案正確而完整的描述。

41.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\'表示回車符,是一個(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è)字符串,而不是字符常量。

42.C解析:EOF是指向文本文件的結(jié)束標(biāo)志,NULL是打開(kāi)文件錯(cuò)誤時(shí)的返回值。feof(fp)用來(lái)判斷文件是否在文件末尾,文本文件和二進(jìn)制文件均可以使用此函數(shù),如果遇到文件結(jié)束就返回1,否則返回0。

43.D解析:先算括號(hào)內(nèi)的表達(dá)式,即先對(duì)b進(jìn)行左移運(yùn)算:b的二進(jìn)制為00000010,左移后變?yōu)?0001000,然后再與a進(jìn)行異或運(yùn)算(參與運(yùn)算的兩個(gè)對(duì)應(yīng)位相同,則為0,相異則為1),結(jié)果為00001001,換算成十進(jìn)制數(shù)結(jié)果為9。對(duì)于左移運(yùn)算也可直接用此規(guī)則:左移1位相當(dāng)于該數(shù)乘以2,左移2位相當(dāng)于該數(shù)乘以22=4,依此類推。

44.B解析:通常數(shù)據(jù)庫(kù)管理系統(tǒng)提供的數(shù)據(jù)語(yǔ)言有數(shù)據(jù)定義語(yǔ)言、數(shù)據(jù)操縱語(yǔ)言和數(shù)據(jù)控制語(yǔ)言。其中數(shù)據(jù)操縱語(yǔ)言負(fù)責(zé)數(shù)據(jù)的操縱,包括查詢及增、刪,改等操作。所以查詢語(yǔ)言屬于數(shù)據(jù)操縱語(yǔ)言的一部分。

45.D解析:選項(xiàng)D)為兩條語(yǔ)句。

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

47.D解析:選項(xiàng)A)的循環(huán)表達(dá)式條件永久為1,由于小于100的數(shù)與100取余不超過(guò)99,所以在循環(huán)體內(nèi)表達(dá)式i%100+1的值永遠(yuǎn)不大于100,break語(yǔ)句永遠(yuǎn)不會(huì)被執(zhí)行,所以是死循環(huán);選項(xiàng)B)的括號(hào)內(nèi)沒(méi)有能使循環(huán)終止的條件,是死循環(huán);選項(xiàng)C)中先執(zhí)行k++,使k=10001,陷入死循環(huán);選項(xiàng)D)中的s從36開(kāi)始,每循環(huán)一次就減小1,直到s為0,循環(huán)結(jié)束,不會(huì)構(gòu)成死循環(huán)。

48.B解析:兩個(gè)if語(yǔ)句的判斷條件都不滿足,程序只執(zhí)行了c=a這條語(yǔ)句,所以變量c的值等于3,變量b的值沒(méi)能變化,程序輸出的結(jié)果為3,5,3。所以正確答案為B)。

49.C解析:本題考查的是指向函數(shù)的指針。函數(shù)指針定義的基本格式為:類型標(biāo)識(shí)符(*指針變量名)()?!邦愋蜆?biāo)識(shí)符”為函數(shù)返回值的類型。

50.C

51.A

52.C解析:本題考查的重點(diǎn)是拷貝字符串——使用strcpy()函數(shù),該函數(shù)的調(diào)用方式是:strcpy(字符數(shù)組,字符串),其中”字符串”可以是字符串常量,也可以是字符數(shù)組。函數(shù)的功能是:將“字符串”完整地復(fù)制到“字符數(shù)組”中,字符數(shù)組中原有的內(nèi)容被覆蓋。

使用該函數(shù)時(shí)注意:①字符數(shù)組必須定義得足夠大,以便容納復(fù)制過(guò)來(lái)的字符串。復(fù)制時(shí),連同結(jié)束標(biāo)志'\\0'一起復(fù)制;②不能用賦值運(yùn)算符“:”將一個(gè)字符串直接賦值給一個(gè)字符數(shù)組,只能用strcpy()函數(shù)處理。

另外,本題還考查連接字符串的strcat()函數(shù),其調(diào)用方

53.D解析:函數(shù)的靜態(tài)局部變量在編譯時(shí)就賦初值,即只賦初值一次,在程序運(yùn)行時(shí)它已有初值,以后每次調(diào)用函數(shù)時(shí)不再重新賦值,而只是保留上次函數(shù)調(diào)用結(jié)束時(shí)的值。

54.C解析:本題中首先定義一個(gè)長(zhǎng)度為10的整型數(shù)組,并初始化為“1,2,3,4,5,6,7,8,9,10”,然后調(diào)用排序函數(shù)sort(),對(duì)aa[3]開(kāi)始的5個(gè)元素進(jìn)行從大到小的排序,aa[0]、aa[1]、aa[2]、aa[8]、aa[9]并沒(méi)有變化。sort()執(zhí)行完畢后,接著執(zhí)行后面的for語(yǔ)句輸出數(shù)組aa中各個(gè)元素的值,所以輸出為“1,2,3,8,7,6,5,4,9,10”。故4個(gè)選項(xiàng)中C正確。

55.C解析:本題考查的是二維數(shù)組的定義和初始化方法。C語(yǔ)言中,在定義并初始化二維數(shù)組時(shí),可以省略數(shù)組第一維的長(zhǎng)度,但是不能省略第二維的長(zhǎng)度。故選項(xiàng)C)錯(cuò)誤。

56.B

57.D解析:結(jié)構(gòu)體變量也有地址,因此可以把它的地址賦值給一個(gè)指針變量,然后通過(guò)該指針變量來(lái)引用結(jié)構(gòu)體的成員,選項(xiàng)A和選項(xiàng)B就是通過(guò)指針變量來(lái)引用結(jié)構(gòu)體的成員,也可以通過(guò)結(jié)構(gòu)體數(shù)組元素的成員引用,而在選項(xiàng)D中stu[3].a(chǎn)ge不正確,因?yàn)榻Y(jié)構(gòu)體數(shù)組stu共有三個(gè)元素,其下標(biāo)應(yīng)該為0,1,2。

58.B解析:棧操作原則上“后進(jìn)先出”,棧底至棧頂依次存放元素A、B、C、D,則表明這4個(gè)元素中D是最后進(jìn)棧,B、C處于中間,A最早進(jìn)棧。所以出棧時(shí)一定是先出D,再出C,最后出A。

59.C解析:a數(shù)組存放的是字符串,系統(tǒng)會(huì)自動(dòng)在字符串的最后加上一個(gè)'\\0',所以a數(shù)組的長(zhǎng)度為4,而b數(shù)組的長(zhǎng)度為3,故a數(shù)組長(zhǎng)度大于b數(shù)組長(zhǎng)度。

60.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為文件指針。

61.D在C語(yǔ)言中,當(dāng)表達(dá)式成立時(shí)用l表示,不成立時(shí)用0表示,即x=(a&&b)&&(c<B)=(14&&15)&&(A<B)=1&&1=1,故選擇D選項(xiàng)。

62.Dstrcat(s1,s2)函數(shù)的功能是把s2字符串連接到s1字符串的末尾,要保證s1有足夠的空間容納下連接后的字符串。

63.A輸入函數(shù)的輸出項(xiàng)從整體看是一個(gè)逗號(hào)表達(dá)式,對(duì)于逗號(hào)表達(dá)式,我們只需求出最后一個(gè)表達(dá)式的值即可,首先f(wàn)賦值為0,c==’A’,不成立,因?yàn)閏=’a’,所以結(jié)果為假,即0,因此結(jié)果輸出的就是0.

64.B

\n本題考查switch語(yǔ)句及break的用法。第一個(gè)switch語(yǔ)句,因?yàn)閍=6.a(chǎn)%2=0,所

溫馨提示

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