2022-2023年山東省濟(jì)南市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第1頁(yè)
2022-2023年山東省濟(jì)南市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第2頁(yè)
2022-2023年山東省濟(jì)南市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第3頁(yè)
2022-2023年山東省濟(jì)南市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第4頁(yè)
2022-2023年山東省濟(jì)南市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩71頁(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)介

2022-2023年山東省濟(jì)南市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.

2.判斷一個(gè)順序存儲(chǔ)的隊(duì)列sp為空的條件是()。

A.sp->front=sp->rear

B.sp->front=sp->rear+1

C.sp->front=sp->rear-1

D.sp->front=NULL

3.有以下程序段:#include<stdio.h>intj;floaty;charname[50];scanf(“%2d%f%s”,&j,&y,name);當(dāng)執(zhí)行上述程序段時(shí),從鍵盤(pán)上輸入555667777abc后,y的值為()。

A.566.0B.55566.0C.7777.0D.566777.0

4.有以下程序:

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

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

5.

6.設(shè)有定義“doublea[10],*s=a;”,以下能夠代表數(shù)組元素a[3]的是()。

A.(*s)[3]B.*(s+3)C.*s[3]D.*s+3

7.若有序表的關(guān)鍵字序列為(b,c,d,e,f,g,q,r,s,t),則在二分查找關(guān)鍵字b的過(guò)程中,先后進(jìn)行的關(guān)鍵字依次為()

A.f,c,BB.f,d,BC.g,c,BD.g,d,B

8.若x=10010111,則表達(dá)式(3+(int)(x))&(~3)的運(yùn)算結(jié)果是()。

A.10011000B.10001100C.10101000D.10110000

9.

10.實(shí)體聯(lián)系模型中實(shí)體與實(shí)體之間的聯(lián)系不可能是

A.一對(duì)一B.多對(duì)多C.一對(duì)多D.對(duì)零

11.

12.有以下程序:main{inti,j;for(j=10;j<11;j++){for(i=9;i<j;i++)if(!(j%i))break;if(i==j-1)printf("%d",j);}}輸出結(jié)果是()。A.11B.10C.9D.1011

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

#include<stdio.h>

voiddelch(char*s)

{inti,j;

char*a;

a=s;

for(i=0,j=0;a[i]!=′\n′;i++)

if(a[i]>=′0′&&a[i]<=′9′)

{s[j]=a[i];j++;}

s[j]=′\0′;}

main()

{char*item="a34bc";

delch(item);

printf("\n%s",item);}

A.abcB.34C.a34D.a34bc

14.

15.有以下程序:main(){chara[]="abcdefg",b[10]="abcdefg";printf("%d%d\n",sizeof(a),sizeof(b));}執(zhí)行后輸出結(jié)果是()。

A.77B.88C.810D.1010

16.有以下程序:#include<stdiO.h>main(){FILE*fp;intk,n,i,a[6]={1,2,3,4,5,6};fp=fopen("d2.dat","w");for(i=0;i<6;i++)fprintf(fp,"%d\n",a[i]);fclose(fp);fp(i=0;i<3;i++)fscanf(fp,"%d%d",&k,&n);fclose(fp);printf("%d\n,%d\n,k,n);}程序運(yùn)行后的輸出結(jié)果是()。A.1,2B.3,4C.5,6D.123,456

17.有以下程序:#include<stdio.h>intfun(int*a,int*b,intn){inti=0,j=0,sum=0;for(;i<n;i++){sum+=a[i];if((i+1)%2==0){b[j++]=sum;sum=0;}}returnj;}main(){inta[8]={1,0,2,3,5,4,2,1},b[8],k,i;k=fun(a,b,8);for(i=0;i<k;i++)printf(“%d”,b[i]);}程序的運(yùn)行結(jié)果是()。

A.0242B.1593C.1351D.286

18.有以下程序:voidfun1(char*p){char*q;q=p;while(*q!='\0'){(*q)++;q++;}}main(){chara[]={"Program"),*p;p=&a[3];fun1(p)printf("%s\n",A);}程序執(zhí)行后的輸出結(jié)果是()。

A.ProhsbnB.PrphsbnC.ProgsbnD.Program

19.以下選項(xiàng)中合法的C語(yǔ)言常量是()。

A.2.0KbB.”C++’C.”\2.0D.1.01

20.鏈表不具備的特點(diǎn)是()。

A.可隨機(jī)訪問(wèn)任一結(jié)點(diǎn)B.插入刪除不需要移動(dòng)元素C.不必事先估計(jì)存儲(chǔ)空間D.所需空間與其長(zhǎng)度成正比

二、2.填空題(20題)21.常用的黑箱測(cè)試有等價(jià)類(lèi)劃分法、【】和錯(cuò)誤推測(cè)法3種。

22.設(shè)有下列宏定義:#defineA2

#defineBA+3

則執(zhí)行賦值語(yǔ)句;t=B*2;t為int型變量后的值是______。

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

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

main()

{inty=9;

for(;y>0;y--)

if(y%3==0)

{printf("%d",--y);continue;}}

25.以下程序中,函數(shù)fun的功能是計(jì)算x2-2x+6,主函數(shù)中將調(diào)用fun函數(shù)計(jì)算:

y1=(x+8)2-2(x+8)+6

y2=sin2(x)-2sin(x)+6

請(qǐng)?zhí)羁铡?/p>

ginclude"math.h"

doublefun(doublex){return(x*x-2*x+6);}

main()

{doublex,y1,y2;

pfintf("Enterx:");scanf("%lf"&x);

y1=fun([10]);y2=fun([11]);

pin

26.若x為血類(lèi)型,請(qǐng)寫(xiě)出與!x等價(jià)的C語(yǔ)言表達(dá)式______。

27.數(shù)據(jù)庫(kù)的邏輯模型設(shè)計(jì)階段的任務(wù)是將______轉(zhuǎn)換成關(guān)系模式。

28.以下程序中,函數(shù)SumColumMin的功能是:求出M行N列二維數(shù)組每列元素中的最小值,并計(jì)算它們的和值。和值通過(guò)形參傳回主函數(shù)輸出。請(qǐng)?zhí)羁铡?/p>

#defineM2

#defineN4

voidSumColumMin(inta[M][N],int*Sum)

{inti,j,k,s=0

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

{k=0;

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

if(a[k][i]>a[j][i])k=j;

s+=【】;

}

【】=s;

}

main()

{intx[M][N]={3,2,5,1,4,l,8,3),s;

SumColumMin(【】);

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

}

29.設(shè)有如下程序main(){intn1,n2;scanf(“%d”,&n2);while(n2!=0){n1=n2%10;n2=n2/10;printf(“%d”,n1);}}程序運(yùn)行后,如果從鍵盤(pán)上輸入1298,則輸出結(jié)果為

30.使用結(jié)構(gòu)體處理數(shù)據(jù)的場(chǎng)合是【】。

31.以下和程序中,主函數(shù)調(diào)用了lineMax函數(shù),實(shí)現(xiàn)在N行M列的二維數(shù)組中,找出每一行上的最大值,請(qǐng)?zhí)羁铡?/p>

#defineN3

#defineM4

voidlineMax(intx[N][M])

