2022年陜西省銅川市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測(cè)試卷(含答案)_第1頁
2022年陜西省銅川市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測(cè)試卷(含答案)_第2頁
2022年陜西省銅川市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測(cè)試卷(含答案)_第3頁
2022年陜西省銅川市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測(cè)試卷(含答案)_第4頁
2022年陜西省銅川市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測(cè)試卷(含答案)_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2022年陜西省銅川市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測(cè)試卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.下列說法錯(cuò)誤的是______。

A.關(guān)系中每一個(gè)屬性對(duì)應(yīng)一個(gè)值域

B.關(guān)系中不同的屬性可對(duì)應(yīng)同一值域

C.對(duì)應(yīng)同一值域的屬性為不同的屬性

D.DOM(A)表示屬性A的取值范圍

2.設(shè)有如下定義語句:intm[]={2,4,6,8,10},*k=m;以下選項(xiàng)中,表達(dá)式的值為6的是()。

A.*(k+2)B.k+2C.*k+2D.*k+=2

3.若有下列定義,則對(duì)a數(shù)組元素地址的正確引用是()。inta[5],*p=a;

A.p+5B.*a+1C.&a+1D.&a[0]

4.若某表最常用的操作是在最后一個(gè)結(jié)點(diǎn)之后插入一個(gè)結(jié)點(diǎn)或刪除最后一個(gè)結(jié)點(diǎn),則采用()存儲(chǔ)方式最節(jié)省運(yùn)算時(shí)間。

A.單鏈表B.給出表頭指針的單循環(huán)鏈表C.雙鏈表D.帶頭結(jié)點(diǎn)的雙循環(huán)鏈表

5.有以下程序:#includemain(){inty=9;for(;y>0;y--)If?y%3==0)printf("%d",---y);}程序的運(yùn)行結(jié)果是()。A.852B.963C.741D.875421

6.有以下程序

#include<stdio.h>

main()

{ints;

scanf(“%d”,&s);

while(s>0)

{switch(s)

{case1;printf(“%d”,s+5);

case2:printf(“%d”,s+4);break;

case3:printf(“%d”。s+3);

default:printf(“%d”,s+1);break;

}

seanf(“%d”,&s);

}

}

運(yùn)行時(shí),若輸入12345O<回車>,則輸出結(jié)果是A.6566456B.66656C.66666D.6666656

7.字符串通常采用的兩種存儲(chǔ)方式是()A.散列存儲(chǔ)和索引存儲(chǔ)B.索引存儲(chǔ)和鏈?zhǔn)酱鎯?chǔ)C.順序存儲(chǔ)和鏈?zhǔn)酱鎯?chǔ)D.散列存儲(chǔ)和順序存儲(chǔ)

8.以下選項(xiàng)中合法的c語言常量是()。

A.,C—STR’B.2014.1C.”\l.0D.2EK

9.執(zhí)行下面的程序段后,變量k中的值為()。intk=3,s[2];s[0]=k;k=s[1]*10;

A.不定值B.33C.30D.10

10.以下程序的運(yùn)行結(jié)果是______。#include<stdio.h>main(){inta[]:{1,2,3,4,5,6,7,8,9,10,11,12):int*p=a+5,*q=NULL:*q=*(p+5):printf("%d%d\n",*p,*q);}

A.運(yùn)行后報(bào)錯(cuò)B.66C.612D.55

11.以下關(guān)于鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的敘述中,()是不正確的。

A.結(jié)點(diǎn)除自身信息外還包括指針域,因此存儲(chǔ)密度小于順序存儲(chǔ)結(jié)構(gòu)

B.邏輯上相鄰的結(jié)點(diǎn)物理上不必鄰接

C.可以通過計(jì)算直接確定第i個(gè)結(jié)點(diǎn)的存儲(chǔ)地址

D.插入、刪除運(yùn)算操作方便,不必移動(dòng)結(jié)點(diǎn)

12.若有定義:Typedefint*T[10];T*a;則以下與上述定義中a類型完全相同的是()。

A.int*a[10];

B.int**a[10];

C.int*(*a)[10];

D.int*a[][10];

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

A.將函數(shù)內(nèi)的局部變量說明為static存儲(chǔ)類是為了限制其他編譯單位的引用

B.—個(gè)變量作用域的開始位置完全取決于變量定義語句的位置

C.全局變量可以在函數(shù)以外的任何部位進(jìn)行定義

D.局部變量的“生存期”只限于本次函數(shù)調(diào)用,因此不能將局部變量的運(yùn)算結(jié)果保存至下一次調(diào)用

14.以下選項(xiàng)中不能用作C語言程序合法常量的是()。

A.123B.‘\123’C.1,234D.“\x7D”

15.將10階對(duì)稱矩陣壓縮存儲(chǔ)到一維數(shù)組A中,則數(shù)組A的長(zhǎng)度最少為()

