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

一、單選題(20題)1.以下程序執(zhí)行后sum的值是()。

A.15

B.14

C.不確定

D.0main(){inti,sum;for(i=1;i<6;i++)sum+=i;printf("%d\n",sum);}

2.若有定義語(yǔ)句:intX=10;,則表達(dá)式x-=x+X的值為A.-20B.-10C.0D.10

3.有以下程序:

#include<stdio.h>,

main()

{intS;

scanf("%d",&s);

while(s>O)

{switch(s)

{casel:printf("%d",s+5);

case2:printf("%d",s+4);break;

case3:printf("%d",s+3);

default:("%d",s+1);break;

}

scanf("%d",&s);

}

}

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

A.6566456B.66656C.66666D.6666656

4.

5.有以下程序:#include<stdio.h>structS{inta,b;}data[2]=110,100,20,200};main(){structSp=data[1];printf(“%d\n”,++(p.a));}程序的運(yùn)行結(jié)果是()。

A.10B.11C.20D.21

6.判斷一個(gè)棧ST(最多元素為Maxsize)為滿的條件是()。

A.ST->top!==-1

B.ST->top==-1

C.ST->top!==Maxsize-1

D.ST->top==Maxsize-1

7.有下列程序:main{intk=5,n=0;while(k>0){switch(k){dcfault:break;case1:n=n+k;case2:case3:n+=k;}k--;}printf("%d\n".n);}程序運(yùn)行后的輸出結(jié)果足()。A.0B.4C.6D.7

8.有以下程序:#include<stdio.h>main(){FILE*pf;char*s1=“China”,*s2=“Beijing”;pf=fopen(“abc.dat”,“wb+”);fwrite(s2,7,1,pf);rewind(pf);/*文件位置指針回到文件開頭*/fwrite(s1,5,1,pf);fclose(pf);}程序執(zhí)行后,abc.dat文件的內(nèi)容是()。

A.ChinaB.ChinangC.ChinaBeijingD.BeijingChina

9.設(shè)n、m為一棵二叉樹上的兩個(gè)結(jié)點(diǎn),在中序遍歷時(shí),n在m之前的條件是_____________。

A.n在m右方B.n是m的祖先C.n在m左方D.n是m子孫

10.有以下程序(注:字符a的ASCIl碼值為97)#include<stdio.h>main(){char*s={"abc")do{printf("%d",*S%10");++S;}while(*s);}隉序運(yùn)行后的輸出結(jié)果是()。A.abcB.789C.7890D.979899

11.在一個(gè)C程序中

A.main函數(shù)必須出現(xiàn)在所有函數(shù)之前

B.main函數(shù)可以在任何地方出現(xiàn)

C.main函數(shù)必須出現(xiàn)在所有函數(shù)之后

D.main函數(shù)必須出現(xiàn)在固定位置

12.已有定義: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ì)

13.以下選項(xiàng)中關(guān)于C語(yǔ)言常量的敘述錯(cuò)誤的是()。

A.所謂常量,是指在程序運(yùn)行過(guò)程中,其值不能被改變的量

B.常量分為整型常量、實(shí)型常量、字符常量和字符串常量

C.常量可分為數(shù)值型常量和非數(shù)值常量

D.經(jīng)常被使用的變量可以定義成常量

14.對(duì)于一個(gè)正常運(yùn)行的C程序,下列敘述中正確的是()。A.A.程序的執(zhí)行總是從main函數(shù)開始,在main函數(shù)結(jié)束

B.程序的執(zhí)行總是從程序的第一個(gè)函數(shù)開始,在main函數(shù)結(jié)束

C.程序的執(zhí)行總是從main函數(shù)開始,在程序的最后一個(gè)函數(shù)中結(jié)束

D.程序的執(zhí)行總是從程序中的第一個(gè)函數(shù)開始,在程序的最后一個(gè)函數(shù)中結(jié)束

15.冒泡排序在最壞情況下的比較次數(shù)是()。

A.n(n+1)/2B.nlog2nC.n(n-1)/2D.n/2

16.

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

A.scanfB.getcharC.getsD.getc

18.

19.以下不屬于C語(yǔ)言整數(shù)的是()。

A.12fB.25uC.-32D.+20L

20.以下與函數(shù)fseek(fp,0L,SEEK_SET)有相同作用的是

A.feof(fp)B.ftell(fp)C.fgetc(fp)D.rewind(fp)

二、2.填空題(20題)21.數(shù)據(jù)庫(kù)系統(tǒng)在其內(nèi)部分為三級(jí)模式,即概念模式、內(nèi)模式和外模式。其中,______給出了數(shù)據(jù)庫(kù)物理存儲(chǔ)結(jié)構(gòu)與物理存取方法。

22.若有以下程序

main()

{chara;

a='H'-'A'+'0';

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

}

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

23.排序是計(jì)算機(jī)程序設(shè)計(jì)中的一種重要操作,常見的排序方法有插入排序、______和選擇排序。

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

main()

{inta=1,b=2;

a=a+b;b=a-b;a=a-b;

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

}

