2021-2022年湖南省益陽市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測(cè)試卷(含答案)_第1頁
2021-2022年湖南省益陽市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測(cè)試卷(含答案)_第2頁
2021-2022年湖南省益陽市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測(cè)試卷(含答案)_第3頁
2021-2022年湖南省益陽市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測(cè)試卷(含答案)_第4頁
2021-2022年湖南省益陽市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測(cè)試卷(含答案)_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(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ì)測(cè)試卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.下面關(guān)于線性表的敘述中,錯(cuò)誤的是哪一個(gè)()。

A.線性表采用順序存儲(chǔ),必須占用一片連續(xù)的存儲(chǔ)單元

B.線性表采用順序存儲(chǔ),便于進(jìn)行插入和刪除操作

C.線性表采用鏈?zhǔn)酱鎯?chǔ),不必占用一片連續(xù)的存儲(chǔ)單元

D.線性表采用鏈?zhǔn)酱鎯?chǔ),便于進(jìn)行插入和刪除操作

2.

3.輸入序列為ABC,可以變?yōu)镃BA時(shí),經(jīng)過的棧操作為()。

A.push,pop,push,pop,push,pop

B.push,push,push,pop,pop,pop

C.push,push,pop,pop,push,pop

D.push,pop,push,push,pop,pop

4.若有定義“intx,y;”,并已正確給變量賦值,則以下選項(xiàng)中與表達(dá)式“(x-y)?(x++):(y++)”中的條件表達(dá)式“(x-y)”等價(jià)的是()。

A.(x-y<0||x-y>0)B.(x-y<0)C.(x-y>0)D.(x-y==0)

5.有以下程序:#include<stdio.h>main(){structSTU{charname[9];charsex;doublescore[2];};structSTUa={“Zhao”,‘m’,85.0,90.0},b={“Qian”,‘f’,95.0,92.0};b=a;printf(“%s,%c,%2.0f,%2.0f\n”,,b.sex,b.score[0],b.score[1]);}程序的運(yùn)行結(jié)果是()。

A.Qian,m,85,90B.Zhao,m,85,90C.Zhao,f,95,92D.Qian,f,95,92

6.輸入序列為(A,B,C,D),不可能得到的輸出序列是______.

A.(A,B,C,D)B.(D,C,B,A)C.(A,C,D,B)D.(C,A,B,D)

7.以下是if語句的基本形式:if

(表達(dá)式)語句,其中表達(dá)式A.A.必須是邏輯表達(dá)式B.必須是關(guān)系表達(dá)式C.必須是邏輯表達(dá)式或關(guān)系表達(dá)式D.可以是任意合法的表達(dá)式

8.用不帶頭結(jié)點(diǎn)的單鏈表存儲(chǔ)隊(duì)列時(shí),其隊(duì)頭指針指向隊(duì)頭結(jié)點(diǎn),其隊(duì)尾指針指向隊(duì)尾結(jié)點(diǎn),則在進(jìn)行刪除操作時(shí)()。

A.僅修改隊(duì)頭指針B.僅修改隊(duì)尾指針C.隊(duì)頭、隊(duì)尾指針都要修改D.隊(duì)頭,隊(duì)尾指針都可能要修改

9.有以下程序:#include<stdio.h>,main(){intS;scanf("%d",&s);while(s>O){switch(s){casel:printf("%d",s+5);case2:printf("%d",s+4);break;case3:printf("%d",s+3);default:("%d",s+1);break;}scanf("%d",&s);}}運(yùn)行時(shí),若輸入123450<回車>,由輸出結(jié)果是()。A.6566456B.66656C.66666D.6666656

10.

11.有以下程序:Voidf(inta[],ihti,intj){intt;if(i<j){t=a[i];a[i]=a[j];a[j]=t;f(a,i+1,i-1);}}main(){inti,aa[5]={1,2,3,4,5};f(aa,0,4);for(i=0;i<5;i++)printf("%d",aa[i]);printf("\n");}執(zhí)行后輸出結(jié)果是

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

12.第

24

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

char*p="abcdefgh";

p+=3;

printf("%d\n",strlen(strcpy(p,"ABCD")));

A.8B.12C.4D.7

13.有以下程序:#include<stdio.h>voidmain(){char*s=“\ta\018bc”;for(;*s!=‘\0’;s++)printf(“*”);printf(“\n”);}程序運(yùn)行后的輸出結(jié)果是()。

A.******B.*********C.*****D.*******

