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

一、單選題(20題)1.有以下定義和語(yǔ)句:structworkers{intnum;charname[20];charC;struct{intday;intmonth;intyear;)S;};structworkersw,*pw;pw=&w;能給w中year成員賦1980的語(yǔ)句是()。A.*pw.year=1980;

B.w.year=1980;

C.pw->year=1980

D.w.S.year=1980;

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

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

3.設(shè)初始輸入序列為1,2,3,4,5,利用一個(gè)棧產(chǎn)生輸出序列,下列()序列是不可能通過(guò)棧產(chǎn)生的。

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

4.執(zhí)行下列程序后,輸出的結(jié)果是()。#include<stdio.h>#defineS(X)X*Xvoidmain{inta=9,k=3,m=2;a/=S(k+m)/S(k+m):printf("%d",a);}A.1B.4C.9D.0

5.以下程序intaa[3][3]={{2},{4},{6}};main(){inti,*p=&aa[0][0];for(i=0;i<2;i++){if(i==0)aa[i][i+1]=*p+1;else++p;printf("%d",*p);}}的輸出是________。

A.23B.26C.33D.36

6.若有定義語(yǔ)句:“inta=3,b=2,c=1;”,以下選項(xiàng)中錯(cuò)誤的賦值表達(dá)式是()。

A.a=(b=4)=3;B.a=b=c+1:C.a=(b=4)+C;D.a=1+(b=c一4);

7.設(shè)棧S的初始狀態(tài)為空,棧的容量為5,若入棧元素的順序是e1、e2、e3、e4、e5,則出棧元素的順序不可能是______。

A.e1、e2、e3、e4、e5

B.e5、e4、e3、e2、e1

C.e2、e4、e3、e5、e1

D.e3、e4、e1、e2、e5

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

A.由3種基本結(jié)構(gòu)構(gòu)成的程序只能解決簡(jiǎn)單問(wèn)題

B.結(jié)構(gòu)化程序由順序、分支、循環(huán)3種基本結(jié)構(gòu)組成

C.C語(yǔ)言是一種結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言

D.結(jié)構(gòu)化程序設(shè)計(jì)提倡模塊化的設(shè)計(jì)方法

9.有以下程序:#include<stdio.h>main(){charch=‘D’;while(ch>‘A’){ch--;putchar(ch);if(ch==‘A’)break;putchar(ch+1);}}程序運(yùn)行后的輸出結(jié)果是()。

A.CBB.BCAC.CCBBD.CDBCA

10.

11.有以下程序:#include<stdio.h>intfun(intX,inty){if(X!=y)return((x+y)/2);elsereturn(x);}main(){inta=4,b=5,c=6;printf("%d/n",fun(2*a,fun(b,c)));}程序運(yùn)行后的輸入結(jié)果是()。A.3B.6C.8D.12

12.設(shè)無(wú)向圖G中的邊的集合E={(a,b),(a,e),(a,c),(b,e),(e,d),(d,f),(f,c)},則從頂點(diǎn)a出發(fā)進(jìn)行深度優(yōu)先遍歷可以得到的一種頂點(diǎn)序列為()。

A.aedfcbB.acfebdC.aebcfdD.aedfbc

13.執(zhí)行下述程序后,輸出的結(jié)果是()。#include<stdio.h>#defineS(X)X*Xvoidmain{inta=9,k=3,m=2;a/=S(k+m)/s(k+m);printf("%d",a);}A.1B.4C.9D.0

14.C語(yǔ)言中不合法的字符串常量是

A.\121B.'Y'C.\n\nD.ABCD\x6d

15.廣義表((a),a)的表頭是()。

A.aB.(a)C.((a))D.()

16.程序運(yùn)行后的輸出結(jié)果是()。#include<stdio.h>#include<stdlib.h>main(){int*a,*b,*c;a=b=c(int*)malloc(sizeof(int));*a=1;*b=2;*c=3;a=b;printf(“%d,%d,%d\n”,*a,*b,*c);}A.1.1.3B.2.2.3C.1.2.3D.3.3.3

17.設(shè)有如下類型說(shuō)明語(yǔ)句:typedefstruct{intnum;struct{inty,m,d;}date;}PER;則以下定義結(jié)構(gòu)體數(shù)組并賦初值的語(yǔ)句中錯(cuò)誤的是()。

A.PERst[2]={{1001},2008,8,1,{1002},2006,5,20};

B.PERst[2]={1001,{2008,8,1},1002,{2006,5,20}};

C.PERst[2]={{1001,2008,8,1},{1002,2006,5,20}};

D.PERst[2]={1001,2008,8,1,1002,2006,5,20};

18.設(shè)S為一個(gè)長(zhǎng)度為n的字符串,其中的字符各不相同,則S中的互異的非平凡子串(非空且不同于S本身)的個(gè)數(shù)為()。

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

19.運(yùn)行下列程序,若從鍵盤(pán)輸入字符“a”,則輸出結(jié)果是()。

charc;

c=getchar;

if(c>=a&&c<=g)c=c+4:

elseif(c>=9&&c<=2)c=c-21:

elseprintf("inputerror!\n");

putchar(c);

