2022-2023年安徽省亳州市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第1頁
2022-2023年安徽省亳州市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第2頁
2022-2023年安徽省亳州市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第3頁
2022-2023年安徽省亳州市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第4頁
2022-2023年安徽省亳州市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2022-2023年安徽省亳州市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.若有定義:inta,b;,通過語句scanf("%d;%d",&a,&b);,能把整數(shù)3賦給變量a,5賦給變量b的輸入數(shù)據(jù)是A.A.35B.3,5C.3;5D.35

2.算法分析的目的是()。

A.找出數(shù)據(jù)結(jié)構(gòu)的合理性B.找出算法中輸入和輸出之間的關(guān)系C.分析算法的易懂性和可靠性D.分析算法的效率以求改進(jìn)

3.以下敘述中錯(cuò)誤的是A.gets函數(shù)用于從終端讀入字符串

B.getchar函數(shù)用于從磁盤文件讀入字符

C.fputs函數(shù)用于把字符串輸出到文件

D.fwrite函數(shù)用于以二進(jìn)制形式輸出數(shù)據(jù)到文件

4.帶有頭節(jié)點(diǎn)的單向鏈表head,其3個(gè)數(shù)據(jù)節(jié)點(diǎn)A、B、C的連接關(guān)系如下圖所示:節(jié)點(diǎn)類型的定義為structlink{doubledt;structlink*next;};若指針P指向A節(jié)點(diǎn),在不改變P指向的前提下,以下選項(xiàng)中不能訪問C節(jié)點(diǎn)數(shù)據(jù)成員dt的表達(dá)式是()。A.*(*p).next->next->dt

B.p->next->next->dt

C.(*(*(*p).next).next).dt

D.(*(p->next->next)).dt

5.以下敘述中正確的是

A.語句inta[8]={0};是合法的

B.語句inta[]={0};是不合法的,遺漏了數(shù)組的大小

C.語句chara[2]={"A","BII};是合法的,定義了一個(gè)包含兩個(gè)字符的數(shù)組

D.語句chara[3];a="AB";是合法的,因?yàn)閿?shù)組有三個(gè)字符空間的容量,可以保存兩個(gè)字符

6.下列條件語句中,功能與其他語句不同的是()。

A.if(a)printf("%d\n",x);elseprintf("%d\n",y);

B.if(a==O)printf("%d\n",y);elseprintf("%d\n",x);

C.if(a!=0)printf("%d\n",x);elseprintf("%d\n",y);

D.if(a==0)printf("%d\n",x);elseprintf("%d\n",y);

7.設(shè)有以下程序段intx=0,s=0;while(!x!=0)s+=++x;printf("%d",s);則

A.運(yùn)行程序段后輸出0B.運(yùn)行程序段后輸出1C.程序段中的控制表達(dá)式是非法的D.程序段執(zhí)行無限次

8.按照標(biāo)識(shí)符的要求,()符號(hào)不能組成標(biāo)識(shí)符。A.連接符B.下劃線C.大小寫字母D.數(shù)字字符

9.下列排序算法中,()算法可能會(huì)出現(xiàn)下面情況:初始數(shù)據(jù)有序時(shí),花費(fèi)的時(shí)間反而最多。

A.堆排序B.冒泡排序C.快速排序D.希爾排序

10.有以下程序執(zhí)行程序時(shí),給變量X輸入l0,程序的輸出結(jié)果是()。

A.55B.54C.65D.45

11.在圖采用鄰接表存儲(chǔ)時(shí),求最小生成樹的Prim算法的時(shí)間復(fù)雜度為()。

A.O(n)B.O(n+e)C.O(n2)D.O(n3)

12.考慮下圖中的程序段,①號(hào)語句的輸出結(jié)果是()。A.A.'a'B.'t'C.'c'D.'k'

13.下面敘述中錯(cuò)誤的是()。

A.軟件測(cè)試的目的是發(fā)現(xiàn)錯(cuò)誤并改正錯(cuò)誤

B.對(duì)被調(diào)試的程序進(jìn)行“錯(cuò)誤定位”是程序調(diào)試的必要步驟

C.程序調(diào)試通常也稱為Debug

D.軟件測(cè)試應(yīng)嚴(yán)格執(zhí)行測(cè)試計(jì)劃,排除測(cè)試的隨意性

14.軟件生命周期中,花費(fèi)最多的階段是()。

A.詳細(xì)設(shè)計(jì)B.軟件編碼C.軟件測(cè)試D.軟件維護(hù)

15.在下列關(guān)系運(yùn)算中,不改變關(guān)系表中的屬性個(gè)數(shù)但能減少元組個(gè)數(shù)的是A.并B.交C.投影D.笛卡兒乘積

16.有以下程序#include<stdio.h>intf(intx,inty){return()y-x)*x);}main(){inta=3,b=4,c=5,d;d=f(f(a,b),f(a,c));printf(“%d\n”,d);}程序運(yùn)行后的輸出結(jié)果是A.10B.9C.8D.7

17.

18.下列敘述中正確的是A.為了建立一個(gè)關(guān)系,首先要構(gòu)造數(shù)據(jù)的邏輯關(guān)系

B.表示關(guān)系的二維表中各元組的每一個(gè)分量還可以分成若干數(shù)據(jù)項(xiàng)

C.一個(gè)關(guān)系的屬性名表稱為關(guān)系模式

D.一個(gè)關(guān)系可以包括多個(gè)二維表

19.給出以下定義:charx[]="abcdefg";chary[]={'a','b','c','d','e','f','g'};則正確的敘述為()。

A.數(shù)組x和數(shù)組y等價(jià)B.數(shù)組x和數(shù)組y的長(zhǎng)度相同C.數(shù)組x的長(zhǎng)度大于數(shù)組y的長(zhǎng)度D.數(shù)組x的長(zhǎng)度小于數(shù)組y的長(zhǎng)度

20.下列關(guān)于信息系統(tǒng)的敘述中,錯(cuò)誤的是()。

A.廣播電視是一種雙向的、點(diǎn)到多點(diǎn)的信息交互系自

B.網(wǎng)絡(luò)聊天是一種雙向的,以信息交互為主要目的系統(tǒng)

C.電話是一種雙向的、點(diǎn)對(duì)點(diǎn)的、以信息交互為主要的的系統(tǒng)