A.100B.40C.55D.80

16.已有定義int(*q)(),指針q可以()。

A.指向函數(shù)的入口地址B.代表函數(shù)的返回值C.表示函數(shù)的類型D.表示函數(shù)返回值的類型

17.

18.當(dāng)調(diào)用函數(shù)時(shí),實(shí)參是一個(gè)數(shù)組名,則向函數(shù)傳送的是______。

A.數(shù)組的長(zhǎng)度B.數(shù)組的首地址C.數(shù)組每一個(gè)元素的地址D.數(shù)組每個(gè)元素中的值

19.以下程序的輸出結(jié)果是()。main{inta[3][3]=“l(fā),2),{3,4),{5,6)},i,j,s=0;for(i=1;i<3;i++)for(j=0;j<=i;j++)s+=a[i][j];printf(”%d\n”,s);}A.18B.19C.20D.21

20.對(duì)于函數(shù)聲明“voidfun(intarray[4],int*ptr);”,以下敘述中正確的是()。

A.array、ptr都是指針變量

B.調(diào)用fun函數(shù)時(shí),實(shí)參的值將逐一復(fù)制給array

C.調(diào)用fun函數(shù)時(shí),array按值傳送,ptr按地址傳送

D.array是數(shù)組,ptr是指針,它們的性質(zhì)不同

二、2.填空題(20題)21.在關(guān)系模型中,把數(shù)據(jù)看成一個(gè)二維表,每一個(gè)二維表稱為一個(gè)______。

22.【】是數(shù)據(jù)庫設(shè)計(jì)的核心。

23.若有下列定義:inta[]={1,2,3,4,5,6,7,8,9,10},*p=a;,則值為3的表達(dá)式為:______。

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

main()

{

intarr[]={30,25,20,15,10,5},*p=arr;

p++;

printf("%d\n",*(p+3));

}

25.Windows的空口分為兩類,一類是應(yīng)用程序窗口,另一類是【】窗口。

26.長(zhǎng)度為n的順序存儲(chǔ)線性表中,當(dāng)在任何位置上插入一個(gè)元素概率都相等時(shí),插入一個(gè)元素所需移動(dòng)元素的平均個(gè)數(shù)為【】。

27.以下程序的功能是:將輸入的正整數(shù)按逆序輸出。例如:若輸入135則輸出531。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{intn,s;

printf("Enteranumber:");scanf("%d",&n);

printf("Output:");

do

{s=n%10;printf("%d",s);【】;

}while(n!=0);

printf("\n");

}

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

#defineMAX(x,y)(x)>(y)?(x):(y)

main()

{

inta=5,b=2;c=3,d=3,t;

t+MAX(a+,b,c+D)*10;

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

}

29.數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu),循環(huán)隊(duì)列屬于______結(jié)構(gòu)。

30.若有定義floatb[15],*p=b;,且數(shù)組b的首地址為200H,則p/13所指向的數(shù)組元素的地址為______。

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

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

main()

{inta=1,b=10;

do

{b-=a;a++;}while(b--<0);

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

}

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

34.關(guān)系模型的完整性規(guī)則是對(duì)關(guān)系的某種約束條件,包括實(shí)體完整性、______和自定義完整性。

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

main()

{inti;

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

{if(i>4)

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

break;}

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

36.若有定義inta[4][4]={{1,2,3,4},{0},{4,6,8,10},{1,3,5,7}},則初始化后,a[1][1]得到的初值是______。

37.下列程序的功能是將2個(gè)數(shù)從小到大輸出。

main()

{floata,b,【】;

scanf(【】,&a,&b);

if(a>b)

{t=a;

【】;

b=t;

}

printf("%5.2f,%5.2f\n",a,b);

}

38.表示“整數(shù)x的絕對(duì)值大于5”時(shí)值為“假”的C語言表達(dá)式是______。

39.在面向?qū)ο蟪绦蛟O(shè)計(jì)中,從外面看只能看到對(duì)象有外部特征,而不知道也無須知道數(shù)據(jù)的具體結(jié)構(gòu)以及實(shí)現(xiàn)操作的算法,這稱為對(duì)象的______。

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

voidreverse(inta[],intn)

{inti,t;

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

{t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}

}

main()

{intb[10]={1,2,3,4,5,6,7,8,9,10};inti,s=0;

reverse(b,8);

for(i=6;i<10;i++)s+=b[i];

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

}

三、1.選擇題(20題)41.下列程序的輸出結(jié)果是()#include<stdio.h>main(){inta=0,i;for(i=1;i<5;i++){switch(i){case0:case3:a+=1;case1:case2:a+=2;default:a+=3;}printf(“%d”,a);}A.19B.18C.6D.8

42.若k是int型變量,且有下面程序片段:k=-3;if(k<=0)printf("####")elseprintf("&&&&")上面程序片段的輸出結(jié)果是()

A.####