A.fB.tC.eD.d

20.有以下程序:

#include<stdio.h>

main()

{ints=0.n;

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

{switch(s)

{case0;

case1:s+=1;

case2:s+=2;break;

case3:S+=3;

default:s+=4;

}

printf("%d,"s);

}

}

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

A.1,2,4,

B.1,3,6,

C.3,10,14,

D.3,6,10,

二、2.填空題(20題)21.在關(guān)系模型中,把數(shù)據(jù)看成一個(gè)二維表,每一個(gè)二維表稱為一個(gè)______。

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

main()

{intx=1,y=2,z=3;

printf("%d,",x<y?y:x);

printf("%d,",z<y?x++:y++);

printf("%d,%d",x,y);

}

23.在面向?qū)ο蟪绦蛟O(shè)計(jì)中,從外面看只能看到對(duì)象有外部特征,而不知道也無(wú)需知道數(shù)據(jù)的具體結(jié)構(gòu)以及實(shí)現(xiàn)操作的算法,這稱為對(duì)象的______。

24.若有如下程序:

main()

{intx=4;y=3,Z=2,t;

t=x<y<z;

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

}

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

25.若有如下程序:

main()

{intx=20;

if(x>10)printf("%d",x-=5);

if(x>15)printf("%d",x);

}

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

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

#include<stdio.h>

main()

{intx=1,y=0,a=0,b=0;

switch(x)

{case1:

switch(y)

{case0:a++;break;

case1:b++;break;

}

case2:a++;b++;break;

case3:a++;b++;

}

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

}

27.與結(jié)構(gòu)化需求分析方法相對(duì)應(yīng)的是【】方法。

28.下述函數(shù)用于統(tǒng)計(jì)一行字符中的單詞個(gè)數(shù),單詞之問(wèn)用空格分隔。

word_num(str)

charstr[];

{inti,num=0,word=0;

fot(i=0;str[i]!=【】;i++)

if【】=='')word=0;

elseif(word==0)

{

word=1;

【】;

}

return(num);

}

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

#include<string.h>

chat*huiwen(chat*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(!t或t!=0)return("yes!");

elsereturn("no!");

}

main()

{charstr[50];

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

printf("%s\n",huiwen(str));

}

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

main()

{intarr[10],i,k=0;

for(i=0;i<10;i++)arr[i]=i;

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

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

}

31.以下程序的功能是輸出如下形式的方陣:

13141516

9101112

5678

1234

請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{inti,j,x;

for(j=4;j【】;j--)

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

[x=(j-1)*4+【】;

printf("%4d",x);

}

printf("\n");

}

32.樹(shù)中度為零的結(jié)點(diǎn)稱為_(kāi)_____。

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

34.長(zhǎng)度為n的順序存儲(chǔ)線性表中,當(dāng)在任何位置上插入一個(gè)元素概率都相等時(shí),插入一個(gè)元素所需移動(dòng)元素的平均個(gè)數(shù)為【】。

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

#include<stdlib.h>

main()

{char*s1,*s2,m;

s1=s2=(char*)malloc(sizeof(char));

*s1=15;*s2=20;m=*s1+*s2;

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

}

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

main()

{inti,a[10];

a[0]=a[1]=1;

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

a[i]=a[i-2]+a[i-1];

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

{if(i%2==0)printf("\n");

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

}

}

37.數(shù)據(jù)庫(kù)管理系統(tǒng)常見(jiàn)的數(shù)據(jù)模型有層次模型、網(wǎng)狀模型和【】3種。

38.以下程序?qū)?shù)組a的4個(gè)元素和數(shù)組b的6個(gè)元素寫(xiě)到名為lett.dat的二進(jìn)制文件中,請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

#include<stdlib.h>

main()

{FILE*fp;

chara[5]="1234",b[7]="abcedf";

if((fp=fopen("【】","wb"))==NULL)exit(0);

fwrite(a,sizeof(char),4,fp);

fwrite(b,【】,1,fp);

fclose(fp);

}

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

main()

{ints=0,i=1;

while(s<=10)

{s=s+i*i;

i++;

}

printf("%d",-i);

}

40.已知存儲(chǔ)結(jié)構(gòu)如下所示,請(qǐng)?zhí)羁铡?/p>

datanext

structlink{chardata;

【】;

}node;

三、1.選擇題(20題)41.以下各選項(xiàng)企圖說(shuō)明一種新的類型名,其中正確的是______。

A.typedefv1int;

B.typedefv2=int;

C.typedefintv3;

D.typedefv4:int

42.若有定義:char*st="howareyou";下列程序段中正確的是

A.chara[11],*p;strcpy(p=a+1,&st[4]);

B.chara[11];strcpy(++a,st);

C.chara[11];strcpy(a,st);

D.chara[],*p;strcpy(p=&a[1],st+2);

43.有如下程序#include<stdio.h>main(){FILE*fpl;fpl=fopen("f1.txt","w");fprintf(fp1,"abc");fclose(fp1);}若文本文件f1.txt中原有內(nèi)容為:good,則運(yùn)行以上程序后文件f1.txt中的內(nèi)容為

