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

一、單選題(20題)1.

2.已知a、b、c為整型變量,若從鍵盤(pán)輸入5<空格>6<空格>7<回車(chē)>,使a的值為5,b的值為6,c的值為7,則下列選項(xiàng)中正確的輸入語(yǔ)句是()。

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

B.scanf("%d%d%d",a,b,C);

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

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

3.

4.第

22

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

#include"stdio.h"

main()

{inta=4,b=6,c=7;

doubled,fun(int,int,int);

d=fun(a,b,c);

printf("%lf\n",d);}

doublefun(inta,intb,intc)

{doubles;

s=a%b*c;

returns;}

A.27B.27.000000C.28D.28.000000

5.

6.數(shù)字字符0的ASCII值為48,運(yùn)行下列程序的輸出結(jié)果是()。main(){chara='1',b='2';printf("%c,",b++);printf("%d\n",b-A);}

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

7.下列不正確的轉(zhuǎn)義字符是()。

A.'\\'B.'\t'C.'\n'D.'088'

8.以下有關(guān)scanf函數(shù)的敘述中錯(cuò)誤的是()。

A.在scanf函數(shù)的格式字符前既可以加入正整數(shù)指定輸入數(shù)據(jù)所占的寬度,也可以對(duì)實(shí)數(shù)指定小數(shù)位的寬度

B.scanf函數(shù)有返回值,其值就是本次調(diào)用scanf函數(shù)時(shí)正確讀入的數(shù)據(jù)項(xiàng)個(gè)數(shù)

C.scanf函數(shù)從輸入字符流中按照格式控制指定的格式解析出相應(yīng)數(shù)據(jù),送到指定地址中

D.在scanf函數(shù)中的格式控制字符串不會(huì)輸出到屏幕上

9.在以下的敘述中,正確的是()。

A.線性表的順序存儲(chǔ)結(jié)構(gòu)優(yōu)于鏈表存儲(chǔ)結(jié)構(gòu)

B.二維數(shù)組是其數(shù)據(jù)元素為線性表的線性表

C.棧的操作方式是先進(jìn)先出

D.隊(duì)列的操作方式是先進(jìn)后出

10.某某二叉樹(shù)的中序序列和后序序列正好相反,則該二叉樹(shù)一定是______的二叉樹(shù)

A.空或只有一個(gè)結(jié)點(diǎn)B.高度等于其結(jié)點(diǎn)數(shù)C.任一結(jié)點(diǎn)無(wú)左孩子D.任一結(jié)點(diǎn)無(wú)右孩子

11.由兩個(gè)棧共享一個(gè)存儲(chǔ)空間的好處是______。

A.減少存取時(shí)間,降低下溢發(fā)生的幾率

B.節(jié)省存儲(chǔ)空間,降低上溢發(fā)生的幾率

C.減少存取時(shí)間,降低上溢發(fā)生的幾率

D.節(jié)省存儲(chǔ)空間,降低下溢發(fā)生的幾率

12.下列有關(guān)圖的遍歷說(shuō)法中,不正確的是()

A.圖的遍歷必須用遞歸實(shí)現(xiàn)

B.基本遍歷算法兩種:深度遍歷和廣度遍歷

C.有向圖和無(wú)向圖都可以進(jìn)行遍歷操作

D.圖的遍歷算法可以執(zhí)行在有回路的圖上

13.按照“先進(jìn)先出”組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是()。

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

14.若有如下程序段,其中s、a、b、c均已定義為整型變量,且a、c均已賦值(c大于0)s=a;for(b=1;b<=c;b++)s=s+1;則與上述程序段功能等價(jià)的賦值語(yǔ)句是()。

A.s=a+b;B.s=a+c;C.s=s+c;D.s=b+c;

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

A.C程序中的#include和#define行均不是C語(yǔ)句

B.除逗號(hào)運(yùn)算符外,賦值運(yùn)算符的優(yōu)先級(jí)最低

C.C程序中,j++;是賦值語(yǔ)句

D.C程序中,+、-、*、/、%是算術(shù)運(yùn)算符,可用于整型和實(shí)型數(shù)的運(yùn)算

16.

17.若變量已正確定義,有下列程序段: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

18.在"inta[][3]={{1},{3,2},{4,5,6},{0}};"中,a[2][2]的值是()。

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

19.以下對(duì)結(jié)構(gòu)體類(lèi)型變量的定義中,不正確的是()。

A.typedefstruetaa{intn;floatm;}AA;AAtdl;

B.#defineAAstructaaAA{intn;floatm;}tdl;

C.struct{intn;floatm;}aa;structaatdl;

D.struct{intn;floatm;}tdl;

20.

二、2.填空題(20題)21.設(shè)一棵完全二叉樹(shù)共有700個(gè)結(jié)點(diǎn),則在該二叉樹(shù)中有【】個(gè)葉子結(jié)點(diǎn)。

22.用十六進(jìn)制給存儲(chǔ)器中的字節(jié)地址進(jìn)行編號(hào),其地址編號(hào)從0000到FFFF,則該存儲(chǔ)器容量是【】。

23.下面的程序?qū)崿F(xiàn)的是從指針p所指向的地址的n個(gè)數(shù)中,找出最大的和最小的數(shù)據(jù),請(qǐng)?zhí)羁铡?/p>

fun(int*p,intn)

{int*q;

intmax,min;

max=min=*p;

for(q=p;【】;q++)

if(*q>max)max=*q;

elseif(*q<min)min=*q;}

24.下列程序中的函數(shù)stropy2()實(shí)現(xiàn)字符串兩次復(fù)制,即將t所指字符串復(fù)制兩次到s所指內(nèi)存空間中,合并形成一個(gè)新字符串。例如,若t所指字符串為:efgh,調(diào)用strcpy2后,s所指字符串為:efghefgh。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

#include<string.h>

voidstrcpy2(char*s,char*t)

{char*p=t;

while(*s++=*t++);

s=【】;

while(【】=*p++);

}

main()

{charstr1[100]="abed",str2[]="efgh";

strcpy2(str1,str2);printf("%s\n",str1);

}

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

}

26.某二叉樹(shù)中度為2的結(jié)點(diǎn)有18個(gè),則該二叉樹(shù)中有【】個(gè)葉子結(jié)點(diǎn)。

27.已有文本文件test.txt,其中的內(nèi)容為:Hello,everyone!。以下程序中,文件test.txt已正確為“讀”而打開(kāi),由此文件指針fr指向文件,則程序的輸出結(jié)果是______。

#include<stdio.h>main(){FILE*fr;charstr[40];

fgets(str,5,fr);

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

fclose(fr);}

28.在Windows環(huán)境下,可以利用單擊、雙擊、拖動(dòng)這三種鼠標(biāo)操作之一的【】操作實(shí)現(xiàn)窗口的移動(dòng)。

29.設(shè)Y是int型變量,請(qǐng)寫(xiě)出判斷Y為奇數(shù)的關(guān)系表達(dá)式【】。

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

#include<stdio.h>

#defineSIZE12

main()

{chars[SIZE];inti;for(i=0;i<SIZE;i++)s[i]='A'+i+321;

sub(s,7,SIZE-1);

for(i=0;i<SIZE;i++)printf("%c",s[i]);

printf("\n");}

sub(char*a,intt1,intt2)

{charch;

while(t1<t1)

{ch=*(a+t1);

*(a+t1)=*(a+t2);

*(a+t2)=ch;

t1++;t2--;}}

31.【】(黑箱或白箱)測(cè)試方法完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征。

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

33.執(zhí)行下列語(yǔ)句段后,x的值是______。

int*p,x;

x=100;

p=&x;

x=*p+50;

34.以下函數(shù)的功能是刪除字符串s中的所有數(shù)字字符。請(qǐng)?zhí)羁铡?/p>

voiddele(char*s)

{

intn=0,i;

for(i=0,s[i];i++)

if(【】)

s[n++]=s[i];

s[n]=【】;

}

35.有以下結(jié)構(gòu)體說(shuō)明和變量的定義,且指針p指向變量a,指針q指向變量b,則不能把結(jié)點(diǎn)b連接到結(jié)點(diǎn)a之后的語(yǔ)句是______。

structnode

{chardata;

structnode*next;}a,b

以下程序中調(diào)用scanf函數(shù)給變量a輸入數(shù)值的方法是錯(cuò)誤的,其錯(cuò)誤原因是main(){int*p,*q,a,b;p=&a;printf("inputa:");scanf("%d",*p);}

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

#include<stdio.h>

main()

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

if(x<y)

if(y<0)z=0;

elsez+=1;

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

}

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

#include<stdio.h>

main()

{char*p={"BOOL""OPK","H","SP"};

inti;

for(i=3,i>=0;i--,i--)printf("%",*p[i]);

printf("\n");

}

