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è),還剩70頁(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ì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.請(qǐng)讀程序:#include<stdio.h>main(){inta;floatb,c;scanf("%2d%3f%4f",&a,&b,&c);printf("\na=%d,b=%f,c=%f\n",a,b,c);}若運(yùn)行時(shí)從鍵盤上輸入9876543210,則上面程序的輸出結(jié)果是______。

A.a=98,b=765,c=4321

B.a=10,b=432,c=8765

C.a=98,b=765.000000,c=4321.000000

D.a=98,b=765.0,c=4321.0

2.具有10個(gè)葉子結(jié)點(diǎn)的二叉樹中有()個(gè)度為2的結(jié)點(diǎn)。

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

3.有如下程序該程序的輸出結(jié)果是().A.A.12B.13C.14D.15

4.可用作C語(yǔ)言用戶標(biāo)識(shí)符的一組標(biāo)識(shí)符是()。A.voiddefine+WORDB.a3_b3_123YNC.for-abcCaseD.2aDOsizeof

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

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

6.下列程序段輸出的字符串長(zhǎng)度為()。printf("\\aaa\'ccc\bddd\'");

A.11B.12C.13D.17

7.有以下程序

#include<stdio.h>

main()

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

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

c5=getchar();c6=getchar();

putchar(c1);putchar(c2);

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

}

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

123<回車>

45678<回車>

則輸出結(jié)果是

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

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

A.intB.floatC.doubleD.不確定

9.已知一算術(shù)表達(dá)式的中綴表達(dá)式為a-(b+c/d)*e,其后綴形式為()

A.-a+b*c/dB.-a+b*cd/eC.-+*abc/deD.abcd/+e*-

10.若有定義floata[15],*p=a;,且數(shù)組a的首地址為300H,則p+13所指向的數(shù)組元素的地址為()。

A.334HB.30DHC.352HD.31AH

11.在帶頭結(jié)點(diǎn)的單鏈表head為空的判定條件是()。

A.head=NULLB.head->next=NULLC.head->next=headD.head!=NULL

12.

13.若有函數(shù)首部“intfun(doublex[10],int*n)”,則下列針對(duì)此函數(shù)的函數(shù)聲明語(yǔ)句中正確的是()。

A.intfun(double,int);

B.intfun(double*,int*);

C.intfun(double*x,intn);

D.intfun(doublex,int*n);

14.設(shè)有定義:intx=2.以下表達(dá)式中,值不為6的是()。A.2*x,x+=2B.x++.2*xC.x*=(1+x)D.x*=x+1

15.已知8個(gè)數(shù)據(jù)元素為(34,76,45,18,26,54,92,65),按照依次插入結(jié)點(diǎn)的方法生成一棵二叉排序樹后,最后2層上的結(jié)點(diǎn)總數(shù)為______。

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

16.有以下程序:voidsum(int*a){a[0]=a[1];}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;for(i=1;i>0;i--)sum(&aa[i]);print("%d\n",aa[0]);}程序運(yùn)行后的輸出結(jié)果是______。

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

17.

18.

19.能正確表示“當(dāng)x的取值在[1,10]和[100,110]范圍內(nèi)為真,否則為假”的表達(dá)式是()。

A.(x>=1)&&(x<=10)&&(x>=100)&&(x<=110)

B.(x>=1)‖(x<=10)‖(x>=100)‖(x<=110)

C.(x>=1)&&(x<=10)‖(x>=100)&&(x<=110)

D.(x>=1)‖(x<=10)&&(x>=100)‖(x<=110)

20.在下面的二維數(shù)組定義中,正確的是()。

A.inta[5][];

B.inta[][5];

C.inta[][3]={{1,3,5},{2}};

D.inta[](10);

二、2.填空題(20題)21.以下程序中函數(shù)fun()的功能是構(gòu)成一個(gè)如圖所示的帶頭結(jié)點(diǎn)的單向鏈表,在結(jié)點(diǎn)的數(shù)據(jù)域中放入了具有兩個(gè)字符的字符串。函數(shù)disp的功能是顯示輸出該單向鏈表中所有結(jié)點(diǎn)中的字符串。請(qǐng)?zhí)羁胀瓿珊瘮?shù)disp。

#include<atdio.h>

typedefstructnode/*鏈表結(jié)點(diǎn)結(jié)構(gòu)*/

{charsub[3];

structnode*next;

}Node

Node~un(chars)/*建立鏈表*/

{......}

voiddisp(Node*h)

{Node*Ps

p=h->next;

while(【】)

{printf("%s\n",p->suh);p=【】;}

}

main()

{Node*hd;

hd=fun();disp(hd);prinff("\n");

22.有以下語(yǔ)句段:

intn1=10,n2=20;

printf("【】",n1,n2);

要求按以下格式輸出n1和n2的值:

n1=10

n2=20

每個(gè)輸出行從第一列開始,請(qǐng)?zhí)羁铡?/p>

23.有以下程序

#include<stdio.h>

main()

{charch1,ch2;intn1,n2;

ch1=getchar();ch2=getchar();

n1=ch1-'()';n2=n1*10+(ch2-'()');

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

}

程序運(yùn)行時(shí)輸入:12<回車>,執(zhí)行后輸出結(jié)果是【】。

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

#defineMAX(x,y)(x)>(y)?(x)L:(y)

main()

{inta=5,b=2,C=3,d=3,t;

t=MAX(a+b,c+D)*10;

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

}

25.下面程序的輸出是【】。

main()

{intarr[10],i,k=0;

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

arr[i]=i;

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

k+=arr[i]+i;

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

26.某二叉樹中度為2的結(jié)點(diǎn)有18個(gè),則該二叉樹中有【】個(gè)葉子結(jié)點(diǎn)。

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

main()

{

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

p++;

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

}

28.下列程序的運(yùn)行結(jié)果是______。

main()

{inti,a[10];

a[0]=a[1]=1;

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

a[i]=a[i-2]+a[i-1];

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

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

printf("%d",a[i]);

}

}

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

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

main()

{inta=3,b=4,c=5,t=99;

if(b<a&&a<c)t=a;a=C;c=t;

if(a<c&&b<c)t=b;b=a;a=t

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

}

31.若a=10,b=20,則表達(dá)式!(a<b)的值是【】。

32.下列二維數(shù)組初始化語(yǔ)句中,正確且與語(yǔ)句floata[][3]={0,3,8,0,9};等價(jià)的是

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

main()

{

intx=10,y=20,t=0

if(x==y)t=x;x=y;y=t;

printf("%d,%d/n",x,y);

}

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

main()

{unsignedshorta=65536;intb;

printfC%d\n",b=a);

}

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

36.在進(jìn)行模塊測(cè)試時(shí),要為每個(gè)被測(cè)試的模塊另外設(shè)計(jì)兩類模塊:驅(qū)動(dòng)模塊和承接模塊,其中______的作用是將測(cè)試數(shù)據(jù)傳送給被測(cè)試的模塊,并顯示被測(cè)試模塊所產(chǎn)生的結(jié)果。

37.函數(shù)mycmp(char*s,char*t)的功能是比較字符串s和t的大小,當(dāng)s等于t時(shí)返回0,當(dāng)s>t時(shí)返回正值,當(dāng)s<t時(shí)返回負(fù)值。請(qǐng)?zhí)羁铡?/p>

mycmp(char*s,char*t)

{while(*s==*t)

{if(*s=='\0')return0;

++s;++t;

}

return(【】);

}

38.fun函數(shù)的功能是:首先對(duì)a所指的N行N列的矩陣,找出各行中的最大的數(shù),再求這N個(gè)最大值中的最小的那個(gè)數(shù)作為函數(shù)值返回。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

#defineN100

intfun(int(*a)[N])