D.雷達(dá)是一種以感測(cè)和識(shí)別為主要目的的系統(tǒng)

二、2.填空題(20題)21.在面向?qū)ο蟮脑O(shè)計(jì)中,用來請(qǐng)求對(duì)象執(zhí)行某一處理或回答某些信息的要求稱為【】。

22.在先左后右的原則下,根據(jù)訪問根結(jié)點(diǎn)的次序,二叉樹的遍歷可以分為三種;前序遍歷、【】遍歷和后序遍歷。

23.fseek函數(shù)的正確調(diào)用形式是【】。

24.數(shù)據(jù)結(jié)構(gòu)分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),帶鏈的隊(duì)列屬于[]。

25.在關(guān)系運(yùn)算中,【】運(yùn)算是在指定的關(guān)系中選取所有滿足給定條件的元組,構(gòu)成一個(gè)新的關(guān)系,而這個(gè)新的關(guān)系是原關(guān)系的一個(gè)子集。

26.解題方案的準(zhǔn)確而完整的描述稱為______。

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

main()

{

intarr[]={30,25,20,15,10,5},*p=arr;

p++;

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

}

28.棧的基本運(yùn)算有三種:入棧、退棧和【】。

29.若有以下定義和語句:

intw[10]={23,54,10,33,47,98,72,80,61},*p;

p=w;

則通過指針p引用值為98的數(shù)組元素的表達(dá)式是【】。

30.下列的for語句的循環(huán)次數(shù)為______。

for(x=1,y=0;(y!=19)&&(x<7);x++);

31.在一個(gè)容量為32的循環(huán)隊(duì)列中,若頭指針front=3,尾指針rear=2,則該循環(huán)隊(duì)列中共有______個(gè)元素。

32.設(shè)x和y均為int型變量,且x=1,y=2,則表達(dá)式double(1+x/y)的值為【】。

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

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

34.若a是血型變量,則表達(dá)式(a=2*3,a*2),a+6的值為______。

35.下面程序執(zhí)行后輸出的結(jié)果是【】。

intm=13;

intfun(intx,inty)

{intm=3;

return(x*y-m);

}

main()

{inta=7,b=5;

printf("%d\n",fun(a,b)/m);

}

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

#include<stdio.h>

main()

{FILE*fp;inta[10]={1,2,3,0,0},i;

fp=fopen("d2.dat","wb");

fwtite(a,sizeof(int),5,fp);

fwrite(a,sizeof(int),5,fp);

fclose(fp);

fp=fopen("d2.dat","rb");

fread(a,sizeof(int),10,fp);

fclose(fp);

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

}

37.在C語言中(以16位PC機(jī)為例),一個(gè)float型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為4;一個(gè)double型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為【】。

38.設(shè)有以下定義和語句,則*(*(p+2)+1)的值為【】。

inta[3][2]={10,20,30,40,50,60},(*p)[2];

p=a;

39.以下函數(shù)fun用于求兩個(gè)整數(shù)a和b的最大公約數(shù)。

fun(a,B)

inta,b;

{inti,j,m,n;

if(a>B)

{m=a;a=b;【】;}

i=a;j=b;

while((n=【】)!=0)

{j=i;i=【】;}

return(i);

}

40.設(shè)有定義:

struct{inta;floatb;charc;}abc;*p_abc=&abc;

則對(duì)結(jié)構(gòu)體成員a的引用方法可以是abc.a和p_abc【】a。

三、1.選擇題(20題)41.有如下程序main(){inty=3,x=3,z=1;printf("%d%d\n",(++x,y++),z+2);}運(yùn)行該程序的輸出結(jié)果是______。

A.34B.42C.43D.33

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

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

43.下列有關(guān)數(shù)據(jù)庫的描述,正確的是A.數(shù)據(jù)處理是將信息轉(zhuǎn)化為數(shù)據(jù)的過程

B.數(shù)據(jù)的物理獨(dú)立性是指當(dāng)數(shù)據(jù)的邏輯結(jié)構(gòu)改變時(shí),數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)不變

C.關(guān)系中的每一列稱為元組,一個(gè)元組就是一個(gè)字段

D.如果一個(gè)關(guān)系中的屬性或?qū)傩越M并非該關(guān)系的關(guān)鍵字,但它是另一個(gè)關(guān)系的關(guān)鍵字,則稱其為本關(guān)系的外關(guān)鍵字

44.根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間前后件關(guān)系的復(fù)雜程度,一般將數(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)

45.對(duì)表達(dá)式for(表達(dá)式1;;表達(dá)式3)可理解為()。

A.for(表達(dá)式1;0;表達(dá)式3)

B.for(表達(dá)式1;1;表達(dá)式3)

C.for(表達(dá)式1;表達(dá)式1;表達(dá)式3)

D.for(表達(dá)式1;表達(dá)式3;表達(dá)式3)

46.下列程序段中,不能正確賦值的是()。

A.char*p,ch;p=&ch;scanf("%c",&p);

B.char*p;p=(char*)malloc(1);scabf("%c",p);

C.char*p;*p=getchar();

D.char*p,ch;p=&ch;*p=getchar();

47.有以下程序

#include<stdio.h>

#include<string.h>

voidfun(char*s[],intn)

{char*t;inti,j;

for(i=0;i<n-1;i++)

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

if(strlen(s[i])>strlen(s[j])){t=s[i];s[i]:s[j];s[j]=t;}

}

main()

{char*ss[]={"bcc","bbcc","xy","aaaacc","aabcc"};

fun(ss,5);printf("%s,%s\n",ss[0],ss[4]);

}

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

A.xy,aaaaccB.aaaacc,xyC.bcc,aabccD.aabcc,bcc

48.有以下程序:#include<stdio.h>main(){charc1,c2,c3,c4,c5,c6;scanf(%c%c%c%c,&c1,&c2,&c3,&c4);c5=getchar();c6=getchar();putchar(c1);putchar(c2);printf(%c%c\n,c5,c6);}程序運(yùn)行后,若從鍵盤輸入(從第1列開始)123<回車>45678<回車>則輸出結(jié)果是()。

A.1267B.1256C.1278D.1245

49.設(shè)有定義:inta=2,b=3,c=4;則以下選項(xiàng)中值為0的表達(dá)式是()。

