2022年山東省東營市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)測試卷一(含答案)_第1頁
2022年山東省東營市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)測試卷一(含答案)_第2頁
2022年山東省東營市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)測試卷一(含答案)_第3頁
2022年山東省東營市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)測試卷一(含答案)_第4頁
2022年山東省東營市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)測試卷一(含答案)_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡介

2022年山東省東營市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)測試卷一(含答案)學(xué)校:________班級:________姓名:________考號:________

一、單選題(20題)1.

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

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

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

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

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

3.設(shè)有以下宏定義:#defineN3#defineY(n)((N+1)*n)則執(zhí)行以下語句后,z的值為______。z=2*(N+Y(5+1));A.出錯(cuò)B.42C.48D.54

4.

5.有以下程序#include<stdio.h>structst{intx,y;}data[2]={1,10,2,20};main(){structst*p=data;printf("%d,",p->y);printf("%d\n",(++p)->x);}程序的運(yùn)行結(jié)果是______。A.10,1B.20,1C.10,2D.20,2

6.在長度為n的順序表的第i個(gè)位置上插入一個(gè)元素(1≤i≤n+1),元素的移動次數(shù)為:()。

A.n–i+1B.n–iC.iD.i–1

7.計(jì)算機(jī)算法必須具備輸入、輸出和()等5個(gè)特性。

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

8.有以下程序#include<stdio.h>voidfun(char**p){++p;printf("%s",*p);}main{char*a[]={"Morning","Afternoon","Evening","Night");fun(a);}程序的運(yùn)行結(jié)果是()。A.AfternoonB.fternoonC.MorningD.orning

9.若在線性表中采用折半查找法查找元素,該線性表應(yīng)該()A.元素按值有序B.構(gòu)采用順序存儲結(jié)C.元素按值有序且采用順序存儲結(jié)構(gòu)D.元素按值有序且采用鏈?zhǔn)酱鎯Y(jié)構(gòu)

10.

11.在單鏈表中,增加頭結(jié)點(diǎn)的目的是()。

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

12.有以下程序main(){intx,y,z;x=y=1;z=X++,y++,++y;printf("%d,%d,%d\n",x,y,z);}程序運(yùn)行后的輸出結(jié)果是

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

13.設(shè)有定義“intk=3,i=2;”,以下選項(xiàng)中,變量k的值與其他3個(gè)不同的是()。

A.k-=i;B.k=--i;C.k=i-1;D.k=i--;

14.若x和y都是int型變量,x=100,y=200,且有程序片段:printf("%d",(x,y));上面程序片段的輸出結(jié)果()

A.200B.100C.100200D.輸出格式符不夠,輸出不確定的值

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

16.有以下程序:

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

A.10B.40C.32D.8

17.有以下程序:#include<stdio.h>main(){inti,j,m=1;for(i=1;i<3;i++){for(j=3;j>0;j--){if(i*j>3)break;m*=i*j;}}printf(“m=%d\n”,m);}程序運(yùn)行后的輸出結(jié)果是()A.m=4B.m=2C.m=6D.m=5

18.用二分法查找一個(gè)長度為10的,排好序的線性表,查找不成功時(shí),最多需要比較()次

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

19.C語言中運(yùn)算對象必須是整型的運(yùn)算符是()。

A.%=B./C.=D.<=

20.以下敘述中正確的是()。

A.C語言比其他語言高級

B.C語言可以不用編譯就被計(jì)算機(jī)識別并執(zhí)行

C.C語言以接近英語國家的自然語言和數(shù)學(xué)語言作為語言的表達(dá)形式

D.C語言出現(xiàn)最晚,具有其他語言的一切優(yōu)點(diǎn)

二、2.填空題(20題)21.若有以下程序

main()

{inta=4,b=3,c=5,t=0;

if(a<b)t=a;a=b;b=t;

if(a<c)t=a;a=c;c=t;

pfintf("%d%d%d\n",a,b,c);

}

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

22.下列程序中的數(shù)組a包括10個(gè)整數(shù)元素,分別將前項(xiàng)和后項(xiàng)之和存入數(shù)組b,并按每行4個(gè)元素輸出數(shù)組b。請?zhí)羁铡?/p>

#include<stdio.h>

main()

