2021年內(nèi)蒙古自治區(qū)巴彥淖爾市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)_第1頁(yè)
2021年內(nèi)蒙古自治區(qū)巴彥淖爾市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)_第2頁(yè)
2021年內(nèi)蒙古自治區(qū)巴彥淖爾市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)_第3頁(yè)
2021年內(nèi)蒙古自治區(qū)巴彥淖爾市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)_第4頁(yè)
2021年內(nèi)蒙古自治區(qū)巴彥淖爾市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩101頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2021年內(nèi)蒙古自治區(qū)巴彥淖爾市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.允許對(duì)隊(duì)列進(jìn)行的操作有()。

A.對(duì)隊(duì)列中的元素排序B.取出最近進(jìn)隊(duì)的元素C.在隊(duì)頭元素之前插入元素D.刪除隊(duì)頭元素

2.在一個(gè)被調(diào)用函數(shù)中,關(guān)于return語句使用的描述,()是錯(cuò)誤的。

A.被調(diào)用函數(shù)中可以不用return語句

B.被調(diào)用函數(shù)中可以使用多個(gè)return語句

C.被調(diào)用函數(shù)中,如果有返回值,就一定要有return語句

D.被調(diào)用函數(shù)中,一個(gè)return語句可以返回多個(gè)值給調(diào)用函數(shù)

3.設(shè)x=011050,則x=x&01252的值是()。A.0000001000101000

B.1111110100011001

C.0000001011100010

D.1100000000101000

4.以下對(duì)C語言函數(shù)的有關(guān)描述中,正確的是

A.在C語言中調(diào)用函數(shù)時(shí),只能把實(shí)參的值傳給形參,形參的值不能傳送給實(shí)參

B.C函數(shù)既可以嵌套定義又可以遞歸調(diào)用

C.函數(shù)必須有返回值,否則不能使用函數(shù)

D.函數(shù)必須有返回值,返回值類型不定

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

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

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

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

6.以下與數(shù)學(xué)表達(dá)式“0<x<5且x≠2”不等價(jià)的C語言邏輯表達(dá)式是()。

A.(0<x<5)&&(x!=2)

B.0<x&&x<5&&x!=2

C.x>0&&x<5&&x!=2

D.(x>0&&x<2)||(x>2&&x<5)

7.有以下程序:#include<stdlo.h>main(){FILE*fp;inti,k,n;fp=fopen("data.dat","w+")for(i=1;i<6;i++){fprintf(fp."%d",i);if(i%3==0)fprintf(fp,"\n");}rewind(fp);fscanf(fp."%d%d",&k,&n);printf("%d%d\n",k,n);fclose(fp);

A.00B.12345C.14D.1

8.設(shè)有定義“doublea;chard;floatb;”,若想把1.2賦給變量a、字符‘k’賦給變量d、3.4賦給變量b,程序運(yùn)行時(shí)通過鍵盤輸入1.2k3.4并按<Enter>鍵,則以下正確的讀入語句是()。A.scanf(“%lf%c%f”,&a,&d,&b);

B.scanf(“%lf%c%f”,&a,&d,&b);

C.scanf(“%f%c%f”,&a,&d,&b);

D.scanf(“%f%c%f”,&a,&d,&b);

9.有以下程序:#include<stdio.h>main(){char*s="[2]34";intk=0,a=0;whil(s[k+1]!=\0){k++;if(k%2=o){a=a+(s[k]-0+1);continue;}a=a+(s[k]-0);printf("k=%da=%d\n",k,a);}程序運(yùn)行后的輸出結(jié)果是()。A.k=6a=11B.k=3a=14C.k=4a=12D.k=5a=15

10.下列選項(xiàng)中,當(dāng)x為大于1的奇數(shù)時(shí),值為0的表達(dá)式是()。

A.x%2==1B.x/2C.x%2!=0D.x%2==0

11.在非線性結(jié)構(gòu)中,每個(gè)結(jié)點(diǎn)()。

A.無直接前趨

B.只有一個(gè)直接前趨和個(gè)數(shù)不受限制的直接后繼

C.只有一個(gè)直接前驅(qū)和后繼

D.有個(gè)數(shù)不受限制的直接前驅(qū)和后繼

12.對(duì)長(zhǎng)度為n的無序線性表進(jìn)行順序查找,則查找成功、不成功時(shí)的平均數(shù)據(jù)比較次數(shù)分別為()。

A.n/2,nB.n+1/2,n-1C.n+1/2,nD.n-1/2,n-1

13.以下選項(xiàng)中能用作數(shù)據(jù)常量的是()。

A.115LB.0118C.1.5e1.5D.o115

14.有以下程序段charch;intk;ch='a';k=12;printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);已知字符a的ASCII十進(jìn)制代碼為97,則執(zhí)行上述程序段后輸出結(jié)果是()。A.因變量類型與格式描述符的類型不匹配輸出無定值

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

C.a,97,12k=12

D.a,97,k=12

15.

16.

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

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

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

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

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

18.

19.現(xiàn)有二叉搜索樹(BST)前序遍歷結(jié)果序列為abdefgc,中序遍歷結(jié)果序列為debgfac,請(qǐng)問后序遍歷結(jié)果序列為()

A.debgfaCB.edgfbcAC.edgbfcAD.degbfaC

20.有以下程序:#include<stdio.h>intadd_more(inta,intb){returna+b-2;}main(){inti;for(i=0;i<4;i++)printf(“%d”,add_more(i,2));}程序運(yùn)行后的輸出結(jié)果是()。

A.1234B.0123C.5678D.4321

二、2.填空題(20題)21.下面函數(shù)用來求兩個(gè)單精度數(shù)之和,并通過形參將結(jié)果傳回,請(qǐng)?zhí)羁铡?/p>

voidsub(floatx,floaty,【】z)

{【】=x+y;}

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

main()