A.goodabcB.abcdC.abcD.abcgood

44.設(shè)有以下語(yǔ)句:structst{intn;structst*next;};staticstructsta[3]={5,&a[1],7,&a[2],9,'\0'},*p;p=&a[0];則表達(dá)式的值是6的為_(kāi)_____。

A.p++->nB.p->n++C.(*p).n++D.++p->n

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

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

46.定義int*swap()指的是______。

A.—個(gè)返回整型值的函數(shù)swap()

B.—個(gè)返回指向整型值指針的函數(shù)swap()

C.—個(gè)指向函數(shù)swap()的指針,函數(shù)返回一個(gè)整型值

D.以上說(shuō)法均錯(cuò)

47.有如下程序main(){inti,sum;for(i=1;i<=3;sum++)sum+=i;printf("%d\n",sum);}該程序的執(zhí)行結(jié)果是______。

A.6B.3C.死循環(huán)D.0

48.以下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;

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

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

50.已知各變量的類型說(shuō)明如下:intk,a,b;unsignedlongw=5;doublex=1.42;則以下不符合C語(yǔ)言語(yǔ)法的表達(dá)式是

A.x%(-3)B.Wd+=-2C.k=(a=2,b=3,a+D.a+=9-=(b=4)*(a=3)

51.設(shè)有關(guān)鍵碼序列(66,13,51,76,81,26,57,69,23),要按關(guān)鍵碼值遞增的次序排序,若采用快速排序法,并以第一個(gè)元素為劃分的基準(zhǔn),那么第一趟劃分后的結(jié)果為()。

A.23,13,51,57,66,26,81,69,76

B.13,23,26,51,57,66,81,76,69

C.23,13,51,57,26,66,81,69,76

D.23,13,51,57,81,26,66,69,76

52.在微機(jī)中,bit的中文含義是()。

A.二進(jìn)制位B.字節(jié)C.字D.雙字

53.以下能正確定義一維數(shù)組的選項(xiàng)是A.intnum[];

B.#defineN100intnum[N];

C.intnum[0..100];

D.intN=100;intnum[N];

54.電子數(shù)字計(jì)算機(jī)最主要的工作特點(diǎn)是()

A.高速度B.高精度C.存儲(chǔ)程序與自動(dòng)控制D.記憶力強(qiáng)

55.以下敘述中錯(cuò)誤的是A.計(jì)算機(jī)不能直接執(zhí)行用C語(yǔ)言編寫(xiě)的源程序

B.C程序經(jīng)C編譯程序編譯后,生成后綴為.obj的文件是一個(gè)二進(jìn)制文件

C.后綴為.obj的文件,經(jīng)連接程序生成后綴為.exe的文件是一個(gè)二進(jìn)制文件

D.后綴為.obj和.exe的二進(jìn)制文件都可以直接運(yùn)行

56.有以下程序:voidf(intn,int*r){intr1=0;if(n%3==0)r1=n/3;elseif(n%5==0)r1=n/5;elsef(--n,&r1);*r=r1;}main(){intm=7,r;f(m,&r);printf("%d\n",r);}程序運(yùn)行后的輸出結(jié)果是______。

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

57.一個(gè)源文件中的外部變量的作用域?yàn)?)。

A.本文件的全部范圍B.本程序的全部范圍C.本函數(shù)的全部范圍D.從定義該變量的位置開(kāi)始到本文件結(jié)束

58.有以下定義

#include<stdio.h>

chara[10],*b=a;

不能給a數(shù)組輸入字符串的語(yǔ)句是

A.gets(A)B.gets(a[0]);C.gets(&a[0]);D.gets(B);

59.在C語(yǔ)言中,函數(shù)調(diào)用時(shí)()。

A.實(shí)參和形參各占獨(dú)立的存儲(chǔ)單元

B.實(shí)參和形參共用存儲(chǔ)單元

C.由系統(tǒng)自動(dòng)確定實(shí)參和形參是否共用存儲(chǔ)單元

D.由用戶指定實(shí)參和形參是否共用存儲(chǔ)單元

60.若有“doublea;”,則正確的輸入語(yǔ)句是()。

A.scanf("%1f",A);

B.scanf("%f",&A);

C.scanf("%1f",&A);

D.scanf("%1e",A);

四、選擇題(20題)61.下列程序的輸出的結(jié)果是()。main{doubled=3.2;intx,Y;x=1.2;v=(x+3.8)/5.0;printf("%d\n",d*y);}A.3B.3.2C.0D.3.07

62.以下敘述中正確的是()。A.A.當(dāng)對(duì)文件的讀(寫(xiě))操作完成之后,必須將它關(guān)閉,否則可能導(dǎo)致數(shù)據(jù)丟失

B.打開(kāi)一個(gè)已存在的文件并進(jìn)行了寫(xiě)操作后,原有文件中的全部數(shù)據(jù)必定被覆蓋

C.在一個(gè)程序中當(dāng)對(duì)文件進(jìn)行了寫(xiě)操作后,必須先關(guān)閉該文件然后再打開(kāi),才能讀到第1個(gè)數(shù)據(jù)

