2022年四川省宜賓市全國計算機(jī)等級考試C語言程序設(shè)計模擬考試(含答案)_第1頁
2022年四川省宜賓市全國計算機(jī)等級考試C語言程序設(shè)計模擬考試(含答案)_第2頁
2022年四川省宜賓市全國計算機(jī)等級考試C語言程序設(shè)計模擬考試(含答案)_第3頁
2022年四川省宜賓市全國計算機(jī)等級考試C語言程序設(shè)計模擬考試(含答案)_第4頁
2022年四川省宜賓市全國計算機(jī)等級考試C語言程序設(shè)計模擬考試(含答案)_第5頁
已閱讀5頁,還剩72頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2022年四川省宜賓市全國計算機(jī)等級考試C語言程序設(shè)計模擬考試(含答案)學(xué)校:________班級:________姓名:________考號:________

一、單選題(20題)1.設(shè)變量已正確定義并賦值,下列表達(dá)式中正確的是()。

A.x=y+z+5,++yB.int(15.8%5)C.x=y*5=x+zD.x=25%5.0

2.表達(dá)式:(int)((double)9/2)-(9)%2.的值是A.0B.3C.4D.5

3.有以下程序A.6B.3C.8D.12

4.若有定義語句:doublea,*p=&a;,以下敘述中錯誤的是()。

A.定義語句中的*號是一個間址運(yùn)算符

B.定義語句中的*號只是一個說明符

C.定義語句中的P只能存放double類型變量的地址

D.定義語句中,*p=&n把變量a的地址作為初值賦給指針變量P

5.C語言可執(zhí)行程序的開始執(zhí)行點是()。

A.包含文件中的第一個函數(shù)B.程序中第一個函數(shù)C.程序中的main()函數(shù)D.程序中第一條語句

6.在如下結(jié)構(gòu)定義中,不正確的是()。A.

B.

C.

D.

7.數(shù)據(jù)在計算機(jī)存儲器內(nèi)表示時,如果元素在存儲器中的相對位置能反映數(shù)據(jù)元素之間的邏輯關(guān)系,則稱這種存儲結(jié)構(gòu)為()。

A.存儲結(jié)構(gòu)B.邏輯結(jié)構(gòu)C.順序存儲結(jié)構(gòu)D.鏈?zhǔn)酱鎯Y(jié)構(gòu)

8.在執(zhí)行完下列的C語句段之后,則B的值是()。Chara="A";intb;B=((34&&56)&&(a<'b'));

A.int類型B.float類型C.void類型D.函數(shù)無類型說明,定義有錯

9.在嵌套使用if語句時,C語言規(guī)定else總是A.和之前與其具有相同縮進(jìn)位置的if配對

B.和之前與其最近的if配對

C.和之前與其最近的且不帶else的if配對

D.和之前的第一個if配對

10.有以下程序:#includeMain(){Intx=1,y=0;if(!x)y++;elseif(x==0)if(x)y+=2;Elsey+=3;print("%d\n",y);}程序運(yùn)行后的輸出結(jié)果是()。A.2B.1C.0D.3

11.以下合法的字符型常量是A.B.C.D.

12.下列程序的輸出結(jié)果是()。voidfun(int*X,inty){printf("%d%d",*x,*y);*x=3;*y=1;}main{intx=1,y=2;fun(&y,&x);printf("%d%d",x,y);}A.2143B.1212C.1234D.2112

13.下列關(guān)于C語言數(shù)據(jù)文件的敘述中正確的是A.文件由ASCII碼字符序列組成,C語言只能讀寫文本文件

B.文件由二進(jìn)制數(shù)據(jù)序列組成,C語言只能讀寫二進(jìn)制文件

C.文件由記錄序列組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件

D.文件由數(shù)據(jù)流形式組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件

14.有定義語句:inta=1,b=2,c=3,x;,則以下選項中各程序段執(zhí)行后,x的值不為3的是A.if(c<a)x=1;elseif(b<a)x=2;elsex=3;

B.if(a<3)x=3;elseif(b<a)x=2;elsex=1;

C.if(a<3)x=3;if(a<2)x=2;if(a<1)x=1;

D.if(a<b)x=b;if(b<c)x=c;if(c<a)x=a;

15.下列敘述中錯誤的是()。A.在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致,

B.數(shù)據(jù)庫技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問題

C.數(shù)據(jù)庫設(shè)計是指在已有數(shù)據(jù)庫管理系統(tǒng)的基礎(chǔ)上建立數(shù)據(jù)庫

D.數(shù)據(jù)庫系統(tǒng)需要操作系統(tǒng)的支持

16.以下敘述中正確的是()

A.C程序由函數(shù)和過程組成B.C程序由主函數(shù)組成C.C程序由函數(shù)組成D.C程序中,主函數(shù)必須放在其他函數(shù)之前

17.已知:intx,y;doublez;則以下語句中錯誤的函數(shù)調(diào)用是()。A.A.scanf("%d,%1x,%1e",&x,&y,&z);

B.scanf("%1d*%d&1f",&x,&y,&z);

C.scanf("%x%*d%o",&x,&y);

D.scanf("%x%o%6.2f",&x,&y,&z);

18.有以下程序:main{intnum[4][4]={1,2,3,4},{5,6,7,8},{9,10,11,12,},{13,14,15,16}},i,j;for(i=0;i<4;i++){for(j=0;j<i;j++)printf("%4c",);for(j=________;J<4;j++)printf("%4d",num[i][j]);printf("\n");}}若要按以下形式輸出數(shù)組右上半三角1234678111216則在程序下劃線處應(yīng)填入的是()。A.i-1B.iC.i+1D.4一i

19.對于棧操作數(shù)據(jù)的原則是()。

A.先進(jìn)先出B.后進(jìn)先出C.后進(jìn)后出D.不分順序

20.已知各變量的類型說明如下則以下不符合C語言語法的表達(dá)式是()。A.x%(-3)B.w+=-2C.k=(a=2,b=3,a+b)D.a+=a-=(b=4)*(a=3)

二、2.填空題(20題)21.以下程序運(yùn)行后的輸出結(jié)果是______。

fun(intx)

{if(x/2>0)fun(x/2);

printf("%d",x);

}

main()

{fun(6);}

22.函數(shù)YangHui的功能是把楊輝三角形的數(shù)據(jù)賦給二維數(shù)組的下半三角,形式如下:

1

11

121

1331

14641

其構(gòu)成規(guī)律是:

①第0列元素和主對角線元素均為1。

②其余元素為其左上方和正上方元素之和。

③數(shù)據(jù)的個數(shù)每行遞增1。

請將程序補(bǔ)充完整。

#defineN6

voidyanghui(intx[N][N])

{inti,j;

x[O][0]=1;

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

{x[i][0]=【】=1;

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

x[i][j]=【】;

}

)

23.函數(shù)調(diào)用語句:“fgets(buf,n,fp);”從中指向的文件中讀入n個字符放到buf字符數(shù)組中,函數(shù)返回值為______。

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

inta=5;

fun(intB)

{staticinta=10;

a+=b++;

printf("%d",A);

}

main()

{intc=20;

fun(C),

a+=C++;

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

}

25.以下函數(shù)sstrcat的功能是實現(xiàn)字符串的連接,即將t所指字符串復(fù)制到s所指字符串的尾部。例如:,所指字符串為abed,t所指字符串為efgh,調(diào)用函數(shù)sstrcat后s所指字符串為abcdefgh。請?zhí)羁铡?/p>

#inehde<stdio.h>

#include<string.h>

voidsstuat(char*9,char*t)

