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

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

一、單選題(20題)1.下列關(guān)于標(biāo)識(shí)符的說(shuō)法中錯(cuò)誤的是

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

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

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

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

2.

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

4.

5.

6.語(yǔ)句int(*ptr)的含義是()。

A.ptr是一個(gè)返回值為int的函數(shù)

B.ptr是指向int型數(shù)據(jù)的指針變量

C.ptr是指向函數(shù)的指針,該函數(shù)返回一個(gè)int型數(shù)據(jù)

D.ptr是一個(gè)函數(shù)名,該函數(shù)的返回值是指向int型數(shù)據(jù)的指針

7.fscanf函數(shù)的正確調(diào)用形式是()

A.fscanf(fp,格式字符串,輸出表列);

B.fscanf(格式字符串,輸出表列,fp);

C.fscanf(格式字符串,文件指針,輸出表列),

D.fscanf(文件指針,格式字符串,輸入表列);

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

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

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

A.while((ch—getchar)!=N)printf("%c",ch);

B.while(oh=getchar!=N)printf("%c",ch);

C.while(ch=getchar==N)printf("%c",ch);

D.while((ch—getchar)==N)printf("%c",ch);

10.若有定義“chars1[100]=“name”,s2[50]=“address”,s3[80]=“person”;”,要將它們連接成新串“personnameaddress”,正確的函數(shù)調(diào)用語(yǔ)句是()。

A.strcat(strcat(s1,s2),s3);

B.strcat(s3,strcat(s1,s2);

C.strcat(s3,strcat(s2,s1);

D.strcat(strcat(s2,s1),s3);

11.

12.有以下程序段intj;floaty;charname[50];scanf("%2d%f%s",&i,&y,name);當(dāng)執(zhí)行上述程序段,從鍵盤(pán)上輸入555667777abc后,y的值為()。A.55566.0B.566.0C.7777.0D.566777.0

13.有以下程序:#include<stdio.h>structstu{intnum;charname[l0];intage;};voidfun(structstu*p){printf("%s\n",p->name);}main(){structstux[3]={{01,"Zhang",20),{02,"Wang",l9},{03,"Zha0",l8}};fun(x+2);}程序運(yùn)行后的輸出結(jié)果是()。A.ZhangB.ZhaoC.WangD.19

14.數(shù)據(jù)庫(kù)是______的集合,它具有統(tǒng)一的結(jié)構(gòu)形式并存放于統(tǒng)一的存儲(chǔ)介質(zhì)內(nèi),可被各個(gè)應(yīng)用程序所共享。

A.視圖B.消息C.數(shù)據(jù)D.關(guān)系

15.若i、j已定義成mt型,則下列程序段中內(nèi)循環(huán)體的總執(zhí)行次數(shù)是()。for(i=6;i>0;i--)for(j=0;j<4;j++){…}A.20B.24C.25D.30

16.有下列程序:

intfun(intn)

{if(n==1))returnl;

else

return(n+fun(n-1)):

}

main()

{intx;

seanf("%d",&x);x=fun(x);printf("%d\n",x);

}

執(zhí)行程序時(shí),給變量x輸入l0,程序的輸出結(jié)果是()。

A.55

B.54

C.65

D.45

17.下列給字符數(shù)組初始化中,()是正確的。

A.chars2[3]="xyz";

B.chars1[]="abcd";

C.chars3[][3]={'a','x','y'};

D.chars4[2][3]={"xyz","mnp"};

18.順序查找不論在順序線性表中還是在鏈?zhǔn)骄€性表中的時(shí)間復(fù)雜度為()。

A.O(n)B.O(n^2)C.O(n^1/2)D.O(1og2n)

19.若函數(shù)中有定義語(yǔ)句:inta;,則()。

A.系統(tǒng)將自動(dòng)給a賦初值為0B.系統(tǒng)將自動(dòng)給a賦初值一lC.這時(shí)a中的值無(wú)意義D.這時(shí)a中無(wú)任何值

20.有以下程序#include<stdio.h>main{inty=9;for(;y>0;y--)if(y%3==0)printf("%d",--y);}程序的運(yùn)行結(jié)果是()。A.741B.963C.852D.875421

二、2.填空題(20題)21.下列程序的運(yùn)行結(jié)果是______。

#include<stdio.h>

main()

{inta,b,c,n;

a=2;b=0;c=1;n=1;

while(n<=3)

{c=c*a;b=b+c;++n;}

printf("b=%d",B);

}

22.設(shè)有定義:

struct{inta;floatb;charc;}abc;*p_abc=&abc;

則對(duì)結(jié)構(gòu)體成員a的引用方法可以是abc.a和p_abc【】a。

23.以下函數(shù)fun的功能是返回str所指字符串中以形參c中字符開(kāi)頭的后續(xù)字符串的首地址,例如;str所指字符串為:Hello!,c中的字符為e,則函數(shù)返回字符串:ello!的首地址。若str所指字符串為空串或不包含c中的字符,則函數(shù)返回NULL。請(qǐng)?zhí)羁铡?/p>

char*fun(char*str,charc)

{intn=0;char*p=str;

if(p!=NULL)

while(p[n]!=c&&p[n]!='\O')n++;

if(p[n]='\0')returnNULL;

return(【】);

}

24.無(wú)論對(duì)于順序存儲(chǔ),還是鏈接存儲(chǔ)的棧和隊(duì)列來(lái)說(shuō),進(jìn)行插入或刪除運(yùn)算的時(shí)間復(fù)雜性均相同,則為【】。

25.以下程序的功能是將寧符串s中的數(shù)字字符放入d數(shù)組中,最后輸出d中的字符串。例如,輸入字符串:abcl23edf4568h,執(zhí)行程序后輸出:123456。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

#include<ctype.h>

main()

{chars[80],d[80];inti,j;

gets(s);

for(i=j=0;s[i]!='\0';i++)

if(【】){d[j]=s[i];j++;}

d[j]='\0';

puts(d);

}

26.要使以下程序段輸出10個(gè)整數(shù),請(qǐng)?zhí)钊胍粋€(gè)整數(shù);

for(i=0;i<=【】;printf("%d\n",i+=2));

27.對(duì)二叉排序樹(shù)進(jìn)行查找的方法是:用待查的值與根結(jié)點(diǎn)的值相比,若比根小,則繼續(xù)在【】子樹(shù)中找。

28.若有以下程序:

main()

{inta[4][4]={{1,2,-3,-4},{0,-12,-13,14},{-21,23,0,-24},{-31,32,-33,0}};

inti,j,s=0;

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

{for(j=0;j<4;j++)

{if(a[i][j]<0)

continue;

if(a[i][j]==0)

break;

s+=a[i][j];

}

}

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

}

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

29.若輸入字符串:abcde↓,則以下while循環(huán)體將執(zhí)行【】次。

while((ch=getchar())=='e')printf("*");

30.二分法查找僅限于這樣的表:表中的數(shù)據(jù)元素必須有序,其存儲(chǔ)結(jié)構(gòu)必須是______。

31.下面程序由兩個(gè)源程序文件:t4.h和t4.c組成,程序編譯運(yùn)行的結(jié)果是:【】。

t4.h的源程序?yàn)椋?/p>

#defineN10

#dennef2(x)(x*N)

t4.c的源程序?yàn)椋?/p>

#include<stdio.h>

#defineM8

#definef(x)((x)*M)

#include"t4.h"

#main()

{inti,j;

i=f(1+1);j=f2(1+1);

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

}

32.把數(shù)學(xué)表達(dá)式改寫(xiě)成C語(yǔ)言的表達(dá)式是【】。

33.在關(guān)系數(shù)據(jù)庫(kù)中把數(shù)據(jù)表示成二維表,每一個(gè)二維表稱為【】。

34.Jackson結(jié)構(gòu)化程序設(shè)計(jì)方法是英國(guó)的M.Jackson提出的,它是一種面向______的設(shè)計(jì)方法。

35.表示“整數(shù)x的平方大于36"時(shí)的值為“真”的C語(yǔ)言邏輯表達(dá)式是【】。

36.軟件危機(jī)出現(xiàn)于60年代末,為了解決軟件危機(jī),人們提出了【】的原理來(lái)設(shè)計(jì)軟件,這就是軟件工程誕生的基礎(chǔ)。

