2021年山西省運(yùn)城市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題二卷(含答案)_第1頁(yè)
2021年山西省運(yùn)城市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題二卷(含答案)_第2頁(yè)
2021年山西省運(yùn)城市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題二卷(含答案)_第3頁(yè)
2021年山西省運(yùn)城市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題二卷(含答案)_第4頁(yè)
2021年山西省運(yùn)城市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題二卷(含答案)_第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年山西省運(yùn)城市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題二卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.數(shù)據(jù)結(jié)構(gòu)中,在邏輯上可以把數(shù)據(jù)結(jié)構(gòu)分成()。

A.動(dòng)態(tài)結(jié)構(gòu)和靜態(tài)結(jié)構(gòu)B.緊湊結(jié)構(gòu)和非緊湊結(jié)構(gòu)C.線性結(jié)構(gòu)和非線性結(jié)構(gòu)D.內(nèi)部結(jié)構(gòu)和外部結(jié)構(gòu)

2.設(shè)x和y均為bool量,則x&&y為真的條件是()。

A.它們均為真B.其中一個(gè)為真C.它們均為假D.其中一個(gè)

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

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

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

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

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

4.在單鏈表中,增加頭結(jié)點(diǎn)的目的是()。

A.方便運(yùn)算的實(shí)現(xiàn)B.使單鏈表至少有一個(gè)結(jié)點(diǎn)C.標(biāo)識(shí)表結(jié)點(diǎn)中首結(jié)點(diǎn)的位置D.說(shuō)明單鏈表是線性的鏈?zhǔn)酱鎯?chǔ)實(shí)現(xiàn)

5.

6.若輸入“abcdef”、“abdef”,以下程序的輸出結(jié)果為()。#include<stdio.h>#lnclude<string.h>main(){intn;chars1[20],s2[20],p1,*p2;scanf("%s",s1);scanf("%s",s2);P1=s1;p2=s2;n=strcmp(p1,p2);printf("%d\n",n);}

A.-1B.0C.abcdefD.abdef

7.

8.

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

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

10.下列運(yùn)算符中優(yōu)先級(jí)最低的算符是()。

A.||B.!=C.<;=D.十

11.有以下程序:#include<stdio.h>#defineN8voidfun(int*x,inti){*x=*(x+i);)main(){inta[N]={1,2,3,4,5,6,7,8},i;fun(a,2);for(i=0;i<N/2;i++){printf(“%d”,a[i]);}printf(“\n”);}程序運(yùn)行后的輸出結(jié)果是()。A.1313B.2234C.3234D.1234

12.若某二叉樹的前序遍歷訪問順序是abdgcefh,中序遍歷訪問順序是dgbaechf,則其后序遍歷的結(jié)點(diǎn)訪問順序是()。

A.bdgcefhaB.gdbecfhaC.bdgaechfD.gdbehfca

13.

14.有以下程序段chareh;intk;ch='a';k=12;printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);已知字符a的ASCII碼值為97,則執(zhí)行上述程序段后輸出結(jié)果是

A.因變量類型與格式描述符的類型不匹配輸出無(wú)定值

B.輸出項(xiàng)與格式描述符個(gè)數(shù)不符,輸出為零值或不定值

C.a,97,12k=12

D.a,97,k=12

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

A.算法就是程序B.設(shè)計(jì)算法時(shí)只需要考慮數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)C.設(shè)計(jì)算法時(shí)只需要考慮結(jié)果的可靠性D.以上3種說(shuō)法都不對(duì)

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

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

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

A.在C程序中,APH和aph是兩個(gè)不同的變量

B.C程序中的變量,代表內(nèi)存中的一個(gè)存儲(chǔ)單元,它的值可以根據(jù)需要隨時(shí)修改

C.在C程序中,無(wú)論是整數(shù)還是實(shí)數(shù),都能準(zhǔn)確無(wú)誤地表示

D.在C程序中,一個(gè)正整數(shù)可以用十進(jìn)制、八進(jìn)制和十六進(jìn)制的形式來(lái)表示

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

A.文件打開時(shí),原有文件內(nèi)容不被刪除,可以進(jìn)行添加和讀操作

B.文件打開時(shí),原有文件內(nèi)容不被刪除,位置指針移到文件開頭,可以進(jìn)行重寫和讀操作

C.文件打開時(shí),原有文件內(nèi)容不被刪除,位置指針移到文件中間,可以進(jìn)行重寫和讀操作

D.文件打開時(shí),原有文件內(nèi)容被刪除,只可進(jìn)行寫操作

19.采用折半查找法查找長(zhǎng)度為n的線性表時(shí),每個(gè)元素的平均查找長(zhǎng)度為()。

A.O(n2)B.O(nlog2n)C.O(n)D.O(log2n)

20.對(duì)于"int*pa[5];"的描述中,正確的是()。

A.pa是一個(gè)指向數(shù)組的指針,所指向的數(shù)組是5個(gè)int型元素

B.pa是一個(gè)指向某數(shù)組中第5個(gè)元素的指針,該元素是int型變量

