2021年江西省上饒市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第1頁(yè)
2021年江西省上饒市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第2頁(yè)
2021年江西省上饒市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第3頁(yè)
2021年江西省上饒市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第4頁(yè)
2021年江西省上饒市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩31頁(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年江西省上饒市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.以下有關(guān)宏替換的敘述不正確的是()。A.A.使用宏定義可以嵌套

B.宏定義語(yǔ)句不進(jìn)行語(yǔ)法檢查

C.雙引號(hào)中出現(xiàn)的宏名不替換

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

2.設(shè)一組初始記錄關(guān)鍵字序列為(Q,H,C,Y,P,A,M,S,R,D,F,X),則按字母升序的第一趟冒泡排序結(jié)束后的結(jié)果是()

A.F,H,C,D,P,A,M,Q,R,S,Y,X

B.P,A,C,S,Q,D,F,X,R,H,M,Y

C.A,D,C,R,F,Q,M,S,Y,P,H,X

D.H,C,Q,P,A,M,S,R,D,F,X,Y

3.假設(shè)某算法的計(jì)算時(shí)間可用遞推關(guān)系式T(n)=2T(n/2)+n,T(1)=1表示,則該算法的時(shí)間復(fù)雜度為()

A.O(logn)B.O(n*logn)C.O(n)D.O(n^2)

4.下列描述中正確的是______。A.軟件工程只是解決軟件項(xiàng)目的管理問題

B.軟件工程主要解決軟件產(chǎn)品的生產(chǎn)率問題

C.軟件工程的主要思想是強(qiáng)調(diào)在軟件開發(fā)過程中需要應(yīng)用工程化原則

D.軟件工程只是解決軟件開發(fā)中的技術(shù)問題

5.若有定義語(yǔ)句:“charsE10]="1234567\0\0";”,則strlen(s)的值是()。

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

6.C語(yǔ)言中的變量名只能由字母,數(shù)字和下劃線三種字符組成,且第一個(gè)字符()。

A.必須為字母B.必須為下劃線C.必須為字母或下劃線D.可以是字母,數(shù)字或下劃線中的任意一種

7.在C語(yǔ)言中,函數(shù)返回值的類型最終取決于()。

A.函數(shù)定義時(shí)在函數(shù)首部所說明的函數(shù)類型

B.return語(yǔ)句中表達(dá)式值的類型

C.調(diào)用函數(shù)時(shí)主調(diào)函數(shù)所傳遞的實(shí)參類型

D.函數(shù)定義時(shí)形參的類型

8.若要用函數(shù)fopen打開一個(gè)新的二進(jìn)制文件,該文件要既能讀也能寫,則應(yīng)以哪種方式打開文件()。

A.wbB.wb+C.rb+D.rb

9.有如下程序main(){charch[2][5]={"6937","8254"},*p[2];inti,j,s=0;for(i=0;i<2;++)p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>'\0';j+=2)s=10*s+p[i][j]-'0';printf("%d\n",s);}該程序的輸出結(jié)果是

A.69825B.63825C.6385D.693825

10.

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

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

12.有下列程序:

fun(intx)

{intp;

if(x==0‖x==1)return(3);

p=x-fun(x-2);

returnp;

}

main()

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

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

A.7B.3C.2D.0

13.若有定義“inta=3;doubleb=0.1263;charch=‘a(chǎn)’;”,則以下選項(xiàng)中敘述有錯(cuò)的是()。

A.逗號(hào)表達(dá)式的計(jì)算結(jié)果是最后一個(gè)表達(dá)式的運(yùn)算結(jié)果

B.運(yùn)算符“%”只能對(duì)整數(shù)類型的變量進(jìn)行運(yùn)算

C.語(yǔ)句“ch=(unsignedint)a+b;”是對(duì)a與b之和進(jìn)行強(qiáng)制類型轉(zhuǎn)換,結(jié)果賦值給變量ch

D.復(fù)合運(yùn)算“a*=b+ch”是將變量b、ch之和與a相乘,結(jié)果再賦值給a

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

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

15.下列數(shù)據(jù)模型中,具有堅(jiān)實(shí)理論基礎(chǔ)的是()。

A.關(guān)系模型B.網(wǎng)狀模型C.層次模型D.以上三個(gè)都是

16.有以下程序:#include<stdio.h>structord{intX,y;)dt[2]={1,2,3,4};main(){structord*p=dt;printf("%d,",++(p->x));printf("%d\n",++(p->y));}程序運(yùn)行后的輸出結(jié)果是()。A.1,2B.4,1C.3,4D.2,3

17.有以下程序:#include<stdio.h>#include<string.h>main(){charstr[][20]={“One*World”,“One*Dream!”},*p=str[1];printf(“%d,”,strlen(p));printf(“%s\n”,p);}程序運(yùn)行后的輸出結(jié)果是()。

A.10,One*Dream!

B.9,One*Dream!

C.9,One*World

D.10,One*World

18.有以下程序:#include<stdio.h>main(){charc1='1',c2='2';c1=getchar();c2=getchar();putchar(c1);putchar(c2);}當(dāng)運(yùn)行時(shí)輸入:a<回車>后,以下敘述正確的是()。