14.閱讀以下程序及對(duì)程序功能的描述,其中正確的是#include<stdio.h>main(){FILE*in,*out;charch,infile[10],outfile[10];printf(“Entertheinfilename:\n”);scanf(“%s”,infile);printf(“Entertheoutfilename:\n”);scanf(“%s”,outfile);if((in=foen(infile,“r”))==NULL)printf(“cannotopeninfile\n”);exit(0);if((out=fopen(outfile,“w”))==NULL)printf(“cannotopenoutfile\n”);exit(0);while(!feof(in))fputc(fgetc(in),out);fclose(in);fclose(out);A.程序完成將磁盤文件的信息在屏幕上顯示的功能

B.程序完成將兩個(gè)磁盤文件合二為一的功能

C.程序完成將一個(gè)磁盤文件復(fù)制到另一個(gè)磁盤文件中

D.程序完成將兩個(gè)磁盤文件合并并在屏幕上輸出

15.下列選項(xiàng)中,不屬于數(shù)據(jù)管理員(DBA.職責(zé)的是()。

A.數(shù)據(jù)庫維護(hù)B.數(shù)據(jù)庫設(shè)計(jì)C.改善系統(tǒng)性能,提高系統(tǒng)效率D.數(shù)據(jù)類型轉(zhuǎn)換

16.有以下程序:程序運(yùn)行后的輸出結(jié)果是()。A.13442B.13431C.01234D.02431

17.設(shè)散列表中m個(gè)存儲(chǔ)單元,散列函數(shù)為H(key)=key%p,p是最好選擇()。

A.小于等于m的最大奇數(shù)B.小于等于m的最大素?cái)?shù)C.小于等于m的最大偶數(shù)D.小于等于m的最大合數(shù)

18.程序流程圖中帶有箭頭的線段表示的是()。

A.圖元關(guān)系B.數(shù)據(jù)流C.控制流D.調(diào)用關(guān)系

19.數(shù)據(jù)處理的最小單位是()。

A.數(shù)據(jù)B.數(shù)據(jù)元素C.數(shù)據(jù)項(xiàng)D.數(shù)據(jù)結(jié)構(gòu)

20.

二、2.填空題(20題)21.設(shè)有下列程序:

#include<stdio.h>

#include<string.h>

main()

{inti;

charsi10],ti10];

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é)果是______。

22.通常,將軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過程稱為【】。

23.若要說明一個(gè)新類型名ArrInt,使得定義語句ArrIntx;等價(jià)于定義語句Intx[4][10];,正確的說明語句形式為【】。

24.下列程序的運(yùn)行結(jié)果為【】。

main()

{intx=2,y,z;

x*=3+1;

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

x+=y=z=5;

printf("%d,",x);

K=y==Z;

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

}

25.以下程序用于判斷a、b、c能否構(gòu)成三角形,若能,輸出YES,否則輸出NO。當(dāng)給a、b、c輸入三角形三條邊長時(shí),確定a、b、c能構(gòu)成三角形的條件是需同時(shí)滿足三個(gè)條件:a+b>c,a+c>b,b+c>a。

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

main()

{floata,b,c;

scanf("%f%f%f",&a,&b,&c);

if(【】)printf("YES\n");/*a、b、c能構(gòu)成三角形*/

elseprintf("NO\n");/*a、b、c不能構(gòu)成三角形*/

}

26.以下程序運(yùn)行后輸入3,abcde<回車>,則輸出結(jié)果是【】。

#include<string.h>

move(char*str,intn)

{chartemp;inti;

temp=str[n-1];

for(i=n-1;i>0;i--)str[i]=str[i-1];

str[0]=temp;

}

main()

{chars[50];intn,i,z;

scanf("%d,%s",&n,s);

z=strlen(S);

for(i=1;i<=n;i++)move(s,z);

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

}

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

#include<stdio.h>

main()

{intx=1,y=1,a=1,b=1;

switch(x)

{case1:

switch(y)

{case0:a++;break;

case1:b++;break;

}

case2:

a++;b++;break;

}

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

}

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

structaa

{intx,*y;

}*p;

inta[8]={10,20,30,40,50,60,70,80};

structaab[4]={100,&a[1],200,&a[3],10,&a[5],20,&a[7]};

main()