{inti,j,p;

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

{p=0;

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

if(x[i][p]<x[i][j]【】;

printf("Themaxvalueinlineis%d\n",【】);

}

{

main()

{intx[N][M]={1,5,4,2,6,4,3,8,2,3,1};

【】;

}

32.數(shù)據(jù)庫(kù)系統(tǒng)其內(nèi)部分為三級(jí)模式,即概念模式、內(nèi)模式和外模式。其中,______是用戶(hù)的數(shù)據(jù)視圖,也就是用戶(hù)所見(jiàn)到的數(shù)據(jù)模式。

33.以下程序的功能是:求出數(shù)組x中各相鄰兩個(gè)元素的和依次存放到a數(shù)組中,然后輸出。請(qǐng)?zhí)羁铡?/p>

main()

{intx[10],a[9],I;

for(I=0;I<10;I++)scanf("%d",&x[I]);

for(【】;I<10;I++)

a[I-1]=x[I]+【】;.

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

printf("");

}

34.結(jié)構(gòu)化程序設(shè)計(jì)的3種基本結(jié)構(gòu)分別是順序、選擇和______。

35.有如下圖所示的雙鏈表結(jié)構(gòu),請(qǐng)根據(jù)圖示完成結(jié)構(gòu)體的定義:

structaa

{intdata;

【】}node;

36.算法執(zhí)行過(guò)程中所需要的存儲(chǔ)空間稱(chēng)為算法的______。

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

38.下面的程序是將從終端讀入的20個(gè)字符放入字符數(shù)組中,然后利用指針變量輸出上述字符串,請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{inti;

chars[21],*p;

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

s[i]=getehar();

s[i]=【】;

p=【】;

while(*p)putchar(【】);

}

39.以下函數(shù)把b字符串連接到a字符串的后面,并返回a中新字符串的長(zhǎng)度。請(qǐng)?zhí)羁铡?/p>

strcen(chara[],charb[])

{intnum=0,n=0;

while(*(a+num)!=【】)num++;

while(b[n]){*(a+num)=b[n];num++;【】;}

return(num);

}

40.設(shè)在主函數(shù)中有以下定義和函數(shù)調(diào)用語(yǔ)句,且fun函數(shù)為void類(lèi)型;請(qǐng)寫(xiě)出fun函數(shù)的首部【】(要求形參名為b)。main(){doubles[10][22];intn;……fun(s);……}

三、1.選擇題(20題)41.下列關(guān)于C語(yǔ)言數(shù)據(jù)文件的敘述中正確的是A.文件由ASCII碼字符序列組成,C語(yǔ)言只能讀寫(xiě)文本文件

B.文件由二進(jìn)制數(shù)據(jù)序列組成,C語(yǔ)言只能讀寫(xiě)二進(jìn)制文件

C.文件由記錄序列組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件

D.文件由數(shù)據(jù)流形式組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件

42.有以下程序段:inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;b=p[5];則b中的值是()。

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

43.下列苯于C語(yǔ)言數(shù)據(jù)文件的敘述中正確的是()。

A.文件由ASCII碼字符序列組成,C語(yǔ)言只能讀寫(xiě)文本文件

B.文件由二進(jìn)制數(shù)據(jù)序列組成,C語(yǔ)言只能讀寫(xiě)二進(jìn)制文件

C.文件由記錄序列組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件

D.文件由數(shù)據(jù)流形式組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件

44.若下列各選項(xiàng)中所有變量已正確定義,函數(shù)fun通過(guò)return語(yǔ)句返回一個(gè)函數(shù)值,以下選項(xiàng)中錯(cuò)誤的程序是()。

A.main(){...x=fun(2,10);...}floatfun(inta,intb){...}

B.floatfun(inta,intb){...}main(){...x=fun(i,j);...}

C.floatfun(int,int);main(){...x=fun(2,10);...}floatfun(ihta,intb){...}

D.main(){floatfun(inti,intj);...x=fun(i,j);...}floatfun(inta,intb){...}

45.以下與函數(shù)fseek(fp,0L,SEEK_SET)有相同作用的是

A.feof(fp)B.ftell(fp)C.fgetc(fp)D.rewind(fp)

46.以理程序的輸出結(jié)果______。main(){charst[20]="he11\O\t\\";printf("%d%d\n",str1en(st),sizeof(st));}

A.99B.520C.1320D.2020

47.檢查軟件產(chǎn)品是否符合需求定義的過(guò)程稱(chēng)為()。

A.確認(rèn)測(cè)試B.集成測(cè)試C.驗(yàn)證測(cè)試D.驗(yàn)收測(cè)試

48.下面函數(shù)調(diào)用語(yǔ)句含有實(shí)參的個(gè)數(shù)為()。func((exp1,exp2),(exp3,exp4,exp5));

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

49.設(shè)整型數(shù)i=5,則printf("%d",i+++++i);的輸出為_(kāi)_____。

A.10B.11C.12D.語(yǔ)法錯(cuò)誤

50.

有以下程序:

main

{intx=102,y=012;

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

}

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

A.10,01B.02,12C.102,10D.02,10

51.若程序中定義了以下函數(shù)doublemyadd(doublea,doubleb){return(a+b);}并將其放在調(diào)用語(yǔ)句之后,則在調(diào)用之前應(yīng)該對(duì)該函數(shù)進(jìn)行說(shuō)明,以下選項(xiàng)中錯(cuò)誤的說(shuō)明是()A.doublemyadd(doublea,b);

B.doublemyadd(double,double);

C.doublemyadd(doubleb,doublea);

D.doublemyadd(doublex,doubley);

52.以下能正確定義一維數(shù)組的選項(xiàng)是______。

A.inta[5]={0,1,2,3,4,5};

B.chara[]={0,1,2,3,4,5};

C.chara={'A','B','C'};

D.inta[5]="0123";

53.若fp是指向某文件的指針,且已讀到文件的末尾,則C語(yǔ)言函數(shù)feof(fp)的返回值是()

A.EOFB.-1C.非零值D.NULL

54.C語(yǔ)言的基本單位是()。

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

55.函數(shù)rewind的作用是

A.使文件位置指針重新返回文件的開(kāi)始位置

B.將文件位置指針指向文件中所要求的特定位置

C.使文件位置指針指向文件的末尾

D.使文件位置指針自動(dòng)移至下一個(gè)字符位置

56.已知大寫(xiě)字母A的ASCII碼值是65,小寫(xiě)字母a的ASCII碼是97,則用八進(jìn)制表示的字符常量'\101'是A.字符AB.字符aC.字符eD.非法的常量

57.已知一個(gè)有序線性表為(13,18,24,35,47,50,62,83,90,115,134),當(dāng)用二分法查找值為90的元素時(shí),查找成功的比較次數(shù)為()。

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

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

A.黑箱(盒)測(cè)試方法完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征

B.黑箱(盒)測(cè)試方法主要考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征

C.白箱(盒)測(cè)試不考慮程序內(nèi)部的邏輯結(jié)構(gòu)

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

59.有下列程序:main(){intk=5;while(--k)printf("%d",k-=3);printf("\n");}執(zhí)行后的輸出結(jié)果是()。

A.1B.2C.4D.死循環(huán)

60.有以下程序main(){chars[]="Yes\n/No",*ps=s;puts(ps+4);*(ps+4)=0;puts(s);}程序運(yùn)行后的輸出結(jié)果是(選項(xiàng)D中的第一行是空行)A.n/NoYes/NoB./NoYesYesC.n/No/NoD.Yes/No

四、選擇題(20題)61.以下敘述中正確的是

A.C程序的基本組成單位是函數(shù)B.C程序中的每一行只能寫(xiě)一條語(yǔ)句

C.main()函數(shù)必須放在其他函數(shù)之前D.C語(yǔ)句必須在一行內(nèi)寫(xiě)完

62.下列選項(xiàng)中不是字符常量的是()。

A.'\v'B.'\x2a'C.'a'D."\0"

63.C語(yǔ)言可執(zhí)行程序的開(kāi)始執(zhí)行點(diǎn)是()。

A.包含文件中的第一個(gè)函數(shù)B.程序中第一個(gè)函數(shù)C.程序中的main()函數(shù)D.程序中第一條語(yǔ)句

64.一個(gè)工作人員可以使用多臺(tái)計(jì)算機(jī),而一臺(tái)計(jì)算機(jī)可被多個(gè)人使用,則實(shí)體工作人員與實(shí)體計(jì)算機(jī)之間的聯(lián)系是()。

A.一對(duì)一B.一對(duì)多C.多對(duì)多D.多對(duì)一

65.

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

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

67.

68.

69.有以下程序:#include<stdio.h>main(){inta[5]={1,2,3,4,5),b[5]={0,2,1,3,o},i,s=0;for(i=o;i<5;i++)s=s+a[b[i]];printf(”%d\n”,s);}程序運(yùn)行后的輸出結(jié)果是()。A.6B.10C.11D.15

70.以下選項(xiàng)中,與k=n++完全等價(jià)的表達(dá)式是A.k=n,n=n+1B.n=n+1,k=nC.k=++nD.k+=n+1

71.

72.

73.

74.有以下程序(注:字符a的ASCIl碼值為97)

#include<stdio.h>

main()

{char*s={"abc")

do

{printf("%d",*S%10");++S;}

while(*s);

}

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

A.abcB.789C.7890D.979899

75.以下正確的字符串常量是()。A.A."\\\"

B.'abc'

C.OlympicGames

D.""

76.有三個(gè)關(guān)系R、S和T如下:

則由關(guān)系R和S得到關(guān)系T的操作是()。

A.自然連接B.交C.投影D.并

77.下面結(jié)構(gòu)體的定義語(yǔ)句中,錯(cuò)誤的是()。

A.structord{intx;intY;intz;}structorda;

B.structord{intx;imY;imz;};structorda;

C.structord{intx;intY;intZ;}a;

D.struct{intx;intY;intz;}a;

78.算法的時(shí)間復(fù)雜度是指()。

A.算法所處理的數(shù)據(jù)量B.算法的執(zhí)行時(shí)間C.算法在執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)D.算法程序中的語(yǔ)句或指令條數(shù)

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

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

80.

在下列給出的表達(dá)式中,與while(E)中的(E)不等價(jià)的表達(dá)式是()。

A.(!E==0)B.(E>0C.D.E<0)E.(E==0)F.(E!=0)

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)fun的功能是:從低位開(kāi)始依次取出長(zhǎng)整型變量s中奇數(shù)位上的數(shù),構(gòu)成一個(gè)新數(shù)存放在t中。高位仍在高位,低位仍在低位。

例如,當(dāng)s中的數(shù)為7654321時(shí),t中的數(shù)為7531。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。

注意:部分源程序在文件MODll.C中,不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

#include<;stdi0.h>;

六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫(xiě)一個(gè)函數(shù)proc,它的功能是:求出1~m(含m)能被7或11整除的所有整數(shù)放在數(shù)組a中,通過(guò)n返回這些數(shù)的個(gè)數(shù)。

例如,若傳給m的值為70,則程序輸出:

7111421222833354244495556636670

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

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

試題程序:

#include<stdlib.h>

#include<conio.h>

#include<stdio.h>

#defineN100

voidproc(intm,int*a,int*n)

{}

voidmain

{

intarr[N],n,k;

system("CLS");

proc(70,arr,&n);

for(k=0;k<n;k++)

if((k+1)%20==0)//每行輸出20個(gè)數(shù)

{printf("%4d",arr[k]);

printf("\n");

}

else

printf("%4d",arr[k]);

printf("\n");

}

參考答案

1.B

2.A

3.Ascanf是格式輸入函數(shù),即按用戶(hù)指定的格式從鍵盤(pán)上把數(shù)據(jù)輸入指定的變量中。其中,在百分號(hào)(%)與格式碼之間的整數(shù)用于限制從對(duì)應(yīng)域讀入的最大字符數(shù)。所以j的值為55,y的值為566.0,字符數(shù)組name的值為7777abc。故本題答案為A選項(xiàng)。

4.D在程序中指針變量P初始指向a[3],執(zhí)行P減1后,P指向a[2],語(yǔ)句y=*P的作用是把a(bǔ)[2]的值賦給變量y,所以輸出為y=3。

5.B

6.B題中,首先定義了double型的數(shù)組a,并將數(shù)組首地址賦給指針s?!?*s)”表示“a[1]”,“s[3]”不是指針變量,不能使用間址運(yùn)算符“*”,故選項(xiàng)A、C不能表示“a[3]”;選項(xiàng)D的“*s+3”等于“a[0]+3”。故本題答案為B選項(xiàng)。

