2021-2022年河南省許昌市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)_第1頁
2021-2022年河南省許昌市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)_第2頁
2021-2022年河南省許昌市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)_第3頁
2021-2022年河南省許昌市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)_第4頁
2021-2022年河南省許昌市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)_第5頁
已閱讀5頁,還剩97頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

2021-2022年河南省許昌市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.若有以下程序

則程序的輸出結(jié)果是

A.3B.7C.6D.10

2.下列數(shù)據(jù)結(jié)構(gòu)中,能夠按照“先進(jìn)后出”原則存取數(shù)據(jù)的是()。

A.循環(huán)隊(duì)列B.棧C.隊(duì)列D.二叉樹

3.

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

A.54321

B.12345

C.12345

D.543210main(){intw=5;fun(w);printf("\n");}fun(intk){if(k>0)fun(k-1);printf("%d"",k);}

5.有以下程序:#include<stdio.h>main(){intx=0x9;printf(“%c\n”,‘A’+x);}程序運(yùn)行后的輸出結(jié)果是()。

A.IB.JC.KD.H

6.設(shè)”inta=15,b=26;”,則”printf(“%d,%d”,a,b);”的輸出結(jié)果是()。

A.15B.26,15C.15,26D.26

7.下列定義數(shù)組的語句中錯(cuò)誤的是()。

A.intnum[][3]={{1,2},3,4,5,6};

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

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

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

8.設(shè)無向圖的頂點(diǎn)數(shù)為n,則該圖最多有()條邊。

A.n-1B.n(n-1)/2C.n(n+1)/2D.0

9.當(dāng)用戶要求輸入的字符串中含有空格時(shí),應(yīng)使用的輸入函數(shù)是()。

A.scanfB.getcharC.getsD.getc

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

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

11.

12.有以下程序#includevoidWriteStr(char*fn,char*str){FILE*fp;fp=fopen(fn,"w");fputs(str,fp);fclose(fp);}main(){WriteStr("t1.dat","start");WriteStr("t1.dat","end");}程序運(yùn)行后,文件t1.dat中的內(nèi)容是______。

A.startB.endC.startendD.endrt

13.設(shè)有序順序表中有n個(gè)數(shù)據(jù)元素,則利用二分查找法查找數(shù)據(jù)元素X的最多比較次數(shù)不超過()。A.log2+1

B.log2(n-1)

C.log2n

D.log2(n+1)

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

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

15.以下敘述中,不正確的是()。

A.使用staticfloata定義的外部變量存放在內(nèi)存中的靜態(tài)存儲(chǔ)區(qū)

B.使用floatb定義的外部變量存放在內(nèi)存中的動(dòng)態(tài)存儲(chǔ)區(qū)

C.使用staticfloatc定義的內(nèi)部變量存放在內(nèi)存中的靜態(tài)存儲(chǔ)區(qū)

D.使用floatd定義的內(nèi)部變量存放在內(nèi)存中的動(dòng)態(tài)存儲(chǔ)區(qū)

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

longfun(intn)

{longs;

if(n==1||n==2)s=2;

elses=n-fun(n-1);

returns;}

main()

{printf("%ld\n",fun(3));}

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

17.在下列定義語句中,編譯時(shí)會(huì)出現(xiàn)編譯錯(cuò)誤的是()。

A.chara=‘\x2d’;B.chara=‘\n’;C.chara=‘a(chǎn)’;D.chara=“aa”;

18.已知二叉樹后序遍歷序列是dabeC,中序遍歷序列是debaC,它的前序遍歷序列是()。

A.aChedB.deCabC.deabeD.Cedba

19.下列程序的輸出結(jié)果是()structabc{inta,b,c;};main(){structabcs[2]={{1,2,3},{4,5,6}};intt;t=s[0].a+s[1].b;printf("%d\n",t);}

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

20.每次從無序表中取出一個(gè)元素,把它插入到有序表中的適當(dāng)位置,此種排序方法叫做()排序。

A.插入B.堆C.快速D.歸并排序

二、2.填空題(20題)21.下列程序的輸出結(jié)果是______.

#include<stdio.h>

fun()

{staticinta=O;

a+=3;printf("%d",a);

}

main()

{intcc;

for(cc=1;cc<5;cc++)fun();

printf("\n");

}

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

23.在樹形結(jié)構(gòu)中,樹根結(jié)點(diǎn)沒有______。

24.以下程序的功能是:求出數(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([11];i<10;i++)

a[i-1]=x[i]+[12];.

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

printf("");

}

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

26.軟件測(cè)試中路徑覆蓋測(cè)試是整個(gè)測(cè)試的基礎(chǔ),它是對(duì)軟件【】進(jìn)行測(cè)試。

27.函數(shù)count(head)統(tǒng)計(jì)鏈表的結(jié)點(diǎn)個(gè)數(shù),head為表頭指針,閱讀程序,要求將整個(gè)if語句改成while循環(huán)控制結(jié)構(gòu),其形式為【】。

#include<stdio.h>

intcount(NODE*head)

{intn=0;

if(head!=NULL)

do

{n++;

head=head->next;

}while(head!=NULL);

returnn;}

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

word_num(str)

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

if(【】='')word=0;

【】;

}

return(num);

}

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

#definePOW(r)(r)*?

main()

{intx=3,y=2,t;

t=POW(x+y);

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

}

30.設(shè)i,j,k均為int型變量,則執(zhí)行完下面的for語句后,k的值為【】。

for(i=0,j=10;i<=j;i++,j--)k=i+j;

31.閱讀下面程序,則執(zhí)行后的輸出結(jié)果是【】。

#include"stdio.h"

main()

{intx,y,z;

x=1;y=2;z=3;

if(x>y)if(x>z)printf("%d",x);

elseprintf("%d",y);

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

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

#include<stdio.h>

main()

{inta=10,b=3;

printf("%d,",a%B);

printf("%d,",(a-b,a+B));

printf("%dLn",a-b?a-b:a+B);

}

33.以下函數(shù)把b字符串連接到a字符串的后面,并返回a中新字符串的長度。請(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);

}

34.下列程序的輸出結(jié)果是16.00,請(qǐng)?zhí)羁眨?/p>

main()

{

inta=9,b=2;

floatx=【】,y=1.1,z;

z=a/2+b*x/y+1/2;

printf("%5.2f\n",z);

}

35.以下函數(shù)的功能是求x的y次方,請(qǐng)?zhí)羁铡?/p>

doublefun(doublex,inty)

{inti;

doublez;

for(i=1,z=x;i<y;i++)z=z*【】;

returnz;

}

36.軟件維護(hù)活動(dòng)包括以下幾類:改正性維護(hù)、適應(yīng)性維護(hù)、【】維護(hù)和預(yù)防性維護(hù)。

37.匯編程序和編譯程序翻譯的目標(biāo)程序需經(jīng)【】連接成可執(zhí)行的程序。

38.下列程序的功能是把從終端讀入的文本(用@作為文本結(jié)束標(biāo)志)輸出到一個(gè)名為bi.dat的新文件中。請(qǐng)?zhí)羁铡?/p>

#include"stdio.h"

FILE*fp;

{charch;

if((fp=fopen("bi.dat","w"))==NULL)exit(0);

while(______)fputc(ch,fp);

______;

}

39.測(cè)試的目的是暴露錯(cuò)誤,評(píng)價(jià)程序的可靠性;而______的目的是發(fā)現(xiàn)錯(cuò)誤的位置并改正錯(cuò)誤。

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

#include<stdio.h>

#include<string.h>

main()

{inti;

chars[10],t[10];

gets(t);

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

{gets(s);

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

}

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

}

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

三、1.選擇題(20題)41.下列描述中,正確的一條是______。