B.&&&&

C.###&&&&

D.有語法錯(cuò)誤,無輸出結(jié)果

43.當(dāng)執(zhí)行下面的程序時(shí),如果輸入ABC,則輸出結(jié)果是______。#include"stdio.h"#include"string.h"main(){charss[10]="12345";gets(ss);strcat(ss,"6789");printf("%s\n",ss);}

A.ABC6789B.ABC67C.12345ABC6D.ABC456789

44.設(shè)有如下說明:typedefstruetST{longa;intb;charc[2];}NEW;則下面敘述中正確的是()。

A.以上的說明形式非法B.ST是一個(gè)結(jié)構(gòu)體類型C.NEW是一個(gè)結(jié)構(gòu)體類型D.NEW是一個(gè)結(jié)構(gòu)體變量

45.設(shè)有下列語句inta=1,b=2,c;c=ab(b<<2);執(zhí)行后,C的值為()。

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

46.簡(jiǎn)單的交換排序方法是()。

A.快速排序B.選擇排序C.堆排序D.冒泡排序

47.______是構(gòu)成C語言程序的基本單位。

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

48.有下列程序:fun(intx,inty){return(x+y);}main(){inta=1,b=2,c=3,sum;sm=fun((a++,b++,a+B),c++);printf("%d\n",sum);}執(zhí)行后的輸出結(jié)果是()。

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

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

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

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

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

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

50.若有定義:inta=4,b=5;floatx=3.4,y=2.1;,則下列表達(dá)式的值為()。(float)(a+B)/2+(int)x%(int)y

A.5.5B.55C.5.5D.55

51.若有說明inta[][3]={0,0);,則不正確的敘述是()。

A.數(shù)組a的每個(gè)元素的初值都是0

B.數(shù)組a的第一維大小為1

C.數(shù)組a的行數(shù)為1

D.只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0

52.若已知a=10,b=20,則表達(dá)式!a<b的值為______。

A.10B.1C.20D.30

53.若有如下程序:sub(int*t,inta[3][4]){intm,n;for(m=0;m<3;m++)for(n=0;n<4;n++){*t=a[m][n];t++;}}main(){int*t,s[3][4)={{1,2,3),{4,5,6),{7,8,9}};t=(int*)malloc(50);sub(t,s);printf("%d,%d\n",t[4],t[7]);}則程序運(yùn)行后的輸出結(jié)果是()。

A.4,7B.4,0C.5,8D.程序錯(cuò)誤

54.調(diào)用函數(shù)時(shí),如果實(shí)參是簡(jiǎn)單變量,它與對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式是()。

A.地址傳遞B.單向值傳遞C.由實(shí)參傳形參,再由形參傳實(shí)參D.傳遞方式由用戶指定

55.若有說明inta[3][4];,則a數(shù)組元素的非法引用是()A.a[0][2*1]B.a[1][3]C.a[4-2][0]D.a[0][4]

56.下列敘述中正確的是_______。

A.線性表是線性結(jié)構(gòu)B.棧與隊(duì)列是非線性結(jié)構(gòu)C.線性鍵表是非線性結(jié)構(gòu)D.二叉樹是線性結(jié)構(gòu)

57.若有說明語句:charc=′\72′;則變量c

A.包含1個(gè)字符B.包含2個(gè)字符C.包含3個(gè)字符D.說明不合法,c的值不確定

58.執(zhí)行語句printf("%u\n",+12345)的輸出結(jié)果是()。

A.12345B.0C.-1D.非定值

59.若有以下定義:

structlink

{intdata;

structlink*next;

}a,b,c,*p,*q;

且變量a和b之間已有如下圖所示的鏈表結(jié)構(gòu):

指針p指向變量a,q指向變量c。則能夠把c插入到a和b之間并形成新的鏈表的語句組是:

A.a.next=c;c.next=b;

B.p.next=q;q.next=p.next;

C.p->next=&c;q->next=p->next;

D.(*p).next=q;(*q).next=&b;

60.下列循環(huán)體的執(zhí)行次數(shù)是()。#include<stdio.h>main(){inti,j;for(i=0j=1;i<j+1;i+=1,j--)printf("%d\n",j);}

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

四、選擇題(20題)61.在單鏈表中,增加頭結(jié)點(diǎn)的目的是______。

A.方便運(yùn)算的實(shí)現(xiàn)B.使單鏈表至少有一個(gè)結(jié)點(diǎn)C.標(biāo)識(shí)表結(jié)點(diǎn)中首結(jié)點(diǎn)的位置D.說明單鏈表是線性表的鏈?zhǔn)酱鎯?chǔ)實(shí)現(xiàn)

62.結(jié)構(gòu)化分析可以使用的工具是()。

A.N—s圖B.DFD圖C.PAD圖D.程序流程圖

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

A.程序的規(guī)模B.程序的效率C.程序設(shè)計(jì)語言的先進(jìn)性D.程序易讀性

