2021-2022年江蘇省鹽城市全國計算機等級考試C語言程序設計真題(含答案)_第1頁
2021-2022年江蘇省鹽城市全國計算機等級考試C語言程序設計真題(含答案)_第2頁
2021-2022年江蘇省鹽城市全國計算機等級考試C語言程序設計真題(含答案)_第3頁
2021-2022年江蘇省鹽城市全國計算機等級考試C語言程序設計真題(含答案)_第4頁
2021-2022年江蘇省鹽城市全國計算機等級考試C語言程序設計真題(含答案)_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2021-2022年江蘇省鹽城市全國計算機等級考試C語言程序設計真題(含答案)學校:________班級:________姓名:________考號:________

一、單選題(20題)1.

2.有以下程序:main{union{charch[2];intd;}s;d=0x4321;printf("%x,%x\n",S.ch[0],S.ch[l]);}在16位編譯系統(tǒng)上,程序執(zhí)行后的輸出結果是()A.21,43B.43,21C.43,00D.21,00

3.下面C程序段中count++語句執(zhí)行的次數(shù)為()A.15B.16C.31D.32

4.a、b、c、d變量均為float類型且已正確賦值,下列選項中與數(shù)學式子“2ab/(5cd)”等價的C語言表達式是()。

A.2/5*a/c*d/b

B.a/(5*c*d)*(2*b)

C.2*a*b/5*c*d

D.2/5*a*d*(1/c*d)

5.

6.下列二叉排序樹中查找效率最高的是()

A.平衡二叉樹B.二叉查找樹C.沒有左子樹的二叉排序樹D.沒有右子樹的二叉排序樹

7.設一棵滿二叉樹共有15個結點,則在該滿二叉樹中的葉子結點數(shù)為()

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

8.廣告系統(tǒng)為了做地理位置定向,將IPV4分割為627672個區(qū)間,并標識了地理位置信息,區(qū)間之間無重疊,用二分查找將IP地址映射到地理位置信息,請問在最壞的情況下,需要查找多少次?()

A.17B.18C.19D.20

9.以下關于指針的說法錯誤的是()。

A.可以向指針中寫入任意數(shù)據(jù)

B.可以向指針所指內(nèi)存單元中寫入數(shù)據(jù)

C.指針可以指向與其基類型相同的普通變量

D.可以通過加法運算,使指針指向下一個內(nèi)存單元

10.閱讀以下程序及對程序功能的描述,其中正確的是#include<stdio.h>main(){FILE*in,*out;charch,infile[10],outfile[10];printf(“Entertheinfilename:\n”);scanf(“%s”,infile);printf(“Entertheoutfilename:\n”);scanf(“%s”,outfile);if((in=foen(infile,“r”))==NULL)printf(“cannotopeninfile\n”);exit(0);if((out=fopen(outfile,“w”))==NULL)printf(“cannotopenoutfile\n”);exit(0);while(!feof(in))fputc(fgetc(in),out);fclose(in);fclose(out);A.程序完成將磁盤文件的信息在屏幕上顯示的功能

B.程序完成將兩個磁盤文件合二為一的功能

C.程序完成將一個磁盤文件復制到另一個磁盤文件中

D.程序完成將兩個磁盤文件合并并在屏幕上輸出

11.有以下程序:#include<stdio.h>main(){ints[12]=(1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;for(i=0;i<12;i++) c[s[i]]++; for(i=1;i<5;i++) printf(“%d”,c[i]);printf(“\n”);}程序的運行結果是()。

A.2344B.4332C.1234D.1123

12.參加百年阿里培訓的n位同學結伴去西湖旁邊為游人指路,兩人一組,他們打算先讓體重之和恰好為102公斤的同學一組,請給出一個算法找到這樣的組合,或者確定他們中不存在這樣的組合,其中最優(yōu)的算法時間復雜度為?(假設體重均為整數(shù))()

A.O(log(n))B.O(n)C.O(nlog(n))D.O(n^2)