{p=b;

printf(%d",*++p->y);

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

}

29.以下程序通過函數(shù)SunFun()調(diào)用F(x),x的值從0到10,這里F(x)=x2+1,由F函數(shù)實(shí)現(xiàn),請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

intSunFun(int);

intF(int);

main()

{pfintf("Thesum=%d\n",SunFun(10));}

SunFun(intn)

{intx,s=0;

for(x=0;x<=n;x++)s+=F(【】);

returns;

F(intx)

{return(【】);}

30.函數(shù)sstrcmp()的功能是對(duì)兩個(gè)字符串進(jìn)行比較。當(dāng)s所指字符串和t所指字符串相等時(shí),返回值為0;當(dāng)s所指字符串大于t所指字符串時(shí),返回值大于0;當(dāng)s所指字符串小于t所指字符串時(shí),返回值小于0(功能等同于庫函數(shù)strcmp())。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

intsstrcmp(char*s,char*t)

{

while(*s&&*t&&*s==【】)

{s++;t++;}

rerurn【】;

}

31.數(shù)據(jù)庫技術(shù)的主要特點(diǎn)為數(shù)據(jù)的集成性、數(shù)據(jù)的高【】和低冗余性、數(shù)據(jù)獨(dú)立性和數(shù)據(jù)統(tǒng)一管理與控制。

32.以下程序的功能是對(duì)從鍵盤上輸入的兩個(gè)字符串進(jìn)行比較,然后輸出兩個(gè)字符串中第一個(gè)不相同字符的ASCII碼值之差。請(qǐng)?zhí)羁铡?/p>

#include"stdio.h"

main()

{chara1[20],a2[20];intn=0,t;

scanf("%st",a1);scanf("%s",a2);

while(a1[n]!=a2[n]&&(a1[n]!=【】))

{t=【】;

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

33.設(shè)x、y、z均為int型變量,請(qǐng)寫出描述“x或y中至少有一個(gè)小于z”的表達(dá)式______。

34.軟件是程序、數(shù)據(jù)和【】的集合。

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

36.輸入字母a時(shí),下列程序的運(yùn)行結(jié)果為【】。

#include<stdio.h>

main()

{charch;

ch=getchar();

(ch>='a'&&ch<='z')?putchar(ch+'A'-'a'):putchar(ch);

}

37.表達(dá)式1/2*(int)3.7/(int)(2.4*(1.5+2.5))值的數(shù)據(jù)類型為______。

38.定義inta=5,b;,則執(zhí)行表達(dá)式b=++a*--a之后,變量b的值為【】。

39.設(shè)C語言中,一個(gè)int型數(shù)據(jù)在內(nèi)存中占兩個(gè)字節(jié),則int型數(shù)據(jù)的取值范圍為【】。

40.下述函數(shù)統(tǒng)計(jì)一個(gè)字符串中的單詞個(gè)數(shù),單詞是指處在空格之間的字符序列,請(qǐng)?zhí)羁铡?/p>

intword(char*s)

{intnum=0,flag=0;

while(*s)

{if(【】=='')flag=0;

elseif(【】){flag=1;num++}

}

return【】;}

三、1.選擇題(20題)41.若已定義x和y為double類型,則表達(dá)式“x=1,y=x+3/2”的值是()。

A.1B.2C.2D.2.5

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

main()

{inta,i;a=0;

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

{switch(i)

{case0:

case3:a+=2;

case1:

case2:a+=3;

default:a+=5;}

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

A.31B.13C.10D.20

43.若有說明:ints[2][3]={0};,則下面正確的敘述是______。

A.只有元素s[0][0]可得到初值0

B.此說明語句不正確

C.數(shù)組s中各元素都可得到初值,但其值不一定為0

D.數(shù)組s中每個(gè)元素均可得到初值0

44.下列程序的輸出結(jié)果是()。main(){inta,b,d=25;a=d/10%9;b=a&&(-1);printf("%d,%d\n",a,b);}

A.6,1B.2,1C.6,0D.2,0

45.下列程序的輸出結(jié)果是()。main(){intp[8]={11,12,13,14,15,16,17,18},i=0,j=0;while(i++<7)if(p[i]%2)j+=p[i];printf("%d\n",j);}

A.42B.45C.56D.60

46.將E-R圖轉(zhuǎn)換到關(guān)系模式時(shí),實(shí)體與聯(lián)系都可以表示成________。

A.屬性B.關(guān)系C.鍵D.域

47.以下程序(程序左邊的數(shù)字為附加的行號(hào))______。1#include<str.h>2#include<stdio.h>3main()4{chars[]="string";5puts(s);6strcpy(s,"hello");7printf("%3s\n",s);}

A.沒有錯(cuò)B.第1行有錯(cuò)C.第6行有錯(cuò)D.第7行有錯(cuò)

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

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

49.關(guān)系表中的每一橫行稱為一個(gè)()。A.元組B.字段C.屬性D.碼

50.C語言中各種基本數(shù)據(jù)類型的存儲(chǔ)空間長度排列為()

A.char≤long≤int≤float≤double

B.double≤float≤long≤int≤char

C.char≤int≤long≤float≤double

D.float≤int≤long≤char≤double

51.以下選項(xiàng)中不能作為合法常量的是_____。A.1.234e04B.1.234e0.4C.1.234e+4D.1.234e0

52.“商品”與“顧客”兩個(gè)實(shí)體集之間的聯(lián)系一般是

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

53.已經(jīng)定義ch為字符型變量,以下賦值表達(dá)式中錯(cuò)誤的是______。

A.ch='\'B.ch=62+3C.ch=NULLD.ch='\xaa'

54.下列關(guān)于棧的描述中錯(cuò)誤的是()

A.棧是先進(jìn)后出的線性表B.棧只能順序存儲(chǔ)C.棧具有記憶作用D.對(duì)棧的插入與刪除操作中,不需要改變棧底指針

55.下列說法不正確的是()。

A.C程序是以函數(shù)為基本單位的,整個(gè)程序由函數(shù)組成

B.C語言程序的一條語句可以寫在不同的行上

C.C程序的注釋行對(duì)程序的運(yùn)行功能不起任何作用,所以注釋應(yīng)該盡可能少寫

D.C程序的每個(gè)語句都以分號(hào)結(jié)束

56.以下語句的輸出結(jié)果是()printf("%d,%d,%u\n",016,16,-16);

A.16,16,65420B.14,16,6542C.16,16,-16D.14,16,-16

57.以下有4組用戶標(biāo)識(shí)符,其中合法的—組是______。

A.FOR-subCase

B.4dDOSize

C.f2_G3IFabc

D.WORDvoiddefine

58.定義int*swap()指的是______。

A.一個(gè)返回整型值的函swap()

B.—個(gè)返回指向整型值指針的swap()

C.一個(gè)指向函數(shù)swap()的指針,函數(shù)返回一個(gè)整型值

D.以上說法均錯(cuò)

59.若執(zhí)行下列的程序時(shí),從鍵盤上輸入1和2,則輸出結(jié)果是()。#include<stdio.h>main(){inta,b,s;scanf("%d%d",&a,&b);s=a;if(a<b)s=b;S=S*S,printf("%d\n",s);}

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

60.以下程序的輸出結(jié)果是()main(){staticchara[10]={"Chinese"};printf("%d",strlen(a));}

A.7B.2C.9D.10

四、選擇題(20題)61.給出以下定義:

則正確的敘述為()。

A.數(shù)組m和數(shù)組n等價(jià)B.數(shù)組m和數(shù)組n的長度相同C.數(shù)組m的長度小于數(shù)組n的長度D.數(shù)組m的長度大于數(shù)組n的長度

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

A.順序存儲(chǔ)結(jié)構(gòu)的存儲(chǔ)一定是連續(xù)的,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的存儲(chǔ)空間不一定是連續(xù)的

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

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

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

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

A.seanf

B.getchar

C.gets

D.getc

64.if語句的基本形式是:if(表達(dá)式)語句,以下關(guān)于“表達(dá)式”值的敘述中正確的是()。A.可以是任意合法的數(shù)值B.必須是整數(shù)值C.必須是正數(shù)D.必須是邏輯值

65.

66.運(yùn)算符________的優(yōu)先級(jí)最高。

A.[]B.+=C.?:D.++

67.有以下程序:

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

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

68.為了使模塊盡可能獨(dú)立,要求()。A.模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量強(qiáng)

B.模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量弱

C.模塊的內(nèi)聚程度要盡量低,且各模塊間的偶合程度要盡量弱

D.模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量強(qiáng)

69.在學(xué)生管理的關(guān)系數(shù)據(jù)庫中,存取一個(gè)學(xué)生信息的數(shù)據(jù)單位是()。

A.文件B.數(shù)據(jù)庫C.字段D.記錄

70.

71.有以下程序:

程序運(yùn)行時(shí),輸入的值在哪個(gè)范圍才會(huì)有輸出結(jié)果()。

A.不等于10的整數(shù)

B.大于3且不等于l0的整數(shù)

C.大于3或等于l0的整數(shù)

D.小于3的整數(shù)

72.

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

#include<stdio.h>

main()

{inti;

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

switch(i%5)

{case0:printf("*");break;

case1:printf("#");break;

default:printf("\n");

case2:printf("&");

}

}

A.&#B.#&C.#&D.&

**&#

&**

74.

75.設(shè)有以下函數(shù):

voidfun(intn,char*s){…}

則下面對(duì)函數(shù)指針的定義和賦值均正確的是()。

A.void(*pf)();pf=fun;

B.void*pf();pf=fun

C.void*pf();*pf=fun;

D.void(*pf)(int,char);pf=&fun;

76.

77.下列關(guān)于棧的描述錯(cuò)誤的是()。

A.棧按“先進(jìn)后出”組織數(shù)據(jù)B.棧是特殊的線性表,只能在一端插入或刪除數(shù)據(jù)C.棧具有記憶功能D.棧只能順序存儲(chǔ)

78.

79.

80.

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的作用是:將字符串tt中的大寫字母都改為對(duì)應(yīng)的小寫字母,其他字符不變。

例如,若輸入“I,anl,A,Student”,則輸出“i,am,a,student”。

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

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

試題程序:

六、程序設(shè)計(jì)題(1題)82.某學(xué)生的記錄由學(xué)號(hào)、8門課成績和平均分組成,學(xué)號(hào)和8門課的成績已在主函數(shù)中給出。請(qǐng)編寫proc()函數(shù),它的功能是:求出該學(xué)生的平均分并放在記錄的ave成員中。請(qǐng)自己定義正確的形參。例如,若學(xué)生的成績是65.5,75,88,90,90.5,66,64.5,89.5,則他的平均分應(yīng)當(dāng)是78.625。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫的若干語句。試題程序:

參考答案

1.B

2.B

3.B

4.A條件表達(dá)式“x=表達(dá)式1?表達(dá)式2:表達(dá)式3”的含義是:先求解表達(dá)式1,若其值不為0(真),則求解表達(dá)式2,將表達(dá)式2的值賦給x;若表達(dá)式1的值為0(假),則求解表達(dá)式3,將表達(dá)式3的值賦給X。本題中與條件表達(dá)式“(x-y)”等價(jià)的是“(x-y<0||lx-y>0)”。故本題答案為A選項(xiàng)。

5.B在main函數(shù)中將結(jié)構(gòu)體變量a賦值給變量b。輸出結(jié)構(gòu)體變量b的值為:Zhao,m,85,90。故本題答案為8選項(xiàng)。

6.D

7.D

8.D

9.A根據(jù)題意,當(dāng)s=1時(shí),輸出65;當(dāng)s=2時(shí),輸出6;當(dāng)S=3時(shí),則輸出64;當(dāng)S=4時(shí),輸出5;當(dāng)s=5時(shí),輸出6;當(dāng)s=0時(shí),程序直接退出。所以最后答案為6566456,A選項(xiàng)正確。

10.D

11.A解析:在C語言中所謂函數(shù)的遞歸是在指在調(diào)用一個(gè)函數(shù)的過程中,又出現(xiàn)了直接或間接地調(diào)用該函數(shù)本身,直接調(diào)用該函數(shù)本身的稱為函數(shù)遞歸,而間接調(diào)用該函數(shù)稱為函數(shù)的間接遞歸調(diào)用.由程序可以看出函數(shù)f(a,i,j)為一遞歸函數(shù),其功能是i

12.C在本題中,程序段首先定義了字符型指針變量p,并使其指向一個(gè)字符串,然后將指針變量p加3,即使其指向字符串的第四個(gè)元素。然后執(zhí)行輸出語句,通過輸出語句的輸出格式我們可以知道,最后輸出的是一個(gè)十進(jìn)制數(shù)的整型數(shù)值,其輸出列表為strlen(strcpy(P,″ABCD″))。這就要求我們了解strlen函數(shù)和strcpy函數(shù)的作用。

strcpy的調(diào)用格式是:strcpy(目的地址,源地址),其功能是把源地址的字符串復(fù)制到目的地址中,這種復(fù)制將覆蓋原來的字符串。strcat函數(shù)的功能是將源地址的字符串復(fù)制到目的地址字符串的后面。

strlen的調(diào)用格式是:strlen(字符串地址),其功能是返回字符串中字符的個(gè)數(shù)。

那么程序中執(zhí)行strcpy(P,″ABCD″)后指針變量p所指向的字符串為“ABCD”,該字符串中字符的個(gè)數(shù)為4,那么執(zhí)行strlen后,程序最終輸出的結(jié)果是4。因此本題正確的答案是C。

13.Amain函數(shù)中定義一個(gè)字符指針s,指向字符串“\\ta\\018bc”。for循環(huán)遍歷s指向的字符串中的字符,然后輸出根據(jù)題意可以理解為:s指向的字符串中有多少個(gè)字符,就輸出多少個(gè)s指向的字符串中字符分別是\\t(轉(zhuǎn)義字符)、a、\\01(轉(zhuǎn)義字符)、8、b、c,總共6個(gè)。其中因?yàn)?不屬于八進(jìn)制中的數(shù)字,所以“\\018”不是一個(gè)轉(zhuǎn)義字符,而“\\01”是轉(zhuǎn)義字符。故本題答案為A選項(xiàng)。

14.C

15.DD)【解析】數(shù)據(jù)庫管理員(DataBaseAdministrator,DBA)是指對(duì)數(shù)據(jù)庫的規(guī)劃、設(shè)計(jì)、維護(hù)、監(jiān)視等的人員,其主要工作如下:數(shù)據(jù)庫設(shè)計(jì)。DBA的主要任務(wù)之一是數(shù)據(jù)庫設(shè)計(jì),具體地說是進(jìn)行數(shù)據(jù)模式的設(shè)計(jì);數(shù)據(jù)庫維護(hù)。DBA必須對(duì)數(shù)據(jù)庫中的數(shù)據(jù)安全性、完整性、并發(fā)控制及系統(tǒng)恢復(fù)、數(shù)據(jù)定期轉(zhuǎn)儲(chǔ)等進(jìn)行實(shí)施與維護(hù);改善系統(tǒng)性能,提高系統(tǒng)效率。DBA必須隨時(shí)監(jiān)視數(shù)據(jù)庫的運(yùn)行狀態(tài),不斷調(diào)整內(nèi)部結(jié)構(gòu),使系統(tǒng)保持最佳狀態(tài)與效率。

16.Bmain函數(shù)中定義包含5個(gè)元素的數(shù)組m,每個(gè)元素都是NODE類型。指針p指向數(shù)組第1個(gè)元素,指針q指向數(shù)組最后一個(gè)元素。while循環(huán)使用p、q從首尾向中間遍歷,遍歷的同時(shí)為各個(gè)元素賦值。所以第1輪循環(huán),i的值為0,先執(zhí)行的值為++i,后執(zhí)行i++的值也為1,m[0].k和m[4].k的值都為1;接著第2輪循環(huán),i的值為2,先執(zhí)行的值為3,后執(zhí)行i++的值也為3,m[l].k和m[3].k的值都為3;第3輪循環(huán),p和q指向的都是m[2]元素,指針相同,循環(huán)結(jié)束,此時(shí)i的值為4,即m[2].k賦值為4。綜上,程序輸出:13431。本題答案為B選項(xiàng)。

17.B

18.C解析:程序流程圖是人們對(duì)解決問題的方法、思路或算法的一種描述。其中,圖框表示各種操作的類型,圖框中的文字和符號(hào)表示操作的內(nèi)容,流程線表示操作的先后次序。帶箭頭的線段在數(shù)據(jù)流程圖中表示數(shù)據(jù)流。帶箭頭的線段在程序流程圖中表示控制流。題中給出的選項(xiàng)中,在圖元之間用帶有箭頭的線段表示圖元關(guān)系。在模塊之間用帶有箭頭的線段表示調(diào)用關(guān)系。構(gòu)成程序流程圖的基本圖符及含義:→或↓表示控制流;□表示加工步驟;

表示邏輯條件。

19.C解析:數(shù)據(jù)處理的最小單位是數(shù)據(jù)項(xiàng);由若干數(shù)據(jù)項(xiàng)組成數(shù)據(jù)元素;而數(shù)據(jù)是指能夠被計(jì)算機(jī)識(shí)別、存儲(chǔ)和加工處理的信息載體;數(shù)據(jù)結(jié)構(gòu)是指數(shù)據(jù)之間的相互關(guān)系和數(shù)據(jù)運(yùn)算。故正確答案為選項(xiàng)C)。

20.D

21.QTHRGQTHRG解析:strcmp(t,s)函數(shù)用來比較t和s所指字符串的大小,若t>s,則函數(shù)值大于0;若t=s,則函數(shù)值等于0;若t<s,則函數(shù)值小于0。strcpy(t,s)函數(shù)的功能是把字符數(shù)組,所指字符串的內(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。

22.軟件生命周期軟件生命周期解析:軟件產(chǎn)品從考慮其概念開始,到該軟件產(chǎn)品不能使用為止的整個(gè)時(shí)期都屬于軟件生命周期。一般包括可行性研究與需求分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試、交付使用以及維護(hù)等活動(dòng)。

23.typedefintArrInt[4][10];

24.8141

25.a+b>c&&a+c>b&&b+c>aa+b>c&&a+c>b&&b+c>a解析:在邏輯表達(dá)式中,如果要同時(shí)滿足幾個(gè)條件可以使用邏輯與運(yùn)算符“&&”,故本題的答案應(yīng)該為:a+b>c&&a+c>b&&b+c>a或其他等價(jià)形式。

26.cdeabcdeab解析:本題move()函數(shù)的作用,是將形參s仕所指地址的連續(xù)n位循環(huán)右移1位,即讓str[n-1]=str[n-2],str[n-2]=str[n-3],…,str[1]=str[0],str[0]=str[n-1](原)。主函數(shù)中用了一個(gè)for循環(huán)調(diào)用move()函數(shù),共循環(huán)3次,所以數(shù)組s被循環(huán)右移了3位,故最后輸出的值為cdeab。

27.a=2b=3a=2,b=3解析:分析程序,程序從x=1語句開始執(zhí)行,之后執(zhí)行第一個(gè)switch語句,switch(x)=switch(1),所以執(zhí)行case1,case1語句中包含一個(gè)復(fù)合switch語句:這時(shí)執(zhí)行第二個(gè)switch語句,此時(shí)y=1,所以switch(y)=switch(1),因此執(zhí)行case1,將b加1,得到b=2,遇到break語句,退出第二個(gè)switch語句,則整個(gè)case1的復(fù)合語句執(zhí)行完畢,由于在這個(gè)case1的后面沒有break語句使其退出第一個(gè)switch語句,所以接著執(zhí)行下列的case2后面的語句,即將a,b各加1,得到a=2,b=3。

28.3010130101解析:注意地址自增與變量自增的區(qū)別。

29.xx*x+1x\r\nx*x+1解析:本題考查函數(shù)的調(diào)用。P(x)的含義為x的平方加1,所以第一處應(yīng)填x;第二處應(yīng)填x*x+1。

30.*t或t[0]*s-*t或*s-t[0]或s[0]-*t或s[0]-t[0]*t或t[0]\r\n*s-*t或*s-t[0]或s[0]-*t或s[0]-t[0]解析:比較兩個(gè)字符串的大小方法是:從第一個(gè)字符開始依次向后比較,若對(duì)應(yīng)的字符相等則接著比較下一個(gè)字符,一直到兩個(gè)字符串中對(duì)應(yīng)字符不等,或者有一個(gè)為“\\0”,此對(duì)應(yīng)字符的ASCII碼大的字符串就大。故循環(huán)條件是*s和*t不為“\\0”,且*s和*t相同,第一處應(yīng)填“*t”或其他等價(jià)形式。根據(jù)題意可知第二處應(yīng)填“*s-*t”或其等價(jià)形式。

31.共享性共享性解析:數(shù)據(jù)庫技術(shù)的主要特點(diǎn)有以下幾個(gè)方面:數(shù)據(jù)的集成性,數(shù)據(jù)的高共享性與低冗余性,數(shù)據(jù)的獨(dú)立性,數(shù)據(jù)統(tǒng)一管理與控制。

32.\0'al[n]-a2[n]或s2[n]-al[n]\\0'\r\nal[n]-a2[n]或s2[n]-al[n]

33.x<z‖y<zx<z‖y<z解析:本題考查邏輯運(yùn)算符和邏輯表達(dá)式。x或y中至少有一個(gè)小于z,即x<z或y<z,是“或”的關(guān)系。

34.文檔文檔解析:計(jì)算機(jī)軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)以及相關(guān)文檔的完整集合。

35.物理獨(dú)立性數(shù)據(jù)獨(dú)立性是數(shù)據(jù)與程序間的互不依賴性,即數(shù)據(jù)庫中數(shù)據(jù)獨(dú)立于應(yīng)用程序而不依賴于應(yīng)用程序。也就是說,數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)與存取方式的改變不會(huì)影響應(yīng)用程序。數(shù)據(jù)獨(dú)立性一般分為物理獨(dú)立性與邏輯獨(dú)立性兩級(jí)。