38.在面向?qū)ο蠓椒ㄖ?,?lèi)之間共享屬性和操作的機(jī)制稱為_(kāi)_____。

39.請(qǐng)用位運(yùn)算實(shí)現(xiàn)下述目標(biāo)(設(shè)16位二進(jìn)制數(shù)的最低位為零位):

(1)輸出無(wú)符號(hào)正整數(shù)m的第i個(gè)二進(jìn)制位的數(shù)值。

(2)將m的第i個(gè)二進(jìn)制位置1,其余的位不變,然后輸出m。

#include"stdio.h"

【】

main()

{

unsignedk,i,m=0;

scanf("%d%d",&m,&i);

k=【】;

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

k=pow(2,i);

m=【】;

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

}

40.在長(zhǎng)度為n的線性表中查找一個(gè)表中不存在的元素,需要的比較次數(shù)為【】。

三、1.選擇題(20題)41.設(shè)有以下定義: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;srtcpy(p=&a[1],st+2);

42.若執(zhí)行以下程序時(shí)從鍵盤(pán)上輸入9,則輸出結(jié)果是______。main(){intn;scanf("%d:",&n);if(n++<10)printf("%d\n",n);elseprintf%d\n",n--);}

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

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

A.123B.234C.223D.233

44.現(xiàn)有格式化輸入語(yǔ)句,scanf("x=%d],sum]y=%d,line]z=%dL",&x,&y,&z);,已知在輸入數(shù)據(jù)后,x,y,z的值分別是12,34,45,則下列選項(xiàng)中是正確的輸入格式的是

[注]:"]"表示空格,<Enter>表示回車(chē)

A.12,34,45<Enter>

B.x=12,y=34,z=45<Enter>

C.x=12C,sumy=34,z=45<Enter>

D.x=12],sum]y=34,line]z=45<Enter>

45.在深度為5的滿二叉樹(shù)中,葉子結(jié)點(diǎn)的個(gè)數(shù)為A.32B.31C.16D.15

46.程序中頭文件typel.h的內(nèi)容是#defineN5#defineM1N*3#define"typel.h"#defineM2N*2main(){inti;i=M1+M2;printf("%d\n",i);}程序編譯后運(yùn)行的輸出結(jié)果是

A.10B.20C.25D.30

47.假定當(dāng)前盤(pán)符下有兩個(gè)如下文本文件:文件名a1.txta2.txt內(nèi)容123#321#則下面程序段執(zhí)行后的結(jié)果為#include"stdio.h"voidfc(FILE*p){charc;while((c=fgetc(p))!='#')putchar(c);}main(){FILE*fp;fp=fopen("a1.txt","r");fc(fp);fclose(fp);

A.123321B.123C.321D.以上答案都不正確

48.

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

inty=5,x=14;

y=((x=3*Y,x+1),x-1);

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

A.x=27,y=27B.x=12,y=13C.x=15,y=14D.x=y=27

49.主調(diào)函數(shù)中的兩個(gè)變量a和b,要求調(diào)用函數(shù)交換a、b的值,返回交換結(jié)果,則以下正確的函數(shù)是______。

A.funa(int*x,int*y){int*p;*p=*x;*x=*y;*y=*p;}

B.funb(intx,inty){intt;t=x;x:y=y=t;}

C.func(int*x,int*y){*x=*y;*y=*x;}

D.fund(int*x,int*y){*x=*x+*y;*y=*x-*y;*x=*x-*y;}

50.要求通過(guò)while循環(huán)不斷讀入字符,當(dāng)讀入字母N時(shí)結(jié)束循環(huán)。若變量已正確定義,以下正確的程序段是()。

A.while((ch=getchar())!='N')printf("%c",ch);

B.while(ch=getchar()!='N')printf("%c",ch);

C.while(ch=getchar()=='N')printf("%c",ch);

D.while((ch=getchar())=='N')printf("%c",ch):

51.若以“a+”方式打開(kāi)一個(gè)已存在的文件,則下列敘述正確的是()。

A.文件打開(kāi)時(shí),原有文件內(nèi)容不被刪除,位置指針移到文件末尾,可以進(jìn)行添加或讀操作

B.文件打開(kāi)時(shí),原有文件內(nèi)容不被刪除,只能進(jìn)行讀操作

C.文件打開(kāi)時(shí),原有文件內(nèi)容被刪除,只能進(jìn)行寫(xiě)操作

D.以上三種說(shuō)法都不正確

52.下列關(guān)于c語(yǔ)言用戶標(biāo)識(shí)符的敘述中正確的是()。

A.用戶標(biāo)識(shí)符中可以出現(xiàn)下劃線和中劃線(減號(hào))

B.用戶標(biāo)識(shí)符中不可以出現(xiàn)中劃線,但可以出現(xiàn)下劃線

C.用戶標(biāo)識(shí)符中可以出現(xiàn)下劃線,但不可以放在用戶標(biāo)識(shí)符的開(kāi)頭

D.用戶標(biāo)識(shí)符中可以出現(xiàn)下劃線和數(shù)字,它們都可以放在用戶標(biāo)識(shí)符的開(kāi)頭

53.在數(shù)據(jù)庫(kù)設(shè)計(jì)中,將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過(guò)程屬于()A.需求分析階段B.邏輯設(shè)計(jì)階段C.概念設(shè)計(jì)階段D.物理設(shè)計(jì)階段

54.下列程序的輸出結(jié)果是()。main(){inti=1,j=2,k=3;if(i++==1&&(++j==3||k++==3))printf("%d%d%d\n",i,j,k);}

A.123B.234C.223D.233

55.在長(zhǎng)度為64的有序線性表中進(jìn)行順序查找,最壞情況下需要比較的次數(shù)為A.63B.64C.6D.7

56.以下選項(xiàng)中非法的字符串常量是()

B.\X0\011

C.\\\t"

D.\n\007\n

57.有以下程序main(){ihta[]{2,4,6,9,10},y=0,x,*p;p=&a[1];for(x=1);X<3;x++)y+=p[x];printf("%d\n",y);程序運(yùn)行后的輸出結(jié)果是

A.10B.11C.14D.15

58.指出下面不正確的賦值語(yǔ)句

A.a++;B.a==b;C.a+=b;D.a=1,b=1;

59.下列敘述中,不屬于軟件需求規(guī)格說(shuō)明書(shū)的作用的是()

A.便于用戶,開(kāi)發(fā)人員進(jìn)行理解和交流

B.反映出用戶問(wèn)題的結(jié)構(gòu),可以作為軟件開(kāi)發(fā)工作的基礎(chǔ)和依據(jù)

C.作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)

D.便于開(kāi)發(fā)人員進(jìn)行需求分析

60.下面函數(shù)調(diào)用語(yǔ)句含有實(shí)參的個(gè)數(shù)為func((exp1,exp2),(exp3,exp4,exp5));

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

四、選擇題(20題)61.以下關(guān)于字符串的敘述中正確的是()。

62.若a為int類(lèi)型,且其值為3,則執(zhí)行完表達(dá)式a+=a-=a*a后,a的值是()。A.A.-3B.9C.-12D.6

63.有以下程序:

#include<stdio.h>

main()

{FILE*fp;inti,a[6]={1,2,3,4,5,6};

fp=fopen("d2.dat","w+");

for=(i=o;i<6;,i++)fpintf(fp,"%d\n",a[i]);

rewind(fp);

for(i=0;i%6;i++)fscanf(fp,"%d",&a[5-i]);

fclose(fp);

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

}

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

A.4,5,6,1,2,3,

B.1,2,3,3,2,1,

C.1,2,3,4,5,6,

D.6,5,4,3,2,1,

64.

65.有以下函數(shù)

fun(char*a,char*b)

{

while((*a!=’\0’)&&(*b!=’\0’)&&(*a==*b))

{

a++;b++;

}

return(*a-*b);

}

該函數(shù)的功能是

A.計(jì)算a和b所指字符串的長(zhǎng)度之差

B.將b所指字符串連接到a所指字符串中

C.將b所指字符串連接到a所指字符串后面

D.比較a和b所指字符串的大小

66.

67.下列C語(yǔ)言用戶標(biāo)識(shí)符中,不屬于合法標(biāo)識(shí)符的是

A.a(chǎn)d_intB.bb_7C._dd7D.int

68.有以下程序:

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

A.1,2,3,4,B.1,0,7,0,C.1,4,5,9,D.3,4,8,10,

69.

70.

71.

72.在一個(gè)C源程序文件中所定義的全局變量,其作用域?yàn)椋ǎ?/p>

A.由具體定義位置和extem說(shuō)明來(lái)決定范圍B.所在程序的全部范圍C.所在函數(shù)的全部范圍D.所在文件的全部范圍

73.

74.定義如下變量和數(shù)組:

