2021年河北省衡水市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第1頁(yè)
2021年河北省衡水市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第2頁(yè)
2021年河北省衡水市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第3頁(yè)
2021年河北省衡水市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第4頁(yè)
2021年河北省衡水市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩73頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(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ì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.已知字符A的ASCII值是65,字符變量c1的值是‘A’,c2的值是‘D’,則執(zhí)行語(yǔ)句“printf(“%d,%d”,c1,c2-2);”的輸出結(jié)果是()。

A.65,68B.A,68C.A,BD.65,66

2.有以下程序voidf(intn,int*r){intr1=0;if(n%3==0)r1=n/3;elseif(n%5==0)r1=n/5;elsef(--n,&r1);*r=r1;}main(){intm=7,r;f(m,&r);printf("%d",r);}程序運(yùn)行后的輸出結(jié)果是A.2B.1C.3D.0

3.有下列程序:fun(intx,inty){staticintm=0,i=2;i+=m+1;m=i+x+y;returnm;}main(){intj=1,m=1,k;k=fun(j,m);printS(”%d,”,k);k=fun(j,m);printf(”%d\n”,k);)執(zhí)行后的輸出結(jié)果是()。A.5,5B.5,11C.11,11D.11,5

4.有以下程序:#include<stdio.h>#include<string.h>main(){chara[]=“THIS\0”,*b=“OK\0\0”;printf(“%d,%d,%d,%d”,strlen(a),sizeof(a),strlen(b),sizeof(b));}程序運(yùn)行后的輸出結(jié)果是()。

A.4,6,2,4B.4,4,4,1C.6,5,2,1D.6,4,2,4

5.下列關(guān)于標(biāo)識(shí)符的說(shuō)法中錯(cuò)誤的是

A.合法的標(biāo)識(shí)符是由字母、數(shù)字和下劃線組成

B.C語(yǔ)言的標(biāo)識(shí)符中,大寫(xiě)字母和小寫(xiě)字母被認(rèn)為是兩個(gè)不同的字符

C.C語(yǔ)言的標(biāo)識(shí)符可以分為三類(lèi),即關(guān)鍵字、預(yù)定義標(biāo)識(shí)符和用戶(hù)標(biāo)識(shí)符

D.用戶(hù)標(biāo)識(shí)符與關(guān)鍵字不同時(shí),程序在執(zhí)行時(shí)將給出出錯(cuò)信息

6.設(shè)有如下定義語(yǔ)句:intm[]={2,4,6,8,10},*k=m;以下選項(xiàng)中,表達(dá)式的值為6的是()。

A.*(k+2)B.k+2C.*k+2D.*k+=2

7.以下不完整的程序擬實(shí)現(xiàn)調(diào)用getmax函數(shù),找出4個(gè)變量中最大的一個(gè):#include<stdio.h>intgetmax(intx,inty){returnx>yx:y;}voidmain(){inta,b,c,d,mx;scanf(“%d%d%d%d”,&a,&b,&c,&d);printf(“max=%d\n”,________);}以下選項(xiàng)若填入下劃線處,不能實(shí)現(xiàn)上述功能的是()。

A.getmax(getmax(getmax(a,b),c),d)

B.getmax(getmax(a,b),getmax(c,d))

C.getmax(a,getmax(b,getmax(c,d)))

D.mx=(getmax(a,b),getmax(c,d))

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

A.文件指針是一種特殊的指針類(lèi)型變量

B.文件指針的值等于文件當(dāng)前讀寫(xiě)位置,以字節(jié)為單位

C.文件指針的值等于文件在計(jì)算機(jī)硬盤(pán)中的存儲(chǔ)位置

D.調(diào)用fscanf函數(shù)只能向文本文件中寫(xiě)入任意字符

9.軟件生命周期是指()。

A.軟件的定義和開(kāi)發(fā)階段

B.軟件的需求分析、設(shè)計(jì)與實(shí)現(xiàn)階段

C.軟件的開(kāi)發(fā)階段

D.軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過(guò)程

10.

11.有1000個(gè)無(wú)序的整數(shù),希望使用最快的方式找出前50個(gè)最大的,最佳的選擇是()

A.冒泡排序B.基數(shù)排序C.堆排序D.快速排序

12.排序方法中,從未排序序列中依次取出元素與已排序序列中的元素進(jìn)行比較,將其放入已排序序列的正確位置上的方法,稱(chēng)為()。

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

13.以下說(shuō)法正確的是()。

A.C語(yǔ)言只接受十進(jìn)制的數(shù)

B.C語(yǔ)言只接受二進(jìn)制、八進(jìn)制、十六進(jìn)制的數(shù)

C.C語(yǔ)言只接受二進(jìn)制、十進(jìn)制、十六進(jìn)制的數(shù)

D.C語(yǔ)言只接受八進(jìn)制、十進(jìn)制、十六進(jìn)制的數(shù)

14.給出以下定義: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)度

15.下列方法中,屬于白盒法設(shè)計(jì)測(cè)試用例的方法的是()。

A.錯(cuò)誤推測(cè)B.因果圖C.基本路徑測(cè)試D.邊界值分析

16.若有以下的定義:‘intt[3][2];”,能正確表示t數(shù)組元素地址的表達(dá)式是()。

A.&t[3][2]B.t[3]C.t[l]D.t[2][2]

17.有以下程序:#include<stdio.h>main(){FILE*fp;inti,a[6]={1,2,3,4,5,6},k;fp=fopen(“data,dat”,“w+”);for(i=0;i<6;i++)fprintf(fp,“%d\n”,a[5-i]);rewind(fp);for(i=0;i<6;i++){fscanf(fp,“%d”,&k);printf(“%d,”,k);}fclose(fp);}程序運(yùn)行后的輸出結(jié)果是()。

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

18.現(xiàn)在有16枚外形相同的硬幣,其中一枚是假幣,且已知假幣比真幣重量輕。先給定一架沒(méi)有砝碼的天平,問(wèn)至少需要多少次稱(chēng)量才能找到這枚假幣?

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

19.

20.有以下程序#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

二、2.填空題(20題)21.數(shù)據(jù)庫(kù)系統(tǒng)中實(shí)現(xiàn)各種數(shù)據(jù)管理功能的核心軟件稱(chēng)為【】。

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

#include<stdio,h>

main()

{inta=1,b=2,c=3;

if(c=a)printf("%d\n",c);

elseprintf("%d\n",b);}

23.\13'在內(nèi)存中占1個(gè)字節(jié),"\12"在內(nèi)存中占______個(gè)字節(jié)。

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

structdate

{intday;

intmouth;

intyear;

union{intshare1;

floatshare2;

}share;

}a;

25.若有如下定義:

int[]={11,24,56,19,29,39),*t=s;

則不移動(dòng)指針t,且通過(guò)指針t引用數(shù)組中值為29的元素的表達(dá)式是【】。

26.下面程序是計(jì)算100以?xún)?nèi)能被4整除且個(gè)位數(shù)為4的所有整數(shù),請(qǐng)?zhí)羁铡?/p>

main()

{intm,n;

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

{n=m*10+4;

If(【】)continue;

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

27.棧中允許進(jìn)行插入和刪除的一端叫做______。

28.表示“整數(shù)x的絕對(duì)值大于5”時(shí)值為“假”的C語(yǔ)言表達(dá)式是______。

29.下列程序的循環(huán)次數(shù)是______。

x=2;

do

{x=x*x;}

while(!x);

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

#include<string.h>

char*ss(char*s)

{returns+strlen(s)/2;}

main()

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

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

}

31.程序測(cè)試分為靜態(tài)分析和動(dòng)態(tài)測(cè)試。其中【】是指不執(zhí)行程序,而只是對(duì)程序文本進(jìn)行檢查,通過(guò)閱讀和討論,分析和發(fā)現(xiàn)程序中的錯(cuò)誤。

32.在運(yùn)算過(guò)程中,能夠使空表與非空表的運(yùn)算統(tǒng)一的結(jié)構(gòu)是【】。

33.數(shù)據(jù)流的類(lèi)型有______和事務(wù)型。

34.用樹(shù)型結(jié)構(gòu)表示實(shí)體類(lèi)型及實(shí)體間聯(lián)系的數(shù)據(jù)模型稱(chēng)為【】。

35.下面程序有兩個(gè)printf語(yǔ)句,如果第一個(gè)printf語(yǔ)句輸出的是194,則第二個(gè)printf語(yǔ)句的輸出結(jié)果是【】。

main()

{inta[10]={1,2,3,4,5,6,7,8,9,0},*p;

p=a;

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

printf("%x\",p+9);

}

36.在數(shù)據(jù)庫(kù)理論中,數(shù)據(jù)庫(kù)總體邏輯結(jié)構(gòu)的改變,如修改數(shù)據(jù)模式、增加新的數(shù)據(jù)類(lèi)型、改變數(shù)據(jù)間聯(lián)系等,不需要修改相應(yīng)的應(yīng)用程序,稱(chēng)為【】。

37.目前實(shí)際存在和使用的廣域網(wǎng)基本上都是采用______拓?fù)浣Y(jié)構(gòu)類(lèi)型。

有以下程序:

#include<string.h>

structSTU

{intnum;

floatTotalScore;};

voidf(structSTUp)

{structSTUs[2]={{20041,703},{20045,537}};

p.num=s[1].num;p.TotalScore=s[1].TotalScore;

}

main()

{structSTUs[2]={{20041,703},{20042,580}};

f(s[0]);

printf("%d%3.0f\n",s[0].num,s[0],TotalScore);

}

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

38.以下程序中,fun函數(shù)的功能是求3行4列二維數(shù)組每行元素的最大值。請(qǐng)?zhí)羁铡?/p>