13.設單鏈表中結點的結構為非空的循環(huán)單鏈表first的尾結點(由p所指向)滿足:______A.p->link==NULL;B.p==NULL;C.p->link==first;D.p==first;

14.算術運算符和圓括號有不同的運算優(yōu)先級,對于表達式“a+b+c*(d+e)”,關于執(zhí)行順序,以下說法正確的是()。

A.先執(zhí)行“(d+e)”得r2,再執(zhí)行“c*r2”得r3,再執(zhí)行“a+b”得r1,最后執(zhí)行“r1+r3”得表達式最后結果

B.先執(zhí)行“a+b”得r1,再執(zhí)行“(d+e)”得r2,再執(zhí)行“c*r2”得r3,最后執(zhí)行“r1+r3”得表達式最后結果

C.先執(zhí)行“(d+e)”得r2,再執(zhí)行“c*r2”得r3,再執(zhí)行“b+r3”得r4,最后執(zhí)行“a+r4”得表達式最后結果

D.先執(zhí)行“a+b”得r1,再執(zhí)行“r1+c”得r5,再執(zhí)行“(d+e)”得r2,最后執(zhí)行“r5*r2”得表達式最后結果

15.下列數(shù)據(jù)結構中,能用二分法進行查找的是()

A.無序線性表B.線性鏈表C.二叉鏈表D.順序存儲的有序表

16.下列鏈表中,其邏輯結構屬于非線性結構的是()

A.雙向鏈表B.帶鏈的棧C.二叉鏈表D.循環(huán)鏈表

17.

18.

19.向一個棧頂指針為h的帶頭結點的鏈棧中插入指針s所指的結點時,應執(zhí)行()操作。

A.h->next=s;

B.s->next=h;

C.s->next=h;h->next=s;

D.s->next=h->next;h->next=s;

20.第

22

閱讀下面程序,則程序執(zhí)行后的結果為

#include"stdio.h"

main()

{inta=4,b=6,c=7;

doubled,fun(int,int,int);

d=fun(a,b,c);

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

doublefun(inta,intb,intc)

{doubles;

s=a%b*c;

returns;}

A.27B.27.000000C.28D.28.000000

二、2.填空題(20題)21.以下函數(shù)的功能是計算請?zhí)羁铡?/p>

doublefun(intn)

{doubles=0.0,fac=1.0;inti;

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

{fac=fac【】;

s=s+fac;

}

returns;

}

22.用復合的賦值運算符將變量x中的值增大2的賦值表達式是【】。

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

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

24.當輸入19、2時,下列程序的運行結果為【】;輸入254、16時,則程序的運行結果是【】。

main()

{chardata_symbols[17]="0123456789abcdefghijklmnopqrstuvwxyz";

inti=0,t,subscript,data_converted[32];

longnumber;

while(1)

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

if(number>=O&&t>=2&&t<=16)break;

}

do

{dataconverted[i++]=number%t;

number=number/t;

}

while(number!=0);

for(--i;i>=0;--i)

{subscript=data_converted[i];

printf("%c",data_symbols[subscript]);

}

printf("\n");

}

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

26.以下程序用來統(tǒng)計文件中字符個數(shù)。請?zhí)羁铡?/p>

#include"stdio.h"

main()

{FILE*fp;longnum=OL;

if((fp=fopen("fname.dat","r")==NULL)

{Pirntf("Openerror\n");exit(0);}

while(【】)

{fgetc(fp);num++;}

printf("num=%1d\n",num-1);

fclose(fp);

}

27.棧的基本運算有三種:入棧、退棧和【】。

28.下列程序段中循環(huán)體的執(zhí)行次數(shù)是______。

a=15;

b=0;

do{b+=2;a-=2+b;}while(a>=0);

29.以下程序的輸出結果是【】。

#include<stdio.h>

main()

{inta=0;

a+=(a=8);

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

}

30.設有如下宏定義

#defineMYSWAP(z,x,y){z=x;x=Y;Y=z;}

以下程序段通過宏調(diào)用實現(xiàn)變量a、b內(nèi)容的交換,請?zhí)羁铡?/p>