A.關(guān)系表達(dá)式的值是一個(gè)邏輯值,即“真”或“假”,可以賦給一個(gè)邏輯變量

B.在C語言中,判斷一個(gè)量是否為:真”時(shí),以0代表“假”,以1代表“真”.

C.設(shè)a=3、b=4、c=5,則表達(dá)式!(x=a)&&(y=b)&&0的值為0

D.一個(gè)數(shù)組的各個(gè)數(shù)組元素可屬于不同的數(shù)據(jù)類型

42.算法的空間復(fù)雜度是指()。

A.算法程序的長度B.算法程序中的指令條數(shù)C.算法程序所占的存儲(chǔ)空間D.執(zhí)行算法需要的內(nèi)存空間

43.運(yùn)行下面的程序,其輸出結(jié)果為______。main(){pintf("%d,%d",5%-3,-5%3);}

A.2,-2B.-2,2C.-2,-2D.2,2

44.標(biāo)有/$$$/的語句的執(zhí)行次數(shù)是______。inty,i;for(i=0;i<20;i++){if(i%2==0)continue;y+=i;/$$$/;}

A.20B.19C.10D.9

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

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

46.設(shè)x=061,y=016,則z=x|y的值是()。

A.1111B.1.11111e+007C.111111D.1.1e+007

47.C語言的基本單位是()。

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

48.以下敘述中,正確的是______。

A.do…while語句構(gòu)成的循環(huán)不能用其他語句構(gòu)成的循環(huán)來代替

B.do…while語句構(gòu)成的循環(huán)只能用break語句退出

C.用do…while語句構(gòu)成的循環(huán),在while后的表達(dá)式為非零時(shí)結(jié)束循環(huán)

D.用do…while語句構(gòu)成的循環(huán),在while后的表達(dá)式為零時(shí)結(jié)束循環(huán)

49.下列4項(xiàng)說法中,不正確的是______。

A.數(shù)據(jù)庫減少了數(shù)據(jù)冗余B.數(shù)據(jù)庫中的數(shù)據(jù)可以共享C.數(shù)據(jù)庫避免了一切數(shù)據(jù)的重復(fù)D.數(shù)據(jù)庫具有較高的數(shù)據(jù)獨(dú)立性

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

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

51.能正確表示邏輯關(guān)系""a≥10或a≤0""的C語言表達(dá)式是______。

A.a>=100ora<=0

B.a>=0|a<=10

C.a>10&&a<=0

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

52.以下數(shù)組定義中不正確的是_______。

A.inta[2][3];

B.intb[][3]={0,1,2};

C.intc[100][100={0};

D.intd[3][]={{1,2},{1,2,3},{1,2,3,4}};

53.以下錯(cuò)誤的定義語句是()。

A.intx[][3]={{0},{1},{1,2,3}};

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

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

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

54.設(shè)有定義:intk=1,m=2;floatf=7;則以下選項(xiàng)中錯(cuò)誤的表達(dá)式是()。

A.k=k>=kB.-k++C.k%int(f)D.k>=f>=m

55.下列選項(xiàng)中合法的賦值語句是()。

A.a=b=34B.a=34,b=34C.i-1;D.m=(int)(x+y);

56.若以“a+”方式打開一個(gè)已存在的文件,則下列敘述正確的是()。

A.文件打開時(shí),原有文件內(nèi)容不被刪除,位置指針移到文件末尾,可以進(jìn)行添加或讀操作

B.文件打開時(shí),原有文件內(nèi)容不被刪除,只能進(jìn)行讀操作

C.文件打開時(shí),原有文件內(nèi)容被刪除,只能進(jìn)行寫操作

D.以上三種說法都不正確

57.下列說法不正確的足()。

A.int*ptr;//指針指向整形數(shù)據(jù)

B.char*ptr;//指針的類型是字符型指針

C.int**ptr;//指針的類型是雙重指針

D.int(*ptr)[3];//是一一個(gè)指針數(shù)組,數(shù)組共有三個(gè)元素,而三個(gè)元素是int型指針

58.以下程序的輸出結(jié)果是______。main(){inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;for(i=1;i<3;i++)for(j=0;j<=i;j++)s+=a[i][j];printf("%d\n",s);}

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

59.下述函數(shù)功能是______。intfun(char*x){char*y=x;while(*y++);returny-x-1;}

A.求字符串的長度B.求字符串存放的位置C.比較兩個(gè)字符串的大小D.將字符串x連接到字符串y后面

60.設(shè)有以下程序:structst{intn;structst*next;};staticstructsta[3]={5,&a[1],7,&a[2],9,'\0'},*p;p=&a[0];下面選項(xiàng)中,表達(dá)式值為6的是______。

A.p++->nB.p->n++C.(*p).n++D.++p->n

四、選擇題(20題)61.有如下程序:main(){intn[5]={0,0,0},i,k=2;for(i=0;i&printf("%d\n",n[k]););}該程序的輸出結(jié)果是()。A.不確定的值B.2C.1D.0

62.在數(shù)據(jù)庫設(shè)計(jì)中,用E-R圖來描述信息結(jié)構(gòu),但不涉及信息在計(jì)算機(jī)中的表示,它是數(shù)據(jù)庫設(shè)計(jì)的()階段。

A.需求分析B.概念設(shè)計(jì)C.邏輯設(shè)計(jì)D.物理設(shè)計(jì)

63.下列數(shù)據(jù)結(jié)構(gòu)中,能用二分法進(jìn)行查找的是()。

A.順序存儲(chǔ)的有序線性表B.結(jié)性鏈表C.二叉鏈表D.有序線性鏈表

64.若有定義:則以下不能正確表示該數(shù)組元素的表達(dá)式是()。

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

A)C語言是高級(jí)語言

B)C語言中的每條可執(zhí)行語句最終都將被轉(zhuǎn)換成二進(jìn)制的機(jī)器指令

C)C語言產(chǎn)生的目標(biāo)程序后綴名為OBJ

D)C語言中的函數(shù)不可以單獨(dú)進(jìn)行編譯

66.有以下程序:

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

A.1234B.5678C.9101112D.1111

67.

68.下列關(guān)于結(jié)構(gòu)化設(shè)計(jì)原則的描述,錯(cuò)誤的是

A.在塊和進(jìn)程的非正常出口處往往需要調(diào)用GOTO語句,使用GOTO語句使程序執(zhí)行效率提高,但是濫用GOTO語句確實(shí)有害,應(yīng)該避免使用GOTO語句

B.程序設(shè)計(jì)時(shí)應(yīng)該自頂向下,逐步求精

C.程序設(shè)計(jì)時(shí),應(yīng)該將復(fù)雜問題進(jìn)行模塊化,就是將程序設(shè)計(jì)的總目標(biāo)分解為若干個(gè)分目標(biāo),再進(jìn)一步分解為具體的小目標(biāo)

D.在進(jìn)行程序設(shè)計(jì)時(shí),應(yīng)該盡量在一行寫一條語句,盡量做到效率第一,清晰第二

69.要求通過while循環(huán)不斷讀入字符,當(dāng)讀人字母N時(shí)結(jié)束循環(huán),若變量已正確定義,下列正確的程序段是()。A.B.C.D.A.A.AB.BC.CD.D

70.

71.以下選項(xiàng)中,能用作用戶標(biāo)識(shí)符的是()。A._0_B.8—8C.voidD.unsigned

72.閱讀下列程序段,程序的輸出結(jié)果為()。

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

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

74.有以下程序:

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

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

75.

76.下列選項(xiàng)中,能正確定義數(shù)組的語句是()。

A.

B.

C.

D.

77.

78.以下關(guān)于typedef的敘述錯(cuò)誤的是()。A.用tyFedef可以增加新類型