64.

65.有以下程序:int*f(int*x,int*y){if(*x<*y)returnx;elsereturny;}main(){inta=7,b=8,*p,*q,*r;p=&a;q=&b;r=f(p,q);printf("%d,%d,%d\n",*p,*q,*r);}程序運(yùn)行后輸出結(jié)果是______。

A.7,8,8B.7,8,7C.8,7,7D.8,7,8

66.在下列選項(xiàng)中,沒有構(gòu)成死循環(huán)的是()。

A.

B.

C.

D.

67.

當(dāng)輸入為"hello?"時(shí),下面程序的執(zhí)行結(jié)果是()。

#include<stdio.h>

main

{charc;

c=getchar;

while(c!=?)

{putehar(e);break;

}

}

A.RvfsuB.hC.?D.hello

68.

69.軟件按功能可以分為應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于應(yīng)用軟件的是()。

A.學(xué)生成績(jī)管理系統(tǒng)B.C語言編譯程序C.UNIX操作系統(tǒng)D.數(shù)據(jù)庫管理系統(tǒng)

70.有以下程序:

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

A.PrphsbnB.ProhsbnC.ProgsbnD.Program

71.

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

main

{inta=6,b=3,C;

if(a<b)

{c=a*b;printf("%d%d,%d\n",b,a,c);)

else

{c=b/a;printf("%d,%d,%d\n",b,a,c);)

}

A.3,6,18B.3,6,2C.6,3,18D.6,3,2

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

A.zB.0C.元素Ch[5]地址D.字符y的地址

73.若有定義inta[9],+P=a;,則P+5表示()。

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

74.

75.下列判斷正確的是()。

A.chara="ABCD":等價(jià)于char*a;*a="ABCD":

B.charstr[10]={"ABCD"}:等價(jià)于charstr[10];str[]={"ABCD"};

C.char*s="ABCD":等價(jià)于chars;*s="ABCD";

D.charc[5]="ABCD",d[5]="ABCD":等價(jià)于charc[5]-d[5]="ABCD";

76.假定所有變量均已正確說明,下列程序段運(yùn)行后x的值是()。a=b=c=0;x=12;if(!a)x--;elsex=5:if(c)x=3:elsex=4:A.11B.4C.12D.3

77.

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

#include<stdio.h>

main

{structst

{inty,x,z;

};

union

{longi;

intj;

chark;

}un;

printf("%d,%d\n",sizeof(structst),sizeof(un))

}

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

78.算法的有窮性是指A.算法程序的運(yùn)行時(shí)間是有限的

B.算法程序所處理的數(shù)據(jù)量是有限的

C.算法程序的長(zhǎng)度是有限的

D.算法只能被有限的用戶使用

79.