floata=5,b=16,c;

MYSWAP(【】,a,b);

31.與表達式a+=b等價的另一書寫形式是______。

32.下面程序的輸出結果是【】。

charb[]="ABCD";

main()

{

charb[30];

strcpy(&b[0],"GH");

strcpy(&b[1],"GH");

strcpy(&b[2],"GH");

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

}

33.有下列程序;

#include<stdio.h>

main()

{charc;

while((c=getchar())!=',')putchar(++C);

}

程序運行時,如果從鍵盤輸入:A,B,<CR>,則輸出結果為______。

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

1

11

121

1331

14641

其構成規(guī)律是:

(1)第0列元素和主對角線元素均為1

(2)其余元素為其左卜方和正上方元素之和

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

請將程序補充完整。

#defineN6

voidyanghui(intx[N][N])

{inti,j;

x[0][0]=1;

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

{x[i][0]=______=1;

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

x[i][j]=______;

}

}

35.下述函數(shù)統(tǒng)計字符串中的單詞個數(shù),單詞是指處在空格之間的字符序列,請?zhí)羁铡?/p>

intword(char*s)

{intnum=0,flag=0;

while(*s)

{if(【】=")flag=0;

elseif【】{flag=1;num++}

}

return【】;}

36.數(shù)據(jù)庫恢復是將數(shù)據(jù)庫從______狀態(tài)恢復到某一已知的正確狀態(tài)。

37.以下程序的運行結果是【】。

#defineMAX(a,b)(a>b?a:b)+1

main()

{inti=6,j=8,k;

printf("%d\n",MAX(i,j));

}

38.下面程序的運行結果是【】。

main()

{unsigneda=0112,x;

x=a>>3;

printf("x=%o",x);

}

39.有以下結構體說明和變量的定義,且指針p指向變量a,指針q指向變量b,則不能把結點b連接到結點a之后的語句是【】。

structnode

{chardata;

structnode*next;}a,b

40.在程序設計階段應該采取【】和逐步求精的方法,把一個模塊的功能逐步分解,細化為一系列具體的步驟,進而用某種程序設計語言寫成程序。

三、1.選擇題(20題)41.假定在一棵二叉樹中,雙分支結點數(shù)為15個,單分支結點數(shù)為32個,則葉結點數(shù)為______個。

A.15B.16C.17D.47

42.有以下程序;intf1(doubleA){returna*a;}intf2(doublex,doubley){doublea,b;a=n(x);b=f1(y);returna+b;}main(){doublew;w=f2(1.1,2.0);┇}變量w中的值是()

A.5.21B.5C.5D.0

43.在深度為5的滿二叉樹中,結點的個數(shù)為

A.32B.31C.16D.15

44.能正確表示邏輯關系""a≥10或a≤0"",的C語言表達式是_____。

A.a>=10ora<=0

B.a>=0|a<=10

C.a>=10&&a<=0

D.a>=10||a<=10

45.下列選項中不屑于C語言數(shù)據(jù)類型的是()

A.整型B.邏輯型C.雙精度型D.枚舉型

46.有如下程序intfunc(inta,intb){return(a+b);}main(){intx=2,y=5,z=8,r;r=func(func(x,y),z);printf("%d\n",r);}該程序的輸出結果是______。

A.12B.13C.14D.15

47.數(shù)據(jù)庫的物理設計是為一個給定的邏輯結構選取一個適合應用環(huán)境的______的過程,包括確定數(shù)據(jù)庫在物理設備上的存儲結構和存取方法。

A.邏輯結構B.物理結構C.概念結構D.層次結構

48.以下不能正確計算代數(shù)式sin2()值的C語言表達式是()。

A.1/3*sin(1/2)*sin(1/2)

B.sin(0.5)*sin(0.5)/3

C.pow(sin(0.5),2)/3

D.1/3.0*pow(sin(1.0/2),2)

49.下列程序的輸出結果是()。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

50.按照“先進后出”原則組織數(shù)據(jù)的數(shù)據(jù)結構是()。

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

51.面向?qū)ο蟮脑O計方法與傳統(tǒng)的面向過程的方法有本質(zhì)不同,它的基本原理是()。