A.變量c1被賦予字符a,c2被賦予回車符

B.程序?qū)⒌却脩糨斎氲?個(gè)字符

C.變量c1被賦予字符a,c2中仍是原有字符2

D.變量c1被賦予字符a,c2中將無(wú)確定值

19.設(shè)a、b、c、d、m、n均為int型變量,且a=5、b=6、c=7、d=8、m=2、n=2,則邏輯表達(dá)式(m=a>b)&&(n—c>d)運(yùn)算后,n的值是()n

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

20.設(shè)有以下語(yǔ)句:inta=1,b=2,c;c=a^(b<<2);執(zhí)行后,c的值為()。A.6B.7C.8D.9

二、2.填空題(20題)21.以下程序通過函數(shù)SunFun求這里f(x)=x2+1,由F函數(shù)實(shí)現(xiàn)。請(qǐng)?zhí)羁铡?/p>

main()

{printf("Thesum=%d\n",SunFun(10));}

SunFun(intn)

{intx,s=0;

for(x=0;x<=n;x++)s+=F(【】);

returns;

}

F(intx)

{return(【】);}

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

23.設(shè)有下列程序:

#include<stdio.h>

#include<string.h>

main()

{inti;

chars[10],t[10];

gets(t);

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

{gets(s);

if(strcmp(t,s)<0)strcpy(t,s);

}

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

}

程序運(yùn)行后,從鍵盤上輸入(<CR>代表回車符):DEF<CR>BADEP<CR>QTHRG<CR>,則程序的輸出結(jié)果是______。

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

25.“printf("%d\n",strlen("\t\"\023\xABC\n"));”語(yǔ)句的輸出結(jié)果是______。

26.表示“整數(shù)x的平方大于36"時(shí)的值為“真”的C語(yǔ)言邏輯表達(dá)式是【】。

27.數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式分別為______模式、內(nèi)部級(jí)模式與外部級(jí)模式。

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

#include<stdio.h>

#include<string.h>

char*ss(char*s)

{returns+strlen(s)/2;}

main()

{char*p,*str="abcdefgh";

p=ss(str);printf("%s\n",p);

29.源程序文檔化要求程序應(yīng)加注釋。注釋一般分為序言性注釋和【】。

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

main()

{inta=5,b=5,y,z;

y=b-->++a?++b:a;

z=++a>b?a:y;

printf("%d,%d,%d,%d",a,b,y,z);

}

31.以下程序輸出的最后一個(gè)值是【】。

intff(intn)

{staticintf=1;

f=f*n;

retumf;

}

main()

{inti;

for(i=1;i<=5;i++)printf("%d\n",ff(i))i

}

32.在關(guān)系運(yùn)算中,【】運(yùn)算是對(duì)兩個(gè)具有公共屬性的關(guān)系所進(jìn)行的運(yùn)算。

33.數(shù)據(jù)庫(kù)系統(tǒng)中實(shí)現(xiàn)各種數(shù)據(jù)管理功能的核心軟件稱為【】。

34.下列程序中的數(shù)組a包括10個(gè)整數(shù)元素,分別將前項(xiàng)和后項(xiàng)之和存入數(shù)組b,并按每行4個(gè)元素輸出數(shù)組b。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{inta[10],b[10],i;

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

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

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

______;

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

{if(i%4=0)printf("\n");

printf("%3d",b[i]);

}

}

35.若intx=1,y=2;則計(jì)算表達(dá)式y(tǒng)+=y-=x*=y后的y值是()。

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

wordnum(str)

charstr[];

{inti,num=0,word=0;

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

if(【】==)word=0;

elseif(word==0)

{

word=1;

【】;

}

return(num);

}

37.設(shè)有以下程序,為使之正確運(yùn)行,請(qǐng)?jiān)跈M線中填入應(yīng)包含的命令行。(注:try_me()函數(shù)在a:\myfile.txt中有定義。)

______

main()

{printf("\n");

try_me();

printf("\n");}

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

#include<stdio.h>

main()

{ihtx=0210;printf("%x\n",x);

}

39.長(zhǎng)度為n的順序存儲(chǔ)線性表中,當(dāng)在任何位置上插入一個(gè)元素概率都相等時(shí),插入一個(gè)元素所需移動(dòng)元素的平均個(gè)數(shù)為【】。

40.【】是數(shù)據(jù)庫(kù)設(shè)計(jì)的核心。

三、1.選擇題(20題)41.有以下程序#include<stdio.h>main(){printf("%d\n",NULL);}

A.0B.1C.-1D.NULL沒定義,出錯(cuò)

42.有以下程序main(){char*s[]={"one","two","three"},*P;p=s[1];printf("%c,%s\n",*(p+1),s[0]);}執(zhí)行后輸出結(jié)果是

A.n,twoB.t,oneC.w,oneD.o,two

43.以下數(shù)組定義中錯(cuò)誤的是()。

A.intx[][3]={0};

B.intx[2][3]={{1,2},{3,4},{5,6}};