37.下面的程序?qū)崿F(xiàn)的是指針p所指向的地址的n個(gè)數(shù)中,求出最大的和最小的數(shù)據(jù),請(qǐng)?zhí)羁铡?/p>

fun(int*p,intn)

{int*q;

intmax,min;

max=min=*p;

for(q=p;【】;q++)

if(*q>max)max=*q;

elseif(*q<min)min=*q;}

38.表示""整數(shù)x的絕對(duì)值大于5""時(shí)值為""真""的C語(yǔ)言表達(dá)式是【】。

39.下面程序的功能是將一個(gè)字符串str的內(nèi)容顛倒過(guò)來(lái),請(qǐng)?zhí)羁铡?/p>

#include<string.h>

main()

{inti,j,【】;charstr[]={"1234567"};

for(i=0,j=strlen(str)【】;i<j;i++,j--)

{k=str[i];str[i]=str[j];str[j]=k;}

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

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

三、1.選擇題(20題)41.現(xiàn)有格式化輸入語(yǔ)句,

A.intB.floatC.doubleD.不確定

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

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

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

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

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

43.設(shè)有定義:intn=0,*p=&n,**q=&p;則以下選項(xiàng)中,正確的賦值語(yǔ)句是()A.p=1;B.*q=2;C.q=p;D.*p=5;

44.以下數(shù)據(jù)結(jié)構(gòu)中屬于線性數(shù)據(jù)結(jié)構(gòu)的是

A.集合B.線性表C.二叉樹(shù)D.圖

45.下列程序執(zhí)行后輸出結(jié)果是()main(){chararr[2][4];strcpy(arr,"you");strcpy(arr,[1],"me");arr[0][3]='&';printf("%s\n",arr);}

A.you&meB.youC.meD.err

46.在下列定義中的共用體所占內(nèi)存字節(jié)數(shù)是()。union{chark[6];struct{intm;floarf;}a;doubled;}b;

A.8B.14C.18D.10

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

A.C程序中注釋部分可以出現(xiàn)在程序中任何合適的地方

B.花括號(hào)""{""和""}""只能作為函數(shù)體的定界符

C.構(gòu)成C程序的基本單位是函數(shù),所有函數(shù)名都可以由用戶命名

D.分號(hào)是C語(yǔ)句之間的分隔符,不是語(yǔ)句的—部分

48.下列寫(xiě)法正確的是()。

A.main(){inti=3,j;j=5}

B.main(){inti=3;

C.main()

D.main(){;}

49.關(guān)于if后一對(duì)圓括號(hào)中的表達(dá)式,以下敘述中正確的是()

A.只能用邏輯表達(dá)式B.只能用關(guān)系表達(dá)式C.既可用邏輯表達(dá)式也可用關(guān)系表達(dá)式D.可用任意表達(dá)式

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

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

51.下列程序的運(yùn)行結(jié)果是()。#include<stdio.h>#defineADD(x)x+xmain(){intm=1,n=2,k=3;ints=ADD(m+n)*k;printf("s=%d",s);}

A.sum=18B.sum=10C.sum=9D.sum=25

52.若一個(gè)名部變量的定義形式為staticintx;,那么,其中static的作用應(yīng)該是______。

A.將變量存儲(chǔ)在靜態(tài)存儲(chǔ)區(qū)B.使變量X可以由系統(tǒng)自動(dòng)初始化C.使x只能在本文件內(nèi)引用D.使x的值可以永久保留

53.若有定義inta[9],*p=a;則p+5表示

A.數(shù)組元素a[5]的值B.數(shù)組元素a[5]的地址C.數(shù)組元素a[6]的地址D.數(shù)組元素a[0]的值加上5

54.以下函數(shù)值的類(lèi)型是_______。fun(floatx){floaty;y=3*x-4;returny;}

A.intB.不確定C.voidD.float

55.下列特征中不是面向?qū)ο蠓椒ǖ闹饕卣鞯氖?)。

A.多態(tài)性B.繼承C.封裝性D.模塊化

56.以下對(duì)C語(yǔ)言函數(shù)的有關(guān)描述中,正確的是

A.在C語(yǔ)言中調(diào)用函數(shù)時(shí),只能把實(shí)參的值傳給形參,形參的值不能傳送給實(shí)參

B.C函數(shù)既可以嵌套定義又可以遞歸調(diào)用

C.函數(shù)必須有返回值,否則不能使用函數(shù)

D.函數(shù)必須有返回值,返回值類(lèi)型不定

57.以下程序的運(yùn)行結(jié)果為_(kāi)_____。main(){inti,f1,f2;f1=f2=1;for(i=0;i<4;i++){printf("%d%d",f1,f2);f1+=f2;f2+=f1;}}

A.1123581321

B.1122551010

C.1258981321

D.0112451521

58.以下不正確的敘述是A.A.在C程序中,逗號(hào)運(yùn)算符的優(yōu)先級(jí)最低

B.在C程序中,APH和aph是兩個(gè)不同的變量

C.若a和b類(lèi)型相同,在計(jì)算了賦值表達(dá)式a=b后b中的值將放入a中,而b中的值不變

D.當(dāng)從鍵盤(pán)輸入數(shù)據(jù)時(shí),對(duì)于整型變量只能輸入整型數(shù)值,對(duì)于實(shí)型變量只能輸入實(shí)型數(shù)值

59.對(duì)線性表進(jìn)行二分法檢索,其前提條件是()。

A.線性表以順序方式存儲(chǔ),并按關(guān)鍵碼值排好序

B.線性表以順序方式存儲(chǔ),并按關(guān)鍵碼的檢索頻率排好序

C.線性表以鏈?zhǔn)椒绞酱鎯?chǔ),并按關(guān)鍵碼值排好序

D.線性表以鏈?zhǔn)椒绞酱鎯?chǔ),并按關(guān)鍵碼的檢索頻率排好序

60.以下對(duì)枚舉類(lèi)型名的定義中正確的是______。

A.enuma={one,two,three};

B.enuma{one=9,two=-1,three};

C.enuma={one","two","three"};

D.enuma{"one","two","three"};

四、選擇題(20題)61.有以下程序

62.有下列程序:intfunl(doublea){returna*=a;}intfun2(doublex,doubley){doublea=0,b=0;a=funl(x);b=funl(y);return(int)(a+h);}main{doublew;w=fun2(1.1,2.0),……}程序執(zhí)行后變量w中的值是()。A.5.21B.5C.5.0D.0.0

63.數(shù)據(jù)流圖用于抽象描述一個(gè)軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標(biāo)識(shí)的圖符不屬于數(shù)據(jù)流圖內(nèi)容的是

A.控制流B.加工C.?dāng)?shù)據(jù)存儲(chǔ)D.?dāng)?shù)據(jù)流

64.常采用的兩種存儲(chǔ)結(jié)構(gòu)是()。

A.順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)B.散列方法和索引方式C.鏈表存儲(chǔ)結(jié)構(gòu)和數(shù)組D.線性存儲(chǔ)結(jié)構(gòu)和非線性存儲(chǔ)結(jié)構(gòu)

65.有以下程序:

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

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

66.有以下程序:

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

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

67.

68.軟件(程序)調(diào)試的任務(wù)是()。

A.診斷和改正程序中的錯(cuò)誤B.盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤C.發(fā)現(xiàn)并改正程序中的所有錯(cuò)誤D.確定程序中錯(cuò)誤的性質(zhì)

69.若有定義:floatx=1.5;inta=1,b=3,c=2;則正確的switch語(yǔ)句是()。

70.交換兩個(gè)變量的值,不允許用臨時(shí)變量,應(yīng)該使用下列()位運(yùn)算符。A.A.&B.^C.||D.~

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

A.在棧中只能插入數(shù)據(jù),不能刪除數(shù)據(jù)

B.在棧中只能刪除數(shù)據(jù),不能插入數(shù)據(jù)

C.棧是先進(jìn)后出(FILO.的線性表

D.棧是先進(jìn)先出(FIFO.的線性表

72.

73.若變量a、i已正確定義,且i已正確賦值,合法的語(yǔ)句是()。

A.a==lB.++iC.a=a++=5D.a=int(i)

74.C語(yǔ)言中用于結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu)是A.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)

B.if、switch、break

C.for、while、do-while

D.if、for、continue

75.有以下程序:

#include<stdio.h>

main()

{intX=011;

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

}

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

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

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

