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

一、單選題(20題)1.計(jì)算機(jī)算法必須具備輸入、輸出和()等5個(gè)特性。

A.可行性、可移植性和可擴(kuò)充性B.可行性、確定性和有窮性C.確定性、有窮性和穩(wěn)定性D.易讀性、穩(wěn)定性和安全性

2.采用開(kāi)放定址法處理散列表的沖突時(shí),其平均查找長(zhǎng)度()

A.高于二分查找B.高于鏈接法處理沖突C.低于二分查找D.低于鏈接法處理沖突

3.數(shù)據(jù)結(jié)構(gòu)中,與所使用的計(jì)算機(jī)無(wú)關(guān)的是數(shù)據(jù)的()結(jié)構(gòu)。

A.存儲(chǔ)B.物理C.邏輯D.物理和存儲(chǔ)

4.數(shù)據(jù)庫(kù)管理系統(tǒng)中負(fù)責(zé)數(shù)據(jù)模式定義的語(yǔ)言是()。A.數(shù)據(jù)定義語(yǔ)言B.數(shù)據(jù)管理語(yǔ)言C.數(shù)據(jù)操縱語(yǔ)言D.數(shù)據(jù)控制語(yǔ)言

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

A.在C語(yǔ)言中,預(yù)處理命令行都以“#”開(kāi)頭

B.預(yù)處理命令行必須位于C語(yǔ)言源程序的起始位置

C.“include<stdio.h>”必須放在C語(yǔ)言程序的開(kāi)頭

D.C語(yǔ)言的預(yù)處理不能實(shí)現(xiàn)宏定義和條件編譯的功能

6.下列語(yǔ)句中,說(shuō)法正確的是______。

A.C程序書(shū)寫(xiě)格式嚴(yán)格,每行只能寫(xiě)一個(gè)語(yǔ)句

B.C程序書(shū)寫(xiě)格式嚴(yán)格,每行必須有行號(hào)

C.C程序書(shū)寫(xiě)格式自由,每行可以寫(xiě)多條語(yǔ)句,但之間必須用逗號(hào)隔開(kāi)

D.C程序書(shū)寫(xiě)格式自由,一個(gè)語(yǔ)句可以分寫(xiě)在多行

7.C語(yǔ)言中,組成數(shù)據(jù)文件的成分是()。A.A.記錄

B.數(shù)據(jù)行

C.數(shù)據(jù)塊

D.字符(字節(jié))序列

8.要求當(dāng)A的值為奇數(shù)時(shí),表達(dá)式的值為“真”,A的值為偶數(shù)時(shí),表達(dá)式的值為“假”,以下不滿足要求的表達(dá)式是()。A.A%2==1B.!(A%2==0)C.A%2D.!(A%2)

9.有以下程序

main()

{intk=5,n=0;

do

{switch(k)

{case1:case3:n+=1;k--;break;

default:n=0;k--;

case2:case4:n+=2;k--;break;

}

printf("%d",n);

}while(k>0&&n<5);

}

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

A.235B.0235C.02356D.2356

10.設(shè)有定義“Charp[]={‘1’,‘2’,‘3’},*q=p;”,以下不能計(jì)算出一個(gè)char型數(shù)據(jù)所占字節(jié)數(shù)的表達(dá)式是()。A.sizeof(p)B.sizeof(char)C.sizeof(*q)D.sizeof(p[0])

11.下列敘述錯(cuò)誤的是()。

A.函數(shù)名是屬于用戶標(biāo)識(shí)符,需符合C語(yǔ)言對(duì)標(biāo)識(shí)符的規(guī)定

B.形參只能是變量

C.為保證程序的正常運(yùn)行,函數(shù)中定義的變量不能與其他函數(shù)中的變量同名

D.函數(shù)中定義的變量可以與其他函數(shù)中的變量同名

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

main()

{charst[20]="hell0\O\t\\\”;

printf("%d%d\n",strlen(st),sizeof(st));

}

A.99

B.520

C.1320

D.2020

13.

14.由兩個(gè)棧共享一個(gè)存儲(chǔ)空間的好處是______。

A.減少存取時(shí)間,降低下溢發(fā)生的幾率

B.節(jié)省存儲(chǔ)空間,降低上溢發(fā)生的幾率

C.減少存取時(shí)間,降低上溢發(fā)生的幾率

D.節(jié)省存儲(chǔ)空間,降低下溢發(fā)生的幾率

15.針對(duì)簡(jiǎn)單程序設(shè)計(jì),以下敘述的實(shí)施步驟順序正確的是()。

A.確定算法和數(shù)據(jù)結(jié)構(gòu)、編碼、調(diào)試、整理文檔

B.編碼、確定算法和數(shù)據(jù)結(jié)構(gòu)、調(diào)試、整理文檔