7.A

8.A解析:本題主要考查運(yùn)算表達(dá)式的運(yùn)算。3+(int)(x)的結(jié)果是10011010,~3的結(jié)果是11111100,二者邏輯與得10011000。

9.B

10.D解析:實(shí)體聯(lián)系模型中實(shí)體與實(shí)體之間的聯(lián)系有一對(duì)一(1:1),一對(duì)多戌多對(duì)一(1:m或m:1),多對(duì)多(m:n)其中一對(duì)一是最常用的關(guān)系。

11.D

12.B本題考多循環(huán)的使用,當(dāng)j=10,i=9時(shí),循環(huán)成立,第一個(gè)if條件為假,第二個(gè)if條件i==j-1成立,則輸出j的值為10,接者執(zhí)行i++后,i為10;當(dāng)i為10,for循環(huán)不成立,退出內(nèi)層循環(huán),此時(shí)執(zhí)行j++后,j為11,循環(huán)不成立,退出循環(huán)。

13.B解析:考查用指針引用字符串元素的方法。指針a通過(guò)數(shù)組元素下標(biāo)來(lái)從頭逐個(gè)地引用字符串item中的字符,判斷不是0~9之間的數(shù)字時(shí),就去掉這個(gè)字符,所以程序結(jié)束后,字符串item中就只剩下和兩個(gè)字符了。

14.D

15.C解析:本題考核的知識(shí)點(diǎn)是字符數(shù)組的定義、賦初值以及函數(shù)sizeof()的應(yīng)用。本題中定義兩個(gè)字符型數(shù)組,其中a省略了長(zhǎng)度,定義了b的長(zhǎng)度為10,并賦初值分別為“abcdefg”和“abcdfg”。所以a的長(zhǎng)度為賦值給它的字符串的字符個(gè)數(shù)7加上一個(gè)結(jié)束轉(zhuǎn)義字符,即a的長(zhǎng)度為7+1為8.定義時(shí)b的長(zhǎng)度定義為10,故b的長(zhǎng)度為10,因此最后通過(guò)函數(shù)sizeof()求得的數(shù)組a和數(shù)組b的長(zhǎng)度分別為8和10,所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。

16.C此題是考查fprintf和fscanf,其中fprintf是向文件輸出,文件為da2.dat文件,fscanf是向文件輸入,所以根據(jù)程序循環(huán)寫(xiě)入和寫(xiě)出.可知答案為C。

17.B程序中,fun函數(shù)的功能是接收兩個(gè)數(shù)組a、b,以及數(shù)組a的元素個(gè)數(shù)n,然后通過(guò)for循環(huán)將數(shù)組a中下標(biāo)為偶數(shù)的元素與后面相鄰的下標(biāo)為奇數(shù)的元素兩兩相加,賦給數(shù)組b中下標(biāo)為j的元素,最后返回?cái)?shù)組b的個(gè)數(shù)。所以main函數(shù)中,通過(guò)調(diào)用fun函數(shù),將數(shù)組a的元素兩兩相加,得到數(shù)組b的各個(gè)元素,再通過(guò)for循環(huán)輸出,結(jié)果為:1593。故本題答案為B選項(xiàng)。

18.A解析:在函數(shù)fun1()中,首先將形參p的內(nèi)容存入臨時(shí)指針q中,然后使用—個(gè)while循環(huán),當(dāng)q所指內(nèi)容不是字符串結(jié)束標(biāo)志'\\0\'時(shí),讓q所指內(nèi)容增1,然后將指針q增1指向下一個(gè)位置。所以函數(shù)fun1()實(shí)現(xiàn)的功能是:將傳入字符串的所有字符自增1。主函數(shù),指針p在被傳入fun1()函數(shù)之前,初始化指向的是寧符數(shù)組a的第4個(gè)元素\'g\',所以最終輸出的結(jié)果應(yīng)該是Prohsbn。故應(yīng)該選擇A。

19.DC語(yǔ)言中,常量有整型常量、實(shí)型常量、字符常量和字符串常量等。整型常量和實(shí)型常量又稱(chēng)為數(shù)值型常量。其中整型常量只能用數(shù)字表示,不帶小數(shù)點(diǎn)。實(shí)型常量必須用帶小數(shù)點(diǎn)的數(shù)表示,所以選項(xiàng)A錯(cuò)誤,選項(xiàng)D正確;字符型常量是用單引號(hào)標(biāo)注的單個(gè)字符,字符串常量是用雙引號(hào)標(biāo)注的若干個(gè)字符,選項(xiàng)B、C錯(cuò)誤。故本題答案為D選項(xiàng)。

20.A

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

22.88解析:本題考查帶參數(shù)的宏定義及相關(guān)運(yùn)算.運(yùn)算過(guò)程為:t=B*2=A+3*2=2+3*2=8。

23.讀棧頂元素讀棧頂元素解析:棧的基本運(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è)變量。

24.852852解析:循環(huán)前,變量y的值為9,其中的循環(huán)語(yǔ)句在y大于0情況下循環(huán),每次循環(huán)后y的值減1。循環(huán)體是當(dāng)y能被3整除時(shí)輸出表達(dá)式--y,輸出的是減1后的y值。這樣,第一次循環(huán)因y為9,能被3整除,輸出8,y也變成8。又經(jīng)兩次循環(huán),y的值變?yōu)?,又讓y減1變成5,并輸出5;又經(jīng)兩次循環(huán),y的值變成3,讓y減1變成2,輸出2;再經(jīng)兩次循環(huán)后,y的值變成0,結(jié)束循環(huán)。所以程序輸出852。

25.用x+8代替函數(shù)fun(doublex)中形式參數(shù)x。用sin(x)代替函數(shù)fun(doublex)中形式參數(shù)x。

26.x==0x==0解析:!x的邏輯意思就是x為非,即x==0。

27.E-R圖E-R圖解析:數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)的任務(wù)是將概念模型進(jìn)一步轉(zhuǎn)化成相應(yīng)的數(shù)據(jù)模型。而E-R圖是主要的概念模型,因此數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì)的主要工作是將E-R圖轉(zhuǎn)換成關(guān)系模式。