A.在棧中,棧中元素隨棧底指針與棧頂指針的變化而動(dòng)態(tài)變化

B.在棧中,棧頂指針不變,棧中元素隨棧底指針的變化而動(dòng)態(tài)變化

C.在棧中,棧底指針不變,棧中元素隨棧頂指針的變化而動(dòng)態(tài)變化

D.以上說(shuō)法都不正確

77.

78.下列關(guān)于單目運(yùn)算符++、--的敘述中正確的是A.它們的運(yùn)算對(duì)象可以是任何變量和常量

B.它們的運(yùn)算對(duì)象可以是char型變量和int型變量,但不能是float型變量

C.它們的運(yùn)算對(duì)象可以是int型變量,但不能是double型變量和float型變量

D.它們的運(yùn)算對(duì)象可以是char型變量、int型變量和float型變量

79.若有說(shuō)明:inti,j=7,*p=&i;,則與i=j;等價(jià)的語(yǔ)句是()。

A.i=*p;B.*p=*&j;C.i=&j;D.i=**p;

80.有兩個(gè)關(guān)系R、S如下:

由關(guān)系R通過(guò)運(yùn)算得到關(guān)系s,則所使用的運(yùn)算為()。

A.選擇B.投影C.插入D.連接

五、程序改錯(cuò)題(1題)81.寫(xiě)出下列程序的運(yùn)行結(jié)果。

fun(inta,intb)

{if(a>b)return(a);

Elsereturn(b);}

main

{intx=3,y=8,z=6,r;

r=fun(fun(x,y),2*z);printf(“%d\n”,r);}

六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開(kāi)考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,請(qǐng)編寫(xiě)函數(shù)fun(),該函數(shù)的功能是求出二維數(shù)組周邊元素之和,作為函數(shù)值返回。二維數(shù)組中的值在主函數(shù)中賦予。例如,若二維數(shù)組中的值為13579299946999813570則函數(shù)值為61。注意:部分源程序在文件prog1.c中。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。試題程序:1#include2#include3#include4#defineM45#defineN56intfun(inta[m][n])7{89}10voidmain()11{12FILE*wf;13intaa[M][N]={{1,3,5,7,9},{2,9,9,9,4},{6,9,9,9,8},{1,3,5,7,0}};14inti,j,y;15system("CLS");16printf("Theoriginaldatais:\n");17for(i=0;i<m;i++)18{for(j=0;j<n;j++)19printf("%6d",aa[i][j]);20printf("\n");21}22y=fun(aa);23printf("\nThesum:%d\nM,y);24printf("\n");25/******************/26wf=fopen("out.dat","w");27fprintf(wf,"%d",y);28fclose(wf)29/******************/30}

參考答案

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

2.A

3.DD。【解析】算法的時(shí)間復(fù)雜度是指算法需要消耗的時(shí)間資源。一般來(lái)說(shuō),計(jì)算機(jī)算法是問(wèn)題規(guī)模。09函數(shù)fin),算法的時(shí)間復(fù)雜度也因此記做T(n)=O(f(n))。因此,問(wèn)題的規(guī)模n越大,算法執(zhí)行的時(shí)間的增長(zhǎng)率與f(n)的增長(zhǎng)率正相關(guān),稱作漸進(jìn)時(shí)間復(fù)雜度(AsymptoticTimeComplexity)。簡(jiǎn)單來(lái)說(shuō)就是算法在執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)。

4.A

5.D

6.C本題考查的是指向函數(shù)的指針。函數(shù)指針定義的基本格式為:類(lèi)型標(biāo)識(shí)符(*指針變量名)()。“類(lèi)型標(biāo)識(shí)符”為函數(shù)返回值的類(lèi)型。

7.D

8.D本題考查對(duì)軟件生命周期的理解,軟件生命周期整體上可分為定義階段、開(kāi)發(fā)階段和維護(hù)階段。其中定義階段包括可行性研究與計(jì)劃制訂和需求分析;開(kāi)發(fā)階段包括概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、開(kāi)發(fā)和測(cè)試;維護(hù)階段是一個(gè)單獨(dú)階段,不包含在開(kāi)發(fā)階段內(nèi),它是所花費(fèi)用最多的一個(gè)階段。

9.Awhile循環(huán)的執(zhí)行過(guò)程如下:①計(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為正確答案。

10.Bstrcat函數(shù)是字符串連接函數(shù),調(diào)用形式為strcat(s1,s2)。其功能是將s2指向的字符串的內(nèi)容連接到s1指向的存儲(chǔ)空間中,并返回s1的地址。由題意可知,新串首地址為s3,所以s3應(yīng)該是第一參數(shù),選項(xiàng)A、D錯(cuò)誤。同理,新串中除了S3所指的字符串,剩下的字符串為“nameaddress”,即首地址為s1,所以調(diào)用strcat函數(shù),s1是第一參數(shù)。所以正確的函數(shù)調(diào)用語(yǔ)句為“strcat(s3,strcat(s1,s2))”。故本題答案為B選項(xiàng)。

11.D

12.B變量J只接收輸入數(shù)據(jù)的前兩位,從第三位開(kāi)始直到空格之間的輸入整數(shù)都會(huì)被保存到浮點(diǎn)型變量Y中。

13.Bfun(x+2)表示的是結(jié)構(gòu)體數(shù)組中的第3個(gè)元素即{03,"Zhao",l8),而輸出的是name元素,所以答案為B。

14.C解析:數(shù)據(jù)庫(kù)是數(shù)據(jù)的集合,其中的數(shù)據(jù)是按數(shù)據(jù)所提供的數(shù)據(jù)模式存放的,它能構(gòu)造復(fù)雜的數(shù)據(jù)結(jié)構(gòu),以建立數(shù)據(jù)之間的內(nèi)在聯(lián)系與復(fù)雜的關(guān)系-故答案為C。

15.B本題考查for循環(huán)的使用。對(duì)于第1個(gè)for循環(huán),任何一個(gè)i,內(nèi)層j的循環(huán)都要使j~0到3,j=4時(shí)不符合,所以退出j循環(huán);然后i減1,J仍然要從0~3,j=4時(shí)退出J循環(huán)直到i變成0,退出i循環(huán)。第一條for語(yǔ)句執(zhí)行6次,第二條for語(yǔ)句執(zhí)行4次,所以內(nèi)循環(huán)體執(zhí)行6*4=24次。

16.A\n本題在函數(shù)intfun(intn)的定義中又出現(xiàn)了對(duì)函數(shù)fun的調(diào)用,所以函數(shù)fun是遞歸函數(shù)。因而在主函數(shù)中調(diào)用x=fun(x)時(shí),當(dāng)輸入10賦給變量X時(shí),遞歸調(diào)用的過(guò)程為

\nfun(10)=l0+fun(9)=10+9+fun(8)=10+9+8+fun(7)

\n=10+9++8+7+fun(6)=10+9++8+7+6+fun(6)

\n=10+9++8+7+6+5+fun(4)

\n=10+9++8+7+6+5+4+fun(3)

\n=10+9++8+7+6+5+4+3+fun(2)

\n=10+9++8+7+6+5+4+3+2+fun(1)

\n=10+9++8+7+6+5+4+3+2=55

\n

17.A

18.A

19.C用int方法定義變量時(shí),編譯器僅為變量開(kāi)辟存儲(chǔ)單元,并沒(méi)有在存儲(chǔ)單元中放任何值,此時(shí)變量中的值是無(wú)確定的,稱變量值”無(wú)意義”。因此,本題正確答案為c。

20.C在for循環(huán)中,當(dāng)y的值為9、6或3時(shí),執(zhí)行輸出語(yǔ)句,輸出表達(dá)式--Y的值。Y先自減l,然后再輸出y的值。

21.b=14b=14解析:分析程序可知,n的初始值為1,因此,while(n<=3)循環(huán)3次。第1次:c=c*a=2:b=b+c=2;n=2。第2次:c=c*a=4;b=-b+c=6;n=3。第3次;c=c*a=8:b=b+c=14。當(dāng)n=4時(shí),判斷條件不滿足,退出循環(huán)。

22.->->解析:結(jié)構(gòu)變量abc有成員a,并有指針pabc指向結(jié)構(gòu)變量abc,則引用變量abc成員a的形式有abc.a和p_abc->a。

23.&P(n)或p+n&P(n)或p+n解析:因?yàn)閚被初始化為0、p被初始化指向str所指字符串的首地址,所以while循環(huán)的功能是從str所指字符串的第1個(gè)字符開(kāi)始比較,若等于c或等于字符串結(jié)束符'\\0'就跳出循環(huán)。故循環(huán)結(jié)束后,若p[n]為'\\0',則證明str所指字符串不包含c中的字符,應(yīng)該返回NULL,否則應(yīng)該返回p[n]的地址值。返回NULL在第2條if語(yǔ)句中已經(jīng)實(shí)現(xiàn),所以我們應(yīng)該填入的表達(dá)式為p[n]的地址值,即&p[n]或p+n。