{intn;

n=strlen(s);

while(*(s+n)=【】){s++;t++;}

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

structdate

{intday;

intmouth;

intyear;

union{intshare1;

floatshare2;

}share;

}a;

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

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

29.當(dāng)先后輸入1、3、4、12、23時,屏幕上出現(xiàn)【】;再輸入12時,則屏幕上出現(xiàn)【】。

#include<stdio.h>

#defineN5

main()

{inti,j,number,top,bott,min,loca,a[N],flag;

charc;

printf("Pleaseinput5numbers(a[i]>a[i-1])\n");

scanf("%d",&a[0]);

i=1;

while(i<N)

{scanf("%d",&a[i]);

if(a[i]>=a[i-1))i++;

}

printf("\n");

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

printf("\n");

flag=1;

while(flag)

{scanf("%d",&number);

loca=0;

top=0;

bott=N-1;

if((number<a[0])||(number>a[N-1]))loca=-1;

while((loca==0)&&(top<=bott))

{min=(bott+top)/2;

if(number==a[min])

{loca=min;

printf("%disthe%dthnumber\n",number,loca+1);

}

elseif(number<a[min])bott=min-1;

elsetop=min+1;

}

if(loca==0||loca==-1)printf("%disnotinthelist.\n",number);

c=getchar();

if(c=='N'||c=='n')flag=0;

}

}

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

voidswap(int*a,int*B)

{

int*t;

t=a;a=b;b=t;

}

main()

{

intx=3,y=5,*p=&x,*q=&y;

swap(p,q);

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

}

31.順序存儲方法是把邏輯上相鄰的結(jié)點存儲在物理位置______的存儲單元中。

32.層次模型的典型代表是IBM公司的【】數(shù)據(jù)庫管理系統(tǒng)。

33.在Windows環(huán)境下,可以將窗口最小化為【】。

34.數(shù)據(jù)庫系統(tǒng)中實現(xiàn)各種數(shù)據(jù)管理功能的核心軟件是______。

35.設(shè)有chara,b;,若要通過a&b運(yùn)算屏蔽掉a中的其他位,只保留第2位和第8位(右起為第1位),則b的二進(jìn)制是【】。

36.設(shè)y為血型變量,請寫出描述“y是偶數(shù)”的表達(dá)式______。

37.軟件測試分為白箱(盒)測試和黑箱(盒)測試?;韭窂綔y試方法屬于()測試。

38.下面程序的輸出是【】。

main()

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

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

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

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

}

39.數(shù)據(jù)庫技術(shù)的主要特點為數(shù)據(jù)的集成性、數(shù)據(jù)的高【】和低冗余性、數(shù)據(jù)獨立性和數(shù)據(jù)統(tǒng)一管理與控。

40.下面程序是計算100以內(nèi)能被4整除且個位數(shù)為4的所有整數(shù),請?zhí)羁铡?/p>

main()

{intm,n;

for(m=0;【】;m++)

{n=m*10+4;

If(【】)continue;

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

三、1.選擇題(20題)41.數(shù)據(jù)庫系統(tǒng)的核心是()A.數(shù)據(jù)模型B.數(shù)據(jù)庫管理系統(tǒng)C.軟件工具D.數(shù)據(jù)庫

42.運(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

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

A.隊列B.棧C.雙向鏈表D.二叉樹

44.若有以下結(jié)構(gòu)體定義,則______是正確的引用或定義。structexample{intx;inty;}v1;

A.example.x=10

B.examplev2.x=10

C.structv2;v2.x=10

D.structexamplev2={10};

45.有以下程序:main(){inta;charc=10;floatf=100.0;doublex;a=f/=c*=(x=6.5);printf("%d%d%3.1f%3.1f\n",a,c,f,x);}程序運(yùn)行后的輸出結(jié)果是______。

A.16516.5B.1651.56.5C.1651.06.5D.2651.56.5

46.若有定義floata=25,b,*p=&b;,則下列對賦值語句*p=a;和p=&a;的正確解釋為()。

A.兩個語句都是將變量a的值賦予變量p

B.*p=a是使p指向變量a,而p=&a是將變量a的值賦予變量指針p

C.*p=a是將變量a的值賦予變量b,而p=&a是使p指向變量a

D.兩個語句都是使p指向變量a

47.有定義語句:intb;charc[10];則正確的輸入語句是()。

A.seanf("%d%s",&b,&c);

B.scanf("%d%s",&b,c);

C.seanf("%d%s",b,c);

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

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

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

49.有以下程序intf1[y){returnx>y?x:y;}intf2(intx,inty){returrnx>y?y:x;}main(){inta=4,b=3,c=5,d=2,e,f,g;e=f2(f1(a,b},f1(c,d));f=f1(f2(a,b),f2(c,d);;g=a+b+c+d-e-f;printf("%d,%d,%d\n",c,f,g);}程序運(yùn)行后的輸出結(jié)果是

A.4,3,7B.3,4,7C.5,2,7D.2,5,7

50.若整型變量a、b、c、d中的值依次為1、4、3、2。則條件表達(dá)式a<b?a:c<d?c:d的值是______。A.1B.2C.3D.4

51.在結(jié)構(gòu)化方法中,軟件功能分解屬于軟件開發(fā)中的______階段。

A.詳細(xì)設(shè)計B.需求分析C.總體設(shè)計D.編程調(diào)試

52.設(shè)有變量說明int(*p)[m],其中的標(biāo)識符p是()。

A.m個指向整型變量的指針

B.指向m個整型變量的指針

C.一個指向具有m個整型元素的一維數(shù)組的指針

D.具有m個指針元素的一維指針數(shù)組,每個元素都指向整型變量

53.下列關(guān)于隊列的敘述中正確的是()。

A.在隊列中只能插入數(shù)據(jù)B.在隊列小只能刪除數(shù)據(jù)C.隊列是先進(jìn)先出的線性表D.隊列是先進(jìn)后出的線性表

54.設(shè)有以下定義和語句,輸出的結(jié)果是(用small模式編譯,指針變量占2個字節(jié))______。structdate{long*cat;structdate*next;doubledog;}too;printf("%d",sizeof(too));

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

55.下列敘述中,錯誤的是()。

A.在同一C程序文件中,不同函數(shù)中可以使用名字相同的變量

B.在main()函數(shù)體內(nèi)定義的變量是全局變量

C.形參是局部變量,函數(shù)調(diào)用完成即失去意義

D.若同一文件中全局和局部變量同名,則全局變量在局部變量作用范圍內(nèi)不起作用

56.在待排序的元素序列基本有序的前提下,效率最高的排序方法是()。A.A.冒泡排序B.選擇排序C.快速排序D.歸并排序

57.以下程序中,while循環(huán)的循環(huán)次數(shù)是main(){inti=0;while(i<10){if(i<1)continue;if(i==5)break;i++;}}

A.1B.10C.6D.死循環(huán),不能確定次數(shù)

58.有以下程序main(){inta=1,b=2,m=0,n=0,k;k=(n=b>a)‖(m=a<b);printf("%d,%d\n",k,m);}程序運(yùn)行后的輸出結(jié)果是

A.0,0B.0,1C.1,0D.1,1

59.設(shè)p1和p2是指向一個int型一維數(shù)組的指針變量,k為int型變量,則不能正確執(zhí)行的語句是

A.k=*p1+*p2B.p2=k;C.p1=p2;D.k=*p1*(*p2);

60.SQL語言又稱為______。

A.結(jié)構(gòu)化定義語言B.結(jié)構(gòu)化控制語言C.結(jié)構(gòu)化查詢語言D.結(jié)構(gòu)化操縱語言

四、選擇題(20題)61.下面不屬于軟件設(shè)計階段任務(wù)的是()。

A.制訂軟件確認(rèn)測試計劃B.數(shù)據(jù)庫設(shè)計C.軟件總體設(shè)計D.算法設(shè)計

62.

63.以下選項中,不能作為合法常量的是()。

A.1.234e05B.1.234e+5C.1.234e0.5D.1.234e0

64.

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

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

66.有下列函數(shù)定義:intfun(doublea,doubleb){returna*b;}若下列選項中所用變量都已經(jīng)正確定義并賦值,錯誤的函數(shù)調(diào)用是()。A.if(fun(x,y)){……}

B.z=fun(fun(x,y),fun(x,y));

C.z=fun(fun(X,y)x,y);

D.fun(x,y);

67.數(shù)據(jù)庫設(shè)計中反映用戶對數(shù)據(jù)要求的模式是()。

A.內(nèi)模式B.概念模式C.外模式D.設(shè)計模式

68.有三個關(guān)系R、S和T如下:

則由關(guān)系R和s得到關(guān)系T的操作是()。

A.自然連接B.并C.交D.差

69.

70.有以下程序

main()

{intx,y;

scanf("%d",&x);

y=x>12?x+10:x-12;

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

}

若運(yùn)行時給變量x輸入12,則以下程序的運(yùn)行結(jié)果是

A.0B.22

C.12D.10

71.設(shè)有下列二叉樹:

對此二叉樹中序遍歷的結(jié)果為()。

A.ACBDEFB.DEBFCAC.ABDECFD.DBEAFC

72.

73.函數(shù)fseek(pf,OL,SEEKEND)中的SEEKENE代表的起始點是()。

A.文件開始B.文件末尾C.文件當(dāng)前位置D.以上都不對

74.設(shè)變量已正確定義,則以下能正確計算f=n!的程序段是()。

A)f=0;B)f=1;

for(i=1;i<=n;i++)f*=i;for(i=1;i<n;i++)f*=i;

C)f=1;D)f=1;