B.typedef只是將已存在的類型用一個(gè)新的名字來代表

C.用typedef可以為各種類型說明一個(gè)新名,但不能用來為變量說明一個(gè)新名

D.用typedef為類型說明一個(gè)新名,通??梢栽黾映绦虻目勺x性

79.

80.

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:求整數(shù)X的Y次方的低3位值。例如,整數(shù)6的5次方為7776,此值的低3位值為776。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,請(qǐng)編寫一個(gè)函數(shù)fun(),該函數(shù)的功能是將大于整數(shù)m且緊靠m的k個(gè)素?cái)?shù)存入所指的數(shù)組中。例如,若輸入17、5,則應(yīng)輸出19、23、29、31、37。注意:部分源程序在文件prog1.c中。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫的若干語句。試題程序:

參考答案

1.D第—個(gè)if語句a!=1條件為假,所以執(zhí)行dse后的語句r=1。第二個(gè)if語句b==2條件成立,執(zhí)行r+=2,r的值變?yōu)?,第三個(gè)if語句c!=3條件為假,所以不做任何操作。執(zhí)行下面的r+=3操作,r的值變?yōu)?。判斷第四個(gè)訌條件,d==4條件成立,執(zhí)行r+=4操作,結(jié)果為10。

2.BB。【解析】在棧中,允許插入與刪除的一端稱為棧頂,而不允許插入與刪除的另一端稱為棧底。棧頂元素總是最后被插入的元素,從而也是最先能被刪除的元素;棧底元素總是最先被插入的元素,從而也是最后才能被刪除的元素。即棧是按照“先進(jìn)后出”或“后進(jìn)先出”的原則組織數(shù)據(jù)的。

3.D

4.B

5.B“printf(“%C\\n”,‘A’+X),x=0X9;”中0x9是十六進(jìn)制數(shù),轉(zhuǎn)為十進(jìn)制數(shù)x=9?!皃rintf(“%C\\n”,‘A’+9);”,輸出格式要求是“%c”,因此將字符‘A’按字母順序向后偏移9個(gè)位置,可得結(jié)果為“J”。故本題答案為B選項(xiàng)。

6.C

7.BB選項(xiàng)中定義的數(shù)組為2行4列,而賦值時(shí)卻賦成了3行,所以錯(cuò)誤。故本題答案為B選項(xiàng)。

8.B

9.C解析:C語言提供了許多輸入函數(shù),其中有:getchar(輸入字符)、scanf(格式輸入)和gets\u3000(輸入字符串)等。題目要求輸入的是字符串,所以可以排除getchar,而且要求輸入的字符串中包含空格,而scanf函數(shù)默認(rèn)將輸入的空格字符作為分割符,所以空格不會(huì)被輸入,故可排除scanf。getc的作用是從文件中輸入一個(gè)字符,故也不可取。gets函數(shù)可以輸入一整行作為一個(gè)字符串,其中也包括空格字符,故應(yīng)該選擇C。

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

11.C

12.B

13.A

14.D題干中,函數(shù)fun的第2個(gè)參數(shù)通過指針作為函數(shù)返回值,它的功能是通過遞歸,求得fun(n)的值為fun(n-1)+fun(n-2)。由于當(dāng)n取值為1和2時(shí),值為1。所以可知整個(gè)數(shù)列如下:1,1,2,3,5,8,…,即某一項(xiàng)是前兩項(xiàng)之和。所以當(dāng)n取值為6時(shí),fun(6,*s)返回s的值為3+5=8。本題答案為D選項(xiàng)。

15.B

16.A解析:該題考查的是遞歸函數(shù)的調(diào)用,題中讀fun函數(shù)進(jìn)行了遞歸調(diào)用,第1次調(diào)用:fun(3)n=3s=3-fun(2);第二次調(diào)用時(shí):fun(2)n=2s=2返回第一次調(diào)用后,s=3-2=1。

17.DD選項(xiàng)中將字符串常量“aa”賦給字符變量a是錯(cuò)誤的。故本題答案為D選項(xiàng)。

18.D二叉樹的遍歷有3種:前序、中序和后序。①前序遍歷訪問根結(jié)點(diǎn),然后按左右順序遍歷子結(jié)點(diǎn);②中序首先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹;③后序遍歷首先遍歷左子樹,然后遍歷右子樹,最后訪問根結(jié)點(diǎn)。本題根據(jù)后序和中序遍歷的結(jié)果可以得出二叉樹的結(jié)構(gòu),然后再對(duì)其進(jìn)行前序遍歷,正確答案選項(xiàng)為D。

19.D

20.A

21.3691236912解析:本題考查最基本的for循環(huán):for(cc=1;cc<5;cc++)規(guī)定循環(huán)次數(shù)為4次,每次a+=3即每次a的值增3,但因?yàn)閒un函數(shù)中變量a為static類型,所以每次調(diào)用完子函數(shù)之后,變量a所做的改變都要保存。

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

23.前件前件

24.對(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]。\r\n\r\n

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

26.結(jié)構(gòu)結(jié)構(gòu)解析:路徑測(cè)試是白盒測(cè)試方法中的—種,它要求對(duì)程序中的每條路徑最少檢查一次,目的是對(duì)軟件的結(jié)構(gòu)進(jìn)行測(cè)試。

27.while(p!=NULL){n++;head=head→next;}while(p!=NULL){n++;head=head→next;}解析:do…while循環(huán)轉(zhuǎn)化為while循環(huán),循環(huán)體執(zhí)行的內(nèi)容應(yīng)該是一致的,不同的是do…while結(jié)構(gòu)是先執(zhí)行一次循環(huán)體,然后再判斷循環(huán)條件是否滿足,而while循環(huán)則是先判斷循環(huán)條件是否滿足,滿足則執(zhí)行循環(huán)體。所以do…while循環(huán)結(jié)構(gòu)若想轉(zhuǎn)換為while循環(huán)結(jié)構(gòu),必須在do…while循環(huán)之前先對(duì)循環(huán)條件進(jìn)行一個(gè)判斷,即此題中的if(head!=NULL)。注意:3種循環(huán)結(jié)構(gòu)的比較。

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

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

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

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

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

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

30.1010解析:該for語句以i為0,j為10作為初始值,循環(huán)條件是i<=j,每次循環(huán)后i增1、j減1,循環(huán)體是將i與j的和賦給k,這樣變量k將保存的是最后一次賦給它的值。一次循環(huán)后i為1、j為9,二次循環(huán)后i為2、j為8,……,五次循環(huán)后i為5、j為5,第六次循環(huán),將i與j的和10賦給k后,i為6、j為4,循環(huán)結(jié)束,k值為10。

31.33解析:C語言的語法規(guī)定:else子句總是與前面最近的不帶else的if相結(jié)合。因?yàn)閤不大于y,所以執(zhí)行printf('%d\\n',z);語句。

32.11371,13,7解析:本題考查3個(gè)知識(shí)點(diǎn):①余數(shù)的計(jì)算,題中的a=10,b=3,a%b=1;②(表達(dá)式1,表達(dá)式2)形式的結(jié)果為最后—個(gè)表達(dá)式的值,題中的a=10,b=3,(a-b,a+b)=a+b=13:③條件運(yùn)算符的使用,題中的a-b?a-b:a+b,判斷語句a-b=7不為0,所以執(zhí)行a-b,結(jié)果為7。

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

解析:本題,已知結(jié)果z=16.00,即16.0=a/2+b*x/y+1/2,分別把a(bǔ)、b,代入,得到16.0=9/2+2*x/1.1+1/2。因?yàn)閍=9,a是整型,所以9/2的值在沒有進(jìn)行類型轉(zhuǎn)換時(shí),等于4,1/2同理,等于0。代入求一元一次方程,很容易就可以得出x=6.6。