24.O(2)

25.s[i]>='0'&&s[i]<='9'或isdigit(s[i])或s[i]>=48&&s[i]<=57或s[i]<='9'&&s[i]>='0'或'9'>=s[i]&&'0'<=s[i]或'0'<=s[i]&&'9'>=s[i]或s[i]<=57&&s[i]>=48或57>=s[i]&&48<=s[i]或48<=s[i]&&57>=s[i]s[i]>=\'0\'&&s[i]<=\'9\'或isdigit(s[i])或s[i]>=48&&s[i]<=57或s[i]<=\'9\'&&s[i]>=\'0\'或\'9\'>=s[i]&&\'0\'<=s[i]或\'0\'<=s[i]&&\'9\'>=s[i]或s[i]<=57&&s[i]>=48或57>=s[i]&&48<=s[i]或48<=s[i]&&57>=s[i]解析:本題中,chars[80],d[80];定義了兩個(gè)字符型數(shù)組,可以放入80個(gè)字符。gets函數(shù)是C語(yǔ)言提供的一個(gè)專(zhuān)門(mén)用于讀字符串的函數(shù),它讀入全部字符(包括空格),直到遇到回車(chē)為止。本題中,讀入字符串s后,開(kāi)始比較s中的每個(gè)字符是否為數(shù)字字符,因?yàn)樽址麛?shù)據(jù)在內(nèi)存中以相應(yīng)的ASCII碼存放,所以只需比較相應(yīng)的ASCII碼值是否在48(\'0\'的ASCII代碼)與57(\'9\'的ASCII代碼)之間,或者直接與\'0\',\'9\'進(jìn)行比較,如果是數(shù)字字符則將此字符存入d數(shù)組中,不是則繼續(xù)進(jìn)行下一字符的比較,直至s結(jié)束(即\'\\0\'的出現(xiàn))。將'\\0'字符作為字符串d結(jié)束標(biāo)志,最后調(diào)用puts函數(shù)輸出d。所以在空格處應(yīng)填入比較語(yǔ)句s[i]>=\'0\'&&s[i]<=\'9\'或isdigit(s[i])或s[i]>=48&&s[i]<=57或s[i]<=\'9\'&&s[i]>=\'0\'或9\'>>=s[i]&&\'0\'<=s[i]或\'0\'<=s[i]&&\'9\'>=s[i]或s[i]<=57&&s[i]>=48或57>=s[i]&&48<=s[i]或48<=s[i]&&57>=s[i]。

26.18或1918或19

27.左左解析:對(duì)二叉排序樹(shù)進(jìn)行查找,若待查的值與根結(jié)點(diǎn)的值相比,若比根小,則繼續(xù)在左子樹(shù)中找;若比根大,則在右子樹(shù)中找。

28.5858解析:for循環(huán)語(yǔ)句中continue語(yǔ)句的作用是當(dāng)數(shù)組元素值小于0時(shí),結(jié)束本次j循環(huán),break語(yǔ)句的作用是當(dāng)數(shù)組元素值等于0時(shí),結(jié)束j循環(huán),所以for循環(huán)語(yǔ)句的功能是計(jì)算數(shù)組元素a[0][0]、a[0][1]、a[2][1]和a[3][1]之和,即s=1+2+23+32=58。

29.00解析:函數(shù)getchar()是從鍵盤(pán)得到用戶輸入的一個(gè)字符。用戶輸入的第1個(gè)字符是a,不管后面輸入的是什么ch的值都是'a',因此條件(ch=getchar())=='e'為假,這個(gè)循環(huán)不會(huì)被執(zhí)行。

30.順序存儲(chǔ)(順序方式存儲(chǔ))順序存儲(chǔ)(順序方式存儲(chǔ))解析:二分法查找對(duì)表的要求是有序的順序表,即第一要求是數(shù)據(jù)元素有序,第二要求是按順序方式存儲(chǔ)。

31.16111611解析:題目中第1條要替換的語(yǔ)句i=f(1+1);展開(kāi)后是i=((1+1)*M);繼續(xù)展開(kāi)為i((1+1*8),結(jié)果使i=16。而第2條語(yǔ)句j=f2(1+1)”;展開(kāi)后為j=(1+1*N);繼續(xù)展開(kāi)為j=(1+1*10),結(jié)果使j=11。故程序運(yùn)行的結(jié)果是輸出1611。

32.(cosx)*(cosx)*(m+n)/(m-n)

33.關(guān)系或一個(gè)關(guān)系關(guān)系或一個(gè)關(guān)系解析:在關(guān)系數(shù)據(jù)庫(kù)中,把數(shù)據(jù)表示成二維表,而一個(gè)二維表就是一個(gè)關(guān)系。

34.數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)

35.x<-6||x>6

36.軟件工程學(xué)軟件工程學(xué)

37.q<p+nq<p+n解析:通過(guò)地址傳遞可以在被調(diào)函數(shù)中對(duì)調(diào)用函數(shù)中的變量進(jìn)行引用。

38.x>5||x<-5x<-5或x<-5||x>5x>5||x<-5,x<-5或x<-5||x>5解析:要使整數(shù)x的絕對(duì)值大于5,則x大于5或x小于5,用C語(yǔ)言表示即為:x>5||x<-5或者x<-5||x>5。故本題答案為;x>5||x<-5或者x<-5||x>5。

39.k-1k,-1解析:顛倒一個(gè)字符串中的字符,就是首尾對(duì)應(yīng)的元素兩兩交換。簡(jiǎn)單地可用兩個(gè)游標(biāo)變量i和j,i是前端元素的下標(biāo),j是后端元素的下標(biāo),交換以這兩個(gè)變量值為下標(biāo)的元素str[i]和str[j]。開(kāi)始時(shí),i的值為0,j的值為字符串末元素的下標(biāo)(字符串長(zhǎng)度減1)。每次交換后,i增1,j減1。繼續(xù)交換的條件是str[i]位于str[j]的前面,即i<j。字符串末元素的下標(biāo)是它的長(zhǎng)度減1,所以在第二個(gè)空框處應(yīng)填入-1。程序?yàn)榱私粨Qstr[i]和str[j],使用了變量k,該變量應(yīng)在程序的變量定義部分中一起定義,所以在第一個(gè)空框處應(yīng)填入k。

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

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

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

43.D解析:本題考核的知識(shí)點(diǎn)是指針變量定義和賦值語(yǔ)句的基本應(yīng)用。在使用一個(gè)指針變量之前,先要用聲明語(yǔ)句對(duì)其進(jìn)行定義,在定義了一個(gè)指針變量之后,系統(tǒng)就為這個(gè)指針變量分配了一個(gè)存儲(chǔ)單元,用它來(lái)存放地址。在C語(yǔ)言中有兩個(gè)有關(guān)指針的運(yùn)算符:&運(yùn)算符,為取地址運(yùn)算符,*運(yùn)算符是指針運(yùn)算符,*p代表p所指向的變量。本題中首先定義了整型變量n,其初值為0,接著定義一個(gè)指針變量p并讓它指向n,然后定義了一個(gè)指向指針的指針變量q并讓它指向p,選項(xiàng)A中將常量1賦給指針p不正確;選項(xiàng)B也是將常量2賦給*p,故選項(xiàng)B不正確;選項(xiàng)C中P不是指向指針的指針變量,而將他賦值給一個(gè)指向指針的指針變量小顯然不正確,所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。

44.B解析:所謂的線性結(jié)構(gòu):如果一個(gè)非空的數(shù)據(jù)結(jié)構(gòu)滿足下列兩個(gè)條件,即

1)有且只有一個(gè)根結(jié)點(diǎn);