voidfun(int,int,int(*)[4],int*);

main()

{

inta[3][4]={{12,41,36,28},{19,33,15,27),{3,27,19,1}},b[3],i;

fun(3,4,a,B);

for(i=0;i<3;i++)printf("%4d",b[i]);

printf("\n");

}

voidfun(intm,intn,intar[][4],int*br)

{inti,j,x;

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

{

x=ar[i][0];

for(i=0;j<n;j++)if(x<ar[i][j])x=ar[i][j];

______=X;

}

}

39.函數(shù)fun的功能是計(jì)算xn

doublefun(doublex,intn)

{inti;doubley=1;

for(i=1;i<=n;i++)y=y*x;

returny;

}

主函數(shù)中已正確定義m、a、b變量并賦值,并調(diào)用fun函數(shù)計(jì)算:m=a4+b4-(a+b)3。實(shí)現(xiàn)這一計(jì)算的函數(shù)調(diào)節(jié)器用語(yǔ)句為_(kāi)_____。

40.以下程序的作用是:從名為filea.dat的文本文件中逐個(gè)讀入字符并顯示在屏幕上。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{FILE*fp;charch;

fp=fopen(______);

ch=fSetc(fp);

while(!feof(fp)){putchar(ch);ch=fSetc(fp);}

putchar('\n');fclose(fp);

}

三、1.選擇題(20題)41.有以下程序floatfun(intx,inty){return(x+y);}main(){inta=2,b=5,c=8;printf("%3.0f\n",fun((int)fun(a+c,b),a-c));}程序運(yùn)行后的輸出結(jié)果是

A.編譯出錯(cuò)B.9C.21D.9

42.有以下程序

#include<stdio.h>

voidfun(int*a,intn)/*fun函數(shù)的功能是將a所指數(shù)組元素從大到小排序*/

{intt,i,j;

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

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

if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}

}

main()

{intc[10]={1,2,3,4,5,6,7,8,9,0},i;

fun(c+4,6);

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

printf("\n");

}

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

A.1,2,3,4,5,6,7,8,9,0,

B.0,9,8,7,6,5,1,2,3,4,

C.0,9,8,7,6,5,4,3,2,1,

D.1,2,3,4,9,8,7,6,5,0,

43.在進(jìn)行單元測(cè)試時(shí),常用的方法是

A.采用白盒測(cè)試,輔之以黑盒測(cè)試B.采用黑盒測(cè)試,輔之以白盒測(cè)試C.只使用白盒測(cè)試D.只使用黑盒測(cè)試

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

A.一個(gè)C語(yǔ)言程序只能實(shí)現(xiàn)一種算法

B.c程序可以由多個(gè)程序文件組成

C.C程序可以由一個(gè)或多個(gè)函數(shù)組成

D.一個(gè)c函數(shù)可以單獨(dú)作為一個(gè)C程序文件存在

45.若變量已正確定義并賦值,以下符合C++語(yǔ)言語(yǔ)法的表達(dá)式是()。

A.a:=b+1B.a=b=c+2C.int18.5%3D.a=a+7=c+b

46.

有下列程序:

fun(intX,inty){return(x+y);}

main

{inta=1,b=2,c=3,sum;

sum=fun((a++,b++,a+b),c++);

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

}

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

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

47.閱讀下述程序段:y=-1;if(x!=0)if(x>0)y=1;elsey=0;該程序段所描述的數(shù)學(xué)關(guān)系是()

A.

B.

C.

D.

48.以下選項(xiàng)中非法的表達(dá)式是()。

A.0<=x<100B.i=j==0C.(char)(65+3)D.x+1=x+1

49.有以下程序:main(){intn=0,m=l,x=2;if(!n)x-=l:if(!m)x-=2;if(!x)x-=3;printf("%d\n",x);}執(zhí)行后的輸出結(jié)果是______。

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

50.設(shè)有聲明語(yǔ)句chara='\72';,則變量a______。

A.包含1個(gè)字符B.包含2個(gè)字符C.包含3個(gè)字符D.聲明不合法

51.數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)流都是______,僅僅是所處的狀態(tài)不同。

A.分析結(jié)果B.事件C.動(dòng)作D.數(shù)據(jù)

52.下面程序段中,輸出*的個(gè)數(shù)是char*s="\ta\018bc";for(;*s!='\0';s++)printf("*");

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

53.數(shù)據(jù)結(jié)構(gòu)中,與所使用的計(jì)算機(jī)無(wú)關(guān)的是數(shù)據(jù)的()。A.存儲(chǔ)結(jié)構(gòu)B.物理結(jié)構(gòu)C.邏輯結(jié)構(gòu)D.物理和存儲(chǔ)結(jié)構(gòu)

54.有下列程序:main(){intm,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%d\n",m,n,p);}若想從鍵盤(pán)上輸入數(shù)據(jù),使變量m中的值為123,n中的值為456,P中的值為789,則正確的輸入是()。

A.m=123n=456p=789

B.m=123n=456p=789

C.m=123,n=456,p=789

D.123456789

55.下面的關(guān)鍵字中,不能夠從循環(huán)體中跳到循環(huán)體外的是______。

A.gotoB.breakC.returnD.continue

56.下列關(guān)于標(biāo)識(shí)符的說(shuō)法中錯(cuò)誤的是

A.合法的標(biāo)識(shí)符是由字母、數(shù)字和下劃線組成

B.C語(yǔ)言的標(biāo)識(shí)符中,大寫(xiě)字母和小寫(xiě)字母被認(rèn)為是兩個(gè)不同的字符

C.C語(yǔ)言的標(biāo)識(shí)符可以分為三類(lèi),即關(guān)鍵字、預(yù)定義標(biāo)識(shí)符和用戶(hù)標(biāo)識(shí)符

D.用戶(hù)標(biāo)識(shí)符與關(guān)鍵字不同時(shí),程序在執(zhí)行時(shí)將給出出錯(cuò)信息

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

A.程序執(zhí)行的效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)密切相關(guān)

B.程序執(zhí)行的效率只取決于程序的控制結(jié)構(gòu)

C.程序執(zhí)行的效率只取決于所處理的數(shù)據(jù)量

D.以上三種說(shuō)法都不對(duì)

58.有以下程序voidss(char*s,chart){while(*s){if(*s==t)*s=t-'a'+'A';s++;}}main(){charstr1[100]="abcddfefdbd",c='d':ss(str1,C);printf("%s\n",str1);}程序運(yùn)行后的輸出結(jié)果是()

A.ABCDDEFEGDBDB.abcDDfefDbDC.abcAAfefAbAD.Abcddfefdbd

59.下列敘述中,不正確的是

A.算法的執(zhí)行效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)有關(guān)

B.算法的空間復(fù)雜度是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間

C.算法的有窮性是指算法必須能在執(zhí)行有限個(gè)步驟之后終止

D.算法的時(shí)間復(fù)雜度是指執(zhí)行這個(gè)算法所需要的時(shí)間

60.函數(shù)ftell(fp)的作用是()。

A.得到fp所指向文件的當(dāng)前讀寫(xiě)位置B.初始化流式文件的位置指針C.移動(dòng)流式文件的位置指針D.以上答案均正確

四、選擇題(20題)61.

62.有以下程序:

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

A.10,One*Dream!B.9,One*Dream!C.9,One*WorldD.10,One*World

63.

64.下列程序的輸出結(jié)果是()。

main

{

doubled=3.2;intx,y;

x=1.2;y=(x+3.8)/5.0;

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

}

A.3B.3.2C.0D.3.07

65.

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

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

A.Zha0,m,85,90,Qian,f,95,92

B.Zha0,m,85,90,Zha0,m,85,90

C.Qian.f,95,92,Qian,f,95,92

D.Qian,f,95,92,Zha0,m,85,90

68.以下程序段中的變量已正確定義

69.下列可作為C語(yǔ)言賦值的語(yǔ)句的是()。

A.x一3,y=5B.a=b=6C.i--;D.a,c

70.

若有下列定義和語(yǔ)句:

intu=011,v=0x11,w=11;

printf("%o,%x,%d\n",u,v,w);

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