35.xx解析:函數(shù)的定義形式為;

函數(shù)類型函數(shù)名(形參表)

{

類型說明語句;

執(zhí)行語句;

}

本題中函數(shù)的功能是:累積變量以求得變量的Y次方。

36.完善性軟件維護(hù)活動(dòng)包括以下幾類:改正性維護(hù),適應(yīng)性維護(hù)、完善性維護(hù)和預(yù)防性維護(hù),完善性維護(hù)是指為了滿足用戶對(duì)軟件提出的新功能與性能要求,需要修改或再開發(fā)軟件,以擴(kuò)充軟件功能、增強(qiáng)軟件性能、改進(jìn)加工效率、提高軟件的可維護(hù)性。

37.裝配程序裝配程序

38.(ch=getchar())!='@'fclose(fp)。(ch=getchar())!='@',fclose(fp)。解析:表達(dá)式z-=x<y?x++:++y相當(dāng)于先執(zhí)行++y,再執(zhí)行z-=x<y?x:y,最后執(zhí)行x++,其中z-=x<y?x:y等價(jià)于z=z-(x<y?x:y),由于x值為3,y值為3,x<y不成立,返回y的值,z-y的值為-2,賦給z。

39.調(diào)試調(diào)試

40.QTHRGQTHRG解析:strcmp(t,s)函數(shù)用來比較t和s所指字符串的大小,若t>s,則函數(shù)值大于0;若t=s,則函數(shù)值等于0:若t<s,則函數(shù)值小于0。strcpy(t,s)函數(shù)的功能是把字符數(shù)組s所指字符串的內(nèi)容復(fù)制到字符數(shù)組t所指的存儲(chǔ)空間中。本題中,t[10]='CDEF'。第一次循環(huán),s[10]='BADEF',if語句的控制條件strcmp(t,s)<0不成立,接著執(zhí)行第二次循環(huán).s='QTHRG',if語句的控制條件strcmp(t,s)<0成立,執(zhí)行下列的語句,將字符數(shù)組s所指字符串的內(nèi)容復(fù)制到字符數(shù)組t所指的存儲(chǔ)空間中,然后輸出字符數(shù)組t。

41.D

42.D解析:算法的復(fù)雜度主要包括算法的時(shí)間復(fù)雜度和算法的空間復(fù)雜度。所謂算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量;算法的空間復(fù)雜度一般是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。

43.A解析:在C中,參與%運(yùn)算的兩個(gè)參數(shù)都必須為整形,在大多數(shù)C編譯器下(包括TurboC)都采用了“向0靠近”的原則,即當(dāng)兩個(gè)運(yùn)算量有一個(gè)為負(fù)數(shù)時(shí),余數(shù)的符號(hào)由被除數(shù)的符號(hào)決定。故本題答案為A。

44.C解析:程序中標(biāo)有/$$$/的語句y+=i在for循環(huán)中,由于該語句前面的條件語句使循環(huán)變量i在對(duì)2求余為0時(shí)就結(jié)束本次循環(huán),直接跳過標(biāo)有/$$$/的語句,因此該語句執(zhí)行了10次。

45.B解析:本題考查while語句的使用。本題考查邏輯非運(yùn)算符和不等于運(yùn)算符的區(qū)別,邏輯非運(yùn)算符'!'的優(yōu)先級(jí)大于不等于運(yùn)算符'!='的優(yōu)先級(jí)。

46.C解析:本題主要考查按位或運(yùn)算,x=061(二進(jìn)制為00110001),y=016(二進(jìn)制為00001110),進(jìn)行或運(yùn)算后結(jié)果為00111111。

47.AA。【解析】C語言是函數(shù)式的語言。它的基本組成單位是函數(shù),在C語言中任何程序都是由一個(gè)或者多個(gè)函數(shù)組成的。

48.D

49.C解析:數(shù)據(jù)庫系統(tǒng)具有以下4個(gè)特點(diǎn):數(shù)據(jù)的集成性、數(shù)據(jù)的高共享性與低冗余性、數(shù)據(jù)的獨(dú)立性、數(shù)據(jù)統(tǒng)一管理與控制。

50.D解析:本題考核的知識(shí)點(diǎn)是在自加運(yùn)算符的運(yùn)算對(duì)象。自加運(yùn)算對(duì)象可以是整型變量也可以是實(shí)型變量,但不能是表達(dá)式和常量。本題中,#defined2定義了d為常數(shù)2,不能在對(duì)d進(jìn)行自加運(yùn)算.故選項(xiàng)D是個(gè)不正確的語句,所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。

51.D解析:C語言中的“或”關(guān)系用“||”表示,其他相關(guān)邏輯運(yùn)算符“與”用“&&”表示;運(yùn)算符“非”用“!”來表示。

52.D解析:一維數(shù)組的定義方式為:

類型說明符數(shù)組名[常量表達(dá)式];

選項(xiàng)A符合此定義形式,正確;C語言中多維數(shù)組賦初值時(shí)可以部分賦值,也可以不指定除第一維以外的其他維的大小,故選項(xiàng)C正確;另外,如果對(duì)全部數(shù)組元素都賦初值,則定義數(shù)組時(shí)對(duì)第一維的長度可以不指定,但第二維的長度不能省,所以選項(xiàng)B正確,而選項(xiàng)D是錯(cuò)誤的。

53.C解析:若在定義二維數(shù)組的同時(shí)對(duì)數(shù)組進(jìn)行初始化,可以不指定一維長度.但二維長度不能省略,因此選項(xiàng)C是錯(cuò)誤的。如果數(shù)據(jù)不足,系統(tǒng)將自動(dòng)給后面的元素自動(dòng)補(bǔ)初值0。

54.C解析:A、D選項(xiàng)是關(guān)系運(yùn)算表達(dá)式,在C語言中,只要關(guān)系運(yùn)算符兩邊是合法的表達(dá)式就可以了。C選項(xiàng)中,%只能對(duì)整型進(jìn)行運(yùn)算,其中對(duì)f進(jìn)行了強(qiáng)制類型轉(zhuǎn)換,但是轉(zhuǎn)換的表達(dá)式錯(cuò)了,應(yīng)為:(int)(f)。

55.D解析:選項(xiàng)A)是一個(gè)合法的賦值表達(dá)式,但結(jié)尾沒加分號(hào),所以它不是一個(gè)賦值語句;選項(xiàng)B)是一個(gè)逗號(hào)表達(dá)式,也因?yàn)榻Y(jié)尾沒有加分號(hào)而不是合法的賦值語句,選項(xiàng)C)是一個(gè)算術(shù)表達(dá)式,雖然有分號(hào),但這個(gè)表達(dá)式?jīng)]有賦值操作,因此,也不是一條賦值語句。

56.A解析:本題考查文件使用方式標(biāo)識(shí)符,以“a+”方式打開一個(gè)已存在的文件,則表示保留文件中原有的數(shù)據(jù),文件的位置指針在文件末尾,此時(shí),可以進(jìn)行追加或讀操作。

57.D解析:int(*ptr)[3]是一個(gè)數(shù)組指針,指針指向一個(gè)有3個(gè)int型變量的數(shù)組。

58.A解析:本題首先定義了一個(gè)數(shù)組并附初值,然后通過兩個(gè)for循環(huán)計(jì)算3、4、5、6的累加值,并用s保存。

59.A解析:在函數(shù)體內(nèi)定義一字符型指針并指向形參,然后遍歷其中各字符直到NULL,最后返回字符串首尾地址的差值,即字符串的長度。

60.D