{intx,a=1,b=2,c=3,d=4;

{intx,a=1,b=2,c=3,d=4;

x=(a<B)?a:b;x=(a<C)?x:C;x=(d>x)?x:d;

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

}

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

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

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

24.實(shí)體之間的聯(lián)系可以歸結(jié)為一對(duì)一的聯(lián)系,一對(duì)多的聯(lián)系與多對(duì)多的聯(lián)系。如果一個(gè)學(xué)校有許多學(xué)生,而一個(gè)學(xué)生只屬于一個(gè)學(xué)校,則實(shí)體集學(xué)校與實(shí)體集學(xué)生之間的聯(lián)系屬于【】的聯(lián)系。

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

26.軟件生命周期包括8個(gè)階段。為使各時(shí)期的任務(wù)更明確,又可以分為以下3個(gè)時(shí)期:軟件定義期、軟件開發(fā)期、軟件維護(hù)期。編碼和測(cè)試屬于【】期。

27.有以下程序

intfa(intx){returnx*x;}

intfb(intx){retumx*x*x;}

intf(int(*f1)(),int(*f2)(),intx)

{returnf2(x)-f1(x);}

main()

{inti;i=f(fa,fb,2);printf("%d\n",i);}

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

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

intf(inta[],intn)

{if(n>=1)returnf(a,n-1)+a[n-1];

elsereturn0;

}

main()

{intaa[5]=(1,2,3,4,5),s;

s=f(aa,5);printf("%d\n",s);

}

29.測(cè)試用例包括輸入值集和【】值集。

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

#include<stdio.h>

intf(ihta[],intn)

{if(n>=1)returnf(a,n-1)+a[n-1];

elsereturn0;

main()

intaa[5]={1,2,3,4,5},s;

s=f(aa,5);prinff("%d\n",s);

}

31.常用的黑箱測(cè)試有等價(jià)類劃分法、【】和錯(cuò)誤推測(cè)法3種。

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

intf(inta[],intn)

{if(n>1)returna[0]+f(&a[1],n-1);

elsereturna[0];

{

main()

{intaa[3]={1,2.3},s;

s=f(&aa[0],3);

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

}

33.設(shè)C語言中,一個(gè)int型數(shù)據(jù)在內(nèi)存中占兩個(gè)字節(jié),則int型數(shù)據(jù)的取值范圍為【】。

34.C語言用于結(jié)構(gòu)化程序設(shè)計(jì)的3種基本結(jié)構(gòu)是______、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。

35.有以下程序:

#include<stdio.h>

main()

{inta[]={1,2,3,4,5,6,7,8,9,10,11,12},*p=a+5,*q=NULL;

*q=*(p+5);

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

}

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

36.設(shè)有如下變量說明,則a+(int)((int)b+c)>>(int)(b-c)的值為【】。

inta=5;floatb=7.2,c=3.6;

37.軟件設(shè)計(jì)模塊化的目的是______。

38.在樹形結(jié)構(gòu)中,樹根結(jié)點(diǎn)沒有______。

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

}

40.若a是int型變量,則下列表達(dá)式的值為______。

(a=2*3,a*2),a+4

三、1.選擇題(20題)41.下面程序段的運(yùn)行結(jié)果是()。char*p="abcdefgh";p+=3;printf("%d\n",stfien(strcpy(p,"ABCD")));

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

42.函數(shù)fun的返回值是()。fun(char*a,char*b)intnum=0,n=0;while(*(a+num))!='\0')num++;while(b[n]){*(a+num)=b[n];num++;n++;)returnnum;}

A.字符串a(chǎn)的長(zhǎng)度B.字符串b的長(zhǎng)度C.字符串a(chǎn)和b的長(zhǎng)度之差D.字符串a(chǎn)和b的長(zhǎng)度之和

43.下列程序的輸出結(jié)果是()。#include<stdio.h>f(intA){intb=0;staticintc=4;a=c++;b++;return(A);}main(){inta=2,i,c;for(i=0;i<2;i++)c=f(a++);printf("%d\n",C);}

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

44.線性表的順序存儲(chǔ)結(jié)構(gòu)和線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)分別是______。

A.順序存取的存儲(chǔ)結(jié)構(gòu)、順序存取的存儲(chǔ)結(jié)構(gòu)

B.隨機(jī)存取的存儲(chǔ)結(jié)構(gòu)、順序存取的存儲(chǔ)結(jié)構(gòu)

C.隨機(jī)存取的存儲(chǔ)結(jié)構(gòu)、隨機(jī)存取的存儲(chǔ)結(jié)構(gòu)

D.任意存取的存儲(chǔ)結(jié)構(gòu)、任意存取的存儲(chǔ)結(jié)構(gòu)

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

A.goodabcB.abcdC.abcD.abcgood

46.執(zhí)行下面語句后的輸出結(jié)果為()inti=-1;if(i<=0)print{("****\n");elseprintf("%%%%\n");

A.****B.%%%%%C.%%%%cD.有語法錯(cuò)誤,不能正確執(zhí)行

47.設(shè)x=011050,則x=x&01252的值是()。

A.1000101000

B.1111110100011000

C.1011100010

D.1100000000101000

48.以下有4組用戶標(biāo)識(shí)符,其中合法的一組是______。

A.FOR

B.4d

C.f2G3

D.WORD-subDOIFvoidCaseSizeabcdefine

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

A.example.x=10

B.examplev2.x=10

C.example.x=10

D.structexamplev2={10};

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

A.在C語言中,函數(shù)中的自動(dòng)變量可以賦初值,每調(diào)用一次賦一次初值

B.在C語言中,在調(diào)用函數(shù)時(shí),實(shí)參和對(duì)應(yīng)形參在類型上只需賦值兼容

C.在C語言中,外部變量的隱含類型是自動(dòng)存儲(chǔ)類別

D.在C語言中,函數(shù)形參的存儲(chǔ)類型是自動(dòng)(auto)類型的變量

51.若運(yùn)行時(shí)輸入12,則以下程序的輸出結(jié)果是______。main(){intx,y;scanf("%d",&x);y=x>12?x+1:x-1;printf("%d\n",y);}

A.10B.11C.12D.13

52.下列能正確定義字符串的語句是()。

A.charstr[]={'\64'};

B.charstr="kx43";

C.charstr=";

D.charstr[]="\0";

53.若有以下程序段intm=0xabc,n=0xabc;m-=n;printf("%X\n".m);執(zhí)行后輸出結(jié)果是

A.0X0B.0x0C.0D.0XABC

54.在使用程序流程圖來表示算法時(shí),菱形用來表示_______。

A.輸入與輸出B.子程序C.判斷分支D.循環(huán)邊界

55.以下程序的輸出結(jié)果是()。#include<stdio.h>main(){inti,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1];for(i=0;i<4;i+=2)printf("%d",p[i]);}

A.52B.51C.53D.97

56.在下列#include命令中,正確的一條是()

A.#include[string.h]

B.#include{math.h}

C.#include(stdio.h)

D.#include<stdio.h>

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

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

58.下面是對(duì)宏定義的描述,不正確的是______。

A.宏不存在類型問題,宏名無類型,它的參數(shù)也無類型

B.宏替換不占用運(yùn)行時(shí)間

C.宏替換時(shí)先求出實(shí)參表達(dá)式的值,然后代入形參運(yùn)算求值

D.宏替換只不過是字符替代而已

59.排序方法中,將整個(gè)無序序列分割成若干小的子序列并分別進(jìn)行插入排序的方法,稱為______。

A.希爾排序B.冒泡排序C.插入排序D.選擇排序

60.分析下列程序:#include<stdio.h>main(){int*p1,*p2,*p;inta=6,b=9;p1=&a;p2=&b;if(a<b){p=p1;p1=p2;p2=p;}printf("%d,%d",*p1,*p2);printf("%d,%d",a,b);}程序的輸出結(jié)果為()。

A.9,66,9B.6,99,6C.6,96,9D.9,69,6

四、選擇題(20題)61.有以下程序

voidfunc(int*a,intb[])

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

main()

{inta,b[5]={0};

a=0;b[0]=3;

func(&a,b);

rintf("%d\n",b[0]);

}

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

A.6B.7

C.8D.9

62.有以下程序:

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

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

63.設(shè)有如下函數(shù)定義若執(zhí)行調(diào)用語句:n=fun(3);,則函數(shù)fun總共被調(diào)用的次數(shù)是()。

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

64.有以下程序:

若從鍵盤輸入:ijkxyz<回車>,則輸出結(jié)果是()。

A.ijkk

B.ijkxyz

C.xyzxyz

D.jj

65.

66.

67.有以下程序:

#include<stdi0.h>

#include<string.h>

structA

{inta;charb[10];doubleC;);

voidf(structAt);

main()

{structAa={"1001,"ZhangDa",l098,0};

f(a);printf("%d,%S,%6.1f\n",a.a(chǎn),a.b,a.c);}

voidf(structAt)

{t.a(chǎn)=1002;strcpy(t.b,"ChangRon9");t.c=1202.0;}

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

A.1001,ZhangDa,1098.0

B.1002,ChangRong,1202.0

C.1001,ChangRong,1098.0

D.1002,ZhangDa,1202.0

68.以下敘述中不正確的是

A.預(yù)處理命令都必須以#號(hào)開始

B.在程序中凡是以#號(hào)開始的語句行都是預(yù)處理命令行

C.宏替換不占用運(yùn)行時(shí)間,只占編譯時(shí)間

D.以下定義是正確的:#definePI3.1415926;

69.

70.

71.有如下程序

main()

{

inta=2,b=-1,c=2;

if(a<b)c=1;

if(b<0)c=0;

elsec++;

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

}

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

A.0B.1

C.2D.3

72.

73.

74.

75.

76.結(jié)構(gòu)化程序設(shè)計(jì)的主要特征是()。

A)封裝和數(shù)據(jù)隱藏B)集成和重用