A.9,17,11B.9,11,11C.11,11,11D.11,17,11

71.

72.一個(gè)關(guān)系中屬性個(gè)數(shù)為1時(shí),稱(chēng)此關(guān)系為()。

A.對(duì)應(yīng)關(guān)系B.單一關(guān)系C.一元關(guān)系D.二元關(guān)系

73.

74.若有定義inta[2][3];,則對(duì)a數(shù)組的第i行第j列(假設(shè)i,j已正確說(shuō)明并賦值.元素值的正確引用為()。

A.*(*(a+i.+j.B.(a+i.[j]C.*(a+i+j.D.*(a+i.+j

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

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

76.

77.有以下程序段:

為使程序段不陷入死循環(huán),從鍵盤(pán)鍵入的數(shù)據(jù)應(yīng)該是()。

A.任意正奇數(shù)B.任意負(fù)偶數(shù)C.任意正偶數(shù)D.任意負(fù)奇數(shù)

78.如果intC=3,d=4,k=0,下列描述正確的是()。A.c>d!=k和c>(d!=k)的執(zhí)行順序是一樣的

B.c&&d>k的結(jié)果為假

C.c||(d=k)執(zhí)行后d的值為0

D.!c!=(d!=k)表達(dá)式的值為1

79.在C語(yǔ)言中,合法的長(zhǎng)整型常數(shù)是()。

A.0.123456B.4962717C.9LD.5.321e2

80.

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)ptoc的功能是:利用插入排序法對(duì)字符串中的字符按從小到大的順序進(jìn)行排序。插入法的基本方法是:先對(duì)字符串中的頭兩個(gè)元素進(jìn)行排序,然后把第3個(gè)字符插入前兩個(gè)字符中,插入后前3個(gè)字符依然有序;再把第4個(gè)字符插入前三個(gè)字符中,待排序的字符串已在主函數(shù)中賦予。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:#include<strin9.h>#include<stdi0.h>#defineM80voidproc(char*arr){inti,j,n;charch;n=strlen(arr):for(i=1;i<n;i++)//****found****{c=arr[i];j=i-1;while((j>=o)&&(ch<arr[j])){arr[j+1]=arr[j];j--;}arr[j+1]=ch;}}voidmain{chara[M]="QWERTYUIOPASDFGHJKLMNBVCXZ";printf("Theoriginalstring:%s\n",a);proc(a);printf("Thestringaftersortin9:%s\n\n",a);}

六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫(xiě)函數(shù)proc,其功能是:將str所指字符串中除下標(biāo)為偶數(shù)、同時(shí)ASCIl碼值為奇數(shù)的字符外,其余的字符都刪除,串中剩余字符所形成的一個(gè)新串放在t所指的數(shù)組中。例如,若str所指字符串中的內(nèi)容為ABCDEFGl2345,其中字符B的ASCIl碼值為偶數(shù),所在元素的下標(biāo)為奇數(shù),因此必須刪除;而字符A的ASCIl碼值為奇數(shù),所在數(shù)組中的下標(biāo)為偶數(shù),因此不應(yīng)當(dāng)刪除。依此類(lèi)推,最后t所指的數(shù)組中的內(nèi)容應(yīng)是ACEG。

注意:部分源程序給出如下。

請(qǐng)勿改動(dòng)main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號(hào)中填人所寫(xiě)的若干語(yǔ)句。

試題程序:

#include<stdlib.h>

#include<conio.h>

#include<stdio.h>

#include<string.h>

voidproc(char*str,chart[])

{

}

voidmain

{

charstr[100],t[100];

system("CLS");

printf("\nPleaseenterstringstr:");

scanf("%S",str);

proc(str,t);

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

參考答案

1.D輸出時(shí)以%d整型格式輸出,所以輸出字符變量c1的值為65,c2-2的值為68-2,即66。故本題答案為D選項(xiàng)。

2.A解析:本題考查了函數(shù)的遞歸調(diào)用。在f函數(shù)中,當(dāng)m=7時(shí),程序執(zhí)行“f(--n,&r1);”語(yǔ)句,遞歸調(diào)用f(6,&r1),程序執(zhí)行“r1=n/3;”語(yǔ)句,即r1=\u30006/3=2,然后執(zhí)行“*r=r1;”語(yǔ)句,所以輸出結(jié)果為2。

3.B子函數(shù)fun(intx,inty),將變量m和i聲明為局部靜態(tài)變量,因此第l次調(diào)用主函數(shù)后,局部靜態(tài)變量m和i的值為5和3,第l次函數(shù)調(diào)用結(jié)束時(shí),它們的值不釋放保持不變,所以第2次調(diào)用時(shí),局部靜態(tài)變量m和i的初始值分別為5和3,即在執(zhí)行“i+=m+1”時(shí),i的值為9,因此最終m的值為11。

4.Astrlen函數(shù)求得參數(shù)中字符串的長(zhǎng)度(不包括字符串結(jié)束標(biāo)識(shí)“\\0”)sizeof函數(shù)求得特定類(lèi)型參數(shù)所占存儲(chǔ)空間的長(zhǎng)度。題干中a是數(shù)組名,由于定義時(shí)省略維數(shù)大小,因此數(shù)組大小是初始化的字符個(gè)數(shù),即a的數(shù)組大小為6。綜上,strlen(a)只計(jì)算字符“T”“H”“I”“S”,結(jié)果為4;sizeof(a)求得數(shù)組a的大小,結(jié)果為6;指針b指向一個(gè)字符串“OK\\0\\0”,所以strlen(b)只計(jì)算字符“O”“K”,結(jié)果為2;sizeof(b)求得指針占用存儲(chǔ)空間的大小,結(jié)果為4。故本題答案為A選項(xiàng)。

5.D解析:用戶(hù)標(biāo)識(shí)符與關(guān)鍵字相同時(shí),程序在編譯過(guò)程中將給出出錯(cuò)信息。注意:選項(xiàng)D)應(yīng)該改為用戶(hù)標(biāo)識(shí)符與關(guān)鍵字相同,程序在編譯時(shí)將給出出錯(cuò)信息。注意:合法的標(biāo)識(shí)符第一個(gè)字符必須為字母或下劃線。

6.A本題考查數(shù)組和指針,*k指針是指向rn數(shù)組的首地址,所以要使表達(dá)武的值為6,只需要指針指向第m[2],所以答案選擇A。-

7.Dgetmax函數(shù)接收兩個(gè)整型變量x、y,使用條件運(yùn)算符返回x和y中的較大值。main函數(shù)首先輸入a、b、c、d4個(gè)整數(shù)值,然后通過(guò)調(diào)用getmax函數(shù),輸出它們的最大值。假設(shè)x、y是整數(shù),選項(xiàng)A中,首先執(zhí)行“getmax(a,b)”,返回a、b中的較大值X,再執(zhí)行“getmax(x,c)”,返回x、c中的較大值y,最后執(zhí)行“getmax(y,d)”,返回y、d中的較大值,滿(mǎn)足題意,正確;選項(xiàng)B中,首先執(zhí)行“getmax(a,b)”,返回a、b的較大值X,再執(zhí)行“getmax(c,d)”,返回c、d中的較大值y,最后執(zhí)行“getmax(x,y)”,返回x、y中的較大值,正確;選項(xiàng)C中,首先執(zhí)行“getmax(c,d)”,返回c、d的較大值X,再執(zhí)行“getmax(b,x)”,返回b、x中的較大值y,最后執(zhí)行“getmax(a,y)”,返回a、y中的較大值,正確;選項(xiàng)D中,首先執(zhí)行“getmax(a,b)”,返回a、b的較大值X,再執(zhí)行“getmax(c,d)”,返回c、d中的較大值y,最后執(zhí)行逗號(hào)表達(dá)式“(x,y)”,返回值為7,不滿(mǎn)足題意。故本題答案為D選項(xiàng)。

8.A文件指針實(shí)際上是指向一個(gè)結(jié)構(gòu)體類(lèi)型的指針。這個(gè)結(jié)構(gòu)體中包含緩沖區(qū)的地址、在緩沖區(qū)中當(dāng)前存取字符的位置、對(duì)文件是“讀”還是“寫(xiě)”、是否出錯(cuò)、是否已經(jīng)遇到文件結(jié)束標(biāo)識(shí)等信息。選項(xiàng)A正確,選項(xiàng)B、C錯(cuò)誤;fscanf函數(shù)只能從文本文件中輸入數(shù)據(jù)到內(nèi)存,選項(xiàng)D錯(cuò)誤。故本題答案為A選項(xiàng)。

9.D通常把軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用、維護(hù)到停止使用、退役的過(guò)程稱(chēng)為軟件生命周期。選項(xiàng)A、B、C選項(xiàng)均為生命周期的一部分。故選D選項(xiàng)。

10.C

11.D

12.C

13.DC語(yǔ)言中,整型常量可以用十進(jìn)制、八進(jìn)制和十六進(jìn)制表示。故本題答案為D選項(xiàng)。

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

15.CC)【解析】白盒測(cè)試方法也稱(chēng)為結(jié)構(gòu)測(cè)試或邏輯測(cè)試,主要方法有邏輯覆蓋測(cè)試、基本路徑測(cè)試等。

16.C數(shù)組的下標(biāo)是從0開(kāi)始的,A中越界,行下標(biāo)和列下標(biāo)都不能越界;B中,雖然是個(gè)地址,但是也同樣越界了;選項(xiàng)C中表示的是第一個(gè)的首地址;選項(xiàng)D表示的為其元素的值,并不是地址。

17.A函數(shù)fopen(“data.dat”,“w+”)中的“w+”表示打開(kāi)可讀寫(xiě)文件,若文件存在則文件長(zhǎng)度清為零,即該文件內(nèi)容會(huì)消失;若文件不存在則建立該文件?!皉ewind(fp);”使文件fp的位置指針指向文件開(kāi)始。函數(shù)“fprintf(fp,“%d\\n”,a[5-i]);”將a[i]輸出到fp指向的文件中。函數(shù)“fscanf(fp,“%d”,&k);”將fp讀入變量k中。第1個(gè)for循環(huán)將數(shù)組中元素倒著輸入fp指向的文件中。rewind則指向文件開(kāi)始,因此輸出的是數(shù)組a的倒敘:6,5,4,3,2,1,。故本題答案為A選項(xiàng)。

18.A

19.D

20.B

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

22.11解析:該程序要注意的是if語(yǔ)句的判斷條件“c=a”是賦值,而不是“c==a”。由于a=1,故條件c=a使c的值為1(真),所以輸出c的值1。

23.22解析:'\\13':表示八進(jìn)制數(shù)13表示的ASCII字符,是一個(gè)字符,占一個(gè)字節(jié);而”\\12”是個(gè)字符串,除了八進(jìn)制數(shù)12表示的ASCII字符占一個(gè)字節(jié)外,還有在字符串的末尾加上串結(jié)束標(biāo)志“'\\0'”,所以共有2個(gè)字節(jié)。

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

25.*(t+4)*(t+4)解析:本題定義了指針變量t,并用數(shù)組s的首地址給它賦初值。t+4代表數(shù)組第6個(gè)元素的地址,*(t+4)是取得該地址中的值即29,而此時(shí)并沒(méi)有移動(dòng)指針t。

26.m<10n%4!=0

27.棧頂棧頂解析:棧是限定在表的一端進(jìn)行插入和刪除操作的線性表。在表中,允許插入和刪除的一端叫做“棧頂”,不允許插入和刪除的一端叫做“棧底”。

28.(x>-5)&&(x<5)(x>-5)&&(x<5)解析:本題考查基本邏輯表達(dá),“整數(shù)x的絕對(duì)值大于5”時(shí)值為“假”,即整數(shù)x的絕對(duì)值小于等于5,也就是整數(shù)x要大于等于-5且要小于等于5。這里“且”用“與(&&)”表示,所以C語(yǔ)言表達(dá)式為:(x>-5)&&(x<5)。

29.11解析:do…while語(yǔ)句的功能是:首先執(zhí)行循環(huán)體語(yǔ)句,然后檢測(cè)循環(huán)控制條件表達(dá)式的值,若為真,則重復(fù)執(zhí)行循環(huán)體語(yǔ)句,否則退出循環(huán);do…while語(yǔ)句的特點(diǎn)是先執(zhí)行后判斷,因此循環(huán)體至少執(zhí)行1次.本程序中x=2不符合循環(huán)條件,所以只循環(huán)1次。

30.efghefgh解析:函數(shù)ss的作用是讓形參指針s指向該字符串的右半部分。主函數(shù)中首先定義了一個(gè)字符型指針變量p和字符型指針str,并初始化為“abcdefgh”,然后調(diào)用函數(shù)ss,將實(shí)參str傳給形參s,因此可知該函數(shù)返回的指針,指向str所指的字符串“abcdefgh”的右半部分,即指向字符串“efgh”,所以最后輸出指針p(指針p的值為調(diào)用函數(shù)ss(str)的返回值)所指向的字符串為“efgh”。

31.靜態(tài)分析靜態(tài)分析解析:程序測(cè)試分為靜態(tài)分析和動(dòng)態(tài)測(cè)試。其中,靜態(tài)分析是指不執(zhí)行程序,而只是對(duì)程序文本進(jìn)行檢查,通過(guò)閱讀和討論,分析和發(fā)現(xiàn)程序中的錯(cuò)誤。

32.循環(huán)鏈表循環(huán)鏈表解析:在鏈表的運(yùn)算過(guò)程中,采用鏈接方式即循環(huán)鏈表的結(jié)構(gòu)把空表與非空表的運(yùn)算統(tǒng)一起來(lái)。循環(huán)鏈表具有兩個(gè)特點(diǎn):①在循環(huán)鏈表中增加了一個(gè)表頭結(jié)點(diǎn),其數(shù)據(jù)域?yàn)槿我饣蚋鶕?jù)需要來(lái)設(shè)置,指針域指向線性表的第一個(gè)元素的結(jié)點(diǎn)。循環(huán)鏈表的頭指針指向表頭結(jié)點(diǎn)。②循環(huán)鏈表中最后一個(gè)結(jié)點(diǎn)的指針不是空,而是指向表頭結(jié)點(diǎn)。

33.變換型變換型

34.層次模型用樹(shù)型結(jié)構(gòu)表示實(shí)體類(lèi)型及實(shí)體間聯(lián)系的數(shù)據(jù)模型稱(chēng)為層次模型,用有向圖結(jié)構(gòu)表示實(shí)體類(lèi)型及實(shí)體間聯(lián)系的數(shù)據(jù)模型稱(chēng)為網(wǎng)狀模型,用二維表格結(jié)構(gòu)表示實(shí)體及其聯(lián)系的數(shù)據(jù)模型稱(chēng)為關(guān)系模型。

35.1a61a6解析:對(duì)于指針變量的運(yùn)算,就是對(duì)地址的運(yùn)算。本題中由于指針指向的是整型變量,所以,使指針變量移動(dòng)9個(gè)位置也就是移動(dòng)18個(gè)字節(jié)。注意,本題是以十六進(jìn)制輸出的。

36.邏輯獨(dú)立性邏輯獨(dú)立性解析:數(shù)據(jù)庫(kù)總體邏輯結(jié)構(gòu)改變,而不需要相應(yīng)修改應(yīng)用程序叫做邏輯獨(dú)立性。

37.2004170320041703解析:由于參數(shù)傳遞只是將實(shí)參的值復(fù)制到形參中,形參與實(shí)參擁有各自的存儲(chǔ)空間,因此形參的改變并不影響實(shí)參,所以并不改變s的情況。

38.br[i]或*(br+i)br[i]或*(br+i)解析:求最大值算法要求輸入的一般是一系列數(shù),例如一個(gè)數(shù)組,而輸出只有一個(gè)值。計(jì)算時(shí)通常的做法是,首先將這一系列數(shù)的笫1個(gè)值保存到結(jié)果變量中,然后用一個(gè)指針或循環(huán)變量從頭(或從第2個(gè)值)至尾遍歷這一系列數(shù),每次比較結(jié)果變量和被遍歷的值,如果該值比結(jié)果大,則將該值保存到結(jié)果中。本題中,3行4列二維數(shù)組a顯然是算法的輸入值,而傳給函數(shù)fun()的3和4在函數(shù)中起到限制循環(huán)次數(shù)的作用,所以它們代表輸入數(shù)據(jù)的行列數(shù).而傳遞給函數(shù)的一維數(shù)組b即沒(méi)有初始化,最后又要輸出它,所以數(shù)組b肯定是用來(lái)保存每行的最大值。在函數(shù)中是一個(gè)二重循環(huán),外循環(huán)首先將ar[i][0]賦給x,然后內(nèi)循環(huán)中比較x和ar[il剛,若x比較小就讓x=ar[i][j],這就說(shuō)明x是保存結(jié)果的臨時(shí)變量.最后應(yīng)該將x的值輸出到數(shù)組b中,也就是形參br的相應(yīng)位置。故在空格處應(yīng)該填的內(nèi)容為br[i]或者寫(xiě)成指針?lè)绞?(br+i)。

39.m=fun(a4)+fun(b4)-fun(a+b3);m=fun(a,4)+fun(b,4)-fun(a+b,3);解析:本題考核的知識(shí)點(diǎn)是C程序的簡(jiǎn)單應(yīng)用。函數(shù)fua(x,n)的作用是求x的n次方,因此a的4次方應(yīng)該調(diào)用函數(shù)tim(a,4),b的4次方應(yīng)該調(diào)用函數(shù)fun(b,4),a+b的3次方應(yīng)該調(diào)用函數(shù)fun(a+b,3),所以題目中的數(shù)學(xué)表達(dá)式,寫(xiě)成C程序中的語(yǔ)句為m=fun(a,4)+fun(b,4)-fun(a+b,3)。

40.解析:fopen函數(shù)的調(diào)用方式通常為fopen(文件名,使用文件方式)。本題中要求程序可以打開(kāi)filea.dat文件,并且是要讀取文件中的內(nèi)容,所以空白處應(yīng)當(dāng)填入'filea.dat','r'。

41.B解析:本題考查函數(shù)的綜合知識(shí)。首先,我們可以利用強(qiáng)制轉(zhuǎn)換類(lèi)型轉(zhuǎn)換運(yùn)算符將一個(gè)表達(dá)式轉(zhuǎn)換成所需類(lèi)型。如:(double)a是將a轉(zhuǎn)換成double類(lèi)型;(int)(x+y)是將x+y的值轉(zhuǎn)換成整型。

本題可按部就班地逐步運(yùn)算:

fun((int)fun(a+c,b),a-c)

fun((int)fun(10,5),2-8)

fun((int)15.000000,-6)

fun(15,-6)

9

42.D解析:在本題中,主函數(shù)在調(diào)用fun()函數(shù)進(jìn)行排序時(shí),傳遞的參數(shù)是c+4和6,fun()函數(shù)實(shí)現(xiàn)的功能是將數(shù)組c的第5個(gè)元素開(kāi)始的6個(gè)元素依次進(jìn)行從大到小的順序排列。排序之后,數(shù)組c的內(nèi)容變?yōu)閧1,2,3,4,9,8,7,6,5,0}。