{

introw,col,max,min;

for(row=0;row<N;row++

{

for(max=a[row][0],col=1;col<N;col++)

if(【】)max=a[row][col];

if(row==0)min=max;

elseif(【】)min=max;

}

returnmin;

}

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

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

intm=13;

intfun(intx,inty)

{intm=3;

return(x*y-m);

}

main()

{inta=7,b=5;

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

}

三、1.選擇題(20題)41.調(diào)用gets和puts函數(shù)時(shí),必須包含的頭文件是

A.stdio.hB.stdlib.hC.defineD.以上都不對(duì)

42.有以下程序:main(){inta=5,b=4,c=3,d=2;if(a>b>c)printf("%d\n",d);elseif((c-1>=d)==1)printf("%d\n",d+1);elseprintf("%d\n",d+2);}執(zhí)行后輸出結(jié)果是______。

A.2B.3C.4D.編譯時(shí)有錯(cuò),無(wú)結(jié)果

43.設(shè)整型數(shù)i=5,則printf("%d",i+++++i);的輸出為______。

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

44.下列關(guān)于線性鏈表的描述中正確的是()。

A.存儲(chǔ)空間不一定連續(xù),且各元素的存儲(chǔ)順序是任意的

B.存儲(chǔ)空間不一定連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面

C.存儲(chǔ)空間必須連續(xù),且各前件元素一定存儲(chǔ)在后件元素的前面

D.存儲(chǔ)空間必須連續(xù),且各元素的存儲(chǔ)順序是任意的

45.若有說明語(yǔ)句:double*p,a;則能通過scanf語(yǔ)句正確給輸入項(xiàng)讀入數(shù)據(jù)的程序段是()。

A.*p=&a;sCanf("%1f",p);

B.*p=&a;scanf("%f",p);

C.p=&a;scanf("%1f",*p);

D.p=&a;scanf("%1f",p);

46.以下能正確定義一維數(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";

47.若有定義floata=25,b,*p=&b;,則下列對(duì)賦值語(yǔ)句*p=a;和p=&a;的正確解釋為()。

A.兩個(gè)語(yǔ)句都是將變量a的值賦予變量p

B.*p=a是使p指向變量a,而p=&a是將變量a的值賦予變量指針p

C.*p=a是將變量a的值賦予變量b,而p=&a是使p指向變量a

D.兩個(gè)語(yǔ)句都是使p指向變量a

48.下列關(guān)鍵字中,不屬于C語(yǔ)言變量存儲(chǔ)類別的是______。

A.registerB.autoC.externD.public

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

A.構(gòu)成C程序的基本單位是函數(shù)

B.可以在一個(gè)函數(shù)中定義另一個(gè)函數(shù)

C.main函數(shù)必須放在其他函數(shù)之前

D.C函數(shù)定義的格式是K&R格式

50.有以下程序:main(){inti,s=0;for(i=1;i<10;i+=2)s+=i+1;printf("%d\n",s);}程序執(zhí)行后的輸出結(jié)果是()。

A.自然數(shù)1~9的累加和B.自然數(shù)1~10的累加和C.自然數(shù)1~9中奇數(shù)之和D.自然數(shù)1~10中偶數(shù)之和

51.設(shè)有下列說明語(yǔ)句:StrcutStr{intx;floaty;charz;}st;則下列的敘述中不正確的是()。

A.struct是結(jié)構(gòu)體類型的關(guān)鍵字

B.st是結(jié)構(gòu)體類型名

C.x、y、z都是結(jié)構(gòu)體成員名

D.structstr是結(jié)構(gòu)體類型名

52.以下程序的輸出結(jié)果是#include<stdi0.h>main(){inti=0,a=0;while(i<20){for(;;){if((i%10)==0)break;elsei--;}i+=11;a+=i;}printf(“%d\n”,A);}

A.21B.32C.33D.11

53.設(shè)計(jì)軟件結(jié)構(gòu)是在軟件生命周期的()。

A.軟件定義期B.軟件開發(fā)期C.軟件維護(hù)期D.以上3個(gè)都不是

54.在單鏈表中,增加頭結(jié)點(diǎn)的目的是()。

A.方便運(yùn)算的實(shí)現(xiàn)B.使單鏈表至少有一個(gè)結(jié)點(diǎn)C.標(biāo)識(shí)表結(jié)點(diǎn)中首結(jié)點(diǎn)的位置D.說明單鍵表是線性表的鏈?zhǔn)酱鎯?chǔ)實(shí)現(xiàn)

55.下列關(guān)于棧的敘述正確的是()。

A.棧按“先進(jìn)先出”組織數(shù)據(jù),B.棧按“先進(jìn)后出”組織數(shù)據(jù)C.只能在棧底插入數(shù)據(jù)D.不能刪除數(shù)據(jù)

56.下列不合法的main函數(shù)命令行參數(shù)的表示形式是______。

A.main(inta,char*c[]);

B.main(ac,av)intarc;char**av;

C.main(c,v)intc;char*v[];

D.main(argc,argv)intargc;charargv[];

57.假定建立了以下鏈表結(jié)構(gòu),指針p、q分別指向如圖所示的結(jié)點(diǎn),則以下可以將q所指結(jié)點(diǎn)從鏈表中刪除并釋放該結(jié)點(diǎn)的語(yǔ)句組是______。

A.free(q);p->next=q->next;

B.(*p).next=(*q).next;free(q);

C.q=(*q).next;(*p).next=q;free(q);

D.q=q->next;p->next=q;p=p->next;free(p);

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

A.C語(yǔ)言編譯時(shí)不檢查語(yǔ)法

B.C語(yǔ)言的子程序有過程和函數(shù)兩種

C.C語(yǔ)言的函數(shù)可以嵌套定義

D.C語(yǔ)言中,根據(jù)函數(shù)能否被其他源文件調(diào)用,被區(qū)分為內(nèi)部函數(shù)和外部函數(shù)

59.以下選項(xiàng)中合法的實(shí)型常數(shù)是

A.5E2.0B.E-3C.2.00E+00D.1.3E

60.

A.x/y*zB.x*(1/(y*z))C.x/y*1/zD.x/y/z

四、選擇題(20題)61.設(shè)有如下關(guān)系表:

則下列操作中,正確的是()。

A.T=R∩SB.T=R∪SC.T=R×SD.T=R/S

62.最初的計(jì)算機(jī)編程語(yǔ)言是()。

A.機(jī)器語(yǔ)言B.匯編語(yǔ)言C.高級(jí)語(yǔ)言D.低級(jí)語(yǔ)言

63.若有以下說明和語(yǔ)句,請(qǐng)選出哪個(gè)是對(duì)C數(shù)組元素的正確引用()。

A.cp+1B.*(cp+3)C.*(cp+1)+3D.*(*cp+2)

64.以下敘述中正確的是()。A.A.當(dāng)對(duì)文件的讀(寫)操作完成之后,必須將它關(guān)閉,否則可能導(dǎo)致數(shù)據(jù)丟失

B.打開一個(gè)已存在的文件并進(jìn)行了寫操作后,原有文件中的全部數(shù)據(jù)必定被覆蓋

C.在一個(gè)程序中當(dāng)對(duì)文件進(jìn)行了寫操作后,必須先關(guān)閉該文件然后再打開,才能讀到第1個(gè)數(shù)據(jù)

D.c語(yǔ)言中的文件是流式文件,因此只能順序存取數(shù)據(jù)

65.有以下程序:main{inti,n=0:for(i=2;i<5;i++){do{if(i%3)continue:n++:}while(!i);n++:}printf("n=%d\n",n);}程序執(zhí)行后輸出結(jié)果是()。A.n=5B.n=2C.n=3D.n=4

66.以下敘述中錯(cuò)誤的是()。

A.對(duì)于double類型數(shù)組,不可以直接用數(shù)組名對(duì)數(shù)組進(jìn)行整體輸入或輸出

B.數(shù)組名代表的是數(shù)組所占存儲(chǔ)區(qū)的首地址,其值不可改變

C.當(dāng)程序執(zhí)行中,數(shù)組元素的下標(biāo)超出所定義的下標(biāo)范圍時(shí),系統(tǒng)將給出“下標(biāo)越界”的出錯(cuò)信息

D.可以通過賦初值的方式確定數(shù)組元素的個(gè)數(shù)

67.若文件指針fp已正確指向文件,ch為字符型變量,以下不能把字符輸出到文件中的語(yǔ)句是()。

A.fget(f0,ch);

B.foutc(ch,fo);

C.fprinff(fp,”%c”,ch);

D.fwrite(&ch,sizeof(ch),1,fp);

68.下列字符數(shù)組初始化語(yǔ)句中,不正確的是()。A.A.charc[]='goodmorning';

B.charc[20]="goodmorning";

C.charc[]={'a','b','c','d');

D.charc[]={"ffgoodmorning"};

69.

70.

71.以下選項(xiàng)中不能作為C語(yǔ)言合法常量的是

A.’Fab’B.0.7e+9C."\b"D.’\01211’

72.

73.若變量已正確定義,要求程序段完成求5!的計(jì)算,不能完成此操作的程序段是