A.模擬現(xiàn)實世界中不同事物之間的聯(lián)系

B.強調(diào)模擬現(xiàn)實世界中的算法而不強調(diào)概念

C.使用現(xiàn)實世界的概念抽象地思考問題從而自然地解決問題

D.鼓勵開發(fā)者在軟件開發(fā)的絕大部分中都用實際領域的概念去思考

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

A.goodabcB.abcdC.abcD.abcgood

53.在數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)語言中,負責數(shù)據(jù)的完整性、安全性的定義與檢查以及并發(fā)控制、故障恢復等功能的是

A.數(shù)據(jù)定義語言B.數(shù)據(jù)轉(zhuǎn)換語言C.數(shù)據(jù)操縱語言D.數(shù)據(jù)控制語言

54.若有如下程序:sub(p,n)int(*p)[3],n;{inti;for(i=0;i<=n;i++)printf("%d",*(*(p+i)+n));}main(){ints[3][3]={1,2,3,4,5,6,7,8,9};sub(s,2);}則程序運行后的輸出結果是()

A.369B.248C.456D.789

55.______是構成C語言程序的基本單位。

A.函數(shù)B.過程C.子程序D.子例程

56.以下不屬于對象的基本特點的是()

A.分類性B.多態(tài)性C.繼承性D.封裝性

57.對關系S和R進行集合運算,結果中既包含S中的所有元組也包含R中的所有元組,這樣的集合運算稱為()

A.并運算B.交運算C.差運算D.積運算