{inta[10],b[10],i;

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

scanf("%d",&a[i]);

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

______;

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

{if(i%4=0)printf("\n");

printf("%3d",b[i]);

}

}

23.軟件測試是保證軟件質(zhì)量的重要手段,而軟件測試的主要和重要的測試方法是通過測試數(shù)據(jù)和【】的設(shè)計(jì)來實(shí)現(xiàn)。

24.下列程序?qū)⒍S數(shù)組a的行和列元素互換后存放到另一個(gè)二維數(shù)組b中。請?zhí)羁铡?/p>

main()

{inta[2][3]={{1,2,3},{4,5}},b[3][2],i,j;

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

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

}

}

25.有以下程序

main()

{intt=1,i=5;

for(;i>=0;i--)t*=i;

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

}

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

26.下面rotate函數(shù)的功能是:將n行n列的矩陣A轉(zhuǎn)置為A',例如:

#defineN4

voidrotate(inta()[N])

{inti,j,t;

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

for(j=0;【】;j++)

{t=a[i][j];

【】;

a[j][i]=t;

}

}

27.若變量a,b已定義為int類型并賦值21和55,要求用printf函數(shù)以a=21,b=55的形式輸出,請寫出完整的的輸出語句()。

28.數(shù)據(jù)模型按不同的應(yīng)用層次分為三種類型,它們是______數(shù)據(jù)模型、邏輯數(shù)據(jù)模型和物理數(shù)據(jù)模型。

29.軟件工程研究的內(nèi)容主要包括:【】技術(shù)和軟件工程管理。

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

31.類是一個(gè)支持集成的抽象數(shù)據(jù)類型,而對象是類的【】。

32.下面程序輸出的結(jié)果是()。intm=17;intfun(intx,inty){intm=3;return(x*y-m);}main(){inta=5,b=7;printf("%d\n”,fun(a,B)/m);}

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

#defineMAX3

inta[MAX];

main()

{fun1();fun2(a);printf("\n");}

fun1()

{intk,t=0;

for(k=0;k<MAX;k++,t++)a[k]=t+t;

}

fun2(intb[])

{intk;

for(k=0;k<MAX;k++)printf("%d",*(b+k));

}

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

35.結(jié)構(gòu)化程序設(shè)計(jì)方法的主要原則可以概括為自頂向下、逐步求精、______和限制使用goto語句。

36.軟件的【】設(shè)計(jì)又稱為總體結(jié)構(gòu)設(shè)計(jì),其主要任務(wù)是建立軟件系統(tǒng)的總體結(jié)構(gòu)。

37.棧的3種基本運(yùn)算是:入棧、退棧和______。

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

structNode}

intx;

charch;

};

fun(structNode*sn)

}statick=1;

sn->x=20;

Sn->ch='a'+k++;

}

main()

{inti;

staticstructNodest=}10,'a'};

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

fun(&st);

printf("%d,%c\n",st.x,st.ch);

}

39.若有以下程序:

main()

{int,p,a=5;

if(P=a!=0)

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

else

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

}

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

40.在結(jié)構(gòu)化分析使用的數(shù)據(jù)流圖(DFD)中,利用【】對其中的圖形元素進(jìn)行確切解釋。

三、1.選擇題(20題)41.有以下程序:voidf(intb[]){inti;for(i=2;i<6;i++)b[i]*=2;}main(){inta[10]={1,2,3,4,5,6,7,8,9,10},i;f(A);for(i=0;i<10;i++)printf("%d,",a[i]);}程序運(yùn)行后的輸出結(jié)果是()。

A.1,2,3,4,5,6,7,8,9,10,

B.1,2,6,8,10,12,7,8,9,10,

C.1,2,3,4,10,12,14,16,9,10,

D.1,2,6,8,10,12,14,16,9,10,

42.如果進(jìn)棧序列為A,B,C,D,則可能的出棧序列是()

A.C,A,D,BB.B,D,C,AC.C,D,A,BD.任意順序

43.下面程序運(yùn)行的結(jié)果是______。main(){intx,y,z;x=0;y=z=-1;x+=-z---y;printf("x=%d\n",x);}

A.x=4B.x=0C.x=2D.x=3

44.若有以下定義:intt[3][2];,能正確表示t數(shù)組元素地址的表達(dá)式是______。