2)每一個(gè)結(jié)點(diǎn)最多有一個(gè)前件,也最多有一個(gè)后件。同時(shí)滿足兩個(gè)條件的只有線性表,而其他三種數(shù)據(jù)結(jié)構(gòu)的結(jié)點(diǎn)可能存在多個(gè)前件或后件,所以不是線性結(jié)構(gòu)。

45.A

46.A解析:結(jié)構(gòu)體變量所占的存儲(chǔ)空間是各個(gè)分量所占空間的總和。共用體變量中的所有成員占有同一個(gè)存儲(chǔ)空間,其字節(jié)數(shù)與成員中占字節(jié)數(shù)最多的那個(gè)成員相等。m占2個(gè)字節(jié),f占4個(gè)字節(jié),因此結(jié)構(gòu)體變量a所占的存儲(chǔ)空間為6字節(jié)。k[6]占6個(gè)字節(jié),d占8個(gè)字節(jié)。共用體變量b所占的存儲(chǔ)空間與占存儲(chǔ)空間最多的d所占存儲(chǔ)空間的字節(jié)數(shù)相同。所以,A選項(xiàng)為所選。

47.A解析:C程序中注釋部分用“/*”和“*/”括起來(lái),可以出現(xiàn)在程序中任何合適的地方;花括號(hào)“{”和“}”不僅可作為函數(shù)體的定界符,也可作為復(fù)合語(yǔ)句的定界符;構(gòu)成C程序的基本單位是函數(shù):—個(gè)語(yǔ)句必須在最后出現(xiàn)分號(hào),分號(hào)是C語(yǔ)句中不可缺少的部分。

48.D解析:本題考查語(yǔ)句的基本構(gòu)成。選項(xiàng)A)中j=5后面少了一個(gè)分號(hào):選項(xiàng)B)中少了“}”;選項(xiàng)C)不是一個(gè)完整的函數(shù)定義格式,一個(gè)完整的函數(shù)定義格式還包括一對(duì)花括號(hào):選項(xiàng)D)正確,是一個(gè)空語(yǔ)句。

49.D

50.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)。

51.B解析:本題考查帶參數(shù)的宏的定義及相關(guān)運(yùn)算:S=m+n+m+n*k=1+2+1+2*3=10。

52.C解析:事實(shí)上,無(wú)論有無(wú)Static修飾,外部變量都具有A、B和C三種特性。作為—種修飾,static僅是限制此類(lèi)型外部變量的引用范圍C只能在定義它的文件范圍內(nèi)使用。

53.B解析:本題考查了通過(guò)指針來(lái)引用一維數(shù)組元素的方法。題中*p=a;這一賦值語(yǔ)句是指針p指向了數(shù)組a的首地址,p+5是指針p向后移動(dòng)了5個(gè)int類(lèi)型的存儲(chǔ)單元,所以p+5指向了數(shù)組元素a[5]。

54.A解析:函數(shù)定義時(shí)如果數(shù)據(jù)類(lèi)型默認(rèn),則默認(rèn)為int。函數(shù)中如果有“retum(表達(dá)式):”語(yǔ)句,表達(dá)式的類(lèi)型可能與函數(shù)的類(lèi)型不一致,但它并不能改變函數(shù)的類(lèi)型,實(shí)際情況是把表達(dá)式轉(zhuǎn)換為函數(shù)值的類(lèi)型作為返回值,因此本題的函數(shù)值類(lèi)型是int。

55.DD?!窘馕觥棵嫦?qū)ο笤O(shè)計(jì)方法與面向過(guò)程設(shè)計(jì)方法有本質(zhì)的不同,其基本原理是:使用現(xiàn)實(shí)世界的概念抽象地思考問(wèn)題從而自然地解決問(wèn)題。其特點(diǎn)包括:分類(lèi)性、多態(tài)性、封裝性、模塊獨(dú)立性、繼承和多態(tài)性等。模塊化是結(jié)構(gòu)化程序設(shè)計(jì)的特點(diǎn)。

56.A解析:C語(yǔ)言中的函數(shù)可以進(jìn)行遞歸調(diào)用,但不能在函數(shù)中定義函數(shù),即函數(shù)不能嵌套定義。函數(shù)可以沒(méi)有返回值,若有返回值,則返回值類(lèi)型必須確定。

57.A

58.D解析:在C語(yǔ)言所有的運(yùn)算符中,逗號(hào)運(yùn)算符的優(yōu)先級(jí)最低。C語(yǔ)言中區(qū)分大小寫(xiě),所以APH和aph是兩個(gè)不同的變量。賦值表達(dá)式a=b表示將b的值付給a,而b本身的值保持不變;通過(guò)鍵盤(pán)可以向計(jì)算機(jī)輸入允許的任何類(lèi)型的數(shù)據(jù)。選項(xiàng)D)中當(dāng)從鍵盤(pán)輸入數(shù)據(jù)時(shí),對(duì)于整型變量可以輸入整型數(shù)值和字符,對(duì)于實(shí)型變量可以輸入實(shí)型數(shù)值和整型數(shù)值等。

59.A解析:對(duì)線性表進(jìn)行二分法檢索,要求線性表是按順序方式存儲(chǔ)的,并按關(guān)鍵碼值的大小排好序,而不是按關(guān)鍵碼的檢索頻率排序。

60.B解析:聲明枚舉類(lèi)型用enum開(kāi)頭。例如:enumweekday(sun,mon,tue,wed,thu,fri,sat);說(shuō)明:1、在C編譯中,對(duì)枚舉元素按常量處理,同時(shí)可以改變他們的值。2、枚舉值可以用來(lái)做判斷比較。3、一個(gè)整數(shù)不能直接賦給一個(gè)枚舉變量。

61.Af(2)展開(kāi)后為,2*5+1,值為ll,f(1+1)展開(kāi)后為,l+1*5+1值為7,所以答案選擇A):

62.C子函數(shù)fun1(doublea)的功能是返回a的平方值的整數(shù)部分。子函數(shù)fun2(doublex,doubley)的功能是返回X的平方值的整數(shù)部分與Y的平方值的整數(shù)部分的和。又因?yàn)轭}中變量w的定義為double型,函數(shù)fun(2)的定義為int型,按照各類(lèi)數(shù)值型數(shù)據(jù)間的混合運(yùn)算,整型數(shù)據(jù)被轉(zhuǎn)換為實(shí)型數(shù)據(jù)。所以雙精度型變量w的值為5.0。

63.A數(shù)據(jù)流圖(DFD)是用來(lái)描繪系統(tǒng)的邏輯模型的,它以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動(dòng)和處理的過(guò)程,反映系統(tǒng)必須完成的邏輯功能。

數(shù)據(jù)流圖的4種基本符號(hào)分別是數(shù)據(jù)的源點(diǎn)或終點(diǎn)、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)和加工。

64.AA?!窘馕觥烤€性表的存儲(chǔ)通常分為兩種存儲(chǔ)結(jié)構(gòu):順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。

\n

65.Afun()函數(shù)使用了靜態(tài)變量,靜態(tài)變量只在聲明時(shí)初始化一次。首先實(shí)參的數(shù)值是一12,if判斷后輸出負(fù)號(hào),并將n=12,計(jì)算k+=n%10一k+=2—2,因此輸出2,后將數(shù)值除以10,結(jié)果為1,遞歸調(diào)用fun()函數(shù),第二次調(diào)用fun(),此時(shí)n=1,k=2,計(jì)算k+=n%10-÷k+=1——*3,因此打印3。故最后打印結(jié)果為一2,3,。故答案為A選項(xiàng)。

66.A本愿考查位運(yùn)算符以及相關(guān)運(yùn)算,‘為按位或,&為按位與,部么a"b為3,再與c按位與仍然為3,所以答案為A選項(xiàng)。

67.B

68.A解析:軟件調(diào)試的任務(wù)是診斷和改正程序中的錯(cuò)誤,本題正確答案為A)。其他二項(xiàng)描述不正確,選項(xiàng)B)描述不全面,選項(xiàng)C)描述太絕對(duì),選項(xiàng)D)描述不符合定義。

69.AB選項(xiàng)中switch((int)x);語(yǔ)句中不應(yīng)該有最后的分號(hào)。switch(exprl),中的exprl不能用浮點(diǎn)類(lèi)型或10n9類(lèi)型,也不能為一個(gè)字符串,所以c錯(cuò)誤。ca”后面常量表達(dá)式的類(lèi)型必須與switch后面表達(dá)式的類(lèi)型一致,所以D錯(cuò)誤。