D.c語(yǔ)言中的文件是流式文件,因此只能順序存取數(shù)據(jù)

63.

64.

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

voidfunc(int*a,intb[])

{b[0]=*a+b;}main

{inta,b[5];

a=0.b[0]=3;

func(&a,b);printf("%d\n",b[0]);

}

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

65.軟件測(cè)試的目的是()。

A.評(píng)估軟件可靠性B.發(fā)現(xiàn)并改正程序中的錯(cuò)誤C.改正程序中的錯(cuò)誤D.發(fā)現(xiàn)程序中的錯(cuò)誤

66.

67.有三個(gè)關(guān)系R、S和T如下:由關(guān)系R和s通過(guò)運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為()。

A.并B.自然連接C.笛卡兒積D.交

68.

69.已有定義:charc;,程序前面已在命令行中包含ctype.h文件,不能用于判斷c中的字符是否為大寫(xiě)字母的表達(dá)式是()。A.A.isupper(c)B.'A'<=c<='Z'

C.'A'<=c&&c<='Z'

D.c<=('z'-32)&&('a'-32)<=c

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

A.C語(yǔ)言中的文件是流式文件,因此只能順序存取數(shù)據(jù)

B.打開(kāi)一個(gè)已存在的文件并進(jìn)行了寫(xiě)操作后,原有文件中的全部數(shù)據(jù)必定被覆蓋

C.在一個(gè)程序中當(dāng)對(duì)文件進(jìn)了寫(xiě)操作后,必須先關(guān)閉該文件然后再打開(kāi),才能讀到第1個(gè)數(shù)據(jù)

D.當(dāng)對(duì)文件的讀(寫(xiě))操作完成之后,必須將它關(guān)閉,否則可能導(dǎo)致數(shù)據(jù)丟失

71.

72.以下選項(xiàng)中可用做c程序合法實(shí)數(shù)的是()。、、

A.3.0e0.2B..1e0C.E9D.9.12E

73.

74.下列關(guān)系運(yùn)算中,能使經(jīng)運(yùn)算后得到的新關(guān)系中屬性個(gè)數(shù)多于原來(lái)關(guān)系中屬性個(gè)數(shù)的是()。

A.選擇B.連接C.投影D.并

75.

76.

77.下面程序段的運(yùn)行結(jié)果是()。

A.8B.12C.4D.7

78.下列關(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ù)字典

79.作為信息處理熱點(diǎn)技術(shù)之一的“多媒體技術(shù)”中的媒體,強(qiáng)調(diào)的是()。

A.存儲(chǔ)媒體B.表現(xiàn)媒體C.傳輸媒體D.感覺(jué)媒體

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

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

五、程序改錯(cuò)題(1題)81.下列給定程序中函數(shù)fun的功能是:將P所指字符串中的所有字符復(fù)制到b中,要求每復(fù)制三個(gè)字符之后插入一個(gè)空格。

例如,若給a輸入字符串:ABCDEFGKHHK,調(diào)用函數(shù)后,字符數(shù)組b中的內(nèi)容為:ABCDEFGHIJK。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。

注意:部分源程序在文件MODll.C中,不得增行或刪行,也不得更改程序的結(jié)構(gòu)。

六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開(kāi)考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,編寫(xiě)函數(shù)fun(),其功能是將s所指字符串中ASCII值為奇數(shù)的字符刪除,將剩余字符形成的新字符串放在t所指數(shù)組中。例如,若s所指字符串中的內(nèi)容為“ABCDEFG12345”,其中字符A的ASCII值為奇數(shù),字符1的ASCII值也為奇數(shù),都應(yīng)當(dāng)刪除,其他依此類推。最后t所指的數(shù)組中的內(nèi)容應(yīng)是“BDF24”。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。試題程序:#include<conio.h>#include<stdio.h>#include<string.h>voidfun(char*s,chart[]){}main(){ chars[100],t[100],Msg[]=“Pleaseenterstrings:”; printf(Msg); scanf(“%s”,s); fun(s,t); printf(“\nTheresuitis:%s\n”,t);}

參考答案

1.D結(jié)構(gòu)workers中的成員s是一個(gè)嵌套的結(jié)構(gòu)類型定義,因此在給year賦值時(shí),要用“.”運(yùn)算在深入一層訪問(wèn)到最基本的成員year,只有D項(xiàng)反映出了這一點(diǎn)。

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

3.B

4.D本題主要考查帶參數(shù)的宏定義,過(guò)程如下:由于定義為define(x)x*x沒(méi)有括號(hào)優(yōu)先級(jí),所以:a=a/(S(k+m)/S(k+m))=a/(k+m*k+m/k+m*k+m)=9/(3+2*3+2/3+2*3+2)=0。

5.A解析:觀察題目,可以發(fā)現(xiàn),*p=&aa[0][0]語(yǔ)句實(shí)際是將數(shù)組aa的首地址賦給了指針變量p,將i的值帶入for循環(huán)中,i=0時(shí),aa[0][1]=3,*p=2;*p輸出的是指針?biāo)赶虻臄?shù)組值,此時(shí)p所指向的是aa[O][0],輸出2,而i=1時(shí)執(zhí)行了++p操作使指針向后移動(dòng)指向了aa[0][1],所以在輸出*p時(shí)應(yīng)為3。