58.執(zhí)行以下語句后的輸出結果是______。intx=3,y=0;printf("%d,%d”,-1>x>-10&&1<x<10,-1>y>-10&&1<y<10);

A.12B.11C.12D.22

59.有以下程序main(){ihta[]{2,4,6,9,10},y=0,x,*p;p=&a[1];for(x=1);X<3;x++)y+=p[x];printf("%d\n",y);程序運行后的輸出結果是

A.10B.11C.14D.15

60.有下列程序:main(){inti;for(i=1;i<=40;i++){if(i++%5==0)if(++i%8==0)printf("%d",i);}printf("\n");}執(zhí)行后的輸出結果是()。

A.5B.24C.32D.40

四、選擇題(20題)61.

62.有以下程序:

程序運行后的輸出結果是()。

A.Zhao,m,85,90B.Qian,m,85,90C.Zhao,f,95,92D.Qian,f,95,92

63.

64.為了避免嵌套的條件分支語句if—else的二義性,C語言規(guī)定:C程序中的else總是與_____組成配對關系。

A.縮排位置相同的ifB.在其之前未配對的ifC.在其之前未配對的最近的ifD.同一行上的if

65.

66.以下程序的輸出結果是()。

#definef(x)x*x

main

{inta=6,b=2,c;

c=f(a)/f(b);

printf(“%d\n”,c);

}

A.9B.6C.36D.18

67.

68.

69.在位運算中,操作數(shù)左移一位,其結果相當于A.A.操作數(shù)乘以2

B.操作數(shù)除以2

C.操作數(shù)除以4

D.操作數(shù)乘以4

70.

71.

執(zhí)行下述程序后,輸出的結果是()。

#include<stdio.h>

#defineS(X)X*X

voidmain

{inta=9,k=3,m=2;

a/=S(k+m)/s(k+m);

printf("%d",a);

}

A.1B.4C.9D.0

72.

73.

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

A.程序設計的任務就是編寫程序代碼并上機調(diào)試

B.程序設計的任務就是確定所用數(shù)據(jù)結構

C.程序設計的任務就是確定所用算法

D.以上三種說法都不完整

75.為了提高軟件的獨立性,模塊之間最好是()。

A.控制耦合B.公共耦合C.內(nèi)容耦合D.數(shù)據(jù)耦合

76.有三個關系R、S和T如下:

由關系R和S通過運算得到關系T,則所使用的運算為()。

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

77.

78.有以下程序:

#include<stdio.h>

main()

{inta=-2,b=0;

while(a++++b);

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

}

程序運行后的輸出結果是()。

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

79.設有以下語句

charx=3,y=6,z;

z=x^y<<2;

則z的二進制值是

A.00010100B.00011011C.00011100D.00011000

80.下列數(shù)據(jù)結構中屬于非線性結構的是()。

A.隊列

B.線性表

C.二叉樹

D.棧

五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc()的功能是:求S的值。

例如,當n為100時,函數(shù)的值應為1.566893。

請改正程序中的錯誤,使它能得出正確的結果。

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

試題程序:

六、程序設計題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項目中包含一個源程序文件prog1.c。在此程序中,已知學生的記錄由學號和學習成績構成,N名學生的記錄已存入a結構體數(shù)組中。請編寫函數(shù)fun(),該函數(shù)的功能是找出成績最高的學生記錄,通過形參將其返回主函數(shù)(規(guī)定只有一個最髙分)。已給出函數(shù)的首部,請完成該函數(shù)。注意:部分源程序給出如下。請勿改動主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號中填入你編寫的若干語句。試題程序:#include<stdlib.h>#include<stdio.h>#include<string.h>#include<conio.h>#defineN10typedefstructss/*定義結構體*/{charnum[10];ints;}STU;fun(STUa[],STU*s){}voidmain(){STUa[N]={{“A01”,81},{“A02”,89},{“A03”,66},{“A04”,87},{“A05”,77},{“A06”,90},{“A07”,79},{“A08”,61},{“A09”,80},{“A10”,71}},m;inti;system(“CLS”);printf(“****Theoriginaldata****”);for(i=0;i<N;i++)printf(“No=%sMark=%d\n”,a[i].num,a[i].s);fun(a,&m);printf(“****THERESULT****\n”);printf(“Thetop:%s,%d\n”,m.num,m.s);}

參考答案

1.B

2.As是一個公用體,d的值分別與ch中的兩個元素的值相同,d的高位放在chFl]中、低位放在chl-0]中,因此輸出的結果為21,43。

3.A

4.B解析:選項A和選項D中首先計算2/5,因為兩個計算分量都是整型,所以結果為2,與實際運算不符;選項B中因為乘除法滿足交換律,所以2*b放前面和放后面都是一樣的,所以滿足題目要求;選項C中的表達式等價于2abcd/5,所以不滿足題目要求。故應該選擇B。

5.B本題考查標準輸入輸出函數(shù)和循環(huán)語句。gets(s)函數(shù)的作用是將輸入的字符讀入字符串s,直到遇到回車。而scanf函數(shù)接收字符串時的結束標志為回車或者空格。因此選項B)不能,選項C)和選項D)中按字符逐個讀入字符串s中,直到讀入的字符是換行符為止,因此B正確。

6.A

7.BB)【解析】在具有11個結點的滿二叉樹,其非葉子結點數(shù)為int(n/2),而葉子結點數(shù)等于總結點數(shù)減去葉子結點數(shù)。本題n=15,故非葉子結點數(shù)等于int(15/2)=7,葉子結點數(shù)等于15-7=8。

8.D

9.A指針變量必須區(qū)分基類型,可以向指針所指內(nèi)存單元寫入與基類型相同的數(shù)據(jù),而不能寫入任意數(shù)據(jù),選項A錯誤,選項B正確;指針可以指向與其基類型相同的普通變量,選項C正確;指針是一個內(nèi)存地址,它是一個整數(shù),可以通過加法運算,使指針指向下一個內(nèi)存單元,選項D正確。故本題答案為A選項。