則下面語(yǔ)句的輸出結(jié)果是()。

A.951B.741C.753D.963

75.以下程序段中的變量已正確定義。

for(i=0;i<;4;i++,i++)

for(k=1;k<;3;k++);prinff(”*”);該程序段的輸出結(jié)果是()。

A.*B.****C.**D.********

76.以下程序運(yùn)行后,輸出結(jié)果是()。

#include<stdio.h>

#definePT5.5

#defineS(x)PT*x*X

main

{inta=1,b=2:

printf("%4.1f\n",s(a+b));

}

A.49.5B.9.5C.22.0D.45.0

77.

78.

79.對(duì)于存儲(chǔ)同樣的一組數(shù)據(jù)元素而言().

A.順序結(jié)構(gòu)比鏈接結(jié)構(gòu)易于擴(kuò)充空間

B.順序結(jié)構(gòu)與鏈接結(jié)構(gòu)相比,更有利于對(duì)元素進(jìn)行插入、刪除運(yùn)算

C.順序結(jié)構(gòu)占用整塊空間,而鏈接結(jié)構(gòu)不要求整塊空間

D.順序結(jié)構(gòu)比鏈接結(jié)構(gòu)多占存儲(chǔ)空間

80.

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:傳人一個(gè)整數(shù)n,計(jì)算如下公式的值。t=1/2-1/3-…-1/n例如,若輸入3,則應(yīng)輸出0.166667。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.編寫(xiě)函數(shù)fun,其功能是:將所有大于1小于整數(shù)m的非素?cái)?shù)存人xx所指數(shù)組中,非素?cái)?shù)的個(gè)數(shù)通過(guò)k返回。

例如,若輸入l7,則應(yīng)輸出:46891012141516。

注意:部分源程序在文件PROGl.C中。

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

參考答案

1.A

2.C解析:通過(guò)scanf()函數(shù)從鍵盤(pán)讀入數(shù)據(jù)時(shí),接收參數(shù)的使用變量的地址值,所以選項(xiàng)A和B是錯(cuò)誤的。選項(xiàng)D要求輸入時(shí)以逗號(hào)間隔,故按題目要求的輸入方式不能正確讀取到3個(gè)數(shù),也是錯(cuò)誤的。所以正確答案是C。

3.C

4.D

5.B

6.C解析:自增運(yùn)算符“++”,出現(xiàn)在變量之前,表示先使變量的值加1,再使用變量的值進(jìn)行運(yùn)算;出現(xiàn)在變量之后,表示先使用變量的值進(jìn)行運(yùn)算,冉使變量的值加1。例如題中的“b++”,題中第一條語(yǔ)句先輸出字符b的值,此時(shí)變量b='2',因此輸出值為2;再使b的值加1,b='3',因此第二條語(yǔ)句輸出:b-a='3'-'1'=2。

7.D解析:'\\\\'是反斜線轉(zhuǎn)義字符:'\\t'是水平跳格轉(zhuǎn)義字符:'\\n'是換行轉(zhuǎn)義字符;C語(yǔ)言中沒(méi)有規(guī)定'088'為轉(zhuǎn)義字符。

8.A在scanf函數(shù)的格式字符前可以加入一個(gè)正整數(shù)指定輸入數(shù)據(jù)所占的寬度,但不可以對(duì)實(shí)數(shù)指定小數(shù)位的寬度,選項(xiàng)A錯(cuò)誤,其他選項(xiàng)正確。故本題答案為A選項(xiàng)。

9.B

10.C

11.B解析:常常一個(gè)程序中要用到多個(gè)棧,為了不發(fā)生上溢錯(cuò)誤,就必須給每個(gè)棧分配一個(gè)足夠大的存儲(chǔ)空間。但實(shí)際中,很難準(zhǔn)確地估計(jì),若每個(gè)棧都分配過(guò)大的存儲(chǔ)空間,勢(shì)必造成系統(tǒng)空間緊張;若讓多個(gè)棧共用一個(gè)足夠大的連續(xù)存儲(chǔ)空間,則可利用棧的動(dòng)態(tài)特性使他們的存儲(chǔ)空間互補(bǔ)。

12.A

13.A隊(duì)列是一種特殊的線性表,只允許在表的一端插八元素,在表的另一端刪除元素,插入元素的一端叫“隊(duì)尾”,刪除元素的一端叫“隊(duì)頭”。先插入的元素先被刪除,是按“先進(jìn)先出”的原則組織數(shù)據(jù)的。

【知識(shí)拓展】“隊(duì)列”和“?!倍际且环N特殊的線性表。之所以稱之為“隊(duì)列”,其形式如“排隊(duì)”。要講究“先來(lái)后到”,先進(jìn)先出,后進(jìn)后出。

14.B解析:本題考核的知識(shí)點(diǎn)是for循環(huán)次數(shù)的計(jì)算.本程序中for循環(huán)的次數(shù)為c-1+1共循環(huán)了c次,而每循環(huán)一次s的值加1,所以s的值為s+c.而最開(kāi)始s的值為a,故4個(gè)選項(xiàng)中選項(xiàng)B符合題意.

15.D解析:“%”是求余運(yùn)算符,其兩側(cè)的數(shù)值只能為整型,不能用于實(shí)型數(shù)據(jù)的運(yùn)算。

16.D

17.B解析:本題考查的是程序結(jié)構(gòu)設(shè)計(jì)中if語(yǔ)句的應(yīng)用,當(dāng)if判斷條件成立時(shí)就執(zhí)行其后的相關(guān)語(yǔ)句,否則不執(zhí)行,本題中第一個(gè)if條件不成立,故不執(zhí)行“a=b”,接著執(zhí)行“c=a”,此時(shí)第二個(gè)if條件也不成立,故不執(zhí)行其后語(yǔ)句,最終c的值為3。

18.C

19.C解析:定義結(jié)構(gòu)體類(lèi)型的變量有如下幾種方法:

①定義結(jié)構(gòu)體類(lèi)型的同時(shí),定義結(jié)構(gòu)體類(lèi)型的變量,如:

stractaa

{…}tdl;

選項(xiàng)B)中將宏名AA用宏體structaa替換后,與該定義形式一樣,因此是正確的。在這一定義形式中,結(jié)構(gòu)體類(lèi)型名aa是可以省略的,因此,D)項(xiàng)也是正確的。

②先定義結(jié)構(gòu)體類(lèi)型,然后再定義結(jié)構(gòu)體類(lèi)型的變量,形式如下:

structaa

{…};

strnctaatdl;

這種定義形式也可演變?yōu)椋合扔妙?lèi)型定義語(yǔ)句typedef將該結(jié)構(gòu)體類(lèi)型定義成一個(gè)類(lèi)型名AA,然后直接用該類(lèi)型名AA定義一個(gè)結(jié)構(gòu)體變量(這時(shí)不再需要使用關(guān)鍵字struct)。因此選項(xiàng)A)正確。

20.D

21.350350解析:在任意一棵二叉樹(shù)中,度為0的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè)。在根據(jù)完全二叉樹(shù)的定義,在一棵完全二叉樹(shù)中,最多有1個(gè)度為1的結(jié)點(diǎn)。因此,設(shè)一棵完全二叉樹(shù)具有n個(gè)結(jié)點(diǎn),若n為偶數(shù),則在該二叉樹(shù)中有n/2個(gè)葉子結(jié)點(diǎn)以及n/2-1個(gè)度為2的結(jié)點(diǎn),還有1個(gè)是度為1的結(jié)點(diǎn):若n為奇數(shù),則在該二叉樹(shù)中有[n/2]+1個(gè)葉子結(jié)點(diǎn)以及[n/2]個(gè)度為2的結(jié)點(diǎn),沒(méi)有度為1的結(jié)點(diǎn)。本題中,完全二叉樹(shù)共有700個(gè)結(jié)點(diǎn),700是偶數(shù),所以,在該二叉樹(shù)中有350個(gè)葉子結(jié)點(diǎn)以及349個(gè)度為2的結(jié)點(diǎn),還有1個(gè)是度為1的結(jié)點(diǎn)。所以,本題的正確答案為350。

22.64KB

23.q<p+nq<p+n解析:考查對(duì)于函數(shù)的地址傳遞的掌握情況。通過(guò)地址傳遞可以在被調(diào)函數(shù)中對(duì)調(diào)用函數(shù)中的變量進(jìn)行引用。