6.A由等式的規(guī)則可知,A選項(xiàng)錯(cuò)誤。先對(duì)括號(hào)的b進(jìn)行等式運(yùn)算,得出b=4,然后計(jì)算得出a=4=3,所以會(huì)導(dǎo)致錯(cuò)誤。答案選擇A。

7.D解析:棧是僅在表頭和表尾進(jìn)行插入和刪除元素操作的線性表,其特點(diǎn)是“先進(jìn)后出”。本題中,進(jìn)棧的過(guò)程中可以出棧。選項(xiàng)D中,如果第一個(gè)出棧的元素為e3,由于入棧順序是e1、e2、e3,那么e3出棧后,棧中元素必定有e1和e2,因?yàn)閑1先入棧,故e1應(yīng)在e2后出棧,所以選項(xiàng)D是不可能的出棧順序。

8.A由順序、選擇(分支)、循環(huán)3種基本結(jié)構(gòu)構(gòu)成的程序可以解決所有問(wèn)題,而不只是解決簡(jiǎn)單問(wèn)題,所以A選項(xiàng)錯(cuò)誤。故本題答案為A選項(xiàng)。

9.Dputchar函數(shù)的功能是輸出一個(gè)字符,由whlie判斷條件和ch初始值可知,只要“ch≠‘A’”,執(zhí)行兩次putchar函數(shù),否則跳出循環(huán)。第1次輸出“CD”,第2次輸出“BC”,第3次輸出“A”后跳出循環(huán)。故本題答案為D選項(xiàng)。

10.B

11.B此題考查的是函數(shù)fun,fun(b,c)=5,然后fun(2*a,5)=fun(8,5)=6。

12.B

13.D本題j=要是考查帶參數(shù)的宏的定義,過(guò)程如下:inta=a/S(k+m)/S(k+m)=a/(k+m*k+m/k+m)=9/(3十2*3十2/3十2*3十2)=0。

14.B解析:字符串常量是由雙引號(hào)括起來(lái)的一串字符,其中的雙引號(hào)不可缺少。由此可知,選項(xiàng)A)、C)、D)都是含法的字符串常量,而選B)是一個(gè)字符常量。

15.B

16.D

17.A結(jié)構(gòu)體PER類型定義了兩個(gè)成員:num為整型,date為嵌套的結(jié)構(gòu)體類型。初始化時(shí),成員值的順序必須與成員定義的順序相同,num必須是整數(shù),date必須是用花括號(hào)標(biāo)注的嵌套的3個(gè)整數(shù)。選項(xiàng)A中,{1001}和{1002}都不是整數(shù),所以選項(xiàng)A錯(cuò)誤。故本題答案為A選項(xiàng)。

18.D

19.C

\ngetchar函數(shù)是讀取鍵盤(pán)的輸入函數(shù),本題中輸入字母“a”,則c=a,判斷if條件,發(fā)現(xiàn)a>=a&&a<=g成立,則執(zhí)行下列語(yǔ)句:C=C+4,C得到的字符的ASCII碼值,退出if語(yǔ)句,通過(guò)putchar函數(shù)輸出字符。

20.C\n本題考查switch…ease語(yǔ)句,在本題的程序中,只有在case2:s=s+2;break;,才有break語(yǔ)句,所以當(dāng)s=0時(shí)會(huì)執(zhí)行s=s+1;s=s+2;,所以s=3,當(dāng)s=3時(shí),會(huì)執(zhí)行s=s十3;s=s+4;,所以s=10,依此類推,答案選擇C。

\n

21.關(guān)系關(guān)系解析:關(guān)系模型用;維表表示,則每個(gè);維表代表一種關(guān)系。

22.22132,2,1,3解析:本題考查++,--運(yùn)算符和條件運(yùn)算符的使用。

“表達(dá)式1?表達(dá)式2:表達(dá)式3”的功能是:表達(dá)式1的值若非0,則計(jì)算表達(dá)式2的值,且表達(dá)式2的值為最終結(jié)果;若表達(dá)式1的值為0,則計(jì)算表達(dá)式3的值,且為最終結(jié)果。

本題中,x=1,y=2時(shí),x<y成立,輸出y的值2;y=2,z=3時(shí),z<y不成立,執(zhí)行y++,輸出2后y值增1,所以最后一個(gè)輸出x的值不變?yōu)?,y的值為增加后的3。

23.對(duì)象具有5個(gè)基本特點(diǎn):①標(biāo)識(shí)唯一性;②分類性;③多態(tài)性;④封裝性;⑤模塊獨(dú)立性好。其中,封裝性是指從外面看只能看到對(duì)象的外部特征,對(duì)象的內(nèi)部特征即處理能力的實(shí)行和內(nèi)部狀態(tài),對(duì)外是不可見(jiàn)的,對(duì)象的內(nèi)部狀態(tài)只能由其自身改變。\r\n\r\n

24.11解析:因?yàn)閤=4,y=3,所以表達(dá)式x<y的值為假(0),又因?yàn)閦=2,所以0<z的值為真(1),故最終輸出的結(jié)果為1。