C.整理文檔、確定算法和數(shù)據(jù)結(jié)構(gòu)、編碼、調(diào)試

D.確定算法和數(shù)據(jù)結(jié)構(gòu)、調(diào)試、編碼、整理文檔

16.已知字母A的ASCII碼為十進(jìn)制的65,下面程序main(){charch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}的輸出是_________。

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

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

A.intnum[0..2008];

B.intnum[];

C.intN=2008;intnum[N];

D.#defineN2008;intnum[N];

18.

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

B.charc[20]="goodmorning";

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

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

20.

二、2.填空題(20題)21.軟件工程研究的內(nèi)容主要包括:【】技術(shù)和軟件工程管理。

22.算法的復(fù)雜度主要包括時(shí)間復(fù)雜度和______復(fù)雜度。

23.單元測(cè)試又稱模塊測(cè)試,一般采用【】測(cè)試。

24.語(yǔ)句“int(*ptr)();”的含義是______是指向函數(shù)的指針,該函數(shù)返回一個(gè)int型數(shù)據(jù)。

25.在面向?qū)ο蠓椒ㄖ?,類之間共享屬性和方法的機(jī)制稱為_(kāi)_____。

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

intmystrlen(char*str)

{inti;

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

return(【】);

}

27.已定義charch=′$′;inti=1,j;,執(zhí)行j!=ch&&i++以后,i的值為【】。

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

#include<stdio,h>

voidswap(y)

{intt;

t=x;x=y;y=t:printf("%d%d",x,y);

}

main()

{ihta=3,b=4:

swap(a,b);prinff("%d%d",a,b);

}

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

main()

{unsigneda=0112,x;

x=a>>3;

printf("x=%o",x);

}

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

#include<stdio.h>

main()

{intfun();

fun();

}

fun()

{staticinta[4]={1,2,3,4};

inti;

for(i=0;i<4;i++)a[i]+=a[i];

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

printf"\n");

}

31.算法的復(fù)雜度主要包括【】復(fù)雜度和空間復(fù)雜度。

32.數(shù)據(jù)庫(kù)保護(hù)分為:安全性控制、______、并發(fā)性控制和數(shù)據(jù)的恢復(fù)。

33.在數(shù)據(jù)流圖的類型中有兩種類型,它們是變換型和()。

34.一個(gè)項(xiàng)目具有一個(gè)項(xiàng)目主管,一個(gè)項(xiàng)目主管叫‘管理多個(gè)項(xiàng)目,則實(shí)體“主管”與實(shí)體“”的聯(lián)系屬于______。

35.以下和程序中,主函數(shù)調(diào)用了lineMax函數(shù),實(shí)現(xiàn)在N行M列的二維數(shù)組中,找出每一行上的最大值,請(qǐng)?zhí)羁铡?/p>

#defineN3

#defineM4

voidlineMax(intx[N][M])

