2022年遼寧省錦州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)_第1頁(yè)
2022年遼寧省錦州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)_第2頁(yè)
2022年遼寧省錦州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)_第3頁(yè)
2022年遼寧省錦州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)_第4頁(yè)
2022年遼寧省錦州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2022年遼寧省錦州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.若一組記錄的排序碼為(7,9,3,5,1,2,10),則利用堆排序的方法建立的初始堆為()

A.10,7,9,3,5,1,2

B.10,9,7,5,1,2,3

C.10,9,7,5,3,2,1

D.10,9,7,3,2,1,5

2.向一個(gè)棧頂指針為HS的鏈?zhǔn)綏V胁迦胍粋€(gè)s所指的結(jié)點(diǎn)時(shí),則執(zhí)行()。

A.HS->next=s

B.S->next=HS->nextHS->next=s

C.s->next=HSHS=s

D.S->next=HSHS=HS->next

3.有以下程序: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

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

A.C程序總是從第一個(gè)函數(shù)開(kāi)始執(zhí)行

B.在C程序中,被調(diào)用的函數(shù)必須在main函數(shù)中定義

C.C程序總是從main函數(shù)開(kāi)始執(zhí)行

D.C程序中的main函數(shù)必須放在程序的開(kāi)始部分

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

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

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

A.使用三種基本結(jié)構(gòu)構(gòu)成的程序只能解決簡(jiǎn)單問(wèn)題

B.結(jié)構(gòu)化程序由順序、分支、循環(huán)三種基本結(jié)構(gòu)組成

C.C語(yǔ)言是-種結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言

D.結(jié)構(gòu)化程序設(shè)計(jì)提倡模塊化的設(shè)計(jì)方法

7.當(dāng)變量c的值不為2、4、6時(shí),值為“真”的表達(dá)式是()。

A.(c>=2&&c<=6)&&(c%2!=1)

B.(c==2)||(c==4)||(c==6)

C.(c>=2&&c<=6)&&!(c%2)

D.(c>=2&&c<=6)||(c!=3)||(c!=5)

8.已知a、b、c為整型變量,若從鍵盤(pán)輸入5<空格>6<空格>7<回車(chē)>,使a的值為5,b的值為6,c的值為7,則下列選項(xiàng)中正確的輸入語(yǔ)句是()。

A.scanf("%3d%3d%3d",a,b,C);

B.scanf("%d%d%d",a,b,C);

C.scanf("%d%d%d",&a,&b,&c);

D.scanf("%d%d%d",&a,&b,&c);

9.設(shè)有定義“struct{charmark[12];intnum1;doublenum2;}t1,t2;”,若變量均已正確賦初值,則下列語(yǔ)句中錯(cuò)誤的是()。

A.t1=t2;

B.t2.num1=t1.num1;

C.t2.mark=t1.mark;

D.t2.num2=t1.num2;

10.若已知一個(gè)棧的進(jìn)棧序列是l,2,3…n,其輸出序列是P1,P2,P3,…PN,若P1=3,則P2為()。

A.可能是2B.一定是2C.可能是1D.一定是1

11.現(xiàn)有如下程序段#include"stdio.h"main(){inta[5][6]={23,3,65,21,6,78,28;5,67,25,435,76,8,22,45,7,8,34,6,78,32,4,5,67,4,21,1};inti=0,j=5;printf("%d\n",*(&a[0][0]+2*i+j-2));}則程序的輸出結(jié)果為

A.21B.78C.23D.28

12.以下語(yǔ)句中,正確制作電子郵件鏈接的是()。

13.下列描述中不正確的是()。

A.字符型數(shù)組中可能存放字符串。

B.可以對(duì)字符型數(shù)組進(jìn)行整體輸入、輸出。

C.可以對(duì)整型數(shù)組進(jìn)行整體輸入、輸出。

D.不能在賦值語(yǔ)句中通過(guò)賦值運(yùn)算符“=”對(duì)字符型數(shù)組進(jìn)行整體賦值。

14.數(shù)據(jù)庫(kù)DB、數(shù)據(jù)庫(kù)系統(tǒng)DBS、數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS之間的關(guān)系是()。

A.DB包括DBS和DBMSB.DBMS包括DB和DBSC.DBS包括DB和DBMSD.沒(méi)有任何關(guān)系

15.該程序試圖通過(guò)指針p為變量n讀入數(shù)據(jù)并輸出,但程序有多處錯(cuò)誤,以下語(yǔ)句正確的是()#includeMain(){intn,*p=NULL;*p=&n;printf("Inputn:");scanf("%d",&p);print("outputn:");print("%d\n",p);A.intn,*p=NULL;