61.D本題for循環(huán)中,當(dāng)i=0時(shí),判斷條件i&printf("%d\n",n[k]),此時(shí)i的值是0,輸出n[k]的值也為0,0&0結(jié)果還是0,條件不成立,退出循環(huán)。所以最后輸出結(jié)果為0。

62.B本題考查數(shù)據(jù)庫設(shè)計(jì)不同階段的任務(wù)。

數(shù)據(jù)庫設(shè)計(jì)過程可分為需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)、物理設(shè)計(jì)四個(gè)階段。其中用E-R圖來描述信息結(jié)構(gòu),但不涉及信息在計(jì)算機(jī)中的表示是概念設(shè)計(jì)階段。

63.A\nA?!窘馕觥慷址ú檎抑贿m用于順序存儲(chǔ)的有序線性表,對(duì)于順序存儲(chǔ)的非有序線性表和線性鏈表,都只能采用順序查找。

\n

64.A本題考查的是通過指針引用二維數(shù)組元素。通過一維數(shù)組名或指向一維數(shù)組元素的指針來引用數(shù)組元素有兩種寫法:a[i]和*(a+i),它們是等價(jià)的。這是一種運(yùn)算符之間的等價(jià)轉(zhuǎn)換,就好像a一(b—c)等價(jià)于a-b+c一樣。知道了這種轉(zhuǎn)換,我們可以將之?dāng)U展到二維數(shù)組甚至任意維數(shù)組上來。因?yàn)榭谶\(yùn)算符的結(jié)合性是從左至右的,所以w[i珩]等價(jià)于(w[i][j],此時(shí)可以先將任意一個(gè)口運(yùn)算符轉(zhuǎn)換為指針形式為(·(w+i))[j]或*(w[i]+j),或者同時(shí)轉(zhuǎn)換為*(*(W+i)+j)。上述幾種形式都完全等價(jià)于w[il[j]。

65.DC語言是一種高級(jí)語言,用C語言編制成的程序成為源程序,經(jīng)編譯后產(chǎn)生目標(biāo)程序,后綴名為OBJ,C語言中的函數(shù)份為兩大類:庫函數(shù)和用戶自定義函數(shù),他們是可以進(jìn)行單獨(dú)編譯的。

66.D在for(i=0;i<12;i++)e[s[i]]++中,數(shù)組元素s[i]的值作為數(shù)組c的下標(biāo),當(dāng)退出循環(huán)時(shí),數(shù)組C的4個(gè)元素的值分別為l、1、1、1。所以選項(xiàng)D)正確。

67.D

68.D在結(jié)構(gòu)化程序設(shè)計(jì)過程中,我們可以根據(jù)下面的原則進(jìn)行:

(1)使用語言中的順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)等有限的基本控制結(jié)構(gòu)表示程序邏輯。

(2)選用的控制結(jié)構(gòu)只準(zhǔn)許有一個(gè)入口和一個(gè)出口。

(3)復(fù)雜結(jié)構(gòu)應(yīng)該用基本控制結(jié)構(gòu)進(jìn)行組合嵌套來實(shí)現(xiàn)。

(4)語言中沒有的控制結(jié)構(gòu)可以用一段等價(jià)的程序段來模擬,但是要求程序段在整個(gè)系統(tǒng)中前后一致。

(5)嚴(yán)格限制GOTO語句。

(6)在編寫程序時(shí),強(qiáng)調(diào)使用幾種基本的控制結(jié)構(gòu),通過組合嵌套,形成程序的控制結(jié)構(gòu)。

(7)在程序設(shè)計(jì)過程中,盡量采用自頂向下和逐步細(xì)化的原則,由粗到細(xì),一步步展開。把一個(gè)模塊的功能逐步分解,細(xì)化為一系列具體的步驟,進(jìn)而翻譯成一系列用某種程序設(shè)計(jì)語言寫成的源程序。

總之,在結(jié)構(gòu)化程序設(shè)計(jì)的過程中,要將清晰放在第一位。因此,本題中的答案D是不正確的。

69.Awhile循環(huán)的執(zhí)行過程如下:①計(jì)算while后面圓括號(hào)中表達(dá)式的值。當(dāng)值為非0時(shí),執(zhí)行步驟②。當(dāng)值為0時(shí),執(zhí)行步驟④。②執(zhí)行循環(huán)體一次。③轉(zhuǎn)去執(zhí)行步驟①④退出循環(huán)。在選項(xiàng)A中,表達(dá)式(ch=get-char())!="N"表示輸入的字符不等于N,如果這個(gè)條件表達(dá)式成立,則執(zhí)行循環(huán)體,打印輸出輸入的字符。如果這個(gè)條件表達(dá)式不成立,即輸入的字符等于N,則退出循環(huán)。所以選項(xiàng)A為正確答案。

70.A

71.Ac語言中標(biāo)識(shí)符由字母、下劃線或數(shù)字組成,且開頭必須是字母或下劃線。另外,關(guān)鍵字不能作為標(biāo)識(shí)符。B)選項(xiàng)中以數(shù)字8開頭,所以錯(cuò)誤。c)與D)中用的是關(guān)鍵字void與unsigned,因此錯(cuò)誤。故本題答案為A)。

72.A帶參數(shù)的宏定義命令行形式如下:#de-fine宏名(形參表)替換文本。首先進(jìn)行M的宏替換,之后再進(jìn)行N的宏替換.替換后的表達(dá)式為(a)*(b)/(c)。

73.A解析:在本題中k=n++,為后綴運(yùn)算。根據(jù)其運(yùn)算規(guī)則,首先n先加一,但n++表達(dá)式的值依然n原來的值,即k的值沒有改變。選項(xiàng)A中先給k賦值為n,然后n再加1,k值沒有變化,所以這個(gè)表達(dá)式和本題中表達(dá)式等價(jià):選項(xiàng)B中先n加1,然后將n加1后的值賦給k,k變化了比原來的值大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=k+(n+1),k的值發(fā)生了變化,所以這個(gè)表達(dá)式和本題中的表達(dá)式不等價(jià)。所以4個(gè)選項(xiàng)中A正確。

74.Cstrcpy:字符串拷貝函數(shù);strlen:求字符串長度函數(shù)(注意:不包含字符串結(jié)束標(biāo)識(shí)符‘、0’);strcat:字符串連接函數(shù)。執(zhí)行完語句strcat(P,r);后,P數(shù)組中存儲(chǔ)的元素為a,b,c,d,a,b,C,d,8;執(zhí)行語句strcpy(P+strlen(q),q);得到的結(jié)果是將q所指向的字符串拷貝至P+strlen(q)開始的存儲(chǔ)位置,因?yàn)閟trlen的值為3,即從P+3開始存儲(chǔ)q中的元素。所以執(zhí)行完strcpy(P+str|en(q),q)語句后,字符數(shù)組P[20]的存儲(chǔ)元素為a,b,c,a,b,o;所以strlen(P)的結(jié)果為6。因此C選項(xiàng)正確。

75.D

76.D選項(xiàng)A)不符合c語言的語法要求;選項(xiàng)

B)中沒有指定數(shù)組的大??;選項(xiàng)c)中數(shù)組大小不能用變量來指定。

77.A

78.A用typedef沒有增加新類型,所以選擇A)。

79.D

80.D