A.for(i=1,p=1;i<=5;i++)p*=i;B.i=1;p=1;while(i<=5){p*=i;i++;}

C.for(i=1;i<=5;i++){p=1;p*=i;}D.i=1;p=1;do{p*=i;i++;}while(i<=5);

74.用鏈表表示線性表的優(yōu)點(diǎn)是()。

A.便于隨機(jī)存取B.花費(fèi)的存儲(chǔ)空間較順序存儲(chǔ)少C.便于捅入和刪除操作D.數(shù)據(jù)元素的物理順序與邏輯順序相同

75.以下程序中調(diào)用scanf函數(shù)給變量a輸入數(shù)值的方法是錯(cuò)誤的,其錯(cuò)誤原因是main(){int*p,*q,a,b;p=&a;printf("inputa:");scanf("%d",*p);}

A.*p表示的是指針變量p的地址

B.*p表示的是變量a的值,而不是變量a的地址

C.*p表示的是指針變量p的值

D.*p只能用來(lái)說明p是一個(gè)指針變量

76.

77.有以下程序段:

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

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

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

main()

{inta=1;

charc=’a’;

floatf=2.0;

Printf("%d\n",(!(a==0),f1=0&&c==’A’));

}

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

79.下列敘述中正確的是()。A.順序存儲(chǔ)結(jié)構(gòu)的存儲(chǔ)空間一定是連續(xù)的,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的存儲(chǔ)空間不一定是連續(xù)的

B.順序存儲(chǔ)結(jié)構(gòu)只針對(duì)線性結(jié)構(gòu),鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)只針對(duì)非線性結(jié)構(gòu)

C.順序存儲(chǔ)結(jié)構(gòu)能存儲(chǔ)有序表,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)不能存儲(chǔ)有序表

D.鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)比順序存儲(chǔ)結(jié)構(gòu)節(jié)省存儲(chǔ)空間

80.以下選項(xiàng)中可用做c程序合法實(shí)數(shù)的是()。、、

A.3.0e0.2B..1e0C.E9D.9.12E

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:根據(jù)整型參數(shù)m,計(jì)算如下公式的值:y=1/(100100)+1/(200200)+1/(300300)+…+1/(mm)例如,若m=4000,則應(yīng)輸出0.000162。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.M名學(xué)生的成績(jī)已在主函數(shù)中放入一個(gè)帶頭結(jié)點(diǎn)的鏈表結(jié)構(gòu)中,h指向鏈表的帶頭結(jié)點(diǎn)。請(qǐng)編寫函數(shù)proc(),它的功能是:找出學(xué)生的最高分,由函數(shù)值返回。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫的若干語(yǔ)句。試題程序:

參考答案

1.C解析:scanf()把用戶從鍵盤錄入的數(shù)字的第1、2位存入整型變量a;把第3、4、5位存入單精度實(shí)型變量b,把第6、7、8、9位存入單精度實(shí)型變量c,用戶錄入的第10位被scanf()遺棄。這時(shí)變量a、b、c的值分別為:98、765.000000、4321.000000。

2.B

3.D

4.B

5.B解析:SEEK_END代表的是文件末尾,SEEK_SET代表的是文件的開始,SEEK_CUR代表的是文件當(dāng)前位置。

6.C解析:轉(zhuǎn)義字符有1個(gè)\\\\、2個(gè)\\'、1個(gè)\\b,普通字符有3個(gè)a、3個(gè)c、3個(gè)d,共13個(gè)字符。

7.D解析:putchar(c1)輸出1,putchar(c2)輸出2,printf('%c%c\\n',c5,c6)輸出45。

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

9.D

10.C解析:解答本題,首先要明白在對(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)該視具體情況而定。如果基本類型是int型,移動(dòng)1個(gè)存儲(chǔ)單元的長(zhǎng)度就是位移2個(gè)字節(jié),如果基本類型是float型,移動(dòng)1個(gè)存儲(chǔ)單元的長(zhǎng)度就是位移4個(gè)字節(jié)。所以p+13所指向的數(shù)組元素的地址:300H+(13*上標(biāo))4)H=352H。

11.B

12.B

13.B函數(shù)聲明有兩種形式:①類型說明符函數(shù)名(類型形參,類型形參……);②類型說明符被調(diào)函數(shù)名(類型,類型……)。由于函數(shù)首部為“intfun(doublex[10],int*n)”。故本題答案為B選項(xiàng)。

14.A[解析]A)選項(xiàng)中逗號(hào)表達(dá)式先計(jì)算第一表達(dá)式2*x,然后計(jì)算表達(dá)式x+=2的值,即x=x+2即4.整個(gè)逗號(hào)表達(dá)式為第二個(gè)表達(dá)式的值4.所以選A)。B)選項(xiàng)中首先計(jì)算逗號(hào)表達(dá)式中第一個(gè)表達(dá)式x++,此時(shí)x為3.再執(zhí)行第二個(gè)表達(dá)式2*x=2*3=6.所以逗號(hào)表達(dá)式為第二個(gè)表達(dá)式的值6.C)選項(xiàng)的賦值表達(dá)式可以表示為x==x*(1+x)=2*(1+2)=6.D)選項(xiàng)中的表達(dá)式可以表示為x=x*(x+1)=2*3=6.

15.B

16.D解析:C語(yǔ)言覿定,實(shí)參變量對(duì)形參變量的數(shù)據(jù)傳遞是“值傳遞”,只由實(shí)參傳給形參,而不能由形參傳回來(lái)給實(shí)參。函數(shù)調(diào)用結(jié)束后,形參單元被釋放,實(shí)參單元仍保留并維持原值。本題要求輸出aa[0]的值,結(jié)果應(yīng)為1。

17.C

18.C

19.C本題考查邏輯與(&&)和邏輯或(||)運(yùn)算符的使用。x值在[1,10]之間,C語(yǔ)言中可以寫成x值在[100,11O]之間,C語(yǔ)言表達(dá)式應(yīng)寫成“(x>=100)&&(x>=110)”;[1,1O]和[100,110]滿足任意條件就可以,所以是邏輯或的關(guān)系,因此只要將前兩個(gè)表達(dá)式用邏輯或運(yùn)算符連接起來(lái)即可,所以最后的表達(dá)式:(x>=1)&&(x<=10)&&(x<=110)。

20.C

21.p!=NULL或P或p!=0或p!='0'p->next或(*p).nextp!=NULL或P或p!=0或p!='0'\r\np->next或(*p).next解析:程序中定義了一個(gè)結(jié)構(gòu)體類型名Node,其中定義了一個(gè)指向結(jié)點(diǎn)類型的指針next。接下來(lái)用Node定義了頭結(jié)點(diǎn)指針變量h和指向第一個(gè)結(jié)點(diǎn)的指針變量p,在滿足p未指向最后一個(gè)結(jié)點(diǎn)的空指針時(shí)(即為NULL),輸出p所指向結(jié)點(diǎn)的字符串,所以第一處應(yīng)填p!=NULL,然后將p指向下一個(gè)非空結(jié)點(diǎn),所以第二處應(yīng)填P->next或與其等效的形式,反復(fù)執(zhí)行直到所有的結(jié)點(diǎn)都輸出。

22.n1=%d\nn2=%dn1=%d\\nn2=%d解析:根據(jù)輸出結(jié)果,可以確定“格式控制”為n1=%d\\nn2=%d,其中,“n1=”和“n2=”是按原樣輸出的字符,“%d”是按十進(jìn)制整數(shù)輸出,“\\n”是轉(zhuǎn)義字符,用于輸出回車換行。

23.1212解析:字符類型的數(shù)據(jù)在內(nèi)存中以相應(yīng)的ASCII碼存放,在C語(yǔ)言中,字符數(shù)據(jù)可以等價(jià)為與其相應(yīng)的ASCII碼的整數(shù),還可以作為整數(shù)參加運(yùn)算。在本題中,n1=h1-0'=1-0=49-48=1,n2=n1*10+(ch2-'0')=1*10+(2-0)=10+2=12。

24.77解析:在C語(yǔ)言中,宏定義是直接替換的,所以在對(duì)表達(dá)式MAX(a+b,c+d)*10進(jìn)行替換后,表達(dá)式變?yōu)?a+b)>(c+d)?(a+b):(c+d)*10。

在這個(gè)條件表達(dá)式中,(a+b)>(c+d)為真,所以用(a+b)的值為整個(gè)表達(dá)式的值(否則用(c+d)*10的值作為整個(gè)表達(dá)式的值),而(a+b)的值為7。所以整個(gè)表達(dá)式的值為7。