28.a[k][i]*sumx&sa[k][i]\r\n*sum\r\nx,&s解析:本題中定義了一個(gè)函數(shù)SumColumMin(),該函數(shù)有兩個(gè)參數(shù),第一個(gè)參數(shù)為數(shù)組名,第二個(gè)參數(shù)為一個(gè)指針,用來(lái)訪問(wèn)存放數(shù)組中每列元素中最小值的存儲(chǔ)空間的變量。所以在主函數(shù)中調(diào)用SumColumMin()函數(shù),應(yīng)該將數(shù)組x和sam作為實(shí)參傳給SumColumMin()中的形參,故第19個(gè)空格處應(yīng)該填x,&s。在SumColumMin()函數(shù)中用了兩重循環(huán),用N記錄數(shù)組的列,M記錄數(shù)組的行。內(nèi)循環(huán)共循環(huán)了M次,每循環(huán)一次將a[k][i]比較a[j][i](當(dāng)k=O時(shí),a[k][i]第一行第一列的值,然后將該值依次和第一列中的每個(gè)值比較,讓a[k][i]表示較小的值,那么比較到最后一個(gè)元素后a[k][i]就是改列中最小元素的值),讓k記錄較小值元素的行下標(biāo),這樣通過(guò)M次循環(huán)得到每列中的最小元素,然后退出內(nèi)循環(huán),繼續(xù)執(zhí)行該次外循環(huán)里的其他語(yǔ)句,即將剛求得第i列的最小值a[k][i]累加到s中,故第17個(gè)空格處應(yīng)該填a[k][i],最后外循環(huán)共循環(huán)N次,將每列的最小值累加到s中,退出循環(huán),然后讓指針sum所指向的存儲(chǔ)空間的值為s,故第18個(gè)空格處應(yīng)該填*sum。

29.89218921

30.把不同類(lèi)型的數(shù)據(jù)作為整體處理

31.p=jx[i][p]lineMax(x)

32.外模式外模式解析:數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式分別是內(nèi)模式、概念模式和外模式。其中,物理模式給出了數(shù)據(jù)庫(kù)的物理存儲(chǔ)結(jié)構(gòu)和存取方法;概念模式是數(shù)據(jù)庫(kù)系統(tǒng)中全局?jǐn)?shù)據(jù)邏輯結(jié)構(gòu)的描述;外模式是用戶(hù)的數(shù)據(jù)視圖,也就是用戶(hù)所見(jiàn)到的數(shù)據(jù)模式。

33.I=1x[I-1]I=1,x[I-1]解析:對(duì)于10個(gè)數(shù),相臨的兩個(gè)數(shù)相加取和,總共要進(jìn)行9次加法運(yùn)算,所以空14處應(yīng)填入I=1。相臨的兩個(gè)數(shù)相加取和,放在數(shù)組a中,x[0]與x[1]的和存放在a[0]中,所以空15處應(yīng)填入x[I-1]。

34.重復(fù)(循環(huán))重復(fù)(循環(huán))解析:結(jié)構(gòu)化程序設(shè)計(jì)包括3種基本的結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)和重復(fù)結(jié)構(gòu)(循環(huán)結(jié)構(gòu)),利用這3種結(jié)構(gòu)就足以表達(dá)出各種其他形式結(jié)構(gòu)的程序設(shè)計(jì)方法。其中利用循環(huán)結(jié)構(gòu),可以簡(jiǎn)化大量的程序執(zhí)行。

35.structaa*lhead*rchild;structaa*lhead,*rchild;解析:結(jié)構(gòu)體對(duì)鏈表的定義。

36.空間復(fù)雜度空間復(fù)雜度解析:算法執(zhí)行時(shí)所需要的存儲(chǔ)空間,稱(chēng)為算法的空間復(fù)雜度。

37.(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)。

38.\0s*p++\\0\r\ns\r\n*p++解析:本題先通過(guò)for循環(huán)從鍵盤(pán)讀入20個(gè)字符,然后賦值'\\0'作為字符串結(jié)束標(biāo)志,再使指針p指向字符串的首地址,最后通過(guò)while循環(huán)對(duì)字符串進(jìn)行掃描并輸出。

39.0'或0或NULLn++或++n或n=n+1或n+=10'或0或NULL\r\nn++或++n或n=n+1或n+=1

40.

41.D解析:C語(yǔ)言把文件看成是一個(gè)字符(字節(jié))的序列,即由一個(gè)一個(gè)字符(字節(jié))的數(shù)據(jù)順序組成。根據(jù)數(shù)據(jù)的組織形式,可分為ASCII文件和二進(jìn)制文件。ASCII文件又稱(chēng)文本文件,它的每一個(gè)字節(jié)放一個(gè)ASCII代碼,代表一個(gè)字符。二進(jìn)制文件是把內(nèi)存中的數(shù)據(jù)按其在內(nèi)存中的存儲(chǔ)形式原樣輸出到磁盤(pán)上存放。

42.D解析:p為指向整型數(shù)據(jù)的指針變量,存放的是a[3]的地址,即p指向數(shù)組{4,5,6,7,8,9,10},b=p[5],因此,b中的值是9。

43.D解析:C語(yǔ)言數(shù)據(jù)文件由數(shù)據(jù)流形式組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件,選項(xiàng)A)、B)、C)錯(cuò)誤。ASCII文件又稱(chēng)文本文件,它的每一個(gè)字節(jié)代表一個(gè)字符。二進(jìn)制文件是把內(nèi)存中的數(shù)據(jù)按其在內(nèi)存中的存儲(chǔ)形式原樣輸出到磁盤(pán)上存放。

44.A解析:C語(yǔ)言程序從main函數(shù)開(kāi)始執(zhí)行,當(dāng)程序中定義了多個(gè)函數(shù)時(shí),通常情況下是先定義后調(diào)用。若被調(diào)用函數(shù)定義在主調(diào)函數(shù)之后,則必須先聲明后調(diào)用。在選項(xiàng)A)中,先執(zhí)行main函數(shù),并調(diào)用了fun函數(shù),而fun函數(shù)在此調(diào)用之前無(wú)定義也無(wú)聲明,故無(wú)法正常識(shí)別調(diào)用,所以錯(cuò)誤。

45.D解析:本題考查的是文件操作函數(shù).題目中fseek(fp,0L,SEEK_SET)的作用將文件指針定位到文件開(kāi)始。feof(fp)的作用是判斷文件指針是否已到文件結(jié)尾,因此選項(xiàng)A不對(duì)。ftell(fp)的作用是獲取當(dāng)前文件指針的位置,因此選項(xiàng)B不對(duì)。fgetc(fp)的作用是從文件中讀取一個(gè)字節(jié),因此選項(xiàng)C不對(duì)。rewind(中)的作用是將文件指針重定位到文件開(kāi)頭,所以應(yīng)該選擇D。

46.B解析:C語(yǔ)言中字符串是以'\\O'字符結(jié)束的,且strlen()函數(shù)計(jì)算的是'\\O'字符前的所有字符的個(gè)數(shù)。本題中strlen(st)應(yīng)為5。數(shù)組定義以后系統(tǒng)就為其分配相應(yīng)大小的內(nèi)存空間,而不論其中有沒(méi)有內(nèi)容。sizeof()函數(shù)是計(jì)算變量或數(shù)組的所分配到的內(nèi)存空間的大小。所以本題的sizeof(st)為20。

47.A本題主要考查軟件測(cè)試的基本知識(shí)。軟件測(cè)試的步驟可分為單元測(cè)試(模塊測(cè)試)、集成測(cè)試、確認(rèn)測(cè)試和系統(tǒng)測(cè)試。

(1)單元測(cè)試是針對(duì)每個(gè)模塊進(jìn)行的測(cè)試,它可從程序的內(nèi)部結(jié)構(gòu)出發(fā)設(shè)計(jì)測(cè)試用例,多個(gè)模塊可以平行、對(duì)立地測(cè)試。單元測(cè)試主要用于發(fā)現(xiàn)詳細(xì)設(shè)計(jì)和編程時(shí)犯下的錯(cuò)誤。單元測(cè)試多采用白盒測(cè)試,輔之以黑盒測(cè)試。

(2)集成測(cè)試是在單元測(cè)試的基礎(chǔ)上,根據(jù)模塊結(jié)構(gòu)圖將各個(gè)模塊連接起來(lái),必須精心計(jì)劃,應(yīng)提交集成測(cè)試計(jì)劃、集成測(cè)試規(guī)格說(shuō)明和集成測(cè)試分析報(bào)告。主要目標(biāo)是發(fā)現(xiàn)與接口有關(guān)的問(wèn)題。集成測(cè)試可以發(fā)現(xiàn)概要設(shè)計(jì)時(shí)犯的錯(cuò)誤。