25.1515解析:本題首先定義了一個(gè)變量x并初始化為20。然后第一個(gè)if語(yǔ)句判斷x是否>10,結(jié)果為真,則執(zhí)行后面的輸出語(yǔ)句,輸出結(jié)果是賦值表達(dá)式X-=5的值,所以輸出15,同時(shí)x的值也變成15。第二個(gè)if語(yǔ)句再判斷x是否>15時(shí)條件為假,結(jié)束程序。所以程序運(yùn)行后的輸出結(jié)果是15。

26.a=2b=1a=2,b=1解析:本題考查了switch結(jié)構(gòu)的內(nèi)容。C語(yǔ)言中,程序執(zhí)行完一個(gè)case標(biāo)號(hào)的內(nèi)容后,如果沒(méi)有break語(yǔ)句,控制結(jié)構(gòu)會(huì)轉(zhuǎn)移到下一個(gè)case繼續(xù)執(zhí)行,因?yàn)閏ase常量表達(dá)式只是起語(yǔ)句標(biāo)號(hào)作用,并不是在該處進(jìn)行條件判斷。本題程序在執(zhí)行完內(nèi)部switch結(jié)構(gòu)后,繼續(xù)執(zhí)行了外部switch結(jié)構(gòu)的case2分支,最后a和b的值分別為2和1。

27.結(jié)構(gòu)化設(shè)計(jì)結(jié)構(gòu)化設(shè)計(jì)解析:與結(jié)構(gòu)化需求分析方法相對(duì)應(yīng)的是結(jié)構(gòu)化設(shè)計(jì)方法。結(jié)構(gòu)化設(shè)計(jì)就是采用最佳的可能方法設(shè)計(jì)系統(tǒng)的各個(gè)組成部分以及各個(gè)成分之間的內(nèi)部聯(lián)系的技術(shù)。

28.\0'或0或NULLstr[i]num++或num=num+1或num+=1\\0'或0或NULL\r\nstr[i]\r\nnum++或num=num+1或num+=1解析:觀察題目要求,可以知道以下幾點(diǎn):①for循環(huán)的結(jié)束條件應(yīng)當(dāng)是:str[i]已是字符串的最后一個(gè)字符;②str[i]代表字符串str中的第i+1個(gè)字符;③整型變量num的值是要記錄的單詞的個(gè)數(shù)。C語(yǔ)言中規(guī)定字符串的最后一個(gè)字符是一個(gè)隱含的字符串結(jié)束符“\\0”,所以在題中第一個(gè)空中應(yīng)填寫(xiě)“\\0”;題中第二個(gè)空應(yīng)填寫(xiě)“str[i]”,以判斷當(dāng)前位置的字符是否為空格;題中第三個(gè)空中應(yīng)當(dāng)填寫(xiě)“num++”,通過(guò)變量num的加1累加得到字符串中的單詞個(gè)數(shù)。

29.str+strlen(str)-1str+strlen(str)-1解析:先從main函數(shù)開(kāi)始看,它先讀入字符串,接下來(lái)肯定是要判斷這個(gè)字符串是否是回文,冉看huiwen函數(shù),它的主要思想是用p1指向字符串的首地址,p2指向字符串的尾地址(不包括結(jié)束符‘/0‘),將p1左移,p2右移,直到這兩個(gè)指針相遇,如果在移動(dòng)過(guò)程中發(fā)現(xiàn)p1!=p2,則該字符串不是回文,否則其是同文。因此。在空中填str+strlen(str)-1。

30.66解析:本題第1個(gè)for循環(huán)是為數(shù)組arr元素賦初值。第2個(gè)for循環(huán)是分別用i=0,1,2,3給數(shù)組元素arr[0]、arr[1]、arr[2]、arr[3]賦值,再累加到變量k中,k=0+1+2+3=6。

31.>=1或>0i>=1或>0\r\ni解析:程序的外層for循環(huán)控制輸出數(shù)據(jù)的行數(shù),故第一處填“>=1”或“>0”;內(nèi)層循環(huán)控制每行輸出的個(gè)數(shù)。在內(nèi)層for循環(huán)中,語(yǔ)句x=(j-1)*4+______;用于控制輸出方陣中的具體數(shù)據(jù),由于這些數(shù)據(jù)與其所在的行、列(j,i)具有x=(j-1)*4+i的關(guān)系,故第二處填i。

32.葉子結(jié)點(diǎn)葉子結(jié)點(diǎn)解析:樹(shù)中度為零的結(jié)點(diǎn),也就是沒(méi)有后件的結(jié)點(diǎn),稱為葉子結(jié)點(diǎn)。

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

34.n/2性表的任何位置插入一個(gè)元素的概率相等,即概率為p=1/(n+1),則插入一個(gè)元素時(shí)所需移動(dòng)元素的平均次數(shù)為E=1/(n+1)(n-i+1)=n/2。

35.4040解析:本題中指針s1和s2都指向同一個(gè)內(nèi)存中的地址。因此語(yǔ)句“*s2=20;”執(zhí)行后,*\u3000s1=*s2=20。所以m最后的值為40。