A.&t[3][2]B.t[3]C.t[1]D.*t[2]

45.下列程序是用來判斷數(shù)組中特定元素的位置所在。如果輸入如下整數(shù):876675896101301401980431451777#include<conio.h>#include<stdio.h>intfun(int*s,intt,int*k){inti;*k=0;for(i=0;i<t;i++)if(s[*k]<s[i])*k=i;returns[*k];}main(){inta[10]={876,675,896,101,301,401,980,431,45l,777},k;clrscr();fun(a,10,&k);printf("%d,%d\n",k,a[k]);}則輸出結(jié)果為

A.7,431B.6C.980D.6,980

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

A.在棧中只能插入數(shù)據(jù)B.在棧中只能刪除數(shù)據(jù)C.棧是先進(jìn)先出的線性表D.棧是先進(jìn)后出的線性表

47.下列描述中,正確的是()

A.線性鏈表是線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)B.棧與隊(duì)列是非線性結(jié)構(gòu)C.雙向鏈表是非線性結(jié)構(gòu)D.只有根結(jié)點(diǎn)的二叉樹是線性結(jié)構(gòu)

48.下列程序執(zhí)行后的輸出結(jié)果是

main()

{inta[3][3],*p,i;

p=&a[0][0];

for(i=1;i<9;i++)p[i]=i+1;

printf("%d\n",a[1][2];)

A.3B.6C.9D.隨機(jī)數(shù)

49.有以下程序:main(){inti;for(i=1,i<=40;i++){if(i++%5==0)if(++i%8==0)printf("%d",i);}printf("\n");}執(zhí)行后的輸出結(jié)果是()。

A.5B.24C.32D.40

50.以下程序的輸出結(jié)果是()。#include<stdio.h>#defineF(x)2.84+x#definew(y)printf("%d",(int)(y))#defineP(y)w(y)main(){intx=2;P(F(5)*x);}

A.12B.13C.14D.16

51.以下說法中正確的是_______。

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

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

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

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

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

A.線性鏈表中的各元素在存儲空間中的位置必須是連續(xù)的

B.線性鏈表中的表頭元素一定存儲在其他元素的前面

C.線性鏈表中的各元素在存儲空間中的位置不一定是連續(xù)的,但表頭元素一定存儲在其他元素的前面

D.線性鏈表中的各元素在存儲空間中的位置不一定是連續(xù)的,且各元素的存儲順序也是任意的

53.以下程序的輸出結(jié)果是main(){intc=35;printf("%d\n",c&c);}

A.0B.70C.35D.1

54.若要求定義具有10個(gè)int型元素的一維數(shù)組a,則以下定義語句中錯(cuò)誤的是A.#defineN10inta[N];B.#definen5inta[2*n];C.inta[5+5];

D.intn=10,a[n];

55.某片軟盤上已染有病毒,為防止該病毒傳梁計(jì)算機(jī)系統(tǒng),正確的措施是()

A.刪除該軟盤上的所有程序B.給該軟盤加上寫保護(hù)C.將該軟盤放一段時(shí)間后再用D.將該軟盤重新格式化

56.有以下程序

intadd(inta,intb){return(a+b);}

main()

{intk,(*f)(),a=5,b=10;

f=add;

}

則以下函數(shù)調(diào)用語句錯(cuò)誤的是A.k=(*f)(a,b);B.k=add(a,b);C.k=*f(a,b);D.k=f(a,b);

57.若有下列說明和語句,則對結(jié)構(gòu)體變量st中成員i的引用方式不正確的是()。Structstu{inti;intname;}st,*p;p=&st;

A.st.iB.*p.iC.(*p).iD.p->i

58.以下概念中,不屬于面向?qū)ο蠓椒ǖ氖莀______。

A.對象、消息B.繼承、多態(tài)C.類、封裝D.過程調(diào)用

59.下列程序的輸出結(jié)果是______。#include<string.h>main(){char*str1="abcde",*str2="abcd";strl++;str2++;printf("%d\n",strcmp(str1,str2));}

A.正數(shù)B.負(fù)數(shù)C.零D.不確定的值

60.表達(dá)式~0x11的值是()。

A.0xFFEEB.0x71C.0x0071D.0xFFE1

四、選擇題(20題)61.

對下述程序的判斷中,正確的是()。