C.pa[5]表示某個(gè)元素的第5個(gè)元素的值

D.pa是一個(gè)具有5個(gè)元素的指針數(shù)組,每個(gè)元素是一個(gè)int型指針

二、2.填空題(20題)21.軟件工程研究的內(nèi)容主要包括:【】技術(shù)和軟件工程管理。

22.下面程序的功能是將一個(gè)字符串str的內(nèi)容顛倒過來(lái),請(qǐng)?zhí)羁铡?/p>

main()

{

inti,j,【】;charstr[]={"1234567");

for(i=0,j=strlen(str)【】;i<j;i++,j--)

{k=str[i];str[i]=str[j];str[j]=k;}

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

}

23.若有定義floatb[15],*p=b;,且數(shù)組b的首地址為200H,則p+13所指向的數(shù)組元素的地址為______。

24.以下函數(shù)creat用來(lái)建立一個(gè)帶頭結(jié)點(diǎn)的單向鏈表,新產(chǎn)生的結(jié)點(diǎn)是插在鏈表頭的

末尾。單向鏈表的頭指針作為函數(shù)值返回。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

structlist

{chardata;

structlist*next;

};

structlist*creat;

{structlist*h,*p,*q;

charch;

h=(【】)malloc(sizeof(structlist));

p=q=h;

ch=getchar();

while(ch!='?')

{p=(【】)mallco(sizeof(structlist));

p->data=ch;

q->next=p;

q=p;

ch=getchar();

}

p->next='\0';

【】;

}

25.有以下定義語(yǔ)句,則sizeof(a)的值是【】,而sizeof(a.share)的值是【】。

structdate

{intday;

intmouth;

intyear,

union{intshare1;

floatshare2;

}share;

}a;

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

fun(intx,inty,intz)

{z=x*x+y*y;}

main()

{inta=31;

fun(6,3,a)

printf("%d,a)

}

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

}

28.表示條件;10<x<100或x<0的C語(yǔ)言表達(dá)式是【】。

29.在運(yùn)算過程中,能夠使空表與非空表的運(yùn)算統(tǒng)一的結(jié)構(gòu)是【】。

30.若定義#definePI3.14159,則執(zhí)行完下列程序后輸出結(jié)果是______。

#definePI3.14159;printf("PI=%f",PI);

31.以下程序運(yùn)行時(shí)若從鍵盤輸入:102030<回車>。輸出結(jié)果是()。

#include<stdio.h>

main()

{inti=0,j=0,k=0;

scanf("%d%*d%d",&i,&j,&k);printf("%d%d%d\n",i,j,k);

}

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

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

main()

{

inta,b,c;

a=25;

b=025;

c=0x25;

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

}

34.以下程序的功能是調(diào)用函數(shù)fun計(jì)算:m=1-2+3-4+…+9-10,并輸出結(jié)果。請(qǐng)?zhí)羁铡?/p>

intfun(intn)

{

intm=0,f=1,i;

for(i=1:i<=n;i++)

{

m+=i*f;

f=______;

}

returnm;

}

main()

{printf(“m=%d\n”,______)};

35.軟磁盤最外邊的磁道數(shù)是【】號(hào)磁道。

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

wordnum(str)

charstr[];

{inti,num=0,word=0;

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

if(【】==)word=0;

elseif(word==0)

{

word=1;

【】;

}

return(num);

}

37.下面程序把從終端讀入的文本(用@作為文本結(jié)束標(biāo)志)輸出到一個(gè)名為bi.dat的新文件中,請(qǐng)?zhí)羁铡?/p>

#include"stdio.h"

FILE*fp;

main()

{charch;

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

while((ch=getchar())!='@')fputc(ch,fp);

fclose(fp);

}

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

charstr口="ABCD",*p=str;

printf("%d\n",*(p+3));

39.需求分析的最終結(jié)果是產(chǎn)生【】。

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

#include<stdio.h>

intfun(intx)

{intp;

if(x==0||x==1)

return3;

else

p=x-fun(x-2);

returnp;}

voidmain()

{printf("\n%d",fun(9));}

三、1.選擇題(20題)41.若以“葉”方式打開一個(gè)己存在的文件,則下列敘述正確的是()。

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

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

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

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

42.有以下程序inta=3;main(){ints=0;{inta=5;s+=a++;}8+=a++;printf(“%d\n”,s);}程序運(yùn)行后的輸出結(jié)果是

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

43.下列敘述中錯(cuò)誤的是()。

A.在數(shù)據(jù)庫(kù)設(shè)計(jì)的過程中,需求分析階段必須考慮具體的計(jì)算機(jī)系統(tǒng)

B.在數(shù)據(jù)庫(kù)設(shè)計(jì)的過程中,概念結(jié)構(gòu)設(shè)計(jì)與具體的數(shù)據(jù)庫(kù)管理系統(tǒng)有關(guān)

C.在數(shù)據(jù)庫(kù)設(shè)計(jì)的過程中,邏輯結(jié)構(gòu)設(shè)計(jì)與具體的數(shù)據(jù)庫(kù)管理系統(tǒng)有關(guān)