10.C

11.B在“for(i=0;i<12;i++)c[s[i]]++”中,數(shù)組元素s[i]的值作為數(shù)組c的下標。當退出循環(huán)時,數(shù)組c的4個元素的值分別為4、3、3、2。故本題答案為B選項。

12.B

13.C

14.B題干表達式中,圓括號的優(yōu)先級最高,乘法運算符次之,加法運算符最低。同優(yōu)先級中,加法運算符的結合性從左向右結合,所以題干中的表達式執(zhí)行順序是:先執(zhí)行“a+b”得r1,再執(zhí)行“(d+e)”得r2,再執(zhí)行“c*r2”得r3,最后執(zhí)行“r1+r3”得表達式最后結果。故本題答案為B選項。

15.DD)【解析】二分法查找只適用于順序存儲的有序表,表中的元素按值從小到大排列。

16.C數(shù)據(jù)的邏輯結構是描述數(shù)據(jù)之間的關系,分兩大類:線性結構和非線性結構。線性結構是n個數(shù)據(jù)元素的有序(次序)集合,指的是數(shù)據(jù)元素之間存在著“一對一”的線性關系的數(shù)據(jù)結構。常用的線性結構有:線性表,棧,隊列,雙隊列,數(shù)組,串。非線性結構的邏輯特征是一個結點元素可能對應多個直接前驅(qū)和多個后驅(qū)。常見的非線性結構有:樹(二叉樹等),圖(網(wǎng)等),廣義表。

17.C

18.C

19.D

20.D

21./i或*(1.O/i)或/(double)i/i或*(1.O/i)或/(double)i解析:主函數(shù)中首先定義了兩個double型的變量s和fac,并給它們賦初值為0.0和1.0,在函數(shù)中s和fac的作用是存放和以及要加到的那一項的值。通過分析可知,第i項的值可以由第i-1項的值得到,即第i項是第i-1項的值除以i??梢姍M線處應添“/i”或與它等價的表達式。

22.x+=2

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

24.10011fe

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

26.!feof(fp)!feof(fp)解析:本題中統(tǒng)計文件中字符個數(shù)的算法可描述為;首先判斷文件位置指針是否指向了文件尾,如果不是則讀出一個字符,同時字符的個數(shù)加1,再判斷文件位置指針是否位于文件尾,如此循環(huán),直到文件位置指針位于文件尾為止。本題首先以讀文件的方式打開了文件“fname.dat”,如果打開成功則把返回的文件型指針賦值給fp,然后通過循環(huán)求文件中的字符數(shù)。首先判斷文件位置指針是否位于文件尾,如果不是則循環(huán)讀取字符,每次字符數(shù)加l。所以下劃處應填循環(huán)條件,文件位置指針不是指向文件尾,即“!feof(fp)”。

27.讀棧頂元素讀棧頂元素解析:棧的基本運算有三種:入棧、退棧和讀棧頂元素。

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

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

讀棧頂元素是指將棧頂元素賦給一個指定的變量。這個運算不刪除棧頂元素,只是將它的值賦給一個變量。

28.33解析:本題考查do…while語句形式:

do循環(huán)體

while表達式

首先執(zhí)行循環(huán)體語句,然后檢測循環(huán)控制條件表達式的值,若為真,則重復執(zhí)行循環(huán)體語句,否則退出循環(huán)。第1次循環(huán):b+=2,b=2,a-=2+b,a=11;第2次循環(huán):b=4,a=5;第3次循環(huán):b=6,a=-3,此時再判斷循環(huán)條件不滿足,退出循環(huán)。

29.1616解析:本題中a+=8相當于a=a+8。對表達式逐步進行求解:在a+=(a=8)中,首先a被賦值為8,語句等價于a+=8;即a=a+8;結果為a=16。