A.(!a==1)&&(!b==0)

B.(a<b)&&!c‖1

C.a&&b

D.a‖(b+b)&&(c-a)

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

A.012B.123C.234D.345

51.有以下結(jié)構(gòu)體說明和變量定義,如圖所示,指針p、q、r分別指向一個(gè)鏈表中的三個(gè)連續(xù)結(jié)點(diǎn)。structnode{intdata;tractnode*next;}*p,*q,*r;

現(xiàn)要將q和r所指結(jié)點(diǎn)的先后位置交換,同時(shí)要保持鏈表的連續(xù),以下錯(cuò)誤的程序段是

A.r->next=q;q->next=r->next;p->next=r;

B.q->next=r->next;p-next=r;r->next=q;

C.p->next=r;q->next=r->next;r->next=q;

D.q->next=r->next;r->next=q;P->next=r;

52.有以下程序:intf1(doubleA){returna*a;}intf2(intx,inty){doublea,b;a=f1(x);b=f1(y);returna+b;}main(){doublew;w=f2(2.1,4.0);}程序執(zhí)行后,變量w的值是()。

A.20.21B.20C.20.0D.0.0

53.以下敘述不正確的是______。

A.分號(hào)是C語言的必要組成部分

B.C程序的注釋可以寫在句的后面

C.函數(shù)是C程序的基本單位

D.主函數(shù)的名字不一定用main表示

54.可以在C語言程序中用做用戶標(biāo)識(shí)符的一組標(biāo)識(shí)符是()。

A.voidB.aa123_abcBBNcasC.as+b3D.6f-123DoIfSIG

55.若有以下定義的語句structstudent{intage;intnum;};structstudentstu[3]={{1001,20},{1002,19},{1003,21}};main(){stmctstudent*p;p=stu;…}則以下不正確的引用是

A.(p++)->numB.p++C.(*p).numD.P=&stu.age.

56.有以下程序main(){charstr[][10]={"China",Beijing"},*p=str;printf("%s\n",p+10);}程序運(yùn)行后的輸出結(jié)果是

A.ChinaB.BeijingC.ngD.ing

57.用C語言編寫的代碼程序

A.可立即執(zhí)行B.是一個(gè)源程序C.經(jīng)過編譯即可執(zhí)行D.經(jīng)過編譯解釋即可執(zhí)行

58.有以下程序:#include<stdio.h>main(){inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p+2;prinff("%d\n";*p+*q);}程序運(yùn)行后的輸出結(jié)果是()。

A.16B.10C.8D.6

59.有如下程序段:inta=14,b=15,x,charc='A';x=(a&&B)&&(c<'B');執(zhí)行該程序段后,x的值為()

A.1B.0C.FALSED.TRUE

60.已有定義:chara[]="xyz",b[]=('x','y','z'};,下列敘述中正確的是()。

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

四、選擇題(20題)61.(49)按條件f對(duì)關(guān)系R進(jìn)行選擇,其關(guān)系代數(shù)表達(dá)式為()

A.R|X|R

B.R|X|Rf

C.бf(R)

D.∏f(R)

62.有以下程序:int*f(int*x,int*y){if(*x<*y)returnx;elsereturny;}main(){inta=7,b=8,*p,*q,*r;p=&a;q=&b;r=f(p,q);printf("%d,%d,%d\n",*p,*q,*r);}程序運(yùn)行后輸出結(jié)果是______。

A.7,8,8B.7,8,7C.8,7,7D.8,7,8

63.在C程序中有如下語句:char*func(intx,inty);它是()。

A.對(duì)函數(shù)func的定義。B.對(duì)函數(shù)func的調(diào)用。C.對(duì)函數(shù)func的原型說明。D.不合法的

64.

對(duì)兩個(gè)數(shù)組a和b進(jìn)行下列初始化:

charm[]="1234567";

charn[]={1,2,3,4,5,6,7};

則下列敘述正確的是()。

A.數(shù)組m與數(shù)組n完全相同B.數(shù)組m與數(shù)組n長(zhǎng)度相同C.數(shù)組m比數(shù)組n長(zhǎng)1D.數(shù)組m與數(shù)組n中都存放字符串

65.

66.

當(dāng)c的值不為0時(shí),在下列選項(xiàng)中不能正確將c的值賦給變量a、b的是()。

A.c=b=a;B.(a=c)C.D.(b=c);E.(a=c)&&(b=c);F.a=c=b;

67.下列敘述中正確的是()。A.數(shù)據(jù)庫系統(tǒng)可以解決數(shù)據(jù)冗余和數(shù)據(jù)獨(dú)立性問題,而文件系統(tǒng)不能

B.數(shù)據(jù)庫系統(tǒng)能夠管理各種類型的文件,而文件系統(tǒng)只能管理程序文件

C.數(shù)據(jù)庫系統(tǒng)可以管理龐大的數(shù)據(jù)量,而文件系統(tǒng)管理的數(shù)據(jù)量較少

D.數(shù)據(jù)庫系統(tǒng)獨(dú)立性較差,而文件系統(tǒng)獨(dú)立性較好

68.

69.

70.

71.下列關(guān)于C語言的敘述錯(cuò)誤的是()。

A)大寫字母和小寫字母的意義相同

B)不同類型的變量可以在一個(gè)表達(dá)式中

C)在賦值表達(dá)式中等號(hào)(=)左邊的變量和右邊的值可以是不同類型

D)同一個(gè)運(yùn)算符號(hào)在不同的場(chǎng)合可以有不同的含義

72.有以下程序main(){inti=0,s=0;do{if(i%2){i++;continue;}i++;s+=i;}while(i<7);printf("%d\n",s);}執(zhí)行后輸出結(jié)果是

A.16B.12C.28D.21

73.有以下程序:

#include<stdio.h>

#defineN3

voidfun(inta[][N],intb[])

{inti,j;

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

{b[i]=a[i][0];

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

if(b[i]<a[i][j])b[i]=a[i][j];

}

}

main()

{intx[N][N]={1,2,3,4,5,6,7,8,9},y[N],i;

fun(x,y);

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

printf("\n");

}

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

A.2,4,8,

B.3,6,9,

C.3,5,7,

D.1,3,5,

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

A.678910

B.13579

C.12345

D.62345