43.A解析:?jiǎn)卧獪y(cè)試的步驟如下:

①理解需求和設(shè)計(jì)。清楚被測(cè)試模塊在整個(gè)軟件中所處的位置。一個(gè)原則是:好的設(shè)計(jì),各模塊只負(fù)責(zé)完成自己的事情,層次與分工明確。單元測(cè)試時(shí),可以不測(cè)試不屬于被測(cè)模塊所負(fù)責(zé)的功能,以減少測(cè)試用例的冗余。

②概覽源代碼。瀏覽源代碼,初步檢查源代碼的編碼風(fēng)格與規(guī)范,大致估算測(cè)試工作量,確定模塊的復(fù)雜程度,初步制定測(cè)試的優(yōu)先級(jí)等。

③精讀源代碼。認(rèn)真閱讀和分析代碼,理解代碼的業(yè)務(wù)邏輯,檢查代碼與設(shè)計(jì)是否相符,仔細(xì)研究邏輯復(fù)雜的模塊,可采用一些檢查列表來(lái)檢查程序可能會(huì)出現(xiàn)的問(wèn)題。

④設(shè)計(jì)測(cè)試用例。綜合運(yùn)用白盒測(cè)試方法(并結(jié)合黑盒測(cè)試方法)設(shè)計(jì)測(cè)試用例,包括功能測(cè)試、性能測(cè)試等,要達(dá)到一定的測(cè)試覆蓋率。本題正確答案為選項(xiàng)A。