for(i=n;i>1;i++)f*=i;for(i=n;i>=2;i--)f*=i;

75.

76.有以下程序

77.以下敘述中錯誤的是()。A.用戶定義的函數(shù)中可以有多個return語句,以便可以調(diào)用二次返回多個函數(shù)值

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

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

D.函數(shù)的return語句中可以沒有表達(dá)式

78.以下程序的輸出結(jié)果是()。main{inta[3][3]=“l(fā),2),{3,4),{5,6)},i,j,s=0;for(i=1;i<3;i++)for(j=0;j<=i;j++)s+=a[i][j];printf(”%d\n”,s);}A.18B.19C.20D.21

79.執(zhí)行下面的程序后,a的值為()。main{inta,b;for(a=1,b=1;a<=10;a++){if(b%3==l){b+=3;continue;}b-=5;}}A.7B.8C.9D.10

80.設(shè)有定義:intx=3;,以下表達(dá)式中,值不為l2的是()。

A.x*=x+1B.x++,3*xC.x*=(1+x)D.2*x.x+=6

五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc的功能是:首先把b所指字符串中的字符按逆序存放,然后將str1所指字符串中的字符和Str2所指字符串中的字符,按排列的順序交叉合并到str所指數(shù)組中,過長的剩余字符接在str所指數(shù)組的尾部。例如,當(dāng)str1所指字符串中的內(nèi)容為ABCDEFG,str2所指字符串中的內(nèi)容為1234時,str所指數(shù)組中的內(nèi)容應(yīng)該為A483C2D1EFG;而當(dāng)str1所指字符串中的內(nèi)容為1234,str2所指字符串中的內(nèi)容為ABCEDFG時,str所指數(shù)組中的內(nèi)容應(yīng)該為1G2F31:4DCBA。

請修改程序中的錯誤,使它能得出正確的結(jié)果。

注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。

試題程序:

#include<stdlib.h>

#include<conio.h>

#include<stdio。h>

#include<string.h>

voidproc(char*strl,char*str2,char*str){

inti,j;charch;

i=0;j=strleu(str2)-1;

//****found****

while(i>j)

{

ch=str2[i];str2[i]=str2[j];str2[j]=ch;

i++;j--;

}

while(*str1||*str2)

{

if(*str1){*str=*str1;str++;str1++;)

if(*str2){*str=*str2;str++;str2++;)

}

//****found****

*str=0:

}

voidmain

{

chars1[100],s2[100],t[200];

system("CLS");

printf("\nEnters1string:");

scanf("%s",sl);

printf("\nEnters2string:");

scanf("%s",s2);

proc(s1,s2,t);

printf("\nTheresultis:%s\n",t);

}

六、程序設(shè)計題(1題)82.三個整數(shù)a、b、c,由鍵盤輸入,輸出其中最大的數(shù)。

參考答案

1.A運(yùn)算符“%”的左右兩個操作數(shù)均應(yīng)為整數(shù),所以B選項與D選項錯誤。C選項中不能將“x+z”的值賦給表達(dá)式“y*5”,所以C選項錯誤。故本題答案為A選項。

2.B\n本題考查了強(qiáng)制類型轉(zhuǎn)換。9/2為double型,所以結(jié)果為4.5,又強(qiáng)制轉(zhuǎn)換為整型,所以結(jié)果為4。9%2為取余運(yùn)算,結(jié)果為1。最終結(jié)果4-1=3。

\n

3.A[解析]本題中第一次調(diào)用為fum(8.fn(5.6)),因為fun(5.6)返回值為5.所以第二次調(diào)用為fn(8.5)=6.所以選擇A)。

4.Cdoublea,*p=&a語句的意思是將a的值存放到指針變量P中,P是指針可以隨意指向任何地址,所以答案C錯誤。

5.C解析:每個C程序有且只有一個主函數(shù)main(),且程序必須從main函數(shù)開始執(zhí)行,并在main()函數(shù)中結(jié)束。

6.B

7.C

8.A解析:本題考查默認(rèn)函數(shù)的函數(shù)值的類型。在函數(shù)定義時,由于函數(shù)沒有說明其類型,系統(tǒng)默認(rèn)一律自動按整型處理,因此,函數(shù)的類型為int類型。

9.C解析:C語言的語法規(guī)定:else子句總是與前面最近的不帶else的if相結(jié)合,與書寫格式無關(guān)。所以選項C)為正確答案。

10.C在ifelse語句中else,總是與離它最近的配對。本題目中x勸1所以!x為0,所以執(zhí)行else齬句中的內(nèi)容,判斷(x==0)是否成立,因為x為1所以條件不成立,所以else部分的近.else語句不再執(zhí)行,所以y的值還是初始值0。

11.A解析:C語言的字符常量是用單引號(即撇號)括起來的一個字符。除此之外,在C語言中還允許用以一個“\\”開頭的字符序列來表示字符常量。其中,形式“\\ddd”表示1到3位8進(jìn)制數(shù)所代表的字符;形式“\\xhh”表示1到2位16進(jìn)制數(shù)所代表的字符。在本題中‘\\x13’表示回車符,是一個字符常量;‘\\081’用\u30008進(jìn)制數(shù)所代表的字符,但形式不正確,因為8進(jìn)制數(shù)所表示的字符中不會出現(xiàn)數(shù)字“8”;‘65’不是一個字符,而是一個+進(jìn)制數(shù)字;“\\n”是用雙引號括起來的一個字符,表示一個字符串,而不是字符常量。

12.C當(dāng)執(zhí)行fun函數(shù)時,因為參數(shù)傳遞時是地址傳遞,因此形參值的改變會影響實參中的數(shù),在執(zhí)行fun函數(shù)時先輸出12,接著把*X賦3,*y賦4,此時帶回主函數(shù)中,輸出的值為34。

13.D解析:C語言把文件看成是一個字符(字節(jié))的序列,即由一個一個字符(字節(jié))的數(shù)據(jù)順序組成。根據(jù)數(shù)據(jù)的組織形式,可分為ASCII文件和二進(jìn)制文件。ASCII文件又稱文本文件,它的每一個字節(jié)放一個ASCII代碼,代表一個字符。二進(jìn)制文件是把內(nèi)存中的數(shù)據(jù)按其在內(nèi)存中的存儲形式原樣輸出到磁盤上存放。