C)數(shù)據(jù)和處理數(shù)據(jù)的過程分離D)把數(shù)據(jù)和處理數(shù)據(jù)的過程看成一個(gè)整體

77.算法的空間復(fù)雜度是指()。

A.算法在執(zhí)行過程中所需要的計(jì)算機(jī)存儲(chǔ)空間

B.算法所處理的數(shù)據(jù)量

C.算法程序中的語句或指令條數(shù)

D.算法在執(zhí)行過程中所需要的臨時(shí)工作單元數(shù)

78.在長(zhǎng)度為n的有序線性表中進(jìn)行順序查找,最壞情況下需要比較的次數(shù)是

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

79.有下列程序:

main()

{inti,j,x=0;

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

{x++;

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

{if(j%2)continue;

x++:

}

x++:

}

printf("x=%d\n"x);

}

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

A.x=4B.x=8C.x=6D.x=12

80.以下敘述中正確的是(.。

A.調(diào)用printf函數(shù)時(shí),必須要有輸出項(xiàng)

B.使用putChar函數(shù)時(shí),必須在之前包含頭文件stdio.h

C.在C語言中,整數(shù)可以以十二進(jìn)制、八進(jìn)制或十六進(jìn)制的形式輸出

D.調(diào)用getChar函數(shù)讀入字符時(shí),可以從鍵盤上輸入字符所對(duì)應(yīng)的ASCIl碼

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:從m個(gè)學(xué)生的成績(jī)中統(tǒng)計(jì)出低于平均分的學(xué)生人數(shù),此人數(shù)由函數(shù)值返回,平均分存放在形參aver所指的存儲(chǔ)單元中。例如輸入8名學(xué)生的成績(jī):987867563489.578.576.5則低于平均分的學(xué)生人數(shù)為3(平均分為72.187500)。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫一個(gè)函數(shù)proc(),它的功能是:根據(jù)以下公式求7c的值(要求滿足精度0.0005,即某項(xiàng)小于0.005時(shí)停止迭代)。程序運(yùn)行后,如果輸入精度0.0005,則程序輸出3.140578。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫的若干語句。試題程序:

參考答案

1.D

2.D

3.A本題考查按位與運(yùn)算,按位與就是相同為1,不同為0,把x=011050化成二進(jìn)制為0001001000101000,把01252化成二進(jìn)制為0000001010101010,兩者相與得0000001000101000。

4.A解析:C語言中的函數(shù)可以進(jìn)行遞歸調(diào)用,但不能在函數(shù)中定義函數(shù),即函數(shù)不能嵌套定義。函數(shù)可以沒有返回值,若有返回值,則返回值類型必須確定。

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

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

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

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

6.A在C語言里不能直接表達(dá)“0<x<5”,需要分步驟來實(shí)現(xiàn),即使用“x>0&&x<5”來描述。在C語言里,“0<x<5”屬于一個(gè)邏輯運(yùn)算表達(dá)式,可以理解為“(0<x)<5”,因此選項(xiàng)A錯(cuò)誤。故本題答案為A選項(xiàng)。

7.D解析:在for循環(huán)中用fpfinff(fp,'%d',i);將循環(huán)變量的值1~5輸出到fp指向的文件data.dat中,輸出3個(gè)數(shù)后換行。執(zhí)行rewind(fP)使文件指針重新返回到文件的開頭,再執(zhí)行fscanf(fp,'%d%d',&k,&n)將磁盤文件中的前兩個(gè)數(shù)輸入給變量k,n,并將其輸出到屏幕上。

8.B變量a是double類型,輸入格式符為%lf;變量d是char類型,輸入格式符為%c;變量b是float類型,輸入格式符為%f,選項(xiàng)C、D錯(cuò)誤。由于輸入的數(shù)據(jù)之間使用空格間隔,因此scanf函數(shù)中的格式控制字符串中,格式字符之間也要使用空格。故本題答案為B選項(xiàng)。

9.C輸出結(jié)果:k=1a=2\r\nk=2a=4\r\nk=3a=7\r\nk=4a=12

10.D解析:因?yàn)閤的值為大于1的奇數(shù),所以x除以2的余數(shù)等于1。所以選項(xiàng)D)等于關(guān)系表達(dá)式的結(jié)果為假,即等于0。

11.D

12.C

13.AA選項(xiàng)中“115L”表示長(zhǎng)整型數(shù)據(jù)。B選項(xiàng)是八進(jìn)制常量的表示方法,但是在八進(jìn)制中不能含有數(shù)字8,所以B選項(xiàng)錯(cuò)誤。C選項(xiàng)中e后面應(yīng)該是整數(shù),而不能是小數(shù)1.5,所以C選項(xiàng)錯(cuò)誤。D選項(xiàng)中八進(jìn)制常量應(yīng)該是以數(shù)字“0”開始,而不是以字母“o”開始。故本題答案為A選項(xiàng)。

14.D解析:在用基本輸出函數(shù)printf時(shí),格式說明與輸出項(xiàng)的個(gè)數(shù)應(yīng)該相同。如果格式說明的個(gè)數(shù)少于輸出項(xiàng)的個(gè)數(shù),多余的輸出項(xiàng)不予輸出;如果格式說明個(gè)數(shù)多于輸出項(xiàng)個(gè)數(shù),則對(duì)于多余的格式項(xiàng)輸出不定值或0。

15.A

16.C

17.A使用順序,選擇(分支),循環(huán)三種基本結(jié)構(gòu)構(gòu)成的程序可以解決所有問題,而不只是解決簡(jiǎn)單問題,所以A錯(cuò)誤。

18.A

19.B

20.Badd_more函數(shù)接收兩個(gè)參數(shù)a、b,返回“a+b-2”。main函數(shù)中,for循環(huán)調(diào)用add_more函數(shù)。當(dāng)i=2時(shí),傳入實(shí)參i和2,所以每次調(diào)用函數(shù)add_more時(shí),b的值都是2。函數(shù)add_more返回值等價(jià)于實(shí)參i。所以每次for循環(huán)輸出的值就是i的值。故本題答案為B選項(xiàng)。

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

22.11解析:條件運(yùn)算表達(dá)式:“表達(dá)式1?表達(dá)式2:表達(dá)式3”,但表達(dá)式1的值為非0時(shí),此時(shí)表達(dá)式2的值就是整個(gè)條件表達(dá)式的值,反之為表示式3的值。解析易知結(jié)果為1。

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

24.一對(duì)多一對(duì)多解析:實(shí)體之間的聯(lián)系可以歸結(jié)為一對(duì)一、一對(duì)多與多對(duì)多。如果一個(gè)學(xué)校有許多學(xué)生,而一個(gè)教師只歸屬于一個(gè)學(xué)生,則實(shí)體集學(xué)校與實(shí)體集學(xué)生之間的聯(lián)系屬于一對(duì)多的聯(lián)系。

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