D.在數(shù)據(jù)庫(kù)設(shè)計(jì)的過程中,物理結(jié)構(gòu)設(shè)計(jì)依賴于具體的計(jì)算機(jī)系統(tǒng)

44.下面程序的輸出結(jié)果是______。main(){inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a+4;printf("%d\n",p[3]);}

A.6B.7C.3D.5

45.下列程序的輸出結(jié)果是______。main(){inti=3;switch(i){case1:case2:printf("%d",i);case3:case4:break;default:printf("OK");}}

A.0B.3C.OKD.沒有任何輸出

46.在軟件測(cè)試設(shè)計(jì)中,軟件測(cè)試的主要目的是()。

A.實(shí)驗(yàn)性運(yùn)行軟件B.證明軟件正確C.找出軟件中全部錯(cuò)誤D.為發(fā)現(xiàn)軟件錯(cuò)誤而執(zhí)行程序

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

A.scanfB.getcharC.getsD.getc

48.以下不正確的定義語(yǔ)句是

A.doublex[5]={2.0,4.0,6.0,8.0,10.0};

B.inty[5]={0,1,3,5,7,9};

C.charc1[]={'1','2','3','4','5'};

D.charc2[]={'\x10','\xa','\x8'};

49.下面程序的文件名為t.exe,在DOS下輸入的命令行參數(shù)為:ttomeetme<回車>

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

#include"stdio.h"

main(argc,argv)

intargc;char*argv[];

{inti;

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

A.3B.4C.2D.以上答案都不正確

50.數(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ì)

51.在計(jì)算機(jī)系統(tǒng)中,可執(zhí)行程序是______。

A.源代碼B.匯編語(yǔ)言代碼C.機(jī)器語(yǔ)言代碼D.ASCⅡ碼

52.下述關(guān)于C語(yǔ)言文件的操作的結(jié)論中,正確的是______。

A.對(duì)文件操作必須先關(guān)閉文件

B.對(duì)文件操作必須先打開文件

C.對(duì)文件操作順序無(wú)要求

D.對(duì)文件操作前必須先測(cè)文件是否存在,然后再打開文件

53.下述關(guān)于數(shù)據(jù)庫(kù)系統(tǒng)的敘述中,正確的是()。

A.數(shù)據(jù)庫(kù)系統(tǒng)減少了數(shù)據(jù)冗余

B.數(shù)據(jù)庫(kù)系統(tǒng)避免了一切冗余

C.數(shù)據(jù)庫(kù)系統(tǒng)中數(shù)據(jù)的一致性是指數(shù)據(jù)類型一致

D.數(shù)據(jù)庫(kù)系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù)

54.下面程序的輸出結(jié)果是()main(){inti,x=023;printf("%d\n",--x);}

A.17B.18C.23D.24

55.

有以下程序:

main

{intk=5;

while(--k)printf("%d",k-=3);

printf("\n");

}

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

A.1B.2C.4D.死循環(huán)

56.下列程序執(zhí)行后的輸出結(jié)果是main(){inta[3][3],*p,i;p=&a[0][0];for(i=1;i<9;i++)p[i]=i+1;printf("%d\n",a[1][2]);}

A.3B.6C.9D.隨機(jī)數(shù)

57.有以下程序段

intj;floaty;charname[50];

scanf("%2d%f%s",&j,&y,name);

當(dāng)執(zhí)行上述程序段,從鍵盤上輸入555667777abc后,y的值為

A.55566.0B.566.0C.7777.0D.566777.0

58.若有定義語(yǔ)句:inta[2][3],*p[3],則以下語(yǔ)句中正確的是A.p=a;B.p[0]=a;C.p[0]=&a[1][2];D.p[1]=&a;

59.運(yùn)行以下程序后,如果從鍵盤上輸入6514<回車>,則輸出結(jié)果為______。main(){intm,n;printf("Enterm,n:");scanf("%d%d",&m,&n);while(m!=n){while(m>n)m-=n;while(n>m)n-=m;}printf("m=%d\n",m);}

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

60.交換兩個(gè)變量的值,不允許用臨時(shí)變量,應(yīng)該使用下列()位運(yùn)算符。A.A.&B.^C.||D.~四、選擇題(20題)61.

62.有以下程序

main()

{

inta[]={1,2,3,4,5,6,7,8,9,0},*p;

for(p=a;p<a+10;p++)

printf("%d,",*p);

}

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

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

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

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

A.用戶定義的函數(shù)中可以沒有return語(yǔ)句

B.用戶定義的函數(shù)中可以有多個(gè)return語(yǔ)句,以便可以調(diào)用一次返回多個(gè)函數(shù)值

C.用戶定義的函數(shù)中若沒有reillnl語(yǔ)句,則應(yīng)當(dāng)定義函數(shù)為void類型

D.函數(shù)的retU/Tl語(yǔ)句中可以沒有表達(dá)式

64.以下能正確定義一維數(shù)組的選項(xiàng)是()。