24.s-1或--s或s--*s++s-1或--s或s--\r\n*s++解析:在函數(shù)。strcpy2()中,首先將指針t保存到指針p中,然后進(jìn)入第1個(gè)while()循環(huán),其循環(huán)條件為*s++=*t++,其中“*”和“++”運(yùn)算符的優(yōu)先級(jí)相同,但他們的結(jié)合性為從右至左,而“=”運(yùn)算符優(yōu)先級(jí)比較低,所以原表達(dá)式等價(jià)于(*s++)=(*(t++)),即將t當(dāng)前所指內(nèi)容復(fù)制到s當(dāng)前所指地址中,然后讓s和t同時(shí)往后移動(dòng)一位,整個(gè)表達(dá)式返回的是復(fù)制給s的值。所以,當(dāng)t所指內(nèi)容是字符串結(jié)束符'\\0',時(shí),while循環(huán)結(jié)束,原先t所指的整個(gè)字符串也就復(fù)制到s所指的地址中去了。但是,while循環(huán)最后一次判斷也會(huì)讓s和t往后移動(dòng)一位,即此時(shí)s指向了字符串結(jié)束符'\\0'的后一位。所以第2次復(fù)制字符串之前,應(yīng)先將s指針往回移動(dòng)一位,故前一空應(yīng)該填入s-1或其他等價(jià)形式。接下來(lái)的while循環(huán)實(shí)現(xiàn)第二次復(fù)制,照抄第1次的while循環(huán)就行,故后一空應(yīng)填入*s++。

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

26.1919解析:根據(jù)二叉樹(shù)的性質(zhì):在任意一棵二叉樹(shù)中,度為。的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè)。本題中度為2的結(jié)點(diǎn)數(shù)為18,故葉子結(jié)點(diǎn)數(shù)為18+1=19個(gè)。

27.HellHell解析:該函數(shù)有3個(gè)參數(shù),第三個(gè)參數(shù)是文件指針指向要讀取數(shù)據(jù)的文件,第二個(gè)參數(shù)是一個(gè)整數(shù)(假設(shè)為n),表示從文件中讀n-1個(gè)字符并在其后加一個(gè)'\\0',第一個(gè)參數(shù)為存放讀取的字符串的內(nèi)存區(qū)的起始地址,讀取得數(shù)據(jù)保存在其中??梢?jiàn)本題的輸出結(jié)果為:Hell。

28.拖動(dòng)拖動(dòng)

29.Y%2=1或Y%2!=0Y%2=1或Y%2!=0解析:判斷變量是否為奇數(shù)可以用變量與2取模,判斷結(jié)果是為1或下為0。本題具體做法如下:Y%2=1或Y%2!=0。

30.abcdefglkjihabcdefglkjih解析:本題主要考查了字符變量可參與的運(yùn)算。因?yàn)樽址谟?jì)算機(jī)中是以ASCII碼的形式存放的,所以字符變量可看作整型變量來(lái)處理,如參與算術(shù)運(yùn)算等,某字符的大寫(xiě)字母的ASCII碼值比它對(duì)應(yīng)的小寫(xiě)字母ASCII碼值小32。

31.黑箱黑箱解析:本題考查了軟件測(cè)試中的黑箱測(cè)試。黑箱測(cè)試是根據(jù)程序規(guī)格說(shuō)明所規(guī)定的功能來(lái)設(shè)計(jì)測(cè)試用例,它不考慮程序的內(nèi)部結(jié)構(gòu)和處理過(guò)程。常用的黑箱測(cè)試技術(shù)分為等價(jià)類(lèi)劃分、邊界分析、錯(cuò)誤猜測(cè)以及因果圖等。

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

33.150150解析:本題先給變量x賦初始值100,然后將指針p指向變量x,*p是取指針p所指地址的內(nèi)容,即100,所以x=100+50=150。