25.數(shù)據(jù)模型按不同應(yīng)用層次分成三種類型,它們是概念數(shù)據(jù)模型、【】和物理數(shù)據(jù)模型。

26.下列程序的功能:對(duì)輸入的一行字符中的數(shù)字字符的字面值累加,輸出此累加和,請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

#include<ctype.h>

main()

{charc;

inta,s=0;

while(______)

if(isdigit(c))

{a=c-'0';s+=a;}

printf("s=%d",s);

}

27.以下程序的運(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);

}

28.下面函數(shù)用來(lái)求兩個(gè)單精度數(shù)之和,并通過(guò)形參將結(jié)果傳回,請(qǐng)?zhí)羁铡?/p>

voidsub(floatx,floaty,【】z)

{【】=x+y;}

29.以下程序的功能是:輸出x、y、z三個(gè)變量中的最大值,請(qǐng)?zhí)羁铡?/p>

main()

{intx,y,z,u;

printf("Enterx,y,x;");scanf("%d%d%d",&x,&y,&z);

if(【】)u=x;

elseu=y(tǒng);

if(【】)u=z;

printf("u=%d",u);

}

30.數(shù)據(jù)庫(kù)系統(tǒng)階段的數(shù)據(jù)具有較高獨(dú)立性,數(shù)據(jù)獨(dú)立性包括物理獨(dú)立性和【】?jī)蓚€(gè)含義。

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

#include<stdio.h>

#defineMAX(a,b)(a>b?a:b)+1

main()

{inti=6,j=8,k;

printf("%d\n",MAX(i,j));

}

32.算法的復(fù)雜度主要包括時(shí)間復(fù)雜度和______復(fù)雜度。

33.以下程序的功能是將寧符串s中的數(shù)字字符放入d數(shù)組中,最后輸出d中的字符串。例如,輸入字符串:abcl23edf4568h,執(zhí)行程序后輸出:123456。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

#include<ctype.h>

main()

{chars[80],d[80];inti,j;

gets(s);

for(i=j=0;s[i]!='\0';i++)

if(【】){d[j]=s[i];j++;}

d[j]='\0';

puts(d);

}

34.下列程序的運(yùn)行結(jié)果是【】。

#include<stdio.h>

#defineM100

voidfun(intm,int*a,int*n)

{inti,j=0;

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

if(i%7==0||i%11==0)a[j++]=i;

*n=j;

}

main()

{intaa[M],n,k;

fun(10,aa,&n);

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

if((k+1)%20==0)printf("\n");

elseprintf("%4d",aa[k]);

printf("\n");

}

35.注釋一般分為序言性注釋和______注釋。

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

main()

{

inti,n[]={0,0,0,0,0};

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

{

n[i]=n[i-1]*2+1;

printfi["%d",n[i]);

}

}

37.一個(gè)類可以從直接或間接的祖先中繼承所有屬性和方法。采用這個(gè)方法提高了軟件的【】。

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

#include<studio.h>

main()

{inti,j;

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

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

}

39.若有定義:inta[4][4]={{l,2,3,4},{0},{4,6,8,10},{1,3,5,7}},則初始化后,a[2][2]得到的初值是______。

40.在關(guān)系模型中,把數(shù)據(jù)看成是二維表,每一個(gè)二維表稱為一個(gè)【】。

三、1.選擇題(20題)41.下列程序的輸出結(jié)果是______。#defineA100main(){inti=0,sum=0;do{if(i==(i/2)*2)continue;sum+=i;}while(++i<A);printf("%d\n",sum);}

A.2500B.2050C.4D.0

42.需求分析中開發(fā)人員要從用戶那里了解

A.軟件做什么B.用戶使用界面C.輸入的信息D.軟件的規(guī)模

43.若已定義的函數(shù)有返回值,則以下關(guān)于該函數(shù)調(diào)用敘述中錯(cuò)誤的是

A.函數(shù)調(diào)用可以作為獨(dú)立的語(yǔ)句存在

B.函數(shù)調(diào)用可以作為一個(gè)函數(shù)的實(shí)參

C.函數(shù)調(diào)用可以出現(xiàn)在表達(dá)式中

D.函數(shù)調(diào)用可以作為一個(gè)函數(shù)的形參

44.當(dāng)說(shuō)明一個(gè)結(jié)構(gòu)體變量時(shí)系統(tǒng)分配給它的內(nèi)存是()。

A.各成員所需要內(nèi)存量的總和

B.結(jié)構(gòu)中第一個(gè)成員所需的內(nèi)存量

C.成員中占內(nèi)存最大者所需的容量

D.結(jié)構(gòu)中最后一個(gè)成員所需要的內(nèi)存量

45.對(duì)于下述程序,在方式串分別采用“wt”和“wb”運(yùn)行時(shí),兩次生成的文件TEST的長(zhǎng)度是#include<stdio.h>voidmain(){FILE*fp=fopen("TEST",);fputc('A',fp);fputc('\n',fp);fputc('B',fp);fputc('\n',fp);fputc('C',fp);fclose(fp);}

A.7字節(jié)、7字節(jié)B.7字節(jié)、5字節(jié)C.5字節(jié)、7字節(jié)D.5字節(jié)、5字節(jié)