(3)確認(rèn)測(cè)試用于驗(yàn)證軟件的功能和性能及其他特性是否與用戶(hù)的要求一致。確認(rèn)測(cè)試主要用于發(fā)現(xiàn)需求分析時(shí)犯下的錯(cuò)誤,一般使用黑盒法測(cè)試,以表明軟件符合需求說(shuō)明書(shū)的要求,應(yīng)該仔細(xì)設(shè)計(jì)測(cè)試用例和測(cè)試過(guò)程。確認(rèn)測(cè)試必須有用戶(hù)參加,或以用戶(hù)為主,用戶(hù)應(yīng)參與設(shè)計(jì)測(cè)試用例,通常情況下,主要使用生產(chǎn)中的實(shí)際數(shù)據(jù)進(jìn)行測(cè)試,測(cè)試數(shù)據(jù)通過(guò)用戶(hù)接口輸入。

(4)系統(tǒng)測(cè)試是將已經(jīng)通過(guò)確認(rèn)測(cè)試的軟件,作為整個(gè)計(jì)算機(jī)系統(tǒng)的元素與計(jì)算機(jī)硬件、外設(shè)和網(wǎng)絡(luò)等其他因素結(jié)合在一起,進(jìn)行一系列的組裝測(cè)試和確認(rèn)測(cè)試。系統(tǒng)測(cè)試的目的是通過(guò)與系統(tǒng)的需求定義做比較,發(fā)現(xiàn)軟件與系統(tǒng)的定義不符合的地方。系統(tǒng)測(cè)試可以發(fā)現(xiàn)問(wèn)題定義時(shí)犯下的錯(cuò)誤。

48.B

49.D解析:C語(yǔ)言中有基本的算術(shù)運(yùn)算符(+、-、*、/)還包括自增自減運(yùn)算符(++、-),在C語(yǔ)言解析表達(dá)式時(shí),它總是進(jìn)行貪婪咀嚼,這佯,該表達(dá)式就被解析為i+++++i,顯然該表達(dá)式不合C語(yǔ)言語(yǔ)法。

50.C解析:本題中,“printf('%2d,%2d\\n',x,y)”表示以逗號(hào)隔開(kāi)輸出兩個(gè)十進(jìn)制整數(shù),每個(gè)整數(shù)域?qū)捠?。而在C語(yǔ)言中規(guī)定:當(dāng)域?qū)捫∮趯?shí)際寬度時(shí)域?qū)挷黄鹱饔茫磳?shí)際寬度輸出,因此最后的輸出值為102和10(y的初值012表示八進(jìn)制整數(shù)12,等于十進(jìn)制的10)。所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。

51.A解析:本題考核的知識(shí)點(diǎn)是函數(shù)聲明的應(yīng)用。函數(shù)聲明是對(duì)所用到的函數(shù)的特征進(jìn)行必要的聲明,編譯系統(tǒng)以函數(shù)聲明中給出的信息為依據(jù),對(duì)調(diào)用表達(dá)式進(jìn)行檢測(cè),以保證調(diào)用表達(dá)式與函數(shù)之間的參數(shù)正確傳遞。函數(shù)聲明的一般格式為:

類(lèi)型標(biāo)識(shí)符函數(shù)名(類(lèi)型標(biāo)識(shí)符形參…);

這些信息就是函數(shù)定義中的第一行的內(nèi)容。這里形參的名字是不重要的,重要的是類(lèi)型標(biāo)識(shí)符,函數(shù)聲明中也可以不寫(xiě)形參名只寫(xiě)該形參的聲明類(lèi)型,但不能只寫(xiě)形參名而不寫(xiě)該形參的類(lèi)型。本題中,選項(xiàng)A中doublemyadd(doublea,b),沒(méi)寫(xiě)出形參b的類(lèi)型,故選項(xiàng)A不正確。所以,4個(gè)選項(xiàng)中選項(xiàng)A符合題意。

52.B解析:選項(xiàng)A)定義的是長(zhǎng)度為5的數(shù)組元素,但初值有6個(gè)元素,所以錯(cuò)誤;選項(xiàng)C)不符合數(shù)組定義形式,數(shù)組名后應(yīng)加上“[];選項(xiàng)D)的類(lèi)型說(shuō)明符錯(cuò)誤,應(yīng)改為char;選項(xiàng)B)中的0,1,2,3,4,5分別表示對(duì)應(yīng)字符的ASCII碼,所以正確。

53.D

54.AA?!窘馕觥緾語(yǔ)言是函數(shù)式的語(yǔ)言。它的基本組成單位是函數(shù),在C語(yǔ)言中任何程序都是由一個(gè)或者多個(gè)函數(shù)組成的。

55.A解析:函數(shù)rewind的功能是將文件指針重新指向一個(gè)流的開(kāi)頭。用法如下:

intrewind(FILE*stream);并且無(wú)返值。

56.A本題考查的知識(shí)點(diǎn)是轉(zhuǎn)義字符。題目中的關(guān)鍵是八進(jìn)制101的十進(jìn)制是多少.八進(jìn)制的101轉(zhuǎn)換為十進(jìn)制為65,也就是字符A的ASCII。

57.BB?!窘馕觥扛鶕?jù)二分法查找法需要兩次:(1)首先將90與表中間的元素50進(jìn)行比較,由于90大于50,所以性表的后半部分查找。(2)第二次比較的元素是后半部分的中間元素,即90,這時(shí)兩者相等,即查找成功。

58.A解析:黑箱測(cè)試方法完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征,而只是根據(jù)程序功能導(dǎo)出測(cè)試用例,選項(xiàng)A是正確的,選項(xiàng)B錯(cuò)誤。白箱測(cè)試是根據(jù)對(duì)程序內(nèi)部邏輯結(jié)構(gòu)的分析來(lái)選取測(cè)試用例,選項(xiàng)C錯(cuò)誤。正確答案為A。

59.A解析:在程序語(yǔ)句中,k的初始值為5,進(jìn)行第1次while循環(huán)后,k自減1為4,非0,執(zhí)行循環(huán)體里的printf語(yǔ)句,輸出1,此時(shí)k的值變?yōu)?。程序執(zhí)行第2次循環(huán)時(shí),k自減1變?yōu)?,為假,退出while循環(huán)語(yǔ)句。所以程序的最后結(jié)果為1。

60.B本題考核的知識(shí)點(diǎn)是puts()函數(shù)的應(yīng)用。主函數(shù)中定義了一個(gè)字符數(shù)組s并賦初值,一個(gè)字符串指針變量ps并讓它指向s。程序中p+4的地址為數(shù)組第5個(gè)元素的地址,而調(diào)用put(str_adr)函數(shù)時(shí),將從str_adr這一地址開(kāi)始,依次輸出存儲(chǔ)單元中的字符,遇到第一個(gè)“\\0”時(shí)結(jié)束輸出,并自動(dòng)輸出一個(gè)換行符。所以put(p++4)將輸出n/No,put(s)將從s第一個(gè)元素開(kāi)始輸出到第3個(gè)元素結(jié)束(因?yàn)閳?zhí)行*(p4)c0語(yǔ)句后s中的第5個(gè)元素的值為0,而s中的第4個(gè)元素為“\\”,puts將遇到“\\0”,結(jié)束輸出),即輸出yes。所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。

61.A本題主要考查C語(yǔ)句中函數(shù)的基本知識(shí)。

在C語(yǔ)言中,函數(shù)是組成C語(yǔ)言程序的基本單位,而函數(shù)又主要由語(yǔ)句和注釋組成,在C程序中,每一行可以寫(xiě)一條或多條語(yǔ)句,而且一條語(yǔ)句也可以分多行(編程時(shí)不推薦這樣做,這樣可讀性不好)。

main函數(shù)是C語(yǔ)言的入口函數(shù),一切程序都從這里開(kāi)始執(zhí)行,在main函數(shù)中可以調(diào)用其他庫(kù)函數(shù)或用戶(hù)自定義的函數(shù),main函數(shù)不一定要放在程序的最前面,它可以出現(xiàn)在程序的任何位置。

62.Dc語(yǔ)言規(guī)定,一個(gè)字符常量代表ASCII碼字符集里的一個(gè)字符,在群序中用單引號(hào)括起來(lái),以便區(qū)分。'\v'表示的是豎向跳格:'kx2a'表示的是兩位十六迸制數(shù);'a'表示的是字符a對(duì)應(yīng)的ASCII碼值。"\0"用雙引號(hào)故不正確。

