版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
2021年四川省成都市全國計算機等級考試C語言程序設(shè)計知識點匯總卷(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.棧和隊列的共同特點是()。
A.都是先進先出B.都是先進后出C.只允許在端點處插入和刪除元素D.沒有共同點
2.已知廣義表LS=((a,b,c),(d,e,f)),運用head和tail函數(shù)取出LS中原子e的運算是()。
A.head(tail(LS))
B.tail(head(LS))
C.head(tail(head(tail(LS)))
D.head(tail(tail(head(LS))))
3.
4.當輸入為"hello?"時,下面程序的執(zhí)行結(jié)果是()。#include<stdio.h>main{charc;c=getchar;while(c!=?){putehar(e);break;}}A.RvfsuB.hC.?D.hello
5.
6.函數(shù)fun的功能是在a所指的具有n個元素的數(shù)組中查找最大值并返回給調(diào)用函數(shù),但函數(shù)不完整:intfun(int*a,intn){int*p,*s;for(p=a,s=a;p-a<=""p="">if(________)s=p;return*s;}在if語句下劃線處應(yīng)填入的選項是()。
A.p>sB.*p>*sC.a[p]>a[s]D.p-a>p-s
7.有以下程序:#include<stdio.h>main(){inta[5]={1,2,3,4,5),b[5]={0,2,1,3,o},i,s=0;for(i=o;i<5;i++)s=s+a[b[i]];printf(”%d\n”,s);}程序運行后的輸出結(jié)果是()。A.6B.10C.11D.15
8.查找較快,且插入和刪除操作也比較方便的查找方法是
A.分塊查找B.二分查找C.順序查找D.折半查找
9.下面不合法的常量數(shù)據(jù)是()。
A..023E-5B.0x3f7b8a90C.‘\0x6d’D.‘\0123321’
10.數(shù)據(jù)結(jié)構(gòu)主要研究的是數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的運算和()。A.數(shù)據(jù)的方法B.數(shù)據(jù)的存儲結(jié)構(gòu)C.數(shù)據(jù)的對象D.數(shù)據(jù)的邏輯存儲
11.設(shè)abcdef以所給的次序進棧,若在進棧操作時,允許退棧操作,則下面得不到的序列為()。
A.fedcbaB.bcafedC.dcefbaD.cabdef
12.如果要求一個線性表既能較快地查找,又能適應(yīng)動態(tài)變化的要求,可以采用下列哪一種查找方法()
A.分塊B.順序C.折半D.哈希
13.有以下程序:#include<stdio.h>main(){chars[]={“012xy”;inti,n=0;for(i=0;s[i]|=0;i++)if(s[i]>=‘a(chǎn)’&&s[i]<=‘z’)n++;printf(“%d\n”,n);}程序的運行結(jié)果是()。
A.0B.2C.3D.5
14.設(shè)二維數(shù)組A[1...m,1...n]按行存儲在數(shù)組B中,則二維數(shù)組元素A[i,j]在一維數(shù)組B中的下標為()。A.A.n*(i-1)+jB.n*(i-1)+j-1C.i*(j-1)D.j*m+i-1
15.
16.有以下程序:#include<stdio.h>main(){intx=10,y=11,z=12;if(y<z)x=y;y=z;z=x;printf(“x=%dy=%dz=%d\n”,x,y,z);}程序運行后的輸出結(jié)果是()。
A.x=11y=12z=11
B.x=10y=10z=10
C.x=11y=11z=10
D.x=10y=10z=12
17.檢查軟件產(chǎn)品是否符合需求定義的過程稱為______。
A.確認測試B.集成測試C.驗證測試D.驗收測試
18.已定義以下函數(shù)“intfun(int*p){return*p;}”,fun函數(shù)的返回值是()。
A.—個整數(shù)B.不確定的值C.形參p中存放的值D.形參p的地址值
19.數(shù)字字符“2”的ASCII碼為十進制數(shù)50,數(shù)字字符“5”的ASCII碼為十進制數(shù)()
A.52B.55C.54D.53
20.以下程序擬實現(xiàn)計算s=1+2*2+3*3+…+n*n+…,直到s>1000為止。#include<stdio.h>main(){ints,n;s=1;n=1;do{n=n+1;s=s+n*n;}while(s>1000);printf(“s=%d\n”,s);}程序運行后,不能得到正確結(jié)果,以下修改方案正確的是()。
A.把“while(s>1000);”改為“while(s<=1000);”
B.把“s=1”改為“s=0”
C.把“n=1;”改為“n=0;”
D.把“n=n+1”改為“n=n*n”
二、2.填空題(20題)21.函數(shù)count(head)統(tǒng)計鏈表的結(jié)點個數(shù),head為表頭指針,閱讀程序,要求將整個if語句改成while循環(huán)控制結(jié)構(gòu),其形式為【】。
#include<stdio.h>
intcount(NODE*head)
{intn=0;
if(head!=NULL)
do
{n++;
head=head->next;
}while(head!=NULL);
returnn;}
22.以下程序用于判斷a、b、c能否構(gòu)成三角形,若能,輸出YES,否則輸出NO。當給a、b、c輸入三角形三條邊長時,確定a、b、c能構(gòu)成三角形的條件是需同時滿足三個條件:a+b>c,a+c>b,b+c>a。請?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)成三角形*/
}
23.以下程序運行后的輸出結(jié)果是【】。
main()
{charm;
m='B'+32;printf("%c\n",m);
24.在計算機中,字符的比較是對它們的【】進行比較。
25.以下定義的結(jié)構(gòu)體類型擬包含兩個成員,其中成員變量info用來存入整形數(shù)據(jù);成員變量link是指向自身結(jié)構(gòu)體的指針,請將定義補充完整。
structnode
{intinfo;
【】link;};
26.表示“整數(shù)x的絕對值大于5”時值為“假”的C語言表達式是______。
27.算法的復(fù)雜度主要包括【】復(fù)雜度和空間復(fù)雜度。
28.深度為5的滿二叉樹有()個葉子節(jié)點。
29.以下程序的定義語句中,x[1]的初值是[9],程序運行后輸出的內(nèi)容是[10]。
#include<stdio.h>
main()
{intx[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},*p[4],i;
for(i=0;i<4;i++)
{p[i]=&x[2*i+1];
printf("%d",p[i][0]);
}
printf("\n");
}
30.軟件測試按功能劃分的方法劃分,通常分為【】測試方法和黑盒測試方法。
31.已知字母A的ASCII碼為65。以下程序運行后的輸出結(jié)果是______。
main()
{chara,b;
a='A'+'5'-'3';b=a+'6'-'2';
printf("%d%c\n",a,B);
}
32.軟件需求規(guī)格說明書應(yīng)具有完整性、無歧義性、正確性、可驗證性、可修復(fù)性等特性,其中最重要的是()。
33.下列程序的運行結(jié)果是______。
#include<string.h>
char*ss(char*s)
{returns+strlen(s)/2;}
main()
{char*p,*str="abcdefgh";
p=ss(str);printf('%s\n",p);
}
34.用復(fù)合的賦值運算符將變量x中的值增大2的賦值表達式是【】。
35.類是一個支持集成的抽象數(shù)據(jù)類型,而對象是類的【】。
36.以下函數(shù)將b字符串連接到a字符串的后面,并返回a中新字符串的長度。
strcen(charaC),charb[])
{intnum=0,n=0;
while(*(a+num)!=【】)num++;
while(b[n]){*(a+num)=b[n];num++;【】;)
return(num);
}
37.在面向?qū)ο蟮姆椒ㄖ?,______描述的是具有相似屬性與操作的一組對象。
38.設(shè)Y是int型變量,請寫出判斷Y為奇數(shù)的關(guān)系表達【】。
39.函數(shù)ssbc叩()的功能是對兩個字符申進行比較。當s所指字符串和t所指字符申相等時,返回值為0;當s所指字符串大于t所指字符串時,返回值大于0;當s所指字符串小于t所指字符串時,返回值小于0(功能等同于庫函數(shù)strcmp())。請?zhí)羁铡?/p>
#include<stdio.h>
intsstrcmp(char*s,char*t)
{
while(*s&&*t&&*s==)
{s++;t++;}
return
}
40.若先后輸入county、side,以下程序的運行結(jié)果為【】。
main()
{chars1[40],s2[20];inti=0,j=0;
scanf("%s",s1);
scanf("%s",s2);
while(s1[i]!='\0')i++;
while(s2[j]!='\0')s1[i++]=s2[j++];
s1[i]='\0';
printf("\n%s",s1);
}
三、1.選擇題(20題)41.若有定義:inta[4][10];,則以下選項中對數(shù)組元素a[i][j]引用錯誤的是______。(0<=i<4,0<=j<10)
A.*(&a[0][0]+10*i+j)B.*(a+i)+jC.*(*(a+i)+j)D.*(a[i]+j)
42.下列程序的運行結(jié)果是()。#include<stdio.h>main(){intx=5,a=1,b=2,c=5,d=O;if(a<b)if(b!=3)if(!c)x=1;elseif(d)x=1;elsex=-1;printf("%d",x);}
A.-1B.0C.1D.不確定的值
43.下列不屬于軟件工程的3個要素的是______。
A.工具B.過程C.方法D.環(huán)境
44.以下敘述中錯誤的是
A.在程序中凡是以“#”開始的語句行都是預(yù)處理命令行
B.預(yù)處理命令行的最后不能以分號表示結(jié)束
C.#defineMAX是合法的宏定義命令行
D.C程序?qū)︻A(yù)處理命令行的處理是在程序執(zhí)行的過程中進行的
45.已知字母A的ASCII代碼值為65,若變量kk為char型,以下不能正確判斷出kk中的值為大寫字母的表達式是
A.kk>=′A′&&kk<=′Z′
B.!(kk>=′A′||kk<=′Z′)
C.(kk+32)>=′a′&&(kk+32)<=′Z′
D.isalpha(kk)&&(kk<91)
46.索引屬于()。
A.模式B.內(nèi)模式C.外模式D.概念模式
47.棧和隊列的共同點是()。
A.都是先進先出B.都是先進后出C.只允許在端點處插入和刪除元素D.沒有共同特點
48.以下敘述中正確的是
A.C程序中注釋部分可以出現(xiàn)在程序中任意合適的地方
B.花括號“{”和“}”只能作為函數(shù)體的定界符
C.構(gòu)成C程序的基本單位是函數(shù),所有函數(shù)名都可以由用戶命名
D.分號是C語句之間的分隔符,不是語句的一部分
49.閱讀下述程序段:y=-1;if(x!=0)if(x>0)y=1;elsey=0;該程序段所描述的數(shù)學(xué)關(guān)系是()
A.
B.
C.
D.
50.1.以下選項中屬于C語言數(shù)據(jù)類型的是()
A.復(fù)數(shù)型B.邏輯型C.雙精度型D.集合型
51.若要顯示或打印漢字將用到漢字編碼中的()
A.輸入碼B.字型碼C.機內(nèi)碼D.交換碼
52.若變量a,b已正確定義,且b已正確賦值,則合法的語句是()。
A.b=double(b);B.++b;C.a=a++5;D.a=double(b);
53.以下非法的賦值語句是
A.n=(i=2,++i);B.j++;C.++(i+1);D.x=j>0;
54.若運行以下程序時,從鍵盤輸入ADescriptor<CR>(<CR>表示回車),則下面程序的運行結(jié)果是#include<stdio.h>main(){charc;intv0=1,v1=0,v2=0;do{switch(c=getchar()){case'a':case'A':case'e':case'E':case'i':case'I':case'o':case'O':case'u':case'U':v1+=1default:v0+=1;v2+=1;}}while(c!='\n');printf("v0=%d,v1=%d,v2=%d\n",v0,v1,v2);}
A.v0=7,v1=4,v2=7
B.v0=8,v1=4,v2=8
C.v0=11,v1=4,v2=11
D.v0=13,v1=4,v2=12
55.以下程序的輸出結(jié)果是()main(){staticchara[10]={"Chinese"};printf("%d",strlen(a));}
A.7B.2C.9D.10
56.算法分析的目的是()。
A.找出數(shù)據(jù)結(jié)構(gòu)的合理性B.找出算法中輸入和輸出之間的關(guān)系C.分析算法的易懂性和可靠性D.分析算法的效率以求改進
57.以下合法的賦值語句是()
A.x=y=100B.d--;C.x+y;D.c=int(a+b);
58.下面敘述正確的是_______。
A.算法的執(zhí)行效率與數(shù)據(jù)的存儲結(jié)構(gòu)無關(guān)
B.算法的空間復(fù)雜度是指算法程序中指令(或語句)的條數(shù)
C.算法的有窮性是指算法必須能在執(zhí)行有限個步驟之后終止
D.算法的時間復(fù)雜度是指執(zhí)行算法程序所需要的時間
59.有以下程序:voidsort(inta[],intn){inti,j,t;for(i=0;i<n-1;i+=2)for(j=i+2;j<n;j+=2)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}main(){intaa[10]=(1,2,3,4,5,6,7,8,9,10),i;sort(aa,10);for(i=0;i<10;i++)printf("%d",aa[i]);printf("\n");}其輸出結(jié)果是______。
A.1,2,3,4,5,6,7,8,9,10,
B.10,9,8,7,6,5,4,3,2.,1,
C.9,2,7,4,5,6,3,8,1,10,
D.1,10,3,8,5,6,7,4,9,2,
60.下列敘述中錯誤的是()。
A.在C語言中,函數(shù)中的自動變量可以賦初值,每調(diào)用一次賦一次初值
B.在C語言中,在調(diào)用函數(shù)時,實參和對應(yīng)形參在類型上只需賦值兼容
C.在C語言中,外部變量的隱含類型是自動存儲類別
D.在C語言中,函數(shù)形參的存儲類型是自動(auto)類型的變量
四、選擇題(20題)61.設(shè)A為存放(短)整型的一維數(shù)組,如果A的首地址為P,那么A中第i個元素的地址為()。
A.P+i*2B.P+(i-1)*2C.P+(i-1)D.P+i
62.
63.有以下函數(shù)intaaa(char*s){char*t=s;while(*t+t);t--:return(t-s);}以下關(guān)于aaa函數(shù)的功能敘述正確的是()。A.求字符串S的長度B.比較兩個串的大小C.將串S復(fù)制到串tD.求字符串S所占字節(jié)數(shù)
64.
65.
66.
67.下列關(guān)于單目運算符++,——的敘述中正確的是()。
A.它們的運算對象可以是任何變量和常量
B.它們的運算對象可以是char型變量和int型變量,但不能是float型變量
C.它們的運算對象可以是int型變量,但不能是double型變量和float型變量
D.它們的運算對象可以是char型變量、int型變量和float型變量
68.以下敘述中錯誤的是()。
A.對于double類型數(shù)組,不可以直接用數(shù)組名對數(shù)組進行整體輸入或輸出
B.數(shù)組名代表的是數(shù)組所占存儲區(qū)的首地址,其值不可改變
C.當程序執(zhí)行中,數(shù)組元素的下標超出所定義的下標范圍時,系統(tǒng)將給出“下標越界”的出錯信息
D.可以通過賦初值的方式確定數(shù)組元素的個數(shù)
69.
70.下列敘述中錯誤的是()。
A.一種數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲結(jié)構(gòu)
B.數(shù)據(jù)的存儲結(jié)構(gòu)與數(shù)據(jù)的處理效率無關(guān)
C.數(shù)據(jù)的存儲結(jié)構(gòu)與數(shù)據(jù)的處理效率密切相關(guān)
D.數(shù)據(jù)的存儲結(jié)構(gòu)在計算機中所占的空間不一定是連續(xù)的
71.已定義c為字符型常量,則下列語句中正確的是()。
A)c=′97′B)c="97"
C)c=97D)c="a"
72.以下能正確定義一維數(shù)組的選項是A.intnum[];
B.#defineN100intnum[N];
C.intnum[0..100];
D.intN=100;intnum[N];
73.(66)為了避免流程圖在描述程序邏輯時的靈活性,提出了用方框圖來代替?zhèn)鹘y(tǒng)的程序流程圖,通常也把這種圖稱為()
A.PAD圖
B.N-S圖
C.結(jié)構(gòu)圖
D.數(shù)據(jù)流圖
74.以下能定義為用戶標識符的是()。
A.printfB.charC._8abcD.Void
75.下列關(guān)于C語言的敘述錯誤的是()。
A)大寫字母和小寫字母的意義相同
B)不同類型的變量可以在一個表達式中
C)在賦值表達式中等號(=)左邊的變量和右邊的值可以是不同類型
D)同一個運算符號在不同的場合可以有不同的含義
76.有以下程序:
程序運行后的輸出結(jié)果是()。
A.4,5,6,4,5,6,
B.1,2,3,4,5,6,
C.4,5,6,1,2,3,
D.6,5,4,3,2,1,
77.有以下程序:
voidfun2(chara,charb){printf(”%c%c”,a,b);}
chara='A',b='B';
voidfunl(){a='C';b='D';}
main()
{funl();
printf("%c%c",a,b);
fun2('E','F');
}
程序的運行結(jié)果是()。A.A.CDEFB.ABEFC.ABCDD.CDAB
78.數(shù)據(jù)庫管理系統(tǒng)中負責(zé)數(shù)據(jù)模式定義的語言是()。A.數(shù)據(jù)定義語言B.數(shù)據(jù)管理語言C.數(shù)據(jù)操縱語言D.數(shù)據(jù)控制語言
79.有以下程序:
程序運行后的輸出結(jié)果是()。
A.9B.7C.5D.3
80.以下選項中,值為1的表達式是()。
五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc的功能是:先將字符串s中的字符按順序存放到t中,然后把S中的字符按正序連接到t的后面。例如,當s中的字符串為WXYZ時,則t中的字符串應(yīng)為WXYZWXYZ。
請改正程序中的錯誤,使它能得出正確的結(jié)果。
注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>
voidproc(char*s,char*t)
{
inti,s1;
s1=strlen(s);
for(i=0;i<s1;i++)
//****found****
t[i]=s[s1];
for(i=0;i<s1;i++)
t[s1+i]一s[i];
t[2*s1]=\O0;
}
voidmain
{
chars[100],t[100];
system("CLS");
print{("\nPleaseenterstrings:");
scanf("%s",s);
proc(s,t);
printf("Theresultis:%s\n",t);
}
六、程序設(shè)計題(1題)82.某學(xué)生的記錄由學(xué)號、8門課成績和平均分組成,學(xué)號和8門課的成績已在主函數(shù)中給出。請編寫proc()函數(shù),它的功能是:求出該學(xué)生的平均分并放在記錄的ave成員中。請自己定義正確的形參。例如,若學(xué)生的成績是65.5,75,88,90,90.5,66,64.5,89.5,則他的平均分應(yīng)當是78.625。注意:部分源程序給出如下。請勿改動main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號中填入所編寫的若干語句。試題程序:
參考答案
1.C解析:考查棧和隊列概念的掌握。棧和隊列都是一種特殊的操作受限的線性表,只允許在端點處進行插入和刪除。二者的區(qū)別是:棧只允許在表的一端進行插入或刪除操作,是一種'后進先出'的線性表;而隊列只允許在表的一端進行插入操作,在另一端進行刪除操作,是一種'先進先出'的線性表。模塊之間的耦合程度反映了模塊的獨立性,也反映了系統(tǒng)分解后的復(fù)雜程度。按照耦合程度從弱到強,可以將其分成5級,分別是:數(shù)據(jù)耦合、同構(gòu)耦合、控制耦合、公用耦合和內(nèi)容耦合。選項C),沒有這種耦合方式。
2.C
3.A
4.A本題考查getchar函數(shù)與putchar函數(shù),通過9etchar函數(shù)讀入字符,并通過putchar函數(shù)將字符逐個輸出,當用戶輸入“?”時停止輸出,且c是一個字符變量只占一個字節(jié)。
5.D
6.B函數(shù)fun的功能是在a所指的具有n個元素的數(shù)組中查找最大值并返回。通過for循環(huán)比較,s始終指向最大值的那個元素。取指針的值,使用*P,因此比較使用*P和*s,又因為找最大值,當*s<*p時,修改指針s的指向。故本題答案為B選項。
7.C本題考查數(shù)組的使用。本題定義了兩個數(shù)組,注意數(shù)組的下標是從0開始的,進行第1次for循環(huán):當i=0時,b[0]為數(shù)組b中第l個元素,結(jié)果為0,那么a[0]也是數(shù)組a中第l個元素,結(jié)果為1,所以S的值為1。第2次循環(huán):i此時自加為l,b[1]為數(shù)組的第2個元素,值為2,所以可求出a[2](數(shù)組中的第3個元素)的值為3,s=s+3,所以S的值為4。進入第3次for循環(huán),依此類推,第3次for循環(huán)結(jié)束時s的值為6。第4次for循環(huán),s的值變?yōu)閘0。第5次for循環(huán)時,此時i的值為4,s的值變?yōu)閘l,i=5不符合題意,所以跳出循環(huán),輸出結(jié)果,所以本題答案為C。
8.A分塊查找是折半查找和順序查找的一種改進方法,分塊查找要求索引表是有序的,對塊內(nèi)節(jié)點沒有排序要求,因此查找較快,且插入和刪除操作也比較方便。
9.D選項A是實型常量的指數(shù)形式,表示0.023×10-5;選項B是十六進制表示的整型常量;選項C是十六進制表示的轉(zhuǎn)義字符常量;選項D是字符串常量,應(yīng)該使用雙引號標注。故本題答案為D選項。
10.B詳細解答:
數(shù)據(jù)結(jié)構(gòu)是研究數(shù)據(jù)元素及其之間的相互關(guān)系和數(shù)據(jù)運算的一門學(xué)科,它包含3個方面的內(nèi)容,即數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲結(jié)構(gòu)和數(shù)據(jù)的運算。
11.D
12.D
13.B程序首先給字符數(shù)組s賦值為“012xy”。for循環(huán)語句的功能是遍歷字符串,通過if條件語句對字符串中的小寫字母進行計數(shù),字符串中小寫字母個數(shù)為2,即n=2。故本題答案為B選項。
14.A
15.D
16.Aif條件為真,執(zhí)行“x=y;”,此時x=11,y=11,z=12;再執(zhí)行“y=z;z=x;”,此時y=12,z=11,即x=11,y=12,z=11。故本題答案為A選項。
17.A本題主要考查軟件測試的基本知識。軟件測試的步驟可分為單元測試(模塊測試)、集成測試、確認測試和系統(tǒng)測試。
(1)單元測試是針對每個模塊進行的測試,它可從程序的內(nèi)部結(jié)構(gòu)出發(fā)設(shè)計測試用例,多個模塊可以平行、對立地測試。單元測試主要用于發(fā)現(xiàn)詳細設(shè)計和編程時犯下的錯誤。單元測試多采用白盒測試,輔之以黑盒測試。
(2)集成測試是在單元測試的基礎(chǔ)上,根據(jù)模塊結(jié)構(gòu)圖將各個模塊連接起來,必須精心計劃,應(yīng)提交集成測試計劃、集成測試規(guī)格說明和集成測試分析報告。主要目標是發(fā)現(xiàn)與接口有關(guān)的問題。集成測試可以發(fā)現(xiàn)概要設(shè)計時犯的錯誤。
(3)確認測試用于驗證軟件的功能和性能及其他特性是否與用戶的要求一致。確認測試主要用于發(fā)現(xiàn)需求分析時犯下的錯誤,一般使用黑盒法測試,以表明軟件符合需求說明書的要求,應(yīng)該仔細設(shè)計測試用例和測試過程。確認測試必須有用戶參加,或以用戶為主,用戶應(yīng)參與設(shè)計測試用例,通常情況下,主要使用生產(chǎn)中的實際數(shù)據(jù)進行測試,測試數(shù)據(jù)通過用戶接口輸入。
(4)系統(tǒng)測試是將已經(jīng)通過確認測試的軟件,作為整個計算機系統(tǒng)的元素與計算機硬件、外設(shè)和網(wǎng)絡(luò)等其他因素結(jié)合在一起,進行一系列的組裝測試和確認測試。系統(tǒng)測試的目的是通過與系統(tǒng)的需求定義做比較,發(fā)現(xiàn)軟件與系統(tǒng)的定義不符合的地方。系統(tǒng)測試可以發(fā)現(xiàn)問題定義時犯下的錯誤。
18.A函數(shù)返回值為指針變量指向的數(shù)據(jù),該數(shù)據(jù)已被定義為整型。故本題答案為A選項。
19.D
20.A題目中程序不能實現(xiàn)預(yù)期功能是因為while的循環(huán)條件錯誤。選項B中把“s=1;”改為s=0;”,最終的結(jié)果“s=4”,與題目原意不同。選項C中把“n=1;”,改為“n=0;”最終的結(jié)果“s=2”,與題目原意不同。選項D中把“n=n+1;”改為“n=n*n;”,最終的結(jié)果“s=2”,與題目原意不同。選項A正確地修改了while循環(huán)條件,可以得到正確結(jié)果。故本題答案為A選項。
21.while(p!=NULL){n++;head=head→next;}while(p!=NULL){n++;head=head→next;}解析:do…while循環(huán)轉(zhuǎn)化為while循環(huán),循環(huán)體執(zhí)行的內(nèi)容應(yīng)該是一致的,不同的是do…while結(jié)構(gòu)是先執(zhí)行一次循環(huán)體,然后再判斷循環(huán)條件是否滿足,而while循環(huán)則是先判斷循環(huán)條件是否滿足,滿足則執(zhí)行循環(huán)體。所以do…while循環(huán)結(jié)構(gòu)若想轉(zhuǎn)換為while循環(huán)結(jié)構(gòu),必須在do…while循環(huán)之前先對循環(huán)條件進行一個判斷,即此題中的if(head!=NULL)。注意:3種循環(huán)結(jié)構(gòu)的比較。
22.(a+b>C)&&(a+c>B)&&(b+c>A)(a+b>C)&&(a+c>B)&&(b+c>A)解析:本題主要考查運算符邏輯與“&&”的用法。
23.bb解析:在ASCII碼表中,至少有3個值考生得記?。?,0,的ASCII碼為48;‘A’的ASCII碼為65;‘a(chǎn)’的ASCII碼為97。因為記住這3個后,其他字母和數(shù)字的ASCII碼就可以很容易推出來了。本題中,“B”的ASCII碼為‘A’+1=66,所以,字符類型m的ASCII為66+32=98=97+1=‘a(chǎn)’+1,所以最后輸出的結(jié)果為字符‘b’。
24.ASCII碼ASCII碼解析:C語言中,字符也可以進行比較運算,并且是按照其ASCII碼值進行的。
25.structnode*structnode*解析:本題中的結(jié)構(gòu)類型名為structnode,所以空白處應(yīng)填:structnode*。即定義一個指向自身的結(jié)構(gòu)體指針。
26.(x>-5)&&(x<5)(x>-5)&&(x<5)解析:本題考查基本邏輯表達,“整數(shù)x的絕對值大于5”時值為“假”,即整數(shù)x的絕對值小于等于5,也就是整數(shù)x要大于等于-5且要小于等于5。這里“且”用“與(&&)”表示,所以C語言表達式為:(x>-5)&&(x<5)。
27.時間時間解析:算法的復(fù)雜度主要指時間復(fù)雜度和空間復(fù)雜度。所謂算法的時間復(fù)雜度,是指執(zhí)行算法所需要的計算工作量;算法的空間復(fù)雜度,一般是指執(zhí)行這個算法所需要的內(nèi)存空間。
28.1616解析:在滿二叉樹中,每一層上的節(jié)點數(shù)都達到最大值,在第k層上有2[k-1]個節(jié)點,且深度為m的滿二叉樹有2[m]-1個節(jié)點,深度為5的滿二叉樹葉子節(jié)點數(shù)為2[5-1]=16。
29.在主函數(shù)中根據(jù)整型數(shù)組x[]的定義可知,x[1]的初值等于2。在for循環(huán)語句中;當i=0時,p[0]=&x[1],p[0][0]=2;當i=1時,P[1];&x[3],p[1][0]=4;當i=2時,p[2]=及x[5],p[2][0]=6;當i=3時,p[3]=&x[7],p[3][0]=8,所以程序輸出的結(jié)果為2、4、6、8。\r\n\r\n
30.白盒白盒解析:軟件測試的方法分為白盒測試方法和黑盒測試方法。
31.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。
32.正確性正確性解析:軟件需求規(guī)格說明書是需求分析階段的最后成果,通過建立完整的信息描述、詳細的功能和行為描述、性能需求和設(shè)計約束的說明、合適的驗收標準,給出對目標軟件的各種需求。軟件需求規(guī)格說明書的特點:①正確性;②無歧義性;③完整性;④可驗證性;⑤一致性;⑥可理解性;⑦可追蹤性。其中最重要的是正確性。
33.efghefgh解析:本題考核的知識點是通過指針引用字符串.函數(shù)“的作用是讓形參指針s指向該字符串的右半部分.主函數(shù)中首先定義了一個字符型指針變量p和字符型指針str;并初始化為“abcdefgh”,然后調(diào)用函數(shù)ss,將實參str傳給形參s,因此可知該函數(shù)返回的指針,指向str所指的字符串“abcdefgh”的右半部分,即指向字符串“efgh”,所以最后輸出指針p(指針p的值為調(diào)用函數(shù)ss(sD)的返回值)所指向的字符串為“efgh。
34.x+=2
35.實例將屬性、操作相似的對象歸為類,也就是說,類是具有共同屬性、共同方法的對象的集合。所以,類是對象的抽象,對象則是其對應(yīng)類的一個實例。
36.\0n++
37.類類解析:在面向?qū)ο蟮姆椒ㄖ?,把具有相同屬性和方法的對象稱為類,類是對象的抽象,對象是類的實例。
38.Y%2=1或Y%2!=0Y%2=1或Y%2!=0解析:判斷變量是否為奇數(shù)可以用變量與2取模,判斷結(jié)果是為1或不為0。本題具體做法如下:Y%2=1或Y%2!=0。
39.*t或t[0)*s-*t或*s-t[0]或s[0]-*t或s[0]t[0]*t或t[0)*s-*t或*s-t[0]或s[0]-*t或s[0]t[0]解析:本題考查的知識點是字符型指針變量作為函數(shù)的參數(shù)以及序符串大小的比較.函數(shù)sstrcmp()有兩個字符型指針變量,用來指向兩個字符串。比較兩個字符串的大小方法是:從第一個字符開始依次向后比較,若對應(yīng)的字符相等則接著比較下一個字符,一直到兩個字符串中對應(yīng)字符不等,或者有一個為'\\0',此對應(yīng)字符的ASCII碼大的字符串就大。故循環(huán)條件是*s和*t不為'\\0'。且*s和*t相同,第一處應(yīng)填“*t”或其他等價形式。根據(jù)題意可知第二處應(yīng)填“*s-*t”或其等價形式。
40.countryside
41.B解析:本題中選項B是錯誤的引用,*(a+i)+j只代表了a[i][j]的地址。
42.A解析:本題考查ifelse語句。第1個if語句,先判斷條件,發(fā)現(xiàn)a<b條件成立,執(zhí)行下列的語句;第2個if語句,先判斷條件,發(fā)現(xiàn)b!=3條件成立,執(zhí)行下列的語句:第3個if語句,先判斷條件,c=5,則!c條件不成立,執(zhí)行與其配對的else語句;第4個if語句,先判斷條件,d=0,條件不成立,則x=-1,結(jié)束循環(huán)。
43.D解析:本題考查了軟件工程的基本概念。軟件工程包括3個要素,即方法、工具和過程。方法是完成軟件工程項目的技術(shù)手段;工具支持軟件的開發(fā)、管理和文檔生成;過程支持軟件開發(fā)的各個環(huán)節(jié)的控制和管理。
44.D解析:在C語言中,凡是以“#”開頭的行都稱為編譯預(yù)處理命令行,如#include、#define、#if等,每行的末尾不得用“;”結(jié)束,以區(qū)別于C語句、定義和說明語句。選項C中的宏定義為不帶參數(shù)的宏命令行,宏名之后可以有替換文本,也可以沒有。編譯預(yù)處理是在編譯程序?qū)源程序進行編譯前執(zhí)行的.當然也在程序執(zhí)行之前執(zhí)行,因此選項D是錯誤的。
45.B解析:C語言的字符以其ASCII碼的形式存在,所以要確定某個字符是大寫字母,只要確定它的ASCII碼在'A'和'Z'之間就可以了,選項A)和C)符合要求。函數(shù)isalpha用來確定一個字符是否為字母,大寫字母的ASCII碼值的范圍為65到90,所以如果一個字母的ASCII碼小于91,那么就能確定它是大寫字母。
46.B解析:內(nèi)模式(InternalSchemA)又稱物理模式(PhysicalSchemA),它給出了數(shù)據(jù)庫物理存儲結(jié)構(gòu)與物理存取方法,如數(shù)據(jù)存儲的文件結(jié)構(gòu)、索引、集簇及hash等存取方式與存取路徑。數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)具有高共享性和低冗余性,但不能完全避免數(shù)據(jù)冗余;數(shù)據(jù)的一致性是指在系統(tǒng)中同一數(shù)據(jù)的不同出現(xiàn)應(yīng)保持相同的值。
47.C解析:棧和隊列都是操作受限制的線性表,只允許在端點插入和刪除。不同點是:棧只允許在表的一端進行插入和刪除操作,而隊列允許在表的一端進行插入操作,而在另一端進行刪除操作。
48.A解析:“/*”與“*/”之間的信息稱為注釋信息,在C語言中,允許在任何能夠插入空格符的位置插入注釋,但C語言的注釋不能進行嵌套,故選項A正確;在C語言中,函數(shù)體是從花括號“{”開始,到花括號“}”結(jié)束.但沒有規(guī)定花括號“{”和“}”只能作為函數(shù)體定界符,故選項B錯誤;選項C中前半句是正確的,在C程序中由有一個或多個函數(shù)所組成,但不是所有的函數(shù)都由用戶自己命名,有些函數(shù)比如庫函數(shù),主函數(shù)main()就不能由用戶來命名,故選C不正確;在C語言中明確規(guī)定每條語句以分號“;”結(jié)束,分號是語句不可缺少的一部分,故選項D不正確。所以,4個選項中選項A符合題意。
49.C解析:y的初值為-1,第一個if語句的判斷條件為x!=0,即當x!=0時y的值變化,x=0時y的值不變,仍為-1。第二個if語句的判斷條件為x>O,如果x>0則y=1,否則y=0,即x<O時,y=O。4個選項中C符合題意。
50.C解析:C語言的數(shù)據(jù)類型分為基本類型、構(gòu)造類型、指針類型、空類型四大類,其中,基本類型分為整型、字符型、實型三類。實型又稱浮點型,包括單精度型和雙精度型兩種。
51.B
52.B解析:要解答此題只要知道兩個知識點:①在C語言中規(guī)定進行強制類型轉(zhuǎn)換的格式是:(double)變量名;②在C語言中不允許給表達式賦值。
53.C解析:本題考查的知識點是賦值語句的基本知識。在表達式的運算中,雙目賦值運算符的格式為“變量二表達式”,單目運算符一般形式為“運算符表達式”或“表達式運算符”。常量和表達式是不能被賦值的。選項A為復(fù)合表達式,首先計算(i=2,++i)的值,然后賦值給n,故選項A正確;選項B為簡單自加運算,故選項B正確;選項C在表達式++(i+1);中,(i+1)不是變量,該表達式的值為常量,而在++運算中,其運算對象必須為變量,故選項C錯誤;選項D中為復(fù)合賦值表達式,正確.所以應(yīng)當選擇C。
54.D解析:本題考查switch語句的掌握。必須撐握以下內(nèi)容:首先應(yīng)該明白switch語句的語法格式:
switch語句的語法格式為:
switch(表達式)
{
case常量表達式1:語句組1;
case常量表達式2:語句組2;
……
case常量表達式n:語句組n;
default:語句組n+1;
}
另外,注意以下幾點關(guān)于switch語句的重點:
①系統(tǒng)在執(zhí)行時計算開關(guān)表達式的值;②根據(jù)所得的值在各個case標號表達式中尋找匹配,直到發(fā)現(xiàn)與表達式匹配的標號(本例中匹配的是case'B':);③找到匹配后執(zhí)行后面相應(yīng)的語句表,順序往下執(zhí)行;④如果無相匹配的標號,若存在default標號,則執(zhí)行該語句標號后面的語句表n+1;當不存在default標號時,不執(zhí)行switch中的任何一個語句表。
一般而言,在多分支結(jié)構(gòu)中總會出現(xiàn)“意外”的情況,這時均可歸入default:程序段,作統(tǒng)一的處理;default標號是可選性的,不必每次都有,視需要而定。switch語句中還可以包含switch語句,形成switch的嵌套。
55.A
56.D解析:算法分析是指對一個算法的運行時間和占用空間做定量的分析,一般計算出相應(yīng)的數(shù)量級,常用時間復(fù)雜度和空間復(fù)雜度表示。分析算法的目的就是要降低算法的時間復(fù)雜度和空間復(fù)雜度;提高算法的執(zhí)行效。率。
57.B解析:選項A的結(jié)尾沒用‘;’,所以不是一條語句:選項C中的表達式不會改變?nèi)魏巫兞康膬?nèi)容,也不是合法的賦值語句;選項D有語法錯誤,int應(yīng)該加上括號。所以,4個選項中只有選項B符合題意,運行后d的內(nèi)容被減一。
58.C解析:算法的設(shè)計可以避開具體的計算機程序設(shè)計語言,但算法的實現(xiàn)必須借助程序設(shè)計語言中,提供的數(shù)據(jù)類型及其算法。數(shù)據(jù)結(jié)構(gòu)和算法是計算機科學(xué)的兩個重要支柱。它們是一個不可分割的整體。算法在運行過程中需輔助存儲空間的大小稱為算法的空間復(fù)雜度。算法的有窮性是指一個算法必須在執(zhí)行有限的步驟以后.結(jié)束。算法的時間復(fù)
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 計算機及外部設(shè)備裝配調(diào)試員成果強化考核試卷含答案
- 鉀肥生產(chǎn)工安全素養(yǎng)模擬考核試卷含答案
- 老年癡呆患者醫(yī)患溝通:可視化工具的認知輔助策略
- 交通擁堵治理措施制度
- 云安全防護解決方案
- 網(wǎng)絡(luò)安全漏洞掃描流程及應(yīng)對措施
- 《守護家庭安全:科學(xué)防范居家觸電風(fēng)險》教學(xué)設(shè)計
- 微生物與感染病學(xué):尿液檢查鑒別課件
- 2026年及未來5年市場數(shù)據(jù)中國高壓電器檢測行業(yè)市場全景評估及投資前景展望報告
- 2026年及未來5年市場數(shù)據(jù)中國智慧銀行建設(shè)行業(yè)市場深度分析及投資策略研究報告
- 線纜及線束組件檢驗標準
- 人教部編版語文三年級下冊生字表筆順字帖可打印
- 口述史研究活動方案
- 別克英朗說明書
- 地下管線測繪課件
- 房屋租賃合同txt
- 珍稀植物移栽方案
- THBFIA 0004-2020 紅棗制品標準
- GB/T 34336-2017納米孔氣凝膠復(fù)合絕熱制品
- GB/T 10046-2008銀釬料
- 中層管理干部領(lǐng)導(dǎo)力提升課件
評論
0/150
提交評論