26.軟件開發(fā)。軟件開發(fā)。解析:通常,軟件生命周期包括8個(gè)階段:?jiǎn)栴}定義、可行性研究、需求分析、系統(tǒng)設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測(cè)試、運(yùn)行維護(hù)。還分為3個(gè)時(shí)期,軟件定義期:包括問題定義、可行性研究和需求分析3個(gè)階段;軟件開發(fā)期:包括系統(tǒng)設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和測(cè)試4個(gè)階段;軟件維護(hù)期:即運(yùn)行維護(hù)階段。

27.44解析:在主函數(shù)中調(diào)用函數(shù)f,函數(shù)f有三個(gè)參數(shù),形參f1與f2分別是兩個(gè)指向函數(shù)的指針。在f中執(zhí)行f2(x)-f1(x),實(shí)際上是執(zhí)行了fb(2)-fa(2),故執(zhí)行i=(fa,fb,2)后i的值為23-22=4。

28.1515解析:s=f(aa,5)=f(aa,4)+a[4]=f(aa,3)+a[3]+a[4]=f(aa,2)+a[2]+a[3]+a[4]

=f(aa,1)+a[1]+a[2]+a[3]|a[4]=0+a[0]+a[1]+a[2]+a[3]+a[4]=15。

29.輸出輸出解析:測(cè)試用例曲測(cè)試輸入數(shù)據(jù)(輸入值集)和與之對(duì)應(yīng)的預(yù)期輸出結(jié)果(輸出值集)兩部分組成。

30.1515解析:程序通過遞歸調(diào)用實(shí)現(xiàn)求數(shù)組aa各元素之和,即a[4]+a[3]+a[2]+a[1]+a[0]=15。

31.邊界值分析法邊界值分析法解析:黑箱測(cè)試方法完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征,而只是根據(jù)程序功能導(dǎo)出測(cè)試用例。常用的黑箱測(cè)試有等價(jià)類劃分、邊界值分析法和錯(cuò)誤推測(cè)法3種。

32.66解析:經(jīng)過分析將遞歸函數(shù)寫成其數(shù)學(xué)表達(dá)式如下:

f(&a,n)=a[0]+f(&a[1],n-1)n>1

f(&a,n)=a[0]n=1

本題中定義了一個(gè)長(zhǎng)度為3的數(shù)組aa并初始化。接著調(diào)用遞歸函數(shù)f,由上面的數(shù)學(xué)表達(dá)式以計(jì)算其返回值s=1+2+3=6,所以空格處應(yīng)該填6。

33.-32768~32767

34.順序結(jié)構(gòu)順序結(jié)構(gòu)解析:結(jié)構(gòu)化程序有3種摹本結(jié)構(gòu),即順序結(jié)構(gòu)、選擇結(jié)構(gòu)(包括if語句和switch語句)和循環(huán)結(jié)構(gòu)(包括for語句、while語句、do…while語句)。

35.運(yùn)行后報(bào)錯(cuò)運(yùn)行后報(bào)錯(cuò)解析:指針q沒有指向確定的存儲(chǔ)單元,故不能賦值。

36.11解析:在表達(dá)式a+(int)((int)b+c)>>(int)(b-c)中圓括號(hào)最優(yōu)先,其次為類型轉(zhuǎn)換(int)、加法+、減法-、右移運(yùn)算>>。所以先看兩個(gè)圓括號(hào)((int)b+c)和(b-c),前者b先被轉(zhuǎn)換為int型7,然后與c相加得10.6,后者結(jié)果是3.6,現(xiàn)在表達(dá)式為a+(iot)10.6>>(int)3.6。C語言中,float型轉(zhuǎn)換為int型是截尾取整,所以表達(dá)式進(jìn)一步簡(jiǎn)化為5+10>>3=>15>>3。由于15的二進(jìn)制為000011112(下標(biāo)),所以15>>3的結(jié)栗是000000012(下標(biāo)),即1。

37.降低復(fù)雜性降低復(fù)雜性

38.前件前件

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

40.1010解析:此題考查逗號(hào)表達(dá)式。逗號(hào)表達(dá)式的值是最后一個(gè)表達(dá)式的值,所以本題的返回值是a+4。前面已經(jīng)給a賦值6,所以追回值a+4=6+4=10。

41.C解析:p+=3使指針p指向字符'd',函數(shù)strcpy的功能是把后面的字符串復(fù)制到p指針指向的空間;strlen函數(shù)的功能是求字符串的長(zhǎng)度,并返回字符個(gè)數(shù),不計(jì)最后的'\\0'。本題結(jié)果為4,即字符串“ABCD”的長(zhǎng)度。

42.D解析:因?yàn)?\\0'是字符串結(jié)束標(biāo)記,而fun函數(shù)中的第一個(gè)while循環(huán)從字符串a(chǎn)的第一個(gè)字符開始,直到碰到'\\0'時(shí)結(jié)束循環(huán),所以其作用就是將字符串a(chǎn)的長(zhǎng)度記錄到變量num中。而第二個(gè)while循環(huán)從b[0]開始,將字符串b中的字符依次復(fù)制到字符串a(chǎn)的結(jié)尾處,直到b[n]為假,即b[n]為字符串結(jié)束標(biāo)志'\\0'時(shí),所以最后返回的num保存了字符串a(chǎn)和b的長(zhǎng)度之和。故應(yīng)該選擇D。

43.D解析:本題考查靜態(tài)變量的使用方法和for循環(huán)。在函數(shù)調(diào)用時(shí),static變量在函數(shù)調(diào)用結(jié)束后所作的所有變化均不保持,所以當(dāng)i=1時(shí),第2次進(jìn)入f函數(shù)時(shí)c=5,所以最終main函數(shù)中c的值為5。

44.B【命題目的】考查有關(guān)線性表存儲(chǔ)結(jié)構(gòu)的基本知識(shí)。

【解題要點(diǎn)】順序存儲(chǔ)結(jié)構(gòu)中,數(shù)據(jù)元素存放在一組地址連續(xù)的存儲(chǔ)單元中,每個(gè)數(shù)據(jù)元素地址可通過公式LOC(ai)=LOC(a1)+(I-1)L計(jì)算得到,從而實(shí)現(xiàn)了隨機(jī)存取。對(duì)于鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),要對(duì)某結(jié)點(diǎn)進(jìn)行存取,都得從鏈的頭指針指向的結(jié)點(diǎn)開始,這是一種順序存取的存儲(chǔ)結(jié)構(gòu)。

【考點(diǎn)鏈接】順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的定義和性質(zhì),兩種存儲(chǔ)結(jié)構(gòu)的操作方法。

45.C解析:主函數(shù)中定義了一個(gè)文件指針fp1,然后通過fopen()函數(shù),以寫的方式打開文件f1.txt,并讓指針fp1指向它,接著調(diào)用fprimf()函數(shù)將abc寫到文件fp1所指的文件里,由于印1指向文件f1.txt的開始位置,因此abc將把文件f1.txt里原來的內(nèi)容good覆蓋掉,故文件f1.txt里最后的內(nèi)容為abc,所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。

46.D

47.A解析:本題主要考查按位與運(yùn)算,x=011050的二進(jìn)制形式為000100100010t000,01252的二進(jìn)制形式為0000001010101010,兩者相與得0000001000101000。