80.C語言中用于結(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

五、程序改錯(cuò)題(1題)81.下列給定的程序中,函數(shù)proc()的功能是:計(jì)算并輸出k以內(nèi)最大的10個(gè)能被13或17整除的自然數(shù)之和。k的值由主函數(shù)傳人,若k的值為600,則函數(shù)的值為5671。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫函數(shù)proc(),其功能是:將str所指字符串中除了下標(biāo)為奇數(shù)、同時(shí)ASCⅡ值為偶數(shù)的字符外,其余的全部刪除,串中剩余字符所形成的一個(gè)新串放在t所指的數(shù)組中。例如,若str所指字符串中的內(nèi)容為edB2A4Dsdg,其中字符A的ASCⅡ碼值為奇數(shù),因此應(yīng)當(dāng)刪除;其中字符B的ASCⅡ碼值為偶數(shù),但在數(shù)組中的下標(biāo)為偶數(shù),因此也應(yīng)當(dāng)刪除;而字符2的ASCⅡ碼值為偶數(shù),所在數(shù)組中的下標(biāo)為奇數(shù),因此不應(yīng)當(dāng)刪除。依此類推,最后t所指的數(shù)組中的內(nèi)容應(yīng)是d24。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫的若干語句。試題程序:

參考答案

1.C解析:關(guān)系中每一個(gè)屬性都有一個(gè)取值范圍,稱為屬性的值域。每—個(gè)屬性對(duì)應(yīng)一個(gè)值域,不同屬性可對(duì)應(yīng)同一個(gè)值域。對(duì)應(yīng)同一值域的卻不一定是不同的屬性。屬性的值域用DOM(A)表示,A表示屬性的名稱。

2.A本題考查數(shù)組和指針,*k指針是指向rn數(shù)組的首地址,所以要使表達(dá)武的值為6,只需要指針指向第m[2],所以答案選擇A。-

3.D本題考查數(shù)組元素的地址的引用。A中,p+5引用的是a[5]的地址,而數(shù)組a只有5個(gè)元素,即a[0]、a[1]、a[2]、a[3]、a[4],所以引用錯(cuò)誤(注:數(shù)組元素下標(biāo)從0開始);B中,*a+1指的是將數(shù)組a的第一個(gè)元素加1;選項(xiàng)C中,不存在這種引用方式;D中,&a[0]引用的是數(shù)組的首地址。

4.D

5.A答疑:[解析]第一次for循環(huán),y的值為9.y%3的值為0.滿足條件打印-y,即先減一-后打印,所以打印8;第二次for循環(huán),y的值為7.y%3的值為1.不執(zhí)行打印語句;第三次for循環(huán),y的值為6.y%3的值為0.滿足條件打印--y,即先減-后打印,所以打印5;第四次for循環(huán),y的值為4.不滿足條件,不執(zhí)行打印語句;第五次for循環(huán),y的值為3.滿足條件,打印輸出2;第六次for循環(huán),y的值為1.不滿足條件,不執(zhí)行打印語句。

6.A

7.C

8.B所謂常量是指在程序運(yùn)行的過程中,其值不能被改變的量。在C語言中,有整型常量、實(shí)型常量、字符常量和字符串常量等類型。選項(xiàng)A是字符串,但使用單引號(hào),錯(cuò)誤,選項(xiàng)c,D,為實(shí)型常量中指數(shù)形式,但指數(shù)形式e(E)之前必須是數(shù)字,之后必須為整數(shù),錯(cuò)誤。故答案為B選項(xiàng)。

9.A解析:定義數(shù)組時(shí),沒有對(duì)s[1]進(jìn)行初始化,因此s[1]的值不確定,所以k=s[1]*10的值也不確定。

10.A

11.C

12.B由題意可知,T是一個(gè)數(shù)組指針,即int*[],所以使用T*a定義,可知a屬于int**[\n]類型。本題答案為B選項(xiàng)。

13.A將函數(shù)內(nèi)的局部變量說明為static存儲(chǔ)類,第1次調(diào)用該函數(shù)時(shí)才對(duì)其初始化,后續(xù)調(diào)用時(shí)使用上一次調(diào)用結(jié)束后的值;函數(shù)體內(nèi)的局部變量無論是否聲明為stat\x1fic,外部編譯單位都不能引用,選項(xiàng)A錯(cuò)誤,其他選項(xiàng)正確。本題答案為A選項(xiàng)。

14.CC選項(xiàng)中不能含有逗號(hào),所以“1,234”不能用作C語言程序的合法常量。B選項(xiàng)表示的是八進(jìn)制的常量,D選項(xiàng)表示的是十六進(jìn)制的常量。故本題答案為C選項(xiàng)。

15.C

16.A解析:本題考查的是指向函數(shù)的指針。函數(shù)指針的定義方式是:類型標(biāo)識(shí)符(*指針變量名)()。其中,“類型標(biāo)識(shí)符”為函數(shù)返回值的類型;“指針”指向函數(shù)的入口地址。

17.A

18.B解析:當(dāng)調(diào)用函數(shù)時(shí),實(shí)參是一個(gè)數(shù)組名,則向函數(shù)傳送的是數(shù)組的首地址,函數(shù)中的形參可定義成以下三種形式:

①形參定義成數(shù)組;

②形參定義成可變長(zhǎng)數(shù)組:

③形參定義為指針變量。

19.A循環(huán)的作用是求行下標(biāo)從1到2列下標(biāo)從0到i的元素之和,即s=a[1][0]+a[1][1]+a[2][0]+a[2][1]+a[2][2]=3+4+5+6+0=18。

20.A聲明函數(shù)fun“voidfun(intarray[4],int*ptr);”,第1個(gè)參數(shù)雖然是數(shù)組類型,但是會(huì)退化為指針,并且形參數(shù)組的個(gè)數(shù)沒有用;第2個(gè)參數(shù)是指針。兩個(gè)形參都是指針,傳遞的都是地址,可知選項(xiàng)B、C、D錯(cuò)誤。故本題答案為A選項(xiàng)。

21.關(guān)系關(guān)系解析:關(guān)系模型用;維表表示,則每個(gè);維表代表一種關(guān)系。

22.數(shù)據(jù)模型數(shù)據(jù)模型

23.p+=2*(p++)p+=2,*(p++)解析:由題可知a[2]=3,因此只要使指針p指向a[3],然后再引用指針的值就可以了。

24.1010解析:整型指針最初被賦的值是數(shù)組arr的頭指針,即指向數(shù)組的第一個(gè)元素30,p++后,指針指向數(shù)組的下一個(gè)元素,即*p=arr[1]=25,在執(zhí)行*(p+3)時(shí),則相當(dāng)于a[1+3],即10。因此,輸出應(yīng)為100。

25.文檔文檔

26.n/2性表的任何位置插入一個(gè)元素的概率相等,即概率為p=1/(n+1),則插入一個(gè)元素時(shí)所需移動(dòng)元素的平均次數(shù)為E=1/(n+1)(n-i+1)=n/2。

27.n/=10或n=n/10n/=10或n=n/10解析:每次循環(huán)把n除以10所得的商賦給n。

28.77解析:宏替換后,表達(dá)式t=MAX(a+b,c+d)*10即變?yōu)椋簍=(a+b)>(c+d)?(a+b):(c+d)*10;由于(a+b)>(c+d)為真,所以t=(a+b),即為7。