{inti,j,p;

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

{p=0;

for(j=1;j<M;j++)

if(x[i][p]<x[i][j]【】;

printf("Themaxvalueinlineis%d\n",【】);

}

{

main()

{intx[N][M]={1,5,4,2,6,4,3,8,2,3,1};

【】;

}

36.以下程序中,函數(shù)SumColumMin的功能是:求出M行N列二維數(shù)組每列元素中的最小值,并計(jì)算它們的和值。和值通過(guò)形參傳回主函數(shù)輸出。請(qǐng)?zhí)羁铡?/p>

#defineM2

#defineN4

voidSumColumMin(inta[M][N],int*sum)

{inti,j,k,s=0;

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

{k=0;

for(j=1;j<M;j++)

if(a[k][i]>a[j][i])k=j;

s+=a[k][i];

}

*sum=s;

}

main()

{intx[M][N]={3,2,5,1,4,1,8,3},s;

SumColumMin(【】);

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

}

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

38.當(dāng)運(yùn)行以下程序時(shí),輸入abcd,程序的輸出結(jié)果是:()。

insert(charstr[])

{inti;

i=strlen(str);

while(i>0)

{str[2*i]=str[i];str[2*i-1]='*';i--;}

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

}

main()

{charstr[40];

scanf("%s",str);insert(str);

}

39.執(zhí)行以下程序時(shí),若輸入end<回車>,則輸出結(jié)果是【】。

main()

{charch[10]="Begin";

gets(&ch[1]);puts(ch);

}

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

三、1.選擇題(20題)41.以下選項(xiàng)中,當(dāng)x為大于l的奇數(shù)時(shí),值為0的表達(dá)式是

A.x%2==1B.x/2C.x%2!=0D.x%2==0

42.有以下程序:#include<stdio,h>voidsum(inta[]){a[0]=a[-1]+a[1];}main(){inta[10]={1,2,3,4,5,6,7,8,9,10};sum(&a[2]);prinff("%d\n",a[2]);}程序運(yùn)行后的輸出結(jié)果是()。

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

43.有以下程序:#include<stdio.h>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);}程序運(yùn)行后的輸出結(jié)果是()。

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

44.下列程序的運(yùn)行結(jié)果是()。main(){inta=-5,b=1,c=1;intx=0,Y=2,z=0;if(c>0)x=x+y;if(a<=0){if(b>0)if(c<=0)y=x-y;}elseif(c>0)Y=x-y;elsez=y;printf("%d,%d,%d\n",x,y,z);}

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

45.下列程序的輸出結(jié)果是()。main{intx=i,y=8;printf("%d%d\n",x--,--y);

A.88B.77C.78D.87

46.C語(yǔ)言中用于結(jié)構(gòu)化程序設(shè)計(jì)的3種基本結(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

47.有以下定義:#include<stdio.h>chara[10],*b=a;下面不能給數(shù)組a輸入字符串的語(yǔ)句是()。

A.gets(a)B.gets(a[0]);C.gets(&a[0]);D.gets(b);

48.為了避免在嵌套的條件語(yǔ)句if-else中產(chǎn)生二義性,C語(yǔ)言中規(guī)定的if-else配對(duì)原則是______。

A.else子句與縮排位置相同的if配對(duì)

B.else子句與其之前最近的未被配對(duì)的if配對(duì)

C.else子句與其之后最近的if配對(duì)

D.else子句與同一行上的if配對(duì)

49.若有以下調(diào)用語(yǔ)句,則不正確的fun函數(shù)的首部是()。main(){inta[50],n;fun(n,&a[9]);┆}

A.voidfun(intm,intx[])

B.voidfun(ints,inth[41])

C.voidfun(intp,int*s)

D.voidfun(intn,inta)

50.結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是______。

A.程序的規(guī)模B.程序的易讀性C.程序的執(zhí)行效率D.程序的可移植性

51.設(shè)有以下語(yǔ)句()structst{intn;structst*next;};staticstructsta[3]={5,&a[1],7,&a[2],9,'\0'},*p;p=&a[0]則表達(dá)式()的值是6。

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

52.下列表達(dá)式中,可以正確表示的關(guān)系是()。

A.(x>=1)10(x<=0)B.x>1‖x=0C.x>=1ORx<=0D.X>=1&&x<=0

53.有下列程序:main{chars[]="abcde";s+=2:printf("%d\n",s[0]);}執(zhí)行后的結(jié)果是()。

A.輸出字符a的ASCII碼B.輸出字符c的ASCII碼C.輸出字符cD.程序出錯(cuò)

54.棧和隊(duì)列的共同點(diǎn)是()。

A.都是先進(jìn)后出B.都是先進(jìn)先出C.只允許在端點(diǎn)處插入和刪除元素D.沒(méi)有共同點(diǎn)

55.下面程序的輸出結(jié)果是()。#include<stdio.h>main(){inta[]={1,2,3,4,5,6,7,8,7,10},*p;p=a;printf("%d\n",*p+8);}

A.0B.1C.10D.9

56.下面一組中都是C語(yǔ)言關(guān)鍵字的是______。

A.doubleIntfor

B.mainwhilegoto

C.volatilebreakstatic

D.mallocsizeofnew

57.以下程序的輸出結(jié)果是()。{intx;int*y;}*p;intdt[4]={1,2,3,4};structstaa[4]={2,&dt[0],3,&dt[0],4,&dt[0],5,&dt[0],};{p=aa;pfintf("%d\n",++(p->x));}

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

58.有以下程序#include<stdio.h>voidfun(int*s,intn1,intn2){inti,j,t;i=n1j=n2;while(i<j){t=s[i];s[i]=s[j];s[j]=t;i++;j--;}}main(){inta[10]={1,2,3,4,5,6,7,8,9,0},k;fun(a,0,3);fun(a,4,9);fun(a,0,9);for(k=0;k<10;k++)printf("%d",a[k]);printf("\n");}程序的運(yùn)行結(jié)果是

A.987654321B.4321098765C.5678901234D.987651234

59.有以下程序:#include<stdio.h>main(){charc1='1',c2='2';c1=getchar();c2=getchar();putchar(c1);putchar(c2);}當(dāng)運(yùn)行時(shí)輸入:a<回車>后,以下敘述正確的是______。

A.變量c1被賦予字符a,c2被賦予回車符

B.程序?qū)⒌却脩糨斎?個(gè)字符

C.變量c1被賦予字符a,c2中仍是原有字符2

D.變量c1被賦予字符a,c2中將無(wú)確定值

60.設(shè)有如下程序#include<stdio.h>main(){int**k,*j,i=100;j=&i;k=&j;printf("%d\n"”,**k);}上述程序的輸出結(jié)果是______。

A.運(yùn)行錯(cuò)誤B.100C.i的地址D.j的地址

四、選擇題(20題)61.計(jì)算機(jī)高級(jí)語(yǔ)言程序的運(yùn)行方法有編譯執(zhí)行和解釋執(zhí)行兩種,以下敘述中正確的是A.C語(yǔ)言程序僅可以編譯執(zhí)行B.C語(yǔ)言程序僅可以解釋執(zhí)行C.C語(yǔ)言程序既可以編譯執(zhí)行又可以解釋執(zhí)行D.以上說(shuō)法都不對(duì)

62.

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

voidfun(int*a,inti,inti)

{intt;

if(i<i)

{t=a[i[;a[i]=a[j];a[j]一t;

i++;j--;fun(a,i,j);

}

}

main

{intK[]={2,6,1,8},i;

fun(x,0,3);

for(i=0;i<1;i++)printf("%2d",x[i]);

printf("\n");

}

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

63.c源程序中不能表示的數(shù)制是()。

A.二進(jìn)制B.八進(jìn)制C.十進(jìn)制D.十六進(jìn)制

64.下列關(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型變量

65.

66.人員基本信息一般包括:身份證號(hào),姓名,性別,年齡等。其中可以作為主關(guān)鍵字的是()。

A.身份證號(hào)B.姓名C.性別D.年齡

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

A.abc28B.28cC.abcD.因類型不一致而出錯(cuò)

68.有以下程序:

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

A.54B.55C.65D.45

69.

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

main

{charw[][10]={"ABCD","EFGH","IJKL","

MNOP"),K;

for(k=1;k<3;k++)printf("%s\n",w[k]);

A.ABCDFGHKLB.ABCDEFGUC.EFGJKOD.EFGHUKL

70.(38)索引屬于()

A.模式

B.內(nèi)模式

C.外模式

D.概念模式

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

)。A.函數(shù)形參的值也可以傳回給對(duì)應(yīng)的實(shí)參

B.函數(shù)調(diào)用可以作為一個(gè)獨(dú)立的語(yǔ)句存在

C.若函數(shù)有返回值,必須通過(guò)r;mm語(yǔ)句返回

D.C程序必須由一個(gè)或一個(gè)以上的函數(shù)組成

72.在關(guān)系數(shù)據(jù)庫(kù)中,用來(lái)表示實(shí)體之間聯(lián)系的是()。

A.二維表B.E—R圖C.元組D.文件

73.

74.有以下程序

75.C語(yǔ)言中的標(biāo)識(shí)符分為關(guān)鍵字、預(yù)定義標(biāo)識(shí)符和用戶標(biāo)識(shí)符,以下敘述正確的是()。

A.預(yù)定義標(biāo)識(shí)符(如庫(kù)函數(shù)中的函數(shù)名)可用做用戶標(biāo)識(shí)符,但失去原有含義

B.用戶標(biāo)識(shí)符可以由字母和數(shù)字任意順序組成

C.在標(biāo)識(shí)符中大寫(xiě)字母和小寫(xiě)字母被認(rèn)為是相同的字符

D.關(guān)鍵字可用做用戶標(biāo)識(shí)符,但失去原有含義

76.

下列程序的執(zhí)行結(jié)果是()。

#include<stdioh>

main

{inta,b,c;

a=b=2,c=I;

c=(a++)-1;printf("%d,0Ad",a,c);

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

)

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

77.以下關(guān)于return語(yǔ)句的敘述中正確的是()。A.一個(gè)自定義函數(shù)中可以根據(jù)不同情況設(shè)置多條return語(yǔ)句

B.一個(gè)自定義函數(shù)中必須有一條return語(yǔ)句

C.定義成void類型的函數(shù)中可以有帶返回值的retum語(yǔ)句

D.沒(méi)有return語(yǔ)句的自定義函數(shù)在執(zhí)行結(jié)束時(shí)不能返回到調(diào)用處

78.下列敘述中正確的是()。A.在c程序的函數(shù)中不能定義另一個(gè)函數(shù)

B.在c程序中main函數(shù)的位置是固定的

C.C程序中所有函數(shù)之間都可以相互調(diào)用

D.每個(gè)C程序文件中都必須要有一個(gè)main函數(shù)

79.

80.有以下程序

voidfunc(int*a,intb[])

{b[0]=*a+6;}

main()

{inta,b[5]={0};

a=0;b[0]=3;

func(&a,b);

rintf("%d\n",b[0]);

}

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

A.6B.7

C.8D.9

五、程序改錯(cuò)題(1題)81.下列給定程序中函數(shù)fun的功能是:逐個(gè)比較P.q所指兩個(gè)字符串對(duì)應(yīng)位置上的字符,并把ASCIl值大或相等的字符依次存放到C所指的數(shù)組中,形成一個(gè)新的字符串。

例如,若主函數(shù)中a字符串為“aBCDeFgH”,b字符串為“Abed”,則C中的字符串應(yīng)為“aBcdeFgH”。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。

注意:部分源程序在文件MODll.C中,不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

六、程序設(shè)計(jì)題(1題)82.規(guī)定輸入的字符串中只包含字母和*號(hào)。編寫(xiě)函數(shù)fun,其功能是:刪除字符串中所有的*號(hào)。編寫(xiě)函數(shù)時(shí),不得使用C語(yǔ)言提供的字符串函數(shù)。

例如,字符串中的內(nèi)容為“****A*BC*DEF*G****”,刪除后,字符串中的內(nèi)容應(yīng)當(dāng)是“ABCDEFG”。

注意:部分源程序給出如下。

請(qǐng)勿改動(dòng)maini)函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。

試題程序:

#include<conio.h>

#include<stdio.h>

voidfun(chara)

{

voidmain

{

chars[81];

print{("Enterastring:\n");

gets(s):

fun(S);

printf("Thestringafterdeleted:\n");

puts(s);

}

參考答案

1.B

2.B

3.C解析:數(shù)據(jù)結(jié)構(gòu)是指數(shù)據(jù)以及他們之間的相互聯(lián)系。其中數(shù)據(jù)的邏輯結(jié)構(gòu)是指數(shù)據(jù)元素之間的邏輯關(guān)系,它與所使用的計(jì)算機(jī)無(wú)關(guān):數(shù)據(jù)的物理結(jié)構(gòu),又稱存儲(chǔ)結(jié)構(gòu),是指數(shù)據(jù)結(jié)構(gòu)在計(jì)算機(jī)中的表示,它包括數(shù)據(jù)元素的表示和元素的表示,其中數(shù)據(jù)元素之間的關(guān)系在計(jì)算機(jī)中有順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)兩種。因此C是正確答案。

4.AA。數(shù)據(jù)定義語(yǔ)言(DDL)是集中負(fù)責(zé)數(shù)據(jù)庫(kù)模式定義與數(shù)據(jù)庫(kù)對(duì)象定義的語(yǔ)言。數(shù)據(jù)操縱語(yǔ)言(DML)是指用來(lái)查詢、添加、修改和刪除數(shù)據(jù)庫(kù)中數(shù)的語(yǔ)句。數(shù)據(jù)控制語(yǔ)言(DCL)是用來(lái)設(shè)置或者更改數(shù)據(jù)為用戶或角色權(quán)限的語(yǔ)句。據(jù)此,本題正確答案為選項(xiàng)A。

5.A預(yù)處理命令以“#”開(kāi)頭,一般在源文件的最前面書(shū)寫(xiě),但不是必須在起始位置書(shū)寫(xiě),所以B、C選項(xiàng)錯(cuò)誤。C語(yǔ)言的預(yù)處理能夠?qū)崿F(xiàn)宏定義和條件編譯的功能,所以D選項(xiàng)錯(cuò)誤。故本題答案為A選項(xiàng)。

6.D

7.D解析:C語(yǔ)言中的文件是流式文件。流式文件是一種無(wú)結(jié)構(gòu)文件,即整個(gè)文件是一串字符流或二進(jìn)制流。文件的存取以字符或字節(jié)為單位。

8.D

9.A解析:因?yàn)樽兞康某跏贾捣謩e為“k=5,n=0”,所以程序第一次進(jìn)入循環(huán)時(shí),執(zhí)行default語(yǔ)句,這時(shí)k=4,執(zhí)行'case4:”這個(gè)分支,結(jié)果是“n=2,k=3”,打印出2;然后程序進(jìn)行第二次循環(huán),這時(shí)“n=2,k=3”,執(zhí)行'case3:”這個(gè)分支,結(jié)果是“n=3,k=2”,打印出3;程序進(jìn)行第三次循環(huán),這時(shí)“n=3,k=2”,執(zhí)行“case2:case4:”這兩個(gè)分支,結(jié)果是“n=5,k=1”,打印出5,這時(shí)因?yàn)閚=5不滿足n<5的循環(huán)條件,因此退出循環(huán),程序運(yùn)行結(jié)束,故輸出結(jié)果為235。

10.A根據(jù)題目中的定義可知,“sizeof(p)”計(jì)算的是數(shù)組p中所有元素所占用的字節(jié)數(shù),而不是char型數(shù)據(jù)所占的字節(jié)數(shù)。故本題答案為A選項(xiàng)。

11.C解析:本題考查函數(shù)調(diào)用時(shí)參數(shù)的作用域。在函數(shù)調(diào)用時(shí),函數(shù)體內(nèi)定義的變量的作用域連函數(shù)體內(nèi),因而在不同函數(shù)體內(nèi)定義的變量可以相同,不影響各個(gè)變量的使用。

12.B\n從題目中可知,\O、\t、\\分別為一個(gè)字符,而sizeof是求字節(jié)個(gè)數(shù)的函數(shù),其中包括\O占的字節(jié),strlen函數(shù)是求數(shù)組長(zhǎng)度的函數(shù);其以\0結(jié)束,因此strlen的值為5,sizeof的值為20。

\n

13.D

14.B解析:常常一個(gè)程序中要用到多個(gè)棧,為了不發(fā)生上溢錯(cuò)誤,就必須給每個(gè)棧分配一個(gè)足夠大的存儲(chǔ)空間。但實(shí)際中,很難準(zhǔn)確地估計(jì),若每個(gè)棧都分配過(guò)大的存儲(chǔ)空間,勢(shì)必造成系統(tǒng)空間緊張;若讓多個(gè)棧共用一個(gè)足夠大的連續(xù)存儲(chǔ)空間,則可利用棧的動(dòng)態(tài)特性使他們的存儲(chǔ)空間互補(bǔ)。

15.A\nC語(yǔ)言中程序中的步驟實(shí)現(xiàn)為:先確定程序中的算法和數(shù)據(jù)結(jié)構(gòu),然后進(jìn)行程序的編碼,再進(jìn)行對(duì)程序的調(diào)試,最后進(jìn)行文檔的整理和記錄。使用這種步驟可以方便程序的編寫(xiě)以及在完成后提高代碼的重用性。

\n

16.A解析:由于字符“5”和“3”的ASCII碼相差為2,所以ch1經(jīng)過(guò)運(yùn)算后的值應(yīng)為65+2=67;同理,ch2經(jīng)過(guò)運(yùn)算后的值應(yīng)為65+3=68,即是字符“D”。

17.DC語(yǔ)言不允許定義動(dòng)態(tài)數(shù)組,定義數(shù)組的大小必須為常量表達(dá)式。A選項(xiàng)錯(cuò)誤,C語(yǔ)言中的數(shù)組沒(méi)有此類型的定義方法;B選項(xiàng)錯(cuò)誤,定義數(shù)組應(yīng)指明數(shù)組大小,如果不指明數(shù)組大小,需要給定元素的個(gè)數(shù);C選項(xiàng)錯(cuò)誤,N為變量,不能用來(lái)定義數(shù)組大小。故本題答案為D選項(xiàng)。

18.B

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

20.D

21.軟件開(kāi)發(fā)

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

23.白盒法白盒法

24.ptrptr解析:本題考查函數(shù)指針的概念。函數(shù)指針的定義格式是:類型標(biāo)識(shí)符(*指針變量名)()。注:“類型標(biāo)識(shí)符”為函數(shù)返回值的類型。

25.繼承繼承解析:在面向?qū)ο蟮某绦蛟O(shè)計(jì)方法中,某些屬性和方法是可以共享的,由于類從父類中繼承而來(lái),這樣提高了軟件的可重用性。

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

27.11解析:在執(zhí)行邏輯表達(dá)式'j=!ch&&i++'時(shí),首先判斷j=!ch的值,因?yàn)?ch=\'$\''不為0,所以'j=!ch=0',編譯系統(tǒng)便不再計(jì)算表達(dá)式'i++'的值,i的值不變,仍為1。

28.43344334解析:程序?qū)⒆兞縜,b的值傳給函數(shù)swap的形參x,y,并在函數(shù)中對(duì)x,y的值進(jìn)行交換,所以在函數(shù)swap中輸出x,y的值4,3,由于c程序的函數(shù)是僧傳遞,實(shí)參a,b的值不會(huì)隨形參x,y的改變而改變,所以在主函數(shù)中輸出的a,b的值為3,4。

29.x=11x=11解析:在對(duì)無(wú)符號(hào)數(shù)的右移是高位補(bǔ)0。

30.24682,4,6,8解析:子函數(shù)fun()的功能是將數(shù)組a中的元素都自加一遍,然后仍然將結(jié)果存在原數(shù)組中,其實(shí)就是將數(shù)組a的每個(gè)元素都變?yōu)樵瓉?lái)的2倍,然后輸出。在主程序中首先通過(guò)intfun()定義了子函數(shù)fun(),然后再調(diào)用fun()。

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