25.1212解析:本題通過第一個(gè)for循坪將數(shù)組arr[0]-arr[9]分別賦值為0-9,通過第二個(gè)for循環(huán)的三次循環(huán)累加,求出結(jié)果為12,具體分析如下:

i=1:k=0+arr[1]+1即k=2;

i=2:k=2+arr[2]+2即k=6;

i=3:k=6+arr[3]+3即k=12;

26.1919解析:根據(jù)二叉樹的性質(zhì):在任意一棵二叉樹中,度為。的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè)。本題中度為2的結(jié)點(diǎn)數(shù)為18,故葉子結(jié)點(diǎn)數(shù)為18+1=19個(gè)。

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

28.11<CR>23<CR>5(<CR代表?yè)Q行)11<CR>23<CR>5(<CR,代表?yè)Q行)解析:本題通過語(yǔ)句“for(i=2;i<5;i++)a[i]=a[i-2]+a[i-];”將數(shù)組中前面兩項(xiàng)的和賦值給數(shù)組當(dāng)前元素,得到a的值應(yīng)為(1,1,2,3,5)。語(yǔ)句if(i%2==0)pfintf('\\n')是要將數(shù)組中的元素以每行2個(gè)的形式輸出。

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

30.4599

31.00解析:已知a=10,b=20,所以邏輯表達(dá)式a<b的值為true,即為1,在這個(gè)表達(dá)式前面有一個(gè)邏輯運(yùn)算符!,表示反操作,所以整個(gè)語(yǔ)句的值應(yīng)當(dāng)為false,即為0。

32.B

33.20020,0解析:本題考查的知識(shí)點(diǎn)是if語(yǔ)句的基本概念。在主函數(shù)中首先定義了三個(gè)整型變量x、y,t,并分別給它們賦初值為10,20,0,接著執(zhí)行if語(yǔ)句,在if后面括號(hào)內(nèi)的條件表達(dá)式中,條件“x==y”即“10==20”不成立,則不執(zhí)行其后的語(yǔ)句“t=x”,然后退出if語(yǔ)句,順序執(zhí)行語(yǔ)句X=y;y=t;。執(zhí)行完這兩條語(yǔ)句后x的值變?yōu)?0,y的值變?yōu)?,所以最后輸出x,y的值為20和0。

34.00解析:對(duì)于一個(gè)unsignedshort來(lái)說,它能取的最大值是65535。這里給a賦值65536,已經(jīng)超出了它的取值范圍,這樣它的高位將被截掉,只把低位賦給它(全零)。所以a的值實(shí)際為0。

35.重復(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í)行。

36.驅(qū)動(dòng)模塊驅(qū)動(dòng)模塊解析:由于模塊通常不是獨(dú)立的程序,自己不能運(yùn)行,而需要其他模塊調(diào)用或驅(qū)動(dòng),同時(shí)被測(cè)試模塊還要去調(diào)用其他模塊,前者稱為驅(qū)動(dòng)模塊,后者稱為承接模塊。其中驅(qū)動(dòng)模塊的作用是將測(cè)試數(shù)據(jù)傳送給被測(cè)試的模塊,并顯示被測(cè)試模塊所產(chǎn)生的結(jié)果;承接模塊的作用是代替被測(cè)模塊,調(diào)用其他模塊。

37.*s-*t*s-*t解析:本題考查比較字符串的大小。函數(shù)的兩個(gè)形參是兩個(gè)字符指針變量,指針變量的值是字符串的首地址,*s和*t表示s和t指向的第一個(gè)字符,在while循環(huán)中,通過s和t指針的移動(dòng),不斷改變所指字符,通過返回s和t的第一個(gè)不同字符的ASCII碼的差值*s-*t得到結(jié)果。

38.a[row][col]>max或a[row][col]>=max或max<=a[row][col]或max<a[row][col)max<min或min>max或max<=min或min>=maxa[row][col]>max或a[row][col]>=max或max<=a[row][col]或max<a[row][col)\r\nmax<min或min>max或max<=min或min>=max解析:本題有兩層for循環(huán),主函數(shù)中定義了整型變量row、col、max和min,其中row用來(lái)存放外循環(huán)中的循環(huán)次數(shù),col用來(lái)存放內(nèi)循環(huán)中的次數(shù),max記錄每行中的最大值,min記錄所有行中最大值中的最小值。在內(nèi)循環(huán)中,首先給max賦初值為每行的第0列元素值,然后從第一列開始依次與max進(jìn)行比較。如果大于max則將其值賦給max,當(dāng)每一行循環(huán)結(jié)束,max記錄了每一行的最大值。所以第一個(gè)空應(yīng)該填a[row][col]>max或a[row][col]>=max。退出內(nèi)循環(huán),在第一次退出內(nèi)循環(huán)時(shí),將min賦初值為第0行的max,然后在每次退出內(nèi)循環(huán)時(shí),將min和每行的max比較,如果大于max,則將max值賦min,所以第二個(gè)空應(yīng)該填max>min或mm>max,當(dāng)退出外循環(huán)時(shí),min為所有行中的最大值的最小值。

39.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)系模式。

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

41.A解析:gets函數(shù)和puts函數(shù)是庫(kù)函數(shù),必須包含的頭文件是stdio.h。

42.B解析:C語(yǔ)言規(guī)定else總是和離它最近的if語(yǔ)句配對(duì)。故第一個(gè)else和第一個(gè)if配對(duì),第二個(gè)else和第二個(gè)if配對(duì)。首先計(jì)算第一個(gè)if后面的表達(dá)式“a>b>c”,表達(dá)式“a>b”是為1,表達(dá)式“1>c”為0,所以執(zhí)行else后面的語(yǔ)句。先執(zhí)行if后面的表達(dá)式,“c-1>d”為真,值為1?!?==1”為真,執(zhí)行printf語(yǔ)句。

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

44.A解析:線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中的結(jié)點(diǎn)空間是動(dòng)態(tài)生成的,它們?cè)趦?nèi)存中的地址可能是連續(xù)的,也可能是不連續(xù)的。

45.D解析:double*p,a;語(yǔ)句表示定義了一個(gè)指向雙精度型的指針變量p和雙精度型變量a,而語(yǔ)句p=&a表示將變量a的地址賦給指針變量p;scanf'('%1f',p)表示用鍵盤輸入的數(shù)賦給指針變量p所指向的地址單元中。scanf()函數(shù)要求在輸入double型數(shù)據(jù),格式控制符必須用%1f(或%1e)。否則,數(shù)據(jù)不能正確輸入。所以選項(xiàng)D)為正確答案。

46.B解析:C語(yǔ)言一維數(shù)組的定義有兩種方式:一是指定數(shù)組長(zhǎng)度,如選項(xiàng)A“inta[5]={0,1,2,3,4,5};”,但此定義的賦初值個(gè)數(shù)為6,多于數(shù)組長(zhǎng)度,是錯(cuò)誤的。因?yàn)榻o數(shù)組賦初值,初值個(gè)數(shù)只能小于或等于數(shù)組長(zhǎng)度。二是不指定數(shù)組長(zhǎng)度,由賦初值的初值個(gè)數(shù)決定數(shù)組的長(zhǎng)度,如選項(xiàng)B的“chara[]={0,1,2,3,4,5};”,初值個(gè)數(shù)為6,因此數(shù)組長(zhǎng)度為6。所以能正確定義一維數(shù)組。選項(xiàng)C的定義中a是一個(gè)字符變量,不能正確定義一維數(shù)組。選項(xiàng)D“inta[5]=“0123”;”給int型數(shù)組賦字符串初值,顯然是錯(cuò)誤的。

47.C解析:“p”是指針變量,指向一個(gè)地址:“*p”,為p指針?biāo)赶虻刂返膬?nèi)容。

48.D解析:變量的存儲(chǔ)類別具體包含四種:自動(dòng)的(auto),靜態(tài)的(static),寄存器的(register),外部的(extern)。

49.A解析:本題考查C語(yǔ)言的綜合基礎(chǔ)知識(shí)。構(gòu)成C程序的基本單位是函數(shù),一個(gè)C程序總是從main函數(shù)開始執(zhí)行,而不論main函數(shù)在整個(gè)程序中的位置如何。C語(yǔ)言的函數(shù)定義都是互相平行、獨(dú)立的,在定義函數(shù)時(shí),一個(gè)函數(shù)內(nèi)不能定義另一個(gè)函數(shù)。C函數(shù)定義的一般格式有兩種:傳統(tǒng)格式和現(xiàn)代格式。傳統(tǒng)格式也稱K&R格式,是早期編譯系統(tǒng)使用的格式;現(xiàn)代格式又稱ANSI格式,是現(xiàn)代編譯系統(tǒng)使用的格式。