14.C解析:選項A),B)考查了多分支結(jié)構(gòu)的用法,選項A)中的程序段執(zhí)行時,c<a,b<a條件均不成立,故執(zhí)行else后的語句,x值為3;選項B)中a<3條件成立,執(zhí)行x=3;而選項C),D)是單分支結(jié)構(gòu)的用法,選項C)中程序段執(zhí)行時,a<3條件成立,x=3,但條件a<2也成立,此時執(zhí)行x=2,下一個條件不成立,不再執(zhí)行其后的語句。

15.A解析:本題考查數(shù)據(jù)庫系統(tǒng)的基本概念和知識。數(shù)據(jù)的邏輯結(jié)構(gòu),是數(shù)據(jù)間關(guān)系的描述,它只抽象地反映數(shù)據(jù)元素之間的邏輯關(guān)系,而不管其在計算機(jī)中的存儲方式。數(shù)據(jù)的存儲結(jié)構(gòu),又叫物理結(jié)構(gòu),是邏輯結(jié)構(gòu)在計算機(jī)存儲器里的實現(xiàn)。這兩者之間沒有必然的聯(lián)系。因此,選項A的說法是錯誤的。

數(shù)據(jù)庫可以看成是長期存儲在計算機(jī)內(nèi)的、大量的、有結(jié)構(gòu)的和可共享的數(shù)據(jù)集合。因此,數(shù)據(jù)庫具有為各種用戶所共享的特點。不同的用戶可以使用同一個數(shù)據(jù)庫,可以取出它們所需要的子集,而且容許子集任意重疊。數(shù)據(jù)庫的根本目標(biāo)是要解決數(shù)據(jù)的共享問題。因此,選項B的說法是正確的。

數(shù)據(jù)庫設(shè)計是在數(shù)據(jù)庫管理系統(tǒng)的支持下,按照應(yīng)用的要求,設(shè)計一個結(jié)構(gòu)合理、使用方便、效率較高的數(shù)據(jù)庫及其應(yīng)用系統(tǒng)。數(shù)據(jù)庫設(shè)計包含兩方面的內(nèi)容:一是結(jié)構(gòu)設(shè)計,也就是設(shè)計數(shù)據(jù)庫框架或數(shù)據(jù)庫結(jié)構(gòu);二是行為設(shè)計,即設(shè)計基于數(shù)據(jù)庫的各類應(yīng)用程序、事務(wù)等。因此,選項C的說法是錯誤的。

數(shù)據(jù)庫系統(tǒng)除了數(shù)據(jù)庫管理軟件之外,還必須有其他相關(guān)軟件的支持。這些軟件包括操作系統(tǒng)、編譯系統(tǒng)、應(yīng)用軟件開發(fā)工具等。對于大型的多用戶數(shù)據(jù)庫系統(tǒng)和網(wǎng)絡(luò)數(shù)據(jù)庫系統(tǒng),還需要多用戶系統(tǒng)軟件和網(wǎng)絡(luò)系統(tǒng)軟件的支持。因此,選項D的說法是正確的。因此,本題的正確答案是選項A。

16.C

17.BB項的格式應(yīng)該為scanf("%1d*%d%1f",&x,&y,&z);

18.B本題中要求輸出右上半角的數(shù),對角線上的數(shù)的下標(biāo)相同,所以j=i。

19.B

20.A

21.136136解析:本題考核的知識點是函數(shù)遞歸。主函數(shù)調(diào)用函數(shù)fun(6),由于6/2>0為真遞歸調(diào)用fun(3),接著遞歸調(diào)用fun(1),輸出1,返回上一層輸出3,在返回上一層輸出6。故空格處應(yīng)該填136。

22.x[i][i]x[i-1][j-1]+x[i-1][j]或x[i-1][j]+x[i-1][j-1]x[i][i]\r\nx[i-1][j-1]+x[i-1][j]或x[i-1][j]+x[i-1][j-1]解析:在程序中用兩重循環(huán)。在第一層循環(huán)中將每行的第0列賦值為1,對角線上的元素賦值為1顯然在第一個空中應(yīng)該填入對角線上的元素即x[i][i],在第2重循環(huán)中給每行其他元素賦值,而在每行中除了第0列和對角線的元素外其他元素為其對應(yīng)的上一行中同列和同列的前一列的元素相加,所以在第二個空中應(yīng)該填入x[i-1][j-1]+x[i-1][j]。

23.buf的首地址buf的首地址解析:考查fsets()函數(shù)的功能,f8ets()函數(shù)用來從文件中讀入字符串。調(diào)用格式為:f8ets(buf,n,fp)。此處,fp是文件指針,buf是存放字符串的起始地址,n是一個int型變量。調(diào)用函數(shù)fsets()時,最多能讀入n-1個字符,系統(tǒng)自動在最后加字符串結(jié)束標(biāo)志,并以buf作為函數(shù)值返回。

24.30253025解析:本題考核的知識點是變量的存儲屬性和算術(shù)運(yùn)算的應(yīng)用。本題涉及了自動變量、靜態(tài)變量和外部變量。外部變量是定義在所有函數(shù)之外的變量,本題中inta=5定義了一個外部變量a,它是一個全局變量,即作用域是從定義的位置開始到本文件的結(jié)束;靜態(tài)變量的存儲空間在程序的整個運(yùn)行期間是固定的(static),本題函數(shù)fun()中staticinta=10定義個一個靜態(tài)變量a,此靜態(tài)變量a是個靜態(tài)的局部變量,即它的值只能在本函數(shù)中使用;自動變量是C程序中使用最多的一種變量,它的建立和撤消都是由系統(tǒng)在程序執(zhí)行過程中自動進(jìn)行的,auto是自動變量的存儲類別標(biāo)識符,如果省略auto,系統(tǒng)隱含認(rèn)為此變量為auto,本題中main()中intc=20定義了一個自動變量c,此自動變量c是個靜態(tài)的局部變量.算術(shù)運(yùn)算中a+=b++相當(dāng)于a=a+b,b=b+1.所以,在第一個ptine('%d',a)中a=a+b=10+20=30,第二個printf('%d',a)中a=a+c=5+20=25,即輸出3025。

25.*t*t解析:程序中,(a+n)代表字符串s最后一個字符后的,'\\0',根據(jù)題意,'\\0'所在位置應(yīng)該賦值為字符串t的第一個字符,字符中t的其他字符根據(jù)循環(huán),依次賦值到,所指字符串的尾部,所以[14]應(yīng)填:*t。

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

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

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

29.134122312isthe4thnumber.

30.3535解析:在主函數(shù)中通過定義和賦初值使p和q分別指向了x和y,執(zhí)行函數(shù)調(diào)用“swap(p,q)”,把p和q中的地址值傳給了形參指針變量a和b,a和b分別指向7實參x和y。在函數(shù)swap()中交換了指針變量a和b的值,并沒有交換a和b指向的實參的值,所以函數(shù)調(diào)用返回后x和y依舊是原來的值。

31.相鄰相鄰

32.IMS(informationManagementSystem)

33.圖標(biāo)或按鈕圖標(biāo)或按鈕

34.數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)解析:數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫的管理機(jī)構(gòu),它是一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護(hù)、控制及保護(hù)和數(shù)據(jù)服務(wù)等。

35.1000001010000010解析:運(yùn)算“&”的規(guī)則是只有當(dāng)兩個相應(yīng)的二進(jìn)制位都為1時,該位的結(jié)果才為1。要保留第2、8位,只要將其與二進(jìn)制數(shù)10000010相與。

36.(y%2)==0(y%2)==0解析:因符合偶數(shù)的條件是對2取余為0,所以要描述y是偶數(shù)的表達(dá)式是(y%2)==0。

37.自盒自盒解析:自盒測試法即結(jié)構(gòu)測試,它與程序內(nèi)部結(jié)構(gòu)相關(guān),要利用程序結(jié)構(gòu)的實現(xiàn)細(xì)節(jié)設(shè)計測試實例。白盒測試法主要有邏輯覆蓋、基本路徑測試等。