36.A

37.整型整型解析:上面的表達(dá)式中,通過強(qiáng)制類型轉(zhuǎn)換把最后參與運(yùn)算的數(shù)據(jù)都轉(zhuǎn)換成了int型,所以最后得到的結(jié)果也是int類型。

38.2525解析:#NAME?

39.-32768~32767

40.*s++flag==0或*(s-1)==''num*s++\r\nflag==0或*(s-1)==''\r\nnum解析:在統(tǒng)計(jì)字符串單詞個(gè)數(shù)的算法中,本題的flag是為了記錄一個(gè)單詞是否結(jié)束。第18空應(yīng)填*s++;如果某個(gè)字符不是空格,則必需判斷它是否是單詞,如是,則使得flag的標(biāo)志為1,num的值加1。本題判斷方法是:先判斷s所指向的字符是否為空格,如果是則使得flag=0,否則判斷前一個(gè)字符是否是空格,如果是則說明這個(gè)字符是一個(gè)單詞的開始,將flag標(biāo)志為1,num的值加1,如果不是,則不必記錄。故第19空應(yīng)flag==0或*(s-1)=='';最后一個(gè)空格需填寫的是返回的單詞的個(gè)數(shù),即num。

41.C解析:在表達(dá)式中3/2是一個(gè)整型表達(dá)式,它的運(yùn)算結(jié)果應(yīng)該為整型,值為1。當(dāng)變量x與其相加時(shí)轉(zhuǎn)換為雙精度實(shí)型即y=1.000000+1.000000=2.000000。所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。