75.有以下程序:

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

A.6B.3C.8D.12

76.

有以下程序.

#include<stdio.h>

main

{charc1,c2,c3,c4,c5,c6;

scanf("%c%c%c%c",&c1,&c2,&c3,&c4);

c5=getchar;c6=getchar;

putchar(c1);putchar(c2);

printf("%c%c\n",c5,c6);

}

程序運(yùn)行后,若從鍵盤輸入(從第l列開始)

123<回車>

45678<回車>

則輸出結(jié)果是()。

A.1267B.1256C.1278D.1245

77.若函數(shù)調(diào)用時(shí)的實(shí)參為變量時(shí),以下關(guān)于函數(shù)形參和實(shí)參的敘述中正確的是()。

A.函數(shù)的形參和實(shí)參分別占用不同的存儲(chǔ)單元

B.形參只是形式上的存在,不占用具體存儲(chǔ)單元

C.同名的實(shí)參和形參占同一存儲(chǔ)單元

D.函數(shù)的實(shí)參和其對(duì)應(yīng)的形參共占同一存儲(chǔ)單元

78.以下敘述中正確的是()。A.在c語言中,預(yù)處理命令行都以‘‘#”開頭

B.預(yù)處理命令必須位于c源程序的起始位置

C.#include必須放在c程序的開頭

D.C語言的預(yù)處理不能實(shí)現(xiàn)宏定義和條件編譯的功能

79.

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

A.只能在循環(huán)體內(nèi)和switch語句體內(nèi)使用break語句

B.eotinue語句的作用是結(jié)束整個(gè)循環(huán)的執(zhí)行

C.在循環(huán)體內(nèi)使用break語句或continue語句的作用相同

D.從多層循環(huán)嵌套中退出時(shí),只能使用got0語句

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:應(yīng)用遞歸算法求某數(shù)a的平方根。求平方根的迭代公式如下:

x1=(xO+a/xO)/2

例如,3的平方根為1.732051。

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

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

試題程序:

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

例如,若輸入17,則應(yīng)輸出:46891012141516。注意:部分源程序在文件PROGl.C中。

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

參考答案

1.C解析:在C語言中scanf函數(shù)中輸入數(shù)據(jù)時(shí)要嚴(yán)格按照所規(guī)定的樣式輸入。

2.D解析:算法分析是指對(duì)一個(gè)算法的運(yùn)行時(shí)間和占用空間做定量的分析,一般計(jì)算出相應(yīng)的數(shù)量級(jí),常用時(shí)間復(fù)雜度和空間復(fù)雜度表示。分析算法的目的就是要降低算法的時(shí)間復(fù)雜度和空間復(fù)雜度;提高算法的執(zhí)行效。率。

3.B其中B選項(xiàng)的getchar函數(shù)用于從終端讀入字符。故本題答案為B選項(xiàng)。

4.Alink結(jié)構(gòu)體中的next是鏈表中下一個(gè)節(jié)點(diǎn)的地址。由于p當(dāng)前指向節(jié)點(diǎn)A,因此p->next是B的地址。p->next->next是C的地址,訪問C的節(jié)點(diǎn)數(shù)據(jù)成員dt可以使用C的地址訪問,即p->next->next->dt,選項(xiàng)B正確?;蛘呤褂媒庖谩?”運(yùn)算符:(*p)表示節(jié)點(diǎn)A,(*p).next表示B的地址,*((*p).next)表示節(jié)點(diǎn)B,(*((*p).next)).next表示C的地址,*((*((*p).next)).next)表示節(jié)點(diǎn)C,所以C的數(shù)據(jù)成員dt可以表示為(*((*(*p).next).next)).dt,因?yàn)椤?”運(yùn)算符優(yōu)先級(jí)高于“*”運(yùn)算符,所以也可以寫為(*(*(*p).next).next).dt,選項(xiàng)C正確。同理,也可以既使用指針運(yùn)算符,又使用解引用運(yùn)算符來訪問C的節(jié)點(diǎn)數(shù)據(jù)成員dt,即(*(p->next->next)).dt,選項(xiàng)D正確。選項(xiàng)A中,*p表示A節(jié)點(diǎn),(*p).next表示節(jié)點(diǎn)B的地址,由于“->”運(yùn)算符的優(yōu)先級(jí)高于“*”運(yùn)算符,因此先執(zhí)行“->”,即表達(dá)式(*p).next->next->dt引用了C節(jié)點(diǎn)的數(shù)據(jù)成員dt,然后再執(zhí)行解引用運(yùn)算“*”,這是錯(cuò)誤的。故本題答案為A選項(xiàng)。

5.AB選項(xiàng)中,如給全部元素賦值,則在數(shù)組說明中,可以不給出數(shù)組元素的個(gè)數(shù);C選項(xiàng)中,chara[2]={"","B"};不合法,應(yīng)為chara[2]={′A′,′B′};;D選項(xiàng)中,字符數(shù)組只能在定義的時(shí)候可以用字符串常量來初始化,但不能夠先定義字符數(shù)組,然后再用字符串常量進(jìn)行賦值。因此A選項(xiàng)正確。

6.D解析:選項(xiàng)A、選項(xiàng)B和選項(xiàng)C都是在a的值為0的時(shí)候輸出y,a不為0的時(shí)候輸出x,而選項(xiàng)D是在a為0的時(shí)候輸出x,a不為0的時(shí)候輸出y。所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。

7.B解析:本題考查while語句的使用。本題考查邏輯非運(yùn)算符和不等于運(yùn)算符的區(qū)別,邏輯非運(yùn)算符'!'的優(yōu)先級(jí)大于不等于運(yùn)算符'!='的優(yōu)先級(jí)。

8.A

9.C

10.A本題考查的是遞歸算法的分析。一個(gè)直接或間接地調(diào)用自身的算法稱為遞歸算法。在一個(gè)遞歸算法中,至少要包含一個(gè)初始值和一個(gè)遞歸關(guān)系。本題的fun()函數(shù)在n等于l時(shí)返回1,而在其余情況下返[fi]n+fun(n一1),所以本題的遞歸算法可以這樣來表示:fun(n)=1(n=1)(初始值)fun(n)=n+fun(n一1)(n≠1)(遞歸關(guān)系)此時(shí)不難看出,該遞歸算法實(shí)現(xiàn)的是計(jì)算l+2+3+…+n,而且n必須大于0,否則會(huì)陷入死循環(huán)。故題目輸出的結(jié)果是l+2+3+..+10=55.應(yīng)該選擇A)。