50.D解析:本題考核的知識(shí)點(diǎn)是for循環(huán)語(yǔ)句和復(fù)合賦值+=運(yùn)算符的應(yīng)用。本題中,i賦初值為1,并對(duì)其每次進(jìn)行加2操作,即i每次均為1~10之間的奇數(shù),s+=i+1,即s=s+i+1,相當(dāng)于s等于原來(lái)的s每次加上1~10之間的偶數(shù),直到i<10不成立.當(dāng)i=1時(shí),s=0+1+1=2;當(dāng)i=3時(shí),s=2+3+1=2+4;當(dāng)i=5時(shí),s=2+4+5+1=2+4+6;當(dāng)i=7時(shí),s=2+4+6+7+1=2+4+6+8;當(dāng)i=9時(shí),s=2+4+6+8+9+1=2+4+6+8+10;當(dāng)i=11時(shí),i<10不成立,結(jié)束循環(huán)。所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。

51.B解析:本題主要考查結(jié)構(gòu)類型的定義:struct是結(jié)構(gòu)體類型的關(guān)鍵字;structstr是結(jié)構(gòu)體類型名;x、y、z都是結(jié)構(gòu)體成員名;st是結(jié)構(gòu)變量名。

52.B解析:break語(yǔ)句只能在循環(huán)體和switch語(yǔ)句體內(nèi)使用。本題程序?yàn)樵趙hile循環(huán)中嵌套for循環(huán)。先看內(nèi)層for循環(huán),該循環(huán)的3個(gè)表達(dá)式全部省略,循環(huán)條件始終為真,但循環(huán)體內(nèi)的break語(yǔ)句為終止循環(huán)的條件。首先,由初始條件判斷外層循環(huán)while括號(hào)內(nèi)表達(dá)式的值,該值為真,執(zhí)行本次while循環(huán),即執(zhí)行循環(huán)體內(nèi)的if語(yǔ)句,判斷該表達(dá)式后面括號(hào)里表達(dá)式的值為真,執(zhí)行break語(yǔ)句,跣出內(nèi)層循環(huán),執(zhí)行下面的語(yǔ)句,此時(shí)i和a的值均變?yōu)?1;回到外層循環(huán),判斷表達(dá)式“i<20”仍為真,執(zhí)行內(nèi)層循環(huán)語(yǔ)句,此時(shí)if條件不滿足,執(zhí)行else語(yǔ)句,i的值為10,繼續(xù)內(nèi)層循環(huán),if語(yǔ)句條件滿足,執(zhí)行break語(yǔ)句,跳出內(nèi)層循環(huán),執(zhí)行下面的語(yǔ)句后,i和a的值分別是21和32。再判斷外層循環(huán)的條件為假,結(jié)束循環(huán)。

53.BB?!窘馕觥吭O(shè)計(jì)軟件結(jié)構(gòu),是在軟件概要設(shè)計(jì)階段進(jìn)行的,而概要設(shè)計(jì)屬于軟件開發(fā)期。

54.A解析:頭結(jié)點(diǎn)不僅標(biāo)識(shí)了表中首結(jié)點(diǎn)的位置,而且根據(jù)單鏈表(包含頭結(jié)點(diǎn))的結(jié)構(gòu),只要掌握了表頭,就能夠訪問整個(gè)鏈表,因此增加頭結(jié)點(diǎn)的目的是為了便于運(yùn)算的實(shí)現(xiàn)。

55.B棧是按“先進(jìn)后出”的原則組織數(shù)據(jù)的,數(shù)據(jù)的插入和刪除都在棧頂進(jìn)行操作。

56.D解析:main函數(shù)的參數(shù)通常有兩個(gè),前者為整型,后者為字符型指針數(shù)組。參數(shù)的名字可以是任意合法的標(biāo)識(shí)符。而且,形如**av與*av[]等價(jià),所以選項(xiàng)A、B、C均正確,選項(xiàng)D是錯(cuò)誤的。

57.B解析:選項(xiàng)A的錯(cuò)誤在于,先已經(jīng)把q結(jié)點(diǎn)給釋放,無(wú)法再進(jìn)行余下語(yǔ)句了:選項(xiàng)C和D的錯(cuò)誤在于因?yàn)橛辛藂=(*q).next做了賦值,則free(q)釋放了原來(lái)q后面的一個(gè)結(jié)點(diǎn)。

58.D解析:選項(xiàng)A的錯(cuò)誤在于編譯過程中是險(xiǎn)查語(yǔ)法的,若發(fā)現(xiàn)源程序有語(yǔ)法錯(cuò)誤,則系統(tǒng)會(huì)提示出錯(cuò)信息;選項(xiàng)B的錯(cuò)誤在于C語(yǔ)言中,子程序的作用是由函數(shù)來(lái)完成的,無(wú)過程的概念;選項(xiàng)C的錯(cuò)誤在于函數(shù)不可以嵌套定義,但可以嵌套調(diào)用。

59.C解析:在C語(yǔ)言中,實(shí)數(shù)有兩種表示形式:十進(jìn)制數(shù)形式與指數(shù)形式。

1)一般形式的實(shí)數(shù):小數(shù)形式的實(shí)數(shù)由整數(shù)部分、小數(shù)點(diǎn)和小數(shù)部分組成(必須要有小數(shù)點(diǎn))。

2)指數(shù)形式的小數(shù):指數(shù)形式的實(shí)數(shù)由尾數(shù)部分、e(E)和指數(shù)部分組成(字母e或E的前后必須要有數(shù)字,且其后面的指數(shù)必須為整數(shù))。選項(xiàng)A中,5E2.0中E后面的2.0不是整數(shù);選項(xiàng)B中,E前面沒有數(shù)字;選項(xiàng)D中,E后面沒有數(shù)字。

60.A解析:

61.B解析:T是R∪S的結(jié)果,關(guān)系T由屬于關(guān)系R的或者屬于關(guān)系S的元組組成。

62.A計(jì)算機(jī)編程語(yǔ)言有三類,機(jī)器語(yǔ)言,匯編語(yǔ)言,高級(jí)語(yǔ)言。最初的編程語(yǔ)言是機(jī)器語(yǔ)言。

63.B本題的考查點(diǎn)是數(shù)組元素的引用。cp=c這個(gè)語(yǔ)句是將數(shù)組c的首行元素地址賦給了指針數(shù)組cp。選項(xiàng)A,cp+1是指將數(shù)組c的首行地址加l,即為第二行地址;選項(xiàng)B,*(cp+3)是地址,等于數(shù)組C的首地址加3的那個(gè)內(nèi)存單元的內(nèi)容,不是對(duì)數(shù)組元素的引用;選項(xiàng)C,*(cp+1)+3是地址,等于數(shù)組C的首地址加1的那個(gè)內(nèi)存單元中存放的值加3,不是對(duì)數(shù)組元素的引用。

64.AB)選項(xiàng)中打開一個(gè)已存在的文件并進(jìn)行了寫操作后,原有文件中的全部數(shù)據(jù)不一定被覆蓋,也可以對(duì)源文件進(jìn)行追加操作等。c)選項(xiàng)中在一個(gè)程序中當(dāng)對(duì)文件進(jìn)行了寫操作后,不用先關(guān)閉該文件然后再打開,才能讀到第1個(gè)數(shù)據(jù),可以用fseek()函數(shù)進(jìn)行重新定位即可。D)選項(xiàng)中,C語(yǔ)言中的文件可以進(jìn)行隨機(jī)讀寫。故本題答案為A)。

65.Dcontinue語(yǔ)句的作用是結(jié)束本次循環(huán),即跳過本次循環(huán)體中余下尚未執(zhí)行的語(yǔ)句,接著再一次進(jìn)行循環(huán)的條件判定。