81.82.1voidfun(intm,intk,intxx[])2{3inti,j,n;4for(i=m+1,n=0;n<k;i++)p*<>找大于m的素?cái)?shù),循環(huán)k次,即找出緊靠m的k個(gè)素?cái)?shù)*/5{for(j=2;j<i;j++)p*#]斷一<>個(gè)M否為素?cái)?shù),如果不是,跳出此循環(huán),判斷下一個(gè)數(shù)*/6if(i%j==0)break;7if(j>=i)/*如果是素?cái)?shù),存入數(shù)組XX中*/8xx[n++]=i;9}10}本題主要考查素?cái)?shù)的判定方法。如果一個(gè)數(shù)不能被除了1和其自身以外的數(shù)整除,則這個(gè)數(shù)為素?cái)?shù)。本程序使用循環(huán)語句控制需要判斷的數(shù),在循環(huán)體中判斷該數(shù)是否為素?cái)?shù),若是則存入數(shù)組XX中。當(dāng)數(shù)組XX的素?cái)?shù)個(gè)數(shù)為k個(gè)時(shí),退出循環(huán)。</i;j++)p*#]斷一<></k;i++)p*<>2021-2022年河南省許昌市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.若有以下程序

則程序的輸出結(jié)果是

A.3B.7C.6D.10

2.下列數(shù)據(jù)結(jié)構(gòu)中,能夠按照“先進(jìn)后出”原則存取數(shù)據(jù)的是()。

A.循環(huán)隊(duì)列B.棧C.隊(duì)列D.二叉樹

3.

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

A.54321

B.12345

C.12345

D.543210main(){intw=5;fun(w);printf("\n");}fun(intk){if(k>0)fun(k-1);printf("%d"",k);}

5.有以下程序:#include<stdio.h>main(){intx=0x9;printf(“%c\n”,‘A’+x);}程序運(yùn)行后的輸出結(jié)果是()。

A.IB.JC.KD.H

6.設(shè)”inta=15,b=26;”,則”printf(“%d,%d”,a,b);”的輸出結(jié)果是()。

A.15B.26,15C.15,26D.26

7.下列定義數(shù)組的語句中錯(cuò)誤的是()。

A.intnum[][3]={{1,2},3,4,5,6};

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

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

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

8.設(shè)無向圖的頂點(diǎn)數(shù)為n,則該圖最多有()條邊。

A.n-1B.n(n-1)/2C.n(n+1)/2D.0

9.當(dāng)用戶要求輸入的字符串中含有空格時(shí),應(yīng)使用的輸入函數(shù)是()。

A.scanfB.getcharC.getsD.getc

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

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

11.

12.有以下程序#includevoidWriteStr(char*fn,char*str){FILE*fp;fp=fopen(fn,"w");fputs(str,fp);fclose(fp);}main(){WriteStr("t1.dat","start");WriteStr("t1.dat","end");}程序運(yùn)行后,文件t1.dat中的內(nèi)容是______。

A.startB.endC.startendD.endrt

13.設(shè)有序順序表中有n個(gè)數(shù)據(jù)元素,則利用二分查找法查找數(shù)據(jù)元素X的最多比較次數(shù)不超過()。A.log2+1

B.log2(n-1)

C.log2n

D.log2(n+1)

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

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

15.以下敘述中,不正確的是()。

A.使用staticfloata定義的外部變量存放在內(nèi)存中的靜態(tài)存儲(chǔ)區(qū)

B.使用floatb定義的外部變量存放在內(nèi)存中的動(dòng)態(tài)存儲(chǔ)區(qū)

C.使用staticfloatc定義的內(nèi)部變量存放在內(nèi)存中的靜態(tài)存儲(chǔ)區(qū)

D.使用floatd定義的內(nèi)部變量存放在內(nèi)存中的動(dòng)態(tài)存儲(chǔ)區(qū)

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

longfun(intn)

{longs;

if(n==1||n==2)s=2;

elses=n-fun(n-1);

returns;}

main()

{printf("%ld\n",fun(3));}

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

17.在下列定義語句中,編譯時(shí)會(huì)出現(xiàn)編譯錯(cuò)誤的是()。

A.chara=‘\x2d’;B.chara=‘\n’;C.chara=‘a(chǎn)’;D.chara=“aa”;

18.已知二叉樹后序遍歷序列是dabeC,中序遍歷序列是debaC,它的前序遍歷序列是()。

A.aChedB.deCabC.deabeD.Cedba

19.下列程序的輸出結(jié)果是()structabc{inta,b,c;};main(){structabcs[2]={{1,2,3},{4,5,6}};intt;t=s[0].a+s[1].b;printf("%d\n",t);}

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

20.每次從無序表中取出一個(gè)元素,把它插入到有序表中的適當(dāng)位置,此種排序方法叫做()排序。

A.插入B.堆C.快速D.歸并排序

二、2.填空題(20題)21.下列程序的輸出結(jié)果是______.

#include<stdio.h>

fun()

{staticinta=O;

a+=3;printf("%d",a);

}

main()

{intcc;

for(cc=1;cc<5;cc++)fun();

printf("\n");

}

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

23.在樹形結(jié)構(gòu)中,樹根結(jié)點(diǎn)沒有______。

24.以下程序的功能是:求出數(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([11];i<10;i++)

a[i-1]=x[i]+[12];.

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

printf("");

}

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

26.軟件測(cè)試中路徑覆蓋測(cè)試是整個(gè)測(cè)試的基礎(chǔ),它是對(duì)軟件【】進(jìn)行測(cè)試。

27.函數(shù)count(head)統(tǒng)計(jì)鏈表的結(jié)點(diǎn)個(gè)數(shù),head為表頭指針,閱讀程序,要求將整個(gè)if語句改成while循環(huán)控制結(jié)構(gòu),其形式為【】。

#include<stdio.h>

intcount(NODE*head)

{intn=0;

if(head!=NULL)

do

{n++;

head=head->next;

}while(head!=NULL);

returnn;}

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

word_num(str)

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

if(【】='')word=0;

【】;

}

return(num);

}

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

#definePOW(r)(r)*?

main()

{intx=3,y=2,t;

t=POW(x+y);

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

}

30.設(shè)i,j,k均為int型變量,則執(zhí)行完下面的for語句后,k的值為【】。

for(i=0,j=10;i<=j;i++,j--)k=i+j;

31.閱讀下面程序,則執(zhí)行后的輸出結(jié)果是【】。

#include"stdio.h"

main()

{intx,y,z;

x=1;y=2;z=3;

if(x>y)if(x>z)printf("%d",x);

elseprintf("%d",y);

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

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

#include<stdio.h>

main()

{inta=10,b=3;

printf("%d,",a%B);

printf("%d,",(a-b,a+B));

printf("%dLn",a-b?a-b:a+B);

}

33.以下函數(shù)把b字符串連接到a字符串的后面,并返回a中新字符串的長度。請(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);

}

34.下列程序的輸出結(jié)果是16.00,請(qǐng)?zhí)羁眨?/p>

main()

{

inta=9,b=2;

floatx=【】,y=1.1,z;

z=a/2+b*x/y+1/2;

printf("%5.2f\n",z);

}

35.以下函數(shù)的功能是求x的y次方,請(qǐng)?zhí)羁铡?/p>

doublefun(doublex,inty)

{inti;

doublez;

for(i=1,z=x;i<y;i++)z=z*【】;

returnz;

}

36.軟件維護(hù)活動(dòng)包括以下幾類:改正性維護(hù)、適應(yīng)性維護(hù)、【】維護(hù)和預(yù)防性維護(hù)。

37.匯編程序和編譯程序翻譯的目標(biāo)程序需經(jīng)【】連接成可執(zhí)行的程序。

38.下列程序的功能是把從終端讀入的文本(用@作為文本結(jié)束標(biāo)志)輸出到一個(gè)名為bi.dat的新文件中。請(qǐng)?zhí)羁铡?/p>

#include"stdio.h"

FILE*fp;

{charch;

if((fp=fopen("bi.dat","w"))==NULL)exit(0);

while(______)fputc(ch,fp);

______;

}