C.intx[][3]={{1,2,3},{4,5,6}};

D.intx[2][3]={1,2,3,4,5,6};

44.以下程序的功能是()。#include<stdio.h>main(){FILE*fPl;*fp2;fp1:fopen("file1","r");fp2:fopen("file2","w");while(!Feof(fP1))fputc(fgetc(fP1),fp2);fclose(fP1);fclose(fp2);}

A.將磁盤文件的內(nèi)容顯示在屏幕上

B.將兩個(gè)磁盤文件合為一個(gè)

C.將一個(gè)磁盤文件復(fù)制到另一個(gè)磁盤文件中

D.將兩個(gè)磁盤文件合并后送屏幕

45.當(dāng)輸入為"quert?"時(shí),下面程序的執(zhí)行結(jié)果是#include<stdio.h>main(){charc;c=getchar();while(c!='?'){putchar(c);c=getchar();}}

A.quertB.RvfsuC.quert?D.rvfsu?

46.若有說明chars1[30]="abc",s2[]="defghi";,則在使用函數(shù)strcat(s1,s2)后,結(jié)果是()。

A.s1的內(nèi)容更新為abcdefghi

B.s1的內(nèi)容更新為defghi\0

C.s1的內(nèi)容更新為defghiabc\0

D.s1的內(nèi)容更新為abcdefghi\0

47.若fp是指向某文件的指針,且已讀到此文件末尾,則庫(kù)函數(shù)feof(fp)的返回值是()

A.EOFB.0C.非零值D.NULL

48.對(duì)存有重要數(shù)據(jù)的5.25英寸軟盤,防止計(jì)算機(jī)病毒感染的方法是()

A.不要與有病毒的軟盤放在一起B(yǎng).在寫保護(hù)口貼上膠條C.保持軟盤清潔D.定期對(duì)軟格化式

49.下列程序的輸出結(jié)果是______。#defineA100main(){inti=0,sum=0;do{if(i==(i/2)*2)continue;sum+=i;}while(++i<A);printf("%d\n",sum);

A.2500B.2050C.4D.0

50.下面四個(gè)選項(xiàng)中,均是不正確的八進(jìn)制數(shù)或十六進(jìn)制數(shù)的選項(xiàng)是

A.0160x8f018

B.0abc0170xa

C.010-0x110x16

D.0a127ff-123

51.有下列二叉樹,對(duì)此二叉樹中序遍歷的結(jié)果為()。

A.ABCDEFB.BDAECFC.ABDCEFD.ABCDFE

52.函數(shù)調(diào)用strcat(strcpy(str1,str2),str3)的功能是()。

A.將字符串str1復(fù)制到字符串str2中后再連接到字符串str3之后

B.將字符串str1連接到字符串str2之后再?gòu)?fù)制到字符串str3之后

C.將字符串str2復(fù)制到字符串sir1中后再將字符串str3連接到字符串str1之后

D.將字符串str2連接到字符串str1之后再將字符串str1復(fù)制到字符串str3中

53.需求分析最終結(jié)果是產(chǎn)生

A.項(xiàng)目開發(fā)計(jì)劃B.需求規(guī)格說明書C.設(shè)計(jì)說明書D.可行性分析報(bào)告

54.數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的()。

A.存儲(chǔ)問題B.共享問題C.安全問題D.保護(hù)問題

55.在C語(yǔ)言中,只有在使用時(shí)才占用內(nèi)存單元的變量,其存儲(chǔ)類型是()。

A.auto和register

B.extern和register

C.auto和static

D.static和register

56.若有定義:inta[4][10];,則以下選項(xiàng)中對(duì)數(shù)組元素a[i][j]引用錯(cuò)誤的是______。(0<=i<4,0<=j<10)

A.*(&a[0][0]+10*i+j)B.*(a+i)+jC.*(*(a+i)+j)D.*(a[i]+j)

57.下列描述中,不是線性表順序存儲(chǔ)結(jié)構(gòu)特征的是

A.不便于插入和刪除B.需要連續(xù)的存儲(chǔ)空間C.可隨機(jī)訪問D.需另外開辟空間來保存元素之間的關(guān)系

58.下列程序的輸出結(jié)果是()。point(char*pt);main(){charb[4]={'a','c','s','f},*pt=b;pt=point(pt);printf("%c\n",*pt);}point(char*p){p+=3;returnp;}

A.sB.cC.fD.a

59.C語(yǔ)言中用于結(jié)構(gòu)化程序設(shè)計(jì)的3種基本結(jié)構(gòu)是()。

A.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)

B.if、switch、break

C.for、while、do-while

D.if、for、continue

60.視圖設(shè)計(jì)一般有3種設(shè)計(jì)次序,下列不屬于視圖設(shè)計(jì)的是______。

A.自頂向下B.由外向內(nèi)C.由內(nèi)向外D.自底向上

四、選擇題(20題)61.對(duì)如下二叉樹進(jìn)行后序遍歷的結(jié)果為()。

A.A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA

62.

63.設(shè)變量a是int型,f是float型,i是double型,則表達(dá)式10+′a′+i*f值的數(shù)據(jù)類型為

A.intB.floatC.doubleD.不確定

64.在數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS中,用來定義內(nèi)模式和外模式等一些數(shù)據(jù)庫(kù)管理系統(tǒng)中其他結(jié)構(gòu)的語(yǔ)言為

A.CB.BasicC.DDLD.DML

65.下列敘述中不正確的是。

A.算法的效率不僅與問題的規(guī)模有關(guān),還與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)有關(guān)