66.C解析:在C語(yǔ)言中,除字符數(shù)組外,一個(gè)數(shù)組不能通過數(shù)組名對(duì)數(shù)姐進(jìn)行整體引用,因此選項(xiàng)A是對(duì)的。數(shù)組名中存放的是一個(gè)地址常量,它代表整個(gè)數(shù)組的首地址,因此選項(xiàng)B是對(duì)的。C語(yǔ)言程序在運(yùn)行過程中,系統(tǒng)不自動(dòng)檢驗(yàn)數(shù)組元素的下標(biāo)是否越界,因此選項(xiàng)C是錯(cuò)誤的。C語(yǔ)官規(guī)定可以通過賦初值來(lái)定義數(shù)組的大小,這時(shí)數(shù)組說明符的一對(duì)方括號(hào)中可以不指定數(shù)組的大小,因此選項(xiàng)D也是正確的。所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。

67.A函數(shù)fgete()從文件讀入一個(gè)字符到指定變量。函數(shù)fputc()將指定字符寫入審文件中,函數(shù)fprinff(),fwrite()均是寫入文件操作函數(shù)。因此選項(xiàng)B,c。D錯(cuò)誤。答案為A選項(xiàng)。

68.A本題考查兩個(gè)概念:①用單引號(hào)括起來(lái)的一個(gè)字符常量只能存放一個(gè)字符;②℃語(yǔ)言中沒有字符串變量,只能用字符數(shù)組來(lái)存儲(chǔ)字符串。

69.Afwrite函數(shù)將數(shù)組a寫入文件,寫入兩遍,讀出后為選項(xiàng)A)的值,所以選擇A)。

70.D

71.A本題考查C語(yǔ)言中常量的定義。常量是指程序在運(yùn)行過程中,其值不能被改變的量。C語(yǔ)言中常見的常量主要有整型常量、實(shí)型常量、字符型常量。整型常量包括十進(jìn)制整數(shù),如456;八進(jìn)制整數(shù),以0開頭,如0456;十六進(jìn)制整數(shù),以0x開頭,如0x456。實(shí)型變量包括十進(jìn)制小數(shù)形式,如.456;指數(shù)形式,如456e0,字母e前面必須有數(shù)字,e后面的數(shù)字必須為整數(shù),如456e-4。字符型常量是用單撇號(hào)括起來(lái)的一個(gè)字符。如,’a’,’A’等?!痑’不等于’A’。字符型常量還包括一種轉(zhuǎn)義字符,以’\\’開頭,表示將’\\’后面的字符轉(zhuǎn)換成另外的意義。字符串也可以作為常量,用雙撇號(hào)括起來(lái),如'abc'。本題A選項(xiàng)中單撇號(hào)括起來(lái)的不是一個(gè)字符,而是三個(gè)字符,故不是合法常量。B選項(xiàng)是實(shí)型變量的指數(shù)表示形式。C選項(xiàng)是字符串常量,用雙撇號(hào)引起來(lái)。D選項(xiàng)是字符’\\0’,因?yàn)樵谂龅健痋\0’后,字符串結(jié)束,因此只讀取到’\\0’,所以D選項(xiàng)是合法常量。

72.B

73.C選項(xiàng)C中,當(dāng)i=1時(shí),執(zhí)行{p=1;p*=i;},此時(shí)得到p的值為1;接下來(lái)判斷i=2,執(zhí)行{p=1;p*=i;},此時(shí)p重新賦值為1,然后執(zhí)行p*=i,得到p=2;當(dāng)i=3時(shí),此時(shí)p又重新賦值為1,把剛才所求的積覆蓋了,在以后的每次循環(huán)中,p都會(huì)重新賦值1。所以,不能實(shí)現(xiàn)求和1*2*3*4*5(即5!)的功能。

74.C數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)有順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)兩種。不同存儲(chǔ)結(jié)構(gòu)的數(shù)據(jù)處理效率不同。由于鏈表采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),元素的物理順序并不連續(xù),對(duì)于插入和刪除無(wú)需移動(dòng)元素,很方便,當(dāng)查找元素時(shí)就需要逐.個(gè)元素查找,因此查找的時(shí)間相對(duì)更長(zhǎng)。

75.B在本題中,題目告訴我們程序中調(diào)用scanf函數(shù)給變量a輸入數(shù)值的方法是錯(cuò)誤的,要求我們找出其錯(cuò)誤的原因,這是一類錯(cuò)誤原因分析題。

在本題程序中,首先定義兩個(gè)整型指針變量p和q,然后定義兩個(gè)整型變量a和b,讓指針變量p執(zhí)行變量a,接著輸出提示語(yǔ)句“請(qǐng)輸入a”,執(zhí)行格式輸入語(yǔ)句scanf,由于輸入語(yǔ)句的輸入列表中給出的應(yīng)該是輸入的地址,即存放輸入數(shù)據(jù)的存儲(chǔ)地址,但在本題的輸入語(yǔ)句中給出的是*p,這表示一個(gè)數(shù)值,而非地址。因此,無(wú)法完成數(shù)據(jù)的輸入,若要完成輸入,可以將*p改為p。

根據(jù)上面的分析,我們可以知道本題程序出錯(cuò)的原因是*p表示的是變量a的值,而不是變量a的地址。因此本題正確答案選B。

76.B

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

78.A輸入函數(shù)的輸出項(xiàng)從整體看是一個(gè)逗號(hào)表達(dá)式,對(duì)于逗號(hào)表達(dá)式,我們只需求出最后一個(gè)表達(dá)式的值即可,首先f(wàn)賦值為0,c==’A’,不成立,因?yàn)閏=’a’,所以結(jié)果為假,即0,因此結(jié)果輸出的就是0.

79.A解析:本題考查的是順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)既可用于表示線性結(jié)構(gòu),也可用于表示非線性結(jié)構(gòu),所以選項(xiàng)B和C不正確;鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)比順序存儲(chǔ)結(jié)構(gòu)每個(gè)元素多了一個(gè)或多個(gè)指針域,比順序存儲(chǔ)結(jié)構(gòu)要多耗費(fèi)一些存儲(chǔ)空間,所以選項(xiàng)D也不止確。所以,本題中只有選項(xiàng)A是正確的。

80.BA選項(xiàng)中e后面的指數(shù)必須為整數(shù),所以錯(cuò)誤。C語(yǔ)言規(guī)定,E之前必須要有數(shù)字,所以c選項(xiàng)錯(cuò)誤。E后面必須要有數(shù)字,且必須為整數(shù),所以D選項(xiàng)錯(cuò)誤。

81.(1)錯(cuò)誤:proc(intm)

正確:doubleproc(intm)

(2)錯(cuò)誤:for(i=100,i<=m,i+=100)

正確:for(i=100;i<=m;i+=100)

【解析】由主函數(shù)中的函數(shù)調(diào)用和函數(shù)proc()的返回值可知,函數(shù)proc()的返回值類型為double型數(shù)據(jù)。因此,“proc(intm)”應(yīng)改為“doubleproc(iram)”;根據(jù)C語(yǔ)言的語(yǔ)法規(guī)則,for循環(huán)的3個(gè)條件之間為分號(hào)間隔,因此,“for(i=100。i<=m,i+=100)”應(yīng)改為“for(i=100;i<=m;i+=100)”。

82.

【解析】要得到學(xué)生的最高分,需要將每一個(gè)學(xué)生的成績(jī)進(jìn)行比較。學(xué)生的成績(jī)存儲(chǔ)在鏈表中,其結(jié)束標(biāo)志為最后一個(gè)結(jié)點(diǎn)的next指針即NULL。比較每一個(gè)學(xué)生的成績(jī),將最高分返回給主函數(shù)。

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

一、單選題(20題)1.請(qǐng)讀程序:#include<stdio.h>main(){inta;floatb,c;scanf("%2d%3f%4f",&a,&b,&c);printf("\na=%d,b=%f,c=%f\n",a,b,c);}若運(yùn)行時(shí)從鍵盤上輸入9876543210,則上面程序的輸出結(jié)果是______。

A.a=98,b=765,c=4321

B.a=10,b=432,c=8765

C.a=98,b=765.000000,c=4321.000000

D.a=98,b=765.0,c=4321.0

2.具有10個(gè)葉子結(jié)點(diǎn)的二叉樹中有()個(gè)度為2的結(jié)點(diǎn)。

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

3.有如下程序該程序的輸出結(jié)果是().A.A.12B.13C.14D.15

4.可用作C語(yǔ)言用戶標(biāo)識(shí)符的一組標(biāo)識(shí)符是()。A.voiddefine+WORDB.a3_b3_123YNC.for-abcCaseD.2aDOsizeof

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

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

6.下列程序段輸出的字符串長(zhǎng)度為()。printf("\\aaa\'ccc\bddd\'");