34.s[i]<'0'||s[i]>'9'或!(s[i]>='0'&&s[i]<='9')或!(isdigit(s[i]))或isdigit(s[i])==0或s[i]>'9'||s[i>'0'或!(s[i]<='9'&&s[i]>='0')或*(s+i)<'0'||*(s+i)>'9'或!(*(s+i)>='0'&&*(s+i)<=9或!(isdigit(*(s+i)))或*(s+i)>='9'&&*(s+i)<='0'或!(*(s+i)<='9'&&*(s+i)>='0'或isdigis[i]<'0'||s[i]>'9'或!(s[i]>='0'&&s[i]<='9')或!(isdigit(s[i]))或isdigit(s[i])==0或s[i]>'9'||s[i>'0'或!(s[i]<='9'&&s[i]>='0')或*(s+i)<'0'||*(s+i)>'9'或!(*(s+i)>='0'&&*(s+i)<=9或!(isdigit(*(s+i)))或*(s+i)>='9'&&*(s+i)<='0'或!(*(s+i)<='9'&&*(s+i)>='0'或isdigi解析:從一個(gè)字符串中刪除某字符的力‘法是從字符串的第一個(gè)字符開(kāi)始一一判斷該字符是否是要被刪除,若不是則把它放到結(jié)果字符串中,若是則不放入結(jié)果字符串中。本題的第一個(gè)空應(yīng)判斷s[i]是否為數(shù)字字符,只有在不是數(shù)字字符的情況下才存入結(jié)果字符串,所以應(yīng)填入s[i]<'0'||s[i]>'9'。最后應(yīng)在結(jié)果字符串的末尾填上字符串結(jié)束標(biāo)志\\0。

35.B

36.11解析:ifelse語(yǔ)句的功能是:若表達(dá)式的值為真,執(zhí)行語(yǔ)句1,并跳過(guò)其他語(yǔ)句,執(zhí)行ifelse語(yǔ)句的下一條語(yǔ)句,若表達(dá)式的值為假,跳過(guò)語(yǔ)句1,執(zhí)行語(yǔ)句2,依次往下判斷。題中,x=3,y=2,第一個(gè)if語(yǔ)句的控制條件x<y就不滿足,又沒(méi)有與之配對(duì)的else語(yǔ)句,所以直接執(zhí)行printf語(yǔ)句,在整個(gè)過(guò)程中變量z的值都沒(méi)發(fā)生變化。

37.SO

38.繼承繼承

39.#include"math.h"m>>i&1m|k

40.nn解析:在長(zhǎng)度為n的線性表中查找一個(gè)表中不存在的元素,需要的比較次數(shù)為n。

41.A解析:選項(xiàng)A表示把st所指串的第5個(gè)字符開(kāi)始的后面的元素賦值給數(shù)組a的第2個(gè)元素開(kāi)始的后面元素,形式正確;選項(xiàng)B中出現(xiàn)對(duì)數(shù)組名進(jìn)行自加運(yùn)算,因此錯(cuò)誤:選項(xiàng)C中st所指字符串有11個(gè)字符,再加上'\\0',有12個(gè)字符,超過(guò)數(shù)組長(zhǎng)度,所以也是錯(cuò)誤的;選項(xiàng)D的情況和選項(xiàng)C相似,也是形式正確,但超過(guò)了數(shù)組的長(zhǎng)度。

42.B解析:程序的功能是從鍵盤(pán)輸入一個(gè)整數(shù),然后執(zhí)行if語(yǔ)句的條件表達(dá)式n++<10。表達(dá)式n++<10,先執(zhí)行n<10,后對(duì)n加1。程序中從鍵盤(pán)輸入的n值為9,9<10,判斷的條件為真,然后n加1,即n的值變?yōu)?0,程序執(zhí)行后面的printf語(yǔ)句輸出n的值為10,所以,選項(xiàng)B正確。

43.D解析:判斷i++==1&&(++j==3||k++==3)時(shí),先執(zhí)行i++==1,由于i++是先運(yùn)算,后自加,這時(shí)i的值為1,所以表達(dá)式i++==1的值為真,其值為i;然后執(zhí)行++j==3,由于++j是先自加,后運(yùn)算,這時(shí)j的值為3,所以表達(dá)式++j==3的值為真,不再計(jì)算右邊表達(dá)式k++==3,括號(hào)中表達(dá)式的值為1,“&&”運(yùn)算后整個(gè)表達(dá)式的值也為1,輸出i,j,k時(shí),由于k沒(méi)有進(jìn)行過(guò)運(yùn)算,所以輸出結(jié)果為2,3,3。

44.D解析:若在scanf的格式化控制串中插入了其他字符,則在輸入時(shí)要求按一一對(duì)應(yīng)的位置原樣輸入這些字符。格式化輸入函數(shù)必須嚴(yán)格按照雙引號(hào)里面的格式進(jìn)行輸入。在格式化輸出函數(shù)中,格式控制串中除了合法的格式說(shuō)明外,可以包含任意的合法字符。

45.C2(n-1)

=2(5-1)=16

46.C解析:本題考查的知識(shí)點(diǎn)是“文件包含”。編譯預(yù)處理時(shí),用“typel.h”中的內(nèi)容替代命令ginclude”typel.h'。表達(dá)式“i=M1+M2”經(jīng)過(guò)宏替換為“i=5*3+5*2”即i=25,所以最后輸出的i的值為25。所以4個(gè)選項(xiàng)中C正確。

47.A解析:本題的功能是順序的讀兩個(gè)文本文件,依次輸出。當(dāng)打開(kāi)文件時(shí)出現(xiàn)錯(cuò)誤,fopen函數(shù)將返回NULL。

48.C解析:逗號(hào)表達(dá)式的求解步驟是先求解表達(dá)式1,然后依次求解表達(dá)式2,直到表達(dá)式N的值。整個(gè)逗號(hào)表達(dá)式的值就是最后一個(gè)表達(dá)式N的值。

表達(dá)式(x=3*y,x+1)中,第一個(gè)表達(dá)式x=3*y=3*5=15;第二個(gè)表達(dá)式x+1=16,但沒(méi)有給x或y賦值,所以x還是等于15;第3個(gè)表達(dá)式x-1=15-1=14,所以y的值為14。

49.D解析:選項(xiàng)A中指針變量p沒(méi)有明確的指向,選項(xiàng)B是值傳遞方式,顯然不能改變實(shí)參中的值,選項(xiàng)C不能完成交換,實(shí)參中的值都變成一樣的,只有選項(xiàng)D是正確的。

50.A解析:因?yàn)閣hile是以條件為假時(shí)結(jié)束循環(huán),因此選項(xiàng)C、D不正確?!?=”的優(yōu)先級(jí)比“=”高,因此“ch=getchar()!='N'”相當(dāng)于“ch=(getchar!='N')”,ch并不能得到輸入的字符,只能得到true或者false值。

51.A解析:本題考查文件使用方式標(biāo)識(shí)符,以“a+”方式打開(kāi)一個(gè)已存在的文件,則表示保留文件中原有的數(shù)據(jù),文件的位置指針在文件末尾,此時(shí),可以進(jìn)行追加或讀操作。

52.B解析:在C語(yǔ)言中,合法的標(biāo)識(shí)符由字母,數(shù)字和下劃線組成(故選項(xiàng)A不正確),并且第一個(gè)字符必須為字母或者下劃線(故選項(xiàng)B和選項(xiàng)D不正確).所以,B選項(xiàng)為所選.

53.B數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的邏輯設(shè)計(jì)包括數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫(kù)事務(wù)概要設(shè)計(jì)和應(yīng)用程序概要設(shè)計(jì)三方面。數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)的主要步驟為:將E—R圖轉(zhuǎn)換為初始關(guān)系模式,對(duì)初始關(guān)系模式進(jìn)行優(yōu)化,檢查關(guān)系表對(duì)數(shù)據(jù)庫(kù)事務(wù)的支持性,確定關(guān)系模式完整性約束,設(shè)計(jì)基于關(guān)系模式的用戶視圖。

54.D解析:本題考查自增運(yùn)算符“++”,邏輯與運(yùn)算符“&&”和邏輯或運(yùn)算符“||”。自增運(yùn)算符“++”,出現(xiàn)在變量之前(如題中的++n),表示先使變量的值加1,再使用變量的值進(jìn)行運(yùn)算:出現(xiàn)在變量之后(如題中的n++),表示先使用變量的值進(jìn)行運(yùn)算,再使變量的值加1。當(dāng)邏輯與運(yùn)算符“&&”兩邊的運(yùn)算對(duì)象都為真時(shí),邏輯表達(dá)式的值才為真;當(dāng)邏輯或運(yùn)算符“||”左邊的運(yùn)算對(duì)象為真時(shí),其值就為真,不用計(jì)算其右邊的運(yùn)算對(duì)象的值。所以根據(jù)運(yùn)算符的優(yōu)先級(jí),題中應(yīng)先計(jì)算內(nèi)層括號(hào)中的值。++j是先自加后運(yùn)算,因此運(yùn)算時(shí)j的值等于3,所以表達(dá)式++j==3成立,即表達(dá)式的值為1;由于1與任何數(shù)都為進(jìn)行或(||)運(yùn)算,結(jié)果都為1,因此k=3;最后計(jì)算“&&”之前的表達(dá)式,i++是先運(yùn)算后自加,因此運(yùn)算時(shí)i為1,所以i++==1成立,自加1后i=2。if語(yǔ)句的條件為真即“1”,所以輸出i、j、k的值分別是2,3,3。

55.B解析:在長(zhǎng)度為64的有序線性表中,其中的64個(gè)數(shù)據(jù)元素是按照從大到小或從小到大的順序排列有序的。在這樣的線性表中進(jìn)行順序查找,最壞的情況就是查找的數(shù)據(jù)元素不性表中或位于線性表的最后。按照線性表的順序查找算法,首先用被查找的數(shù)據(jù)和線性表的第一個(gè)數(shù)據(jù)元素進(jìn)行比較,若相等,則查找成功,否則,繼續(xù)進(jìn)行比較,即和線性表的第二個(gè)數(shù)據(jù)元素進(jìn)行比較。同樣,若相等,則查找成功,否則,繼續(xù)進(jìn)行比較。依次類(lèi)推,直到性表中查找到該數(shù)據(jù)或查找到線性表的最后一個(gè)元素,算法才結(jié)束。因此,在長(zhǎng)度為64的有序線性表十進(jìn)行順序查找,最壞的情況下需要比較64次。因此,本題的正確答案為選項(xiàng)B。

56.4

57.C解析:題目首先申請(qǐng)了一個(gè)整型數(shù)組a,并讓一個(gè)指針變量p指向數(shù)組的元素arl)。然后使用一個(gè)for循環(huán),循環(huán)變量x從1遞增到2,即循環(huán)兩次.在循環(huán)體中每次讓y累加p[x]的值,而p[x)寫(xiě)成指針形式就是*(p+x)。所以兩次y加的值分別是a[2]和a[3]的值,故最終輸出6+8=14。應(yīng)該選擇C。

58.B解析:本題考核的知識(shí)點(diǎn)是賦值語(yǔ)句的正確使用。C語(yǔ)言中賦值語(yǔ)句是由賦值表達(dá)式加“;”構(gòu)成的.賦值表達(dá)式的形式為:變量:表達(dá)式;。選項(xiàng)A中a++相當(dāng)于a+1,是賦值語(yǔ)句;選項(xiàng)C和選項(xiàng)D也是賦值語(yǔ)句.只有選項(xiàng)B不是,因?yàn)檫x項(xiàng)B中“==”符號(hào)是等于的意思,并不是賦值運(yùn)算符,所以,4個(gè)選項(xiàng)中B符合題意。

59.D解析:軟件需求規(guī)格說(shuō)明書(shū)SRS,SoftwareRequirementSpecification)是需求分析階段的最后成果,是軟件開(kāi)發(fā)中的重要文檔之一。它有以下幾個(gè)方面的作用,①便于用戶、開(kāi)發(fā)人員進(jìn)行理解和交流;②反映出用戶問(wèn)題的結(jié)構(gòu),可以作為軟件開(kāi)發(fā)工作的基礎(chǔ)和依據(jù);③作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)。

60.B解析:函數(shù)調(diào)用的一般形式為:函數(shù)名(形參表)若函數(shù)無(wú)形參,調(diào)用形式為:函數(shù)名(),當(dāng)所調(diào)用的函數(shù)用于求出某個(gè)值時(shí),函數(shù)的調(diào)用可作為表達(dá)式出現(xiàn)在允許表達(dá)式出現(xiàn)的任何地方,本題中調(diào)用語(yǔ)句的參數(shù)個(gè)數(shù)為2個(gè)。

61.A空格是一種字符,所以空串肯定比空格打頭的字符串小。

62.C在表達(dá)式中,其+=,-=的優(yōu)先級(jí)相同,按從右到左的結(jié)合方向運(yùn)算,而*的優(yōu)先級(jí)最高,表達(dá)式寫(xiě)成a=a+(a-(a*a)),代入3可得-12。

63.D\n這個(gè)是對(duì)文件的操作,把數(shù)組的數(shù)寫(xiě)到文件里,然后再?gòu)奈募锏剐蜃x出。所以輸出結(jié)果為6,5,4,3,2,1。

\n

64.B

65.D字符串的比較規(guī)則是對(duì)兩個(gè)字符串自左至右逐個(gè)字符相比(按ASCII碼值大小比較),直到出現(xiàn)不同的字符或遇到’\\0’為止,若全部字符相同,則認(rèn)為相等;若出現(xiàn)不相同的字符,則以第一個(gè)不相同的字符的比較結(jié)果為準(zhǔn),該函數(shù)就實(shí)現(xiàn)了此功能,如果兩字符串相等,則返回0,否則返回第一個(gè)不等字符串的ASCII碼的差值。

66.D