70.B解析:按邏輯位運(yùn)算的特定作用主要有3點(diǎn):①用按位與運(yùn)算將特定位清0或保留特定位:②用按位或運(yùn)算將特定的位置設(shè)置為1;③用按位異或運(yùn)算將某個(gè)變量的特定位翻轉(zhuǎn)或交換兩個(gè)變量的值。

71.C\n棧是限定在一端進(jìn)行插入與刪除的線性表。棧是按照“先進(jìn)后出”的或后進(jìn)先出的原則組織數(shù)據(jù)的,因此,棧也被稱為“先進(jìn)后出”表或“后進(jìn)先出”表。本題答案是C)。

\n

72.A

73.B選項(xiàng)A為表達(dá)式,因此不正確,選項(xiàng)C中a++本身就是表達(dá)式,無(wú)需再賦值,選項(xiàng)D中,在強(qiáng)制類(lèi)型轉(zhuǎn)換時(shí),類(lèi)型名應(yīng)用括號(hào)括起來(lái),故選擇8選項(xiàng)。

74.A解析:結(jié)構(gòu)化程序由3種基本結(jié)構(gòu)組成,即順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)(包括for語(yǔ)句、while語(yǔ)句及do…\u3000while語(yǔ)句)和選擇結(jié)構(gòu)(包括if語(yǔ)句和switch語(yǔ)句)。

75.C\n考查簡(jiǎn)單的c程序,題目中x=011而輸出函數(shù)中是++x,說(shuō)明是先加l,所以為l0,答案選擇C。

\n

76.CC【解析】棧是先進(jìn)后出的數(shù)據(jù)結(jié)構(gòu),在整個(gè)過(guò)程中,棧底指針不變,入棧與出棧操作均由棧頂指針的變化來(lái)操作,所以選擇C。

77.A

78.D本題主要考查自加與自減運(yùn)算符。在C語(yǔ)言中,自加與自減運(yùn)算符具有以下性質(zhì):

(1)自加運(yùn)算符“++”和自減運(yùn)算符“--”的運(yùn)算本身是一種賦值運(yùn)算,其結(jié)果是使運(yùn)算對(duì)象的值增1或減1。

(2)++、--運(yùn)算符是單目運(yùn)算符,運(yùn)算對(duì)象可以是整型變量或字符型變量,也可以是實(shí)型變量,但不能是常量和表達(dá)式。

(3)自加、自減運(yùn)算符無(wú)論是作為前綴還是后綴運(yùn)算符,對(duì)于變量而言,其效果相同,但作為表達(dá)式來(lái)說(shuō),其值不同。

(4)++和--運(yùn)算符的結(jié)合方向是“自右向左”。

(5)不要在一個(gè)表達(dá)式中對(duì)同一個(gè)變量進(jìn)行多次自增或自減運(yùn)算??梢灾辣绢}正確的答案是D。

79.B

80.B解析:專(zhuān)門(mén)的關(guān)系運(yùn)算包括:選擇、投影和連接。1、選擇:從關(guān)系中找出滿足給定條件的元組的操作稱為選擇。選擇是從行的角度進(jìn)行的運(yùn)算,即從水平方向抽取記錄。2、投影:從關(guān)系模式中指定若干個(gè)屬性組成新的關(guān)系。投影是從列的角度進(jìn)行的運(yùn)算,相當(dāng)于對(duì)關(guān)系進(jìn)行垂直分解。3、連接:連接是關(guān)系的橫向結(jié)合。連接運(yùn)算將兩個(gè)關(guān)系模式拼接成一個(gè)更寬的關(guān)系模式,生成的新關(guān)系中包含滿足連接條件的元組。連接過(guò)程是通過(guò)連接條件來(lái)控制的,連接條件中將出現(xiàn)兩個(gè)表中的公共屬性名,或者具有相同語(yǔ)義、可比的屬性。選擇和投影運(yùn)算的操作對(duì)象只是一個(gè)表。相當(dāng)于對(duì)一個(gè)二維表進(jìn)行切割。連接運(yùn)算需要兩個(gè)表操作為操作對(duì)象。由圖可知關(guān)系R通過(guò)運(yùn)算得到關(guān)系S。關(guān)系S與關(guān)系R相比,記錄的條數(shù)沒(méi)有發(fā)生變化,屬性的個(gè)數(shù)發(fā)生了變化。因此所使用的運(yùn)算應(yīng)該是投影。選項(xiàng)C插入運(yùn)算會(huì)增加記錄的條數(shù)。所以選項(xiàng)B是正確的。

81.

82.1intfun(inta[M][N])2{3inti,j,sum=0;4for(i=0;i<m;i++)5for(j=0;j<n;j++)6if(i==o||i==M-1||j==0||j==N-1)/*只要下標(biāo)中有一個(gè)為。或M-1或N-1,則它一定是周邊元素*/7sum=sum+a[i][j];/*將周邊元素相加*/8returnsum;9}本題采用逐一判斷的方式求數(shù)組周邊元素和。二維數(shù)組周邊元素的規(guī)律是,其兩個(gè)下標(biāo)中一定有一個(gè)是0或M-1或N-1。程序中循環(huán)語(yǔ)句用來(lái)控制數(shù)組的行和列,條件語(yǔ)句用來(lái)判斷數(shù)組元素是否為周邊元素。</n;j++)</m;i++)</n;j++)</m;i++)2021-2022年山西省晉城市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.下列關(guān)于標(biāo)識(shí)符的說(shuō)法中錯(cuò)誤的是

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

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

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

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

2.

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

4.

5.

6.語(yǔ)句int(*ptr)的含義是()。

A.ptr是一個(gè)返回值為int的函數(shù)

B.ptr是指向int型數(shù)據(jù)的指針變量

C.ptr是指向函數(shù)的指針,該函數(shù)返回一個(gè)int型數(shù)據(jù)

D.ptr是一個(gè)函數(shù)名,該函數(shù)的返回值是指向int型數(shù)據(jù)的指針

7.fscanf函數(shù)的正確調(diào)用形式是()

A.fscanf(fp,格式字符串,輸出表列);

B.fscanf(格式字符串,輸出表列,fp);

C.fscanf(格式字符串,文件指針,輸出表列),

D.fscanf(文件指針,格式字符串,輸入表列);

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

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

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

A.while((ch—getchar)!=N)printf("%c",ch);

B.while(oh=getchar!=N)printf("%c",ch);

C.while(ch=getchar==N)printf("%c",ch);

D.while((ch—getchar)==N)printf("%c",ch);

10.若有定義“chars1[100]=“name”,s2[50]=“address”,s3[80]=“person”;”,要將它們連接成新串“personnameaddress”,正確的函數(shù)調(diào)用語(yǔ)句是()。

A.strcat(strcat(s1,s2),s3);

B.strcat(s3,strcat(s1,s2);

C.strcat(s3,strcat(s2,s1);

D.strcat(strcat(s2,s1),s3);

11.

12.有以下程序段intj;floaty;charname[50];scanf("%2d%f%s",&i,&y,name);當(dāng)執(zhí)行上述程序段,從鍵盤(pán)上輸入555667777abc后,y的值為()。A.55566.0B.566.0C.7777.0D.566777.0

13.有以下程序:#include<stdio.h>structstu{intnum;charname[l0];intage;};voidfun(structstu*p){printf("%s\n",p->name);}main(){structstux[3]={{01,"Zhang",20),{02,"Wang",l9},{03,"Zha0",l8}};fun(x+2);}程序運(yùn)行后的輸出結(jié)果是()。A.ZhangB.ZhaoC.WangD.19

14.數(shù)據(jù)庫(kù)是______的集合,它具有統(tǒng)一的結(jié)構(gòu)形式并存放于統(tǒng)一的存儲(chǔ)介質(zhì)內(nèi),可被各個(gè)應(yīng)用程序所共享。

A.視圖B.消息C.數(shù)據(jù)D.關(guān)系

15.若i、j已定義成mt型,則下列程序段中內(nèi)循環(huán)體的總執(zhí)行次數(shù)是()。for(i=6;i>0;i--)for(j=0;j<4;j++){…}A.20B.24C.25D.30

16.有下列程序:

intfun(intn)

{if(n==1))returnl;

else

return(n+fun(n-1)):

}

main()

{intx;

seanf("%d",&x);x=fun(x);printf("%d\n",x);

}

執(zhí)行程序時(shí),給變量x輸入l0,程序的輸出結(jié)果是()。

A.55

B.54

C.65

D.45

17.下列給字符數(shù)組初始化中,()是正確的。

A.chars2[3]="xyz";

B.chars1[]="abcd";

C.chars3[][3]={'a','x','y'};

D.chars4[2][3]={"xyz","mnp"};

18.順序查找不論在順序線性表中還是在鏈?zhǔn)骄€性表中的時(shí)間復(fù)雜度為()。