38.1212解析:本題首先通過第一個for語句把0~9(包含0和9)間的整數(shù)依次賦值給數(shù)組arr,第二個for語句用于實現(xiàn)將滿足條件的數(shù)組元素與對應(yīng)的下標(biāo)值求和并累加,并用變量k保存。

39.共享性共享性解析:數(shù)據(jù)庫技術(shù)的主要特點有以下幾個方面:數(shù)據(jù)的集成性,數(shù)據(jù)的高共享性與低冗余性,數(shù)據(jù)的獨立性,數(shù)據(jù)統(tǒng)一管理與控制。

40.m<10n%4!=0

41.B數(shù)據(jù)庫管理系統(tǒng)DBMS是數(shù)據(jù)庫系統(tǒng)的核心。DBMS是負(fù)責(zé)數(shù)據(jù)庫的建立、使用和維護(hù)的軟件。DBMS建立在操作系統(tǒng)之上,實施對數(shù)據(jù)庫的統(tǒng)一管理和控制。用戶使用的各種數(shù)據(jù)庫命令以及應(yīng)用程序的執(zhí)行,最終都必須通過DBMS。另外,DBMS還承擔(dān)著數(shù)據(jù)庫的安全保護(hù)工作,按照DBA所規(guī)定的要求,保證數(shù)據(jù)庫的完整性和安全性。

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

43.BB.【解析】棧是一種特殊的線性表,其插入和刪除運(yùn)算都只在線性表的一端進(jìn)行,而另一端是封閉的。進(jìn)行插入、刪除的一端稱為棧頂,封閉的一端稱為棧底。棧頂元索是最后被插入的元素,也是最后被刪除的元素。棧是按先進(jìn)后出的原則組織數(shù)據(jù)的。

【知識拓展】“?!钡男问饺缡謽尩膹椣?,最后壓入的子彈總是最先被彈出,而最先壓人的子彈最后才被彈出,也就是“先進(jìn)后出”。

44.D解析:在定義結(jié)構(gòu)體變量時,不能只用結(jié)構(gòu)體名example或關(guān)鍵字struct進(jìn)行定義,必需要用結(jié)構(gòu)缽類型名structexample定義,在引用結(jié)構(gòu)體成員變量時,需要用結(jié)構(gòu)體變量名進(jìn)行引用,所以選D。

45.B解析:主函數(shù)中先定義了一個整型變量a,一個字符變量c并賦初值10,一個浮點型變量f并賦初值100.00和一個double型x,接著執(zhí)行a=f/=c*=(x=6.5),該語句從右向左計算,先把6.5賦值給x(該括號表達(dá)式的值也為6.5),此時x的值變?yōu)?.5,然后執(zhí)行c*=(x=6.5)相當(dāng)于執(zhí)行c=c*(x=6.5),此時c的值為65,接著向左執(zhí)行f/c*=(x=6.5),語句相當(dāng)于執(zhí)行f=f/c,所以f的值為100/65≈1.538。接著向最右邊執(zhí)行“a=f”,由于a是整型變量,所以a最后去f的整數(shù)部分為1。程序最后輸出的a、c、f和x的值(f和x只保留小數(shù)點后面1位)分別為1、65、1.5、6.5。所以,4個選項中選項B符合題意。

46.C解析:“p”是指針變量,指向一個地址:“*p”,為p指針?biāo)赶虻刂返膬?nèi)容。

47.B解析:scanf函數(shù)中格式控制后面是地址表列,不能用變量名。數(shù)組名c代表數(shù)組在內(nèi)存的首地址,&b代表變量b的首地址,選項B)正確。

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

49.A解析:本題考查的是函數(shù)的綜合應(yīng)用.程序開頭定義了兩個函數(shù)f1()、f2(),每個函數(shù)都只有一條語句,在f1()中是“如果x>y則返回x否則返回廣,即返回兩個參數(shù)中較大的那一個,C()則正好相反,返回較小的.主函數(shù)的語句e=f2(f1(a,b),f1(c,d));是使用兩次調(diào)用n()函數(shù)的返回值作為f2()函數(shù)的參數(shù),并將n()的返回值賦給變量e.a(chǎn)、b中較大的數(shù)是a為4,c.d中較大的數(shù)是c為5,4和5中較小的數(shù)是4,所以結(jié)果e=4.同理可以推出f=3,那么g=a+b+c+d-e-f=4+3+5+2-4-3=7。所以,4個選項中選項A符合題意。

50.A解析:條件表達(dá)式的形式如下:表達(dá)式1?表達(dá)式2:表達(dá)式3,所以本題條件表達(dá)式a<b?a:c<d?c:d應(yīng)該理解為a<b?a:(c<d?c:d),首先求出條件表達(dá)式c<d?c:d的值等于2,再求條件表達(dá)式a<b?a:2的值,由于a-1<b-4成立,所以上述條件表達(dá)式的值等于1。

51.C解析:總體設(shè)計過程通常由兩個主要階段組成:系統(tǒng)設(shè)計,確定系統(tǒng)的具體實現(xiàn)方案;結(jié)構(gòu)設(shè)計,確定軟件,結(jié)構(gòu)。為確定軟件結(jié)構(gòu),首先需要從實現(xiàn)角度把復(fù)雜的功能進(jìn)一步分解。分析員結(jié)合算法描述仔細(xì)分析數(shù)據(jù)流圖中的每個處理,如果一個處理的功能過分復(fù)雜,必須把它的功能適當(dāng)?shù)胤纸獬梢幌盗斜容^簡單的功能。

52.C解析:本題考查指向數(shù)組的指針變量的聲明。這里的p表示一個指向數(shù)組的指針;*p表示指針p指向地址的內(nèi)容。

53.C解析:隊列是指允許在一端進(jìn)行插入、而在另一端進(jìn)行刪除的線性表,允許插入的一端稱為隊尾,允許刪除的一端稱為隊頭,選項A和選項B錯誤。在隊列中,最先插入的元素將最先能夠被刪除,反之,最后插入的元素將最后才能被刪除,所以,隊列又稱為“先進(jìn)先出”或“后進(jìn)后出”的線性表,它體現(xiàn)了“先來先服務(wù)”的原則,選項C正確,選項D錯誤。

54.D解析:sizeof函數(shù)計算已知類型所占的字節(jié)數(shù)。結(jié)構(gòu)體變量所占內(nèi)存長度是各成員占的內(nèi)存長度之和。指針變量占2個字節(jié),所以cat和*next各占2個字節(jié);double型占8個字節(jié),故too共占12個字節(jié)。

55.B解析:本題考查函數(shù)調(diào)用時變量的作用域。形參是局部變量,函數(shù)調(diào)用完就失去意義了,所以在同一個C程序文件中,不同的函數(shù)體中可以使用名字相同的局部變量。注意:在函數(shù)之外定義的變量稱為外部變量,外部變量是全局變量,全局變量可以為本文件中其他函數(shù)所共用。它的有效范圍為:從定義變量的位置開始到本源文件結(jié)束.

56.A解析:以下幾種算法的時間復(fù)雜度分別為:冒泡排序(n2);選擇排序(n2);快速排序(nlog2n);歸并排序(nlog2n)。當(dāng)排序元素序列基本有序的情況下,冒泡排序的交換次數(shù)為0,只是順序掃描數(shù)據(jù)而已,所以其效率是最高的。

57.D解析:break語句只能在循環(huán)體和switch語句體內(nèi)使用,當(dāng)break出現(xiàn)在switch語句體內(nèi)時,其作用只是跳出該switch語句體。當(dāng)break出現(xiàn)在循環(huán)體中,但不在switch語句體內(nèi)時,則在執(zhí)行break后,跳出本層循環(huán)體.而continue語句的作用是結(jié)束本次循環(huán),即跳過本次循環(huán)中余下尚未執(zhí)行的語句,接著再一次進(jìn)行循環(huán)的條件判定。本程序中,變量i的初始值為0,判斷while后面括號內(nèi)表達(dá)式的值為真,執(zhí)行循環(huán)體內(nèi)的if語句,判斷if后面括號內(nèi)表達(dá)式的值為真,執(zhí)行“continue;”語句.因continue的作用是結(jié)束本次循環(huán),即跳過本次循環(huán)體中余下尚未執(zhí)行的語句,接著再一次進(jìn)行循環(huán)的條件判斷,所以i的值未發(fā)生變化,循環(huán)條件仍然為真,if語句也仍然成立,因此循環(huán)將無止境地進(jìn)行下去。所以,4個選項中D為所選。