B.算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量

C.?dāng)?shù)據(jù)的邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)是一一對(duì)應(yīng)的

D.算法的時(shí)間復(fù)雜度與空間復(fù)雜度不一定相關(guān)

66.

67.

68.

69.若在定義語(yǔ)句:inta,b,c,*p=&c;之后,接著執(zhí)行以下選項(xiàng)中的語(yǔ)句,則能正確執(zhí)行的語(yǔ)句是()。A.A.scanf("%d",a,b,c);B.scanf("%d%d%d",a,b,c):

C.scanf("%d",p);

D.scanf("%d",&p);

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

A.30B.10C.0D.64

71.

72.

73.若有定義語(yǔ)句:inta[2][3],*p[3];,則以下語(yǔ)句中正確的是()。

A.p=a;B.p[0]=a;C.p[o]=&a[1][2];D.p[1]=&a;

74.

75.有以下程序:

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

A.22B.76C.72D.62

76.結(jié)構(gòu)化程序設(shè)計(jì)的3種結(jié)構(gòu)是()。

A.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、轉(zhuǎn)移結(jié)構(gòu)

B.分支結(jié)構(gòu)、等價(jià)結(jié)構(gòu)、循環(huán)結(jié)構(gòu)

C.多分支結(jié)構(gòu)、賦值結(jié)構(gòu)、等價(jià)結(jié)構(gòu)

D.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)

77.設(shè)有以下定義inta=0;doubleb=1.25;charc=’A’;#defined2則下面語(yǔ)句中錯(cuò)誤的是()

A.a++;B.b++C.c++;D.d++;

78.執(zhí)行下述程序后,輸出的結(jié)果是()。#include<stdio.h>#defineS(X)X*Xvoidmain{inta=9,k=3,m=2;a/=S(k+m)/s(k+m);printf("%d",a);}A.1B.4C.9D.0

79.有以下程序

#include"stdio.h"

#defineM(x,y)(x)*(y)

#defineN(x,y)(x)/(y)

main()

{inta=5,b=6,c=8,k;

k=N(M(a,b),c);

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

}

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

A.3B.5

C.6D.8

80.下面描述中,不屬于軟件危機(jī)表現(xiàn)的是()。

A.軟件過程不規(guī)范B.軟件質(zhì)量難以控制C.軟件開發(fā)生產(chǎn)率低D.軟件成本不斷提高

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:計(jì)算并輸出下列級(jí)數(shù)的前N項(xiàng)之和SN,直到SN+1大于q為止。q的值通過形參傳人。SN=2/1+3/2+4/3+(N+1)/N例如,若q的值為57,則函數(shù)值為59.593612。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

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

參考答案

1.D解析:本題考查宏替換的規(guī)則。宏替換有兩類:簡(jiǎn)單的字符替換和帶參數(shù)的宏替換。使用宏應(yīng)注意:①宏定義僅僅是符號(hào)替換,不是賦值語(yǔ)句,因此不做語(yǔ)法檢查:②為了區(qū)別程序中其他的標(biāo)示符,宏名的定義通常用大寫字母,但不是必須用大寫;③雙引號(hào)中出現(xiàn)的宏名不替換;④使用宏定義可以嵌套,即后定義的宏中可以使用先定義的宏。

2.D

3.B

4.C\r\n軟件工程是試圖用工程、科學(xué)和數(shù)學(xué)的原理與方法研制、維護(hù)計(jì)算機(jī)軟件的有關(guān)技術(shù)及管理方法。軟件工程的主要思想是強(qiáng)調(diào)在軟件開發(fā)工程中需要應(yīng)用工程化的原則。軟件工程用來解決以下問題:軟件需求的增長(zhǎng)得不到滿足、軟件開發(fā)成本和進(jìn)度無(wú)法控制、軟件質(zhì)量難以保證、軟件不可維護(hù)或維護(hù)程度低、軟件得成本不斷提高、軟件開發(fā)生產(chǎn)率的提高趕不上硬件的發(fā)展和應(yīng)用需求的增長(zhǎng)。軟件項(xiàng)目的管理、軟件產(chǎn)品的生產(chǎn)率、軟件開發(fā)中的技術(shù)都是軟件工程需要解決的部分問題。因此選項(xiàng)C正確。

5.A"\0"表示空字符,strlen函數(shù)求得的是不包括字符串結(jié)束符\0的長(zhǎng)度。故選A。

6.C