A.O(n)B.O(n^2)C.O(n^1/2)D.O(1og2n)

19.若函數(shù)中有定義語(yǔ)句:inta;,則()。

A.系統(tǒng)將自動(dòng)給a賦初值為0B.系統(tǒng)將自動(dòng)給a賦初值一lC.這時(shí)a中的值無(wú)意義D.這時(shí)a中無(wú)任何值

20.有以下程序#include<stdio.h>main{inty=9;for(;y>0;y--)if(y%3==0)printf("%d",--y);}程序的運(yùn)行結(jié)果是()。A.741B.963C.852D.875421

二、2.填空題(20題)21.下列程序的運(yùn)行結(jié)果是______。

#include<stdio.h>

main()

{inta,b,c,n;

a=2;b=0;c=1;n=1;

while(n<=3)

{c=c*a;b=b+c;++n;}

printf("b=%d",B);

}

22.設(shè)有定義:

struct{inta;floatb;charc;}abc;*p_abc=&abc;

則對(duì)結(jié)構(gòu)體成員a的引用方法可以是abc.a和p_abc【】a。

23.以下函數(shù)fun的功能是返回str所指字符串中以形參c中字符開(kāi)頭的后續(xù)字符串的首地址,例如;str所指字符串為:Hello!,c中的字符為e,則函數(shù)返回字符串:ello!的首地址。若str所指字符串為空串或不包含c中的字符,則函數(shù)返回NULL。請(qǐng)?zhí)羁铡?/p>

char*fun(char*str,charc)

{intn=0;char*p=str;

if(p!=NULL)

while(p[n]!=c&&p[n]!='\O')n++;

if(p[n]='\0')returnNULL;

return(【】);

}

24.無(wú)論對(duì)于順序存儲(chǔ),還是鏈接存儲(chǔ)的棧和隊(duì)列來(lái)說(shuō),進(jìn)行插入或刪除運(yùn)算的時(shí)間復(fù)雜性均相同,則為【】。

25.以下程序的功能是將寧符串s中的數(shù)字字符放入d數(shù)組中,最后輸出d中的字符串。例如,輸入字符串:abcl23edf4568h,執(zhí)行程序后輸出:123456。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

#include<ctype.h>

main()

{chars[80],d[80];inti,j;

gets(s);

for(i=j=0;s[i]!='\0';i++)

if(【】){d[j]=s[i];j++;}

d[j]='\0';

puts(d);

}

26.要使以下程序段輸出10個(gè)整數(shù),請(qǐng)?zhí)钊胍粋€(gè)整數(shù);

for(i=0;i<=【】;printf("%d\n",i+=2));

27.對(duì)二叉排序樹(shù)進(jìn)行查找的方法是:用待查的值與根結(jié)點(diǎn)的值相比,若比根小,則繼續(xù)在【】子樹(shù)中找。

28.若有以下程序:

main()

{inta[4][4]={{1,2,-3,-4},{0,-12,-13,14},{-21,23,0,-24},{-31,32,-33,0}};

inti,j,s=0;

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

{for(j=0;j<4;j++)

{if(a[i][j]<0)

continue;

if(a[i][j]==0)

break;

s+=a[i][j];

}

}

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

}

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

29.若輸入字符串:abcde↓,則以下while循環(huán)體將執(zhí)行【】次。

while((ch=getchar())=='e')printf("*");

30.二分法查找僅限于這樣的表:表中的數(shù)據(jù)元素必須有序,其存儲(chǔ)結(jié)構(gòu)必須是______。

31.下面程序由兩個(gè)源程序文件:t4.h和t4.c組成,程序編譯運(yùn)行的結(jié)果是:【】。

t4.h的源程序?yàn)椋?/p>

#defineN10

#dennef2(x)(x*N)

t4.c的源程序?yàn)椋?/p>

#include<stdio.h>

#defineM8

#definef(x)((x)*M)

#include"t4.h"

#main()

{inti,j;

i=f(1+1);j=f2(1+1);

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

}

32.把數(shù)學(xué)表達(dá)式改寫(xiě)成C語(yǔ)言的表達(dá)式是【】。

33.在關(guān)系數(shù)據(jù)庫(kù)中把數(shù)據(jù)表示成二維表,每一個(gè)二維表稱為【】。

34.Jackson結(jié)構(gòu)化程序設(shè)計(jì)方法是英國(guó)的M.Jackson提出的,它是一種面向______的設(shè)計(jì)方法。

35.表示“整數(shù)x的平方大于36"時(shí)的值為“真”的C語(yǔ)言邏輯表達(dá)式是【】。

36.軟件危機(jī)出現(xiàn)于60年代末,為了解決軟件危機(jī),人們提出了【】的原理來(lái)設(shè)計(jì)軟件,這就是軟件工程誕生的基礎(chǔ)。

37.下面的程序?qū)崿F(xiàn)的是指針p所指向的地址的n個(gè)數(shù)中,求出最大的和最小的數(shù)據(jù),請(qǐng)?zhí)羁铡?/p>

fun(int*p,intn)

{int*q;

intmax,min;

max=min=*p;

for(q=p;【】;q++)

if(*q>max)max=*q;

elseif(*q<min)min=*q;}

38.表示""整數(shù)x的絕對(duì)值大于5""時(shí)值為""真""的C語(yǔ)言表達(dá)式是【】。

39.下面程序的功能是將一個(gè)字符串str的內(nèi)容顛倒過(guò)來(lái),請(qǐng)?zhí)羁铡?/p>

#include<string.h>

main()

{inti,j,【】;charstr[]={"1234567"};

for(i=0,j=strlen(str)【】;i<j;i++,j--)

{k=str[i];str[i]=str[j];str[j]=k;}

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

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

三、1.選擇題(20題)41.現(xiàn)有格式化輸入語(yǔ)句,

A.intB.floatC.doubleD.不確定

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

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

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

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

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

43.設(shè)有定義:intn=0,*p=&n,**q=&p;則以下選項(xiàng)中,正確的賦值語(yǔ)句是()A.p=1;B.*q=2;C.q=p;D.*p=5;

44.以下數(shù)據(jù)結(jié)構(gòu)中屬于線性數(shù)據(jù)結(jié)構(gòu)的是

A.集合B.線性表C.二叉樹(shù)D.圖

45.下列程序執(zhí)行后輸出結(jié)果是()main(){chararr[2][4];strcpy(arr,"you");strcpy(arr,[1],"me");arr[0][3]='&';printf("%s\n",arr);}

A.you&meB.youC.meD.err

46.在下列定義中的共用體所占內(nèi)存字節(jié)數(shù)是()。union{chark[6];struct{intm;floarf;}a;doubled;}b;

A.8B.14C.18D.10

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

A.C程序中注釋部分可以出現(xiàn)在程序中任何合適的地方

B.花括號(hào)""{""和""}""只能作為函數(shù)體的定界符

C.構(gòu)成C程序的基本單位是函數(shù),所有函數(shù)名都可以由用戶命名

D.分號(hào)是C語(yǔ)句之間的分隔符,不是語(yǔ)句的—部分

48.下列寫(xiě)法正確的是()。

A.main(){inti=3,j;j=5}

B.main(){inti=3;

C.main()

D.main(){;}

49.關(guān)于if后一對(duì)圓括號(hào)中的表達(dá)式,以下敘述中正確的是()

A.只能用邏輯表達(dá)式B.只能用關(guān)系表達(dá)式C.既可用邏輯表達(dá)式也可用關(guān)系表達(dá)式D.可用任意表達(dá)式

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

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

51.下列程序的運(yùn)行結(jié)果是()。#include<stdio.h>#defineADD(x)x+xmain(){intm=1,n=2,k=3;ints=ADD(m+n)*k;printf("s=%d",s);}

A.sum=18B.sum=10C.sum=9D.sum=25

52.若一個(gè)名部變量的定義形式為staticintx;,那么,其中static的作用應(yīng)該是______。

A.將變量存儲(chǔ)在靜態(tài)存儲(chǔ)區(qū)B.使變量X可以由系統(tǒng)自動(dòng)初始化C.使x只能在本文件內(nèi)引用D.使x的值可以永久保留

53.若有定義inta[9],*p=a;則p+5表示

A.數(shù)組元素a[5]的值B.數(shù)組元素a[5]的地址C.數(shù)組元素a[6]的地址D.數(shù)組元素a[0]的值加上5

54.以下函數(shù)值的類(lèi)型是_______。fun(floatx){floaty;y=3*x-4;returny;}

A.intB.不確定C.voidD.float

55.下列特征中不是面向?qū)ο蠓椒ǖ闹饕卣鞯氖?)。