32.完整性控制完整性控制

33.事務(wù)型事務(wù)型解析:典型的數(shù)據(jù)流類型有兩種:變換型和事務(wù)型。

34.一對(duì)多一對(duì)多解析:由于一個(gè)項(xiàng)目主管可以管理多個(gè)項(xiàng)目,而一個(gè)項(xiàng)目只能有一個(gè)項(xiàng)目主管,“項(xiàng)目主管”這個(gè)實(shí)體與“項(xiàng)目”這個(gè)實(shí)體的管理關(guān)系囑于一對(duì)多。

35.p=jx[i][p]lineMax(x)

36.x&sx,&s解析:函數(shù)SumColumMin中變量k存放一列數(shù)組元素中值最小的數(shù)組元素的行標(biāo),函數(shù)通過(guò)形參sum帶回值,sum是指針變量,將s中的值賦給*sum??諡楹瘮?shù)調(diào)用,函數(shù)SumColumMin有兩個(gè)形參,二維數(shù)組和指針變量,故空中應(yīng)填x,&s。

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

38.a*b*c*d*a*b*c*d*解析:字符處理函數(shù)strlen()測(cè)試字符串常量的長(zhǎng)度,不包括‘\\0’在內(nèi)。因此,函數(shù)insert()實(shí)現(xiàn)了將字符數(shù)組中每個(gè)非‘\\0’的字符后插入字符‘*’的功能。故輸出結(jié)果是a*b*c*d*。