46.已知一個(gè)有序線性表為(13,18,24,35,47,50,62,83,90,115,134),當(dāng)用二分法查找值為90的元素時(shí),查找成功的比較次數(shù)為()。

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

47.在下列字符序列中,合法的標(biāo)識(shí)符是()

A.P12&.aB.stud_100C.$water.12D.88sum

48.以下函數(shù)的功能是()intfun(char*A){char*b=a;while(*B)b++;{returnb-a;}}

A.比較兩個(gè)字符串的大小B.字符串的復(fù)制C.計(jì)算字符串的長(zhǎng)度D.字符串的連接

49.設(shè)intb=2;,表達(dá)式(b<<2)/(b>>1)的值是()

A.0B.2C.4D.8

50.以下敘述中正確的是

A.用C程序?qū)崿F(xiàn)的算法必須要有輸入和輸出操作

B.用C程序?qū)崿F(xiàn)的算法可以沒有輸出但必須要有輸入

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

D.用C程序?qū)崿F(xiàn)的算法可以既沒有輸入出沒有輸出

51.第

13

設(shè)有程序段

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í)行一次

52.s1和s2已正確定義并分別指向兩個(gè)字符串。若要求:當(dāng)s1所指串大于s2所指串時(shí),執(zhí)行語(yǔ)句S:則以下選項(xiàng)中正確的是

A.if(s1>s2)S;

B.if(strcmp(s1,s2))S;

C.if(strcmp(s2,s1)>0)S:

D.if(strcmp)(s1,s2)>0)S;

53.下列數(shù)據(jù)結(jié)構(gòu)中,能用二分法進(jìn)行查找的是()。

A.順序存儲(chǔ)的有序線性表B.結(jié)性鏈表C.二叉鏈表D.有序線性鏈表

54.以下程序運(yùn)行后,輸出結(jié)果是()#include<stdio.h>#definePT5.5#defineS(x)PT*x*xmain(){inta=1,b=2;printf("%4.1f\n",s(a+b));}

A.49.5B.9.5C.22D.45

55.以下程序的輸出結(jié)果是()。#include<stdio.h>#defineF(x)2.84+x#definew(y)printf("%d",(int)(y))#defineP(y)w(y)main(){intx=2;P(F(5)*x);}

A.12B.13C.14D.16

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

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

57.以下程序的功能是進(jìn)行位運(yùn)算:#include<stdio.h>main()unsignedchara,b;a=7∧3;b=~4&3;printf("%d%d\n",a,b);}程序運(yùn)行后的輸出結(jié)果是()。

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

58.下面程序的輸出結(jié)果是______。#definea121constb=12;enumc{a1,a2};main(){printf("%d,%d,%d",sizeof(a),sizeof(b),sizeof(enumc));}

A.121,0,4B.2,2,2C.0,2,4D.0,2,2

59.模塊獨(dú)立性是軟件模塊化所提出的要求,衡量模塊獨(dú)立性的度量標(biāo)準(zhǔn)則是模塊的

A.抽象和信息隱蔽B.局部化和封裝化C.內(nèi)聚性和耦合性D.激活機(jī)制和控制方法

60.在軟件研制過(guò)程中,CASE是指()

A.計(jì)算機(jī)輔助軟件工程B.計(jì)算機(jī)產(chǎn)生的例子C.實(shí)驗(yàn)室使用的工具D.計(jì)算機(jī)輔助系統(tǒng)工程

四、選擇題(20題)61.按照“先進(jìn)后出”原則組織數(shù)據(jù)的結(jié)構(gòu)是()。

A.隊(duì)列B.棧C.雙向鏈表D.二叉樹

62.若有定義intx'y;并已正確給變量賦值。則以下選項(xiàng)中與表達(dá)式(x-y)?(x++):(y++)中的條件表達(dá)式(x_y)等價(jià)的是()。

A.(x-y011x-y>0)B.(x-y<0)C.(x-y>0)D.(x-y=o)

63.HTML是一種標(biāo)記語(yǔ)言,它是由()解釋執(zhí)行的。

A.不需要解釋B.WindowsC.瀏覽器D.標(biāo)記語(yǔ)言處理軟件

64.下列可作為C語(yǔ)言賦值的語(yǔ)句的是()。

A.x一3,y=5B.a=b=6C.i--;D.a,c

65.若a為int類型,且其值為3,則執(zhí)行完表達(dá)式a+=a-=a*a后,a的值是()。

A.-3B.9C.-12D.6

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

A.數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)是一一對(duì)應(yīng)的

B.算法的時(shí)間復(fù)雜度與空間復(fù)雜度一定相關(guān)

C.算法的效率只與問(wèn)題的規(guī)模有關(guān),而與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)無(wú)關(guān)

D.算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量

67.數(shù)據(jù)庫(kù)設(shè)計(jì)包括兩個(gè)方面的設(shè)計(jì)內(nèi)容,它們是()