29.存儲(chǔ)或物理或存儲(chǔ)結(jié)構(gòu)或物理結(jié)構(gòu)存儲(chǔ)或物理或存儲(chǔ)結(jié)構(gòu)或物理結(jié)構(gòu)解析:數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式稱為數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)(也稱數(shù)據(jù)的物理結(jié)構(gòu))。所謂循環(huán)隊(duì)列,就是將隊(duì)列存儲(chǔ)空間的最后一個(gè)位置繞到第一個(gè)位置,形成邏輯上的環(huán)狀空間。供隊(duì)列循環(huán)使用??芍?,循環(huán)隊(duì)列應(yīng)當(dāng)是物理結(jié)構(gòu)。

30.252H252H解析:要解答本題,首先要明白在對(duì)指針進(jìn)行加、減運(yùn)算時(shí),數(shù)字'1'不是十進(jìn)制數(shù)的'1',而是指'1'個(gè)存儲(chǔ)單元長(zhǎng)度。1個(gè)存儲(chǔ)單元長(zhǎng)度占存儲(chǔ)空間的多少,應(yīng)該視具體情況而定,如果存儲(chǔ)單元的基類型是int型,則移動(dòng)1個(gè)存儲(chǔ)單元的長(zhǎng)度就是位移2個(gè)字節(jié);如果存儲(chǔ)單元基類型是float型,則移動(dòng)1個(gè)存儲(chǔ)單元的長(zhǎng)度就是位移4個(gè)字節(jié)。所以曠13所指向的數(shù)組元素的地址為:200H+(13*4)H=252H。

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

32.282,8解析:do…while語句的功能是:首先執(zhí)行循環(huán)體語句,然后檢測(cè)循環(huán)控制條件表達(dá)式的值,若為真,則重復(fù)執(zhí)行循環(huán)體語句,否則退出循環(huán)。這里程序初始時(shí)a=1,b=10,經(jīng)過操作b-=a;a++后b=9,a=2,判斷條件b--<O不成立,退出循環(huán),但b的值被減1,因此結(jié)果為:a=2,b=8。

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

34.參照完整性參照完整性

35.1351\r\n3\r\n5解析:本題考查了for循環(huán)語句的使用,break語句用在本題中是結(jié)束for循環(huán)直接跳出循環(huán)體外。當(dāng)i=1時(shí),因?yàn)閕f語句條件不滿足,所以直接執(zhí)行printf('%d\\n',i++);輸出1,同時(shí)i自加1;執(zhí)行第二次for循環(huán)時(shí),i=3;同樣的if語句條件不滿足,所以直接執(zhí)行printf('%d\\n',i++);輸出3,同時(shí)i自加1;執(zhí)行第三次for循環(huán)時(shí),i=5,if語句條件滿足,所以執(zhí)行printf('%d\\n',i),輸出5,然后break語句跳出了for循環(huán)。

36.00解析:二維數(shù)組可以看成是按矩陣形式排列的,題目中給二維數(shù)組賦初值是按行分段賦值的,a[4][4]可以分解為4個(gè)一維數(shù)組,其數(shù)組名分別為a[0]、a[1]、a[2]、a[3],這4個(gè)一維數(shù)組都有4個(gè)元素,a[0]的元素為a[0][0]、a[0][1]、a[0][2]、a[0][3]。

37.t"%f%f"a=b

38.(x>-5)&&(x<5)(x>-5)&&(x<5)解析:本題考查基本邏輯表達(dá),“整數(shù)x的絕對(duì)值大于5”時(shí)值為“假”,即整數(shù)x的絕對(duì)值小于等于5,也就是整數(shù)x要大于等于-5且要小于等于5。這里“且”用“與(&&)”表示,所以C語言表達(dá)式為:(x>-5)&&(x<5)。

39.封裝性封裝性解析:對(duì)象具有下列5個(gè)基本特點(diǎn):①標(biāo)識(shí)惟一性;②分類性:③多態(tài)性;④封裝性;⑤模塊獨(dú)立性好。其中,封裝性是指從外面看只能看到對(duì)象的外部特征,對(duì)象的內(nèi)部特征即處理能力的實(shí)行和內(nèi)部狀態(tài),對(duì)外是不可見的,對(duì)象的內(nèi)部狀態(tài)只能由其自身改變。