67.DC語(yǔ)言的標(biāo)識(shí)符主要用來(lái)表示常量、變量、函數(shù)和類(lèi)型等的名字,只起到標(biāo)識(shí)作用。標(biāo)識(shí)符由數(shù)字、下畫(huà)線或英文字母構(gòu)成,可以分為三類(lèi):保留字、預(yù)定義標(biāo)識(shí)符和用戶定義標(biāo)識(shí)符。保留字是指每一個(gè)標(biāo)識(shí)符都有其特定的含義,不允許用戶把它們當(dāng)做變量名使用,如if、int、for等。預(yù)定義標(biāo)識(shí)符也是一類(lèi)具有特殊含義的標(biāo)識(shí)符,它們被用做庫(kù)函數(shù)名和預(yù)編譯命令,如define、include等。用戶定義標(biāo)識(shí)符是用戶根據(jù)自己的需要定義的一類(lèi)標(biāo)識(shí)符,用于標(biāo)識(shí)變量、符號(hào)常量、用戶定義函數(shù)、類(lèi)型名和文件指針等。這類(lèi)標(biāo)識(shí)符主要由英文字母、數(shù)字和下畫(huà)線構(gòu)成,但開(kāi)頭字符一定是字母或下畫(huà)線。

題目中選項(xiàng)A、B、C都是合法的用戶自定義標(biāo)識(shí)符,選項(xiàng)D為保留字,不屬于用戶標(biāo)識(shí)符。

68.B該題目中fun函數(shù)的功能是將二維數(shù)組

a中符合條件的值賦給一維數(shù)組的符合條件的元素。主函數(shù)

的功能是將符合條件的一維數(shù)組的元素進(jìn)行輸出。

69.B

70.D

71.B

72.A全局變量的作用域是從聲明處到文件的結(jié)束。所以選擇A)。

73.B

74.C考查二維數(shù)組元素的引用方法。題中通過(guò)二維數(shù)組的行、列下標(biāo)來(lái)定位元素的位置,從而實(shí)現(xiàn)元素的引用。

75.Ac語(yǔ)言約定分號(hào)為一條語(yǔ)句的結(jié)束。因此for(i=0;i<4;i++,i++)for(k=1;k<3;k++);是完整的語(yǔ)句,對(duì)研nd();沒(méi)有任何影響,最后一nff(”·’),執(zhí)行一次。因此答案為A選項(xiàng)。

76.B本題考查函數(shù)調(diào)用,由于a+b沒(méi)有被括起來(lái),所以s(a+b)=PT*a+b*a+b=5.5*1+2*1+2=9.5,故選擇B。

77.A

78.C

79.C\n頃序結(jié)構(gòu)中,元素之間的關(guān)系通過(guò)存儲(chǔ)單元的鄰接關(guān)系來(lái)表示,其存儲(chǔ)空間必須占用整塊空間;鏈接結(jié)構(gòu)中,結(jié)點(diǎn)之間的關(guān)系通過(guò)指針來(lái)表示,不要求整塊空間。

\n

80.D

81.(1)錯(cuò)誤:t=1.0-1/i;

正確:t-=1.O/i;

(2)錯(cuò)誤:;

正確:returnt;

【解析】從題目中的公式可知,整數(shù)rl每增加1,其結(jié)果為上一次的結(jié)果減1/i,因此,“t=1.0-1/i;”應(yīng)改為“t-=1.0/i;”;由函數(shù)的定義可知,函數(shù)proc()要把最后所得到的結(jié)果返回給主函數(shù),因此要在函數(shù)proc()最后加上“returnt;”。

82.【參考答案】

【考點(diǎn)分析】

本題考查:如何判斷非素?cái)?shù);循環(huán)判斷結(jié)構(gòu);數(shù)組的引用。

【解題思路】

題目要求將l~m之間的非素?cái)?shù)存人數(shù)組中,應(yīng)使用循環(huán)判斷結(jié)構(gòu)。循環(huán)語(yǔ)句用來(lái)遍歷1~m之間的每個(gè)數(shù),判斷語(yǔ)句用來(lái)判斷該數(shù)是否素?cái)?shù),若不是素?cái)?shù),則將其存人數(shù)組中。這道題目是考查一個(gè)數(shù)是否為素?cái)?shù)的簡(jiǎn)單延伸,只要掌握了判斷素?cái)?shù)的方法,問(wèn)題便能順利解決。

【解題寶典】

判定一個(gè)數(shù)是否為素?cái)?shù),即該數(shù)除了能被l和它本身外,不能被任何數(shù)整除。

代碼實(shí)現(xiàn)為:

此語(yǔ)句需要熟記,很多判斷素?cái)?shù)的題目也可通過(guò)此法解決。2021年山東省菏澤市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.

2.已知a、b、c為整型變量,若從鍵盤(pán)輸入5<空格>6<空格>7<回車(chē)>,使a的值為5,b的值為6,c的值為7,則下列選項(xiàng)中正確的輸入語(yǔ)句是()。

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

B.scanf("%d%d%d",a,b,C);

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

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

3.

4.第

22

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

#include"stdio.h"

main()

{inta=4,b=6,c=7;

doubled,fun(int,int,int);

d=fun(a,b,c);

printf("%lf\n",d);}

doublefun(inta,intb,intc)

{doubles;

s=a%b*c;

returns;}

A.27B.27.000000C.28D.28.000000

5.

6.數(shù)字字符0的ASCII值為48,運(yùn)行下列程序的輸出結(jié)果是()。main(){chara='1',b='2';printf("%c,",b++);printf("%d\n",b-A);}

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

7.下列不正確的轉(zhuǎn)義字符是()。

A.'\\'B.'\t'C.'\n'D.'088'

8.以下有關(guān)scanf函數(shù)的敘述中錯(cuò)誤的是()。

A.在scanf函數(shù)的格式字符前既可以加入正整數(shù)指定輸入數(shù)據(jù)所占的寬度,也可以對(duì)實(shí)數(shù)指定小數(shù)位的寬度

B.scanf函數(shù)有返回值,其值就是本次調(diào)用scanf函數(shù)時(shí)正確讀入的數(shù)據(jù)項(xiàng)個(gè)數(shù)

C.scanf函數(shù)從輸入字符流中按照格式控制指定的格式解析出相應(yīng)數(shù)據(jù),送到指定地址中

D.在scanf函數(shù)中的格式控制字符串不會(huì)輸出到屏幕上

9.在以下的敘述中,正確的是()。

A.線性表的順序存儲(chǔ)結(jié)構(gòu)優(yōu)于鏈表存儲(chǔ)結(jié)構(gòu)

B.二維數(shù)組是其數(shù)據(jù)元素為線性表的線性表

C.棧的操作方式是先進(jìn)先出

D.隊(duì)列的操作方式是先進(jìn)后出

10.某某二叉樹(shù)的中序序列和后序序列正好相反,則該二叉樹(shù)一定是______的二叉樹(shù)

A.空或只有一個(gè)結(jié)點(diǎn)B.高度等于其結(jié)點(diǎn)數(shù)C.任一結(jié)點(diǎn)無(wú)左孩子D.任一結(jié)點(diǎn)無(wú)右孩子

11.由兩個(gè)棧共享一個(gè)存儲(chǔ)空間的好處是______。

A.減少存取時(shí)間,降低下溢發(fā)生的幾率

B.節(jié)省存儲(chǔ)空間,降低上溢發(fā)生的幾率

C.減少存取時(shí)間,降低上溢發(fā)生的幾率

D.節(jié)省存儲(chǔ)空間,降低下溢發(fā)生的幾率

12.下列有關(guān)圖的遍歷說(shuō)法中,不正確的是()

A.圖的遍歷必須用遞歸實(shí)現(xiàn)

B.基本遍歷算法兩種:深度遍歷和廣度遍歷

C.有向圖和無(wú)向圖都可以進(jìn)行遍歷操作

D.圖的遍歷算法可以執(zhí)行在有回路的圖上

13.按照“先進(jìn)先出”組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是()。

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

14.若有如下程序段,其中s、a、b、c均已定義為整型變量,且a、c均已賦值(c大于0)s=a;for(b=1;b<=c;b++)s=s+1;則與上述程序段功能等價(jià)的賦值語(yǔ)句是()。

A.s=a+b;B.s=a+c;C.s=s+c;D.s=b+c;

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

A.C程序中的#include和#define行均不是C語(yǔ)句

B.除逗號(hào)運(yùn)算符外,賦值運(yùn)算符的優(yōu)先級(jí)最低

C.C程序中,j++;是賦值語(yǔ)句

D.C程序中,+、-、*、/、%是算術(shù)運(yùn)算符,可用于整型和實(shí)型數(shù)的運(yùn)算

16.

17.若變量已正確定義,有下列程序段: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

18.在"inta[][3]={{1},{3,2},{4,5,6},{0}};"中,a[2][2]的值是()。

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