11.B

12.D

13.A軟件測(cè)試的目的是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程,并不涉及改正錯(cuò)誤,所以選項(xiàng)A錯(cuò)誤。程序調(diào)試的基本步驟有:錯(cuò)誤定位、修改設(shè)計(jì)和代碼,以排除錯(cuò)誤、進(jìn)行回歸測(cè)試,防止引進(jìn)新的錯(cuò)誤。程序調(diào)試通常稱為Debug,即排錯(cuò)。軟件測(cè)試的基本準(zhǔn)則有:所有測(cè)試都應(yīng)追溯到需求、嚴(yán)格執(zhí)行測(cè)試計(jì)劃,排除測(cè)試的隨意性、充分注意測(cè)試中的群集現(xiàn)象、程序員應(yīng)避免檢查自己的程序、窮舉測(cè)試不可能、妥善保存測(cè)試計(jì)劃等文件。故答案為A選項(xiàng)。

14.D本題考查對(duì)軟件生命周期的理解,軟件生命周期整體上可分為定義階段、開發(fā)階段和維護(hù)階段。其中定義階段包括可行性研究與計(jì)劃制訂和需求分析;開發(fā)階段包括概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、開發(fā)和測(cè)試;維護(hù)階段是一個(gè)單獨(dú)階段,不包含在開發(fā)階段內(nèi),它是所花費(fèi)用最多的一個(gè)階段。

15.B并運(yùn)算的含義是:假設(shè)有一個(gè)“在校學(xué)生信息表”,它包括這樣一些字段:學(xué)號(hào)、姓名、性別、出生日期、籍貫、聯(lián)系電話,這個(gè)表的關(guān)系模式可以表示為:校學(xué)生信息表(學(xué)號(hào),姓名,性別,出生日期,籍貫,聯(lián)系電話)。還有一個(gè)“新生信息表(學(xué)號(hào),姓名,性別,出生日期,籍貫,聯(lián)系電話)”。若要將9月份進(jìn)校的新生信息加入到“在校學(xué)生信息表”中,這樣進(jìn)行的就是并運(yùn)算。并運(yùn)算不會(huì)改變表的字段(又叫屬性)個(gè)數(shù),但是會(huì)增加記錄(又叫元組)個(gè)數(shù)。交運(yùn)算的含義是:兩個(gè)表(要求結(jié)構(gòu)要一模一樣)進(jìn)行交運(yùn)算取兩個(gè)表中相同的記錄構(gòu)成一個(gè)新表,交運(yùn)算不會(huì)改變表的字段個(gè)數(shù),但是一般會(huì)減少記錄個(gè)數(shù)。投影運(yùn)算的含義是:從在“校學(xué)生信息表(學(xué)號(hào),姓名,性別,出生日期,籍貫,聯(lián)系電話)”中選取學(xué)生的“姓名”和“聯(lián)系電話”這兩個(gè)字段,可以構(gòu)成一個(gè)“學(xué)生聯(lián)系表(姓名,聯(lián)系電話)”,這就是一個(gè)投影運(yùn)算,所以投影運(yùn)算一般會(huì)減少字段(又叫屬性)的個(gè)數(shù)。笛卡兒乘積又叫稱乘運(yùn)算,設(shè)有n元關(guān)系R和m元關(guān)系s,他們分別有P、q個(gè)元組,則關(guān)系R和關(guān)系s的笛卡兒積表示為R×S,該關(guān)系是一個(gè)n+m元關(guān)系,元組個(gè)數(shù)是PXq。因此本題的正確答案是B。\r\n

16.B

17.B

18.C解析:在格式化模型中,要事先根據(jù)應(yīng)用的需要,確定數(shù)據(jù)之間的邏輯關(guān)系,即先對(duì)數(shù)據(jù)進(jìn)行結(jié)構(gòu)化。在關(guān)系模型中,不需要事先構(gòu)造數(shù)據(jù)的邏輯關(guān)系,只要將數(shù)據(jù)按照一定的關(guān)系存入計(jì)算機(jī),也就是建立關(guān)系。所以選項(xiàng)A錯(cuò)誤。對(duì)于一個(gè)表示關(guān)系的二維表,其最基本的要求是表中元組的每一個(gè)分量必須是不可分的數(shù)據(jù)項(xiàng),即不允許表中再有表。所以,選項(xiàng)B、D說法是錯(cuò)誤的。一個(gè)關(guān)系的屬性名表稱為關(guān)系模式,也就是二維表的表框架,相當(dāng)于記錄型。因此,選項(xiàng)C說法正確。

19.C解析:在C語言中,字符串以'\\0'作為結(jié)束符,因此數(shù)組x的長(zhǎng)度為7+1=8,而數(shù)組y的長(zhǎng)度等于7。

20.A廣播/電視是一種單向的、點(diǎn)對(duì)多點(diǎn)(面)的以信息傳遞為主要目的的系統(tǒng)。

21.消息消息解析:在面向?qū)ο蠹夹g(shù)中,主要用到對(duì)象(object)、類(class)、方法(method)、消息(message)、繼承(inheritance)、封裝(encapsulation)等基本概念。其中消息是用來請(qǐng)求對(duì)象執(zhí)行某一處理或回答某些信息的要求。

22.中序中序解析:在先左后右的原則下,根據(jù)訪問根結(jié)點(diǎn)的次序,二叉樹的遍歷可以分為三種:前序遍歷、中序遍歷和后序遍歷.前序遍歷是指在訪問根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先訪問根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹;并且遍歷左、右子樹時(shí),仍然先訪問根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹。中序遍歷指在訪問根結(jié)點(diǎn)、遍歷左了樹與遍歷右子樹這三者中,首先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹:并且遍歷左、右子樹時(shí),仍然先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹。后序遍歷指在訪問根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先遍歷右子樹,然后訪問根結(jié)點(diǎn),最后遍歷左子樹;并且遍歷左、右子樹時(shí),仍然光遍歷右子樹,然后訪問根結(jié)點(diǎn),最后遍歷左子樹。