A.inta[5]=(0,1,2,3,4,5);

B.chara[]={0,1,2,3,4,5);

C.chara={'A','B','C'};

D.inta[5]="0123";

65.已知longi=32768;執(zhí)行語(yǔ)句printf(“%d”,i);屏幕顯示()。

A.-1B.-32768C.1D.32768

66.

67.

68.以三級(jí)模式為框架形成的3種數(shù)據(jù)庫(kù)中,真實(shí)存在于計(jì)算機(jī)外存的數(shù)據(jù)庫(kù)是()。

A.概念數(shù)據(jù)庫(kù)B.用戶數(shù)據(jù)庫(kù)C.物理數(shù)據(jù)庫(kù)D.邏輯數(shù)據(jù)庫(kù)

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

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

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

A.A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA

71.

72.

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

A)C語(yǔ)言是高級(jí)語(yǔ)言

B)C語(yǔ)言中的每條可執(zhí)行語(yǔ)句最終都將被轉(zhuǎn)換成二進(jìn)制的機(jī)器指令

C)C語(yǔ)言產(chǎn)生的目標(biāo)程序后綴名為OBJ

D)C語(yǔ)言中的函數(shù)不可以單獨(dú)進(jìn)行編譯

74.以下關(guān)于宏的敘述中正確的是()。

A.宏替換沒有數(shù)據(jù)類型限制

B.宏定義必須位于源程序中所有語(yǔ)句之前

C.宏名必須用大寫字母表示

D.宏調(diào)用比函數(shù)調(diào)用耗費(fèi)時(shí)間

75.設(shè)有數(shù)組定義:chararray[]="China";則數(shù)組array所占的空間為()。

A.4個(gè)字節(jié)

B.5個(gè)字節(jié)

C.6個(gè)字節(jié)

D.7個(gè)字節(jié)

A.EFGHIJABCD

B.bcdefghij

C.abdefCghij

D.不確定的值

76.(8)數(shù)據(jù)庫(kù)系統(tǒng)的核心是()

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

B.數(shù)據(jù)庫(kù)管理系統(tǒng)

C.軟件工具

D.數(shù)據(jù)庫(kù)

77.有以下程序:

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

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

78.以下選項(xiàng)中值為1的表達(dá)式是()。

A.

B.

C.

D.

79.下面的變量說(shuō)明中__________是正確的。

A.char:a,b,c;

B.chara;b;c;

C.chara,b,c;

D.chara,b,c

80.

設(shè)有下列程序段:

charstr[]="HelloWorld":

char*plr;

ptr=str:

執(zhí)行上面的程序段后,*(ptr+10)的值為()。

A.\0B.0C.不確定的值D.0的地址

五、程序改錯(cuò)題(1題)81.下列給定程序中函數(shù)fun的功能是:將長(zhǎng)整型數(shù)中各位上為奇數(shù)的數(shù)依次取出,構(gòu)成一個(gè)新數(shù)放在t中。高位仍在高位,低位仍在低位。

例如,當(dāng)s中的數(shù)為87653142時(shí),t中的數(shù)為7531。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:部分源程序在文件MODll.C中,不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

六、程序設(shè)計(jì)題(1題)82.下列程序定義了M×M的二維數(shù)組,并在主函數(shù)中賦值。請(qǐng)編寫函數(shù)proc(),函數(shù)的功能是:求出數(shù)組周邊元素的平均值并作為函數(shù)值返回給主函數(shù)中的s。例如,若a數(shù)組中的值為:21098則返回主程序后,s的值為3.750000。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫的若干語(yǔ)句。試題程序:

參考答案

1.C

2.A

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

4.A根據(jù)單位鏈表(包含頭結(jié)點(diǎn))的結(jié)構(gòu),只要掌握了表頭,就能夠訪問整個(gè)鏈表,因此增加頭結(jié)點(diǎn)的目的是為了便于運(yùn)算的實(shí)現(xiàn)。

5.B

6.A

7.B

8.C

9.D本題考查while循環(huán)。第一次循環(huán),y=y-1,y=2,循環(huán)條件成立,x=1,x++后值為1,x自加變成2,進(jìn)入循環(huán),a=a+1=1,判斷if語(yǔ)句條件是否成立,y<x不成立,接著執(zhí)行下一次循環(huán)。第二次循環(huán),x=2,y-1=1.循環(huán)條件成立,進(jìn)入循環(huán),a=a+1=2,判斷if語(yǔ)句的控制條件是否成立,y<x成立,執(zhí)行break語(yǔ)句。退出循環(huán)。結(jié)果為D。

10.AC語(yǔ)言中規(guī)定運(yùn)算符的優(yōu)先順序:一元算術(shù)運(yùn)算符一>二元算術(shù)運(yùn)算符一>關(guān)系運(yùn)算符一>邏輯運(yùn)算符一>賦值運(yùn)算符,A項(xiàng)中為邏輯運(yùn)算符,B項(xiàng)和c項(xiàng)都為關(guān)系運(yùn)算符,D項(xiàng)為一元運(yùn)算符。因此最低的是A項(xiàng)。