B.*p=&n;

C.scanf("%d",&p)

D.printf("%d\n",p);

16.有以下程序:#includeMain(){Int?x=1.y=0;if(!x)y++;elsef(x==0)if(x)y+=2;else?y+=3;printf("%d\n",y);\}程序運(yùn)行后的輸出結(jié)果是()。A.3B.2C.1D.0

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

A.fget(f0,ch);

B.foutc(ch,fo);

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

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

18.

19.以下選項(xiàng)中能用作數(shù)據(jù)常量的是()。

A.115LB.0118C.1.5e1.5D.o115

20.對(duì)于順序存儲(chǔ)的線性表,訪問(wèn)結(jié)點(diǎn)和增加、刪除結(jié)點(diǎn)的時(shí)間復(fù)雜度為()。

A.O(n)O(n)B.O(n)O(1)C.O(1)O(n)D.O(1)O(1)

二、2.填空題(20題)21.在對(duì)文件進(jìn)行操作的過(guò)程中,若要是文件位置的指針回到文件的開(kāi)頭,應(yīng)使用的函數(shù)是【】。

22.冒泡排序算法在最好的情況下的元素交換次數(shù)為【】。

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

main()

{intx,a=1,b=2,c=3,d=4;

{intx,a=1,b=2,c=3,d=4;

x=(a<B)?a:b;x=(a<C)?x:C;x=(d>x)?x:d;

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

}

24.數(shù)據(jù)字典是各類(lèi)數(shù)據(jù)描述的集合,它通常包括5個(gè)部分,即數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、______和處理過(guò)程。

25.若有以下程序

main()

{chara;

a='H'-'A'+'0';

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

}

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

26.在C語(yǔ)言中,while和do…while循環(huán)的主要區(qū)別是______的循環(huán)至少被執(zhí)行一次。

27.問(wèn)題處理方案的正確而完整的描述稱(chēng)為_(kāi)_____。

28.mystrlen函數(shù)的功能是計(jì)算str所指字符串的長(zhǎng)度,并作為函數(shù)值返回。請(qǐng)?zhí)羁铡?/p>

intmystrlen(char*str)

{inti;

for(i=0;【】!='\0';i++);

return(【】);

}

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

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

31.在宏定義#definePI3.14159中,用宏名PI代替一個(gè)______。

32.下面的語(yǔ)句要使指針p指向一個(gè)double類(lèi)型的動(dòng)態(tài)存儲(chǔ)單元,請(qǐng)?zhí)羁铡?/p>

p=【】malloc(sizeof(double));

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

wordnum(str)

charstr[];

{inti,num=0,word=0;

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

if(【】==)word=0;

elseif(word==0)

{

word=1;

【】;

}

return(num);

}

34.數(shù)據(jù)庫(kù)設(shè)計(jì)分為以下6個(gè)設(shè)計(jì)階段:需求分析階段、______、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、實(shí)施階段、運(yùn)行和維護(hù)階段。

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

#include<stdio.h>

main()

{FILE*fp;inta[10]={1,2,3,0,0},i;

fp=fopen("d2.dat","wb");

fwtite(a,sizeof(int),5,fp);

fwrite(a,sizeof(int),5,fp);

fclose(fp);

fp=fopen("d2.dat","rb");

fread(a,sizeof(int),10,fp);

fclose(fp);

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

}

36.下列程序的字符串中各單詞之間有一個(gè)空格,則程序的輸出結(jié)果是【】。

#include<stdio.h>

#include<string.h>

main()

{charstr1[]="Howdoyoudo",*p1=str1;

strcpy(str1+strlen(str1)/2,"esshe");

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

}

37.若有如下程序:

main()

{intx=4;y=3,Z=2,t;

t=x<y<z;

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

}

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

38.在一棵二叉樹(shù)中,度為0的結(jié)點(diǎn)的個(gè)數(shù)為n0,度為2的結(jié)點(diǎn)的個(gè)數(shù)為n2,則有n0=【】。

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

40.當(dāng)數(shù)據(jù)的物理結(jié)構(gòu)(存儲(chǔ)結(jié)構(gòu))改變時(shí),不影響數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),從而不致引起應(yīng)用程序的變化,這是指數(shù)據(jù)的_______。