58.C解析:在“||”運(yùn)算中當(dāng)其左邊的表達(dá)式為真,右邊的表達(dá)式將不再執(zhí)行。主函數(shù)中,“||”左邊的表達(dá)式k=(n=b>A),“2>1”為真,所以n被賦值為1,接著k被賦值1,即“||”運(yùn)算符左邊表達(dá)式為真,此時不再計算“||”右邊的表達(dá)式,因此m的值沒有被改變?nèi)詾?,最后的輸出結(jié)果1,0。

59.B解析:本題主要考查了一維數(shù)組指針的賦值和用指針引用數(shù)組元素進(jìn)行運(yùn)算。選項B)中p2為指向int型變量的指針。而k為int型變量,不能將int型變量直接賦值給指向int型變量的指針,所以選項B)錯誤。

60.CC?!窘馕觥縎QL語言的全稱為StructuredQueryLanguage,它是一種介于關(guān)系代數(shù)與關(guān)系演算之間的結(jié)構(gòu)化查詢語言,是一種面向數(shù)據(jù)庫的通用數(shù)據(jù)處理語言規(guī)范。它包含數(shù)據(jù)查詢語言、數(shù)據(jù)操縱語言、數(shù)據(jù)定義語言和數(shù)據(jù)控制語言4個部分。

61.A軟件設(shè)計階段的主要任務(wù)包括丙個:一是進(jìn)行軟件系統(tǒng)的可行性分析,確定軟件系統(tǒng)的建設(shè)是否值得,能否建成。二是進(jìn)行軟件的系統(tǒng)分析,了解用戶的需求,定義應(yīng)用功能,詳細(xì)估算開發(fā)成本和開發(fā)周期。

62.D

63.CC語言的語法規(guī)定,字母e(E)之前必須有數(shù)字,且e(E)后面的指數(shù)必須是整數(shù),而選項c)中,e(E)后面的指數(shù)是小數(shù),所以不合法。

64.D

65.A第一個嵌套的for循環(huán)功能將對角線上的數(shù)據(jù)從大到小排序,其他數(shù)據(jù)不變,排序完成后,a[0][0]值為6,輸出第一行為6432,答案選擇A)

66.C本題考查函數(shù)在函數(shù)調(diào)用時參數(shù)的傳遞形式,形參與實參參數(shù)個數(shù)類型要一致。

67.C數(shù)據(jù)庫系統(tǒng)的三級模式是概念模式、外模式和內(nèi)模式。概念模式是數(shù)據(jù)庫系統(tǒng)中全局?jǐn)?shù)據(jù)邏輯結(jié)構(gòu)的描述,是全體用戶公共數(shù)據(jù)視圖。外模式也稱子模式或用戶模式,它是用戶的數(shù)據(jù)視圖,給出了每個用戶的局部數(shù)據(jù)描述,所以選擇C。內(nèi)模式又稱物理模式,它給出了數(shù)據(jù)庫物理存儲結(jié)構(gòu)與物理存取方法。

68.D關(guān)系T中的元組是關(guān)系R中有面關(guān)系s中沒有的元組的集合,即從關(guān)系R中除去與關(guān)系s中相同元組后得到的關(guān)系T。所以做的是差運(yùn)算。

69.B

70.A在本題中,程序首先定義了兩個整型變量x和y,然后通過鍵盤輸入的方式給這變量x賦初值。執(zhí)行語句y=x>12?x+10:x-12;,該題語句是將x>12?x+10:x-12的運(yùn)算結(jié)果保存到變量y中,由于從鍵盤輸入的值是12,那么變量x的值為12,此時x>12的運(yùn)算結(jié)果為假,則執(zhí)行x-12部分,那么計算后的結(jié)果為0,并將這個結(jié)果賦值給變量y,最后輸出變量y的值,因此答案選A。

71.D前序遍歷:ABDECF\n中序:DBEAFC\n后序:DEBFCA

72.C

73.BSEEK_SET代表文件的開始,SEEK_END代表文件末尾,SEEK_CUR代表文件當(dāng)前位置。

74.DA項不成立,因為f=0,乘以任何數(shù)都為0,B項的判斷條件錯誤,i<n,計算的結(jié)果為(n-1)!,C項也不對,計算的是一個無限循環(huán),n*(n+1)*(n+2)…….

75.C

76.A涵數(shù)將a[0]自增5次,所以答案選擇A)。

77.Areturni吾句結(jié)束函數(shù).即使函數(shù)中有多個retum語句,也只會執(zhí)行一個。所以選項A)錯誤。

78.A循環(huán)的作用是求行下標(biāo)從1到2列下標(biāo)從0到i的元素之和,即s=a[1][0]+a[1][1]+a[2][0]+a[2][1]+a[2][2]=3+4+5+6+0=18。

79.D本題考查continue的用法,continue語句的作用是結(jié)束本次循環(huán),直接進(jìn)行下次循環(huán)。所以在程序中,只有當(dāng)a=10時,才退出循環(huán),故選擇D選項。

80.D本題考查逗號運(yùn)算符的運(yùn)算方式,逗號運(yùn)算符的作用是將若干表達(dá)式連接起來,它的優(yōu)先級別在所有運(yùn)算符中是最低的,結(jié)合方向為”自左至右”。A)選項和c)選項的結(jié)果是一樣的,可展開為:x=x*(x+1)=3*4=12;B)選項中先執(zhí)行x++,因為++運(yùn)算符有自加功能,逗號之前執(zhí)行后x的值為4,逗號后的值就是整個表達(dá)式的值,即12;D)選項逗號之前并未給x賦值,所以表達(dá)式的值就是x+=6的值,即9。因此,本題答案為D)。

81.\n\t(1)錯誤:while(i>j)

\n正確:while(i<j)

\n(2)錯誤:*str=0;

\n正確:*str=\0;

\n【解析】由函數(shù)proc可知,變量i和j分別存放的是字符串str前面和后面第i個字符的位置,當(dāng)i<j時,兩個位置的字符交換。因此,“while(i>j)”應(yīng)改為“while(i<j)”;交叉合并完成后,要為新的字符串添加結(jié)束符,因此,“*str=0;”應(yīng)改為“*str=\0;”,\n

82.main