A.概念設(shè)計(jì)和邏輯設(shè)計(jì)B.模式設(shè)計(jì)和內(nèi)模式設(shè)計(jì)C.內(nèi)模式設(shè)計(jì)和物理設(shè)計(jì)D.結(jié)構(gòu)特性設(shè)計(jì)和行為特性設(shè)計(jì)

68.下列程序段的輸出結(jié)果是

inta=1234;

floatb=123.456;

doublec=12345.54321;

printf("%2d,%2.1f,%2.1f",a,b,c);

A.無(wú)輸出B.12,123.5,12345.5

C.1234,123.5,12345.5D.1234,123.4,12345.5

69.下列描述錯(cuò)誤的是()。

A.繼承分為多重繼承和單繼承

B.對(duì)象之問(wèn)的通信靠傳遞消息來(lái)實(shí)現(xiàn)

C.在外面看不到對(duì)象的內(nèi)部特征是基于對(duì)象的“模塊獨(dú)立性好”這個(gè)特征

D.類是具有共同屬性、共同方法的對(duì)象的集合

70.

71.

有以下程序

#include<stdio.h>

voidfun(char**p)

{++p;printf("%s",*p);}

main

{char*a[]={"Morning","Afternoon","Evening","Night");

fun(a);

}

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

A.AfternoonB.fternoonC.MorningD.orning

72.

73.有以下程序:

#include<stdio.h>

main()

{FILE*fp;charstr[10];

fp=fopen("myfile,dat","");

{puts("abe",ip);fclose(fp);

fp=fopen("myfile.dat","a*");

fprintf(fp,"%d",28);

rewind(fp);

fscanf(fp,"%S",str);puts(str);

fclose(fp);

}

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

A.abcB.28cC.abc28D.內(nèi)類型不一致而出錯(cuò)

74.

75.若已包括頭文件<string.h>且已有定義charsl[18],s2={"ABCDE")和inti,現(xiàn)要將字符串”ABCDE”賦給sl,下列語(yǔ)句錯(cuò)誤的是()。A.A.strcpy(s1,s2)

B.strcpy(s1,"ABCDE");

C.sl="ABCDE";

D.for(i=0;i<6;i++)sl[i]=s2[i]

76.有以下程序:

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

A.7,4B.4,10C.8,8D.10,10

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

A.x&&yB.x<=y

C.x||++y&&y-zD.!(x<y&&!z||1)

78.在C語(yǔ)言中,合法的長(zhǎng)整型常數(shù)是()。

A.0.123456B.4962717C.9LD.5.321e2

79.

80.

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)fun的功能是:將s所指字符串的正序和反序進(jìn)行連接,形成的新串放在t所指的數(shù)組中。例如,當(dāng)S所指字符串為“ABCD”時(shí),t所指字符串中的內(nèi)容應(yīng)為“ABCDDCBA”。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:

六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫函數(shù)proc,其功能是:將str所指字符串中除下標(biāo)為偶數(shù)、同時(shí)ASCIl碼值為奇數(shù)的字符外,其余的字符都刪除,串中剩余字符所形成的一個(gè)新串放在t所指的數(shù)組中。例如,若str所指字符串中的內(nèi)容為ABCDEFGl2345,其中字符B的ASCIl碼值為偶數(shù),所在元素的下標(biāo)為奇數(shù),因此必須刪除;而字符A的ASCIl碼值為奇數(shù),所在數(shù)組中的下標(biāo)為偶數(shù),因此不應(yīng)當(dāng)刪除。依此類推,最后t所指的數(shù)組中的內(nèi)容應(yīng)是ACEG。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號(hào)中填人所寫的若干語(yǔ)句。試題程序:#include<stdlib.h>#include<conio.h>#include<stdio.h>#include<string.h>voidproc(char*str,chart[]){}voidmain{charstr[100],t[100];system("CLS");printf("\nPleaseenterstringstr:");scanf("%S",str);proc(str,t);printf("\nTheresultiS:%s\n",t);

參考答案

1.C解析:C語(yǔ)言中,如果對(duì)定義的變量沒有賦初值,那么在后面使用時(shí),變量的值是不確定的。所以,本程序中,沒有對(duì)sum賦初值,它的值不確定。在執(zhí)行了for循環(huán)語(yǔ)句后,sum的值也不確定的,所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。

2.B解析:x-=x+x可化為:x=x-(x+x),由于x初始值為10,所以計(jì)算后,x=10-20=-10,因此選B)。

3.A\n根據(jù)題意,當(dāng)s=1時(shí),輸出65;當(dāng)s=2時(shí),輸出6;當(dāng)S=3時(shí),則輸出64;當(dāng)S=4時(shí),輸出5;當(dāng)s=5時(shí),輸出6;當(dāng)s=0時(shí),程序直接退出。所以最后答案為6566456,A選項(xiàng)正確。

\n

4.D

5.D聲明data是結(jié)構(gòu)體S的數(shù)組,初始化data[0].a=10,data[0].b=100,data[l].a=20,data[1].b=200。主函數(shù)中“p=data[1];”,即p.a=data[1].a,p.b=data[1].b,執(zhí)行語(yǔ)句“printf(“%d\\n”,++(p.a));”。輸出時(shí),p.a先增1再輸出,p.a=data[1].a=20,先增1等于21。故本題答案為D選項(xiàng)。