以下程序的輸出結(jié)果是#include<stdio.h>voidprt(int*x,int*y,int*z){printf("%d,%d,%d\n",++*x,++*y,*(z++));}main(){inta=10,b=40,c=20;prt(&a,&b,&c);prr(&a,&b,&c);}

三、1.選擇題(20題)41.對(duì)長(zhǎng)度為n的線性表進(jìn)行順序查找,在最壞情況下需要比較的次數(shù)為()。

A.125B.n/2C.nD.n+1

42.下列二維數(shù)組初始化語(yǔ)句中,不正確的是()。

A.intb[][5]={2,9,6,0,8,7,4};

B.intb[3][5]={0,0,9}

C.intb[][4]={{3,9},{7,6,8},{2}};

D.intb[3)[2]={(8,4),(2,1),(5,9)};

43.已知字母A的ASCⅡ碼為十進(jìn)制數(shù)65,下面程序的輸出結(jié)果是()main(){charch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}

A.67,DB.B,CC.C,DD.不確定的值

44.有以下程序voidswap(char*x,char*y){chart;t=*x;*X=*y;*y=t;}main(){char*s1:"abc",*s2="123";swap(s1,s2);printf("%s,%s\n",s1,s2);}程序執(zhí)行后的輸出結(jié)果是

A.123,abcB.abc,123C.1bc,a23D.321,cba

45.一個(gè)良好的算法由下面的基本結(jié)構(gòu)組成,但不包括______。

A.順序結(jié)構(gòu)B.選擇結(jié)構(gòu)C.循環(huán)結(jié)構(gòu)D.跳轉(zhuǎn)結(jié)構(gòu)

46.假設(shè)a和b為int型變量,則執(zhí)行以下語(yǔ)句后,b的值為_(kāi)_____。a=1;b=10;do{b-=a;a++;}while(b--<0);

A.9B.-2C.-1D.8

47.在計(jì)算機(jī)中,算法是指()。

A.查詢方法B.加工方法C.解題方案的準(zhǔn)確而完整的描述D.排序方法

48.設(shè)有以下語(yǔ)句:typedefstructS{intg;charh;}T;則下面敘述中正確的是()。

A.可以用S定義結(jié)構(gòu)體變量B.可以用T定義結(jié)構(gòu)體變量C.S是struct類(lèi)型的變量D.T是stnictS類(lèi)型的變量

49.結(jié)構(gòu)化程序設(shè)計(jì)的一種基本方法是()

A.篩選法B.遞歸法C.歸納法D.逐步求精法

50.在C語(yǔ)言程序中,下列說(shuō)法正確的是()。

A.函數(shù)的定義和函數(shù)的調(diào)用均可以嵌套

B.函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套

C.函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套

D.函數(shù)的定義和函數(shù)的調(diào)用均不可以嵌套

51.堆排序是一種()排序。

A.插入B.選擇C.交換D.歸并

52.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,下列敘述中錯(cuò)誤的是()。

A.對(duì)象是面向?qū)ο筌浖幕灸K

B.對(duì)象不是獨(dú)立存在的實(shí)體,各個(gè)對(duì)象之間有關(guān)聯(lián),彼此依賴

C.下一層次的對(duì)象可以繼承上—層次對(duì)象的某些屬性

D.同樣的消息被不同對(duì)象接受時(shí),可導(dǎo)致完全不同的行動(dòng)

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

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

54.下面各語(yǔ)句行中,能正確進(jìn)行賦值字符串操作的語(yǔ)句是()

A.charst[4][5]={"ABCDE"};

B.chars[5]={'A','B','C','D','E'}

C.char*s;s="ABCDE";

D.char*s;scanf(”%s”,s);

55.下列選項(xiàng)中不符合良好程序設(shè)計(jì)風(fēng)格的是A.源程序要文檔化B.數(shù)據(jù)說(shuō)明的次序要規(guī)范化C.避免濫用goto語(yǔ)句D.模塊設(shè)計(jì)要保證高耦合、高內(nèi)聚

56.設(shè)有以下語(yǔ)句charx=3,y=6,z;z=x^y<<2;則z的二進(jìn)制值是

A.10100B.11011C.11100D.11000

57.結(jié)構(gòu)化程序設(shè)計(jì)的基本原則不包括A.多態(tài)性B.自頂向下C.模塊化D.逐步求精

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

A.C語(yǔ)言源程序經(jīng)編譯后生成后綴為.obj的目標(biāo)程序

B.C程序經(jīng)過(guò)編譯、連接步驟后才能形成一個(gè)真正可執(zhí)行的二進(jìn)制機(jī)器指令文件