23.fseek(文件指針位移量起始點(diǎn))fseek(文件指針,位移量,起始點(diǎn))解析:本題考查函數(shù)fseek的用法。fseek函數(shù)的調(diào)用形式為:

fseek(文件指針,位移量,起始點(diǎn))

“起始點(diǎn)”用0,1或2代替,其中,0代表“文件開始”;1為“當(dāng)前位置”;2為“文件末尾”?!拔灰屏俊敝敢浴捌鹗键c(diǎn)”為基點(diǎn),向前移動(dòng)的字節(jié)數(shù)。ANSIC和大多數(shù)C版本要求位移量是long型數(shù)據(jù),這樣當(dāng)文件的長(zhǎng)度大于64k時(shí)不致出現(xiàn)問題。ANSIC標(biāo)準(zhǔn)規(guī)定在數(shù)字的末尾加一個(gè)字母L,就表示long型。

24.線性結(jié)構(gòu)線性結(jié)構(gòu)解析:與棧類似,隊(duì)列也是線性表,也町以采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。

25.選擇選擇解析:關(guān)系運(yùn)算中,選擇運(yùn)算是在指定的關(guān)系中選取所有滿足給定條件的元組,構(gòu)成一個(gè)新的關(guān)系,而這個(gè)新的關(guān)系是原關(guān)系的一個(gè)子集。

26.算法算法解析:算法是指對(duì)解題方案的準(zhǔn)確而完整的描述。

27.1010解析:整型指針最初被賦的值是數(shù)組arr的頭指針,即指向數(shù)組的第一個(gè)元素30,p++后,指針指向數(shù)組的下一個(gè)元素,即*p=arr[1]=25,在執(zhí)行*(p+3)時(shí),則相當(dāng)于a[1+3],即10。因此,輸出應(yīng)為100。

28.讀棧頂元素讀棧頂元素解析:棧的基本運(yùn)算有三種:入棧、退棧和讀棧頂元素。

入棧運(yùn)算是指在棧頂位置插入一個(gè)新元素。這個(gè)運(yùn)算有兩個(gè)基本操作:首先將棧頂指針進(jìn)一(即top加1),然后將新元素插入到棧頂指針指向的位置。

退棧運(yùn)算是指取出棧頂元素并賦給一個(gè)指定的變量。這個(gè)運(yùn)算有兩個(gè)基本操作:首先將棧頂元素(棧頂指針指向的元素)賦給一個(gè)指定的變量,然后將棧頂指針退一(即top減1)。

讀棧頂元素是指將棧頂元素賦給一個(gè)指定的變量。這個(gè)運(yùn)算不刪除棧頂元素,只是將它的值賦給一個(gè)變量。

29.*(p+5)

30.66解析:分析程序可知,每循環(huán)一次,x的值加1,然后檢測(cè)循環(huán)控制條件(y!=19)&&(x<7),因y的值不變,故滿足x<7時(shí)循環(huán)6次。

31.3131解析:設(shè)隊(duì)列容量為m,如果:rear>front,則隊(duì)列中元素個(gè)數(shù)為rear-front;如果rear<front,則隊(duì)列中元素個(gè)數(shù)為m+(rear-front)。本題rear<front,則m=32+(2-3)=31。

32.11解析:本題考查兩個(gè)知識(shí)點(diǎn):一是x/y的值為整型,即為0;二是數(shù)1是double類型。

33.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。

34.1212解析:本題考查逗號(hào)表達(dá)式的運(yùn)算規(guī)則。逗號(hào)表達(dá)式的基本格式為:“表達(dá)式1,表達(dá)式2,…”,其整個(gè)表達(dá)式的結(jié)果取最后一個(gè)子表達(dá)式的值。本題中首先計(jì)算逗號(hào)表達(dá)式中的第1個(gè)表達(dá)式a=2*3=6,然后計(jì)算第2個(gè)表達(dá)式a*2,這時(shí)整個(gè)表達(dá)式的值為12,但要注意,因?yàn)榈?個(gè)表達(dá)式并沒有給a賦值,因此a的值不變;接下來執(zhí)行最后一個(gè)表達(dá)式a+6=12,所以整個(gè)表達(dá)式最后的值為12。

35.22解析:本題變量m既是外部變量(值是13),又是fun函數(shù)的局部變量(值為3)。函數(shù)fun(x*y-m)的值為7*5-3=32,在main函數(shù)中,fun(a,b)/m中的m應(yīng)取外部變量的值13,因此輸出2。

36.12300123001,2,3,0,0,1,2,3,0,0,解析:本題考查文件讀寫函數(shù)fread和fwrite的用法。fwrite函數(shù)將數(shù)組a的前5個(gè)元素輸出到文件fp中兩次,共10個(gè)字節(jié),再調(diào)用fread函數(shù)從文件fp中讀取這10個(gè)字節(jié)的數(shù)據(jù)到數(shù)組a中,此時(shí)數(shù)組a的內(nèi)容就變?yōu)閧1,2,3,0,0,1,2,3,0,0},最后的輸出結(jié)果為'1,2,3,0,0,1,2,3,0,0,'。

37.88解析:在一般系統(tǒng)中,一個(gè)float型數(shù)據(jù)在內(nèi)存中占4個(gè)字節(jié)(32位),一個(gè)double型數(shù)據(jù)占8個(gè)字節(jié)。

38.6060解析:程序中定義a是一個(gè)3行2列的二維數(shù)組,p是指向兩個(gè)元素的一維數(shù)組指針,并讓p指向二維數(shù)組a的首行。則代碼*(*(p+2)+1)中的p+2指向二維數(shù)組a的第三行a[2],*(p+2)指向a[2[]0],*(p+2)+1指向a[2][1],*(*(p+2)+1)是引用a[2][1],其值是60。

39.b=mj%i.nb=m\r\nj%i.\r\nn解析:函數(shù)中的變量i和j分別存放兩個(gè)形參的最小數(shù)和最大數(shù),在語句i=a和j=b執(zhí)行之前,要將a和b分別變?yōu)樽钚?shù)和最大數(shù),當(dāng)a>b時(shí),程序使用中間變量將兩者交換,所以題中第—個(gè)空中應(yīng)當(dāng)填寫“b=m”;為求兩個(gè)整數(shù)的最大公約數(shù),程序的where循環(huán)條件必須為j整除i成立,所以題中第二個(gè)空中應(yīng)當(dāng)填寫“j%i”;程序要通過i的值返回最大公約數(shù),因此在循環(huán)中要將每次整除的公釣數(shù)賦給i,以保證最后返回的是兩個(gè),整數(shù)的最大公約數(shù),所以第三個(gè)空中應(yīng)當(dāng)填寫“n”。