40.2222解析:在main函數(shù)中,調(diào)用reverse函數(shù)將b數(shù)組中的前8個(gè)成員進(jìn)行互置,執(zhí)行完畢后,b數(shù)組中的成員為{8,7,6,5,4,3,2,1,9,10},然后再執(zhí)行for循環(huán)結(jié)構(gòu),將b[6],b[7]...b[9]的值相加,結(jié)果為22。

41.A本題考查switch語句。當(dāng)i=1時(shí),執(zhí)行case1,因?yàn)闆]有遇到break語句,所以依次往下運(yùn)行,a=a+2=2,a=a+3=5;當(dāng)i=2時(shí),執(zhí)行case2,因?yàn)闆]有遇到break語句,所以依次往下運(yùn)行,a=a+2=7,a=a+3=10;當(dāng)i=3時(shí),執(zhí)行case3,a=a+1=11,因?yàn)闆]有遇到break語句,所以依次往下運(yùn)行,a=a+2=13,a=a+3=16;當(dāng)i=4時(shí),執(zhí)行default,a=a+3=19,結(jié)束循環(huán)。

42.D

43.A解析:sdtrcat(str1,str2)合并字符串函數(shù)的作用是把str2所指字符串的內(nèi)容連接到str1字符串的后面,自動(dòng)刪去str1原來串中的'\\0'。為了進(jìn)行這項(xiàng)操作,要求str1所指的字符串后面有足夠的空間來容納str2所指字符串中的內(nèi)容。函數(shù)值為str1所指第一個(gè)字符的地址。

44.C解析:typedef關(guān)鍵字用于聲明一個(gè)新的類型名代替已有的類型名。本題中如果沒有用typedef進(jìn)行定義的話,則structST為結(jié)構(gòu)體類型,現(xiàn)在用typedef定義后,相當(dāng)于用NEW代表了structST這一結(jié)構(gòu)體類型,故NEW為結(jié)構(gòu)體類型。

45.D解析:變量b的初值等于2,所以表達(dá)式b<<2表示b的值二進(jìn)制左移兩位,即擴(kuò)大4倍,所以變量b的等于8。然后與a的值1進(jìn)行異或運(yùn)算,得9。

46.D解析:所謂的交換類排序方法是指借助數(shù)據(jù)元素之間的互相交換進(jìn)行排序的一種方法,包括冒泡排序和快速排序,冒泡排序是一種最簡(jiǎn)單的交換排序方法,它通過相鄰元素的交換,逐步將線性表變成有序。

47.A解析:C程序是由函數(shù)構(gòu)成的?!獋€(gè)C源程序至少包含—個(gè)main函數(shù),也可以包含—個(gè)main函數(shù)和若干個(gè)其他函數(shù),因此,函數(shù)是C程序的基本單位。

48.C解析:函數(shù)fun(intx,inty)的功能是返回兩個(gè)整型數(shù)據(jù)的和。在主函數(shù)中,變量a,b,c的初始值分別為1,2,3。因此逗號(hào)表達(dá)式“a++,b++,a+b”的值等于5,表達(dá)式c++的值為3,調(diào)用于函數(shù)的表達(dá)式為“fun(5,3);”,其返回值等8。所以變量sum的值等于8。

49.B解析:滿足表達(dá)式(c>=2&&c<=6)的整型變量c的值是2,3,4,5,6。當(dāng)變量c的值不為2,4,6時(shí),其值只能為3或5,所以表達(dá)式c!=3和c!=5中至少有一個(gè)為真,即不論c為何值,選項(xiàng)B中的表達(dá)式都為'真'。

50.C解析:在計(jì)算(float)(a+b)/2時(shí),由于通過強(qiáng)制類型轉(zhuǎn)換將(a+b)轉(zhuǎn)換成了float型,所以應(yīng)先將2轉(zhuǎn)換成float型,再進(jìn)行計(jì)算,得4.500000。

在計(jì)算(int)x%(int)y時(shí),先將x和y通過強(qiáng)制類型轉(zhuǎn)換成int型,再進(jìn)行求余運(yùn)算,得1。

又因?yàn)?.500000是float型,所以將1和它相加時(shí),先將1換成float型,再計(jì)算,得到5.500000。

注意:類型轉(zhuǎn)換的一般規(guī)則是:低級(jí)類型服從高級(jí)類型,并進(jìn)行相應(yīng)的轉(zhuǎn)換。數(shù)據(jù)類型的級(jí)別由低到高的排序表示為:char→int→unsigned→long→float→double。

51.D解析:本題考查給二維數(shù)組元素賦值。給二維數(shù)組元素賦值時(shí)應(yīng)注意下列兩點(diǎn):①在對(duì)二維數(shù)組元素賦初值時(shí),可以只對(duì)部分元素賦初值,未賦初值的元素自動(dòng)取0。②二維數(shù)組第一維的大小由下列規(guī)則確定:當(dāng)初值的個(gè)數(shù)能被第二維的常量表達(dá)式的值除盡時(shí),所得商數(shù)就是第一維的大??;當(dāng)初值的個(gè)數(shù)不能被第二維的常量表達(dá)式的值除盡時(shí),第一維的大小=所得商數(shù)+1。