6.D

7.D本題主要考查while循環(huán)語(yǔ)句和switchcase語(yǔ)句的使用方法。其執(zhí)行步驟為:k=5時(shí),跳出switch語(yǔ)句,然后k自減1;當(dāng)k=4時(shí),跳出switch語(yǔ)句,然后k自減1;當(dāng)k=3時(shí),n=13+k=0+3=3,跳出switch語(yǔ)句,然后k自減1;當(dāng)k=2時(shí)n=n+k=3+2=5,跳出switch語(yǔ)句,然后k自減l;當(dāng)k=1時(shí),case1:n=n+k一5+1=6,沒有break繼續(xù)執(zhí)行CaSe3;n=n+k=6+1=7,跳出switch語(yǔ)句,然后k自減1;當(dāng)k=0時(shí),退出循環(huán),所以輸出結(jié)果為7。

8.B題目中先是將s2字符串寫入adc.dat中,然后執(zhí)行rewind函數(shù)將寫指針?lè)胖糜谖募_頭,寫入s1字符串。s1字符串將前5個(gè)字符覆蓋,所以最終結(jié)果為Chinang。故本題答案為B選項(xiàng)。

9.C

10.B程序中的*s%10是求余運(yùn)算,分別是a、b、C的ASCIl碼值對(duì)10進(jìn)行求余運(yùn)算然后輸出,所以輸出的答案為789。r

11.B解析:一個(gè)完整的C語(yǔ)言程序有且僅有一個(gè)主函數(shù)(main()函數(shù))。程序總從main()函數(shù)的第一條語(yǔ)句開始執(zhí)行,到main()函數(shù)的最后一條語(yǔ)句結(jié)束,其他函數(shù)都是在執(zhí)行main()函數(shù)時(shí),通過(guò)函數(shù)調(diào)用或嵌套調(diào)用而得以執(zhí)行的。C語(yǔ)言規(guī)定,main()函數(shù)在程序中的位置是任意的,故選項(xiàng)A、選項(xiàng)C和選項(xiàng)D均不正確。所以,B選項(xiàng)為所選。

12.C解析:對(duì)字符型一維數(shù)組在定義時(shí)初始化,既可以使用初始化列表,也可以使用字符串常量。不過(guò)由于字符串常量會(huì)自動(dòng)在結(jié)尾添加\'\\0\',字符做結(jié)束標(biāo)志,所以用字符串常量的初始化列表項(xiàng)個(gè)數(shù)是字符串的長(zhǎng)度加1。因此題目中的chara[]='xyz';等價(jià)于chara[]={\'x\',\'y\',\'z\',\'\\0\');,所以a數(shù)組長(zhǎng)度大于b數(shù)組長(zhǎng)度,應(yīng)該選C。

13.D此題考查的是常量和變量的定義,常量不是經(jīng)常使用的變量,而是一個(gè)確定的數(shù)值,所以答案選擇D。

14.A解析:一個(gè)C語(yǔ)言源程序無(wú)論包括了多少函數(shù),總是從main函數(shù)開始執(zhí)行,從main函數(shù)結(jié)束。

15.C冒泡排序的基本思想是:將相鄰的兩個(gè)元素進(jìn)行比較,如果反序,則交換;對(duì)于一個(gè)待排序的序列,經(jīng)一趟排序后,最大值的元素移動(dòng)到最后的位置,其他值較大的元素也向最終位置移動(dòng),此過(guò)程稱為一趟冒泡。對(duì)于有n個(gè)數(shù)據(jù)的序列,共需n-1趟排序,第i趟對(duì)從l到n-i個(gè)數(shù)據(jù)進(jìn)行比較、交換。冒泡排序的最壞情況是待排序序列逆序,第l趟比較n-1次,第2趟比較n-2次。依此類推,最后趟比較1次,一共進(jìn)行n-l趟排序。因此,冒泡排序在最壞情況下的比較次數(shù)是(n-1)+(n-2)+…+l,結(jié)果為n(n-1)/2。本題的正確答案是選項(xiàng)C。

16.A

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

18.D

19.AC語(yǔ)言中整型常量,從表示形式來(lái)看,有十進(jìn)制、八進(jìn)制或十六進(jìn)制;從符號(hào)位來(lái)看,有有符號(hào)整數(shù)和無(wú)符號(hào)整數(shù)兩類。選項(xiàng)A的“12f”是float類型的實(shí)數(shù),不是整數(shù);選項(xiàng)B的“25u”屬于無(wú)符號(hào)整數(shù);選項(xiàng)C的“-32”是十進(jìn)制形式的有符號(hào)整數(shù);選項(xiàng)D的“+20L”是十進(jìn)制形式的長(zhǎng)整數(shù)。故本題答案為A選項(xiàng)。