36.11<CR>23<CR>5(<CR代表?yè)Q行)11<CR>23<CR>5(<CR,代表?yè)Q行)解析:本題通過(guò)語(yǔ)句“for(i=2;i<5;i++)a[i]=a[i-2]+a[i-];”將數(shù)組中前面兩項(xiàng)的和賦值給數(shù)組當(dāng)前元素,得到a的值應(yīng)為(1,1,2,3,5)。語(yǔ)句if(i%2==0)pfintf('\\n')是要將數(shù)組中的元素以每行2個(gè)的形式輸出。

37.關(guān)系模型關(guān)系模型解析:數(shù)據(jù)庫(kù)管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層系統(tǒng)管理軟件,是一種系統(tǒng)軟件,是用戶與數(shù)據(jù)庫(kù)之間的一個(gè)標(biāo)準(zhǔn)接口。其總是基于某種數(shù)據(jù)模型,可以分為層次模型、網(wǎng)狀模型和關(guān)系模型。

38.lett.dat6*sizeof(char)lett.dat6*sizeof(char)解析:本題主要考查函數(shù)fwrite(char*pt,unsignedsize,unsignedn,F(xiàn)ILE*fp),把pt所指向的n*size個(gè)字節(jié)輸出到fp所指定的文件中。

39.33解析:分析程序運(yùn)行過(guò)程,第1次循環(huán):s=s+i*i=0+1*1=1,i=2;第2次循環(huán):s=s+i*i=1+2*2=5,i=3;第3次循環(huán):s=s+i*i=5+3*3=14,i=4;循環(huán)條件不成立輸出i,--i使i的值減1,軸出結(jié)果為3。

40.strucklink*nextstrucklink*next解析:結(jié)構(gòu)體變量構(gòu)成鏈表要求結(jié)構(gòu)體中必須有一個(gè)指向該結(jié)構(gòu)體變量自身的指針用來(lái)指明鏈表的下一個(gè)結(jié)點(diǎn)。注意:結(jié)構(gòu)體變量的定義及其成員變量的引用。

41.C解析:C語(yǔ)言中可以使用typedef來(lái)重新定義已有的數(shù)據(jù)類型,相當(dāng)于為數(shù)據(jù)類型取個(gè)別名。

42.A解析:本題綜合考查字符數(shù)組的賦值和strcpy函數(shù)的用法。C語(yǔ)言不允許用賦值表達(dá)式對(duì)字符數(shù)組賦值,如下面的語(yǔ)句就是非法的:strl=“China”,如果想把“China”這5個(gè)字符放到數(shù)組strl中,除了逐個(gè)地輸入外,還能使用strcpy函數(shù),該函數(shù)的功能是將一個(gè)字符串復(fù)制到一字符數(shù)組中。例如:strcpy(strl,“China”);或strcpy(strl,str2);注意,不能企圖用以下語(yǔ)句來(lái)實(shí)行賦值(將str2的值傳給strl):strl=str2;不能用賦值語(yǔ)句將一個(gè)字符串常量或字符數(shù)組直接給一個(gè)字符數(shù)組。

strcpy函數(shù)的結(jié)構(gòu)是:strcpy(字符數(shù)組1,字符串2)

其中,需要注意的是,字符數(shù)組1的長(zhǎng)度不應(yīng)小于字符串2的長(zhǎng)度,“字符數(shù)組1”必須寫(xiě)成數(shù)組名形式,如(strl),“字符串2”可以是字符數(shù)組名,也可以是字符串常量,不能用賦值語(yǔ)句將一個(gè)字符串常量或字符數(shù)組直接給一個(gè)字符數(shù)組。

43.C解析:主函數(shù)中定義了一個(gè)文件指針fp1,然后通過(guò)fopen()函數(shù),以寫(xiě)的方式打開(kāi)文件“fl.txt”,并讓指針fp1指向它,接著調(diào)用fpfintf()函數(shù)將“abc”寫(xiě)到文件fp1所指的文件里,由于開(kāi)始fp1指向文件的“fl.txt”的開(kāi)始位置,因此“abc”將把文件“fl.txt”里原來(lái)的內(nèi)容“good”覆蓋掉,故文件“fl.txt”里最后的內(nèi)容為“abc”。

44.D解析:本題主要考查結(jié)構(gòu)體變量的定義和應(yīng)用,以及運(yùn)算符的優(yōu)先級(jí)。

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

46.B解析:—個(gè)函數(shù)可以帶回—個(gè)整型值、字符值、實(shí)型值等,但也可以帶回指針型數(shù)據(jù),即地址。本題的定義中,包括括號(hào)和*號(hào),由于()優(yōu)先級(jí)高于*。故它是—個(gè)返回整型指針的函數(shù)。

47.C解析:在循環(huán)過(guò)程中,i的值一直沒(méi)有被改變,所以這是一個(gè)死循環(huán)。

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

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

50.A解析:“%”是求余運(yùn)算符或模運(yùn)算符,“%”兩側(cè)均應(yīng)為整型數(shù)據(jù),選項(xiàng)A)中的x是double型數(shù)據(jù)。