19.以下對(duì)結(jié)構(gòu)體類(lèi)型變量的定義中,不正確的是()。

A.typedefstruetaa{intn;floatm;}AA;AAtdl;

B.#defineAAstructaaAA{intn;floatm;}tdl;

C.struct{intn;floatm;}aa;structaatdl;

D.struct{intn;floatm;}tdl;

20.

二、2.填空題(20題)21.設(shè)一棵完全二叉樹(shù)共有700個(gè)結(jié)點(diǎn),則在該二叉樹(shù)中有【】個(gè)葉子結(jié)點(diǎn)。

22.用十六進(jìn)制給存儲(chǔ)器中的字節(jié)地址進(jìn)行編號(hào),其地址編號(hào)從0000到FFFF,則該存儲(chǔ)器容量是【】。

23.下面的程序?qū)崿F(xiàn)的是從指針p所指向的地址的n個(gè)數(shù)中,找出最大的和最小的數(shù)據(jù),請(qǐng)?zhí)羁铡?/p>

fun(int*p,intn)

{int*q;

intmax,min;

max=min=*p;

for(q=p;【】;q++)

if(*q>max)max=*q;

elseif(*q<min)min=*q;}

24.下列程序中的函數(shù)stropy2()實(shí)現(xiàn)字符串兩次復(fù)制,即將t所指字符串復(fù)制兩次到s所指內(nèi)存空間中,合并形成一個(gè)新字符串。例如,若t所指字符串為:efgh,調(diào)用strcpy2后,s所指字符串為:efghefgh。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

#include<string.h>

voidstrcpy2(char*s,char*t)

{char*p=t;

while(*s++=*t++);

s=【】;

while(【】=*p++);

}

main()

{charstr1[100]="abed",str2[]="efgh";

strcpy2(str1,str2);printf("%s\n",str1);

}

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

}

26.某二叉樹(shù)中度為2的結(jié)點(diǎn)有18個(gè),則該二叉樹(shù)中有【】個(gè)葉子結(jié)點(diǎn)。

27.已有文本文件test.txt,其中的內(nèi)容為:Hello,everyone!。以下程序中,文件test.txt已正確為“讀”而打開(kāi),由此文件指針fr指向文件,則程序的輸出結(jié)果是______。

#include<stdio.h>main(){FILE*fr;charstr[40];

fgets(str,5,fr);

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

fclose(fr);}

28.在Windows環(huán)境下,可以利用單擊、雙擊、拖動(dòng)這三種鼠標(biāo)操作之一的【】操作實(shí)現(xiàn)窗口的移動(dòng)。

29.設(shè)Y是int型變量,請(qǐng)寫(xiě)出判斷Y為奇數(shù)的關(guān)系表達(dá)式【】。

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

#include<stdio.h>

#defineSIZE12

main()

{chars[SIZE];inti;for(i=0;i<SIZE;i++)s[i]='A'+i+321;

sub(s,7,SIZE-1);

for(i=0;i<SIZE;i++)printf("%c",s[i]);

printf("\n");}

sub(char*a,intt1,intt2)

{charch;

while(t1<t1)

{ch=*(a+t1);

*(a+t1)=*(a+t2);

*(a+t2)=ch;

t1++;t2--;}}

31.【】(黑箱或白箱)測(cè)試方法完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征。

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

33.執(zhí)行下列語(yǔ)句段后,x的值是______。

int*p,x;

x=100;

p=&x;

x=*p+50;

34.以下函數(shù)的功能是刪除字符串s中的所有數(shù)字字符。請(qǐng)?zhí)羁铡?/p>

voiddele(char*s)

{

intn=0,i;

for(i=0,s[i];i++)

if(【】)

s[n++]=s[i];

s[n]=【】;

}

35.有以下結(jié)構(gòu)體說(shuō)明和變量的定義,且指針p指向變量a,指針q指向變量b,則不能把結(jié)點(diǎn)b連接到結(jié)點(diǎn)a之后的語(yǔ)句是______。

structnode

{chardata;

structnode*next;}a,b

以下程序中調(diào)用scanf函數(shù)給變量a輸入數(shù)值的方法是錯(cuò)誤的,其錯(cuò)誤原因是main(){int*p,*q,a,b;p=&a;printf("inputa:");scanf("%d",*p);}

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

#include<stdio.h>

main()

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

if(x<y)

if(y<0)z=0;

elsez+=1;

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

}

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

#include<stdio.h>

main()

{char*p={"BOOL""OPK","H","SP"};

inti;

for(i=3,i>=0;i--,i--)printf("%",*p[i]);

printf("\n");

}

38.在面向?qū)ο蠓椒ㄖ?,?lèi)之間共享屬性和操作的機(jī)制稱為_(kāi)_____。

39.請(qǐng)用位運(yùn)算實(shí)現(xiàn)下述目標(biāo)(設(shè)16位二進(jìn)制數(shù)的最低位為零位):

(1)輸出無(wú)符號(hào)正整數(shù)m的第i個(gè)二進(jìn)制位的數(shù)值。

(2)將m的第i個(gè)二進(jìn)制位置1,其余的位不變,然后輸出m。

#include"stdio.h"

【】

main()

{

unsignedk,i,m=0;

scanf("%d%d",&m,&i);

k=【】;

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

k=pow(2,i);

m=【】;

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

}

40.在長(zhǎng)度為n的線性表中查找一個(gè)表中不存在的元素,需要的比較次數(shù)為【】。

三、1.選擇題(20題)41.設(shè)有以下定義: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;srtcpy(p=&a[1],st+2);

42.若執(zhí)行以下程序時(shí)從鍵盤(pán)上輸入9,則輸出結(jié)果是______。main(){intn;scanf("%d:",&n);if(n++<10)printf("%d\n",n);elseprintf%d\n",n--);}

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

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

A.123B.234C.223D.233

44.現(xiàn)有格式化輸入語(yǔ)句,scanf("x=%d],sum]y=%d,line]z=%dL",&x,&y,&z);,已知在輸入數(shù)據(jù)后,x,y,z的值分別是12,34,45,則下列選項(xiàng)中是正確的輸入格式的是

[注]:"]"表示空格,<Enter>表示回車(chē)

A.12,34,45<Enter>

B.x=12,y=34,z=45<Enter>

C.x=12C,sumy=34,z=45<Enter>

D.x=12],sum]y=34,line]z=45<Enter>

45.在深度為5的滿二叉樹(shù)中,葉子結(jié)點(diǎn)的個(gè)數(shù)為A.32B.31C.16D.15

46.程序中頭文件typel.h的內(nèi)容是#defineN5#defineM1N*3#define"typel.h"#defineM2N*2main(){inti;i=M1+M2;printf("%d\n",i);}程序編譯后運(yùn)行的輸出結(jié)果是

A.10B.20C.25D.30

47.假定當(dāng)前盤(pán)符下有兩個(gè)如下文本文件:文件名a1.txta2.txt內(nèi)容123#321#則下面程序段執(zhí)行后的結(jié)果為#include"stdio.h"voidfc(FILE*p){charc;while((c=fgetc(p))!='#')putchar(c);}main(){FILE*fp;fp=fopen("a1.txt","r");fc(fp);fclose(fp);

A.123321B.123C.321D.以上答案都不正確

48.

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

inty=5,x=14;

y=((x=3*Y,x+1),x-1);

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

A.x=27,y=27B.x=12,y=13C.x=15,y=14D.x=y=27

49.主調(diào)函數(shù)中的兩個(gè)變量a和b,要求調(diào)用函數(shù)交換a、b的值,返回交換結(jié)果,則以下正確的函數(shù)是______。

A.funa(int*x,int*y){int*p;*p=*x;*x=*y;*y=*p;}

B.funb(intx,inty){intt;t=x;x:y=y=t;}

C.func(int*x,int*y){*x=*y;*y=*x;}

D.fund(int*x,int*y){*x=*x+*y;*y=*x-*y;*x=*x-*y;}

50.要求通過(guò)while循環(huán)不斷讀入字符,當(dāng)讀入字母N時(shí)結(jié)束循環(huán)。若變量已正確定義,以下正確的程序段是()。

A.while((ch=getchar())!='N')printf("%c",ch);

B.while(ch=getchar()!='N')printf("%c",ch);

C.while(ch=getchar()=='N')printf("%c",ch);

D.while((ch=getchar())=='N')printf("%c",ch):

51.若以“a+”方式打開(kāi)一個(gè)已存在的文件,則下列敘述正確的是()。

A.文件打開(kāi)時(shí),原有文件內(nèi)容不被刪除,位置指針移到文件末尾,可以進(jìn)行添加或讀操作

B.文件打開(kāi)時(shí),原有文件內(nèi)容不被刪除,只能進(jìn)行讀操作