48.C解析:C語言的標(biāo)識(shí)符的定義為:以字母或下劃線開頭的由字母、數(shù)字字符、下戈峨組成的字符串。而且標(biāo)識(shí)符不能與關(guān)鍵字相同。

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

50.C解析:外部變量在編譯時(shí)由系統(tǒng)分配永久的內(nèi)存空間,所以外部變量的類型不是自動(dòng)存儲(chǔ)類別。

51.B解析:本題考查“?:”運(yùn)算的規(guī)則:若條件成立,取“:”前的值;否則,取“:”后面的值。

52.D解析:字符串常量是用一對(duì)雙括號(hào)括起來的一串字符。它用字符數(shù)組來存放,不能用一對(duì)大括號(hào)對(duì)括起來。

53.C解析:本題考核的知識(shí)點(diǎn)是C語言中的自反賦值運(yùn)算符?!癿-=n”相當(dāng)于“m=m-n”,兩個(gè)相等的數(shù)相減,其值為0。所以,C選項(xiàng)為所選。

54.C解析:美國(guó)國(guó)家標(biāo)準(zhǔn)化協(xié)會(huì)ANSI規(guī)定了一些常用的流程圖符號(hào),其中橢圓框表示起止框,方框表示處理框,菱形框表示判斷分支,箭頭表示流程線。

55.C解析:本題的考查點(diǎn)是通過指針引用數(shù)組元素。i=0時(shí),輸出P[0],也就是x[1][1],輸出5;i=2時(shí),輸出p[2],即P[2+0],也就是x[2][0],輸出3。

56.D

57.B解析:主函數(shù)中首先定義了一個(gè)3行3列的二維數(shù)組,定義了一個(gè)整型變量指向它,直接通過for循環(huán)給數(shù)組的每一個(gè)元素賦值,使得a[0][0]=1、a[0][1]=2、a[0][2]=3、a[1][0]=4、a[1][l]=5、a[1][2]=6、a[2]10]=7、a[2][1]=8、a[2][2]=9。所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。

58.C解析:宏替換實(shí)質(zhì)上就是字符替代,它不可能進(jìn)行計(jì)算,故C錯(cuò)誤。帶參數(shù)的宏與函數(shù)相比,宏在程序編譯之前已經(jīng)將代碼替換到程序內(nèi),執(zhí)行時(shí)不會(huì)產(chǎn)生類似于函數(shù)調(diào)用的問題,可以說不占用運(yùn)行時(shí)間。

59.A解析:希爾排序法的基本思想是:將整個(gè)無序序列分割成若干小的子序列分別進(jìn)行插入排序。

60.A解析:通過p1=&a,p2=&b分別將a、b的地址賦給指針p1、p2,接著執(zhí)行if語句,發(fā)現(xiàn)a<b成立,則通過交換p1、p2的值,即交換a、b所在存儲(chǔ)單元的地址,但是a、b的值并沒有發(fā)生變化。

61.A本題考查數(shù)組作為函數(shù)形參與實(shí)參的使用。題目給出的程序分為兩個(gè)部分,一個(gè)是函數(shù)func,該函數(shù)有兩個(gè)形參,一個(gè)為整型的指針a,一個(gè)為整型的數(shù)組b[],這里的b只是一個(gè)形參數(shù)組名,與main函數(shù)中的數(shù)組b沒有關(guān)系。為了區(qū)別,將func函數(shù)中的數(shù)組b用b’表示。func函數(shù)實(shí)現(xiàn)的功能是將指針a所指向的整型值*a與6相加,并將結(jié)果放入數(shù)組b’[0]處。main函數(shù)首先對(duì)整型數(shù)據(jù)a和數(shù)組b進(jìn)行初始化,初始化后a的值為0,數(shù)組b中第一個(gè)值b[0]=3。初始化結(jié)束后,對(duì)函數(shù)func進(jìn)行調(diào)用。應(yīng)當(dāng)注意,調(diào)用函數(shù)func時(shí),是將數(shù)組b的數(shù)組名作為函數(shù)的實(shí)參。這樣調(diào)用的結(jié)果就是沒有把數(shù)組元素的值傳遞給形參數(shù)組,而是把實(shí)參數(shù)組的起始地址傳遞給形參,b和b’共占有同一段內(nèi)存,這樣形參數(shù)組中的值發(fā)生變化也將導(dǎo)致實(shí)參數(shù)組中的值發(fā)生變化。題目中雖然main函數(shù)初始化使得b[0]=3,但是在調(diào)用func函數(shù)的過程中,作為該函數(shù)形參的數(shù)組b’有b’[0]=*a+6=6,故main函數(shù)中的實(shí)參數(shù)組b[0]值也發(fā)生改變,變?yōu)?。

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

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

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

63.A首先n=fun(3),3被當(dāng)作參數(shù)傳遞進(jìn)去,進(jìn)行了第一次調(diào)用,3被當(dāng)作參數(shù)傳進(jìn)去后,程序會(huì)執(zhí)行語句elseretllnlfun(k—1)+1;進(jìn)行第二次調(diào)用,而參數(shù)是3"1也就是2。2被當(dāng)作參數(shù)傳進(jìn)去后,程序會(huì)執(zhí)行語句elsereturnfun(1[一l)+1;進(jìn)行第三次調(diào)用,而參數(shù)是2一l也就是1。l被當(dāng)作參數(shù)傳進(jìn)去后。程序會(huì)執(zhí)行語句elseif(k==1)returnl;不再遞歸調(diào)用,因此最終結(jié)果為3次,選項(xiàng)A)正確。

64.C指針P、q都指向一段長(zhǎng)度為20個(gè)字節(jié)的空間,因此用scanf輸入時(shí),第二個(gè)字符串”xyz”會(huì)覆蓋第一個(gè)字符串”ijk”,即P、q指向的空間內(nèi)存放的是字符串”xyz”。

65.D

66.C

67.A\n將結(jié)構(gòu)變量作為形參,通過函數(shù)間形參與實(shí)參相結(jié)合的方式將整個(gè)結(jié)構(gòu)傳遞給函數(shù),這種傳遞方式是值傳遞。在被調(diào)用函數(shù)中,對(duì)結(jié)構(gòu)形參變量值進(jìn)行的任何修改都不會(huì)影啊到調(diào)凋函數(shù)中的結(jié)構(gòu)變量。

\n

68.D在C語言程序中,會(huì)出現(xiàn)以“#”號(hào)開頭的預(yù)處理命令,如包含命令#include、宏定義命令#define等。在源程序中,這些命令都放在函數(shù)之外,而且一般都放在源文件的前面,它們稱為預(yù)處理部分。

所謂預(yù)處理,是指在進(jìn)行編譯的第一遍掃描(詞法掃描和語法分析)之前所做的工作。預(yù)處理是C語言的一個(gè)重要功能,它由預(yù)處理程序負(fù)責(zé)完成。當(dāng)對(duì)一個(gè)源文件進(jìn)行編譯時(shí),系統(tǒng)將自動(dòng)引用預(yù)處理程序?qū)υ闯绦蛑械念A(yù)處理部分做處理,處理完畢自動(dòng)編譯源程序。

在C語言中,宏是一種預(yù)處理命令,在定義宏時(shí),不需要以語句標(biāo)識(shí)符“;”來表示宏定義結(jié)束,而是另起一行表示結(jié)束。

綜合上面的分析,可以知道本題選項(xiàng)中,A、B、C的說法都正確,只有D的宏定義不正確,因此本題的正確答案選D。