51.AA)【解析】快速排序是起泡排序的改進(jìn)。在快速排

序中,任取一個(gè)記錄,以它為基準(zhǔn)用交換的方法將所有的記錄分成兩部分,關(guān)鍵碼值比它小的在一部分,關(guān)鍵碼值比它火的在另一部分,再分別對(duì)兩個(gè)部分實(shí)施上述過(guò)程,一直重復(fù)到排序完成。

52.A在微機(jī)中,信息的最小單位為二進(jìn)制位,用bit來(lái)表示;8位二進(jìn)制構(gòu)成一個(gè)字節(jié),用Byte來(lái)表示;一個(gè)或一個(gè)以上字節(jié)可組成一個(gè)二進(jìn)制表示的字,字長(zhǎng)可以是8位、16位、32位或64位;兩個(gè)字長(zhǎng)的字,稱為雙字。故本題正確答案是A\n【考點(diǎn)】科技\n學(xué)科專題(物理、化學(xué)、生物醫(yī)學(xué)、計(jì)算機(jī))\n計(jì)算機(jī)數(shù)據(jù)存儲(chǔ)

53.B解析:選項(xiàng)A定義數(shù)組時(shí)省略了長(zhǎng)度,而C語(yǔ)言中規(guī)定,只有在定義并同時(shí)進(jìn)行初始化時(shí),數(shù)組的長(zhǎng)度才可以省略,數(shù)組的長(zhǎng)度為初始化時(shí)候的成員個(gè)數(shù),故選項(xiàng)A錯(cuò)誤;在C語(yǔ)言中規(guī)定,數(shù)組的長(zhǎng)度必須是一個(gè)整數(shù)或整型常量表達(dá)式,故選項(xiàng)C不正確:定義時(shí)數(shù)組的長(zhǎng)度不能使用變量表示,故選項(xiàng)D不正確,所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。

54.B解析:通常所說(shuō)的計(jì)算機(jī)應(yīng)是電子數(shù)字計(jì)算機(jī)的簡(jiǎn)稱。電子數(shù)字計(jì)算機(jī)是一種能快速、自動(dòng)進(jìn)行數(shù)值計(jì)算和信息處理的計(jì)算工具。其主要特點(diǎn)是:(1)計(jì)算機(jī)能快速計(jì)算;(2)計(jì)算機(jī)是具有通用性的計(jì)算工具;(3)計(jì)算機(jī)具有高準(zhǔn)確度;(4)計(jì)算機(jī)具有邏輯判斷能力。

55.D解析:一個(gè)C語(yǔ)言的源程序(后綴名為.c)在經(jīng)過(guò)編譯器編譯后,先生成一個(gè)匯編語(yǔ)言程序,然后由編譯程序再將匯編語(yǔ)言程序翻譯成機(jī)器指令程序,即目標(biāo)程序(后綴名為.obj),目標(biāo)程序不可以直接運(yùn)行,它要和庫(kù)函數(shù)或其它目標(biāo)程序連接成可執(zhí)行文件(后綴名為.exe)后方可運(yùn)行。故本題答案為D)。

56.A解析:題目中定義了一個(gè)指針變量r作為形參f()的函數(shù)。在主函數(shù)main()中定義了兩個(gè)變量m和r,同時(shí)給m賦初值7,調(diào)用函數(shù)f(m,&r)并執(zhí)行,函數(shù)f()通過(guò)指針r將最后的值返回。

57.D解析:一個(gè)源文件中的外部變量的作用域是從定義該變量的位置開(kāi)始到本文件結(jié)束。

58.B解析:函數(shù)gets()的調(diào)用形式為gets(str_adr);str_adr是存放字符串的起始地址??梢允亲址麛?shù)組名、字符指針或字符數(shù)組元素的地址。gets函數(shù)用來(lái)從終端鍵盤(pán)讀入字符串(包括空格符),直到讀入一個(gè)換行符為止。換行符讀入后,不作為字符串的內(nèi)容。本題中定義一個(gè)長(zhǎng)度為10的字符數(shù)組,和一個(gè)指針變量b,并且通過(guò)賦值讓它指向數(shù)組a。gets函數(shù)的參數(shù)a[0]不能表示數(shù)組a的首地址。

59.A解析:本題考查函數(shù)調(diào)用時(shí)的參數(shù)傳遞。函數(shù)的形參是函數(shù)定義時(shí)由用戶定義的形式上的變量,實(shí)參是函數(shù)調(diào)用時(shí),主調(diào)函數(shù)為被調(diào)函數(shù)提供的原始數(shù)據(jù)。

在函數(shù)調(diào)用時(shí),實(shí)參和其所對(duì)應(yīng)的形參分別占用不同的存儲(chǔ)單元,彼此之間不影響。

60.C

61.C根據(jù)賦值運(yùn)算的類型轉(zhuǎn)換規(guī)則,先將double型的常量l.2轉(zhuǎn)換為int型,因?yàn)閤的類型是int,則X的值為1;執(zhí)行語(yǔ)句y=(K+3.8)/5.0時(shí),即先將整型變量X的值1轉(zhuǎn)換為double型1.0,然后3.8

溫馨提示

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