#include<stdio.h>

main()

{char*p,s[256];

p=s;

while(strcmp(s,"theend"))

{printf("Inputthestrin9:");

gets(s);

while(*p)

putchar(*p++);

}}

A.此程序循環(huán)接收字符串并輸出,直到接收到字符串“theend”為止

B.此程序循環(huán)接收字符串,接收到字符串“theend”則輸出,否則程序終止

C.此程序循環(huán)接收字符串并輸出,直到接收字符串“theend”為止,但因?yàn)榇a有錯(cuò)誤,程序不能正常工作

D.此程序循環(huán)接收字符串并將其連接在一起,直到接收字符串“theend”為止,輸出連接在一起的字符串

62.main()

{intn;(n=6*4,n+6),n*2;printf(“n=%d\n”,n);}

此程序的輸出結(jié)果是______________.

A.30B.24C.60D.48

63.鏈表不具有的特點(diǎn)是A.A.不必事先估計(jì)存儲空間

B.可隨機(jī)訪問任一元素

C.插入和刪除不需要移動元素

D.所需空間與線性表長度成正比

64.

65.

66.以下四個(gè)程序中。完全正確的縣()

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

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

68.以下程序愛中,與語句:

69.(57)下列敘述中,不屬于軟件需求規(guī)格說明書的作用的是______。

A.便于用戶、開發(fā)人員進(jìn)行理解和交流

B.反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù)

C.作為確認(rèn)測試和驗(yàn)收的依據(jù)

D.便于開發(fā)人員進(jìn)行需求分析

70.

71.若有定義語句:doublea,*P=&a;以下敘述中錯(cuò)誤的是()。

A.定義語句中的*號是-個(gè)間址運(yùn)算符

B.定義語句中的木號是-個(gè)說明符

C.定義語句中的P只能存放double類型變量的地址

D.定義語句中,P=&a把變量a的地址作為初值賦給指針變量P

72.

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

A.scanfB.getcharC.getsD.getc

74.

75.有以下程序

#include"stdio.h"

voidfun(int*a,int*b,intc)

{c=*a+*b;}

main()

{inta[2]={6,9},c=0;

fun(a,a+1,&c);

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

}

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

A.6B.9

C.0D.15

76.在數(shù)據(jù)管理技術(shù)發(fā)展的三個(gè)階段中,數(shù)據(jù)共享最好的是()。

A.人工管理階段B.文件系統(tǒng)階段C.數(shù)據(jù)庫系統(tǒng)階段D.三個(gè)階段相同

77.在一個(gè)C源程序文件中所定義的全局變量。其作用域?yàn)?)。A.由具體定義位置和extern說明來決定范圍B.所在程序的全部范圍C.所在函數(shù)的全部范圍D.所在文件的全部范圍

78.在數(shù)據(jù)庫設(shè)計(jì)中,用E-R圖來描述信息結(jié)構(gòu),但不涉及信息在計(jì)算機(jī)中的表示,它是數(shù)據(jù)庫設(shè)計(jì)的()階段。

A.需求分析B.概念設(shè)計(jì)C.邏輯設(shè)計(jì)D.物理設(shè)計(jì)

79.

80.

五、程序改錯(cuò)題(1題)81.下列給定的程序中,函數(shù)proc的功能是:判斷字符ch是,與str所指字符串中的某個(gè)字符相同;若相同,則什么也不做,若不同,則將其插在串的最后。請修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。

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

試題程序:

#include<stdlib.h>

#include<conio.h>

#include<stdio.h>

#include<string.h>

//****found****

voidproc(charstr,charch)

{

while(*str&&*str!=ch)str++;

//****found****

if(*str==ch)

{str[0]=ch;

//****found****

str[1]=0:

}

}

voidmain