39.Bend

40.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í)行一次。

41.D解析:因?yàn)閤的值為大于1的奇數(shù),所以x除以2的余數(shù)等于1,因此,選項(xiàng)A)、C)中表達(dá)式的結(jié)果為真,不為0;對(duì)于選項(xiàng)B)來(lái)說(shuō),x除以2的商不會(huì)等于0;選項(xiàng)D)中表達(dá)式的結(jié)果為假,即等于0。

42.A解析:本題將主函數(shù)中a[2]的地址傳遞給了sum函數(shù)中的形參a[],使得sum函數(shù)中的(a+0)為主函數(shù)中a[2]的地址,所以a[-1]即*(a-1)的值為主函數(shù)中a[1]的值,故函數(shù)sum中a[0]=2+4。由于此函數(shù)中的a是指向主函數(shù)中的a[2],所以主函數(shù)中的a[2]的值即為6。

43.D解析:本題考查函數(shù)的返回值。fun函數(shù)的功能是比較a,b的值,返回其中較大者。對(duì)于main函數(shù)中的語(yǔ)句r=fun(fun(x,y),2*z);是先調(diào)用fun(x,y)返回8,再將8和12作為實(shí)參調(diào)用函數(shù)fun,得到的返回值為12。

44.A解析:本題考查ifelse語(yǔ)句的使用。先判斷第1個(gè)if語(yǔ)句,因?yàn)閏=1>0,所以x=x+y=0+2=2。第1個(gè)if語(yǔ)句,因?yàn)閍=-5<0,所以進(jìn)入下列的復(fù)合語(yǔ)句。經(jīng)判斷發(fā)現(xiàn),復(fù)合語(yǔ)句中第2個(gè)if語(yǔ)句的條件均不滿足,不執(zhí)行任何語(yǔ)句退出,在這個(gè)過(guò)程中y和z的值沒(méi)有發(fā)生變化。