39.測(cè)試的目的是暴露錯(cuò)誤,評(píng)價(jià)程序的可靠性;而______的目的是發(fā)現(xiàn)錯(cuò)誤的位置并改正錯(cuò)誤。

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

#include<stdio.h>

#include<string.h>

main()

{inti;

chars[10],t[10];

gets(t);

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

{gets(s);

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

}

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

}

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

三、1.選擇題(20題)41.下列描述中,正確的一條是______。

A.關(guān)系表達(dá)式的值是一個(gè)邏輯值,即“真”或“假”,可以賦給一個(gè)邏輯變量

B.在C語言中,判斷一個(gè)量是否為:真”時(shí),以0代表“假”,以1代表“真”.

C.設(shè)a=3、b=4、c=5,則表達(dá)式!(x=a)&&(y=b)&&0的值為0

D.一個(gè)數(shù)組的各個(gè)數(shù)組元素可屬于不同的數(shù)據(jù)類型

42.算法的空間復(fù)雜度是指()。

A.算法程序的長度B.算法程序中的指令條數(shù)C.算法程序所占的存儲(chǔ)空間D.執(zhí)行算法需要的內(nèi)存空間

43.運(yùn)行下面的程序,其輸出結(jié)果為______。main(){pintf("%d,%d",5%-3,-5%3);}

A.2,-2B.-2,2C.-2,-2D.2,2

44.標(biāo)有/$$$/的語句的執(zhí)行次數(shù)是______。inty,i;for(i=0;i<20;i++){if(i%2==0)continue;y+=i;/$$$/;}

A.20B.19C.10D.9

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

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

46.設(shè)x=061,y=016,則z=x|y的值是()。

A.1111B.1.11111e+007C.111111D.1.1e+007

47.C語言的基本單位是()。

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

48.以下敘述中,正確的是______。

A.do…while語句構(gòu)成的循環(huán)不能用其他語句構(gòu)成的循環(huán)來代替

B.do…while語句構(gòu)成的循環(huán)只能用break語句退出

C.用do…while語句構(gòu)成的循環(huán),在while后的表達(dá)式為非零時(shí)結(jié)束循環(huán)

D.用do…while語句構(gòu)成的循環(huán),在while后的表達(dá)式為零時(shí)結(jié)束循環(huán)

49.下列4項(xiàng)說法中,不正確的是______。

A.數(shù)據(jù)庫減少了數(shù)據(jù)冗余B.數(shù)據(jù)庫中的數(shù)據(jù)可以共享C.數(shù)據(jù)庫避免了一切數(shù)據(jù)的重復(fù)D.數(shù)據(jù)庫具有較高的數(shù)據(jù)獨(dú)立性

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

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

51.能正確表示邏輯關(guān)系""a≥10或a≤0""的C語言表達(dá)式是______。

A.a>=100ora<=0

B.a>=0|a<=10

C.a>10&&a<=0

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

52.以下數(shù)組定義中不正確的是_______。

A.inta[2][3];

B.intb[][3]={0,1,2};

C.intc[100][100={0};

D.intd[3][]={{1,2},{1,2,3},{1,2,3,4}};

53.以下錯(cuò)誤的定義語句是()。

A.intx[][3]={{0},{1},{1,2,3}};

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

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

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

54.設(shè)有定義:intk=1,m=2;floatf=7;則以下選項(xiàng)中錯(cuò)誤的表達(dá)式是()。

A.k=k>=kB.-k++C.k%int(f)D.k>=f>=m

55.下列選項(xiàng)中合法的賦值語句是()。

A.a=b=34B.a=34,b=34C.i-1;D.m=(int)(x+y);

56.若以“a+”方式打開一個(gè)已存在的文件,則下列敘述正確的是()。

A.文件打開時(shí),原有文件內(nèi)容不被刪除,位置指針移到文件末尾,可以進(jìn)行添加或讀操作

B.文件打開時(shí),原有文件內(nèi)容不被刪除,只能進(jìn)行讀操作

C.文件打開時(shí),原有文件內(nèi)容被刪除,只能進(jìn)行寫操作

D.以上三種說法都不正確

57.下列說法不正確的足()。

A.int*ptr;//指針指向整形數(shù)據(jù)

B.char*ptr;//指針的類型是字符型指針

C.int**ptr;//指針的類型是雙重指針

D.int(*ptr)[3];//是一一個(gè)指針數(shù)組,數(shù)組共有三個(gè)元素,而三個(gè)元素是int型指針

58.以下程序的輸出結(jié)果是______。main(){inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;for(i=1;i<3;i++)for(j=0;j<=i;j++)s+=a[i][j];printf("%d\n",s);}

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

59.下述函數(shù)功能是______。intfun(char*x){char*y=x;while(*y++);returny-x-1;}

A.求字符串的長度B.求字符串存放的位置C.比較兩個(gè)字符串的大小D.將字符串x連接到字符串y后面

60.設(shè)有以下程序:structst{intn;structst*next;};staticstructsta[3]={5,&a[1],7,&a[2],9,'\0'},*p;p=&a[0];下面選項(xiàng)中,表達(dá)式值為6的是______。

A.p++->nB.p->n++C.(*p).n++D.++p->n

四、選擇題(20題)61.有如下程序:main(){intn[5]={0,0,0},i,k=2;for(i=0;i&printf("%d\n",n[k]););}該程序的輸出結(jié)果是()。A.不確定的值B.2C.1D.0

62.在數(shù)據(jù)庫設(shè)計(jì)中,用E-R圖來描述信息結(jié)構(gòu),但不涉及信息在計(jì)算機(jī)中的表示,它是數(shù)據(jù)庫設(shè)計(jì)的()階段。

A.需求分析B.概念設(shè)計(jì)C.邏輯設(shè)計(jì)D.物理設(shè)計(jì)

63.下列數(shù)據(jù)結(jié)構(gòu)中,能用二分法進(jìn)行查找的是()。

A.順序存儲(chǔ)的有序線性表B.結(jié)性鏈表C.二叉鏈表D.有序線性鏈表

64.若有定義:則以下不能正確表示該數(shù)組元素的表達(dá)式是()。

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

A)C語言是高級(jí)語言

B)C語言中的每條可執(zhí)行語句最終都將被轉(zhuǎn)換成二進(jìn)制的機(jī)器指令

C)C語言產(chǎn)生的目標(biāo)程序后綴名為OBJ

D)C語言中的函數(shù)不可以單獨(dú)進(jìn)行編譯

66.有以下程序:

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

A.1234B.5678C.9101112D.1111

67.

68.下列關(guān)于結(jié)構(gòu)化設(shè)計(jì)原則的描述,錯(cuò)誤的是

A.在塊和進(jìn)程的非正常出口處往往需要調(diào)用GOTO語句,使用GOTO語句使程序執(zhí)行效率提高,但是濫用GOTO語句確實(shí)有害,應(yīng)該避免使用GOTO語句

B.程序設(shè)計(jì)時(shí)應(yīng)該自頂向下,逐步求精

C.程序設(shè)計(jì)時(shí),應(yīng)該將復(fù)雜問題進(jìn)行模塊化,就是將程序設(shè)計(jì)的總目標(biāo)分解為若干個(gè)分目標(biāo),再進(jìn)一步分解為具體的小目標(biāo)

D.在進(jìn)行程序設(shè)計(jì)時(shí),應(yīng)該盡量在一行寫一條語句,盡量做到效率第一,清晰第二

69.要求通過while循環(huán)不斷讀入字符,當(dāng)讀人字母N時(shí)結(jié)束循環(huán),若變量已正確定義,下列正確的程序段是()。A.B.C.D.A.A.AB.BC.CD.D

70.