{

charstr[81],ch;

system("CLS");

printf("\nPleaseenterastring:");

gets(str);

printf("\nPleaseenterthecharacterto

search:");

ch=getchar;

proc(str,ch);

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

}

六、程序設(shè)計(jì)題(1題)82.有一個(gè)一維數(shù)組,內(nèi)放10個(gè)學(xué)生成績,寫一個(gè)函數(shù),求出平均分。

參考答案

1.C

2.A用戶標(biāo)識符不能以數(shù)字開頭,C語言中標(biāo)識符是區(qū)分大小寫的,關(guān)鍵字不能用做用戶標(biāo)識符。

3.D

4.C

5.C解析:本題定義了一個(gè)包含兩個(gè)元素(data[0]、data[1])的結(jié)構(gòu)體數(shù)組data,其中data[0].x=1;data[0].y=10;data[1].x=2;\u3000data[1].y=20。在主函數(shù)中,定義了一個(gè)指向結(jié)構(gòu)體數(shù)組的結(jié)構(gòu)體指針變量p,使得p指向結(jié)構(gòu)體數(shù)組的首地址,所以p->y訪問的是第一個(gè)鮚構(gòu)體數(shù)組元素的第二個(gè)值,即data[0].y;(++p)->x訪問的是第二個(gè)結(jié)構(gòu)體數(shù)組元素的第一個(gè)值,即\u3000data[1].x,所以程序輸出結(jié)果為10,2。

6.A

7.B

8.A執(zhí)行fun(a)語句時(shí),P指向的是字符串?dāng)?shù)組a的第一個(gè)字符串“Morning”,p自加1之后,p指向字符串?dāng)?shù)組a的第2個(gè)字符串“Afternoon”。

9.C

10.A

11.A根據(jù)單位鏈表(包含頭結(jié)點(diǎn))的結(jié)構(gòu),只要掌握了表頭,就能夠訪問整個(gè)鏈表,因此增加頭結(jié)點(diǎn)的目的是為了便于運(yùn)算的實(shí)現(xiàn)。

12.C解析:整型變量x、y的初值都為1,“x++,y++,++y”是一個(gè)逗號表達(dá)式,程序執(zhí)行“z=x++,y++,++y”后,x的值為2,y的值為3,z取豆號表達(dá)式中第二個(gè)表達(dá)式的值,為1。

13.D選項(xiàng)A是復(fù)合的賦值運(yùn)算符,等價(jià)于“k=k-i”,所以k的值為1;選項(xiàng)B中前綴自減運(yùn)算符首先將i的值自減1,然后將自減后的值賦給k,所以k和i的值都是1;選項(xiàng)C中k的值為1;選項(xiàng)D中后綴自減運(yùn)算符將i的值先賦給k,然后i自減1,所以k的值為2。故本題答案為D選項(xiàng)。

14.A

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

16.D整型變量ch使用八進(jìn)制數(shù)020初始化,二進(jìn)制數(shù)為10000,右移一位結(jié)果為1000,使用%d輸出十進(jìn)制數(shù)為8。本題答案為D選項(xiàng)。

17.C第一次外循環(huán)的值為1,第一次內(nèi)循環(huán)j的值為3,不滿足條件執(zhí)行m*=i*j即m的值為3;第二次j的值為2。不滿足條件執(zhí)行m*=i*j,即的值為6;第三次j的值為1,不滿足條件執(zhí)行m*=i*j,即m的值仍為6。第二次外循環(huán)的值2,j的值為3,滿足條件執(zhí)行break語句跳出循環(huán)。

18.C

19.A解析:C++語言規(guī)定:取余運(yùn)算符的運(yùn)算對象必須是整型,復(fù)合運(yùn)算符“%=”中包含%運(yùn)算,它的運(yùn)算對象也必須是整型。

20.C解析:計(jì)算機(jī)語言分為低級語言和高級語言,C語言屬于高級語言,但并非比其他語言高級,選項(xiàng)A)錯(cuò)誤;除了機(jī)器語言外,其他各種語言都必須編譯成能被計(jì)算機(jī)識別的機(jī)器代碼才能執(zhí)行,選項(xiàng)B)錯(cuò)誤;C語言出現(xiàn)于1972年至1973年,并不是出現(xiàn)最晚的語言,選項(xiàng)D)錯(cuò)誤。

21.503503解析:如果if后面的條件為真,只執(zhí)行其后的一條語句或一條復(fù)合語句,如果if后面的條件為假,只執(zhí)行else后面的一條語句或一條復(fù)合語句。先判斷表達(dá)式“a<b”為假,不執(zhí)行“t=a”,但執(zhí)行“a=b;b=t;”,a的值為3,b的值為0。在判斷表達(dá)式“a<c”,值為真,所以執(zhí)行后面的3條語句“t=a;a=c;c=t”,結(jié)果a的值為5,c的值為3,所以最后輸出的結(jié)果為5、0和3。