C.用C語(yǔ)言編寫(xiě)的程序稱(chēng)為源程序,它以ASCⅡ代碼形式存放在一個(gè)文本文件中

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

59.設(shè)有以下說(shuō)明語(yǔ)句structex{intX;floaty;charz;}example;則下面的敘述中不正確的是

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

B.example是結(jié)構(gòu)體類(lèi)型名

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

D.structex是結(jié)構(gòu)體類(lèi)型名

60.判斷char型變量c1是否為大寫(xiě)字母的正確表達(dá)式是

A.'A'<=c1<='Z'

B.(c1>=A)&&(c1<=Z)

C.('A'>=c1)‖('Z'<=c1)

D.(c1>='A')&&(c1<='Z')

四、選擇題(20題)61.有三個(gè)關(guān)系R,S和T如下:

其中關(guān)系T由關(guān)系R和s通過(guò)某種操作得到,該操作為()。

A.選擇B.交C.投影D.并

62.有以下程序:

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

A.4B.34C.31D.32

63.以下結(jié)構(gòu)體類(lèi)型說(shuō)明和變量定義中正確的是()。

64.

65.

66.

67.有以下程序

main()

{chara[]={’a’,’b’,’c’,’d’,’e’,’f’,’g’,’h’,’\0’};

inti,j;

i=sizeof(a);

j=strlen(a);

printf("%d,%d\b",i,j);

}

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

A.9,9B.8,9C.1,8D.9,8

68.

69.

70.

71.若有定義語(yǔ)句:“intkl一10,k2=20;”,執(zhí)行表達(dá)式(kl=kl>k2)(k2=k2>

k1)后,kl和k2的值分別為()。

A.0和1B.0和20C.10和1D.10和20

72.有以下程序:

voidmain()

{intk=10,n=0;

for(;n<k;)

{//n++;

if(n++%3!=0)continue;

k--;}

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

}

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

A.7,7B.6,6C.3,3D.4,4

73.有以下程序

74.下列關(guān)于數(shù)據(jù)流圖的描述正確的是()。

A.數(shù)據(jù)流圖是描述數(shù)據(jù)處理過(guò)程的工具

B.數(shù)據(jù)流圖間接支持系統(tǒng)的功能建模

C.數(shù)據(jù)流圖中帶箭頭的線段表示控制流

D.數(shù)據(jù)流圖是軟件詳細(xì)設(shè)計(jì)的工具

75.

76.設(shè)有程序段:intk=12:while(k=1)k=k一1;則下列描述中正確的是()。A.while循環(huán)執(zhí)行10次B.循環(huán)是無(wú)限循環(huán)C.循環(huán)體語(yǔ)句一次也不執(zhí)行D.循環(huán)體語(yǔ)句執(zhí)行一次

77.以下選項(xiàng)中,能用作用戶標(biāo)識(shí)符的是()。

A.-0-B.8-;8C.voidD.unsigned

78.有以下函數(shù):

以下關(guān)于aaa函數(shù)功能敘述正確的是()。

A.將串s復(fù)制到串tB.比較兩個(gè)串的大小C.求字符串s的長(zhǎng)度D.求字符串s所占字節(jié)數(shù)

79.Internet使用的網(wǎng)絡(luò)協(xié)議是()。

A.3CP協(xié)議B.TCP/IP協(xié)議C.UDP協(xié)議D.IP協(xié)議

80.

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

main

{intx=1,y=3,a=0;

while(x++!=(y-=l))

{a+=1;

if(y<x)break;

}

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

}

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

五、程序改錯(cuò)題(1題)81.下列給定的程序中,proc()函數(shù)的功能是:將str所指字符串中每個(gè)單詞的最后一個(gè)字母改成大寫(xiě)(這里的“單詞”是指有空格隔開(kāi)的字符串)。

例如,若輸人:Howdoyoudo,則輸出:HoWdOyoUd0。

請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。

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

試題程序:

六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開(kāi)考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,編寫(xiě)函數(shù)fun(),其功能是根據(jù)以下公式求π的值(要求精度0.0005,即某項(xiàng)小于0.0005時(shí)停止迭代)。程序運(yùn)行后,若輸入精度0.0005,則程序應(yīng)輸出為3.140578。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。試題程序:#include<stdio.h>#include<conio.h>#include<math.h>doublefun(doubleeps){}voidmain(){ doublex; printf(“Inputeps:”); scanf(“%lf”,&x); printf(“\neps=%lf,PI=%lf\n”,x,fun(x));}