\n{inta,b,c;

\nprintf(“請輸入三個整數(shù):”);scanf(“%d,%d,%d”,&a,&b,&c);

\nif(aif(belseprintf(“max=%d\\n”,b);

\nelseif(aelseprintf(“max=%d\\n”,a);}

\n2022年四川省宜賓市全國計算機(jī)等級考試C語言程序設(shè)計模擬考試(含答案)學(xué)校:________班級:________姓名:________考號:________

一、單選題(20題)1.設(shè)變量已正確定義并賦值,下列表達(dá)式中正確的是()。

A.x=y+z+5,++yB.int(15.8%5)C.x=y*5=x+zD.x=25%5.0

2.表達(dá)式:(int)((double)9/2)-(9)%2.的值是A.0B.3C.4D.5

3.有以下程序A.6B.3C.8D.12

4.若有定義語句:doublea,*p=&a;,以下敘述中錯誤的是()。

A.定義語句中的*號是一個間址運(yùn)算符

B.定義語句中的*號只是一個說明符

C.定義語句中的P只能存放double類型變量的地址

D.定義語句中,*p=&n把變量a的地址作為初值賦給指針變量P

5.C語言可執(zhí)行程序的開始執(zhí)行點是()。

A.包含文件中的第一個函數(shù)B.程序中第一個函數(shù)C.程序中的main()函數(shù)D.程序中第一條語句

6.在如下結(jié)構(gòu)定義中,不正確的是()。A.

B.

C.

D.

7.數(shù)據(jù)在計算機(jī)存儲器內(nèi)表示時,如果元素在存儲器中的相對位置能反映數(shù)據(jù)元素之間的邏輯關(guān)系,則稱這種存儲結(jié)構(gòu)為()。

A.存儲結(jié)構(gòu)B.邏輯結(jié)構(gòu)C.順序存儲結(jié)構(gòu)D.鏈?zhǔn)酱鎯Y(jié)構(gòu)

8.在執(zhí)行完下列的C語句段之后,則B的值是()。Chara="A";intb;B=((34&&56)&&(a<'b'));

A.int類型B.float類型C.void類型D.函數(shù)無類型說明,定義有錯

9.在嵌套使用if語句時,C語言規(guī)定else總是A.和之前與其具有相同縮進(jìn)位置的if配對

B.和之前與其最近的if配對

C.和之前與其最近的且不帶else的if配對

D.和之前的第一個if配對

10.有以下程序:#includeMain(){Intx=1,y=0;if(!x)y++;elseif(x==0)if(x)y+=2;Elsey+=3;print("%d\n",y);}程序運(yùn)行后的輸出結(jié)果是()。A.2B.1C.0D.3

11.以下合法的字符型常量是A.B.C.D.

12.下列程序的輸出結(jié)果是()。voidfun(int*X,inty){printf("%d%d",*x,*y);*x=3;*y=1;}main{intx=1,y=2;fun(&y,&x);printf("%d%d",x,y);}A.2143B.1212C.1234D.2112

13.下列關(guān)于C語言數(shù)據(jù)文件的敘述中正確的是A.文件由ASCII碼字符序列組成,C語言只能讀寫文本文件

B.文件由二進(jìn)制數(shù)據(jù)序列組成,C語言只能讀寫二進(jìn)制文件

C.文件由記錄序列組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件

D.文件由數(shù)據(jù)流形式組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件

14.有定義語句:inta=1,b=2,c=3,x;,則以下選項中各程序段執(zhí)行后,x的值不為3的是A.if(c<a)x=1;elseif(b<a)x=2;elsex=3;

B.if(a<3)x=3;elseif(b<a)x=2;elsex=1;

C.if(a<3)x=3;if(a<2)x=2;if(a<1)x=1;

D.if(a<b)x=b;if(b<c)x=c;if(c<a)x=a;

15.下列敘述中錯誤的是()。A.在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致,

B.數(shù)據(jù)庫技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問題

C.數(shù)據(jù)庫設(shè)計是指在已有數(shù)據(jù)庫管理系統(tǒng)的基礎(chǔ)上建立數(shù)據(jù)庫

D.數(shù)據(jù)庫系統(tǒng)需要操作系統(tǒng)的支持

16.以下敘述中正確的是()

A.C程序由函數(shù)和過程組成B.C程序由主函數(shù)組成C.C程序由函數(shù)組成D.C程序中,主函數(shù)必須放在其他函數(shù)之前

17.已知:intx,y;doublez;則以下語句中錯誤的函數(shù)調(diào)用是()。A.A.scanf("%d,%1x,%1e",&x,&y,&z);

B.scanf("%1d*%d&1f",&x,&y,&z);

C.scanf("%x%*d%o",&x,&y);

D.scanf("%x%o%6.2f",&x,&y,&z);

18.有以下程序:main{intnum[4][4]={1,2,3,4},{5,6,7,8},{9,10,11,12,},{13,14,15,16}},i,j;for(i=0;i<4;i++){for(j=0;j<i;j++)printf("%4c",);for(j=________;J<4;j++)printf("%4d",num[i][j]);printf("\n");}}若要按以下形式輸出數(shù)組右上半三角1234678111216則在程序下劃線處應(yīng)填入的是()。A.i-1B.iC.i+1D.4一i

19.對于棧操作數(shù)據(jù)的原則是()。

A.先進(jìn)先出B.后進(jìn)先出C.后進(jìn)后出D.不分順序

20.已知各變量的類型說明如下則以下不符合C語言語法的表達(dá)式是()。A.x%(-3)B.w+=-2C.k=(a=2,b=3,a+b)D.a+=a-=(b=4)*(a=3)

二、2.填空題(20題)21.以下程序運(yùn)行后的輸出結(jié)果是______。

fun(intx)

{if(x/2>0)fun(x/2);

printf("%d",x);

}

main()

{fun(6);}

22.函數(shù)YangHui的功能是把楊輝三角形的數(shù)據(jù)賦給二維數(shù)組的下半三角,形式如下:

1

11

121

1331

14641

其構(gòu)成規(guī)律是:

①第0列元素和主對角線元素均為1。

②其余元素為其左上方和正上方元素之和。

③數(shù)據(jù)的個數(shù)每行遞增1。

請將程序補(bǔ)充完整。

#defineN6

voidyanghui(intx[N][N])

{inti,j;

x[O][0]=1;

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

{x[i][0]=【】=1;

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

x[i][j]=【】;

}

)

23.函數(shù)調(diào)用語句:“fgets(buf,n,fp);”從中指向的文件中讀入n個字符放到buf字符數(shù)組中,函數(shù)返回值為______。

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

inta=5;

fun(intB)

{staticinta=10;

a+=b++;

printf("%d",A);

}

main()

{intc=20;

fun(C),

a+=C++;

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

}

25.以下函數(shù)sstrcat的功能是實現(xiàn)字符串的連接,即將t所指字符串復(fù)制到s所指字符串的尾部。例如:,所指字符串為abed,t所指字符串為efgh,調(diào)用函數(shù)sstrcat后s所指字符串為abcdefgh。請?zhí)羁铡?/p>

#inehde<stdio.h>

#include<string.h>

voidsstuat(char*9,char*t)

{intn;

n=strlen(s);

while(*(s+n)=【】){s++;t++;}

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

structdate

{intday;

intmouth;

intyear;

union{intshare1;

floatshare2;

}share;

}a;

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

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

29.當(dāng)先后輸入1、3、4、12、23時,屏幕上出現(xiàn)【】;再輸入12時,則屏幕上出現(xiàn)【】。

#include<stdio.h>

#defineN5

main()

{inti,j,number,top,bott,min,loca,a[N],flag;

charc;

printf("Pleaseinput5numbers(a[i]>a[i-1])\n");

scanf("%d",&a[0]);

i=1;

while(i<N)

{scanf("%d",&a[i]);

if(a[i]>=a[i-1))i++;

}

printf("\n");

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

printf("\n");

flag=1;

while(flag)

{scanf("%d",&number);

loca=0;

top=0;

bott=N-1;

if((number<a[0])||(number>a[N-1]))loca=-1;

while((loca==0)&&(top<=bott))

{min=(bott+top)/2;

if(number==a[min])

{loca=min;

printf("%disthe%dthnumber\n",number,loca+1);

}

elseif(number<a[min])bott=min-1;

elsetop=min+1;

}

if(loca==0||loca==-1)printf("%disnotinthelist.\n",number);

c=getchar();

if(c=='N'||c=='n')flag=0;

}

}

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

voidswap(int*a,int*B)

{

int*t;

t=a;a=b;b=t;

}

main()

{

intx=3,y=5,*p=&x,*q=&y;

swap(p,q);

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

}

31.順序存儲方法是把邏輯上相鄰的結(jié)點存儲在物理位置______的存儲單元中。

32.層次模型的典型代表是IBM公司的【】數(shù)據(jù)庫管理系統(tǒng)。

33.在Windows環(huán)境下,可以將窗口最小化為【】。

34.數(shù)據(jù)庫系統(tǒng)中實現(xiàn)各種數(shù)據(jù)管理功能的核心軟件是______。

35.設(shè)有chara,b;,若要通過a&b運(yùn)算屏蔽掉a中的其他位,只保留第2位和第8位(右起為第1位),則b的二進(jìn)制是【】。

36.設(shè)y為血型變量,請寫出描述“y是偶數(shù)”的表達(dá)式______。

37.軟件測試分為白箱(盒)測試和黑箱(盒)測試。基本路徑測試方法屬于()測試。

38.下面程序的輸出是【】。

main()

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

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

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

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

}