63.C解析:每個(gè)C程序有且只有一個(gè)主函數(shù)main(),且程序必須從main函數(shù)開(kāi)始執(zhí)行,并在main()函數(shù)中結(jié)束。

64.C因?yàn)橐粋€(gè)人可以操作多個(gè)計(jì)算機(jī),而一臺(tái)計(jì)算機(jī)又可以被多個(gè)人使用,所以?xún)蓚€(gè)實(shí)體之間是多對(duì)多的關(guān)系。

65.D

66.D本題目中靜態(tài)局部變量x,在靜態(tài)存儲(chǔ)區(qū)內(nèi)分配存儲(chǔ)單元,在程序整個(gè)運(yùn)行期間都不釋放。因此第一次循環(huán)s的值為2;第二次循環(huán)中,返回的x的值為4,因此s的值為8;第三次循環(huán),返回的x的值為8,因此s的值為64。

67.C

68.B

69.C本題考查數(shù)組的使用。本題定義了兩個(gè)數(shù)組,注意數(shù)組的下標(biāo)是從0開(kāi)始的,進(jìn)行第1次for循環(huán):當(dāng)i=0時(shí),b[0]為數(shù)組b中第l個(gè)元素,結(jié)果為0,那么a[0]也是數(shù)組a中第l個(gè)元素,結(jié)果為1,所以S的值為1。第2次循環(huán):i此時(shí)自加為l,b[1]為數(shù)組的第2個(gè)元素,值為2,所以可求出a[2](數(shù)組中的第3個(gè)元素)的值為3,s=s+3,所以S的值為4。進(jìn)入第3次for循環(huán),依此類(lèi)推,第3次for循環(huán)結(jié)束時(shí)s的值為6。第4次for循環(huán),s的值變?yōu)閘0。第5次for循環(huán)時(shí),此時(shí)i的值為4,s的值變?yōu)閘l,i=5不符合題意,所以跳出循環(huán),輸出結(jié)果,所以本題答案為C。

70.A解析:在本題中k=n++,為后綴運(yùn)算。根據(jù)其運(yùn)算規(guī)則,首先n先加一,但n++表達(dá)式的值依然n原來(lái)的值,即k的值沒(méi)有改變。選項(xiàng)A中先給k賦值為n,然后n再加1,k值沒(méi)有變化,所以這個(gè)表達(dá)式和本題中表達(dá)式等價(jià):選項(xiàng)B中先n加1,然后將n加1后的值賦給k,k變化了比原來(lái)的值大1,所以這個(gè)表達(dá)式和本題中表達(dá)式不等價(jià):選項(xiàng)C中先計(jì)算表達(dá)式左邊的表達(dá)式++=N的值,執(zhí)行++n后,左邊的表達(dá)式的值為n的值加1,然后將n+1后的值賦給k,所以這個(gè)表達(dá)式和本題中的表達(dá)式不等價(jià);選項(xiàng)D中表達(dá)式展開(kāi)為k=k+(n+1),k的值發(fā)生了變化,所以這個(gè)表達(dá)式和本題中的表達(dá)式不等價(jià)。所以4個(gè)選項(xiàng)中A正確。

71.B

72.B

73.A

74.B\n程序中的*s%10是求余運(yùn)算,分別是a、b、C的ASCIl碼值對(duì)10進(jìn)行求余運(yùn)算然后輸出,所以輸出的答案為789。r

\n

75.D選項(xiàng)A中“\\\”為轉(zhuǎn)義字符,故選項(xiàng)A錯(cuò)誤,選項(xiàng)B和C顯然不是字符串常量。選項(xiàng)D是一個(gè)字符串常量,稱(chēng)為空串。

76.A解析:結(jié)構(gòu)化程序的概念首先是從以往編程過(guò)程中無(wú)限制地使用轉(zhuǎn)移語(yǔ)句而提出的。轉(zhuǎn)移語(yǔ)句可以使程序的控制流程強(qiáng)制性地轉(zhuǎn)向程序的任一處,在傳統(tǒng)流程圖中,就是用上節(jié)我們提到的“很隨意”的流程線來(lái)描述這種轉(zhuǎn)移功能。如果一個(gè)程序中多處出現(xiàn)這種轉(zhuǎn)移情況,將會(huì)導(dǎo)致程序流程無(wú)序可尋,程序結(jié)構(gòu)雜亂無(wú)章,這樣的程序是令人難以理解和接受的,并且容易出錯(cuò)。尤其是在實(shí)際軟件產(chǎn)品的開(kāi)發(fā)中,更多的追求軟件的可讀性和可修改性,象這種結(jié)構(gòu)和風(fēng)格的程序是不允許出現(xiàn)的。

77.AA選項(xiàng)stnletonl{intx;inty;int2;struetoraa;錯(cuò)誤,不能在定義結(jié)構(gòu)體的同時(shí),又用結(jié)構(gòu)體類(lèi)型名定義變量。應(yīng)該寫(xiě)成B選項(xiàng)或者D選項(xiàng)的格式。

78.C一個(gè)算法的時(shí)間復(fù)雜度是指執(zhí)行這個(gè)算法所需的極端工作量。

79.D解析:軟件生命周期分為軟件定義、軟件開(kāi)發(fā)及軟件運(yùn)行維護(hù)3個(gè)階段。本題中,詳細(xì)設(shè)計(jì)、軟件編碼和軟件測(cè)試都屬于軟什開(kāi)發(fā)階段;維護(hù)是軟件生命周期的最后一個(gè)階段,也是持續(xù)時(shí)間最長(zhǎng),花費(fèi)代價(jià)最大的一個(gè)階段.軟件工程學(xué)的一個(gè)目的就是提高軟件的可維護(hù)性,降低維護(hù)的代價(jià)。

80.B

\n在while(E)中,表達(dá)式E可以是C語(yǔ)言中任意合法的條件表達(dá)式,但不能為空,由它來(lái)控制循環(huán)體是否執(zhí)行。在選項(xiàng)8中表達(dá)式E>0||E<0是一個(gè)邏輯表達(dá)式。

\n

81.

(1)void(long}t)

(2)sl=sl·10;

【考點(diǎn)分析】

函數(shù)定義,指針型變量;數(shù)值n和其各個(gè)位如何表示。

【解題思路】

(1)主函數(shù)中調(diào)用函數(shù)的參數(shù)為地址,因此函數(shù)fun的形式參數(shù)應(yīng)為指針類(lèi)型。

(2)重新組合一個(gè)數(shù),從個(gè)位開(kāi)始,然后十位,依次類(lèi)推,因此每增加—位數(shù),原數(shù)值需乘以10,即sl=sl}10;。

82.\n\tvoidproc(intm,int*a,int*n)

\n{

\ninti,j=0;

\nfor(i=1;i<=m;i++)//進(jìn)行m次循環(huán)

\nif(i%7==0||i%11==0)//能被7或11整除的所有整數(shù)

\na[j++]=i;//符合條件的數(shù)放在數(shù)組a中

\n*n=j;//返回這些數(shù)的個(gè)數(shù)

\n}

\n【解析】本題需要先判斷1~m每一個(gè)整數(shù)能否被7或11整除,然后將符合條件的整數(shù)放在數(shù)組a中,最后將符合條件的數(shù)的個(gè)數(shù)通過(guò)形參n返回主函數(shù)。\n2022-2023年山東省濟(jì)南市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.

2.判斷一個(gè)順序存儲(chǔ)的隊(duì)列sp為空的條件是()。

A.sp->front=sp->rear

B.sp->front=sp->rear+1

C.sp->front=sp->rear-1

D.sp->front=NULL

3.有以下程序段:#include<stdio.h>intj;floaty;charname[50];scanf(“%2d%f%s”,&j,&y,name);當(dāng)執(zhí)行上述程序段時(shí),從鍵盤(pán)上輸入555667777abc后,y的值為()。

A.566.0B.55566.0C.7777.0D.566777.0

4.有以下程序:

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

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

5.

6.設(shè)有定義“doublea[10],*s=a;”,以下能夠代表數(shù)組元素a[3]的是()。

A.(*s)[3]B.*(s+3)C.*s[3]D.*s+3

7.若有序表的關(guān)鍵字序列為(b,c,d,e,f,g,q,r,s,t),則在二分查找關(guān)鍵字b的過(guò)程中,先后進(jìn)行的關(guān)鍵字依次為()

A.f,c,BB.f,d,BC.g,c,BD.g,d,B

8.若x=10010111,則表達(dá)式(3+(int)(x))&(~3)的運(yùn)算結(jié)果是()。

A.10011000B.10001100C.10101000D.10110000