參考答案

1.B

2.C

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

4.C解析:C程序是由main函數(shù)開(kāi)始運(yùn)行,通過(guò)main函數(shù)調(diào)用其他函數(shù),所以,選項(xiàng)A)錯(cuò)誤;在C程序中,函數(shù)不能嵌套定義,即不能在一個(gè)函數(shù)中定義另一個(gè)函數(shù),選項(xiàng)B)錯(cuò);C程序總是從main函數(shù)開(kāi)始執(zhí)行,但main函數(shù)不必放在最前面,故選項(xiàng)D)錯(cuò)。

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

6.A使用順序,選擇(分支),循環(huán)三種基本結(jié)構(gòu)構(gòu)成的程序可以解決所有問(wèn)題,而不只是解決簡(jiǎn)單問(wèn)題,所以A錯(cuò)誤。

7.D邏輯或運(yùn)算中只要有一個(gè)運(yùn)算量為真,結(jié)果就為真。當(dāng)“c>=2&&c<=6”條件不成立時(shí),c的值肯定不是2、3、4、5、6,“c!=3”與“c!=5”均成立,所以D選項(xiàng)的結(jié)果一定為真。故本題答案為D選項(xiàng)。

8.C解析:通過(guò)scanf()函數(shù)從鍵盤(pán)讀入數(shù)據(jù)時(shí),接收參數(shù)的使用變量的地址值,所以選項(xiàng)A和B是錯(cuò)誤的。選項(xiàng)D要求輸入時(shí)以逗號(hào)間隔,故按題目要求的輸入方式不能正確讀取到3個(gè)數(shù),也是錯(cuò)誤的。所以正確答案是C。

9.Cmark為結(jié)構(gòu)體中的數(shù)組,不能直接賦值,所以C選項(xiàng)錯(cuò)誤。故本題答案為C選項(xiàng)。

10.A

11.A解析:通過(guò)地址來(lái)引用二維數(shù)組,若有以下定義:inta[3][4],i,j;且當(dāng)0≤i≤3,0≤j<4則可以有以下幾種方式來(lái)引用數(shù)組中的第i行,第j列的元素:\ue008a[i][j]\ue009,\ue008*(a[i]+j),\ue009*(*(a+i)+j),(*(a+i))[j],*(&a[0][0]+4*i+j)。表達(dá)式&a[0][0]+2*i+j-2相當(dāng)于是地址&a[0][0]加上多少偏移量。

12.C

13.C

14.CC。【解析】數(shù)據(jù)庫(kù)系統(tǒng)(DBS)由數(shù)據(jù)庫(kù)(DBS)、數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)、數(shù)據(jù)庫(kù)管理員、硬件平臺(tái)和軟件平臺(tái)五個(gè)部分組成,可見(jiàn)DB和DBMS都是DBS的組成部分。

15.A選項(xiàng)B)的正確寫(xiě)法應(yīng)為p=&n;選項(xiàng)C)的正確寫(xiě)法應(yīng)為scanf("%d",p);選項(xiàng)D)的正確寫(xiě)法應(yīng)為print("%d\\n",*p)。

16.D[解析]在ifelse語(yǔ)句中else,總是與離它最近的配對(duì)。本題目中x為1所以!勸0.所以執(zhí)行elsei語(yǔ)句中的內(nèi)容,判斷(x==0)是否成立,因?yàn)閯?所以條件不成立,所以else內(nèi)部的if..else語(yǔ)句不再執(zhí)行,所以y的值還是初始值0.

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

18.D

19.AA選項(xiàng)中“115L”表示長(zhǎng)整型數(shù)據(jù)。B選項(xiàng)是八進(jìn)制常量的表示方法,但是在八進(jìn)制中不能含有數(shù)字8,所以B選項(xiàng)錯(cuò)誤。C選項(xiàng)中e后面應(yīng)該是整數(shù),而不能是小數(shù)1.5,所以C選項(xiàng)錯(cuò)誤。D選項(xiàng)中八進(jìn)制常量應(yīng)該是以數(shù)字“0”開(kāi)始,而不是以字母“o”開(kāi)始。故本題答案為A選項(xiàng)。

20.C

21.rewind函數(shù)rewind函數(shù)解析:rewind函數(shù)的功能是使文件的位置指針回到文件的開(kāi)頭。

22.0