69.D

70.C

71.A本題主要考查if結(jié)構(gòu)的應(yīng)用。在程序中,首先定義三個(gè)整型變量a,b,c,并分別賦初值為2,-1,2,然后執(zhí)行第一條if語句,由于變量a的值大于變量b的值,a<b為假,那么接著執(zhí)行第二條if語句,由于變量b的值小于0,b<0為真,則執(zhí)行c=0,這時(shí)跳過else結(jié)構(gòu),輸出結(jié)果為0。

提醒注意:if與else結(jié)構(gòu)具有就近結(jié)合的原則。本題中的else結(jié)構(gòu)與第二個(gè)if語句結(jié)合,而不是與第一個(gè)if語句結(jié)合。

72.C

73.B

74.D

75.B

76.C結(jié)構(gòu)化程序設(shè)計(jì)的主要特征是數(shù)據(jù)和處理數(shù)據(jù)的過程分離,封裝和數(shù)據(jù)隱藏是面向?qū)ο蠹夹g(shù)的特征。

77.A算法的空間復(fù)雜度是指算法在執(zhí)行過程中所需要的內(nèi)存空間。所以選擇A項(xiàng)。

78.A在有序的線性表中進(jìn)行查找,最差的情況為從表頭查找到表尾都沒有所需要的值。長(zhǎng)度為n的線性表從表頭開始每次取出一個(gè)值比較,若不符合,再取下一個(gè)值,依次比較,一直到最后一個(gè),需要比較n次。

79.B\n在第1次外層for循環(huán)中,首先x++得到x=1。進(jìn)入到內(nèi)層for循環(huán),只有循環(huán)j的值為奇數(shù)時(shí),變量x的值才自加1,所以在內(nèi)層for循環(huán)執(zhí)行過程中,變量x的值自加兩次,當(dāng)退出內(nèi)層for循環(huán)時(shí),x=3,然后執(zhí)行x++,得到x=4。在進(jìn)入執(zhí)行第2次外層for循環(huán)中,首先x++得到x=5。進(jìn)入到內(nèi)層for循環(huán),只有循環(huán)變量J的值為奇數(shù)時(shí),變量X的值才自加1,所以在內(nèi)層for循環(huán)執(zhí)行過程中,變量X的值自加l兩次,當(dāng)退出內(nèi)層for循環(huán)時(shí),x=7,然后執(zhí)行x++,得到x=8,所以打印輸出變量x的值為8。

\n

80.B本題考查的是標(biāo)準(zhǔn)輸入輸出函數(shù)。在使用標(biāo)準(zhǔn)輸入輸出庫(kù)函數(shù)(除了printf和scanf)前,必須要用預(yù)編譯命令”#include”將頭文件”stdio.h”包括到用戶源文件中。調(diào)用printf函數(shù)時(shí)可以沒有輸出項(xiàng),比如printf(””)是允許的。c語言中整數(shù)的輸出形式中沒有十二進(jìn)制的形式。getchar函數(shù)讀人字符時(shí)可以得到第一個(gè)輸入字符的ASCIl碼,無法通過輸入相應(yīng)字符的ASCIl得到該字符。

81.(1)錯(cuò)誤:t=<[3];

正確:t+=s[k];

(2)錯(cuò)誤:*aver=&ave;

正確:*aver=ave;

【解析】由函數(shù)proe()可知,變量t中存放所有學(xué)生成績(jī)之和。因此,“t=s[k];”應(yīng)改為“t+=s[k];”。題目中要求將學(xué)生的平均成績(jī)由形參aver返回主函數(shù)中,因此,“*aver=&ave;”應(yīng)改為“*aver=ave;”。

82.

【解析】我們應(yīng)定義一個(gè)變量表示其和,一個(gè)變量表示其分?jǐn)?shù),由題目中可知循環(huán)結(jié)束的標(biāo)志為分?jǐn)?shù)小于eps,因此其為循環(huán)結(jié)束的條件,根據(jù)公式的變化規(guī)律,可求得s,最后把2*s返回到主函數(shù)中。

2021年內(nèi)蒙古自治區(qū)巴彥淖爾市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.允許對(duì)隊(duì)列進(jìn)行的操作有()。

A.對(duì)隊(duì)列中的元素排序B.取出最近進(jìn)隊(duì)的元素C.在隊(duì)頭元素之前插入元素D.刪除隊(duì)頭元素

2.在一個(gè)被調(diào)用函數(shù)中,關(guān)于return語句使用的描述,()是錯(cuò)誤的。

A.被調(diào)用函數(shù)中可以不用return語句

B.被調(diào)用函數(shù)中可以使用多個(gè)return語句

C.被調(diào)用函數(shù)中,如果有返回值,就一定要有return語句

D.被調(diào)用函數(shù)中,一個(gè)return語句可以返回多個(gè)值給調(diào)用函數(shù)

3.設(shè)x=011050,則x=x&01252的值是()。A.0000001000101000

B.1111110100011001

C.0000001011100010

D.1100000000101000

4.以下對(duì)C語言函數(shù)的有關(guān)描述中,正確的是

A.在C語言中調(diào)用函數(shù)時(shí),只能把實(shí)參的值傳給形參,形參的值不能傳送給實(shí)參

B.C函數(shù)既可以嵌套定義又可以遞歸調(diào)用

C.函數(shù)必須有返回值,否則不能使用函數(shù)

D.函數(shù)必須有返回值,返回值類型不定

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

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

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

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

6.以下與數(shù)學(xué)表達(dá)式“0<x<5且x≠2”不等價(jià)的C語言邏輯表達(dá)式是()。

A.(0<x<5)&&(x!=2)

B.0<x&&x<5&&x!=2

C.x>0&&x<5&&x!=2

D.(x>0&&x<2)||(x>2&&x<5)

7.有以下程序:#include<stdlo.h>main(){FILE*fp;inti,k,n;fp=fopen("data.dat","w+")for(i=1;i<6;i++){fprintf(fp."%d",i);if(i%3==0)fprintf(fp,"\n");}rewind(fp);fscanf(fp."%d%d",&k,&n);printf("%d%d\n",k,n);fclose(fp);

A.00B.12345C.14D.1

8.設(shè)有定義“doublea;chard;floatb;”,若想把1.2賦給變量a、字符‘k’賦給變量d、3.4賦給變量b,程序運(yùn)行時(shí)通過鍵盤輸入1.2k3.4并按<Enter>鍵,則以下正確的讀入語句是()。A.scanf(“%lf%c%f”,&a,&d,&b);

B.scanf(“%lf%c%f”,&a,&d,&b);

C.scanf(“%f%c%f”,&a,&d,&b);

D.scanf(“%f%c%f”,&a,&d,&b);

9.有以下程序:#include<stdio.h>main(){char*s="[2]34";intk=0,a=0;whil(s[k+1]!=\0){k++;if(k%2=o){a=a+(s[k]-0+1);continue;}a=a+(s[k]-0);printf("k=%da=%d\n",k,a);}程序運(yùn)行后的輸出結(jié)果是()。A.k=6a=11B.k=3a=14C.k=4a=12D.k=5a=15

10.下列選項(xiàng)中,當(dāng)x為大于1的奇數(shù)時(shí),值為0的表達(dá)式是()。

A.x%2==1B.x/2C.x%2!=0D.x%2==0

11.在非線性結(jié)構(gòu)中,每個(gè)結(jié)點(diǎn)()。