7.A解析:在C語(yǔ)言中,應(yīng)當(dāng)在定義函數(shù)時(shí)指定函數(shù)值的類型。凡不加類型說明的函數(shù),默認(rèn)按整型處理。在定義函數(shù)時(shí)對(duì)函數(shù)值說明的類型一般應(yīng)該和return語(yǔ)句中的表達(dá)式類型一致。如果函數(shù)值的類型和return語(yǔ)句中的表達(dá)式類型不一致,則以函數(shù)值的類型為準(zhǔn),由系統(tǒng)自動(dòng)進(jìn)行轉(zhuǎn)換,即函數(shù)類型決定返回值的類型。

8.B解析:本題考查文件使用方式標(biāo)識(shí)符。方式“wb”為輸出打開一個(gè)二進(jìn)制文件;方式“wb+”為讀寫建立一個(gè)新的二進(jìn)制文件;方式“rb+”為讀寫打開一個(gè)二進(jìn)制文件:方式“rb”為輸入打開一個(gè)二進(jìn)制文件。

9.C解析:該題稍微難一點(diǎn)。主要要搞清楚以下幾點(diǎn):①定義了一個(gè)指針數(shù)組char*p[2]后,程序中第一個(gè)循環(huán)for(i=0;i<2;i++)p[i]=ch[i];的作用,是使指針數(shù)組的p[0]元素(它本身是一個(gè)指針)指向了二維數(shù)組ch的第一行字符串,并使指針數(shù)組的p[1]元素指向二維數(shù)組ch的第二行字符串,這樣,就使指針數(shù)組p和二維數(shù)組ch建立起了一種對(duì)應(yīng)關(guān)系,以后對(duì)二維數(shù)組ch的某個(gè)元素的引用就有兩種等價(jià)的形式:ch[i][j]或p[i][j]。②對(duì)二維數(shù)組ch的初始化,使其第一行ch[0]中存入了字符串“693

10.C

11.B解析:本題中,邏輯非“!”運(yùn)算符比不等于“!=”運(yùn)算符優(yōu)先級(jí)高,因此第一次循環(huán)時(shí)!x!=0的運(yùn)算結(jié)果為真,s的運(yùn)算結(jié)果為1;第二次循環(huán)時(shí)!x!=0的運(yùn)算結(jié)果為假,循環(huán)結(jié)束,輸出s的結(jié)果為1。

12.C解析:因?yàn)樵诤瘮?shù)fun(intx)中,如果參數(shù)x等于0或1時(shí),返回值3。否則p=x-fun(x-2)這是一個(gè)遞歸函數(shù),所以在主函數(shù)調(diào)用fun(7)時(shí),其過程為:“fun(7)=7-fun(5)=7-(5-fun(3))=7-(5-(3-fun(1))=7-(5-(3-3))=7-5=2”,所以最后的輸出結(jié)果為2。

13.C逗號(hào)表達(dá)式的計(jì)算結(jié)果是最后一個(gè)表達(dá)式的運(yùn)算結(jié)果,選項(xiàng)A正確;運(yùn)算符“%”是求余運(yùn)算符,只能對(duì)整數(shù)類型的變量進(jìn)行運(yùn)算,選項(xiàng)B正確;在語(yǔ)句“ch=(unsignedint)a+b”中,圓括號(hào)優(yōu)先級(jí)最高,所以首先將a強(qiáng)制轉(zhuǎn)換成無(wú)符號(hào)整型,再與b相加,結(jié)果賦值給ch,選項(xiàng)C錯(cuò)誤;復(fù)合運(yùn)算“a*=b+ch”,先計(jì)算“b+ch”的值,再將a與b、ch之和相乘,結(jié)果再賦值給a,選項(xiàng)D正確。故本題答案為C選項(xiàng)。

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

15.A解析:在層次模型和網(wǎng)狀模型的系統(tǒng)研究和數(shù)據(jù)庫(kù)設(shè)計(jì)中,其性能和質(zhì)量主要決定于設(shè)計(jì)者的經(jīng)驗(yàn)和技術(shù)水平,缺乏一定的理論指導(dǎo)。關(guān)系模型有堅(jiān)實(shí)的理論基礎(chǔ),它以數(shù)學(xué)理論為基礎(chǔ),從而避免了層次模型和網(wǎng)狀模型系統(tǒng)中存在的問題。

16.Dp一>x的值為1,++(p->x)作用是取p->x的值加1作為表達(dá)式的值即值為2,同理++(p->y)的值為3。所以選D。

17.A函數(shù)“strlen(char*s)”;計(jì)算字符串s的長(zhǎng)度,不包括‘\\0’在內(nèi)。p指向數(shù)組的第2個(gè)元素,因此“Strien(P)=10”,并輸出“one*Dream!”。故本題答案為A選項(xiàng)。

18.A解析:本題考查的是getchar()函數(shù)。getchar()函數(shù)執(zhí)行時(shí)將從鍵盤緩沖區(qū)中讀取用戶的輸入,而不管輸入的是否可打印字符,所以當(dāng)輸入a<回車>后,鍵盤緩沖區(qū)被輸入的實(shí)際上是兩個(gè)字符:'a'和'\\n'。故選項(xiàng)A的說法是正確的。

19.C因?yàn)閍>b不成立,故表達(dá)式a>b的值為0,即為0賦給m,因此&&左邊表達(dá)式的值為0,0與任何值&&運(yùn)算都為0,于是不再計(jì)算&&右邊表達(dá)式的值,所以此時(shí)的n仍然為2。