23.11解析:條件運(yùn)算表達(dá)式:“表達(dá)式1?表達(dá)式2:表達(dá)式3”,但表達(dá)式1的值為非0時(shí),此時(shí)表達(dá)式2的值就是整個(gè)條件表達(dá)式的值,反之為表示式3的值。解析易知結(jié)果為1。

24.數(shù)據(jù)存儲(chǔ)數(shù)據(jù)存儲(chǔ)

25.77解析:本題考核的知識(shí)點(diǎn)是字符類(lèi)型變量的運(yùn)算。字符型數(shù)據(jù)可作為整型參加算術(shù)運(yùn)算,其值為其對(duì)應(yīng)的ASCII碼。'H'-'A'的結(jié)果是7,加'0'后是'7'的ASCII碼,所以輸出的是字符'7'。

26.do…whiledo…while解析:考查while和do…while循環(huán)的主要區(qū)別。while循環(huán)的控制出現(xiàn)在循環(huán)體之前,只有當(dāng)while后面的表達(dá)式的值為非零時(shí),才可能執(zhí)行循環(huán)體;在do…while構(gòu)成的循環(huán)體中,總是先執(zhí)行一次循環(huán)體,然后再求表達(dá)式的值,因此無(wú)論表達(dá)式的值是否為零,循環(huán)體至少要被執(zhí)行一次。

27.算法或程序或流程圖算法或程序或流程圖解析:算法是問(wèn)題處理方案正確而完整的描述。

28.str[i]或str+iistr[i]或str+i\r\ni

29.黑箱黑箱解析:本題考查了軟件測(cè)試中的黑箱測(cè)試。黑箱測(cè)試是根據(jù)程序規(guī)格說(shuō)明所規(guī)定的功能來(lái)設(shè)計(jì)測(cè)試用例,它不考慮程序的內(nèi)部結(jié)構(gòu)和處理過(guò)程。常用的黑箱測(cè)試技術(shù)分為等價(jià)類(lèi)劃分、邊界分析、錯(cuò)誤猜測(cè)以及因果圖等。

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

31.字符串字符串解析:本題考查字符替換格式:#define標(biāo)識(shí)符字符串。

32.(double*)(double*)解析:本題考查強(qiáng)制類(lèi)型轉(zhuǎn)換。函數(shù)malloc的默認(rèn)返回是void*,若要使指針指向double類(lèi)型,必須進(jìn)行類(lèi)型轉(zhuǎn)換,類(lèi)型轉(zhuǎn)換格式為:(數(shù)據(jù)類(lèi)型*)。

33.\0'或0或NULLstr[i]num++或num=num+1或num+=1\\0'或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]代表字符串sb中的第i+1個(gè)字符:

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

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

34.概念設(shè)計(jì)階段(數(shù)據(jù)庫(kù)概念設(shè)計(jì)階段)概念設(shè)計(jì)階段(數(shù)據(jù)庫(kù)概念設(shè)計(jì)階段)

35.12300123001,2,3,0,0,1,2,3,0,0,解析:本題考查文件讀寫(xiě)函數(shù)fread和fwrite的用法。fwrite函數(shù)將數(shù)組a的前5個(gè)元素輸出到文件fp中兩次,共10個(gè)字節(jié),再調(diào)用fread函數(shù)從文件fp中讀取這10個(gè)字節(jié)的數(shù)據(jù)到數(shù)組a中,此時(shí)數(shù)組a的內(nèi)容就變?yōu)閧1,2,3,0,0,1,2,3,0,0},最后的輸出結(jié)果為'1,2,3,0,0,1,2,3,0,0,'。

36.HowdoessheHowdoesshe解析:程序中的strlen(str1)是求str1字符串的長(zhǎng)度,結(jié)果為13,然后除以2結(jié)果為6。strcpy函數(shù)是把字符串“esshe”拷貝到str1后的第6個(gè)字符后面,也就是說(shuō),拷貝后的結(jié)果是“Howdoesshe”。

37.11解析:因?yàn)閤=4,y=3,所以表達(dá)式x<y的值為假(0),又因?yàn)閦=2,所以0<z的值為真(1),故最終輸出的結(jié)果為1。

38.n2+1

39.

40.B

41.CC?!窘馕觥繉?duì)線性表進(jìn)行順序查找時(shí),從表中的第一個(gè)元素開(kāi)始,將給定的值與表中逐個(gè)元素的關(guān)鍵字進(jìn)行比較,直到兩者相符,查找到所要找的元素為止。在最壞情況下,要查找的元素是表的最后一個(gè)元素或查找失敗,這兩種情況都需要將這個(gè)元素與表中的所有元素進(jìn)行比較,因此比較次數(shù)為n。