11.C本題考查了宏定義與局部變量的區(qū)別,宏定義的作用范圍為整個(gè)程序,而變量的作用范圍只在定義它的函數(shù)體的部分,因此,主函數(shù)中定義的i與fun中的i互不相干。

12.D解析:中序遍歷的遞歸算法定義:①遍歷左子樹;②訪問根結(jié)點(diǎn);③遍歷右子樹。前序遍歷的遞歸算法定義:①訪問根結(jié)點(diǎn);②遍歷左子樹;③遍歷右子樹。后序遍歷的遞歸算法定義:①遍歷左子樹;②遍歷右子樹;③訪問根結(jié)點(diǎn)。根據(jù)前序遍歷的結(jié)果可知,a是根結(jié)點(diǎn)。由中序遍歷的結(jié)果dgbaechf可知,d、g、b是左子樹的結(jié)點(diǎn),e、c、h、f是右子樹的結(jié)點(diǎn)。再由前序遍歷的結(jié)果bdg可知,b是a左邊子樹的根,由cefh可知,c是a右邊子樹的根。再由中序遍歷的結(jié)果dgb可知,d、g是b左邊子樹的結(jié)點(diǎn),b右邊子樹無(wú)結(jié)點(diǎn)。再由前序遍歷結(jié)果dg可知,d為b左子樹的根,g是以d為根的子樹的右結(jié)點(diǎn)。至此,a的左子樹已完全弄清楚了。同樣的道理,可以弄清楚以c為根的子樹的結(jié)點(diǎn)位置。所以可知后序遍歷的結(jié)果是D。

13.D

14.D解析:輸出格式控制符%c表示將變量以字符的形式輸出;輸出格式控制符%d表示將變量以帶符號(hào)的十進(jìn)制整型數(shù)輸出,所以第一個(gè)輸出語(yǔ)句輸出的結(jié)果為a,97;第二個(gè)輸出語(yǔ)句輸出的結(jié)果為k=12。

15.D程序(program)是為實(shí)現(xiàn)特定目標(biāo)或解決特定問題而用計(jì)算機(jī)語(yǔ)言編寫的命令序列的集合。設(shè)計(jì)算法時(shí)要考慮到數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì),但是不僅僅是要考慮到數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì),還要考慮到其他的程序結(jié)構(gòu)的問題。設(shè)計(jì)算法時(shí)不能只考慮結(jié)果的正確性和可靠性,還需要考慮到程序的時(shí)間冗余度等方面。所以答案選擇D。

16.C

17.C

18.AC語(yǔ)言中,文件打開方式“a+”表示打開一個(gè)文本文件,從文件開始位置讀,在文件尾部添加數(shù)據(jù),如果指定的文件不存在,系統(tǒng)將使用調(diào)用fopen時(shí)指定的文件名創(chuàng)建一個(gè)新的文件;如果指定的文件存在,那么文件原有內(nèi)容將被保存,新的數(shù)據(jù)追加到原有文件之后。故本題答案為A選項(xiàng)。

19.D

20.D

21.軟件開發(fā)

22.k-1k\r\n-1解析:程序山使用了整型變量i、j、k,使用前應(yīng)先聲明,因此第1個(gè)空應(yīng)填變量k。i和j作為下標(biāo)的值,i被賦初值為0,j應(yīng)為下標(biāo)的最大值,下標(biāo)的最大值為數(shù)組的長(zhǎng)度減1。

23.252H252H解析:要解答本題,首先要明白在對(duì)指針進(jìn)行加,減運(yùn)算時(shí),數(shù)字“1”不是十進(jìn)制數(shù)的“1”,而是指“1”個(gè)存儲(chǔ)單元長(zhǎng)度。1個(gè)存儲(chǔ)單元長(zhǎng)度占存儲(chǔ)空間的多少,應(yīng)該視具體情況而定,如果存儲(chǔ)單元的基類型是血型,則移動(dòng)1個(gè)存儲(chǔ)單元的長(zhǎng)度就是位移2個(gè)字節(jié);如果存儲(chǔ)單元基類型是float型,則移動(dòng)1個(gè)存儲(chǔ)單元的長(zhǎng)度就是位移4個(gè)字節(jié)。所以p+13所指向的數(shù)組元素的地址為:200H+(13*4)H=252H。

24.strcurlist*strucrlist*return(h)

25.10410\r\n4解析:結(jié)構(gòu)體變量所占內(nèi)存長(zhǎng)度是各成員占的內(nèi)存長(zhǎng)度之和。每個(gè)成員分別占有其自己的內(nèi)存單元。int占2個(gè)字節(jié),float占4個(gè)字節(jié),共用體變量所占的內(nèi)存長(zhǎng)度等于最長(zhǎng)的成員的長(zhǎng)度。所以,sizeof(a.share)的值是4,sizeof(a)的值是2+2+2+4-10。

26.3131解析:在函數(shù)調(diào)用時(shí),形參值和改變,不會(huì)改變實(shí)參的值。