C.文件打開(kāi)時(shí),原有文件內(nèi)容被刪除,只能進(jìn)行寫(xiě)操作

D.以上三種說(shuō)法都不正確

52.下列關(guān)于c語(yǔ)言用戶標(biāo)識(shí)符的敘述中正確的是()。

A.用戶標(biāo)識(shí)符中可以出現(xiàn)下劃線和中劃線(減號(hào))

B.用戶標(biāo)識(shí)符中不可以出現(xiàn)中劃線,但可以出現(xiàn)下劃線

C.用戶標(biāo)識(shí)符中可以出現(xiàn)下劃線,但不可以放在用戶標(biāo)識(shí)符的開(kāi)頭

D.用戶標(biāo)識(shí)符中可以出現(xiàn)下劃線和數(shù)字,它們都可以放在用戶標(biāo)識(shí)符的開(kāi)頭

53.在數(shù)據(jù)庫(kù)設(shè)計(jì)中,將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過(guò)程屬于()A.需求分析階段B.邏輯設(shè)計(jì)階段C.概念設(shè)計(jì)階段D.物理設(shè)計(jì)階段

54.下列程序的輸出結(jié)果是()。main(){inti=1,j=2,k=3;if(i++==1&&(++j==3||k++==3))printf("%d%d%d\n",i,j,k);}

A.123B.234C.223D.233

55.在長(zhǎng)度為64的有序線性表中進(jìn)行順序查找,最壞情況下需要比較的次數(shù)為A.63B.64C.6D.7

56.以下選項(xiàng)中非法的字符串常量是()

B.\X0\011

C.\\\t"

D.\n\007\n

57.有以下程序main(){ihta[]{2,4,6,9,10},y=0,x,*p;p=&a[1];for(x=1);X<3;x++)y+=p[x];printf("%d\n",y);程序運(yùn)行后的輸出結(jié)果是

A.10B.11C.14D.15

58.指出下面不正確的賦值語(yǔ)句

A.a++;B.a==b;C.a+=b;D.a=1,b=1;

59.下列敘述中,不屬于軟件需求規(guī)格說(shuō)明書(shū)的作用的是()

A.便于用戶,開(kāi)發(fā)人員進(jìn)行理解和交流

B.反映出用戶問(wèn)題的結(jié)構(gòu),可以作為軟件開(kāi)發(fā)工作的基礎(chǔ)和依據(jù)

C.作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)

D.便于開(kāi)發(fā)人員進(jìn)行需求分析

60.下面函數(shù)調(diào)用語(yǔ)句含有實(shí)參的個(gè)數(shù)為func((exp1,exp2),(exp3,exp4,exp5));

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

四、選擇題(20題)61.以下關(guān)于字符串的敘述中正確的是()。

62.若a為int類(lèi)型,且其值為3,則執(zhí)行完表達(dá)式a+=a-=a*a后,a的值是()。A.A.-3B.9C.-12D.6

63.有以下程序:

#include<stdio.h>

main()

{FILE*fp;inti,a[6]={1,2,3,4,5,6};

fp=fopen("d2.dat","w+");

for=(i=o;i<6;,i++)fpintf(fp,"%d\n",a[i]);

rewind(fp);

for(i=0;i%6;i++)fscanf(fp,"%d",&a[5-i]);

fclose(fp);

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

}

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

A.4,5,6,1,2,3,

B.1,2,3,3,2,1,

C.1,2,3,4,5,6,

D.6,5,4,3,2,1,

64.

65.有以下函數(shù)

fun(char*a,char*b)

{

while((*a!=’\0’)&&(*b!=’\0’)&&(*a==*b))

{

a++;b++;

}

return(*a-*b);

}

該函數(shù)的功能是

A.計(jì)算a和b所指字符串的長(zhǎng)度之差

B.將b所指字符串連接到a所指字符串中

C.將b所指字符串連接到a所指字符串后面

D.比較a和b所指字符串的大小

66.

67.下列C語(yǔ)言用戶標(biāo)識(shí)符中,不屬于合法標(biāo)識(shí)符的是

A.a(chǎn)d_intB.bb_7C._dd7D.int

68.有以下程序:

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

A.1,2,3,4,B.1,0,7,0,C.1,4,5,9,D.3,4,8,10,

69.

70.

71.

72.在一個(gè)C源程序文件中所定義的全局變量,其作用域?yàn)椋ǎ?/p>

A.由具體定義位置和extem說(shuō)明來(lái)決定范圍B.所在程序的全部范圍C.所在函數(shù)的全部范圍D.所在文件的全部范圍

73.

74.定義如下變量和數(shù)組:

則下面語(yǔ)句的輸出結(jié)果是()。

A.951B.741C.753D.963

75.以下程序段中的變量已正確定義。

for(i=0;i<;4;i++,i++)

for(k=1;k<;3;k++);prinff(”*”);該程序段的輸出結(jié)果是()。

A.*B.****C.**D.********

76.以下程序運(yùn)行后,輸出結(jié)果是()。

#include<stdio.h>

#definePT5.5

#defineS(x)PT*x*X

main

{inta=1,b=2:

printf("%4.1f\n",s(a+b));

}

A.49.5B.9.5C.22.0D.45.0

77.

78.

79.對(duì)于存儲(chǔ)同樣的一組數(shù)據(jù)元素而言().

A.順序結(jié)構(gòu)比鏈接結(jié)構(gòu)易于擴(kuò)充空間

B.順序結(jié)構(gòu)與鏈接結(jié)構(gòu)相比,更有利于對(duì)元素進(jìn)行插入、刪除運(yùn)算

C.順序結(jié)構(gòu)占用整塊空間,而鏈接結(jié)構(gòu)不要求整塊空間

D.順序結(jié)構(gòu)比鏈接結(jié)構(gòu)多占存儲(chǔ)空間

80.

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:傳人一個(gè)整數(shù)n,計(jì)算如下公式的值。t=1/2-1/3-…-1/n例如,若輸入3,則應(yīng)輸出0.166667。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.編寫(xiě)函數(shù)fun,其功能是:將所有大于1小于整數(shù)m的非素?cái)?shù)存人xx所指數(shù)組中,非素?cái)?shù)的個(gè)數(shù)通過(guò)k返回。

例如,若輸入l7,則應(yīng)輸出:46891012141516。

注意:部分源程序在文件PROGl.C中。

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

參考答案

1.A

2.C解析:通過(guò)scanf()函數(shù)從鍵盤(pán)讀入數(shù)據(jù)時(shí),接收參數(shù)的使用變量的地址值,所以選項(xiàng)A和B是錯(cuò)誤的。選項(xiàng)D要求輸入時(shí)以逗號(hào)間隔,故按題目要求的輸入方式不能正確讀取到3個(gè)數(shù),也是錯(cuò)誤的。所以正確答案是C。

3.C

4.D

5.B

6.C解析:自增運(yùn)算符“++”,出現(xiàn)在變量之前,表示先使變量的值加1,再使用變量的值進(jìn)行運(yùn)算;出現(xiàn)在變量之后,表示先使用變量的值進(jìn)行運(yùn)算,冉使變量的值加1。例如題中的“b++”,題中第一條語(yǔ)句先輸出字符b的值,此時(shí)變量b='2',因此輸出值為2;再使b的值加1,b='3',因此第二條語(yǔ)句輸出:b-a='3'-'1'=2。

7.D解析:'\\\\'是反斜線轉(zhuǎn)義字符:'\\t'是水平跳格轉(zhuǎn)義字符:'\\n'是換行轉(zhuǎn)義字符;C語(yǔ)言中沒(méi)有規(guī)定'088'為轉(zhuǎn)義字符。

8.A在scanf函數(shù)的格式字符前可以加入一個(gè)正整數(shù)指定輸入數(shù)據(jù)所占的寬度,但不可以對(duì)實(shí)數(shù)指定小數(shù)位的寬度,選項(xiàng)A錯(cuò)誤,其他選項(xiàng)正確。故本題答案為A選項(xiàng)。

9.B

10.C

11.B解析:常常一個(gè)程序中要用到多個(gè)棧,為了不發(fā)生上溢錯(cuò)誤,就必須給每個(gè)棧分配一個(gè)足夠大的存儲(chǔ)空間。但實(shí)際中,很難準(zhǔn)確地估計(jì),若每個(gè)棧都分配過(guò)大的存儲(chǔ)空間,勢(shì)必造成系統(tǒng)空間緊張;若讓多個(gè)棧共用一個(gè)足夠大的連續(xù)存儲(chǔ)空間,則可利用棧的動(dòng)態(tài)特性使他們的存儲(chǔ)空間互補(bǔ)。

12.A

13.A隊(duì)列是一種特殊的線性表,只允許在表的一端插八元素,在表的另一端刪除元素,插入元

溫馨提示

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