45.D解析:本題考查自減(--)運(yùn)算符的使用?!皒--”是先引用x的值然后將x的值減1,所以輸出的x值為8;“--y”是先將y的值減1然后再引用y的值,所以輸出的y值為7。

46.A解析:本題主要考查結(jié)構(gòu)化程序設(shè)計(jì)的基本結(jié)構(gòu)。結(jié)構(gòu)化程序設(shè)計(jì)有3種基本結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。

47.B解析:函數(shù)gets(字符數(shù)組)的功能是從終端輸入一個(gè)字符串到字符數(shù)組,并且得到一個(gè)函數(shù)值,該函數(shù)值是字符數(shù)組的起始地址。函數(shù)的參數(shù)應(yīng)該是一個(gè)指針,所以選項(xiàng)B)錯(cuò)誤。

48.B

49.D解析:根據(jù)main函數(shù)中的fun函數(shù)調(diào)用語(yǔ)句可知,fun函數(shù)的第二個(gè)參數(shù)是一個(gè)地址值,對(duì)應(yīng)的形參可以是指針變量或一維數(shù)組,所以D)不正確。

50.B解析:采用結(jié)構(gòu)化編程方法的好處主要在于:一是便于控制、降低程序的復(fù)雜性,因此便于編寫(xiě)程序。二是程序清晰易讀,可理解性好。因此,結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是程序的易讀性,而不是程序的規(guī)模、程序的執(zhí)行效率和程序的可移植性。