39.數(shù)據(jù)庫技術(shù)的主要特點為數(shù)據(jù)的集成性、數(shù)據(jù)的高【】和低冗余性、數(shù)據(jù)獨立性和數(shù)據(jù)統(tǒng)一管理與控。

40.下面程序是計算100以內(nèi)能被4整除且個位數(shù)為4的所有整數(shù),請?zhí)羁铡?/p>

main()

{intm,n;

for(m=0;【】;m++)

{n=m*10+4;

If(【】)continue;

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

三、1.選擇題(20題)41.數(shù)據(jù)庫系統(tǒng)的核心是()A.數(shù)據(jù)模型B.數(shù)據(jù)庫管理系統(tǒng)C.軟件工具D.數(shù)據(jù)庫

42.運(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

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

A.隊列B.棧C.雙向鏈表D.二叉樹

44.若有以下結(jié)構(gòu)體定義,則______是正確的引用或定義。structexample{intx;inty;}v1;

A.example.x=10

B.examplev2.x=10

C.structv2;v2.x=10

D.structexamplev2={10};

45.有以下程序:main(){inta;charc=10;floatf=100.0;doublex;a=f/=c*=(x=6.5);printf("%d%d%3.1f%3.1f\n",a,c,f,x);}程序運(yùn)行后的輸出結(jié)果是______。

A.16516.5B.1651.56.5C.1651.06.5D.2651.56.5

46.若有定義floata=25,b,*p=&b;,則下列對賦值語句*p=a;和p=&a;的正確解釋為()。

A.兩個語句都是將變量a的值賦予變量p

B.*p=a是使p指向變量a,而p=&a是將變量a的值賦予變量指針p

C.*p=a是將變量a的值賦予變量b,而p=&a是使p指向變量a

D.兩個語句都是使p指向變量a

47.有定義語句:intb;charc[10];則正確的輸入語句是()。

A.seanf("%d%s",&b,&c);

B.scanf("%d%s",&b,c);

C.seanf("%d%s",b,c);

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

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

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

49.有以下程序intf1[y){returnx>y?x:y;}intf2(intx,inty){returrnx>y?y:x;}main(){inta=4,b=3,c=5,d=2,e,f,g;e=f2(f1(a,b},f1(c,d));f=f1(f2(a,b),f2(c,d);;g=a+b+c+d-e-f;printf("%d,%d,%d\n",c,f,g);}程序運(yùn)行后的輸出結(jié)果是

A.4,3,7B.3,4,7C.5,2,7D.2,5,7

50.若整型變量a、b、c、d中的值依次為1、4、3、2。則條件表達(dá)式a<b?a:c<d?c:d的值是______。A.1B.2C.3D.4

51.在結(jié)構(gòu)化方法中,軟件功能分解屬于軟件開發(fā)中的______階段。

A.詳細(xì)設(shè)計B.需求分析C.總體設(shè)計D.編程調(diào)試

52.設(shè)有變量說明int(*p)[m],其中的標(biāo)識符p是()。

A.m個指向整型變量的指針

B.指向m個整型變量的指針

C.一個指向具有m個整型元素的一維數(shù)組的指針

D.具有m個指針元素的一維指針數(shù)組,每個元素都指向整型變量

53.下列關(guān)于隊列的敘述中正確的是()。

A.在隊列中只能插入數(shù)據(jù)B.在隊列小只能刪除數(shù)據(jù)C.隊列是先進(jìn)先出的線性表D.隊列是先進(jìn)后出的線性表

54.設(shè)有以下定義和語句,輸出的結(jié)果是(用small模式編譯,指針變量占2個字節(jié))______。structdate{long*cat;structdate*next;doubledog;}too;printf("%d",sizeof(too));

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

55.下列敘述中,錯誤的是()。

A.在同一C程序文件中,不同函數(shù)中可以使用名字相同的變量

B.在main()函數(shù)體內(nèi)定義的變量是全局變量

C.形參是局部變量,函數(shù)調(diào)用完成即失去意義

D.若同一文件中全局和局部變量同名,則全局變量在局部變量作用范圍內(nèi)不起作用

56.在待排序的元素序列基本有序的前提下,效率最高的排序方法是()。A.A.冒泡排序B.選擇排序C.快速排序D.歸并排序

57.以下程序中,while循環(huán)的循環(huán)次數(shù)是main(){inti=0;while(i<10){if(i<1)continue;if(i==5)break;i++;}}

A.1B.10C.6D.死循環(huán),不能確定次數(shù)

58.有以下程序main(){inta=1,b=2,m=0,n=0,k;k=(n=b>a)‖(m=a<b);printf("%d,%d\n",k,m);}程序運(yùn)行后的輸出結(jié)果是

A.0,0B.0,1C.1,0D.1,1

59.設(shè)p1和p2是指向一個int型一維數(shù)組的指針變量,k為int型變量,則不能正確執(zhí)行的語句是

A.k=*p1+*p2B.p2=k;C.p1=p2;D.k=*p1*(*p2);

60.SQL語言又稱為______。

A.結(jié)構(gòu)化定義語言B.結(jié)構(gòu)化控制語言C.結(jié)構(gòu)化查詢語言D.結(jié)構(gòu)化操縱語言

四、選擇題(20題)61.下面不屬于軟件設(shè)計階段任務(wù)的是()。

A.制訂軟件確認(rèn)測試計劃B.數(shù)據(jù)庫設(shè)計C.軟件總體設(shè)計D.算法設(shè)計

62.

63.以下選項中,不能作為合法常量的是()。

A.1.234e05B.1.234e+5C.1.234e0.5D.1.234e0

64.

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

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

66.有下列函數(shù)定義:intfun(doublea,doubleb){returna*b;}若下列選項中所用變量都已經(jīng)正確定義并賦值,錯誤的函數(shù)調(diào)用是()。A.if(fun(x,y)){……}

B.z=fun(fun(x,y),fun(x,y));

C.z=fun(fun(X,y)x,y);

D.fun(x,y);

67.數(shù)據(jù)庫設(shè)計中反映用戶對數(shù)據(jù)要求的模式是()。

A.內(nèi)模式B.概念模式C.外模式D.設(shè)計模式

68.有三個關(guān)系R、S和T如下:

則由關(guān)系R和s得到關(guān)系T的操作是()。

A.自然連接B.并C.交D.差

69.

70.有以下程序

main()

{intx,y;

scanf("%d",&x);

y=x>12?x+10:x-12;

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

}

若運(yùn)行時給變量x輸入12,則以下程序的運(yùn)行結(jié)果是

A.0B.22

C.12D.10

71.設(shè)有下列二叉樹:

對此二叉樹中序遍歷的結(jié)果為()。

A.ACBDEFB.DEBFCAC.ABDECFD.DBEAFC

72.

73.函數(shù)fseek(pf,OL,SEEKEND)中的SEEKENE代表的起始點是()。

A.文件開始B.文件末尾C.文件當(dāng)前位置D.以上都不對

74.設(shè)變量已正確定義,則以下能正確計算f=n!的程序段是()。

A)f=0;B)f=1;

for(i=1;i<=n;i++)f*=i;for(i=1;i<n;i++)f*=i;

C)f=1;D)f=1;

for(i=n;i>1;i++)f*=i;for(i=n;i>=2;i--)f*=i;

75.

76.有以下程序

77.以下敘述中錯誤的是()。A.用戶定義的函數(shù)中可以有多個return語

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論