20.D本題考查兩個(gè)知識(shí)點(diǎn),按位異或左移把b左移2位化成二進(jìn)制c=a(b<<2)=a^(000010<<2)=a^001000=0000001^O01000=9,故選擇D。

21.xx*x+1或1+x*xx\r\nx*x+1或1+x*x解析:題目中要求從x=0開始將f(x)的值累加起來,直到x=10。在SunFun()函數(shù)中用了一個(gè)for循環(huán),每循環(huán)一次將f(x)累加到s中,所以在本題的第一個(gè)空格處我們應(yīng)該填x,然后x+1,共循環(huán)10次。F()函數(shù)的功能應(yīng)該是求數(shù)學(xué)表達(dá)式f(x)的值,所以其返回值應(yīng)該為x*x+1。

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

23.函數(shù)strcmp(t,s)用來比較t和s所指字符串的大小,若t>s,則函數(shù)值大于0;若t=s,則函數(shù)值等于0;若t<s,則函數(shù)值小于0。函數(shù)strcpy(t,s)的功能:把字符數(shù)組s所指字符串的內(nèi)容復(fù)制到字符數(shù)組t所指存儲(chǔ)空間中。

本題中,t[10]='CDEF'。第一次循環(huán),s[10]='BADEF',if語(yǔ)句的控制條件strcmp(t,s)<0不成立,接著執(zhí)行第二次循環(huán),s='QTHRG',if語(yǔ)句的控制條件strcmp(t,s)<0成立,執(zhí)行下列的語(yǔ)句,將字符數(shù)組s所指字符串的內(nèi)容復(fù)制到字符數(shù)組t

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

25.66解析:strlen()函數(shù)的作用是計(jì)算字符串的長(zhǎng)度并作為函數(shù)的返回值,這里的長(zhǎng)度不包括串尾的結(jié)束標(biāo)志\'\\0\'。

\'\\t\'是轉(zhuǎn)義字符,代表橫向跳若干格:\'\\\''是轉(zhuǎn)義字符,代表雙引號(hào):\'\\023\'只代表一個(gè)字符,而不管轉(zhuǎn)義字符后面有幾個(gè)字符;\'\\xAB\'是以兩位+六進(jìn)制數(shù)AB表示的ASCII碼字符,只代表一個(gè)字符;\'\\n\'是轉(zhuǎn)義字符,代表回車換行。

5個(gè)字符常量各代表一個(gè)字符,再加上字母C,所以返回的長(zhǎng)度是6。

26.x<-6||x>6

27.概念(或概念級(jí))概念(或概念級(jí))

28.efghefgh解析:函數(shù)*ss的作用是使字符串指針往后移strlen(s)/2個(gè)位置。形參指針a指向字符串'abcdefeh',調(diào)用函數(shù)*ss后,指針指向e,所以輸出為efgh。

29.功能性注釋功能性注釋解析:注釋一般分為序言性注釋和功能性注釋。序言性注釋通常位于每個(gè)程序的開頭部分,它給出程序的整體說明;功能性注釋的位置一般嵌在源程序體之中戶主要描述其后的語(yǔ)句或程序做什么。

30.7467

31.120120解析:靜態(tài)變量的類型說明符是static,靜態(tài)局部變量屬于靜態(tài)存儲(chǔ)方式,它具有以下特點(diǎn):

①靜態(tài)局部變量屬于靜態(tài)存儲(chǔ)類別,在靜態(tài)存儲(chǔ)區(qū)內(nèi)分配存儲(chǔ)單元。在程序整個(gè)運(yùn)行期間都不釋放。

②對(duì)靜態(tài)局部變量是在編譯時(shí)賦初值的,即只賦初值一次,在程序運(yùn)行時(shí)它已有初值。以后每次調(diào)用函數(shù)時(shí)不再重新賦初值而只是保留上次函數(shù)調(diào)用結(jié)束時(shí)的值。

③如在定義局部變量時(shí)不賦初值的話,則對(duì)靜態(tài)局部變量來說,編譯對(duì)自動(dòng)賦初值0(對(duì)數(shù)值型變量)或空字符(對(duì)字符變量)。(注意:C語(yǔ)言中的非靜態(tài)變量在定義時(shí),系統(tǒng)并不會(huì)自動(dòng)給它賦初值)

④雖然靜態(tài)局部變量在函數(shù)調(diào)用結(jié)束后仍然存在,但其他函數(shù)是不能引用它的。

本題中函數(shù)的功能是:與for語(yǔ)句一起求一個(gè)整數(shù)的階乘。

32.自然連接自然連接解析:在關(guān)系運(yùn)算中,自然連接運(yùn)算是對(duì)兩個(gè)具有公共屬性的關(guān)系所進(jìn)行的運(yùn)算。

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