30.cc解析:本題關鍵在考生是不是了解宏的基本運用,在使用宏的時候明顯少了—個實參。在定義宏的時候變量z是用來做中間變量的,題目中缺的變量就是一個中間變量c。

31.a=a+ba=a+b解析:a+=b與a=a+b等價,作用是把變量a的值加b后再賦給變量a。

32.GGGHGGGH解析:由于在函數(shù)main中定義了數(shù)組變量b,其將屏蔽全局變量b。對于一維數(shù)紐變量,其值為一常數(shù),等于數(shù)組首元素地址。strcpy(&b[0],'GH'),是將字符串'GH'復制到數(shù)組b中從首元數(shù)開始的空間中,此是b中的字符串為”叫”:strcpy(&b[1],'GH'),是將字符串'GH'復制到數(shù)組b中從第二個元素開始的空間中,此是b中的字符串為“GH”。執(zhí)行第三次strcpy函數(shù)后,b中的字符串為'GGGH'。

33.BB解析:因為c是字符類型變量,它只能接收一個字符,所以c=A,字符型變量在參與算術運算的時候是用其相應的ASCII碼參與運算的,這樣++c得到字母B的ASCII碼,用putchar函數(shù)輸出是輸出其相應的字符,所以是B。

34.x[i][i]x[i-1][j-1]+x[i-1]或x[i-1][j]+x[i-1][j-1]x[i][i]\r\nx[i-1][j-1]+x[i-1]或x[i-1][j]+x[i-1][j-1]解析:本題考核的知識點是函數(shù)與算法結合在一起的應用。在程序中用兩重循環(huán)。在第一層循環(huán)中將每行的第0列賦值為1,對角線上的元素賦值為1顯然在第一個空中應該填入對角線上的元素即x[i][i]在第2重循環(huán)中給每行其他元素賦值,而在每行中除了第0列和對角線的元素外其他元素為其對應的上一行中同列和同列的前一列的元素相加,所以在第二個空中應該填入x[i-1][j-1]+x[i-1][j]。

35.*s++flag=0或*(s-1)=''num*s++\r\nflag=0或*(s-1)=''\r\nnum解析:在統(tǒng)計字符串單詞個數(shù)的算法中,本題的flag是為了記錄一個單詞是否結束。第13空應填*s++;如果某個字符不是空格,則必須判斷它是否是單詞,如是,則使得flag的標志為1,num的值加1。本題判斷方法是:先判斷s所指向的字符是否為空恪,如果是則使得flag=0,否則判斷前一個字符是否是空格,如果是則說明這個字符是—個單詞的開始,將flag標志為1,num的值加1,如果不是,則不必記錄。故第14空應填flag=0或*(s-1);最后一個空格需填寫的是返回的單詞的個數(shù),即num。

36.錯誤。錯誤。解析:數(shù)據(jù)庫恢復是將數(shù)據(jù)庫中的數(shù)據(jù)從錯誤狀態(tài)中恢復到某種邏輯一致的狀態(tài)。如果數(shù)據(jù)庫中包含成功事務提交的結果,則稱數(shù)據(jù)庫處于一致性狀態(tài)。

37.99解析:本題考查宏定義與三目運算符的綜合用法,宏定義是原樣替換,本題中,如果a>b成立,則a+1的值為整個表達式的值,否則為b+1的值為整個表達式的值,(應注意后面的加1)。

38.x=11x=11解析:在對無符號數(shù)的右移是高位補0。

39.a.next=aba.next=ab解析:選項A)中,指針變量q保存的就是變量b的地址,選項B)中的p是指針變量,應該是p->next=&b;在選項D)中,用*運算符取出結構體變量,并且保存的就是b的地址。

40.自頂而下自頂而下

41.B

42.C

43.B解析:二叉樹有如下性質(zhì):深度為m的二叉樹最多有2的m次方再減1個結點,也就是2m-1=25-1=32-1=31。由此可知答案為B。