20.D解析:本題考查的是文件操作函數(shù).題目中fseek(fp,0L,SEEK_SET)的作用將文件指針定位到文件開始。feof(fp)的作用是判斷文件指針是否已到文件結(jié)尾,因此選項(xiàng)A不對(duì)。ftell(fp)的作用是獲取當(dāng)前文件指針的位置,因此選項(xiàng)B不對(duì)。fgetc(fp)的作用是從文件中讀取一個(gè)字節(jié),因此選項(xiàng)C不對(duì)。rewind(中)的作用是將文件指針重定位到文件開頭,所以應(yīng)該選擇D。

21.內(nèi)模式內(nèi)模式解析:內(nèi)模式又稱為物理模式,它給出?數(shù)據(jù)庫(kù)物理存儲(chǔ)結(jié)構(gòu)與物理存取方法。

22.77解析:字符型數(shù)據(jù)可作為整型參加算術(shù)運(yùn)算,其值為其對(duì)應(yīng)的ASCII碼。'H'-'A',的結(jié)果是7,加'0'后是'7'的ASCII碼,所以輸出的是字符'7'。

23.交換排序交換排序解析:所謂排序是指將一個(gè)無(wú)序序列整理成按值非遞減順序排列成的有序序列,常用的排序方法有:交換排序、插入排序和選擇排序。其中交換排序包括冒泡排序和快速排序,插入排序包括簡(jiǎn)單插入排序和希爾排序,選擇排序包括直接選擇排序和堆排序。

24.21

25.邏輯數(shù)據(jù)模型邏輯數(shù)據(jù)模型解析:數(shù)據(jù)模型按不同的應(yīng)用層次分成三種類型,它們是概念數(shù)據(jù)模型、邏輯數(shù)據(jù)模型、物理數(shù)據(jù)模型。

26.分析題目可知,程序中運(yùn)用函數(shù)c=getchar()從標(biāo)準(zhǔn)輸入設(shè)備讀取下一個(gè)字符,而且是一行的字符(即沒有換行),所以條件為(c=getchar())!='\\n'。\r\n\r\n

27.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”。

28.float**zfloat*\r\n*z解析:C程序中可以通過(guò)傳送地址的方式在被調(diào)用函數(shù)中直接改變被調(diào)用函數(shù)中變量的值,從而達(dá)到函數(shù)之間數(shù)據(jù)的傳遞。

29.x>yz>u

30.邏輯獨(dú)立性邏輯獨(dú)立性解析:數(shù)據(jù)獨(dú)立性是數(shù)據(jù)與程序間的互不依賴性,即數(shù)據(jù)庫(kù)中數(shù)據(jù)獨(dú)立于應(yīng)用程序而不依賴于應(yīng)用程序。數(shù)據(jù)獨(dú)立性一般分為物理獨(dú)立性與邏輯獨(dú)立性兩個(gè)含義。注意:在人工管理階段,文件系統(tǒng)階段和數(shù)據(jù)庫(kù)管理階段中數(shù)據(jù)獨(dú)立性的特點(diǎn)。

31.99解析:本題考查宏定義與三目運(yùn)算符的綜合應(yīng)用。宏定義是原樣替換,本題中,如果a>b成立,則a+1的值為整個(gè)表達(dá)式的值,否則b+1的值為整個(gè)表達(dá)式的值(應(yīng)注意后面的加1)。

32.空間空間解析:算法的復(fù)雜度主要包括時(shí)間復(fù)雜度和空間復(fù)雜度。所謂算法的時(shí)間復(fù)雜度,是指執(zhí)行算法所需要的計(jì)算工作量。一個(gè)算法的空間復(fù)雜度,一般是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。

33.s[i]>='0'&&s[i]<='9'或isdigit(s[i])或s[i]>=48&&s[i]<=57或s[i]<='9'&&s[i]>='0'或'9'>=s[i]&&'0'<=s[i]或'0'<=s[i]&&'9'>=s[i]或s[i]<=57&&s[i]>=48或57>=s[i]&&48<=s[i]或48<=s[i]&&57>=s[i]s[i]>=\'0\'&&s[i]<=\'9\'或isdigit(s[i])或s[i]>=48&&s[i]<=57或s[i]<=\'9\'&&s[i]>=\'0\'或\'9\'>=s[i]&&\'0\'<=s[i]或\'0\'<=s[i]&&\'9\'>=s[i]或s[i]<=57&&s[i]>=48或57>=s[i]&&48<=s[i]或48<=s[i]&&57>=s[i]解析:本題中,chars[80],d[80];定義了兩個(gè)字符型數(shù)組,可以放入80個(gè)字符。gets函數(shù)是C語(yǔ)言提供的一個(gè)專門用于讀字符串的函數(shù),它讀入全部字符(包括空格),直到遇到回車為止。本題中,讀入字符串s后,開始比較s中的每個(gè)字符是否為數(shù)字字符,因?yàn)樽址麛?shù)據(jù)在內(nèi)存中以相應(yīng)的ASCII碼存放,所以只需比較相應(yīng)的ASCII碼值是否在48(\'0\'的ASCII代碼)與57(\'9\'的ASCII代碼)之間,或者直接與\'0\',\'9\'進(jìn)行比較,如果是數(shù)字字符則將此字符存入d數(shù)組中,不是則繼續(xù)進(jìn)行下一字符的比較,直至s結(jié)束(即\'\\0\'的出現(xiàn))。將'\\0'字符作為字符串d結(jié)束標(biāo)志,最后調(diào)用puts函數(shù)輸出d。所以在空格處應(yīng)填入比較語(yǔ)句s[i]>=\'0\'&&s[i]<=\'9\'或isdigit(s[i])或s[i]>=48&&s[i]<=57或s[i]<=\'9\'&&s[i]>=\'0\'或9\'>>=s[i]&&\'0\'<=s[i]或\'0\'<=s[i]&&\'9\'>=s[i]或s[i]<=57&&s[i]>=48或57>=s[i]&&48<=s[i]或48<=s[i]&&57>=s[i]。