34.b[i]=a[i]+a[i+1]b[i]=a[i]+a[i+1]解析:將數(shù)組a中元素a[i]與a[j+1]值相加后的值賦予數(shù)組b中元素b[i],即可實(shí)現(xiàn)將一個(gè)數(shù)組的前項(xiàng)和后項(xiàng)之和存入另一數(shù)組。

35.0

36.\0'或0或NULLstr[i]num++或num=num+1或num+=1\\0'或0或NULL\r\nstr[i]\r\nnum++或num=num+1或num+=1解析:觀察題目要求,可以知道以下幾點(diǎn):

①for循環(huán)的結(jié)束條件應(yīng)當(dāng)是:str[i]已是字符串的最后一個(gè)字符;

②str[i]代表字符串sb中的第i+1個(gè)字符:

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

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

37.#include<a:\myfile.txt>#include<a:\\myfile.txt>解析:本題考查了函數(shù)的存儲(chǔ)分類的概念。如果沒有特別說明,函數(shù)的存儲(chǔ)范圍是從定義函數(shù)的位置到文件的結(jié)尾,如果其他文件想使用這個(gè)函數(shù),需要用ginclude文件包含命令將定義函數(shù)的文件包含進(jìn)來。

38.8888解析:程序中的0210表示八進(jìn)制數(shù),%x是以十六進(jìn)制形式輸出。本題可先將0210轉(zhuǎn)換為十進(jìn)制數(shù),再將其轉(zhuǎn)換為十六進(jìn)制數(shù)。

39.n/2性表的任何位置插入一個(gè)元素的概率相等,即概率為p=1/(n+1),則插入一個(gè)元素時(shí)所需移動(dòng)元素的平均次數(shù)為E=1/(n+1)(n-i+1)=n/2。

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

41.A解析:在C語(yǔ)言中NULL的ASCII碼值為0,而輸出函數(shù)要求以整形格式輸出,故最后的輸出數(shù)為0。所以,4個(gè)選項(xiàng)中選項(xiàng)A符合題意。

42.C解析:本題考核的知識(shí)點(diǎn)是指針數(shù)組。本崽首先定義了一個(gè)有3個(gè)元素的指針數(shù)組s,并遭過賦值使s[0]指向字符串“one”s[1]指向字符串“two”,s[2]指向字符串“three”,然后通過賦值語(yǔ)句“p=s[1]”,使p指向了字符串“two”,故”(p+1)”就是字符“w”。所以,C選項(xiàng)為所選。

43.B解析:二維數(shù)組的初始化有以下幾種形式:①分行進(jìn)行初始化;②不分行進(jìn)行初始化;③部分?jǐn)?shù)組元素進(jìn)行初始化;④省略第一維的定義,不省略第二維的定義。選頃B)等號(hào)右邊分了3行,大于等號(hào)左邊數(shù)組的行數(shù)2。

44.C解析:程序首先定義了兩個(gè)文件類型的指針fp1、fp2。為讀打開文件filel,并讓指針fp1指向該文件;為寫打開文件file2,并讓指針fp2指向該文件。循環(huán)執(zhí)行從文件file1中讀取一個(gè)字符,輸出到文件file2中,直到文件file1結(jié)束。因此程序的功能是將文件file1中的內(nèi)容復(fù)制到文件file2中。

45.A解析:本題考查的是字符的輸入輸出函數(shù)getchar和putchar。本題程序段實(shí)現(xiàn)的功能是:從鍵盤上逐個(gè)的輸入字符,直到遇到‘?’則結(jié)束輸入,并把除‘?’以外輸入的每個(gè)字符輸出到屏幕上。

46.D解析:strcat(s1,s2)是把s2字符串連接到s1字符串的末尾,要保證s1能容納下連接后的字符串。

47.C

48.B

49.A解析:本題程序的功能是求1到99之間(包括1和99)所有奇數(shù)之和。程序中的while循環(huán)的終止條件為++i=100,在while循環(huán)體內(nèi),如果i是偶數(shù),則執(zhí)行continue,跳過這依次循環(huán),執(zhí)行下一次循環(huán),否則求和。最后輸出的值是1到99之間(包括1和99)所有奇數(shù)之和(1+99)*50/2=2500。

50.D解析:八進(jìn)制中,不可能包括8以上的數(shù)字,它的范圍只在07之間,以0開頭。同樣,十六進(jìn)制是以0x開頭,數(shù)字在0~9和A~F之間。

51.B解析:對(duì)二又樹的中序遍歷是指:首先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹。在遍歷左,右子樹時(shí),注意依舊按照“左子樹—根結(jié)點(diǎn)—右于樹”的順序。

52.C解析:strcat(s1,s2)是把s2字符串連接到s1字符串末尾,strcpy(s1,s2)是把s2字符串復(fù)制給s1字符串,要保證s1能容納下連接或復(fù)制后的字符串。

53.B解析:本題考核軟件工程中的需求分析環(huán)節(jié)。需求分析應(yīng)交付的主要文檔就是需求規(guī)格說明書。