42.D解析:選項(xiàng)D)定義的是3行2列的數(shù)組,賦值時(shí)應(yīng)該用“{}”而不是“()”來(lái)對(duì)每一行的數(shù)組元素進(jìn)行賦值。注意:二維數(shù)組元素的引用。

43.A

44.C解析:這是一個(gè)轉(zhuǎn)換程序:低字節(jié)相互轉(zhuǎn)換,高字節(jié)不變?!癮be”的ab和“123”的12相互轉(zhuǎn)化。

45.D解析:1966年,Bohra和Jacopini提出了以下三種結(jié)構(gòu),用這三咱基本結(jié)構(gòu)作為表示一個(gè)良好算法的基本單元:1、順序結(jié)構(gòu);2、選擇結(jié)構(gòu);3、循環(huán)結(jié)構(gòu)。

46.D解析:本題程序第一輪循環(huán)后b的值為9,在進(jìn)行循環(huán)條件測(cè)試時(shí),先取b的現(xiàn)值9與0比較,然后再將b減1。由于9<0不成立,因此循環(huán)結(jié)束,這時(shí)b的值已變成8,本題正確答案為D。

47.CC?!窘馕觥坑?jì)算機(jī)算法是指解題方案的準(zhǔn)確而完整的描述,它的基本特征分別是:可行性、確定性、有窮性和擁有足夠的情報(bào)。

48.B解析:本題使用typedef關(guān)鍵字將整個(gè)結(jié)構(gòu)體的定義部分stmctS{intg;charh;}聲明為別名T。此時(shí)T是一個(gè)結(jié)構(gòu)體類(lèi)型,可以直接使用T聲明該結(jié)構(gòu)體變量,而S只是一個(gè)結(jié)構(gòu)體名,必須結(jié)合struct關(guān)鍵字才能聲明變量。故本題的正確答案為B。

49.D解析:在結(jié)構(gòu)化程序設(shè)計(jì)中,通常采取自頂向下、逐步求精的方法,尤其是在詳細(xì)設(shè)計(jì)和編碼階段,其總的思想就是先全局后局部、先整體后細(xì)節(jié)、先抽象后具體、程序自頂向下、逐步細(xì)化。而篩選法、遞歸法和歸納法指的都是程序的某種具體算法。逐步求精法是結(jié)構(gòu)化程序設(shè)計(jì)中很重要的思想,一定要牢記!

50.B解析:本題考查函數(shù)調(diào)用的基本概念。因?yàn)楹瘮?shù)的結(jié)果是個(gè)未知量,而函數(shù)定義時(shí)不能使用未知量,所以函數(shù)定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套。

51.B解析:堆排序是一種選擇排序。選擇排序有直接選擇排序和堆排序兩種。

52.B解析:在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,一個(gè)對(duì)象是一個(gè)可以獨(dú)立存在的實(shí)體。各個(gè)對(duì)象之間相對(duì)獨(dú)立,相互依賴性小。所以,選項(xiàng)B錯(cuò)誤,應(yīng)為本題的正確答案。

53.A\r\n二分法又叫折半(對(duì)分)查找法,只適合于順序存儲(chǔ)的有序表(是指線性表中的元素按值非遞減排列)。二分法的基本思想是:設(shè)有序線性表的長(zhǎng)度為n,被查元素為X,則二分查找的方法如下:

將X與線性表的中間項(xiàng)進(jìn)行比較:若中間項(xiàng)的值等于x,則說(shuō)明找到,查找結(jié)束;若x小于中間項(xiàng)的值,則在線性表的前半部分(即中間項(xiàng)以前的部分)以相同的方法進(jìn)行查找;若X大于中間項(xiàng)的值,則在線性表的后半部分(即中間項(xiàng)以后的部分)以相同的方法進(jìn)行查找、這個(gè)過(guò)程-直進(jìn)行到查找成功或于表長(zhǎng)度為0,(說(shuō)明線性表中沒(méi)有這個(gè)元素為止)順序存儲(chǔ)的線性袁在計(jì)算機(jī)中-般用一個(gè)-維數(shù)組來(lái)表示,在數(shù)組中我們可以通過(guò)數(shù)組名和下標(biāo)來(lái)對(duì)數(shù)組中的任意一個(gè)元素進(jìn)行訪問(wèn),而在鏈表(不管是有序還是無(wú)序)中,要對(duì)元素進(jìn)行訪問(wèn)必須從表頭結(jié)點(diǎn)開(kāi)始,順著鏈條一個(gè)一個(gè)結(jié)點(diǎn)進(jìn)行搜索,因此選項(xiàng)A正確