71.以下選項(xiàng)中,能用作用戶標(biāo)識(shí)符的是()。A._0_B.8—8C.voidD.unsigned

72.閱讀下列程序段,程序的輸出結(jié)果為()。

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

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

74.有以下程序:

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

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

75.

76.下列選項(xiàng)中,能正確定義數(shù)組的語句是()。

A.

B.

C.

D.

77.

78.以下關(guān)于typedef的敘述錯(cuò)誤的是()。A.用tyFedef可以增加新類型

B.typedef只是將已存在的類型用一個(gè)新的名字來代表

C.用typedef可以為各種類型說明一個(gè)新名,但不能用來為變量說明一個(gè)新名

D.用typedef為類型說明一個(gè)新名,通常可以增加程序的可讀性

79.

80.

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:求整數(shù)X的Y次方的低3位值。例如,整數(shù)6的5次方為7776,此值的低3位值為776。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,請(qǐng)編寫一個(gè)函數(shù)fun(),該函數(shù)的功能是將大于整數(shù)m且緊靠m的k個(gè)素?cái)?shù)存入所指的數(shù)組中。例如,若輸入17、5,則應(yīng)輸出19、23、29、31、37。注意:部分源程序在文件prog1.c中。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫的若干語句。試題程序:

參考答案

1.D第—個(gè)if語句a!=1條件為假,所以執(zhí)行dse后的語句r=1。第二個(gè)if語句b==2條件成立,執(zhí)行r+=2,r的值變?yōu)?,第三個(gè)if語句c!=3條件為假,所以不做任何操作。執(zhí)行下面的r+=3操作,r的值變?yōu)?。判斷第四個(gè)訌條件,d==4條件成立,執(zhí)行r+=4操作,結(jié)果為10。

2.BB?!窘馕觥吭跅V?,允許插入與刪除的一端稱為棧頂,而不允許插入與刪除的另一端稱為棧底。棧頂元素總是最后被插入的元素,從而也是最先能被刪除的元素;棧底元素總是最先被插入的元素,從而也是最后才能被刪除的元素。即棧是按照“先進(jìn)后出”或“后進(jìn)先出”的原則組織數(shù)據(jù)的。

3.D

4.B

5.B“printf(“%C\\n”,‘A’+X),x=0X9;”中0x9是十六進(jìn)制數(shù),轉(zhuǎn)為十進(jìn)制數(shù)x=9?!皃rintf(“%C\\n”,‘A’+9);”,輸出格式要求是“%c”,因此將字符‘A’按字母順序向后偏移9個(gè)位置,可得結(jié)果為“J”。故本題答案為B選項(xiàng)。

6.C

7.BB選項(xiàng)中定義的數(shù)組為2行4列,而賦值時(shí)卻賦成了3行,所以錯(cuò)誤。故本題答案為B選項(xiàng)。

8.B

9.C解析:C語言提供了許多輸入函數(shù),其中有:getchar(輸入字符)、scanf(格式輸入)和gets\u3000(輸入字符串)等。題目要求輸入的是字符串,所以可以排除getchar,而且要求輸入的字符串中包含空格,而scanf函數(shù)默認(rèn)將輸入的空格字符作為分割符,所以空格不會(huì)被輸入,故可排除scanf。getc的作用是從文件中輸入一個(gè)字符,故也不可取。gets函數(shù)可以輸入一整行作為一個(gè)字符串,其中也包括空格字符,故應(yīng)該選擇C。

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

11.C

12.B

13.A

14.D題干中,函數(shù)fun的第2個(gè)參數(shù)通過指針作為函數(shù)返回值,它的功能是通過遞歸,求得fun(n)的值為fun(n-1)+fun(n-2)。由于當(dāng)n取值為1和2時(shí),值為1。所以可知整個(gè)數(shù)列如下:1,1,2,3,5,8,…,即某一項(xiàng)是前兩項(xiàng)之和。所以當(dāng)n取值為6時(shí),fun(6,*s)返回s的值為3+5=8。本題答案為D選項(xiàng)。

15.B

16.A解析:該題考查的是遞歸函數(shù)的調(diào)用,題中讀fun函數(shù)進(jìn)行了遞歸調(diào)用,第1次調(diào)用:fun(3)n=3s=3-fun(2);第二次調(diào)用時(shí):fun(2)n=2s=2返回第一次調(diào)用后,s=3-2=1。

17.DD選項(xiàng)中將字符串常量“aa”賦給字符變量a是錯(cuò)誤的。故本題答案為D選項(xiàng)。

18.D二叉樹的遍歷有3種:前序、中序和后序。①前序遍歷訪問根結(jié)點(diǎn),然后按左右順序遍歷子結(jié)點(diǎn);②中序首先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹;③后序遍歷首先遍歷左子樹,然后遍歷右子樹,最后訪問根結(jié)點(diǎn)。本題根據(jù)后序和中序遍歷的結(jié)果可以得出二叉樹的結(jié)構(gòu),然后再對(duì)其進(jìn)行前序遍歷,正確答案選項(xiàng)為D。

19.D

20.A

21.3691236912解析:本題考查最基本的for循環(huán):for(cc=1;cc<5;cc++)規(guī)定循環(huán)次數(shù)為4次,每次a+=3即每次a的值增3,但因?yàn)閒un函數(shù)中變量a為static類型,所以每次調(diào)用完子函數(shù)之后,變量a所做的改變都要保存。

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

23.前件前件

24.對(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]。\r\n\r\n

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

26.結(jié)構(gòu)結(jié)構(gòu)解析:路徑測(cè)試是白盒測(cè)試方法中的—種,它要求對(duì)程序中的每條路徑最少檢查一次,目的是對(duì)軟件的結(jié)構(gòu)進(jìn)行測(cè)試。

27.while(p!=NULL){n++;head=head→next;}while(p!=NULL){n++;head=head→next;}解析:do…while循環(huán)轉(zhuǎn)化為while循環(huán),循環(huán)體執(zhí)行的內(nèi)容應(yīng)該是一致的,不同的是do…while結(jié)構(gòu)是先執(zhí)行一次循環(huán)體,然后再判斷循環(huán)條件是否滿足,而while循環(huán)則是先判斷循環(huán)條件是否滿足,滿足則執(zhí)行循環(huán)體。所以do…while循環(huán)結(jié)構(gòu)若想轉(zhuǎn)換為while循環(huán)結(jié)構(gòu),必須在do…while循環(huán)之前先對(duì)循環(huán)條件進(jìn)行一個(gè)判斷,即此題中的if(head!=NULL)。注意:3種循環(huán)結(jié)構(gòu)的比較。

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

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

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

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

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

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

30.1010解析:該for語句以i為0,j為10作為初始值,循環(huán)條件是i<=j,每次循環(huán)后i增1、j減1,循環(huán)體是將i與j的和賦給k,這樣變量k將保存的是最后一次賦給它的值。一次循環(huán)后i為1、j為9,二次循環(huán)后i為2、j為8,……,五次循環(huán)后i為5、j為5,第六次循環(huán),將i與j的和10賦給k后,i為6、j為4,循環(huán)結(jié)束,k值為10。

31.33解析:C語言的語法規(guī)定:else子句總是與前面最近的不帶else的if相結(jié)合。因?yàn)閤不大于y,所以執(zhí)行printf('%d\\n',z);語句。

32.11371,13,7解析:本題考查3個(gè)知識(shí)點(diǎn):①余數(shù)的計(jì)算,題中的a=10,b=3,a%b=1;②(表達(dá)式1,表達(dá)式2)形式的結(jié)果為最后—個(gè)表達(dá)式的值,題中的a=10,b=3,(a-b,a+b)=a+b=13:③條件運(yùn)算符的使用,題中的a-b?a-b:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論