42.A解析:本題考查用于多分支選擇的switch語句,其一般形式為:

switch(表達(dá)式)

{

case常量表達(dá)式1:語句1;

case常量表達(dá)式2:語句2;

case常量表達(dá)式n:語句n;

default:語句n+1;

}

其語義是:計(jì)算表達(dá)式的值,并逐個(gè)與其后的常量表達(dá)式值進(jìn)行比較,當(dāng)表達(dá)式的值與某個(gè)常量表達(dá)式的值相等時(shí),即執(zhí)行其后的語句,然后不再進(jìn)行判斷,繼續(xù)執(zhí)行后面所有case后的語句;如表達(dá)式的值與所有case后的常量表達(dá)式均不相等時(shí),則執(zhí)行default后的語句。

43.D解析:給二維數(shù)組賦初值時(shí),若所賦初值不足,則給后面的元素自動(dòng)補(bǔ)初值0。

44.B解析:算術(shù)運(yùn)行符“/”、“%”的優(yōu)先級(jí)處于同一級(jí),并且兩者的結(jié)合性都是從左到右。所以算術(shù)表達(dá)式運(yùn)算過程為:a=25/10%9=2%9=2:當(dāng)邏輯運(yùn)算符“&&”兩邊的值都是非零時(shí),邏輯表達(dá)式的值才為真(即為1)。所以b=2&&(-1)=1。

