![2021-2022年貴州省銅仁地區(qū)全國計算機等級考試C語言程序設(shè)計重點匯總測試卷(含答案)_第1頁](http://file4.renrendoc.com/view/5fa2121c046a1d63f8f5f02b5a1f896f/5fa2121c046a1d63f8f5f02b5a1f896f1.gif)
![2021-2022年貴州省銅仁地區(qū)全國計算機等級考試C語言程序設(shè)計重點匯總測試卷(含答案)_第2頁](http://file4.renrendoc.com/view/5fa2121c046a1d63f8f5f02b5a1f896f/5fa2121c046a1d63f8f5f02b5a1f896f2.gif)
![2021-2022年貴州省銅仁地區(qū)全國計算機等級考試C語言程序設(shè)計重點匯總測試卷(含答案)_第3頁](http://file4.renrendoc.com/view/5fa2121c046a1d63f8f5f02b5a1f896f/5fa2121c046a1d63f8f5f02b5a1f896f3.gif)
![2021-2022年貴州省銅仁地區(qū)全國計算機等級考試C語言程序設(shè)計重點匯總測試卷(含答案)_第4頁](http://file4.renrendoc.com/view/5fa2121c046a1d63f8f5f02b5a1f896f/5fa2121c046a1d63f8f5f02b5a1f896f4.gif)
![2021-2022年貴州省銅仁地區(qū)全國計算機等級考試C語言程序設(shè)計重點匯總測試卷(含答案)_第5頁](http://file4.renrendoc.com/view/5fa2121c046a1d63f8f5f02b5a1f896f/5fa2121c046a1d63f8f5f02b5a1f896f5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
2021-2022年貴州省銅仁地區(qū)全國計算機等級考試C語言程序設(shè)計重點匯總測試卷(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.
2.設(shè)有下列二叉樹:
對此二叉樹先序遍歷的結(jié)果為
A.ABCDEFB.DBEAFCC.ABDECPD.DEBFCA
3.有以下程序:
程序運行后的輸出結(jié)果是()。A.1B.11C.7D.9
4.若有定義“inta=5,b=7;”,則表達式a%-(b%2)運算后,a的值為()。
A.0B.1C.11D.3
5.有以下程序
#include<stdio.h>
intf(intx);
main()
{intn=1,m;
m=f(f(f(n)));printf(”%d\n”,m);
}
intf(intx)
{returnx*2;}
程序運行后的輸出結(jié)果是()。A.1B.2C.4D.8
6.有以下程序
#include<stdio.h>
voidfun(int*a,intn)/*fun函數(shù)的功能是將a所指數(shù)組元素從大到小排序*/
{intt,i,j;
for(i=0;i<n-1;j++)
for(j=i+1;j<n;j++)
if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}
}
main()
{intc[10]={1,2,3,4,5,6,7,8,9,0},i;
fun(c+4,6);
for(i=0;i<10;i++)printf("%d,",c[i]);
printf("\n");
}
程序的運行結(jié)果是
A.1,2,3,4,5,6,7,8,9,0,
B.0,9,8,7,6,5,1,2,3,4,
C.0,9,8,7,6,5,4,3,2,1,
D.1,2,3,4,9,8,7,6,5,0,
7.判定一個順序棧st(最多元素為MaxSize)為滿的條件是()。A.st->top!B.st->top!C.top==-1D.top==MaxSize
8.設(shè)一組初始記錄關(guān)鍵字序列(5,2,6,3,8),以第一個記錄關(guān)鍵字5為基準進行一趟快速排序的結(jié)果為()。
A.2,3,5,8,6B.3,2,5,8,6C.3,2,5,6,8D.2,3,6,5,8
9.對于C語言的函數(shù),下列敘述中正確的是()。
A.函數(shù)的定義不能嵌套,但函數(shù)調(diào)用可以嵌套
B.函數(shù)的定義可以嵌套,但函數(shù)調(diào)用不能嵌套
C.函數(shù)的定義和調(diào)用都不能嵌套
D.函數(shù)的定義和調(diào)用都可以嵌套
10.有以下程序#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);}程序的運行結(jié)果是______。A.10,1B.20,1C.10,2D.20,2
11.以下說法錯誤的是()。
A.C語言中的常量是指在程序運行過程中經(jīng)常被用到的變量
B.C語言中的常量是指在程序運行過程中其值不能被改變的量
C.C語言中的常量可以用一個符號名來代表
D.C語言中的常量可以用宏來定義
12.若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
13.下列敘述中正確的是:()A.C語言程序中,main()函數(shù)必須在其它函數(shù)之前,函數(shù)內(nèi)可以嵌套定義函數(shù)
B.C語言程序中,main()函數(shù)的位置沒有限制,函數(shù)內(nèi)不可以嵌套定義函數(shù)
C.C語言程序中,main()函數(shù)必須在其它函數(shù)之前,函數(shù)內(nèi)不可以嵌套定義函數(shù)
D.C語言程序中,main()函數(shù)必須在其它函數(shù)之后,函數(shù)內(nèi)可以嵌套定義函數(shù)
14.關(guān)于C語言中數(shù)的表示,以下敘述中正確的是()。
A.只有整型數(shù)在允許范圍內(nèi)能精確無誤地表示,實型數(shù)會有誤差
B.只要在允許范圍內(nèi)整型數(shù)和實型數(shù)都能精確地表示
C.只有實型數(shù)在允許范圍內(nèi)能精確無誤地表示,整形數(shù)會有誤差
D.只有用八進制表示的數(shù)才不會有誤差
15.程序段:intx=12;doub1ey=3.141593;printf("%d%8.6f"x,y);的輸出結(jié)果是______。A.123.141593B.123.141593C.12,3.141593D.123,1415930
16.若有以下定義和語句
chars1[10]="abcd!",*s2="\n123\\";
printf("%d%d\n",strlen(s1),strlen(s2));
則輸出結(jié)果是A.A.55B.105C.107D.58
17.下面哪種排序算法是穩(wěn)定的()
A.快速排序B.堆排序C.歸并排序D.選擇排序
18.單鏈表中,增加一個頭結(jié)點的目的是為了()。
A.使單鏈表至少有一個結(jié)點B.標識表結(jié)點中首結(jié)點的位置C.方面運算的實現(xiàn)D.說明單鏈表是線性表的鏈式存儲
19.軟件需求分析一般應(yīng)確定的是用戶對軟件的______。
A.功能需求B.非功能需求C.性能需求D.功能需求和非功能需求
20.對如下二叉樹進行后序遍歷的結(jié)果為()。
A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA
二、2.填空題(20題)21.軟件定義時期主要包括______和需求分析兩個階段。
22.度為10的線性表進行冒泡排序,最壞情況下需要比較的次數(shù)為______。
23.以下函數(shù)用來求出數(shù)組的最大元素在數(shù)組中的下標并存放在k所指的存儲單元中。請?zhí)羁铡?/p>
#include<conio.h>
#include<stdio.h>
intfun(int*s,intt,int*k)
{inti;
*k=0;
【】
if(s[*k]<s[i])*k=i;
return【】;}
main()
{inta[10]={876,675,896,101,301,401,980,431,451,777},k;
clrscr();
fun(a,10,&k);
printf("%d,%d\n",k,a[k]);}
24.下列程序運行后的輸出的結(jié)果是______。
#include<stdio.h>
main()
{chars[20];
scanf("%s",s);
printf("%s",s);
}
運行程序,輸入HOWAREYOU。
25.下列程序的輸出結(jié)果是______。
main()
{inti,sum;
for(i=1;i<7;i++)
sum+=i;
primf("%d",sum);
}
26.已知字母A的ASCII碼為65。以下程序運行后的輸出結(jié)果是______。
main()
{chara,b;
a='A'+'5'-'3';b=a+'6'-'2';
printf("%d%c\n",a,B);
}
27.隊列是限定在表的一端進行插入和在另一端進行刪除操作的線性表。允許插入的一端稱作______。
28.軟件危機出現(xiàn)于60年代末,為了解決軟件危機,人們提出了【】的原理來設(shè)計軟件,這就是軟件工程誕生的基礎(chǔ)。
29.語句“int(*ptr)();”的含義是______是指向函數(shù)的指針,該函數(shù)返回一個int型數(shù)據(jù)。
30.軟件工程研究的內(nèi)容主要包括:【】技術(shù)和軟件工程管理。
31.以下程序運行后的輸出結(jié)果是【】。
main()
{chars[]="9876",*p;
for(p=s;p<s+2;p++)printf("%s\n",p);
}
32.下列程序段的運行結(jié)果是______。
charstr[]="ABCD",*p=str;
printf("%d\n",*(p+3));
33.“printf("%d\n",strlen("\t\"023\xABC\n");”語句的輸出結(jié)果是______。
34.下列程序段是從鍵盤輸入的字符中統(tǒng)計小寫字母的個數(shù),用換行符結(jié)束循環(huán)。請?zhí)羁铡?/p>
intn=0,c;
c=getchar();
while(c!='\n')
{if(______)
n++;
}
35.以下程序中,函數(shù)fun的功能是計算x2-2x+6,主函數(shù)中將調(diào)用fun函數(shù)計算:
y1=(x+8)2-2(x+8)+6
y2=sin2(x)-2sin(x)+6
請?zhí)羁铡?/p>
ginclude"math.h"
doublefun(doublex){return(x*x-2*x+6);}
main()
{doublex,y1,y2;
pfintf("Enterx:");scanf("%lf"&x);
y1=fun([10]);y2=fun([11]);
pin
36.以下程序用來輸出結(jié)構(gòu)體變量ex所占存儲單元的字節(jié)數(shù),請?zhí)羁铡?/p>
structst
{charname[20];doublescore;};
main()
{structstex;
pfintf("exsize:%d\n",sizeof(______));}
37.數(shù)據(jù)流圖的類型有【】和事務(wù)型。
38.當循環(huán)隊列非空且隊尾指針等于隊頭指針時,說明循環(huán)隊列已滿,不能進行人隊運算。這種情況稱為【】。
39.結(jié)構(gòu)化程序設(shè)計方法的主要原則可以概括為自頂向下、逐漸求精、【】和限制使用goto語句。
40.下列程序的輸出結(jié)果是______。
#include<stdio.h>
intfun(intx)
{intp;
if(x==0‖x==1)
return3;
else
p=x-fun(x-2);
returnp;
}
voidmain()
{printf("\n%d",fun(11));
三、1.選擇題(20題)41.有以下程序main(){intm[][3]={1,4,7,2,5,8,3,6,9};inti,j,k=2;for(i=0;i<3;i++){printf("%d",m[k][i]);}}執(zhí)行后輸出結(jié)果是
A.456B.258C.369D.789
42.請讀程序片段(字符串內(nèi)沒有空格字符):printf("%d\n",stlen("ATS\n012\1\\”));上面程序片段的輸出結(jié)果是()
A.11B.10C.9D.8
43.數(shù)據(jù)庫設(shè)計的四個階段是:需求分析、概念設(shè)計、邏輯設(shè)計和______。A.編碼設(shè)計B.測試階段C.運行階段D.物理設(shè)計
44.有以下程序:main(){charstr[]="xyz",*ps=str;while(*ps)ps++;for(ps--;ps-str>=O;ps--)puts(ps);}執(zhí)行后的輸出結(jié)果是()。
A.yzxyzB.zyzC.zyzxyzD.xxyxyz
45.下面程序的輸出結(jié)果是#include<stdio.h>main(){inti=010,j=10;Printf(“%d,%d”,++i,j--);}
A.11,10B.9,10C.010,9D.10,9
46.若已包括頭文件<stdio.h>和<string.h>,運行下列程序段時輸出結(jié)果是()。inti=0;chars1[10]="ABCD",s2[10]="EFG";strcat(s1,s2);while(s2[i++]!='\0')s2[i]=s1[i];puts(s2);
A.ABCB.ABCDEFC.EBCDEFGD.CBD
47.下列選項中不屬于結(jié)構(gòu)化程序設(shè)計方法的是()。
A.自頂向下B.逐步求精C.模塊化D.可復(fù)用
48.在說明語句int*f()中,標識符f代表的是______。
A.—個用于指向整型數(shù)據(jù)的指針變量
B.—個用于指向一維數(shù)組的行指針
C.—個用于指向函數(shù)的指針變量
D.一個返回值為指針型的函數(shù)名
49.有以下程序段:main(){inta=5,*b,**c;c=&b;b=&a;……}程序在執(zhí)行了“c=&b;b=&a;”語句后,表達式“**c”的值是()。
A.變量a的地址B.變量b中的值C.變量a中的值D.變量b的地址
50.下面程序的功能是輸出以下形式的金字塔圖案:****************main(){inti,j;for(i=1;i<=4;i++){for(j=1;j<=4-i;j++)printf("");for(j=1;j<=();j++)printf("*");printf("\n");}}在下劃線處應(yīng)填入的是()。
A.iB.2*1-1C.2*i+1D.i+2
51.假設(shè)線性表的長度為n,則在最壞情況下,冒泡排序需要的比較次數(shù)為``
A.log2n
B.n2
C.O(n1.5)
D.n(n-1)/2
52.使用白盒測試法時,確定測試數(shù)據(jù)應(yīng)該根據(jù)()和指定的覆蓋標準。
A.程序的內(nèi)部邏輯B.程序的復(fù)雜結(jié)構(gòu)C.使用說明書D.程序的功能
53.下列選項中正確的語句組是()。
A.chars[8];s={"Beijing"};
B.char*s;s={"Beijing"};
C.chars[8];s="Beijing";
D.char*s;s="Beijing";
54.規(guī)范化理論中,分解______主要是消除其中多余的數(shù)據(jù)相關(guān)性。
A.關(guān)系運算B.內(nèi)模式C.外模式D.視圖
55.以下選項中,能用作數(shù)據(jù)常量的是()。
A.18B.11C.0.800.5D.25L
56.若有以下程序:#include<stdio.h>voidf(intn);main(){voidf(intn);f(5);}voidf(intn){printf("%d\n",n);}則以下敘述中不正確的是()。
A.若只在主函數(shù)中對函數(shù)f進行說明,則只能在主函數(shù)中正確調(diào)用函數(shù)f
B.若在主函數(shù)前對函數(shù)f進行說明,則在主函數(shù)和其后的其他函數(shù)中都可以正確調(diào)用函數(shù)f
C.對于以上程序,編譯時系統(tǒng)會提示出錯信息:對f函數(shù)重復(fù)說明
D.函數(shù)f無返回值,所以可用void將其類型定義為無返回值型
57.以下各選項企圖說明一種新的類型名,其中正確的是______。
A.typedefvlint;
B.typedefv2=int
C.typedefintv3;
D.typedefv4:int
58.下列能正確定義且賦初值的語句是()。
A.intn1=n2=10;
B.charc=32;
C.floatf=f+1.1;
D.doublex=12.3E2.5;
59.以下描述中正確的是()。
A.由于do-while循環(huán)中循環(huán)體語句只能是一條可執(zhí)行語句,所以循環(huán)體內(nèi)不能使用復(fù)合語句
B.do-while循環(huán)由do開始,用while結(jié)束,在while(表達式.后面不能寫分號
C.在do-while循環(huán)體中,是先執(zhí)行一次循環(huán),再進行判斷
D.do-while循環(huán)中,根據(jù)情況可以省略while
60.下述程序段的輸出結(jié)果是()intx=10;inty=x++;8printf("%d,'%d,(x++,y),y++);
A.11,10B.11,11C.10,10D.10,11
四、選擇題(20題)61.有以下程序
#include<string.h>
structSTU
{intnum;
floatTotalScore;};
voidf(structSTUp)
{structSTUs[2]={{1047,530},{1048,531}};
p.num=s[1].num;p.TotalScore=s[1].TotalScore;
}
main()
{structSTUs[2]={{2041,730},{2042,731}};
f(s[0]);
printf("%d,%3.0f\n",s[0].num,s[0].TotalScore);
}
程序的運行結(jié)果是
A.1047,530
B.1048,531
C.2041,730
D.2042,731
62.
63.
64.有以下程序:main{inta=0,b=0;a=10;/*給a賦值b=20;給b賦值*/printf(“a+b=%d\n”,a+b);/*輸出計算機結(jié)果*/}程序運行后的輸出結(jié)果是()。A.a+b=10B.a+b=30C.30D.出錯
65.軟件生命周期是指()。A.軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程
B.軟件從需求分析、設(shè)計、實現(xiàn)到測試完成的過程
C.軟件的開發(fā)過程
D.軟件的運行維護過程
66.以下敘述中正確的是
A.C語言比其他語言高級
B.C語言可以不用編譯就能被計算機識別執(zhí)行
C.C語言以接近英語國家的自然語言和數(shù)學(xué)語言作為語言的表達形式
D.C語言出現(xiàn)得最晚,具有其他語言的一切優(yōu)點
67.
68.以下選項中不能作為c語言合法常量的是()。.
A.0.1e+6B.’cd’.C.”、a”D.’\011
69.
70.有以下程序
程序的運行結(jié)果是()。
A.1,2,3,4,5,6,7,8,9,0,
B.2,1,4,3,6,5,8,7,0,9,
C.0,9,8,7,6,5,4,3,2,l,
D.0,1,2,3,4,5,6,7,8,9,
71.
72.若有定義語句:
charS[10]=”1234567\0\0”;則strlen(s)的值是()。
A.7B.8C.9D.10
73.以下程序執(zhí)行后sum的值是()。main{inti,sum;for(i=1;i<6;i++)sum+=i:printf("1%d\n",sum):}A.15B.14C.不確定D.0
74.定義如下變量和數(shù)組:inti;intx[3][3]={1,2,3,4,5,6,7,8,9};
則語句for(i=0;i<3;i++)printf("%d",x[i][2-i]);的輸出結(jié)果是()。
A.159B.147C.357D.369
75.已定義以下函數(shù):
fun(int*p)
{return&p;}
該函數(shù)的返回值是()。
A.不確定的值
B.形參p中存放的值
C.形參p所指存儲單元中的值
D.形參p的地址值
76.
77.
78.有以下程序:
程序執(zhí)行后的輸出結(jié)果是()。
A.357B.753C.369D.751
79.
80.有以下程序:
程序運行后的輸出結(jié)果是()。
A.2,4B.1,2C.1,4D.2.3
五、程序改錯題(1題)81.下列給定程序是建立一個帶頭結(jié)點的單向鏈表,并用隨機函數(shù)為各結(jié)點數(shù)據(jù)域賦值。函數(shù)proc()的作用是求出單向鏈表結(jié)點(不包括頭結(jié)點)數(shù)據(jù)域中的最大值,并且作為函數(shù)值返回。請修改程序中的錯誤,使它能得出正確的結(jié)果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計題(1題)82.假定輸入的字符串中只包含字母和*號。請編寫函數(shù)proc(),它的功能是:使字符串中前部的*號不得多余m個;若多余m個,則刪除多余的*號;若少于或等于m個,則什么也不做,字符串中間和尾部的*號不刪除。例如,字符串中的內(nèi)容為****A*BC*DEF*G****,若m的值為2,刪除后,字符串中的內(nèi)容則應(yīng)當是**A*BC*DEF*G****;若m的值為4,則字符串中的內(nèi)容仍為****A*BC*DEF*G****。n的值在主函數(shù)中輸入。在編寫函數(shù)時,不得使用c語言提供的字符串函數(shù)。注意:部分源程序給出如下。請勿改動main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號中填入所編寫的若干語句。試題程序:
參考答案
1.A
2.C解析:二叉樹的遍歷分為先序,中序、后序三種不同方式.本題要求先序遍歷,其遍歷順序應(yīng)該為:訪問根結(jié)點->,先序遍歷左子樹->先序遍歷右子樹。按照定義,先序遍歷序列是ABDECF,故答案為C。
3.D題干中,函數(shù)fun的功能是將二維數(shù)組p的行下標為1、列下標為1的元素(p[1][1])的值賦給二維地址s指向的*s所指向的存儲單元。main函數(shù)中定義了整型指針p,動態(tài)分配了整型長度的內(nèi)存空間,調(diào)用函數(shù)fun將數(shù)組元素a[1][1],即9賦給p所指向的空間。本題答案為D選項。
4.A本題考查“%”運算符的使用。運算符“%”是整數(shù)除法的余數(shù)。本題中表達式a%=(b%2)等價于a=a%(b%2)=5%(7%2)=5%1=0。
5.D解析:本題考查函數(shù)返回值作參數(shù),最初n=1,f(n)=f(1)=2,將f(n)的結(jié)果代入第二個f(n)中,即f(f(n))=f(2)=4,所以f(f(f(f(n))))=f(4)=8。
6.D解析:在本題中,主函數(shù)在調(diào)用fun()函數(shù)進行排序時,傳遞的參數(shù)是c+4和6,fun()函數(shù)實現(xiàn)的功能是將數(shù)組c的第5個元素開始的6個元素依次進行從大到小的順序排列。排序之后,數(shù)組c的內(nèi)容變?yōu)閧1,2,3,4,9,8,7,6,5,0}。
7.D
8.C
9.A
10.C解析:本題定義了一個包含兩個元素(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ù)中,定義了一個指向結(jié)構(gòu)體數(shù)組的結(jié)構(gòu)體指針變量p,使得p指向結(jié)構(gòu)體數(shù)組的首地址,所以p->y訪問的是第一個鮚構(gòu)體數(shù)組元素的第二個值,即data[0].y;(++p)->x訪問的是第二個結(jié)構(gòu)體數(shù)組元素的第一個值,即\u3000data[1].x,所以程序輸出結(jié)果為10,2。
11.AC語言中的常量是指在程序運行過程中其值不能被改變的量,它可以用宏來定義,用一個符號名來代表。選項A錯誤,選項B、C、D正確。本題答案為A選項。
12.B本題考查for循環(huán)的使用。對于第1個for循環(huán),任何一個i,內(nèi)層j的循環(huán)都要使j~0到3,j=4時不符合,所以退出j循環(huán);然后i減1,J仍然要從0~3,j=4時退出J循環(huán)直到i變成0,退出i循環(huán)。第一條for語句執(zhí)行6次,第二條for語句執(zhí)行4次,所以內(nèi)循環(huán)體執(zhí)行6*4=24次。
13.B每個C程序有且只有一個主函數(shù)main,C程序總是從main函數(shù)開始執(zhí)行,main函數(shù)后面的一對圓括號不能省略,main函數(shù)可以位于程序的任意位置。函數(shù)不可以嵌套定義,但函數(shù)可以嵌套調(diào)用。
14.A當數(shù)據(jù)類型是實數(shù)時,在存儲過程中,當小數(shù)部分無限長時,會存在小數(shù)部分的截斷,會存在誤差,所以答案選擇A。
15.A解析:在printf函數(shù)常用的格式說明中,每個格式說明都必須用“%”開頭,以—個格式字符作為結(jié)束,在此之間可以根據(jù)需要插入“寬度說明”、左對齊符號“-”、前導(dǎo)零符號“0”等。本題中用到了d和f,d代表輸出符號的十進制整型數(shù),f代表以帶小數(shù)點的數(shù)學(xué)形式輸出浮點數(shù)(單精度和雙精度數(shù))。對于float和double類型的實數(shù),可以用“n1.n2”的形式來指定輸出寬度(n1和n2分別代表—個整常數(shù)),其中n1指定輸出數(shù)據(jù)的寬度(包括小數(shù)點),n2指定小數(shù)點后小數(shù)位的位數(shù),由于輸出格式是以緊湊格式輸出,因此選項A是正確的。
16.A
17.C
18.C
19.DD?!窘馕觥寇浖枨蠓治鲋行枰獦?gòu)造一個完全的系統(tǒng)邏輯模型,理解用戶提出的每一功能與性能要求,使用戶明確自己的任務(wù)。因此,需求分析應(yīng)確定用戶對軟件的功能需求和非功能需求。
20.D解析:后序遍歷指在訪問根結(jié)點、遍歷左子樹與遍歷右子樹這三者中,道先遍歷左子樹,然后遍歷右子樹,最后訪問根結(jié)點:并且遍歷左、右子樹時,仍然先遍歷左子樹,然后遍歷右子樹,最后訪問根結(jié)點。
21.可行性研究可行性研究解析:軟件生命周期一般包括可行性研究與需求分析、設(shè)計、實現(xiàn)、測試、交付使用及維護等,還可以將軟件生命周期分為三個階段:①軟件定義階段:可行性研究和需求分析;②軟件開發(fā)階段:設(shè)計、實現(xiàn)和測試;③軟件運行維護階段:交付使用和維護。
22.4545解析:對于長度為N的線性表,在最壞情況下(即線性表中元素現(xiàn)在的順序與目標順序正好相反),冒泡排序需要經(jīng)過N/2遍的從前往后的掃描和N/2遍的從后往前的掃描,需要的比較次數(shù)為N(N-1)/2。
23.for(i=0;i<t;i++)0for(i=0;i<t;i++)\r\n0解析:本題中直接使用指針變量k,但在使用時要注意對k的指針運算,此外,一開始應(yīng)使*k的值為數(shù)組中的某一下標值,即*k=0。
24.HOWHOW解析:在scanf()函數(shù)中,使用空格作為分隔符,如果輸入含有空格的字符串,則不能使用scanf()函數(shù),所以本題中輸入空格就返回了'\\0',s數(shù)組也就確定了,后面的輸入就不再讀入數(shù)組s中。
25.無定值無定值解析:for(i=l;i<7;i++)決定了循環(huán)次數(shù)為6次,每次執(zhí)行的操作是sum+=i,但由于sum沒有初始化,并不知道sum的初值是多少,所以結(jié)果無定值。
26.67G67G解析:字符型變量中保存的是某個字符的ASCII碼值,是一個整數(shù),因此字符型變量的算術(shù)運算和整型變量并無區(qū)別。所以。a='A'+'5'-'3'='A'+('5'='3')='A'+2=65+2=67:b=a+'6'='2'='C'+('6'-'2')='C'+4='G'。最后分別按十進制整數(shù)和字符形式輸出a和b的值為:67G。
27.隊尾隊尾解析:在隊列中,允許插入的一端叫做“隊尾”,允許刪除的一端叫做“隊頭”。
28.軟件工程學(xué)軟件工程學(xué)
29.ptrptr解析:本題考查函數(shù)指針的概念。函數(shù)指針的定義格式是:類型標識符(*指針變量名)()。注:“類型標識符”為函數(shù)返回值的類型。
30.軟件開發(fā)
31.98768769876\r\n876解析:指針是一種數(shù)據(jù)類型,這種數(shù)據(jù)類型的變量用來存放內(nèi)存中分配的存儲單元的首地址。指針的定義:
類型說明符*指針變量名;
32.6868解析:本題考查如何用指針引用數(shù)組元素。本題先定義了一個指向字符型數(shù)組str的指針p,指針p指向數(shù)組str的首地址,p+3將指針指向str[3],*(p+3)指的是字符“D”,輸出時是以“%d”格式輸出的,即輸出其相應(yīng)ASCII碼值68。
33.66解析:strlen()函數(shù)的作用是計算字符串的長度并作為函數(shù)的返回值,這里的長度不包括串尾的結(jié)束標志\'\\0\'。
\'\\t\'f是轉(zhuǎn)義字符,代表橫向跳若干格:'\\'是轉(zhuǎn)義字符,代表雙引號;\'\\023\'只代表一個字符,而不管轉(zhuǎn)義字符后面有幾個字符;’僅AB,是以兩位十六進制數(shù)AB表示的ASCII碼字符,只代表一個字符;\'\\n\'是轉(zhuǎn)義字符,代表回車換行。
5個字符常量各代表一個字符,再加上字母C,所以返回的長度是6。
34.c>='a'&&c<='z'c>='a'&&c<='z'解析:小寫字母在內(nèi)存中以ASCII的形式存入,且從a到z依次遞增,所以可以直接用c>='a'&&c<='z'判斷是不是小寫字母;c!='\\n'判斷是用換行符結(jié)束循環(huán)。
35.用x+8代替函數(shù)fun(doublex)中形式參數(shù)x。用sin(x)代替函數(shù)fun(doublex)中形式參數(shù)x。
36.
37.變換型典型的數(shù)據(jù)流類型有兩種:變換型和事務(wù)型。變換型是指信息沿輸入通路進入系統(tǒng),同時由外部形式變換成內(nèi)部形式,進入系統(tǒng)的信息通過變換中心,經(jīng)加工處理以后再沿輸出通路變換成外部形式離開軟件系統(tǒng);在很多軟件應(yīng)用中,存在某種作業(yè)數(shù)據(jù)流,它可以引發(fā)一個或多個處理,這些處理能夠完成該作業(yè)要求的功能,這種數(shù)據(jù)流就叫做事務(wù)。
38.上溢上溢解析:入隊運算是指在循環(huán)隊列的隊尾加入一個新元素。這個運算有兩個基本操作:首先將隊尾指針進一(即rear=rear+1),并當rear=m+1時,置rear=1;然后將新元素插入隊尾指針指向的位置。當循環(huán)隊列非空(s=1)且隊尾指針等于隊頭指針時,說明循環(huán)隊列已滿,不能進行人隊運算,這種情況稱為“上溢”。
39.模塊化模塊化解析:結(jié)構(gòu)化程序設(shè)計方法的主要原則可以概括為自頂向下、逐步求精、模塊化和限制使用goto語句。自頂向下程序設(shè)計時,應(yīng)先考慮總體,后考慮細節(jié);先考慮全局目標,后考慮局部目標。不要一開始就過多追求眾多的細節(jié),先從最上層總目標開始設(shè)計,逐步使問題具體化。
逐步求精:對復(fù)雜問題,應(yīng)設(shè)計一些子目標作過度,逐步細化。
模塊化:一個復(fù)雜問題,肯定是由若干精簡單的問題構(gòu)成。模塊化是把程序要解決的總目標分解為分目標,再進一步分解為具體的小目標,把每個小目標稱為一個模塊。
限制使用goto語句。
40.44解析:本題考查函數(shù)的遞歸調(diào)用。在主函數(shù)中第1次調(diào)用子函數(shù)是調(diào)用的fun(11),返回11-fun(9):第2次調(diào)用子函數(shù)是調(diào)用的fun(9),返回9-tim(7);第3次調(diào)用子函數(shù)是調(diào)用的fun(7),返回7-fun(5);第4次調(diào)用子函數(shù)是調(diào)用的fun(5),返回5-fun(3);第5次調(diào)用子函數(shù)是調(diào)用的fun(3),返回3-fun(1);第6次調(diào)用子函數(shù)是調(diào)用的fun(1),返回3??偟姆祷刂凳牵?1-(9-(7-(5-(3-3))))=4。
41.C解析:本題考核的知識點是二維數(shù)組的定義,賦值及數(shù)組元素的引用。變量k的初值為2,循環(huán)執(zhí)行了3次,分別輸出m[2][0]、m[2][1]和m[2][2],其值分別為3,6,9。所以,C選項為所選。
42.C
43.DD)【解析】數(shù)據(jù)庫設(shè)計目前一段采用生命周期法.即將整個數(shù)據(jù)庫應(yīng)用系統(tǒng)的開分解成目標獨立的若干階段,它們是:需要分析階段、概念設(shè)計階段、邏輯設(shè)計階段、物理設(shè)計階段、編碼階段、測試階段、運行階段、進一步修改階段。在數(shù)據(jù)庫設(shè)計中采用上面幾個階段中的前四個階段,并且重點以數(shù)據(jù)結(jié)構(gòu)和模型設(shè)計為主線。
44.C解析:執(zhí)行while循環(huán),使指針變量ps指向字符串“xyz”的字符串結(jié)束標志,然后執(zhí)行for循環(huán),先執(zhí)行ps--,使ps指向字符‘z’,故puts(ps)輸出結(jié)果為z;再次執(zhí)行ps--,使ps指向字符‘y’,故puts(ps)輸出結(jié)果為yz;再次執(zhí)行ps--,使ps指向字符‘x’,故puts(ps)輸出結(jié)果為xyz,退出循環(huán)。所以,C選項為所選。
45.B解析:程序中i的值用八進制表示(十進制為8),++i是在變量使用前自身先加1,而j--是在變量使用后自身減1。
46.C解析:strcat(s1,s2)把s2連接到s1的后面,s1=ABCDEFG,執(zhí)行while(s2[i++]!='\\0')后i的值變?yōu)?,往后執(zhí)行s2[i]=s1[i]時是從把s1的第二位給s2的第二位開始,把s1賦給s2。
47.D解析:20世紀70年代以來,提出了許多軟件設(shè)計方法,主要有①逐步求精:對復(fù)雜的問題,應(yīng)設(shè)計一些子目標作過渡,逐步細化;②自頂向下:程序設(shè)計時應(yīng)先考慮總體,后考慮細節(jié);先考慮全局目標,后考慮局部目標。不要一開始就過多追求眾多的細節(jié),先從最上層總目標開始設(shè)計,逐步使問題具體化;⑧模塊化:一個復(fù)雜問題,肯定是由若干稍簡單的問題構(gòu)成。模塊化是把程序要解決的總目標分解為分目標,再進一步分解為具體的小目標,把每個小目標稱為一個模塊,而可復(fù)用是面向?qū)ο蟪绦蛟O(shè)計的一個優(yōu)點。
48.D解析:返回指針值的函數(shù),其—般定義形式為:類型標識符*函數(shù)名(參數(shù)表);例如:int*f(x,y);其中,f是函數(shù)名,調(diào)用它以后能得到—個指向整型數(shù)據(jù)的指針(地址),x,y是函數(shù)f的形參。在f的兩側(cè)為別為*運算符和()運算符,而()優(yōu)先級高于*,因此f先與()結(jié)合,顯然是函數(shù)形式。這個函數(shù)前面有一個*,表示此函數(shù)是指針型函數(shù)(函數(shù)值是指針)。前面的int表示返回的指針指向整型變量。
49.C解析:主函數(shù)中定義了一個整型變量a,一個整型指針變量b和一個二級指針變量c,并讓c指向指針變量b,讓指針b指向整形變量a,所以**c為變量a的值,所以,4個選項中選項C符合題意。
50.B解析:通過觀察可知圖形共4行,主函數(shù)中通過一個for循環(huán)4次,輸出4行。第1行輸出3個空格和1個“*”,第2行輸出2個空格和3個“*”,第3行輸出3個空格和5個“*”,第4行輸出7個“*”,主函數(shù)中通過第2個循環(huán)控制每行的輸出空格數(shù),第3個for循環(huán)控制輸出的“*”的個數(shù),總結(jié)規(guī)律:每行輸出的“*”的個數(shù),總比前一行的多2個,且第1行的個數(shù)為1,可以斷定每行輸出的“*”的個數(shù)組成了一個公差為2的等差數(shù)列,所以每行輸出“*”的個數(shù)即該等差數(shù)列的通項,故該空格處應(yīng)該填寫2*i-1,所以,4個選項中選項B符合題意。
51.D解析:假設(shè)線性表的長度為n,則在最壞情況下,冒泡排序要經(jīng)過n/2遍的從前往后的掃描和n/2遍的從后往前的掃描,需要的比較次數(shù)為n(n-1)/2。
52.A白盒測試是把測試對象看作是一個打開的盒子,允許測試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及相關(guān)信息來設(shè)計或選擇測試用例,對程序所有的邏輯路徑進行測試。所以,白盒測試的對象基本上是源程序,以程序的內(nèi)
【知識拓展】軟件測試按照功能劃分可以分成白盒(白箱)測試和黑盒(黑箱)測試。其中黑盒測試是對軟件已經(jīng)實現(xiàn)的功能是否滿足需求進行測試和驗證。
53.D解析:字符數(shù)組初始化可以有兩種方式:方式一,按單個字符的方式賦初值。方式二,把一個字符串作為初值賦給字符數(shù)組。選項A定義的字符數(shù)組長度為8,由于最后還要加一個“、0”做結(jié)束標志,所以賦給他的字符串長度應(yīng)小于等于7;在給字符數(shù)組賦初值的時候,應(yīng)該用花括號“{”和“}“將字符串括起來。將字符型指針變量指向字符串也有兩種方法,一是在定義指針變量時就給其賦初值,比如:char*p=“student”;二是給指針變量賦值,比如:p=“student”;(p已經(jīng)被定義為字符型指針變量;)。
54.A解析:數(shù)據(jù)庫規(guī)范化的基本思想是逐步消除數(shù)據(jù)依賴中不合適的部分,根本思想是通過分解關(guān)系運算來消除多余的數(shù)據(jù)相關(guān)性。
55.D
56.C解析:f函數(shù)沒有重復(fù)說明,在main函數(shù)中是對f函數(shù)聲明,在main函數(shù)外則是對f函數(shù)的定義。
57.C解析:C語言中可以使用typedef來重新定義已有的數(shù)據(jù)類型,相當于為數(shù)據(jù)類型取個別名。
58.B解析:C語言規(guī)定,可以在定義變量的同時給變量賦初值,稱為變量初始化。在選項A)中在給n1和n2進行賦初值,但變量02沒有定義;在選項C)中定義變量f時,不能在賦值表達式的右邊出現(xiàn)變量f自身,所以選項C)錯誤:在選項D)用指數(shù)表達式的常量中,字母E后面的數(shù)應(yīng)該為整數(shù),而不應(yīng)該為小數(shù)形式。因此,選項B)正確。
59.C解析:do-while語句的一般形式為:do循環(huán)體語句while(表達式);,其中循環(huán)體語句可以是復(fù)合型語句,但必須用花括號括起來。while后必須要有分號作為語句的結(jié)束,在do-while循環(huán)中,不可以省略while。
60.A
61.C本題中,程序首先定義了一個結(jié)構(gòu)體,該結(jié)構(gòu)體包含一個整型和一個浮點型成員變量。然后定義了一個函數(shù)f,該函數(shù)無返回類型,函數(shù)的形參是已定義的結(jié)構(gòu)體變量。在該函數(shù)中,首先定義了一個結(jié)構(gòu)體數(shù)組s,并賦了初值,然后試題用結(jié)構(gòu)體數(shù)組中各對應(yīng)成員的值替代形參結(jié)構(gòu)體變量中各成員的值,這里關(guān)鍵的問題還是參數(shù)的傳遞問題,由于結(jié)構(gòu)體成員值的傳遞方式采用的
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)三年級數(shù)學(xué)100以內(nèi)整數(shù)除法計算綜合練習(xí)習(xí)題
- 小學(xué)三年級數(shù)學(xué)三位數(shù)除以一位數(shù)能力練習(xí)試題
- 2025年度購物中心兒童教育機構(gòu)場地租賃合同
- 2025年度生態(tài)農(nóng)業(yè)園固定期限種植承包合同
- 城市綠化景觀改造工程承包合同
- 高校教師聘用合同模板
- 新能源汽車保險合同范本
- 人才引進合同書格式范本
- 農(nóng)村住宅租賃合同標準范本
- 標準離婚合同模板:一步到位
- 藥膳與食療試題及答案高中
- 二零二五年度海外市場拓展合作協(xié)議4篇
- 2024年湖南汽車工程職業(yè)學(xué)院單招職業(yè)技能測試題庫標準卷
- 2025中國鐵塔集團安徽分公司招聘29人高頻重點提升(共500題)附帶答案詳解
- 2025年河北省農(nóng)村信用社招聘歷年高頻重點提升(共500題)附帶答案詳解
- 手術(shù)室植入物的管理
- 電力供電系統(tǒng)試驗調(diào)試和聯(lián)調(diào)方法
- (正式版)HGT 6313-2024 化工園區(qū)智慧化評價導(dǎo)則
- 法語工程詞匯(路橋、隧道、房建)
- 地推管理制度(完整版)
- NUDD新獨難異失效模式預(yù)防檢查表
評論
0/150
提交評論