22.b[i]=a[i]+a[i+1]b[i]=a[i]+a[i+1]解析:將數(shù)組a中元素a[i]與a[j+1]值相加后的值賦予數(shù)組b中元素b[i],即可實(shí)現(xiàn)將一個(gè)數(shù)組的前項(xiàng)和后項(xiàng)之和存入另一數(shù)組。

23.測試實(shí)例測試實(shí)例解析:進(jìn)行軟件測試時(shí),應(yīng)精心設(shè)計(jì)測試實(shí)例和選擇測試數(shù)據(jù),以對系統(tǒng)進(jìn)行全面測試。

24.b[j][i]=a[i][j]b[j][i]=a[i][j]解析:本題考查二維數(shù)組的基本知識。它是要將一個(gè)二維數(shù)組,的行和列元素互換后存放到另一個(gè)二維數(shù)組b中,只要將數(shù)組a的行標(biāo)和列標(biāo)互換,然后賦給數(shù)組b即可。

25.00解析:本題中的for循環(huán)共執(zhí)行了6次,每執(zhí)行一次將相應(yīng)i的值相乘,最后當(dāng)i=-1時(shí)停止循環(huán).該for循環(huán)執(zhí)行完后t的值為5*4*3*2*1*0=0,故最后輸出I的值為0。

26.j<ia[i][j]=a[j][i]j<i\r\na[i][j]=a[j][i]解析:本題中要求將n行n列的矩陣A轉(zhuǎn)置,即讓數(shù)組中行上的元素變成對應(yīng)列上的元素。即把對角線兩邊的元素對換,所以本題的第一個(gè)空格處應(yīng)該填寫j<i,第二個(gè)空格處填寫交換對角線兩邊的元素的語句a[i][j]=a[j][i]。

27.printf(“a=%db=%d”aB);printf(“a=%d,b=%d”,a,B);解析:printf函數(shù)的一般格式為:“printf(格式控制,輸出表列)”。

28.概念概念

29.軟件開發(fā)

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

31.實(shí)例將屬性、操作相似的對象歸為類,也就是說,類是具有共同屬性、共同方法的對象的集合。所以,類是對象的抽象,對象則是其對應(yīng)類的一個(gè)實(shí)例。

32.11解析:本題考查局部變量和全局變量的區(qū)別:局部變量是指作甩域在函數(shù)級和塊級的變量,全局變量是指作用域在程序級和文件級的變量。

33.024

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

35.模塊化模塊化

36.概要概要

37.讀棧頂元素讀棧頂元素解析:棧的基本運(yùn)算有3種:入棧、退棧和讀取棧頂元素。其中,入棧是指在棧頂插入一個(gè)新的元素;退棧是指取出棧頂元素并賦值給一個(gè)變量;讀棧頂元素是將棧頂元素賦值給一個(gè)指定的變量,不刪除棧頂元素。

38.20c。20,c。解析:函數(shù)fun的功能是給結(jié)構(gòu)體指針變量所指的結(jié)構(gòu)體變量的各成員賦值,主函數(shù)兩次調(diào)用函數(shù)fun,第一次調(diào)用,實(shí)參st兩個(gè)成員的值是20和字符b,調(diào)用結(jié)束時(shí),靜態(tài)局部變量k沒有釋放,值為2:第二次調(diào)用,實(shí)參st兩個(gè)成員的值是20和字符c,調(diào)用結(jié)束時(shí),靜態(tài)局部變量k沒有釋放,值為3;因此,輸出結(jié)果是20和c。

39.11解析:首先計(jì)算if語句后面的表達(dá)式,根據(jù)運(yùn)算符的優(yōu)先級可知,先算“a!=0”,該值為1,再把1賦值給p,結(jié)果為1(真),執(zhí)行其后的printf語句,輸出的值為1。

40.數(shù)據(jù)字典或DD數(shù)據(jù)字典或DD解析:數(shù)據(jù)流圖用來對系統(tǒng)的功能需求進(jìn)行建模,它可以用少數(shù)幾種符號綜合地反映出信息在系統(tǒng)中的流動、處理和存儲情況。數(shù)據(jù)詞典(DataDictionary,DD)用于對數(shù)據(jù)流圖中出現(xiàn)的所有成分給出定義,它使數(shù)據(jù)流圖上的數(shù)據(jù)流名字、加工名字和數(shù)據(jù)存儲名字具有確切的解釋。