45.B解析:在C語言中,數(shù)組的下標(biāo)默認(rèn)為0,因此數(shù)組p的下標(biāo)范圍為:0~7。程序循環(huán)過程為:第1次循環(huán)i=0,執(zhí)行循環(huán),并且i自加,得i=1,因此p[i]為p[1]=12,12%2=0,不執(zhí)行后面的語句;接著進(jìn)行第2次循環(huán),此時(shí)i=1,小于7執(zhí)行循環(huán),并且i自加,得i=2,因此p[i]為p[2]=13,13%2=1,執(zhí)行后面的語句;這樣一直到退出循環(huán)。最后j的值為j=13+15+17=45。

46.B解析:關(guān)系數(shù)據(jù)庫邏輯設(shè)計(jì)的主要工作是將\ue008E-R\ue009圖轉(zhuǎn)換成指定RDBMS中的關(guān)系模式。首先,從E-R圖到關(guān)系模式的轉(zhuǎn)換是比較直接的,實(shí)體與聯(lián)系都可以表示成關(guān)系,E-R圖中屬性也可以轉(zhuǎn)換成關(guān)系的屬性,實(shí)體集也可以轉(zhuǎn)換成關(guān)系。

47.B解析:字符串復(fù)制函數(shù)strcpy包含在頭文件string.h中,因此,程序中的第1行文件包含命令是錯(cuò)誤的。

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