27.a=2b=1a=2,b=1解析:本題考查了switch結(jié)構(gòu)的內(nèi)容。C語(yǔ)言中,程序執(zhí)行完一個(gè)case標(biāo)號(hào)的內(nè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。

28.(x>10&&x<100)||x<0

29.循環(huán)鏈表循環(huán)鏈表解析:在鏈表的運(yùn)算過程中,采用鏈接方式即循環(huán)鏈表的結(jié)構(gòu)把空表與非空表的運(yùn)算統(tǒng)一起來(lái)。循環(huán)鏈表具有兩個(gè)特點(diǎn):①在循環(huán)鏈表中增加了一個(gè)表頭結(jié)點(diǎn),其數(shù)據(jù)域?yàn)槿我饣蚋鶕?jù)需要來(lái)設(shè)置,指針域指向線性表的第一個(gè)元素的結(jié)點(diǎn)。循環(huán)鏈表的頭指針指向表頭結(jié)點(diǎn)。②循環(huán)鏈表中最后一個(gè)結(jié)點(diǎn)的指針不是空,而是指向表頭結(jié)點(diǎn)。

30.PI=3.14159PI=3.14159解析:本題先定義了一個(gè)宏名PI,以后在程序中出現(xiàn)PI都用3.14159替代,但是C語(yǔ)言規(guī)定:雙引號(hào)中的宏名是不進(jìn)行替換的。

31.1030010300解析:本題的考點(diǎn)是C語(yǔ)言的scanf的“%*d”?!?*d”是在輸入流中跳過一個(gè)整數(shù),而讀入下一個(gè)整數(shù)。因此語(yǔ)句“scanf('%d%*d%d',&i,&j,&k);”在讀入10、20、30時(shí),將10讀入到i中,將20跳過,將30讀入到j(luò)中,而k沒有讀入數(shù),仍是初值的0。

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

33.252137252137解析:本題中先定義了整型變量a、b和c,然后分別給賦值a為25,b為八進(jìn)制的025,c為十六進(jìn)制0x25。然后調(diào)用pruntf()函數(shù)將a、b和c分別用十進(jìn)制輸出,且中間用空格隔開,八進(jìn)制025轉(zhuǎn)換為十進(jìn)制的值為21,十六進(jìn)制的0x25轉(zhuǎn)換為十進(jìn)制的值為37,故最后的輸出結(jié)果為252137。

34.-f或f*-1或-1*f或f*(-1)或(*1)*f。fun(10)-f或f*-1或-1*f或f*(-1)或(*1)*f。\r\nfun(10)解析:本題考核的知識(shí)點(diǎn)是C程序的簡(jiǎn)單應(yīng)用。本題要求調(diào)用fun()函數(shù)計(jì)算m的值,故在主函數(shù)中的空格處應(yīng)該填調(diào)用fun()函數(shù)的語(yǔ)句。fun()函數(shù)有一個(gè)形參n,為每次參加計(jì)算的值的個(gè)數(shù),故在主函數(shù)中的空格處應(yīng)該填fun(10),回到fun()函數(shù),函數(shù)用到了一個(gè)for循環(huán),共循環(huán)n次,當(dāng)循環(huán)第i次的時(shí)候,m的值等于m=1-2+……+[(-1)的i-1次方]*1所以在fun()函數(shù)的空格處應(yīng)該填使f改變符號(hào)的語(yǔ)句,故應(yīng)填*f或f*-1或-1*f或f*(-1)或(-1)*f。

35.0

36.\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]代表字符串sb中的第i+1個(gè)字符:

③整型變量num的值是要記錄的單詞的個(gè)數(shù)。

C語(yǔ)言中規(guī)定字符串的最后一個(gè)字符是一個(gè)隱含的字符串結(jié)束符“\\0”,所以在題中第一個(gè)空中應(yīng)填寫“\\0”;題中第二個(gè)空應(yīng)填寫“str[i]”,以判斷當(dāng)前位置的字符是否為空格;題中第二個(gè)空中應(yīng)當(dāng)填寫“num++”,通過變量num的加1累加得到字符串中的單詞個(gè)數(shù)。

37.dat""w"或"bi.dat""w+"或"bi.dat""r+"dat','w'或'bi.dat','w+'或'bi.dat','r+'解析:本題的考點(diǎn)是fopen()函數(shù),此函數(shù)的格式是fopen(文件名,使用文件方式),題目的要求是將從鍵盤讀入的文本寫到文件中,因此選擇的打開方式應(yīng)該是'w'(只寫)?;蛘呤亲x寫“r+”或“w+”。

38.6868解析:本題考查如何用指針引用數(shù)組元素。本題先定義了一個(gè)指向字符型數(shù)組str的指針p,指針p指向數(shù)組str的首地址,p+3將指針指向str[3],*(p+3)指的是字符“D”,輸出時(shí)是以“%d,格式輸出的,即輸出其相應(yīng)ASCII碼值68。