52.B解析:!的優(yōu)先級(jí)高于<,!a的值為0,0<b顯然成立,該表達(dá)式的值為1。

53.B解析:本題定義了一個(gè)sub()函數(shù),其作用為將一個(gè)二維數(shù)組按行復(fù)制到t所指的連續(xù)內(nèi)存空間內(nèi)。主程序中首先使用malloc()函數(shù)為t申請(qǐng)了50個(gè)字節(jié)的內(nèi)存空間,然后調(diào)用sub()函數(shù),將二維數(shù)組s的內(nèi)容復(fù)制到t申請(qǐng)的內(nèi)存空間內(nèi),最后輸出t的第5個(gè)元素(t[4])和第8個(gè)元素(t[7]),即為3行4列二維數(shù)組中的s[1][0]和s[1][3]。s[1][0]是初始化列表中第二個(gè)大括號(hào)中的第一個(gè)值4,而s[1][3]應(yīng)該是初始化列表中第二個(gè)大括號(hào)中的第4個(gè)值,但沒有這么多初始值,C語言在這種情況下會(huì)自動(dòng)將該元素設(shè)置為0,即s[3][4]={{1,2,3},{4,5,6},{7,8,9}}等價(jià)于s[3][4]={{1,2,3,0},{4,5,6,0),{7,8,9,0}}。所以最后輸出結(jié)果是4,0,應(yīng)該選擇B。

54.B解析:如果實(shí)參是簡(jiǎn)單變量,它與對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式是由實(shí)參傳給形參,而形參值的改變不能改變實(shí)參的值。

55.D解析:本題定義a為3行×4列的數(shù)組,它可用的行下標(biāo)最大為2,列下標(biāo)最大為3。注意:a[0][4]超過了數(shù)組的范圍。注意:數(shù)組的下標(biāo)是從0開始的。

56.A解析:一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類型:線性結(jié)構(gòu)與非線性結(jié)構(gòu)。線性表、棧與隊(duì)列、線性鏈表都是線性結(jié)構(gòu),而二叉樹是非線性結(jié)構(gòu)。

57.A解析:C語言的字符型常量中,允許用一種特殊形式的字符常量,就是以一個(gè)'\\'開頭的字符。其中,'\\ddd'表示用ASCII碼(八進(jìn)制數(shù))表示一個(gè)字符,本題中的charc=\'\\72\'即表示占一個(gè)字符的變量c的ASCII碼值。

58.A解析:“%u”表示輸出無符號(hào)的整數(shù)(注意:如果輸出值前有符號(hào),將自動(dòng)轉(zhuǎn)化為相應(yīng)的無符號(hào)數(shù)輸出)。

59.D解析:本題考查鏈表的數(shù)據(jù)結(jié)構(gòu),必須利用指針變量才能實(shí)現(xiàn),即一個(gè)結(jié)點(diǎn)中應(yīng)包含一個(gè)指針變量,用它存放下一結(jié)點(diǎn)的地址。

60.C解析:本題考查for循環(huán)。第一次循環(huán)前先判斷循環(huán)條件,此時(shí)i=0,j=1,i<j+1成立,循環(huán)第一次;第二次循環(huán)前先判斷循環(huán)條件,此時(shí)i=1,j=0,(j--是先使用j的值再減1),i<j+1不成立,結(jié)束循環(huán)。

61.A\nA?!窘馕觥款^結(jié)點(diǎn)不僅標(biāo)識(shí)了表中首結(jié)點(diǎn)的位置,而且根據(jù)單鏈表(包含頭結(jié)點(diǎn))的結(jié)構(gòu),只要掌握了表頭,就能夠訪問整個(gè)鏈表,因此增加頭結(jié)點(diǎn)的目的是為了便于運(yùn)算的實(shí)現(xiàn)。

\n

62.B\n數(shù)據(jù)流圖(DFD)、數(shù)據(jù)字典、判定表和判定樹是結(jié)構(gòu)化分析常用的工具。程序流程圖、N—S圖、PAD圖是詳細(xì)設(shè)計(jì)過程中常用的圖形工具。

\n

63.D結(jié)構(gòu)化程序設(shè)計(jì)由迪杰斯特拉(E.W.dijkstra)在1969年提出,他主張“清晰第一,效率第二”,以模塊化設(shè)計(jì)為中心,將待開發(fā)的軟件系統(tǒng)劃分為若干個(gè)相互獨(dú)立的模塊,這樣使完成每一個(gè)模塊的工作變得單純而明確,為設(shè)計(jì)一些較大的軟件打下了良好的基礎(chǔ)。

由于模塊相互

溫馨提示

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