44.D解析:C語言中的“或”關系用“||”表示,其他相關邏輯運算符“與”用“&&”表示;運算符“非”用“!”來表示。

45.B

46.D解析:調(diào)用函數(shù)func(x,y),返回x+y,即7;再調(diào)用函數(shù)func(7,z),返回7+z,即15。

47.B解析:根據(jù)數(shù)據(jù)庫物理設計的概念可知:為一個給定的邏輯數(shù)據(jù)模型選取一個最合適應用要求的物理結構的過程,就是數(shù)據(jù)庫的物理設計。數(shù)據(jù)庫的物理結構就是指數(shù)據(jù)庫在物理設備上的存儲結構與存取方法。

48.A解析:A中sin(1/2)是0,因為1和2都是整數(shù),“/”在這里是整除。

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

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

【知識拓展】“棧”的形式如手槍的彈匣,最后壓入的子彈總是最先被彈出,而最先壓人的子彈最后才被彈出,也就是“先進后出”。

51.C解析:面向?qū)ο蟮脑O計方法與傳統(tǒng)的面向過程的方法有本質(zhì)不同。它的基本原理是,使用現(xiàn)實世界的概念抽象地思考問題從而自然地解決問題。它強調(diào)模擬現(xiàn)實世界中的概念而不強調(diào)算法,它鼓勵開發(fā)者在軟件開發(fā)的絕大部分中都用應用領域的概念去思考。

52.C解析:主函數(shù)中定義了一個文件指針fp1,然后通過fopen()函數(shù),以寫的方式打開文件“fl.txt”,并讓指針fp1指向它,接著調(diào)用fpfintf()函數(shù)將“abc”寫到文件fp1所指的文件里,由于開始fp1指向文件的“fl.txt”的開始位置,因此“abc”將把文件“fl.txt”里原來的內(nèi)容“good”覆蓋掉,故文件“fl.txt”里最后的內(nèi)容為“abc”。

53.D解析:在數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)語言中,數(shù)據(jù)控制語言負責數(shù)據(jù)的完整性、安全性的定義與檢查以及并發(fā)控制、故障恢復等功能。

54.A

55.A解析:C程序是由函數(shù)構成的。—個C源程序至少包含—個main函數(shù),也可以包含—個main函數(shù)和若干個其他函數(shù),因此,函數(shù)是C程序的基本單位。

56.C解析:對象的基本特點包括;標識惟一性、分類性、多態(tài)性、封裝性和獨立性等。繼承性不屬于對象的基本特點。

57.AA)【解析】關系的并運算是指由結構相同的兩個關系合并,形成一個新的關系,新關系中包含兩個關系中的所有元組。

58.B

59.C解析:題目首先申請了一個整型數(shù)組a,并讓一個指針變量p指向數(shù)組的元素arl)。然后使用一個for循環(huán),循環(huán)變量x從1遞增到2,即循環(huán)兩次.在循環(huán)體中每次讓y累加p[x]的值,而p[x)寫成指針形式就是*(p+x)。所以兩次y加的值分別是a[2]和a[3]的值,故最終輸出6+8=14。應該選擇C。

60.C解析:在for循環(huán)體中,首先判斷自變量i能否被5整除,然后再自加兩次,最后判斷i能否被8整除。當for循環(huán)執(zhí)行到第30次時,i的值為30能被5整除,然后i經(jīng)過兩次自加1運算,值變?yōu)?2,能被8整除,故執(zhí)行“printf('%d',i);”語句,即輸出32。本題的答案為選項C)。

61.C

62.D本題考查結構體的相關操作以及傳值、傳址的區(qū)別,該題中調(diào)用f函數(shù)后,會生成參數(shù)C的一個副本,而不會改變c的值,所以c值維持原值,選項D正確。

63.B

64.C

65.D

66.C

67.A

68.C

69.A左移運算符“<<”是雙目運算符,其功能是把“<<”左邊的運算數(shù)的

溫馨提示

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

評論

0/150

提交評論