34.77解析:程序中的if(i%7==0||i%11==0)是找出能被7或11整除的所有整數(shù),a[j++]=i是將滿足條件的數(shù)放到a數(shù)組中,變量j記錄了滿足條件的數(shù)據(jù)個(gè)數(shù),main函數(shù)通過(guò)變量n得到此數(shù)據(jù)個(gè)數(shù)。如果m的值為50,即表達(dá)式fun(10,aa,&n)為fun(50,aa,&n)時(shí),輸出結(jié)果為:711142122283335424449

35.功能性功能性解析:注釋一般分為序言性注釋和功能性注釋。序言性注釋通常位于每個(gè)程序的開頭部分,給出程序的整體說(shuō)明;功能性注釋一般嵌在源程序體之中,主要描述其后的語(yǔ)句或程序做什么,

36.1371513715解析:本題中,定義了個(gè)整型數(shù)組n并初始化,在for循環(huán)語(yǔ)句中,再對(duì)數(shù)組中各元素重新賦值。循環(huán)執(zhí)行第一次時(shí),n[1]=n[0]*2+1=0+1=1,printf函數(shù)輸出1,然后i的值加1,比較i<=4成立,繼續(xù)執(zhí)行循環(huán)體語(yǔ)句,相應(yīng)輸出3、7、15,直至i<=4不成立,退出循環(huán)。所以最后輸出為1、3、7、15。

37.可重用性繼承的優(yōu)點(diǎn):相似的對(duì)象可以共享程序代碼和數(shù)據(jù)結(jié)構(gòu),從而大大減少了程序中的冗余,提高軟件的可重用性。

38.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è)#。

39.88解析:二維數(shù)組可以看成是按矩陣形式排列的,題目中給二維數(shù)組賦初值是按行分段賦值的,a[4][4]可以分解為4個(gè)一維數(shù)組,其數(shù)組名分別為a[0]、a[1]、a[2]、a[3],這4個(gè)一維數(shù)組都有,4個(gè)元素,a[0]的元素為a[0][0]、a[0][1]、a[O][2]、a[0][3]。

40.關(guān)系關(guān)系解析:在數(shù)據(jù)庫(kù)中,一個(gè)表就是一個(gè)關(guān)系。一個(gè)關(guān)系的邏輯結(jié)構(gòu)就是一張二維表。

41.A解析:本題程序的功能是求1到99之間(包括1和99)所有奇數(shù)之和。程序中的while循環(huán)的終止條件為++i=100,在while循環(huán)體內(nèi),如果i是偶數(shù),則執(zhí)行continue,跳過(guò)這一次循環(huán),執(zhí)行下—次循環(huán),否則求和和。最后輸出的值是1到99之間(包括1和99)所有奇數(shù)之和(1+99)*50/2=2500。

42.A解析:需求分析是軟件定義時(shí)期的最后一個(gè)階段,它的基本任務(wù)就是準(zhǔn)確問(wèn)答“系統(tǒng)必須做什么”。這個(gè)問(wèn)題即軟件系統(tǒng)功能,需求分析的任務(wù)還不是確定系統(tǒng)怎樣完成它的工作,而僅僅是確定系統(tǒng)必須完成哪些工作,也就是對(duì)目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求。

43.D解析:在c語(yǔ)言中規(guī)定,無(wú)返回值的函數(shù)調(diào)用,可以作為表達(dá)式或表達(dá)式的一部分,也可以作為一條語(yǔ)句;而有返回值的函數(shù)調(diào)用只能作為一個(gè)函數(shù)的實(shí)參(即將其返回值傳給相應(yīng)的形參),而不能作為形參(因?yàn)樾螀⑹窃诤瘮?shù)定義時(shí)說(shuō)明的)。

44.A解析:本題主要考查結(jié)構(gòu)體的內(nèi)存使用:對(duì)結(jié)構(gòu)體而言,結(jié)構(gòu)中不同的成員分別使用不同的內(nèi)存空間,一個(gè)結(jié)構(gòu)所占內(nèi)存空間的大小是結(jié)構(gòu)中每個(gè)成員所占內(nèi)存空間大小的總和,結(jié)構(gòu)中每個(gè)成員相互獨(dú)立。

45.B解析:以“wt”方式寫入的是字符文件,轉(zhuǎn)義字符\'\\n\'被看作兩個(gè)字符來(lái)處理。而'wb'方式寫入的是二進(jìn)制文件,轉(zhuǎn)義字符\'\\n\'是一個(gè)字符。故正確答案為選項(xiàng)B)。