⑤搭建單元測(cè)試環(huán)境。這個(gè)階段主要就是寫(xiě)樁模塊和驅(qū)動(dòng)模塊,然后驅(qū)動(dòng)模塊想辦法獲取被測(cè)試模塊對(duì)數(shù)據(jù)的處理結(jié)果,并判定返回的實(shí)際結(jié)果與測(cè)試用例的預(yù)

期結(jié)果是否一致,通過(guò)測(cè)試框架來(lái)記錄執(zhí)行的結(jié)果,對(duì)于出現(xiàn)的錯(cuò)誤,還需統(tǒng)計(jì)錯(cuò)誤的信息,供執(zhí)行完之后分析。

⑥執(zhí)行測(cè)試。運(yùn)行寫(xiě)好的驅(qū)動(dòng)模塊完成對(duì)被測(cè)試模塊的測(cè)試。

⑦補(bǔ)充和完善測(cè)試用例。在測(cè)試過(guò)程中不斷補(bǔ)充測(cè)試用例,直到滿(mǎn)足要求為止。

⑧分析結(jié)果,給出評(píng)價(jià)。根據(jù)測(cè)試的結(jié)果分析、查找錯(cuò)誤的原因,并找到解決的辦法。測(cè)試結(jié)束之后,根據(jù)測(cè)試過(guò)程的數(shù)據(jù)統(tǒng)計(jì),給出被測(cè)試對(duì)象評(píng)價(jià)。

44.A答案A

解析:一個(gè)C程序可以有一個(gè)或多個(gè)程序文件,也可以有一個(gè)或多個(gè)函數(shù),所以一個(gè)C語(yǔ)言程序可以實(shí)現(xiàn)多種算法。

45.B解析:a=b=c+2實(shí)際上相當(dāng)于a=(b=c+2),進(jìn)而可分解為兩個(gè)表達(dá)式:b=c+2和a=b。注意:選項(xiàng)A)中包含一個(gè)不合法的運(yùn)算符“:=”;選項(xiàng)C)應(yīng)改為(int)18.5%3;選項(xiàng)D)可理解為兩個(gè)表達(dá)式:a+7=c+b和a=a+7,其中第一個(gè)是錯(cuò)的,因?yàn)镃++語(yǔ)言規(guī)定賦值號(hào)的左邊只能是單個(gè)變量,不能是表達(dá)式或常量等。注意:C++語(yǔ)言賦值語(yǔ)句的運(yùn)用,

46.C解析:函數(shù)fun(intx,inty)的功能是返回兩個(gè)整型數(shù)據(jù)的和。在主函數(shù)中,變量a,b,c的初始值分別為1,2,3。因此逗號(hào)表達(dá)式“a++,b++,a+b”的值等于5,表達(dá)式c++的值為3,調(diào)用子函數(shù)的表達(dá)式為“fun(5,3);”,其返回值等8。所以變量sum的值等于8。

47.C解析:y的初值為-1,第一個(gè)if語(yǔ)句的判斷條件為x!=0,即當(dāng)x!=0時(shí)y的值變化,x=0時(shí)y的值不變,仍為-1。第二個(gè)if語(yǔ)句的判斷條件為x>O,如果x>0則y=1,否則y=0,即x<O時(shí),y=O。4個(gè)選項(xiàng)中C符合題意。

48.D解析:選項(xiàng)A)在C語(yǔ)言中是一個(gè)合法的關(guān)系表達(dá)式,但它并不代表數(shù)學(xué)式o<=x<100。計(jì)算0<=x<100時(shí),從左到右結(jié)合,先計(jì)算0<=x,其結(jié)果只能是0或1,然后再比較0<100或1<100。根據(jù)運(yùn)算符的優(yōu)先級(jí),選項(xiàng)B)先判斷j==0是否成立,其結(jié)果只能是0或1,然后再將0或1賦給i。選項(xiàng)C)中,(char)(65+3)為類(lèi)型強(qiáng)制轉(zhuǎn)換,將整數(shù)型數(shù)據(jù)轉(zhuǎn)換為字符型。選項(xiàng)D)是將一個(gè)數(shù)據(jù)賦給一個(gè)表達(dá)式,等號(hào)左邊不合要求,所以錯(cuò)誤。

49.B解析:因n=0,故!n為真,執(zhí)行語(yǔ)句x-=1得x=x-1=2-1=1;條件!m和!x不成立,所以x=1,正確答案為1。

50.A解析:轉(zhuǎn)文字符常量'\\xx'可以把'\\'后面的數(shù)字轉(zhuǎn)換為對(duì)應(yīng)的ASCII字符。

51.D解析:數(shù)據(jù)流圖有4種成分:源點(diǎn)或終點(diǎn)、處理、數(shù)據(jù)存儲(chǔ)和哦數(shù)據(jù)流。數(shù)據(jù)存儲(chǔ)是處于靜止?fàn)顟B(tài)的數(shù)據(jù),數(shù)據(jù)流是處于運(yùn)動(dòng)中的數(shù)據(jù)。

52.C解析:本題中,格式符。表示的是八進(jìn)制無(wú)符號(hào)形式輸出整型數(shù)(不帶前導(dǎo)0),字符常量在內(nèi)存中占一個(gè)字節(jié),存放的是ACSII碼代碼值。C語(yǔ)言規(guī)定,所有字符常量都作為整型量來(lái)處理,在計(jì)算機(jī)內(nèi)部,其對(duì)應(yīng)的整數(shù)值就是ACSII字符集中該字符的序號(hào),即&*s中有幾個(gè)字符就輸出幾個(gè)*。

53.C數(shù)據(jù)結(jié)構(gòu)概念一般包括3個(gè)方面的內(nèi)容,數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)(物理結(jié)構(gòu))及數(shù)據(jù)上的運(yùn)算集合。數(shù)據(jù)的邏輯結(jié)構(gòu)只抽象地反映數(shù)據(jù)元素之間的邏輯關(guān)系,即數(shù)據(jù)元素之間的前后件關(guān)系,而不管它在計(jì)算機(jī)中的存儲(chǔ)表示形式。