9.

10.實(shí)體聯(lián)系模型中實(shí)體與實(shí)體之間的聯(lián)系不可能是

A.一對(duì)一B.多對(duì)多C.一對(duì)多D.對(duì)零

11.

12.有以下程序:main{inti,j;for(j=10;j<11;j++){for(i=9;i<j;i++)if(!(j%i))break;if(i==j-1)printf("%d",j);}}輸出結(jié)果是()。A.11B.10C.9D.1011

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

#include<stdio.h>

voiddelch(char*s)

{inti,j;

char*a;

a=s;

for(i=0,j=0;a[i]!=′\n′;i++)

if(a[i]>=′0′&&a[i]<=′9′)

{s[j]=a[i];j++;}

s[j]=′\0′;}

main()

{char*item="a34bc";

delch(item);

printf("\n%s",item);}

A.abcB.34C.a34D.a34bc

14.

15.有以下程序:main(){chara[]="abcdefg",b[10]="abcdefg";printf("%d%d\n",sizeof(a),sizeof(b));}執(zhí)行后輸出結(jié)果是()。

A.77B.88C.810D.1010

16.有以下程序:#include<stdiO.h>main(){FILE*fp;intk,n,i,a[6]={1,2,3,4,5,6};fp=fopen("d2.dat","w");for(i=0;i<6;i++)fprintf(fp,"%d\n",a[i]);fclose(fp);fp(i=0;i<3;i++)fscanf(fp,"%d%d",&k,&n);fclose(fp);printf("%d\n,%d\n,k,n);}程序運(yùn)行后的輸出結(jié)果是()。A.1,2B.3,4C.5,6D.123,456

17.有以下程序:#include<stdio.h>intfun(int*a,int*b,intn){inti=0,j=0,sum=0;for(;i<n;i++){sum+=a[i];if((i+1)%2==0){b[j++]=sum;sum=0;}}returnj;}main(){inta[8]={1,0,2,3,5,4,2,1},b[8],k,i;k=fun(a,b,8);for(i=0;i<k;i++)printf(“%d”,b[i]);}程序的運(yùn)行結(jié)果是()。

A.0242B.1593C.1351D.286

18.有以下程序:voidfun1(char*p){char*q;q=p;while(*q!='\0'){(*q)++;q++;}}main(){chara[]={"Program"),*p;p=&a[3];fun1(p)printf("%s\n",A);}程序執(zhí)行后的輸出結(jié)果是()。

A.ProhsbnB.PrphsbnC.ProgsbnD.Program

19.以下選項(xiàng)中合法的C語(yǔ)言常量是()。

A.2.0KbB.”C++’C.”\2.0D.1.01

20.鏈表不具備的特點(diǎn)是()。

A.可隨機(jī)訪問(wèn)任一結(jié)點(diǎn)B.插入刪除不需要移動(dòng)元素C.不必事先估計(jì)存儲(chǔ)空間D.所需空間與其長(zhǎng)度成正比

二、2.填空題(20題)21.常用的黑箱測(cè)試有等價(jià)類(lèi)劃分法、【】和錯(cuò)誤推測(cè)法3種。

22.設(shè)有下列宏定義:#defineA2

#defineBA+3

則執(zhí)行賦值語(yǔ)句;t=B*2;t為int型變量后的值是______。

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

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

main()

{inty=9;

for(;y>0;y--)

if(y%3==0)

{printf("%d",--y);continue;}}

25.以下程序中,函數(shù)fun的功能是計(jì)算x2-2x+6,主函數(shù)中將調(diào)用fun函數(shù)計(jì)算:

y1=(x+8)2-2(x+8)+6

y2=sin2(x)-2sin(x)+6

請(qǐng)?zhí)羁铡?/p>

ginclude"math.h"

doublefun(doublex){return(x*x-2*x+6);}

main()

{doublex,y1,y2;

pfintf("Enterx:");scanf("%lf"&x);

y1=fun([10]);y2=fun([11]);

pin

26.若x為血類(lèi)型,請(qǐng)寫(xiě)出與!x等價(jià)的C語(yǔ)言表達(dá)式______。

27.數(shù)據(jù)庫(kù)的邏輯模型設(shè)計(jì)階段的任務(wù)是將______轉(zhuǎn)換成關(guān)系模式。

28.以下程序中,函數(shù)SumColumMin的功能是:求出M行N列二維數(shù)組每列元素中的最小值,并計(jì)算它們的和值。和值通過(guò)形參傳回主函數(shù)輸出。請(qǐng)?zhí)羁铡?/p>

#defineM2

#defineN4

voidSumColumMin(inta[M][N],int*Sum)

{inti,j,k,s=0

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

{k=0;

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

if(a[k][i]>a[j][i])k=j;

s+=【】;

}

【】=s;

}

main()

{intx[M][N]={3,2,5,1,4,l,8,3),s;

SumColumMin(【】);

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

}

29.設(shè)有如下程序main(){intn1,n2;scanf(“%d”,&n2);while(n2!=0){n1=n2%10;n2=n2/10;printf(“%d”,n1);}}程序運(yùn)行后,如果從鍵盤(pán)上輸入1298,則輸出結(jié)果為

30.使用結(jié)構(gòu)體處理數(shù)據(jù)的場(chǎng)合是【】。

31.以下和程序中,主函數(shù)調(diào)用了lineMax函數(shù),實(shí)現(xiàn)在N行M列的二維數(shù)組中,找出每一行上的最大值,請(qǐng)?zhí)羁铡?/p>

#defineN3

#defineM4

voidlineMax(intx[N][M])