39.需求規(guī)格說(shuō)明書需求規(guī)格說(shuō)明書解析:軟件需求規(guī)格說(shuō)明書是需求分析階段的最后成果,是軟件開發(fā)中的重要文檔之一。需求規(guī)格說(shuō)明書包括正確性、無(wú)歧義性、完整性、可驗(yàn)證性、一致性、可理解性、可修改性和可追蹤性等。

40.77解析:本題考查的是函數(shù)的遞歸調(diào)用。x=0或x=1是遞歸的終止條件,然后用回代的方法從一個(gè)已知值推出下一個(gè)值,直到計(jì)算出最終結(jié)果。

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

42.A解析:本題中定義一個(gè)全局變量a和一個(gè)局部變量a。局部變量和全局變量的不同在于,局部變量的存儲(chǔ)單元都是在進(jìn)入這些局部變量所在的函數(shù)體(或復(fù)合語(yǔ)句)時(shí)生成,退出其所在的函數(shù)體(或復(fù)合語(yǔ)句)時(shí)消失,而全局變量是在函數(shù)外部任意位置上定義的變量,它的作用域從變量定義的位置開始,到整個(gè)源文件結(jié)束為止。若全局變量和某一函數(shù)中的局部變量同名,則在該函數(shù)中,此全局變量被屏蔽,在該函數(shù)內(nèi),起作用的將是局部變量,與同名的全局變量不發(fā)生任何關(guān)系。在程序中首先定義了變量s并賦值為0,接著在嵌套的復(fù)合語(yǔ)句{}中定義了變量a并賦初值為5,接著執(zhí)行語(yǔ)句s+=a++;在這條語(yǔ)句中a加1,但表達(dá)式a++還是原來(lái)的值,故s=s+5,s為5,程序執(zhí)行到外層,此時(shí){}內(nèi)定義的變量a不再有效,此時(shí)的變量a為{}之前定義的且初值為3,接著執(zhí)行{}后面的語(yǔ)句s+=a++;相當(dāng)于執(zhí)行語(yǔ)句s=s+(a++);即s=5+3,最后值為8,所以最后輸出的s值為8。

43.B解析:數(shù)據(jù)庫(kù)設(shè)計(jì)主要分4個(gè)步驟:需求分析、概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì)。選項(xiàng)B錯(cuò)誤,應(yīng)為本題的正確答案,因?yàn)楦拍罱Y(jié)構(gòu)設(shè)計(jì)在需求分析的基礎(chǔ)上對(duì)客觀世界做抽象,獨(dú)立于數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),也獨(dú)立于具體的數(shù)據(jù)庫(kù)管理系統(tǒng),與具體的數(shù)據(jù)庫(kù)管理系統(tǒng)無(wú)關(guān)。

44.B解析:指針變量p指向數(shù)組a的第5個(gè)元素,p[3]在原指向基礎(chǔ)上移3個(gè)單位,指針變量p將指向第8個(gè)元素(下標(biāo)為7的元素),值為7。

45.D解析:在題中,i的值為3,由于“case3:”后面沒有break語(yǔ)句,所以繼續(xù)向下執(zhí)行“case4:”后面的語(yǔ)句,由于“case4:”后面的語(yǔ)句為break強(qiáng)行退出switch語(yǔ)句,所以,本題沒有任何輸出。

46.D解析:使用人工或自動(dòng)手段來(lái)運(yùn)行或測(cè)試某個(gè)系統(tǒng)的過程,其目的在于檢驗(yàn)它是否滿足規(guī)定的需求或是弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別。軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程。測(cè)試要以查找錯(cuò)誤為中心,而不是為了演示軟件的正確功能。

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

48.B解析:在一維數(shù)組中要注意的是作為下標(biāo)表達(dá)式的常量表達(dá)式的值必須是大于等于0,選項(xiàng)B)中定義有5個(gè)元素,但賦值時(shí)有6個(gè)元素,所以是錯(cuò)誤的。

49.B解析:argc中存入的是命令行中字符串的個(gè)數(shù)。argv是一個(gè)指向字符型的指針數(shù)組的指針。

50.A解析:模式設(shè)計(jì)和內(nèi)模式設(shè)計(jì)是概念設(shè)計(jì)的兩種方法。物理設(shè)計(jì)是根據(jù)特定的計(jì)算機(jī)系統(tǒng),對(duì)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)和存取方法進(jìn)行設(shè)計(jì),從而實(shí)現(xiàn)從邏輯結(jié)構(gòu)到物理結(jié)構(gòu)的轉(zhuǎn)換。從系統(tǒng)開發(fā)的角度來(lái)看,結(jié)構(gòu)特性設(shè)計(jì)和行為特性-設(shè)計(jì)是數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)所具有的兩個(gè)特性。結(jié)構(gòu)特性的設(shè)計(jì),設(shè)計(jì)各級(jí)數(shù)據(jù)庫(kù)模式(靜態(tài)特性):行為特性的設(shè)計(jì),改變實(shí)體及其特性,決定數(shù)據(jù)庫(kù)系統(tǒng)的功能(動(dòng)態(tài)特性)。