41.B解析:本題在調(diào)用函數(shù)時(shí),實(shí)參是數(shù)組名也是把數(shù)組a的首地址傳遞給形參,由條件i=2且i<6得出函數(shù)將列以a[2]開始的4個(gè)元素(3、4、5、6)進(jìn)行乘2操作,結(jié)果分別是a[2]=6、a[3]=8、a[4]=10、a[5]=12。a[0]、a[1]、a[6]、a[7]、a[8]、a[9]的值沒有發(fā)生變化。

42.B【解析】棧的操作原則為后進(jìn)先出。選項(xiàng)B)中出棧順序可按“A進(jìn),8進(jìn),8出,C進(jìn),D進(jìn),D出,C出.A出”實(shí)現(xiàn)。

43.C解析:表達(dá)式“x+=-z---y”等價(jià)于“x=x+(-z-(-(-y)))=0+(1-(-1))=2”。

44.C解析:選項(xiàng)A和B兩個(gè)表達(dá)式都越界了;選項(xiàng)D中,*t[2]是目標(biāo)變量,即—個(gè)整型值,而不是地址值。

45.D解析:本題中直接使用指針變量k,但在使用時(shí)要注意對k的指針運(yùn)算。此外,一開始應(yīng)知道*k的值為數(shù)組中的某一下標(biāo)值,即*k=0,本函數(shù)的功能是找出數(shù)組中的最大元素的位置及最大元素的值。

46.D解析:棧是一種特殊的線性表,這種線性表只能在固定的一端進(jìn)行插入和刪除操作,允許插入和刪除的一端稱為棧頂,另一端稱為棧底。一個(gè)新元素只能從棧頂一端進(jìn)入,刪除時(shí),只能刪除棧頂?shù)脑?,即剛剛被插入的元素,所以棧也被稱為“先進(jìn)后出”表或“后進(jìn)先出”表。

47.AA)【解析】根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間前后關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類型:線性結(jié)構(gòu)與非線性結(jié)構(gòu)。如果一個(gè)非空的數(shù)據(jù)結(jié)構(gòu)滿足下列兩個(gè)條件:①有且只有一個(gè)根結(jié)點(diǎn);②每個(gè)結(jié)點(diǎn)最多有一個(gè)前件,也最多有一個(gè)后件。則稱該數(shù)據(jù)結(jié)構(gòu)為線性結(jié)構(gòu),又稱線性表。所以線性表、棧與隊(duì)列、線性鏈表都是線性結(jié)構(gòu),而二:叉樹是非線性結(jié)構(gòu)。

48.B解析:本題中,a[1][2]是二維數(shù)組中的第6個(gè)元素,對應(yīng)for循環(huán)中i的值為5,p[5]=5+1。

49.C解析:i=30時(shí),條件表達(dá)式“i++%5==0”為真,i++后i=31,++i后i=32,即條件表達(dá)式“++i%8==0”為真。

50.A

51.C解析:C語言的程序是由主函數(shù)main()開始運(yùn)行,由主函數(shù)來調(diào)用其他函數(shù),函數(shù)必須是并列的,定義后使用,不能在一個(gè)函數(shù)中定義其他函數(shù),main()函數(shù)不一定要放在程序的開始部分,故選C。

52.D解析:性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)中,各數(shù)據(jù)結(jié)點(diǎn)的存儲序號不連續(xù),且各結(jié)點(diǎn)在存儲空間中的位置關(guān)系與邏輯關(guān)系也不一致。性鏈表中,各數(shù)據(jù)元素之間的前后件關(guān)系是由各結(jié)點(diǎn)的指針域來指示的。所以,選項(xiàng)D正確。

53.C解析:本題考查按位與“&”。因?yàn)?&1=1,0&0=0,所以任何數(shù)與自身按位與,結(jié)果仍為此數(shù),不發(fā)生變化。

54.D答案D

解析:在選項(xiàng)D中,n是一個(gè)整型的變量。C語言規(guī)定,在一維數(shù)組的定義中,其下標(biāo)只能是常量表達(dá)式,不能包含變量。