{inti,j,p;

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

{p=0;

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

if(x[i][p]<x[i][j]【】;

printf("Themaxvalueinlineis%d\n",【】);

}

{

main()

{intx[N][M]={1,5,4,2,6,4,3,8,2,3,1};

【】;

}

32.數(shù)據(jù)庫(kù)系統(tǒng)其內(nèi)部分為三級(jí)模式,即概念模式、內(nèi)模式和外模式。其中,______是用戶(hù)的數(shù)據(jù)視圖,也就是用戶(hù)所見(jiàn)到的數(shù)據(jù)模式。

33.以下程序的功能是:求出數(shù)組x中各相鄰兩個(gè)元素的和依次存放到a數(shù)組中,然后輸出。請(qǐng)?zhí)羁铡?/p>

main()

{intx[10],a[9],I;

for(I=0;I<10;I++)scanf("%d",&x[I]);

for(【】;I<10;I++)

a[I-1]=x[I]+【】;.

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

printf("");

}

34.結(jié)構(gòu)化程序設(shè)計(jì)的3種基本結(jié)構(gòu)分別是順序、選擇和______。

35.有如下圖所示的雙鏈表結(jié)構(gòu),請(qǐng)根據(jù)圖示完成結(jié)構(gòu)體的定義:

structaa

{intdata;

【】}node;

36.算法執(zhí)行過(guò)程中所需要的存儲(chǔ)空間稱(chēng)為算法的______。

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

38.下面的程序是將從終端讀入的20個(gè)字符放入字符數(shù)組中,然后利用指針變量輸出上述字符串,請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{inti;

chars[21],*p;

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

s[i]=getehar();

s[i]=【】;

p=【】;

while(*p)putchar(【】);

}

39.以下函數(shù)把b字符串連接到a字符串的后面,并返回a中新字符串的長(zhǎng)度。請(qǐng)?zhí)羁铡?/p>

strcen(chara[],charb[])

{intnum=0,n=0;

while(*(a+num)!=【】)num++;

while(b[n]){*(a+num)=b[n];num++;【】;}

return(num);

}

40.設(shè)在主函數(shù)中有以下定義和函數(shù)調(diào)用語(yǔ)句,且fun函數(shù)為void類(lèi)型;請(qǐng)寫(xiě)出fun函數(shù)的首部【】(要求形參名為b)。main(){doubles[10][22];intn;……fun(s);……}

三、1.選擇題(20題)41.下列關(guān)于C語(yǔ)言數(shù)據(jù)文件的敘述中正確的是A.文件由ASCII碼字符序列組成,C語(yǔ)言只能讀寫(xiě)文本文件

B.文件由二進(jìn)制數(shù)據(jù)序列組成,C語(yǔ)言只能讀寫(xiě)二進(jìn)制文件

C.文件由記錄序列組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件

D.文件由數(shù)據(jù)流形式組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件

42.有以下程序段:inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;b=p[5];則b中的值是()。

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

43.下列苯于C語(yǔ)言數(shù)據(jù)文件的敘述中正確的是()。

A.文件由ASCII碼字符序列組成,C語(yǔ)言只能讀寫(xiě)文本文件

B.文件由二進(jìn)制數(shù)據(jù)序列組成,C語(yǔ)言只能讀寫(xiě)二進(jìn)制文件

C.文件由記錄序列組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件

D.文件由數(shù)據(jù)流形式組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件

44.若下列各選項(xiàng)中所有變量已正確定義,函數(shù)fun通過(guò)return語(yǔ)句返回一個(gè)函數(shù)值,以下選項(xiàng)中錯(cuò)誤的程序是()。

A.main(){...x=fun(2,10);...}floatfun(inta,intb){...}

B.floatfun(inta,intb){...}main(){...x=fun(i,j);...}

C.floatfun(int,int);main(){...x=fun(2,10);...}floatfun(ihta,intb){...}

D.main(){floatfun(inti,intj);...x=fun(i,j);...}floatfun(inta,intb){...}

45.以下與函數(shù)fseek(fp,0L,SEEK_SET)有相同作用的是

A.feof(fp)B.ftell(fp)C.fgetc(fp)D.rewind(fp)

46.以理程序的輸出結(jié)果______。main(){charst[20]="he11\O\t\\";printf("%d%d\n",str1en(st),sizeof(st));}

A.99B.520C.1320D.2020

47.檢查軟件產(chǎn)品是否符合需求定義的過(guò)程稱(chēng)為()。

A.確認(rèn)測(cè)試B.集成測(cè)試C.驗(yàn)證測(cè)試D.驗(yàn)收測(cè)試

48.下面函數(shù)調(diào)用語(yǔ)句含有實(shí)參的個(gè)數(shù)為()。func((exp1,exp2),(exp3,exp4,exp5));

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

49.設(shè)整型數(shù)i=5,則printf("%d",i+++++i);的輸出為_(kāi)_____。

A.10B.11C.12D.語(yǔ)法錯(cuò)誤

50.

有以下程序:

main

{intx=102,y=012;

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

}

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

A.10,01B.02,12C.102,10D.02,10

51.若程序中定義了以下函數(shù)doublemyadd(doublea,doubleb){return(a+b);}并將其放在調(diào)用語(yǔ)句之后,則在調(diào)用之前應(yīng)該對(duì)該函數(shù)進(jìn)行說(shuō)明,以下選項(xiàng)中錯(cuò)誤的說(shuō)明是()A.doublemyadd(doublea,b);

B.doublemyadd(double,double);

C.doublemyadd(doubleb,doublea);

D.doublemyadd(doublex,doubley);

52.以下能正確定義一維數(shù)組的選項(xiàng)是______。

A.inta[5]={0,1,2,3,4,5};

B.chara[]={0,1,2,3,4,5};

C.chara={'A','B','C'};

D.inta[5]="0123";

53.若fp是指向某文件的指針,且已讀到文件的末尾,則C語(yǔ)言函數(shù)feof(fp)的返回值是()

A.EOFB.-1C.非零值D.NULL

54.C語(yǔ)言的基本單位是()。

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

55.函數(shù)rewind的作用是

A.使文件位置指針重新返回文件的開(kāi)始位置

B.將文件位置指針指向文件中所要求的特定位置

C.使文件位置指針指向文件的末尾

D.使文件位置指針自動(dòng)移至下一個(gè)字符位置

56.已知大寫(xiě)字母A的ASCII碼值是65,小寫(xiě)字母a的ASCII碼是97,則用八進(jìn)制表示的字符常量'\101'是A.字符AB.字符aC.字符eD.非法的常量

57.已知一個(gè)有序線性表為(13,18,24,35,47,50,62,83,90,115,134),當(dāng)用二分法查找值為90的元素時(shí),查找成功的比較次數(shù)為()。

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

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

A.黑箱(盒)測(cè)試方法完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征

B.黑箱(盒)測(cè)試方法主要考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征

C.白箱(盒)測(cè)試不考慮程序內(nèi)部的邏輯結(jié)構(gòu)

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

59.有下列程序:main(){intk=5;while(--k)printf("%d",k-=3);printf("\n");}執(zhí)行后的輸出結(jié)果是()。

A.1B.2C.4D.死循環(huán)

60.有以下程序main(){chars[]="Yes\n/No",*ps=s;puts(ps+4);*(ps+4)=0;puts(s);}程序運(yùn)行后的輸出結(jié)果是(選項(xiàng)D中的第一行是空行)A.n/NoYes/NoB./NoYesYesC.n/No/NoD.Yes/No

四、選擇題(20題)61.以下敘述中正確的是

A.C程序的基本組成單位是函數(shù)B.C程序中的每一行只能寫(xiě)一條語(yǔ)句

C.main()函數(shù)必須放在其他函數(shù)之前D.C語(yǔ)句必須在一行內(nèi)寫(xiě)完

62.下列選項(xiàng)中不是字符常量的是()。

A.'\v'B.'\x2a'C.'a'D."\0"

63.C語(yǔ)言可執(zhí)行程序的開(kāi)始執(zhí)行點(diǎn)是()。

A.包含文件中的第一個(gè)函數(shù)B.程序中第一個(gè)函數(shù)C.程序中的main()函數(shù)D.程序中第一條語(yǔ)句

64.一個(gè)工作人員可以使用多臺(tái)計(jì)算機(jī),而一臺(tái)計(jì)算機(jī)可被多個(gè)人使用,則實(shí)體工作人員與實(shí)體計(jì)算機(jī)之間的聯(lián)系是()。

A.一對(duì)一B.一對(duì)多C.多對(duì)多D.多對(duì)一

65.

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

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

67.

68.

69.有以下程序:#include<stdio.h>main(){inta[5]={1,2,3,4,5),b[5]={0,2,1,3,o},i,s=0;for(i=o;i<5;i++)s=s+a[b[i]];printf(”%d\n”,s);}程序運(yùn)行后的輸出結(jié)果是()。A.6B.10C.11D.15

70.以下選項(xiàng)中,與k=n++完全等價(jià)的表達(dá)式是A.k=n,n=n+1B.n=n+1,k=nC.k=++nD.k+=n+1

71.

72.

73.

74.有以下程序(注:字符a的ASCIl碼值為97)

#include<stdio.h>

main()

{char*s={"abc")

do

{printf("%d",*S%10");++S;}

while(*s);

}

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

A.abcB.789C.7890D.979899

75.以下正確的字符串常量是()。A.A."\\\"

B.'abc'

C.OlympicGames

D.""

76.有三個(gè)關(guān)系R、S和T如下:

則由關(guān)系R和S得到關(guān)系T的操作是()。

A.自然連接B.交C.投影D.并

77.下面結(jié)構(gòu)體的定義語(yǔ)句中,錯(cuò)誤的是()。

A.structord{intx;intY;intz;}structorda;

B.structord{intx;imY;imz;};structorda;

C.structord{intx;intY;intZ;}a;

D.struct{intx;intY;intz;}a;

78.算法的時(shí)間復(fù)雜度是指()。

A.算法所處理的數(shù)據(jù)量B.算法的執(zhí)行時(shí)間C.算法在執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)D.算法程序中的語(yǔ)句或指令條數(shù)

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

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

80.

在下列給出的表達(dá)式中,與while(E)中的(E)不等價(jià)的表達(dá)式是()。

A.(!E==0)B.(E>0C.D.E<0)E.(E==0)F.(E!=0)

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)fun的功能是:從低位開(kāi)始依次取出長(zhǎng)整型變量s中奇數(shù)位上的數(shù),構(gòu)成一個(gè)新數(shù)存放在t中。高位仍在高位,低位仍在低位。

例如,當(dāng)s中的數(shù)為7654321時(shí),t中的數(shù)為7531。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。

注意:部分源程序在文件MODll.C中,不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

#include<;stdi0.h>;

六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫(xiě)一個(gè)函數(shù)proc,它的功能是:求出1~m(含m)能被7或11整除的所有整數(shù)放在數(shù)組a中,通過(guò)n返回這些數(shù)的個(gè)數(shù)。

例如,若傳給m的值為70,則程序輸出:

7111421222833354244495556636670

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

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

試題程序:

#include<stdlib.h>

#include<conio.h>

#include<stdio.h>

#defineN100

voidproc(intm,int*a,int*n)

{}

voidmain

{

intarr[N],n,k;

system("CLS");

proc(70,arr,&n);

for(k=0;k<n;k++)

if((k+1)%20==0)//每行輸出20個(gè)數(shù)

{printf("%4d",arr[k]);

printf("\n");

}

else

printf("%4d",arr[k]);

printf("\n");

}

參考答案

1.B

2.A

3.Ascanf是格式

溫馨提示

  • 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)論