40.->->解析:結(jié)構(gòu)變量abc有成員a,并有指針pabc指向結(jié)構(gòu)變量abc,則引用變量abc成員a的形式有abc.a和p_abc->a。

41.D解析:逗號(hào)表達(dá)式(++x,y++)的值應(yīng)該是y++的值,由于y++是先引用后自增,所以y++的值是3。

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

43.D數(shù)據(jù)處理是指將數(shù)據(jù)轉(zhuǎn)換成信息的過程,故選項(xiàng)A敘述錯(cuò)誤。數(shù)據(jù)的物理獨(dú)立性是指數(shù)據(jù)的物理結(jié)構(gòu)的改變,不會(huì)影響數(shù)據(jù)庫的邏輯結(jié)構(gòu),故選項(xiàng)B敘述錯(cuò)誤。關(guān)系中的行稱為元組,對(duì)應(yīng)存儲(chǔ)文件中的記錄,關(guān)系中的列稱為屬性,對(duì)應(yīng)存儲(chǔ)文件中的字段,故選項(xiàng)C敘述錯(cuò)誤。所以本題選D。

44.C解析:數(shù)據(jù)結(jié)構(gòu)概念一般包括3個(gè)方面的內(nèi)容:數(shù)據(jù)之間的邏輯關(guān)系、數(shù)據(jù)在計(jì)算機(jī)中的存儲(chǔ)方式以及在這些數(shù)據(jù)上定義的運(yùn)算的集合。數(shù)據(jù)的邏輯結(jié)構(gòu)是數(shù)據(jù)間關(guān)系的描述,它只抽象地反映數(shù)據(jù)元素間的邏輯關(guān)系,而不管其在計(jì)算機(jī)中的存儲(chǔ)方式。數(shù)據(jù)的邏輯結(jié)構(gòu)分為線性結(jié)構(gòu)和非線性結(jié)構(gòu)。若各數(shù)據(jù)元素之間的邏輯關(guān)系可以用一個(gè)線性序列簡(jiǎn)單地表示出來,則稱之為線性結(jié)構(gòu),否則稱之為非線性結(jié)構(gòu)。線性表是典型的線性結(jié)構(gòu),而樹形結(jié)構(gòu)是典型的非線性結(jié)構(gòu)。

45.B在本題中,for循環(huán)結(jié)構(gòu)缺省了表達(dá)式2,而表達(dá)式2的作用是用來判斷循環(huán)是否結(jié)束,在缺省該語句的情況下,循環(huán)將無法結(jié)束,從題目給出的四個(gè)循環(huán)結(jié)構(gòu)我們可以看出,能構(gòu)成死循環(huán)的是選項(xiàng)B,該選項(xiàng)中for結(jié)構(gòu)的表達(dá)式2一直為1,即真,這樣循環(huán)就無法結(jié)束。因此,本題正確的答案選B。

46.C解析:地址變量p指向的存儲(chǔ)空間一定要明確,否則可能影響程序的正確性。

47.A解析:函數(shù)fun(char*s[],intn)的功能是對(duì)字符串?dāng)?shù)組的元素按照字符串的長(zhǎng)度從小到大排序。在主函數(shù)中執(zhí)行fun(ss,5)語句后,*ss[]={'xy','bcc','bbcc','aabcc','aaaacc'},ss[0],ss[4]的輸出結(jié)果為xy,aaaacc。

48.D解析:在題目中,程序執(zhí)行到scanf()函數(shù)時(shí),會(huì)暫停等待用戶輸入4個(gè)字符,按題意輸入123<回車>后,字符1~3被分別輸入到c1~c3中,而c4會(huì)得到一個(gè)換行符'\\n'。然后執(zhí)行第1個(gè)getchar()函數(shù),由于前面的scanf()函數(shù)讀完了緩沖區(qū)中的所有字符,所以此時(shí)程序會(huì)又暫停等待用戶輸入,按題意輸入45678<回車>后,緩沖區(qū)第1個(gè)字符'4'被讀入并賦給c5,第2個(gè)getchar()函數(shù)會(huì)讀入緩沖區(qū)第2個(gè)字符'5'。所以最后依次輸出c1、c2、c5、c6的值后,屏幕上的結(jié)果是1245。故應(yīng)該選擇D。

49.A解析:邏輯運(yùn)算符的優(yōu)先級(jí)由高到低運(yùn)算次序如下:!(非)→&&(與)→||(或),選項(xiàng)A)的表達(dá)式中,先計(jì)算!a,結(jié)果為0,由于'0==1'不成立,故整個(gè)表達(dá)式的值為0。

50.D解析:本題的考點(diǎn)是C語言的指針。p指向二維數(shù)組a的首地址,而二維數(shù)組是按行存放的。因此“。for(i=0;i<9;i++)p[i]=i;”的結(jié)果是等價(jià)于a[3][3]={0,1,2,3,4,5,6,7,8},也就是a[3][3]={{0,1,2),{3,4,5),{6,7,8}}。因此a[1][i](i=0,1,2)的結(jié)果是3、4、5。輸出結(jié)果應(yīng)該是:345。