55.D

56.C答案C

解析:在語句“k=*f(a,b)”中,由于“()”的優(yōu)先級高于“*”,所以“*f(a,b);”表示其返回類型為指針的帶有兩個(gè)整型參數(shù)的函數(shù)。

57.B解析:本題主要考查結(jié)構(gòu)指針:p=&st,訪問結(jié)構(gòu)體的成員,可以通過結(jié)構(gòu)變量訪問,即st.i,也可以用等價(jià)的指針形式,即(*p).i和p->i。

58.D解析:面向?qū)ο蠓椒ㄊ且环N運(yùn)用對象、類、封裝、繼承、多態(tài)和消息等概念來構(gòu)造、測試、重構(gòu)軟件的方法。面向?qū)ο蠓椒◤膶ο蟪霭l(fā),發(fā)展出對象、類、消息、繼承等概念。

59.A解析:當(dāng)兩個(gè)字符串比較到第5個(gè)字符時(shí),str1指向的字符是'e',str2指向的字符是'\\0',字符串比較函數(shù)strcmp的返回值是這兩個(gè)字符ASCII碼值的差(101),是正數(shù)。

60.A解析:本題主要考查按位求反運(yùn)算和整型常量的表示:①十六進(jìn)制整型常量的形式是以數(shù)字0x或0X開頭的十六進(jìn)制字符串;②按位求反運(yùn)算的規(guī)則是:將二進(jìn)制表示的運(yùn)算對象按位取反,即將1變0,將0變1。“0x11”即0000000000010001,進(jìn)行按位求反運(yùn)算“~0x11”后為1111111111101110,即OxFFEE。

61.C

\n外部變量在編譯時(shí)由系統(tǒng)分配永久的內(nèi)存空間,所以外部變量的類型不是自動存儲類別。

\n

62.B

63.B鏈表是一種特殊的線性表,鏈表的存儲結(jié)構(gòu)與順序存儲結(jié)構(gòu)不同,它的存儲區(qū)域可以是任意的存儲單元,對存儲系統(tǒng)中零碎的存儲部分具有更好的應(yīng)用,在給其分配存儲單元時(shí),不必事先估計(jì)整個(gè)存儲單元的空間大小;由于鏈表的元素是通過指針域的指針相連的,用鏈表存儲數(shù)據(jù)時(shí),對其進(jìn)行插入和刪除操作時(shí),不需要移動其他元素,只需改變其直接前驅(qū)指針域,使其指向該結(jié)點(diǎn),并將該結(jié)點(diǎn)的指針域修改為指向其直接后繼結(jié)點(diǎn)即可。當(dāng)然,不管是鏈表還是順序存儲,所需空間與線性表長度都成正比。在鏈?zhǔn)酱鎯Φ逆湵斫Y(jié)構(gòu)中,由于后一結(jié)點(diǎn)數(shù)據(jù)被存儲在哪里,只有通過前一結(jié)點(diǎn)的指針域才知道,因此,訪問時(shí)只能是逐個(gè)訪問,而不能實(shí)現(xiàn)隨機(jī)訪問。

64.B

65.B

66.BC語言中注釋語句的注釋方法是:/+注釋內(nèi)容*/或//注釋-行。所以A與C錯(cuò)誤,D選項(xiàng)中預(yù)編譯命令include<stdi0.h>前丟掉了“#”號。所以選擇B。

67.B

\n棧是線性表的一種,它的特點(diǎn)是先進(jìn)后出,并且只能在表的一端進(jìn)行插入和刪除操作的線性表,入棧和出棧都是在棧頂進(jìn)行,因此具有記憶作用,??梢圆捎庙樞虼鎯Γ部梢圆捎面?zhǔn)酱鎯Α?/p>

\n

68.Ak=a>b?(b>C?1:o):o;a>b并且b>C,k為1,其他情況k為o,答案為A)。

69.D

70.A

71.A在變量定義doublea,*P:&a;中,}號是一個(gè)指針運(yùn)算符,而非間址運(yùn)算符,所以A錯(cuò)誤。

72.D

73.C解析:C語言提供了許多輸入函數(shù),其中有:getchar(輸入字符)、scanf(格式輸入)和gets\u3000(輸入字符串)等。題目要求

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論