54.A解析:scanf()函數(shù)中格式控制字符串是為了輸入數(shù)據(jù)用的,無(wú)論其中有什么字符,在輸入數(shù)據(jù)時(shí),按照一一對(duì)應(yīng)的位置原樣輸入這些字符。

55.B解析:在C語(yǔ)言中,可以用break語(yǔ)句和continue語(yǔ)句跳出本層循環(huán)和結(jié)束本次循環(huán)。goto語(yǔ)句可跳出多層循環(huán),如果在函數(shù)的循環(huán)體內(nèi)使用return語(yǔ)句,就會(huì)直接結(jié)束循環(huán)返回函數(shù)值。

56.D解析:用戶(hù)標(biāo)識(shí)符與關(guān)鍵字相同時(shí),程序在編譯過(guò)程中將給出出錯(cuò)信息。注意:選項(xiàng)D)應(yīng)該改為用戶(hù)標(biāo)識(shí)符與關(guān)鍵字相同,程序在編譯時(shí)將給出出錯(cuò)信息。注意:合法的標(biāo)識(shí)符第一個(gè)字符必須為字母或下劃線。

57.A本題考查程序效率。程序效率是指程序運(yùn)行速度和程序占用的存儲(chǔ)空間。影響程序效率的因素是多方面的,包括程序的設(shè)計(jì)、使用的算法、數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)等。在確定數(shù)據(jù)邏輯結(jié)構(gòu)的基礎(chǔ)上,選擇一種合適的存儲(chǔ)結(jié)構(gòu),可以使得數(shù)據(jù)操作所花費(fèi)的時(shí)間少,占用的存儲(chǔ)空間少,即提高程序的效率。因此,本題選項(xiàng)A的說(shuō)法是正確的。

58.B

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

60.A解析:位置指針當(dāng)前值函數(shù)ftell()的基本調(diào)用格式為:ftell(fp)。

ftell()函數(shù)的參數(shù)說(shuō)明:“fp”是指向文件的文件型指針。

ftell函數(shù)的功能:得到fp所指向文件的當(dāng)前讀寫(xiě)位置,即位置指針的當(dāng)前值,如果函數(shù)的返回值為-1L,表示出錯(cuò)。

61.D

62.AP是指向二維字符數(shù)組第二行One+Dream!的數(shù)組指針,所以長(zhǎng)度是10,打印輸出的也是該字符串。

63.D

64.C解析:本題中,程序先執(zhí)行語(yǔ)句x=1.2;,根據(jù)賦值運(yùn)算的類(lèi)型轉(zhuǎn)換規(guī)則,先將double型的常量1.2轉(zhuǎn)換為int型,即取整為1,然后將1賦值給變量x。接下來(lái)執(zhí)行語(yǔ)句y=(x+3.8)/5.0;根據(jù)運(yùn)算符的優(yōu)先級(jí),先計(jì)算小括號(hào)內(nèi),再計(jì)算除法,最后執(zhí)行賦值運(yùn)算。小括號(hào)內(nèi)的運(yùn)算過(guò)程:先將整型變量x的值1轉(zhuǎn)換為double型1.0,然后與3.8進(jìn)行加法運(yùn)算,得到中間結(jié)果4.8。接著進(jìn)行除法運(yùn)算4.8/5.0,其結(jié)果小于1.0,這里沒(méi)有必要計(jì)算出精確值,因?yàn)榻又M(jìn)行賦值運(yùn)算,賦值號(hào)左邊的變量y的類(lèi)型為整型,于是對(duì)這個(gè)小于1.0的中間結(jié)果進(jìn)行取整,結(jié)果為0,于是變量y的值為0,d*y的值也為0。注意:格式輸出語(yǔ)句printf的使用。

65.A

66.AA)選項(xiàng)dPx[2][31定義的是一個(gè)2行3列的二維數(shù)組,而在給數(shù)組元素賦值時(shí)卻賦成了3行,因此錯(cuò)誤。

67.A本題考查的是函數(shù)調(diào)用時(shí)的參數(shù)傳遞問(wèn)題。程序在調(diào)用函數(shù)時(shí),傳給函數(shù)啪參數(shù)只是結(jié)構(gòu)變量C在棧中的一個(gè)拷貝,函數(shù)馓的所有操作只是針對(duì)這個(gè)數(shù)據(jù)拷貝進(jìn)行的修改,這些都不會(huì)影響變量C的值。因此本題答案為A)。

68.A由于內(nèi)層循環(huán)for(k=1;k<3;k++)后面直接跟了空語(yǔ)句“;”,因此在循環(huán)內(nèi)部什么操作也不做,執(zhí)行完內(nèi)層循環(huán)后執(zhí)行打印語(yǔ)句,所以打印了一個(gè)“*,’故本題答案A)。

69.C本題考查賦值語(yǔ)句,而選項(xiàng)A、B是表達(dá)式,不合題意,選項(xiàng)D中強(qiáng)制類(lèi)型轉(zhuǎn)換,應(yīng)把類(lèi)型名用括號(hào)括起來(lái),選項(xiàng)C中i--也可寫(xiě)成i=i-1,故選擇c選項(xiàng)。

70.C解析:在C語(yǔ)言中,“%d”表示輸出帶符號(hào)的十進(jìn)制整型數(shù);“%x”表示以十六進(jìn)制無(wú)符號(hào)型輸出整型數(shù)據(jù)(即不帶前導(dǎo)0x或0X);“%o”表示以八進(jìn)制無(wú)符號(hào)型輸出整型數(shù)據(jù)(即不帶前導(dǎo)0)。

71.C

72.C解析:在關(guān)系模型數(shù)據(jù)庫(kù)中,基本結(jié)構(gòu)是二維表,這種二維表稱(chēng)為關(guān)系。關(guān)系的列稱(chēng)為屬性,一個(gè)具有N個(gè)屬性的關(guān)系稱(chēng)為N元關(guān)系。注意:各種關(guān)系查詢(xún)語(yǔ)言與過(guò)程性語(yǔ)言和非過(guò)程性語(yǔ)言的關(guān)系,過(guò)程性語(yǔ)言的特點(diǎn)。

73.B

74.A解析:本題考查了二維數(shù)組元素的引用方法。選項(xiàng)A中a+i指向了數(shù)組a的第i+1行,*(a+i)則是第i+1行第0列的地址值,*(a+i)+j指向了數(shù)組a第i+1行,j+1列,*(*(a+i)+j)取到的是數(shù)組a的a[i][j]元素。

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

76.D

77.D此題目中變量s是迷惑考生的,變量t賦初值為1,由語(yǔ)句t=t-2;將使t得到的是負(fù)奇數(shù)。所以選項(xiàng)D)是正確答案。

78.DA)中>的優(yōu)先級(jí)大于!=,所以執(zhí)行順序不一樣;B)中c和d>k都為真,所以整個(gè)表達(dá)式為真;C)中不用執(zhí)行d=k,因?yàn)閏就可以確定這個(gè)表達(dá)式的值。

79.C選項(xiàng)A)和D)是實(shí)型而非整型。

80.A

81.錯(cuò)誤:c=arr[i];正確:ch=arr[i];【解析】由函數(shù)定義可知,函故proc只定義了變量ch,沒(méi)有定義變量C。因此,“c=arr[i]:”應(yīng)改為“ch=arr[i];”。

82.voidproc(char*str。chart[3])

\n{

\ninti,j=0;

\nfor(i=0;str[i]!=\\O;i++)//從數(shù)組的第一個(gè)元素開(kāi)始,到其最后一個(gè)

\n{if(i%2==0str[i]%21=o)//下標(biāo)為偶數(shù)、同時(shí)ASCIl碼值為奇數(shù)的字符

\nt[j++]=str[i];}//如果成立,則把它放到t數(shù)組中

\nt[i]=\\o;//字符串結(jié)束標(biāo)志為\\0

\n}

\n【解析】題目中要求將字符串str中下標(biāo)為偶數(shù),同時(shí)ASCIl碼值為奇數(shù)的字符放在數(shù)組t中。首先,需要檢查字符串str中下標(biāo)為偶數(shù)的字符其ASCIl碼值是否為奇數(shù),將符合要求的字符放在數(shù)組t中。最后,為新的字符串?dāng)?shù)組添加結(jié)束符。

\n2021年河北省衡水市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.已知字符A的ASCII值是65,字符變量c1的值是‘A’,c2的值是‘D’,則執(zhí)行語(yǔ)句“printf(“%d,%d”,c1,c2-2);”的輸出結(jié)果是()。

A.65,68B.A,68C.A,BD.65,66