A.11B.12C.13D.17

7.有以下程序

#include<stdio.h>

main()

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

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

c5=getchar();c6=getchar();

putchar(c1);putchar(c2);

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

}

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

123<回車>

45678<回車>

則輸出結(jié)果是

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

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

A.intB.floatC.doubleD.不確定

9.已知一算術(shù)表達(dá)式的中綴表達(dá)式為a-(b+c/d)*e,其后綴形式為()

A.-a+b*c/dB.-a+b*cd/eC.-+*abc/deD.abcd/+e*-

10.若有定義floata[15],*p=a;,且數(shù)組a的首地址為300H,則p+13所指向的數(shù)組元素的地址為()。

A.334HB.30DHC.352HD.31AH

11.在帶頭結(jié)點(diǎn)的單鏈表head為空的判定條件是()。

A.head=NULLB.head->next=NULLC.head->next=headD.head!=NULL

12.

13.若有函數(shù)首部“intfun(doublex[10],int*n)”,則下列針對(duì)此函數(shù)的函數(shù)聲明語(yǔ)句中正確的是()。

A.intfun(double,int);

B.intfun(double*,int*);

C.intfun(double*x,intn);

D.intfun(doublex,int*n);

14.設(shè)有定義:intx=2.以下表達(dá)式中,值不為6的是()。A.2*x,x+=2B.x++.2*xC.x*=(1+x)D.x*=x+1

15.已知8個(gè)數(shù)據(jù)元素為(34,76,45,18,26,54,92,65),按照依次插入結(jié)點(diǎn)的方法生成一棵二叉排序樹后,最后2層上的結(jié)點(diǎn)總數(shù)為______。

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

16.有以下程序:voidsum(int*a){a[0]=a[1];}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;for(i=1;i>0;i--)sum(&aa[i]);print("%d\n",aa[0]);}程序運(yùn)行后的輸出結(jié)果是______。

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

17.

18.

19.能正確表示“當(dāng)x的取值在[1,10]和[100,110]范圍內(nèi)為真,否則為假”的表達(dá)式是()。

A.(x>=1)&&(x<=10)&&(x>=100)&&(x<=110)

B.(x>=1)‖(x<=10)‖(x>=100)‖(x<=110)

C.(x>=1)&&(x<=10)‖(x>=100)&&(x<=110)

D.(x>=1)‖(x<=10)&&(x>=100)‖(x<=110)

20.在下面的二維數(shù)組定義中,正確的是()。

A.inta[5][];

B.inta[][5];

C.inta[][3]={{1,3,5},{2}};

D.inta[](10);

二、2.填空題(20題)21.以下程序中函數(shù)fun()的功能是構(gòu)成一個(gè)如圖所示的帶頭結(jié)點(diǎn)的單向鏈表,在結(jié)點(diǎn)的數(shù)據(jù)域中放入了具有兩個(gè)字符的字符串。函數(shù)disp的功能是顯示輸出該單向鏈表中所有結(jié)點(diǎn)中的字符串。請(qǐng)?zhí)羁胀瓿珊瘮?shù)disp。

#include<atdio.h>

typedefstructnode/*鏈表結(jié)點(diǎn)結(jié)構(gòu)*/

{charsub[3];

structnode*next;

}Node

Node~un(chars)/*建立鏈表*/

{......}

voiddisp(Node*h)

{Node*Ps

p=h->next;

while(【】)

{printf("%s\n",p->suh);p=【】;}

}

main()

{Node*hd;

hd=fun();disp(hd);prinff("\n");

22.有以下語(yǔ)句段:

intn1=10,n2=20;

printf("【】",n1,n2);

要求按以下格式輸出n1和n2的值:

n1=10

n2=20

每個(gè)輸出行從第一列開始,請(qǐng)?zhí)羁铡?/p>

23.有以下程序

#include<stdio.h>

main()

{charch1,ch2;intn1,n2;

ch1=getchar();ch2=getchar();

n1=ch1-'()';n2=n1*10+(ch2-'()');

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

}

程序運(yùn)行時(shí)輸入:12<回車>,執(zhí)行后輸出結(jié)果是【】。

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

#defineMAX(x,y)(x)>(y)?(x)L:(y)

main()

{inta=5,b=2,C=3,d=3,t;

t=MAX(a+b,c+D)*10;

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

}

25.下面程序的輸出是【】。

main()

{intarr[10],i,k=0;

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

arr[i]=i;

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

k+=arr[i]+i;

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

26.某二叉樹中度為2的結(jié)點(diǎn)有18個(gè),則該二叉樹中有【】個(gè)葉子結(jié)點(diǎn)。

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

main()

{

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

p++;

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

}

28.下列程序的運(yùn)行結(jié)果是______。

main()

{inti,a[10];

a[0]=a[1]=1;

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

a[i]=a[i-2]+a[i-1];

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

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

printf("%d",a[i]);

}

}

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

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

main()

{inta=3,b=4,c=5,t=99;

if(b<a&&a<c)t=a;a=C;c=t;

if(a<c&&b<c)t=b;b=a;a=t

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

}

31.若a=10,b=20,則表達(dá)式!(a<b)的值是【】。

32.下列二維數(shù)組初始化語(yǔ)句中,正確且與語(yǔ)句floata[][3]={0,3,8,0,9};等價(jià)的是

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

main()

{

intx=10,y=20,t=0

if(x==y)t=x;x=y;y=t;

printf("%d,%d/n",x,y);

}

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

main()

{unsignedshorta=65536;intb;

printfC%d\n",b=a);

}

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

36.在進(jìn)行模塊測(cè)試時(shí),要為每個(gè)被測(cè)試的模塊另外設(shè)計(jì)兩類模塊:驅(qū)動(dòng)模塊和承接模塊,其中______的作用是將測(cè)試數(shù)據(jù)傳送給被測(cè)試的模塊,并顯示被測(cè)試模塊所產(chǎn)生的結(jié)果。

37.函數(shù)mycmp(char*s,char*t)的功能是比較字符串s和t的大小,當(dāng)s等于t時(shí)返回0,當(dāng)s>t時(shí)返回正值,當(dāng)s<t時(shí)返回負(fù)值。請(qǐng)?zhí)羁铡?/p>

mycmp(char*s,char*t)

{while(*s==*t)

{if(*s=='\0')return0;

++s;++t;

}

return(【】);

}

38.fun函數(shù)的功能是:首先對(duì)a所指的N行N列的矩陣,找出各行中的最大的數(shù),再求這N個(gè)最大值中的最小的那個(gè)數(shù)作為函數(shù)值返回。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

#defineN100

intfun(int(*a)[N])