51.A解析:題目中要求將q和r所指結(jié)點(diǎn)的先后位置交換,即要求p所指結(jié)點(diǎn)的指針域指向r所指向的結(jié)點(diǎn),r所指向的結(jié)點(diǎn)的指針域指向q所指向的結(jié)點(diǎn),q所指向的結(jié)點(diǎn)的指針域指向r所指向的結(jié)點(diǎn)。選項(xiàng)A首先讓r所指向的指針的指針域指向q所指向的結(jié)點(diǎn),這樣就將r所指向的結(jié)點(diǎn)的指針域指向的結(jié)點(diǎn)丟失了。選項(xiàng)B首先q所指向的結(jié)點(diǎn)的指針域指向r所指向的結(jié)點(diǎn)的指針域所指向的結(jié)點(diǎn),然后,讓p所指向結(jié)點(diǎn)的指針域指向r所指向的結(jié)點(diǎn),最后讓r所指向的結(jié)點(diǎn)的指針域指向q所指向的結(jié)點(diǎn),滿足要求。選項(xiàng)C首先讓p所指向結(jié)點(diǎn)的指針域指向r所指向的結(jié)點(diǎn),然后讓q所指向的結(jié)點(diǎn)的指針域指向r所指向的結(jié)點(diǎn)的指針域所指向的結(jié)點(diǎn),最后讓r所指向的結(jié)點(diǎn)的指針域指向q所指向的結(jié)點(diǎn),滿足要求。選項(xiàng)D首先讓q所指向的結(jié)點(diǎn)的指針域指向r所指向的結(jié)點(diǎn)的指針域所指向的結(jié)點(diǎn),然后,讓r所指向的結(jié)點(diǎn)的指針域指向q所指向的結(jié)點(diǎn),最后讓P所指向結(jié)點(diǎn)的指針域指向r所指向的結(jié)點(diǎn),滿足要求。

52.C

53.D解析:C語言的程序是由主函數(shù)main()開始運(yùn)行,由主函數(shù)來調(diào)用其他函數(shù),所以D是錯(cuò)誤的。

54.B解析:C語言規(guī)定,標(biāo)識(shí)符是由字母、數(shù)字或下劃線組成,并且它的第一個(gè)字符必須是字母或者下劃線。

55.D

56.B解析:本題考核的知識(shí)點(diǎn)是二維數(shù)組的定義、初始化和指針的應(yīng)用。本題中首先定義了一個(gè)字符串?dāng)?shù)組并初始化,初始化后使得str[0]='China',str[1]='Beijing',然后定義一個(gè)指針變量p并讓其指向str,而在該二維數(shù)組中定義每個(gè)字符串的長(zhǎng)度為10所以p+10將指向str[1]的,因此最后輸出*(p+10)的值為Beijing。所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。

57.B解析:C語言一種高級(jí)語言,C語言源程序經(jīng)過C語言編譯程序編譯之后,生成一個(gè)后綴為。OBJ的二進(jìn)制文件(稱為目標(biāo)文件),最后還要由稱為“連接程序”(Link)的軟件,把此。OBJ文件與C語言提供的各種庫函數(shù)連接在一起,生成一個(gè)后綴.EXE的可執(zhí)行文件。顯然C語言不能立即執(zhí)行,故選項(xiàng)A錯(cuò)誤;根據(jù)以上定義,選項(xiàng)C和選項(xiàng)D錯(cuò)誤,所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。

58.B解析:由變量的定義可知,指針變量p初始化為&a[3],即*P的值為4;指針變量q初始化為p+2,即&a[3]+2,所以*q的值為6,*p+*q的值為10。

59.A解析:a=14,b=15,第一個(gè)&&兩側(cè)均為非零值。c='A',表達(dá)式c<'B'的值為真即1,第二個(gè)&&兩側(cè)也均為非零值。表達(dá)式(a&&b)&&(c<'B')的值為1,賦值給變量x。

60.A解析:字符數(shù)組a[]中用字符串常量“xyz”進(jìn)行初始化,字符數(shù)組a[]的長(zhǎng)度為字符的個(gè)數(shù),所以其值為3,并不包括字符串結(jié)束標(biāo)記'\\0';字符串?dāng)?shù)組b[]用3個(gè)字符'x'、'y'、'z'來初始化,所以其字符串的長(zhǎng)度等于3。

61.C

62.B解析:f函數(shù)的功能是返回地址為x,y的兩個(gè)數(shù)中值鉸的數(shù)的地址,本題輸出結(jié)果是7,8,7。

63.C

64.C解析:本題考查字符數(shù)組和字符串賦值給數(shù)組的一些區(qū)別。語句“charm[]='1234567';”定義了一個(gè)字符型數(shù)組并進(jìn)行了初始化,C語言規(guī)定,在字符串的末尾自動(dòng)加上串結(jié)束標(biāo)記\'\\0\',因此數(shù)組m的長(zhǎng)度是8;而數(shù)組n是按照字符方式對(duì)數(shù)組進(jìn)行初始化,系統(tǒng)不會(huì)自動(dòng)加上串結(jié)束標(biāo)記\'\\0\',因此數(shù)組n的長(zhǎng)度是7。

65.A

66.C

\n選項(xiàng)A是先將a的值賦給變量b,再將變量b的值賦給變量c,不合題意;B選項(xiàng)中由于c的值不為0,在將c的值賦給變量a后,表達(dá)式a=c的值為1,不再對(duì)表達(dá)式b=c計(jì)算;對(duì)于c選項(xiàng),表達(dá)式a=c的值為1,再求表達(dá)式b=c的值為1,然后進(jìn)行邏輯與運(yùn)算;D選項(xiàng)將b的值賦給c后再賦給e,故選擇C選項(xiàng)。

\n

67.A數(shù)據(jù)管理技術(shù)的發(fā)展經(jīng)歷了3個(gè)階段:

人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。三者各自的特點(diǎn)如下表所示。\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t特點(diǎn)\t\t\t\t\t\t\t人工管理階段\t\t\t\t\t\t\t文件系統(tǒng)階段\t\t\t\t\t\t\t數(shù)據(jù)庫系統(tǒng)階段\t\t\t\t\t\t\t管理者\(yùn)t\t\t\t\t\t\t人\t\t\t\t\t\t\t文件系統(tǒng)\t\t\t\t\t\t\t數(shù)據(jù)庫管理系統(tǒng)\t\t\t\t\t\t\t面向?qū)ο骪t\t\t\t\t\t\t某個(gè)應(yīng)用程序\t\t\t\t\t\t\t某個(gè)應(yīng)用程序\t\t\t\t\t\t\t現(xiàn)實(shí)世界\t\t\t\t\t\t\t共享程度\t\t\t\t\t\t\t無共享,冗余度大\t\t\t\t\t\t\t共享性差,冗余度大\t\t\t\t\t\t\t共享性大,冗余度小\t\t\t\t\t\t\t獨(dú)立性\t\t\t\t\t\t\t不獨(dú)立,完全依賴于程序\t\t\t\t\t\

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論