A.多態(tài)性B.繼承C.封裝性D.模塊化

56.以下對(duì)C語(yǔ)言函數(shù)的有關(guān)描述中,正確的是

A.在C語(yǔ)言中調(diào)用函數(shù)時(shí),只能把實(shí)參的值傳給形參,形參的值不能傳送給實(shí)參

B.C函數(shù)既可以嵌套定義又可以遞歸調(diào)用

C.函數(shù)必須有返回值,否則不能使用函數(shù)

D.函數(shù)必須有返回值,返回值類(lèi)型不定

57.以下程序的運(yùn)行結(jié)果為_(kāi)_____。main(){inti,f1,f2;f1=f2=1;for(i=0;i<4;i++){printf("%d%d",f1,f2);f1+=f2;f2+=f1;}}

A.1123581321

B.1122551010

C.1258981321

D.0112451521

58.以下不正確的敘述是A.A.在C程序中,逗號(hào)運(yùn)算符的優(yōu)先級(jí)最低

B.在C程序中,APH和aph是兩個(gè)不同的變量

C.若a和b類(lèi)型相同,在計(jì)算了賦值表達(dá)式a=b后b中的值將放入a中,而b中的值不變

D.當(dāng)從鍵盤(pán)輸入數(shù)據(jù)時(shí),對(duì)于整型變量只能輸入整型數(shù)值,對(duì)于實(shí)型變量只能輸入實(shí)型數(shù)值

59.對(duì)線性表進(jìn)行二分法檢索,其前提條件是()。

A.線性表以順序方式存儲(chǔ),并按關(guān)鍵碼值排好序

B.線性表以順序方式存儲(chǔ),并按關(guān)鍵碼的檢索頻率排好序

C.線性表以鏈?zhǔn)椒绞酱鎯?chǔ),并按關(guān)鍵碼值排好序

D.線性表以鏈?zhǔn)椒绞酱鎯?chǔ),并按關(guān)鍵碼的檢索頻率排好序

60.以下對(duì)枚舉類(lèi)型名的定義中正確的是______。

A.enuma={one,two,three};

B.enuma{one=9,two=-1,three};

C.enuma={one","two","three"};

D.enuma{"one","two","three"};

四、選擇題(20題)61.有以下程序

62.有下列程序:intfunl(doublea){returna*=a;}intfun2(doublex,doubley){doublea=0,b=0;a=funl(x);b=funl(y);return(int)(a+h);}main{doublew;w=fun2(1.1,2.0),……}程序執(zhí)行后變量w中的值是()。A.5.21B.5C.5.0D.0.0

63.數(shù)據(jù)流圖用于抽象描述一個(gè)軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標(biāo)識(shí)的圖符不屬于數(shù)據(jù)流圖內(nèi)容的是

A.控制流B.加工C.?dāng)?shù)據(jù)存儲(chǔ)D.?dāng)?shù)據(jù)流

64.常采用的兩種存儲(chǔ)結(jié)構(gòu)是()。

A.順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)B.散列方法和索引方式C.鏈表存儲(chǔ)結(jié)構(gòu)和數(shù)組D.線性存儲(chǔ)結(jié)構(gòu)和非線性存儲(chǔ)結(jié)構(gòu)

65.有以下程序:

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

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

66.有以下程序:

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

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

67.

68.軟件(程序)調(diào)試的任務(wù)是()。

A.診斷和改正程序中的錯(cuò)誤B.盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤C.發(fā)現(xiàn)并改正程序中的所有錯(cuò)誤D.確定程序中錯(cuò)誤的性質(zhì)

69.若有定義:floatx=1.5;inta=1,b=3,c=2;則正確的switch語(yǔ)句是()。

70.交換兩個(gè)變量的值,不允許用臨時(shí)變量,應(yīng)該使用下列()位運(yùn)算符。A.A.&B.^C.||D.~

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

A.在棧中只能插入數(shù)據(jù),不能刪除數(shù)據(jù)

B.在棧中只能刪除數(shù)據(jù),不能插入數(shù)據(jù)

C.棧是先進(jìn)后出(FILO.的線性表

D.棧是先進(jìn)先出(FIFO.的線性表

72.

73.若變量a、i已正確定義,且i已正確賦值,合法的語(yǔ)句是()。

A.a==lB.++iC.a=a++=5D.a=int(i)

74.C語(yǔ)言中用于結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu)是A.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)

B.if、switch、break

C.for、while、do-while

D.if、for、continue

75.有以下程序:

#include<stdio.h>

main()

{intX=011;

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

}

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

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

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

A.在棧中,棧中元素隨棧底指針與棧頂指針的變化而動(dòng)態(tài)變化

B.在棧中,棧頂指針不變,棧中元素隨棧底指針的變化而動(dòng)態(tài)變化

C.在棧中,棧底指針不變,棧中元素隨棧頂指針的變化而動(dòng)態(tài)變化

D.以上說(shuō)法都不正確

77.

78.下列關(guān)于單目運(yùn)算符++、--的敘述中正確的是A.它們的運(yùn)算對(duì)象可以是任何變量和常量

B.它們的運(yùn)算對(duì)象可以是char型變量和int型變量,但不能是float型變量

C.它們的運(yùn)算對(duì)象可以是int型變量,但不能是double型變量和float型變量

D.它們的運(yùn)算對(duì)象可以是char型變量、int型變量和float型變量

79.若有說(shuō)明:inti,j=7,*p=&i;,則與i=j;等價(jià)的語(yǔ)句是()。

A.i=*p;B.*p=*&j;C.i=&j;D.i=**p;

80.有兩個(gè)關(guān)系R、S如下:

由關(guān)系R通過(guò)運(yùn)算得到關(guān)系s,則所使用的運(yùn)算為()。

A.選擇B.投影C.插入D.連接

五、程序改錯(cuò)題(1題)81.寫(xiě)出下列程序的運(yùn)行結(jié)果。

fun(inta,intb)

{if(a>b)return(a);

Elsereturn(b);}

main

{intx=3,y=8,z=6,r;

r=fun(fun(x,y),2*z);printf(“%d\n”,r);}

六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開(kāi)考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,請(qǐng)編寫(xiě)函數(shù)fun(),該函數(shù)的功能是求出二維數(shù)組周邊元素之和,作為函數(shù)值返回。二維數(shù)組中的值在主函數(shù)中賦予。例如,若二維數(shù)組中的值為13579299946999813570則函數(shù)值為61。注意:部分源程序在文件prog1.c中。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。試題程序:1#include2#include3#include4#defineM45#defineN56intfun(inta[m][n])7{89}10voidmain()11{12FILE*wf;13intaa[M][N]={{1,3,5,7,9},{2,9,9,9,4},{6,9,9,9,8},{1,3,5,7,0}};14inti,j,y;15system("CLS");16printf("Theoriginaldatais:\n");17for(i=0;i<m;i++)18{for(j=0;j<n;j++)19printf("%6d",aa[i][j]);20printf("\n");21}22y=fun(aa);23printf("\nThesum:%d\nM,y);24printf("\n");25/******************/26wf=fopen("out.dat","w");27fprintf(wf,"%d",y);28fclose(wf)29/******************/30}

參考答案

1.D解析:用戶標(biāo)識(shí)符與關(guān)鍵字相同時(shí),程序在編譯過(guò)程中將給出出錯(cuò)信息。注意:選項(xiàng)D)應(yīng)該改為用戶標(biāo)識(shí)符與關(guān)鍵字相同,程序在編譯時(shí)將給出出錯(cuò)信

溫馨提示

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