54.C

55.D解析:編程風(fēng)格是在不影響性能的前提下,有效地編排和組織程序,以提高可讀性和可維護(hù)性。更直接地說(shuō),風(fēng)格就是意味著要按照規(guī)則進(jìn)行編程。這些規(guī)則包括:(1)程序文檔化。就是程序文檔包含恰當(dāng)?shù)臉?biāo)識(shí)符、適當(dāng)?shù)淖⒔夂统绦虻囊曈X(jué)組織等。(2)數(shù)據(jù)說(shuō)明。出于閱讀理解和維護(hù)的需要,最好使模塊前的說(shuō)明語(yǔ)句次序規(guī)范化。此外,為方便查找,在每個(gè)說(shuō)明語(yǔ)句的說(shuō)明符后,數(shù)據(jù)名應(yīng)按照字典順序排列。(3)功能模塊化。即把源程序代碼按照功能劃分為低耦合、高內(nèi)聚的模塊。(4)注意goto語(yǔ)句的使用。合理使用goto語(yǔ)句可以提高代碼的運(yùn)行效率,但goto語(yǔ)句的使用會(huì)破壞程序的結(jié)構(gòu)特性。因此,除非確實(shí)需要,否則最好不使用goto語(yǔ)句。因此,本題的正確答案是D。

56.B解析:本題考查兩個(gè)位運(yùn)算符。按位異或運(yùn)算符“”’是雙目運(yùn)算符,其功能是參與運(yùn)算的兩數(shù)各對(duì)應(yīng)的二進(jìn)位相異或,當(dāng)兩對(duì)應(yīng)的二進(jìn)位相異或時(shí),結(jié)果為1。左移運(yùn)算符“<<”是雙目運(yùn)算符,其功能把“<<”左邊的運(yùn)算數(shù)的各二進(jìn)位全部左移若干位,由“<<”右邊的數(shù)指定移動(dòng)的位數(shù),高位丟棄,低位補(bǔ)0,并且“<<”運(yùn)算符的優(yōu)先級(jí)于“^”。

57.A結(jié)構(gòu)化程序設(shè)計(jì)方法的主要原則可以概括為:自頂向下,逐步求精,模塊化和限制使用GOTO語(yǔ)句,其中不包括多態(tài)性。

58.D解析:C語(yǔ)言程序編譯時(shí),每條可執(zhí)行語(yǔ)句將轉(zhuǎn)換為二進(jìn)制的機(jī)器指令,非執(zhí)行語(yǔ)句如注釋語(yǔ)句等不被編譯。

59.B解析:本題中,structex是結(jié)構(gòu)體類(lèi)型名,ex-ample是結(jié)構(gòu)體變量名。

60.D

61.D\n兩個(gè)相同結(jié)構(gòu)關(guān)系的并是由屬于這兩個(gè)關(guān)系的元組組成的集合。

\n

62.C本題重點(diǎn)考察二維數(shù)組名作為實(shí)參進(jìn)行參數(shù)傳遞,在主函數(shù)中調(diào)用了fun函數(shù),實(shí)參為二維數(shù)組名a和兩個(gè)整數(shù)4.0,這樣對(duì)應(yīng)定義fun函數(shù)首部有三種形式,這里采用了第一種形式——行指針,這樣在fun函數(shù)對(duì)s[i][j]進(jìn)行操作實(shí)際上就是對(duì)主函數(shù)中的a[i][j]進(jìn)行操作,再分析fun函數(shù)的作用便可知,是求二維數(shù)組第0列中最大的那個(gè)元素。因此C選項(xiàng)正確。

63.B本題考查結(jié)構(gòu)體的相關(guān)知識(shí),選項(xiàng)A中structREC后面不能有分號(hào),C選項(xiàng)中typedefstructREC的后面也不能有分號(hào),選項(xiàng)D中REC已經(jīng)是結(jié)構(gòu)體變量,不能當(dāng)做結(jié)構(gòu)體類(lèi)型來(lái)使用。

64.C

65.D

66.A

67.D在本題中,程序首先定義一個(gè)字符數(shù)組,并對(duì)其進(jìn)行了初始化,在初始化的最后添加了一個(gè)字符串結(jié)束標(biāo)志,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論