51.C

52.B解析:在C中對(duì)文件操作必須先打開文件,待文件操作完畢后要關(guān)閉文件。對(duì)文件以讀的方式進(jìn)行打開操作時(shí),同時(shí)會(huì)執(zhí)行文件的檢查文件是否存在,不存在將會(huì)返回空的文件指針,如果對(duì)文件以寫的方式打開時(shí),文件不存在,將會(huì)自動(dòng)創(chuàng)建文件,因此在C中打開文件前不必對(duì)其檢查文件是否存在,故答案為B。

53.A解析:數(shù)據(jù)庫(kù)是一個(gè)通用化的、綜合性的數(shù)據(jù)集合,它可以為各種用戶所共享,具有最小的冗余度和較高的數(shù)據(jù)與程序的獨(dú)立性,而且能并發(fā)地為多個(gè)應(yīng)用服務(wù),同時(shí)具有安全性和完整性。即數(shù)據(jù)庫(kù)系統(tǒng)減少了數(shù)據(jù)冗余,但不能避免一切冗余。所以選項(xiàng)A正確,選項(xiàng)B錯(cuò)誤。在數(shù)據(jù)庫(kù)管理階段中,數(shù)據(jù)是結(jié)構(gòu)化的,面向系統(tǒng),數(shù)據(jù)冗余度小,從而節(jié)省了數(shù)據(jù)的存儲(chǔ)空間,也減少了對(duì)數(shù)據(jù)的存取時(shí)間,提高了訪問效率,避免了數(shù)據(jù)的不一致性。數(shù)據(jù)的不一致性,是指對(duì)數(shù)據(jù)的存取方式,選項(xiàng)C錯(cuò)誤。數(shù)據(jù)庫(kù)系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù),并非是數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn),選項(xiàng)D錯(cuò)誤。本題正確答案是A。

54.B

55.A解析:因?yàn)樵趙hile循環(huán)的循環(huán)條件中,一運(yùn)算符是前綴形式,所以表達(dá)式—k的值是k自減之后的值。程序開始時(shí),將k的值初始化為5,然后進(jìn)入while循環(huán),因?yàn)椤猭的值為4(非零),所以執(zhí)行循環(huán)體輸出k-=3的值1,此時(shí)k的值也變?yōu)?。第2次執(zhí)行循環(huán)條件,—k的值為0,所以循環(huán)結(jié)束。因此最后輸出的結(jié)果是1,故應(yīng)該選擇A。

56.B解析:本題中,a[1][2]是二維數(shù)組中的第6個(gè)元素,對(duì)應(yīng)for循環(huán)中i的值為5,p[5]=5+1。

57.B解析:本題考查通過scanf函數(shù)輸入數(shù)據(jù)時(shí)的格式控制問題。變量j的格式控制為“%2d”,即只接收輸入數(shù)據(jù)的前兩位,從第三位開始直到空格之間的輸入都會(huì)被保存到變量y中,因?yàn)閥為浮點(diǎn)型數(shù)據(jù),所以輸出結(jié)果為選項(xiàng)B)。

58.C解析:選項(xiàng)A中,p為數(shù)組名,其值是不能被改變的,故非法;選項(xiàng)B中,p[0]的類型是int*,而a是二維數(shù)組名(類型為int[][3]),兩者無(wú)法賦值,故非法:選項(xiàng)C中,p[0]為int型指針,&a[1][2]是int型變量的地址,可以合法賦值;選項(xiàng)D中,p[1]是int型指針,而&a是二維數(shù)組的地址(類型為int(*)[2][3]),兩者無(wú)法賦值,故非法。所以本題應(yīng)該選擇C。

59.C解析:分析程序可知,該程序?qū)崿F(xiàn)的功能是對(duì)數(shù)m,n求其最大公約數(shù)。在本題中m與n的值分別為65與14,其最大公約數(shù)為1,故其輸出結(jié)果為m=1。

60.B解析:按邏輯位運(yùn)算的特定作用主要有3點(diǎn):①用按位與運(yùn)算將特定位清0或保留特定位:②用按位或運(yùn)算將特定的位置設(shè)置為1;③用按位異或運(yùn)算將某個(gè)變量的特定位翻轉(zhuǎn)或交換兩個(gè)變量的值。

61.C

62.A在本題中,程序首先定義了一個(gè)一維數(shù)組a,并賦了初值,數(shù)組a中元素的個(gè)數(shù)為10個(gè),另外,程序定義了一個(gè)同類型的指針變量p。然后用一個(gè)for循環(huán)用指針變量p對(duì)數(shù)組進(jìn)行操作。在循環(huán)開始前,將指針變量指向數(shù)組的開始位置,即指向數(shù)組的第一個(gè)元素。

第一次循環(huán)時(shí),指針變量p指向的是數(shù)組第一個(gè)元素,輸出該元素應(yīng)該為1;然后指針變量自加1,即將指針變量后移一位,使其指向數(shù)組的第二個(gè)元素,開始第二次

溫馨提示

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