51.D

52.A解析:題中要求x的取值是小于等于0或者大于等于1,這說(shuō)明表達(dá)式是或的關(guān)系,所以在寫(xiě)成C語(yǔ)言表達(dá)式應(yīng)是邏輯或的關(guān)系,邏輯或運(yùn)算符是'‖'。

53.D解析:因?yàn)樽址麛?shù)組s1)中的數(shù)組名s表示的是一個(gè)地址常量。所以語(yǔ)句“s+=2;”不能將指針在當(dāng)前位置的基礎(chǔ)上再向后移動(dòng)兩位,因而程序編譯時(shí)出錯(cuò)。

54.C棧和隊(duì)列都是一種特殊的操作受限的線性表,只允許在端點(diǎn)處進(jìn)行插入和刪除。二者的區(qū)別是:棧只允許在表的一端進(jìn)行插入或刪除操作,是一種“后進(jìn)先出”的線性表;而隊(duì)列只允許在表的一端進(jìn)行插入操作,在另一端進(jìn)行刪除操作,是一種“先進(jìn)先出”的線性表:本題答案為C)。

55.D解析:“*”號(hào)的優(yōu)先級(jí)比“+”的優(yōu)先級(jí)高,所以先執(zhí)行“*P”:指針P指向的是數(shù)組的首地址,因此*p=1;再加8得9。