A.無直接前趨

B.只有一個(gè)直接前趨和個(gè)數(shù)不受限制的直接后繼

C.只有一個(gè)直接前驅(qū)和后繼

D.有個(gè)數(shù)不受限制的直接前驅(qū)和后繼

12.對(duì)長(zhǎng)度為n的無序線性表進(jìn)行順序查找,則查找成功、不成功時(shí)的平均數(shù)據(jù)比較次數(shù)分別為()。

A.n/2,nB.n+1/2,n-1C.n+1/2,nD.n-1/2,n-1

13.以下選項(xiàng)中能用作數(shù)據(jù)常量的是()。

A.115LB.0118C.1.5e1.5D.o115

14.有以下程序段charch;intk;ch='a';k=12;printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);已知字符a的ASCII十進(jìn)制代碼為97,則執(zhí)行上述程序段后輸出結(jié)果是()。A.因變量類型與格式描述符的類型不匹配輸出無定值

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

C.a,97,12k=12

D.a,97,k=12

15.

16.

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

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

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

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

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

18.

19.現(xiàn)有二叉搜索樹(BST)前序遍歷結(jié)果序列為abdefgc,中序遍歷結(jié)果序列為debgfac,請(qǐng)問后序遍歷結(jié)果序列為()

A.debgfaCB.edgfbcAC.edgbfcAD.degbfaC

20.有以下程序:#include<stdio.h>intadd_more(inta,intb){returna+b-2;}main(){inti;for(i=0;i<4;i++)printf(“%d”,add_more(i,2));}程序運(yùn)行后的輸出結(jié)果是()。

A.1234B.0123C.5678D.4321

二、2.填空題(20題)21.下面函數(shù)用來求兩個(gè)單精度數(shù)之和,并通過形參將結(jié)果傳回,請(qǐng)?zhí)羁铡?/p>

voidsub(floatx,floaty,【】z)

{【】=x+y;}

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

main()

{intx,a=1,b=2,c=3,d=4;

{intx,a=1,b=2,c=3,d=4;

x=(a<B)?a:b;x=(a<C)?x:C;x=(d>x)?x:d;

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

}

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

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

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

24.實(shí)體之間的聯(lián)系可以歸結(jié)為一對(duì)一的聯(lián)系,一對(duì)多的聯(lián)系與多對(duì)多的聯(lián)系。如果一個(gè)學(xué)校有許多學(xué)生,而一個(gè)學(xué)生只屬于一個(gè)學(xué)校,則實(shí)體集學(xué)校與實(shí)體集學(xué)生之間的聯(lián)系屬于【】的聯(lián)系。

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

26.軟件生命周期包括8個(gè)階段。為使各時(shí)期的任務(wù)更明確,又可以分為以下3個(gè)時(shí)期:軟件定義期、軟件開發(fā)期、軟件維護(hù)期。編碼和測(cè)試屬于【】期。

27.有以下程序

intfa(intx){returnx*x;}

intfb(intx){retumx*x*x;}

intf(int(*f1)(),int(*f2)(),intx)

{returnf2(x)-f1(x);}

main()

{inti;i=f(fa,fb,2);printf("%d\n",i);}

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

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

intf(inta[],intn)

{if(n>=1)returnf(a,n-1)+a[n-1];

elsereturn0;

}

main()

{intaa[5]=(1,2,3,4,5),s;

s=f(aa,5);printf("%d\n",s);

}

29.測(cè)試用例包括輸入值集和【】值集。

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

#include<stdio.h>

intf(ihta[],intn)

{if(n>=1)returnf(a,n-1)+a[n-1];

elsereturn0;

main()

intaa[5]={1,2,3,4,5},s;

s=f(aa,5);prinff("%d\n",s);

}

31.常用的黑箱測(cè)試有等價(jià)類劃分法、【】和錯(cuò)誤推測(cè)法3種。

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

intf(inta[],intn)

{if(n>1)returna[0]+f(&a[1],n-1);

elsereturna[0];

{

main()

{intaa[3]={1,2.3},s;

s=f(&aa[0],3);

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

}

33.設(shè)C語言中,一個(gè)int型數(shù)據(jù)在內(nèi)存中占兩個(gè)字節(jié),則int型數(shù)據(jù)的取值范圍為【】。

34.C語言用于結(jié)構(gòu)化程序設(shè)計(jì)的3種基本結(jié)構(gòu)是______、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。

35.有以下程序:

#include<stdio.h>

main()

{inta[]={1,2,3,4,5,6,7,8,9,10,11,12},*p=a+5,*q=NULL;

*q=*(p+5);

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

}

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

36.設(shè)有如下變量說明,則a+(int)((int)b+c)>>(int)(b-c)的值為【】。

inta=5;floatb=7.2,c=3.6;

37.軟件設(shè)計(jì)模塊化的目的是______。

38.在樹形結(jié)構(gòu)中,樹根結(jié)點(diǎn)沒有______。

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

}

40.若a是int型變量,則下列表達(dá)式的值為______。

(a=2*3,a*2),a+4

三、1.選擇題(20題)41.下面程序段的運(yùn)行結(jié)果是()。char*p="abcdefgh";p+=3;printf("%d\n",stfien(strcpy(p,"ABCD")));

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

42.函數(shù)fun的返回值是()。fun(char*a,char*b)intnum=0,n=0;while(*(a+num))!='\0')num++;while(b[n]){*(a+num)=b[n];num++;n++;)returnnum;}

A.字符串a(chǎn)的長(zhǎng)度B.字符串b的長(zhǎng)度C.字符串a(chǎn)和b的長(zhǎng)度之差D.字符串a(chǎn)和b的長(zhǎng)度之和

43.下列程序的輸出結(jié)果是()。#include<stdio.h>f(intA){intb=0;staticintc=4;a=c++;b++;return(A);}main(){inta=2,i,c;for(i=0;i<2;i++)c=f(a++);printf("%d\n",C);}

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

44.線性表的順序存儲(chǔ)結(jié)構(gòu)和線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)分別是______。

A.順序存取的存儲(chǔ)結(jié)構(gòu)、順序存取的存儲(chǔ)結(jié)構(gòu)

B.隨機(jī)存取的存儲(chǔ)結(jié)構(gòu)、順序存取的存儲(chǔ)結(jié)構(gòu)

C.隨機(jī)存取的存儲(chǔ)結(jié)構(gòu)、隨機(jī)存取的存儲(chǔ)結(jié)構(gòu)

D.任意存取的存儲(chǔ)結(jié)構(gòu)、任意存取的存儲(chǔ)結(jié)構(gòu)

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

A.goodabcB.abcdC.abcD.abcgood