46.BB?!窘馕觥扛鶕?jù)二分法查找法需要兩次:(1)首先將90與表中間的元素50進(jìn)行比較,由于90大于50,所以性表的后半部分查找。(2)第二次比較的元素是后半部分的中間元素,即90,這時(shí)兩者相等,即查找成功。

47.B

48.C

49.D

50.C解析:算法是指為解決某個(gè)特定問(wèn)題而采取的確定且有限的步驟。一個(gè)算法應(yīng)當(dāng)具有以下五個(gè)特性:有窮性;確定性;可行性;有零個(gè)或多個(gè)輸入;有一個(gè)或多個(gè)輸出。所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。

51.C本題中,首先將0賦給k,表達(dá)式變?yōu)?,跳出循環(huán),沒有執(zhí)行循環(huán)體語(yǔ)句。解答本題的關(guān)鍵是掌握while語(yǔ)句。

52.D解析:在C語(yǔ)言中字符串的比較用strcmp()函數(shù),該函數(shù)有兩個(gè)參數(shù),分別為被比較的兩個(gè)字符串。如果第一個(gè)字符串大于第二個(gè)字符串返回值大于0,若小于返回值小于0,相等返回值為0.字符串比較大小的標(biāo)準(zhǔn)是從第一個(gè)字符開始依次向右比較,遇到某一個(gè)字符大,該字符所在的字符串就是較大的字符串,如果遇到某一個(gè)字符小,該字符所在的字符串就是較小的字符串。本題中要求當(dāng)s1所指字符串大于s2所指串時(shí),執(zhí)行語(yǔ)句s,因此應(yīng)該為strcmp(s1,s2)>0或者strcmp(s2,s1)<0,所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。

53.A\nA?!窘馕觥慷址ú檎抑贿m用于順序存儲(chǔ)的有序線性表,對(duì)于順序存儲(chǔ)的非有序線性表和線性鏈表,都只能采用順序查找。

\n

54.B

55.A

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

表示邏輯條件。

57.A解析:“^”是按位異或運(yùn)算,運(yùn)算規(guī)則是:當(dāng)兩個(gè)二進(jìn)制數(shù)對(duì)應(yīng)位上的數(shù)相同時(shí),異或結(jié)果為0,否則結(jié)果為1。73相當(dāng)于0110011,所以a的值為4。“&”是按位與運(yùn)算符,其運(yùn)算規(guī)則是:當(dāng)二進(jìn)制數(shù)的所有對(duì)應(yīng)位上的數(shù)值都為1時(shí),結(jié)果才為1;“~”是按位取反?!?&3相當(dāng)于1011&0011=0011,所以b的值為3。

58.B解析:sizeof函數(shù)是取變量所占的存儲(chǔ)空間的字節(jié)數(shù),標(biāo)識(shí)a代表常量121;constb=12;,其中數(shù)據(jù)類型可以缺省,默認(rèn)為整型;enumc{a1,a2};定義了—個(gè)枚舉類型enumc,a1,a2為枚舉元素,在C編譯時(shí),對(duì)枚舉元素按常量處理,它們的值按定義順序依次為0,1。因此它們的字節(jié)數(shù)均為2,2,2。

59.C解析:模塊的獨(dú)立程序是評(píng)價(jià)設(shè)計(jì)好壞的重要度量標(biāo)準(zhǔn)。衡量軟件的模塊獨(dú)立性使用耦合性和內(nèi)聚性這兩個(gè)定性的度量標(biāo)準(zhǔn)。

60.A

61.B棧是線性表的一種,其插入和刪除運(yùn)算都只在表的一端進(jìn)行。進(jìn)行插入、刪除的一端稱為棧頂,封閉的一端稱為棧底。棧頂元素是最后被插入的元素,不是最后被刪除的元素,是按先進(jìn)后出的原則組織數(shù)據(jù)的。

62.A條件表達(dá)式:X----表達(dá)式l?表達(dá)式2:表達(dá)式3的含義是:先求解表達(dá)式1,若其值為非0(真),則求解表達(dá)式2,將表達(dá)式2的值賦給x,若表達(dá)式1的值為o(假),則求解表達(dá)式3,將表達(dá)式3的值賦給x。在本題中與表達(dá)式(x_y)等價(jià)的是(x—y<011x—y>0),A選項(xiàng)正確。

63.C

64.C本題考查賦值語(yǔ)句,而選項(xiàng)A、B是表達(dá)式,不合題意,選項(xiàng)D中強(qiáng)制類型轉(zhuǎn)換,應(yīng)把類型名用括號(hào)括起來(lái),選項(xiàng)C中i--也可寫成i=i-1,故選擇c選項(xiàng)。

65.C解析:本題中首先定義一個(gè)整型變量a并給它賦初值為3,在表達(dá)式中,從右開始執(zhí)行,即先執(zhí)行“a-=a*a;”等價(jià)于a=a-a*a即a=3-3*3=-6,此時(shí)a的值為-6,接著執(zhí)行“a+=a-;”相

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論