56.C解析:C語(yǔ)言中的關(guān)鍵字有32個(gè)關(guān)鍵字(參見(jiàn)C語(yǔ)言教程),本題中只有C符合題意。

57.C解析:程序首先將指針p指向結(jié)構(gòu)體數(shù)組aa的首地址,通過(guò)p->x引用了結(jié)構(gòu)體數(shù)組aa[0]的第一個(gè)成員2;++(p->x)是將p->x的值加1,所以輸出結(jié)果為3。

58.C解析:函數(shù)fun(int*s,intn1,intn2)的功能是對(duì)數(shù)組s中的元素進(jìn)行首尾互相調(diào)換。所以在主函數(shù)中,當(dāng)fun(a,0,3)執(zhí)行完后,數(shù)組a[12]={4,3,2,1,5.6,7,8,9,01;再執(zhí)行fun(a,4,9),數(shù)組a[12]={4,3,2,1,0,9,8,7,6,5};再執(zhí)行fun(a,0,9)后,數(shù)組a[12]={5,6,7,8,9,0,1,2,3,4}。

59.A解析:getchar函數(shù)讀入字符時(shí),空格、回車符都作為字符讀入,因此A正確。

60.B解析:j=&i,j的值就是i的地址,*j=100,將j的地址賦給k,這時(shí)*k=j,那么,**k=*j,而*j=100,所以**k=100,最后的打印結(jié)果應(yīng)當(dāng)為100。

61.A\n解釋程序是將源程序(如BASIC)作為輸入,解釋一句后就提交計(jì)算機(jī)執(zhí)行一句,并不形成目標(biāo)程序。編譯程序是把高級(jí)語(yǔ)言(如FORTRAN、COBOL、Pascal、C等)源程序作為輸入,進(jìn)行翻譯轉(zhuǎn)換,產(chǎn)生出機(jī)器語(yǔ)言的目標(biāo)程序,然后再讓計(jì)算機(jī)執(zhí)行這個(gè)目標(biāo)程序,得到計(jì)算結(jié)果。

\n

62.C

\n本題用了函數(shù)調(diào)用,fun中if語(yǔ)句成立則進(jìn)行i,j的交換,用到主函勢(shì)中則為把下標(biāo)為0、3,1、2互換,因此,當(dāng)執(zhí)行完后X的數(shù)組為8,1,6,2,故選擇C選項(xiàng)。

\n

63.AA?!窘馕觥緾語(yǔ)言源程序不能表示八進(jìn)制,在C語(yǔ)言中,所有的數(shù)值型常量都帶有符號(hào),所以整型數(shù)量只區(qū)別整型和長(zhǎng)整型兩種形式,整型常量和長(zhǎng)整型常量均可用十進(jìn)制、二進(jìn)制、十六進(jìn)制3種形式表示,故A不正確。

64.D++(或——)的運(yùn)算結(jié)果是使運(yùn)算對(duì)象增1(或減1);運(yùn)算對(duì)象可以是整型變量、實(shí)型變量,也可以是字符型變量,但不能是常量或表達(dá)式。++(或——)的結(jié)合方向是”自右向左”。

65.A

66.A\n主關(guān)鍵字是表中區(qū)別不同的記錄的標(biāo)識(shí),在該表中只有身份證號(hào)能具有這個(gè)作用,所以用其作為主關(guān)鍵字。

\n

67.A第一次寫(xiě)入abC,第二次寫(xiě)入28,用字符

溫馨提示

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