54.B解析:數(shù)據(jù)庫(kù)產(chǎn)生的背景就是計(jì)算機(jī)的應(yīng)用范圍越來越廣泛,數(shù)據(jù)量急劇增加,對(duì)數(shù)據(jù)共享的要求越來越高。共享的含義是多個(gè)用戶、多種語(yǔ)言、多個(gè)應(yīng)用程序相互覆蓋的使用一些公用的數(shù)據(jù)集合。在這樣的背景下,為了滿足多用戶、多應(yīng)用共,享數(shù)據(jù)的要求,就出現(xiàn)了數(shù)據(jù)庫(kù)技術(shù),以便對(duì)數(shù)據(jù)庫(kù)進(jìn)行管理。因此,數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)就是解決數(shù)據(jù)的共享問題。故選項(xiàng)B正確。

55.A解析:在C語(yǔ)言中,動(dòng)態(tài)存儲(chǔ)區(qū)域中存放的變量在使用時(shí)才分配內(nèi)存空間,函數(shù)調(diào)用時(shí)返回的地址和自動(dòng)類局部變量等存放在動(dòng)態(tài)存儲(chǔ)區(qū)域中。auto變量和register變量都屬于自動(dòng)類局部變量,因此選項(xiàng)A正確。static說明的變量為靜態(tài)變量,靜態(tài)變量在內(nèi)存的靜態(tài)存儲(chǔ)中占據(jù)著永久的存儲(chǔ)單元,直至程序運(yùn)行結(jié)束。extern說明的變量為外部變量,屬于全局變量,全局變量在整個(gè)程序運(yùn)行期間都占用內(nèi)存空間。

56.B解析:本題中選項(xiàng)B是錯(cuò)誤的引用,*(a+i)+j只代表了a[i][j]的地址。

57.D解析:線性表的順序存儲(chǔ)是用一片連續(xù)的空間來存放數(shù)據(jù)元素,其特點(diǎn)是邏輯上相鄰的元素在物理位置上也相鄰。數(shù)據(jù)元素之間邏輯上的先后關(guān)系自動(dòng)隱含在物理位置的相鄰元素之中,因此,不需要另外開辟空間來保存元素之間的關(guān)系。

58.C解析:本題考查函數(shù)調(diào)用時(shí)的參數(shù)傳遞。函數(shù)point的參數(shù)為字符指針,當(dāng)執(zhí)行函數(shù)point時(shí),剛開始指針p指向“a”,經(jīng)過+3操作后,指針p指向“f”,所以最后的輸出結(jié)果是f。

59.A解析:本題主要考查結(jié)構(gòu)化程序設(shè)計(jì)的基本結(jié)構(gòu)。結(jié)構(gòu)化程序設(shè)計(jì)有3種基本結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。

60.B解析:視圖設(shè)汁一般有3種設(shè)計(jì)次序,它們分別是自頂向下、自底向上和由內(nèi)

向外,它們又為視圖設(shè)計(jì)提供了具體的操作方法,設(shè)計(jì)者可根據(jù)實(shí)際情況靈活掌握,可以

單獨(dú)使用也可混合使用。

注意:數(shù)據(jù)庫(kù)概念設(shè)計(jì)的過程:首先選擇局部應(yīng)用,再進(jìn)行局部視圖設(shè)計(jì),最后

對(duì)局部視圖進(jìn)行集成得到概念模式。

61.D所謂的后序遍歷是指,首先遍歷左子樹,然后遍歷右子樹,最后訪問根結(jié)點(diǎn),并且在遍歷左、右樹時(shí),仍然先遍歷左子樹,然后遍歷右子樹,最后訪問根點(diǎn)。因此,后序遍歷二叉樹的過程也是一個(gè)遞歸過程。

62.D

63.C解析:根據(jù)混合運(yùn)算規(guī)則,如果有一個(gè)數(shù)據(jù)是float型或double型,則其他數(shù)據(jù)類型先轉(zhuǎn)化為double型,運(yùn)算的結(jié)果最終也是double型。

64.CC語(yǔ)言是一種計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,常用的C語(yǔ)言IDE(集成開發(fā)環(huán)境)有MicrosoftVisualC++、BorlandC++、WatcomC++、BorlandC++Builder、GNUDJGPPC++、Lccwin32CCompiler3.1、HighC、TurboC、C-Free、win-tc等。

Basic是一種計(jì)算機(jī)高級(jí)設(shè)計(jì)語(yǔ)言,常見的有QuickBasic和VisualBasic。

DDL(DataDescriptionLanguage)是數(shù)據(jù)庫(kù)模式定義語(yǔ)言的縮寫,是用于描述數(shù)據(jù)庫(kù)中要存儲(chǔ)的現(xiàn)實(shí)世界實(shí)體的語(yǔ)言。一個(gè)數(shù)據(jù)庫(kù)模式定義包含該數(shù)據(jù)庫(kù)中所有實(shí)體的描述定義,包括結(jié)構(gòu)定義、操作方法定義等。DDL描述的模式必須由計(jì)算機(jī)軟件進(jìn)行編譯,轉(zhuǎn)換為便于計(jì)算機(jī)存儲(chǔ)、查詢和操縱的格式。

DML(DataManipulationLan

溫馨提示

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