2.有以下程序voidf(intn,int*r){intr1=0;if(n%3==0)r1=n/3;elseif(n%5==0)r1=n/5;elsef(--n,&r1);*r=r1;}main(){intm=7,r;f(m,&r);printf("%d",r);}程序運(yùn)行后的輸出結(jié)果是A.2B.1C.3D.0

3.有下列程序:fun(intx,inty){staticintm=0,i=2;i+=m+1;m=i+x+y;returnm;}main(){intj=1,m=1,k;k=fun(j,m);printS(”%d,”,k);k=fun(j,m);printf(”%d\n”,k);)執(zhí)行后的輸出結(jié)果是()。A.5,5B.5,11C.11,11D.11,5

4.有以下程序:#include<stdio.h>#include<string.h>main(){chara[]=“THIS\0”,*b=“OK\0\0”;printf(“%d,%d,%d,%d”,strlen(a),sizeof(a),strlen(b),sizeof(b));}程序運(yùn)行后的輸出結(jié)果是()。

A.4,6,2,4B.4,4,4,1C.6,5,2,1D.6,4,2,4

5.下列關(guān)于標(biāo)識(shí)符的說(shuō)法中錯(cuò)誤的是

A.合法的標(biāo)識(shí)符是由字母、數(shù)字和下劃線組成

B.C語(yǔ)言的標(biāo)識(shí)符中,大寫(xiě)字母和小寫(xiě)字母被認(rèn)為是兩個(gè)不同的字符

C.C語(yǔ)言的標(biāo)識(shí)符可以分為三類(lèi),即關(guān)鍵字、預(yù)定義標(biāo)識(shí)符和用戶(hù)標(biāo)識(shí)符

D.用戶(hù)標(biāo)識(shí)符與關(guān)鍵字不同時(shí),程序在執(zhí)行時(shí)將給出出錯(cuò)信息

6.設(shè)有如下定義語(yǔ)句:intm[]={2,4,6,8,10},*k=m;以下選項(xiàng)中,表達(dá)式的值為6的是()。

A.*(k+2)B.k+2C.*k+2D.*k+=2

7.以下不完整的程序擬實(shí)現(xiàn)調(diào)用getmax函數(shù),找出4個(gè)變量中最大的一個(gè):#include<stdio.h>intgetmax(intx,inty){returnx>yx:y;}voidmain(){inta,b,c,d,mx;scanf(“%d%d%d%d”,&a,&b,&c,&d);printf(“max=%d\n”,________);}以下選項(xiàng)若填入下劃線處,不能實(shí)現(xiàn)上述功能的是()。

A.getmax(getmax(getmax(a,b),c),d)

B.getmax(getmax(a,b),getmax(c,d))

C.getmax(a,getmax(b,getmax(c,d)))

D.mx=(getmax(a,b),getmax(c,d))

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

A.文件指針是一種特殊的指針類(lèi)型變量

B.文件指針的值等于文件當(dāng)前讀寫(xiě)位置,以字節(jié)為單位

C.文件指針的值等于文件在計(jì)算機(jī)硬盤(pán)中的存儲(chǔ)位置

D.調(diào)用fscanf函數(shù)只能向文本文件中寫(xiě)入任意字符

9.軟件生命周期是指()。

A.軟件的定義和開(kāi)發(fā)階段

B.軟件的需求分析、設(shè)計(jì)與實(shí)現(xiàn)階段

C.軟件的開(kāi)發(fā)階段

D.軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過(guò)程

10.

11.有1000個(gè)無(wú)序的整數(shù),希望使用最快的方式找出前50個(gè)最大的,最佳的選擇是()

A.冒泡排序B.基數(shù)排序C.堆排序D.快速排序

12.排序方法中,從未排序序列中依次取出元素與已排序序列中的元素進(jìn)行比較,將其放入已排序序列的正確位置上的方法,稱(chēng)為()。

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

13.以下說(shuō)法正確的是()。

A.C語(yǔ)言只接受十進(jìn)制的數(shù)

B.C語(yǔ)言只接受二進(jìn)制、八進(jìn)制、十六進(jìn)制的數(shù)

C.C語(yǔ)言只接受二進(jìn)制、十進(jìn)制、十六進(jìn)制的數(shù)

D.C語(yǔ)言只接受八進(jìn)制、十進(jìn)制、十六進(jìn)制的數(shù)

14.給出以下定義: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)度

15.下列方法中,屬于白盒法設(shè)計(jì)測(cè)試用例的方法的是()。

A.錯(cuò)誤推測(cè)B.因果圖C.基本路徑測(cè)試D.邊界值分析

16.若有以下的定義:‘intt[3][2];”,能正確表示t數(shù)組元素地址的表達(dá)式是()。

A.&t[3][2]B.t[3]C.t[l]D.t[2][2]

17.有以下程序:#include<stdio.h>main(){FILE*fp;inti,a[6]={1,2,3,4,5,6},k;fp=fopen(“data,dat”,“w+”);for(i=0;i<6;i++)fprintf(fp,“%d\n”,a[5-i]);rewind(fp);for(i=0;i<6;i++){fscanf(fp,“%d”,&k);printf(“%d,”,k);}fclose(fp);}程序運(yùn)行后的輸出結(jié)果是()。

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

18.現(xiàn)在有16枚外形相同的硬幣,其中一枚是假幣,且已知假幣比真幣重量輕。先給定一架沒(méi)有砝碼的天平,問(wèn)至少需要多少次稱(chēng)量才能找到這枚假幣?

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

19.

20.有以下程序#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

二、2.填空題(20題)21.數(shù)據(jù)庫(kù)系統(tǒng)中實(shí)現(xiàn)各種數(shù)據(jù)管理功能的核心軟件稱(chēng)為【】。

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

#include<stdio,h>

main()

{inta=1,b=2,c=3;

if(c=a)printf("%d\n",c);

elseprintf("%d\n",b);}

23.\13'在內(nèi)存中占1個(gè)字節(jié),"\12"在內(nèi)存中占______個(gè)字節(jié)。

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

structdate

{intday;

intmouth;

intyear;

union{intshare1;

floatshare2;

}share;

}a;

25.若有如下定義:

int[]={11,24,56,19,29,39),*t=s;

則不移動(dòng)指針t,且通過(guò)指針t引用數(shù)組中值為29的元素的表達(dá)式是【】。

26.下面程序是計(jì)算100以?xún)?nèi)能被4整除且個(gè)位數(shù)為4的所有整數(shù),請(qǐng)?zhí)羁铡?/p>

main()

{intm,n;

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

{n=m*10+4;

If(【】)continue;

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

27.棧中允許進(jìn)行插入和刪除的一端叫做______。

28.表示“整數(shù)x的絕對(duì)值大于5”時(shí)值為“假”的C語(yǔ)言表達(dá)式是______。

29.下列程序的循環(huán)次數(shù)是______。

x=2;

do

{x=x*x;}

while(!x);

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

#include<string.h>

char*ss(char*s)

{returns+strlen(s)/2;}

main()

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

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

}

31.程序測(cè)試分為靜態(tài)分析和動(dòng)態(tài)測(cè)試。其中【】是指不執(zhí)行程序,而只是對(duì)程序文本進(jìn)行檢查,通過(guò)閱讀和討論,分析和發(fā)現(xiàn)程序中的錯(cuò)誤。

32.在運(yùn)算過(guò)程中,能夠使空表與非空表的運(yùn)算統(tǒng)一的結(jié)構(gòu)是【】。

33.數(shù)據(jù)流的類(lèi)型有______和事務(wù)型。

34.用樹(shù)型結(jié)構(gòu)表示實(shí)體類(lèi)型及實(shí)體間聯(lián)系的數(shù)據(jù)模型稱(chēng)為【】。

35.下面程序有兩個(gè)printf語(yǔ)句,如果第一個(gè)printf語(yǔ)句輸出的是194,則第二個(gè)printf語(yǔ)句的輸出結(jié)果是【】。

main()

{inta[10]={1,2,3,4,5,6,7,8,9,0},*p;

p=a;

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

printf("%x\",p+9);

}

36.在數(shù)據(jù)庫(kù)理論中,數(shù)據(jù)庫(kù)總體邏輯結(jié)構(gòu)的改變,如修改數(shù)據(jù)模式、增加新的數(shù)據(jù)類(lèi)型、改變數(shù)據(jù)間聯(lián)系等,不需要修改相應(yīng)的應(yīng)用程序,稱(chēng)為【】。

37.目前實(shí)際存在和使用的廣域網(wǎng)基本上都是采用______拓?fù)浣Y(jié)構(gòu)類(lèi)型。

有以下程序:

#include<string.h>

structSTU

{intnum;

floatTotalScore;};

voidf(structSTUp)

{structSTUs[2]={{20041,703},{20045,537}};

p.num=s[1].num;p.TotalScore=s[1].TotalScore;

}

main()

{structSTUs[2]={{20041,703},{20042,580}};

f(s[0]);

printf("%d%3.0f\n",s[0].num,s[0],TotalScore);

}

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

38.以下程序中,fun函數(shù)的功能是求3行4列二維數(shù)組每行元素的最大值。請(qǐng)?zhí)羁铡?/p>