{

introw,col,max,min;

for(row=0;row<N;row++

{

for(max=a[row][0],col=1;col<N;col++)

if(【】)max=a[row][col];

if(row==0)min=max;

elseif(【】)min=max;

}

returnmin;

}

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

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

intm=13;

intfun(intx,inty)

{intm=3;

return(x*y-m);

}

main()

{inta=7,b=5;

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

}

三、1.選擇題(20題)41.調(diào)用gets和puts函數(shù)時(shí),必須包含的頭文件是

A.stdio.hB.stdlib.hC.defineD.以上都不對(duì)

42.有以下程序:main(){inta=5,b=4,c=3,d=2;if(a>b>c)printf("%d\n",d);elseif((c-1>=d)==1)printf("%d\n",d+1);elseprintf("%d\n",d+2);}執(zhí)行后輸出結(jié)果是______。

A.2B.3C.4D.編譯時(shí)有錯(cuò),無(wú)結(jié)果

43.設(shè)整型數(shù)i=5,則printf("%d",i+++++i);的輸出為______。

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

44.下列關(guān)于線性鏈表的描述中正確的是()。

A.存儲(chǔ)空間不一定連續(xù),且各元素的存儲(chǔ)順序是任意的

B.存儲(chǔ)空間不一定連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面

C.存儲(chǔ)空間必須連續(xù),且各前件元素一定存儲(chǔ)在后件元素的前面

D.存儲(chǔ)空間必須連續(xù),且各元素的存儲(chǔ)順序是任意的

45.若有說明語(yǔ)句:double*p,a;則能通過scanf語(yǔ)句正確給輸入項(xiàng)讀入數(shù)據(jù)的程序段是()。

A.*p=&a;sCanf("%1f",p);

B.*p=&a;scanf("%f",p);

C.p=&a;scanf("%1f",*p);

D.p=&a;scanf("%1f",p);

46.以下能正確定義一維數(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";

47.若有定義floata=25,b,*p=&b;,則下列對(duì)賦值語(yǔ)句*p=a;和p=&a;的正確解釋為()。

A.兩個(gè)語(yǔ)句都是將變量a的值賦予變量p

B.*p=a是使p指向變量a,而p=&a是將變量a的值賦予變量指針p

C.*p=a是將變量a的值賦予變量b,而p=&a是使p指向變量a

D.兩個(gè)語(yǔ)句都是使p指向變量a

48.下列關(guān)鍵字中,不屬于C語(yǔ)言變量存儲(chǔ)類別的是______。

A.registerB.autoC.externD.public

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

A.構(gòu)成C程序的基本單位是函數(shù)

B.可以在一個(gè)函數(shù)中定義另一個(gè)函數(shù)

C.main函數(shù)必須放在其他函數(shù)之前

D.C函數(shù)定義的格式是K&R格式

50.有以下程序:main(){inti,s=0;for(i=1;i<10;i+=2)s+=i+1;printf("%d\n",s);}程序執(zhí)行后的輸出結(jié)果是()。

A.自然數(shù)1~9的累加和B.自然數(shù)1~10的累加和C.自然數(shù)1~9中奇數(shù)之和D.自然數(shù)1~10中偶數(shù)之和

51.設(shè)有下列說明語(yǔ)句:StrcutStr{intx;floaty;charz;}st;則下列的敘述中不正確的是()。

A.struct是結(jié)構(gòu)體類型的關(guān)鍵字

B.st是結(jié)構(gòu)體類型名

C.x、y、z都是結(jié)構(gòu)體成員名

D.structstr是結(jié)構(gòu)體類型名

52.以下程序的輸出結(jié)果是#include<stdi0.h>main(){inti=0,a=0;while(i<20){for(;;){if((i%10)==0)break;elsei--;}i+=11;a+=i;}printf(“%d\n”,A);}

A.21B.32C.33D.11

53.設(shè)計(jì)軟件結(jié)構(gòu)是在軟件生命周期的()。

A.軟件定義期B.軟件開發(fā)期C.軟件維護(hù)期D.以上3個(gè)都不是

54.在單鏈表中,增加頭結(jié)點(diǎn)的目的是()。

A.方便運(yùn)算的實(shí)現(xiàn)B.使單鏈表至少有一個(gè)結(jié)點(diǎn)C.標(biāo)識(shí)表結(jié)點(diǎn)中首結(jié)點(diǎn)的位置D.說明單鍵表是線性表的鏈?zhǔn)酱鎯?chǔ)實(shí)現(xiàn)

55.下列關(guān)于棧的敘述正確的是()。

A.棧按“先進(jìn)先出”組織數(shù)據(jù),B.棧按“先進(jìn)后出”組織數(shù)據(jù)C.只能在棧底插入數(shù)據(jù)D.不能刪除數(shù)據(jù)

56.下列不合法的main函數(shù)命令行參數(shù)的表示形式是______。

A.main(inta,char*c[]);

B.main(ac,av)intarc;char**av;

C.main(c,v)intc;char*v[];

D.main(argc,argv)intargc;charargv[];

57.假定建立了以下鏈表結(jié)構(gòu),指針p、q分別指向如圖所示的結(jié)點(diǎn),則以下可以將q所指結(jié)點(diǎn)從鏈表中刪除并釋放該結(jié)點(diǎn)的語(yǔ)句組是______。

A.free(q);p->next=q->next;

B.(*p).next=(*q).next;free(q);

C.q=(*q).next;(*p).next=q;free(q);

D.q=q->next;p->next=q;p=p->next;free(p);

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

A.C語(yǔ)言編譯時(shí)不檢查語(yǔ)法

B.C語(yǔ)言的子程序有過程和函數(shù)兩種

C.C語(yǔ)言的函數(shù)可以嵌套定義

D.C語(yǔ)言中,根據(jù)函數(shù)能否被其他源文件調(diào)用,被區(qū)分為內(nèi)部函數(shù)和外部函數(shù)

59.以下選項(xiàng)中合法的實(shí)型常數(shù)是

A.5E2.0B.E-3C.2.00E+00D.1.3E

60.

A.x/y*zB.x*(1/(y*z))C.x/y*1/zD.x/y/z

四、選擇題(20題)61.設(shè)有如下關(guān)系表:

則下列操作中,正確的是()。

A.T=R∩SB.T=R∪SC.T=R×SD.T=R/S

62.最初的計(jì)算機(jī)編程語(yǔ)言是()。

A.機(jī)器語(yǔ)言B.匯編語(yǔ)言C.高級(jí)語(yǔ)言D.低級(jí)語(yǔ)言

63.若有以下說明和語(yǔ)句,請(qǐng)選出哪個(gè)是對(duì)C數(shù)組元素的正確引用()。

A.cp+1B.*(cp+3)C.*(cp+1)+3D.*(*cp+2)

64.以下敘述中正確的是()。A.A.當(dāng)對(duì)文件的讀(寫)操作完成之后,必須將它關(guān)閉,否則可能導(dǎo)致數(shù)據(jù)丟失

B.打開一個(gè)已存在的文件并進(jìn)行了寫操作后,原有文件中的全部數(shù)據(jù)必定被覆蓋

C.在一個(gè)程序中當(dāng)對(duì)文件進(jìn)行了寫操作后,必須先關(guān)閉該文件然后再打開,才能讀到第1個(gè)數(shù)據(jù)

D.c語(yǔ)言中的文件是流式文件,因此只能順序存取數(shù)據(jù)

65.有以下程序:main{inti,n=0:for(i=2;i<5;i++){do{if(i%3)continue:n++:}while(!i);n++:}printf("n=%d\n",n);}程序執(zhí)行后輸出結(jié)果是()。A.n=5B.n=2C.n=3D.n=4

66.以下敘述中錯(cuò)誤的是()。

A.對(duì)于double類型數(shù)組,不可以直接用數(shù)組名對(duì)數(shù)組進(jìn)行整體輸入或輸出

B.數(shù)組名代表的是數(shù)組所占存儲(chǔ)區(qū)的首地址,其值不可改變

C.當(dāng)程序執(zhí)行中,數(shù)組元素的下標(biāo)超出所定義的下標(biāo)范圍時(shí),系統(tǒng)將給出“下標(biāo)越界”的出錯(cuò)信息

D.可以通過賦初值的方式確定數(shù)組元素的個(gè)數(shù)

67.若文件指針fp已正確指向文件,ch為字符型變量,以下不能把字符輸出到文件中的語(yǔ)句是()。

A.fget(f0,ch);

B.foutc(ch,fo);

C.fprinff(fp,”%c”,ch);

D.fwrite(&ch,sizeof(ch),1,fp);

68.下列字符數(shù)組初始化語(yǔ)句中,不正確的是()。A.A.charc[]='goodmorning';

B.charc[20]="goodmorning";

C.charc[]={'a','b','c','d');

D.charc[]={"ffgoodmorning"};

69.

70.

71.以下選項(xiàng)中不能作為C語(yǔ)言合法常量的是

A.’Fab’B.0.7e+9C."\b"D.’\01211’

72.

73.若變量已正確定義,要求程序段完成求5!的計(jì)算,不能完成此操作的程序段是

A.for(i=1,p=1;i<=5;i++)p*=i;B.i=1;p=1;while(i<=5){p*=i;i++;}

C.for(i=1;i<=5;i++){p=1;p*=i;}D.i=1;p=1;do{p*=i;i++;}while(i<=5);

74.用鏈表表示線性表的優(yōu)點(diǎn)是()。

A.便于隨機(jī)存取B.花費(fèi)的存儲(chǔ)空間較順序存儲(chǔ)少C.便于捅入和刪除操作D.數(shù)據(jù)元素的物理順序與邏輯順序相同

75.以下程序中調(diào)用scanf函數(shù)給變量a輸入數(shù)值的方法是錯(cuò)誤的,其錯(cuò)誤原因是main(){int*p,*q,a,b;p=&a;printf("inputa:");scanf("%d",*p);}

A.*p表示的是指針變量p的地址

B.*p表示的是變量a的值,而不是變量a的地址

C.*p表示的是指針變量p的值

D.*p只能用來(lái)說明p是一個(gè)指針變量

76.

77.有以下程序段:

為使程序段不陷入死循環(huán),從鍵盤鍵

溫馨提示

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