46.執(zhí)行下面語句后的輸出結(jié)果為()inti=-1;if(i<=0)print{("****\n");elseprintf("%%%%\n");

A.****B.%%%%%C.%%%%cD.有語法錯(cuò)誤,不能正確執(zhí)行

47.設(shè)x=011050,則x=x&01252的值是()。

A.1000101000

B.1111110100011000

C.1011100010

D.1100000000101000

48.以下有4組用戶標(biāo)識(shí)符,其中合法的一組是______。

A.FOR

B.4d

C.f2G3

D.WORD-subDOIFvoidCaseSizeabcdefine

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

A.example.x=10

B.examplev2.x=10

C.example.x=10

D.structexamplev2={10};

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

A.在C語言中,函數(shù)中的自動(dòng)變量可以賦初值,每調(diào)用一次賦一次初值

B.在C語言中,在調(diào)用函數(shù)時(shí),實(shí)參和對(duì)應(yīng)形參在類型上只需賦值兼容

C.在C語言中,外部變量的隱含類型是自動(dòng)存儲(chǔ)類別

D.在C語言中,函數(shù)形參的存儲(chǔ)類型是自動(dòng)(auto)類型的變量

51.若運(yùn)行時(shí)輸入12,則以下程序的輸出結(jié)果是______。main(){intx,y;scanf("%d",&x);y=x>12?x+1:x-1;printf("%d\n",y);}

A.10B.11C.12D.13

52.下列能正確定義字符串的語句是()。

A.charstr[]={'\64'};

B.charstr="kx43";

C.charstr=";

D.charstr[]="\0";

53.若有以下程序段intm=0xabc,n=0xabc;m-=n;printf("%X\n".m);執(zhí)行后輸出結(jié)果是

A.0X0B.0x0C.0D.0XABC

54.在使用程序流程圖來表示算法時(shí),菱形用來表示_______。

A.輸入與輸出B.子程序C.判斷分支D.循環(huán)邊界

55.以下程序的輸出結(jié)果是()。#include<stdio.h>main(){inti,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1];for(i=0;i<4;i+=2)printf("%d",p[i]);}

A.52B.51C.53D.97

56.在下列#include命令中,正確的一條是()

A.#include[string.h]

B.#include{math.h}

C.#include(stdio.h)

D.#include<stdio.h>

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

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

58.下面是對(duì)宏定義的描述,不正確的是______。

A.宏不存在類型問題,宏名無類型,它的參數(shù)也無類型

B.宏替換不占用運(yùn)行時(shí)間

C.宏替換時(shí)先求出實(shí)參表達(dá)式的值,然后代入形參運(yùn)算求值

D.宏替換只不過是字符替代而已

59.排序方法中,將整個(gè)無序序列分割成若干小的子序列并分別進(jìn)行插入排序的方法,稱為______。

A.希爾排序B.冒泡排序C.插入排序D.選擇排序

60.分析下列程序:#include<stdio.h>main(){int*p1,*p2,*p;inta=6,b=9;p1=&a;p2=&b;if(a<b){p=p1;p1=p2;p2=p;}printf("%d,%d",*p1,*p2);printf("%d,%d",a,b);}程序的輸出結(jié)果為()。

A.9,66,9B.6,99,6C.6,96,9D.9,69,6

四、選擇題(20題)61.有以下程序

voidfunc(int*a,intb[])

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

main()

{inta,b[5]={0};

a=0;b[0]=3;

func(&a,b);

rintf("%d\n",b[0]);

}

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

A.6B.7

C.8D.9

62.有以下程序:

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

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

63.設(shè)有如下函數(shù)定義若執(zhí)行調(diào)用語句:n=fun(3);,則函數(shù)fun總共被調(diào)用的次數(shù)是()。

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

64.有以下程序:

若從鍵盤輸入:ijkxyz<回車>,則輸出結(jié)果是()。

A.ijkk

B.ijkxyz

C.xyzxyz

D.jj

65.

66.

67.有以下程序:

#include<stdi0.h>

#include<string.h>

structA

{inta;charb[10];doubleC;);

voidf(structAt);

main()

{structAa={"1001,"ZhangDa",l098,0};

f(a);printf("%d,%S,%6.1f\n",a.a(chǎn),a.b,a.c);}

voidf(structAt)

{t.a(chǎn)=1002;strcpy(t.b,"ChangRon9");t.c=1202.0;}

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

A.1001,ZhangDa,1098.0

B.1002,ChangRong,1202.0

C.1001,ChangRong,1098.0

D.1002,ZhangDa,1202.0

68.以下敘述中不正確的是

A.預(yù)處理命令都必須以#號(hào)開始

B.在程序中凡是以#號(hào)開始的語句行都是預(yù)處理命令行

C.宏替換不占用運(yùn)行時(shí)間,只占編譯時(shí)間

D.以下定義是正確的:#definePI3.1415926;

69.

70.

71.有如下程序

main()

{

inta=2,b=-1,c=2;

if(a<b)c=1;

if(b<0)c=0;

elsec++;

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

}

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

A.0B.1

C.2D.3

72.

73.

74.

75.

76.結(jié)構(gòu)化程序設(shè)計(jì)的主要特征是()。

A)封裝和數(shù)據(jù)隱藏B)集成和重用

C)數(shù)據(jù)和處理數(shù)據(jù)的過程分離D)把數(shù)據(jù)和處理數(shù)據(jù)的過程看成一個(gè)整體

77.算法的空間復(fù)雜度是指()。

A.算法在執(zhí)行過程中所需要的計(jì)算機(jī)存儲(chǔ)空間

B.算法所處理的數(shù)據(jù)量

C.算法程序中的語句或指令條數(shù)

D.算法在執(zhí)行過程中所需要的臨時(shí)工作單元數(shù)

78.在長(zhǎng)度為n的有序線性表中進(jìn)行順序查找,最壞情況下需要比較的次數(shù)是

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

79.有下列程序:

main()

{inti,j,x=0;

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

{x++;

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

{if(j%2)continue;

x++:

}

x++:

}

printf("x=%d\n"x);

}

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

A.x=4B.x=8C.x=6D.x=12

80.以下敘述中正確的是(.。

A.調(diào)用printf函數(shù)時(shí),必須要有輸出項(xiàng)

B.使用putChar函數(shù)時(shí),必須在之前包含頭文件stdio.h

C.在C語言中,整數(shù)可以以十二進(jìn)制、八進(jìn)制或十六進(jìn)制的形式輸出

D.調(diào)用getChar函數(shù)讀入字符時(shí),可以從鍵盤上輸入字符所對(duì)應(yīng)的ASCIl碼

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:從m個(gè)學(xué)生的成績(jī)中統(tǒng)計(jì)出低于平均分的學(xué)生人數(shù),此人數(shù)由函數(shù)值返回,平均分存放在形參aver所指的存儲(chǔ)單元中。例如輸入8名學(xué)生的成績(jī):987867563489.578.576.5則低于平均分的學(xué)生人數(shù)為3(平均分為72.187500)。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫一個(gè)函數(shù)proc(),它的功能是:根據(jù)以下公式求7c的值(要求滿足精度0.0005,即某項(xiàng)小于0.005時(shí)停止迭代)。程序運(yùn)行后,如果輸入精度0.0005,則程序輸出3.140578。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫的若干語句。試題程序:

參考答案

1.D

2.D

3.A本題考查按位與運(yùn)算,按位與就是相同為1,不同為0,把x=011050化成二進(jìn)制為0001001000101000,把01252化成二進(jìn)制為0000001010101010,兩者相與得0000001000101000。

4.A解析:C語言中的函數(shù)可以進(jìn)行遞歸調(diào)用,但不能在函數(shù)中定義函數(shù),即函數(shù)不能嵌套定義。函數(shù)可以沒有返回值,若有返回值,則返回值類型必須確定。

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

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

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

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

6.A在C語言里不能直接表達(dá)“0<x<5”,需要分步驟來實(shí)現(xiàn),即使用“x>0&&x<5”來描述。在C語言里,“0<x<5”屬于一個(gè)邏輯運(yùn)算表達(dá)式,可以理解為“(0<x)<5”,因此選項(xiàng)A錯(cuò)誤。故本題答案為A選項(xiàng)。

7.D解析:在for循環(huán)中

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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)論