49.A解析:關(guān)系表中,每一行稱為一個(gè)元組,對(duì)應(yīng)表中的一條記錄;每一列稱為表中的一個(gè)屬性,對(duì)應(yīng)表中的一個(gè)字段;在二維表中凡能惟一標(biāo)識(shí)元組的最小屬性集稱為該表的鍵或碼。

50.C

51.B解析:本題考查的是C語言中實(shí)型常量的指數(shù)表示法。實(shí)型常量的指數(shù)表示法是用字母e(或E)將一個(gè)實(shí)數(shù)的小數(shù)部分和指數(shù)部分分隔開。字母e(或E)之前是小數(shù)部分,之后是指數(shù)部分,這兩部分都不能省略,且指數(shù)部分必須為整數(shù)。故選項(xiàng)B不正確。所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。

52.D解析:兩個(gè)實(shí)體間的聯(lián)系可以歸納為3種類型:一對(duì)一聯(lián)系:一對(duì)一的聯(lián)系表現(xiàn)為主表中的每一條記錄只與相關(guān)表中的一條記錄相關(guān)聯(lián)。一對(duì)多聯(lián)系,一對(duì)多的聯(lián)系表現(xiàn)為主表中的每一條記錄與相關(guān)表中的多條記錄相關(guān)聯(lián)。多對(duì)多聯(lián)系:多對(duì)多的聯(lián)系表現(xiàn)為二個(gè)表中的多個(gè)記錄在相關(guān)表中同樣有多個(gè)記錄其匹配。本題中一個(gè)顧客可以購買多種商品,同一種商品可以有多個(gè)顧客購買,所以商品和顧客之間是多對(duì)多的聯(lián)系。

53.A解析:反斜杠字符“\\”賦給字符,應(yīng)該寫成ch='\\\\',所以A是錯(cuò)誤的。

54.B解析:在棧中,允許插入與刪除的一端稱為棧頂,不允許插入與刪除的另一端稱為棧底。棧頂元素總是最后被插入的元素,從而也是最先能被刪除的元素;棧底元素總是最先被插入的元素,從而也是最后才能被刪除的元素。即棧是按照先進(jìn)后出(FILO,F(xiàn)irstInLastOut)或后進(jìn)

溫馨提示

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