voidfun(int,int,int(*)[4],int*);

main()

{

inta[3][4]={{12,41,36,28},{19,33,15,27),{3,27,19,1}},b[3],i;

fun(3,4,a,B);

for(i=0;i<3;i++)printf("%4d",b[i]);

printf("\n");

}

voidfun(intm,intn,intar[][4],int*br)

{inti,j,x;

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

{

x=ar[i][0];

for(i=0;j<n;j++)if(x<ar[i][j])x=ar[i][j];

______=X;

}

}

39.函數(shù)fun的功能是計(jì)算xn

doublefun(doublex,intn)

{inti;doubley=1;

for(i=1;i<=n;i++)y=y*x;

returny;

}

主函數(shù)中已正確定義m、a、b變量并賦值,并調(diào)用fun函數(shù)計(jì)算:m=a4+b4-(a+b)3。實(shí)現(xiàn)這一計(jì)算的函數(shù)調(diào)節(jié)器用語(yǔ)句為_(kāi)_____。

40.以下程序的作用是:從名為filea.dat的文本文件中逐個(gè)讀入字符并顯示在屏幕上。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{FILE*fp;charch;

fp=fopen(______);

ch=fSetc(fp);

while(!feof(fp)){putchar(ch);ch=fSetc(fp);}

putchar('\n');fclose(fp);

}

三、1.選擇題(20題)41.有以下程序floatfun(intx,inty){return(x+y);}main(){inta=2,b=5,c=8;printf("%3.0f\n",fun((int)fun(a+c,b),a-c));}程序運(yùn)行后的輸出結(jié)果是

A.編譯出錯(cuò)B.9C.21D.9

42.有以下程序

#include<stdio.h>

voidfun(int*a,intn)/*fun函數(shù)的功能是將a所指數(shù)組元素從大到小排序*/

{intt,i,j;

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

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

if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}

}

main()

{intc[10]={1,2,3,4,5,6,7,8,9,0},i;

fun(c+4,6);

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

printf("\n");

}

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

A.1,2,3,4,5,6,7,8,9,0,

B.0,9,8,7,6,5,1,2,3,4,

C.0,9,8,7,6,5,4,3,2,1,

D.1,2,3,4,9,8,7,6,5,0,

43.在進(jìn)行單元測(cè)試時(shí),常用的方法是

A.采用白盒測(cè)試,輔之以黑盒測(cè)試B.采用黑盒測(cè)試,輔之以白盒測(cè)試C.只使用白盒測(cè)試D.只使用黑盒測(cè)試

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

A.一個(gè)C語(yǔ)言程序只能實(shí)現(xiàn)一種算法

B.c程序可以由多個(gè)程序文件組成

C.C程序可以由一個(gè)或多個(gè)函數(shù)組成

D.一個(gè)c函數(shù)可以單獨(dú)作為一個(gè)C程序文件存在

45.若變量已正確定義并賦值,以下符合C++語(yǔ)言語(yǔ)法的表達(dá)式是()。

A.a:=b+1B.a=b=c+2C.int18.5%3D.a=a+7=c+b

46.

有下列程序:

fun(intX,inty){return(x+y);}

main

{inta=1,b=2,c=3,sum;

sum=fun((a++,b++,a+b),c++);

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

}

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

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

47.閱讀下述程序段:y=-1;if(x!=0)if(x>0)y=1;elsey=0;該程序段所描述的數(shù)學(xué)關(guān)系是()

A.

B.

C.

D.

48.以下選項(xiàng)中非法的表達(dá)式是()。

A.0<=x<100B.i=j==0C.(char)(65+3)D.x+1=x+1

49.有以下程序:main(){intn=0,m=l,x=2;if(!n)x-=l:if(!m)x-=2;if(!x)x-=3;printf("%d\n",x);}執(zhí)行后的輸出結(jié)果是______。

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

50.設(shè)有聲明語(yǔ)句chara='\72';,則變量a______。

A.包含1個(gè)字符B.包含2個(gè)字符C.包含3個(gè)字符D.聲明不合法

51.數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)流都是______,僅僅是所處的狀態(tài)不同。

A.分析結(jié)果B.事件C.動(dòng)作D.數(shù)據(jù)

52.下面程序段中,輸出*的個(gè)數(shù)是char*s="\ta\018bc";for(;*s!='\0';s++)printf("*");

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

53.數(shù)據(jù)結(jié)構(gòu)中,與所使用的計(jì)算機(jī)無(wú)關(guān)的是數(shù)據(jù)的()。A.存儲(chǔ)結(jié)構(gòu)B.物理結(jié)構(gòu)C.邏輯結(jié)構(gòu)D.物理和存儲(chǔ)結(jié)構(gòu)

54.有下列程序:main(){intm,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%d\n",m,n,p);}若想從鍵盤(pán)上輸入數(shù)據(jù),使變量m中的值為123,n中的值為456,P中的值為789,則正確的輸入是()。

A.m=123n=456p=789

B.m=123n=456p=789

C.m=123,n=456,p=789

D.123456789

55.下面的關(guān)鍵字中,不能夠從循環(huán)體中跳到循環(huán)體外的是______。

A.gotoB.breakC.returnD.continue

56.下列關(guān)于標(biāo)識(shí)符的說(shuō)法中錯(cuò)誤的是

A.合法的標(biāo)識(shí)符是由字母、數(shù)字和下劃線組成

B.C語(yǔ)言的標(biāo)識(shí)符中,大寫(xiě)字母和小寫(xiě)字母被認(rèn)為是兩個(gè)不同的字符

C.C語(yǔ)言的標(biāo)識(shí)符可以分為三類(lèi),即關(guān)鍵字、預(yù)定義標(biāo)識(shí)符和用戶(hù)標(biāo)識(shí)符

D.用戶(hù)標(biāo)識(shí)符與關(guān)鍵字不同時(shí),程序在執(zhí)行時(shí)將給出出錯(cuò)信息

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

A.程序執(zhí)行的效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)密切相關(guān)

B.程序執(zhí)行的效率只取決于程序的控制結(jié)構(gòu)

C.程序執(zhí)行的效率只取決于所處理的數(shù)據(jù)量

D.以上三種說(shuō)法都不對(duì)

58.有以下程序voidss(char*s,chart){while(*s){if(*s==t)*s=t-'a'+'A';s++;}}main(){charstr1[100]="abcddfefdbd",c='d':ss(str1,C);printf("%s\n",str1);}程序運(yùn)行后的輸出結(jié)果是()

A.ABCDDEFEGDBDB.abcDDfefDbDC.abcAAfefAbAD.Abcddfefdbd

59.下列敘述中,不正確的是

A.算法的執(zhí)行效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)有關(guān)

B.算法的空間復(fù)雜度是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間

C.算法的有窮性是指算法必須能在執(zhí)行有限個(gè)步驟之后終止

D.算法的時(shí)間復(fù)雜度是指執(zhí)行這個(gè)算法所需要的時(shí)間

60.函數(shù)ftell(fp)的作用是()。

A.得到fp所指向文件的當(dāng)前讀寫(xiě)位置B.初始化流式文件的位置指針C.移動(dòng)流式文件的位置指針D.以上答案均正確

四、選擇題(20題)61.

62.有以下程序:

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

A.10,One*Dream!B.9,One*Dream!C.9,One*WorldD.10,One*World

63.

64.下列程序的輸出結(jié)果是()。

main

{

doubled=3.2;intx,y;

x=1.2;y=(x+3.8)/5.0;

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

}

A.3B.3.2C.0D.3.07

65.

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

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

A.Zha0,m,85,90,Qian,f,95,92

B.Zha0,m,85,90,Zha0,m,85,90

C.Qian.f,95,92,Qian,f,95,92

D.Qian,f,95,92,Zha0,m,85,90

68.以下程序段中的變量已正確定義

69.下列可作為C語(yǔ)言賦值的語(yǔ)句的是()。

A.x一3,y=5B.a=b=6C.i--;D.a,c

70.

若有下列定義和語(yǔ)句:

intu=011,v=0x11,w=11;

printf("%o,%x,%d\n",u,v,w);

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

A.9,17,11B.9,11,11C.11,11,11D.11,17,11

71.

72.一個(gè)關(guān)系中屬性個(gè)數(shù)為1時(shí),稱(chēng)此關(guān)系為()。

A.對(duì)應(yīng)關(guān)系B.單一關(guān)系C.一元關(guān)系D.二元關(guān)系

73.

74.若有定義inta[2][3];,則對(duì)a數(shù)組的第i行第j列(假設(shè)i,j已正確說(shuō)明并賦值.元素值的正確引用為()。

A.*(*(a+i.+j.B.(a+i.[j]C.*(a+i

溫馨提示

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

評(píng)論

0/150

提交評(píng)論