版權(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ì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.下列程序的輸出結(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.1C.6D.8
2.設(shè)x=011050,則x=x&01252的值是()。A.0000001000101000
B.1111110100011001
C.0000001011100010
D.1100000000101000
3.若有定義語(yǔ)句:“inta=3,b=2,c=1;”,以下選項(xiàng)中錯(cuò)誤的賦值表達(dá)式是()。
A.a=(b=4)=3;B.a=b=c+1:C.a=(b=4)+C;D.a=1+(b=c一4);
4.程序運(yùn)行后的輸出結(jié)果是()。A.3B.4C.5D.6
5.程序運(yùn)行后的輸出結(jié)果是()。A.10B.30C.0D.64
6.
7.在軟件測(cè)試設(shè)計(jì)中,軟件測(cè)試的主要目的是
A.實(shí)驗(yàn)性運(yùn)行軟件B.證明軟件正確C.找出軟件中全部錯(cuò)誤D.盡可能多地發(fā)現(xiàn)軟件中的錯(cuò)誤
8.下列敘述中錯(cuò)誤的是()。
A.在C語(yǔ)言中,函數(shù)中的自動(dòng)變量可以賦初值,每調(diào)用一次賦一次初值
B.在C語(yǔ)言中,在調(diào)用函數(shù)時(shí),實(shí)參和對(duì)應(yīng)形參在類型上只需賦值兼容
C.在C語(yǔ)言中,外部變量的隱含類型是自動(dòng)存儲(chǔ)類別
D.在C語(yǔ)言中,函數(shù)形參的存儲(chǔ)類型是自動(dòng)(auto)類型的變量
9.
10.判斷一包含n個(gè)整數(shù)的數(shù)組a[]中是否存在i、j、k滿足a[i]+a[j]+a[k]=0的時(shí)間復(fù)雜度需要()
A.O(n^2)B.O(n^2logn)C.O(n^3)D.O(nlogn)
11.若一組記錄的排序碼為(7,9,3,5,1,2,10),則利用堆排序的方法建立的初始堆為()
A.10,7,9,3,5,1,2
B.10,9,7,5,1,2,3
C.10,9,7,5,3,2,1
D.10,9,7,3,2,1,5
12.下列選項(xiàng)中不是字符常量的是()。
A.'\v'B.'\x2a'C.'a'D."\0"
13.
14.某堆棧的輸入序列為a,b,c,d,下面的四個(gè)序列中,不可能是它的輸出序列的是()。
A.a,c,b,dB.b,c,d,aC.c,d,b,aD.d,c,a,b
15.C語(yǔ)言源程序的擴(kuò)展名是()。
A..CB..exeC..objD..cp
16.串是一種特殊的線性表,其特殊性體現(xiàn)在()。
A.可以順序存儲(chǔ)B.數(shù)據(jù)元素是一個(gè)字符C.可以鏈接存儲(chǔ)D.數(shù)據(jù)元素可以是多個(gè)字符
17.
18.數(shù)據(jù)流圖用于抽象地描述一個(gè)軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標(biāo)識(shí)的圖符不屬于數(shù)據(jù)流圖合法圖符的是()。
A.控制流B.加工C.數(shù)據(jù)存儲(chǔ)D.源和潭
19.
20.若已定義:“inta[9],*p=a;”,并在以后的語(yǔ)句中未改變p的值,不能表示a[1]地址的表達(dá)式是______。
A.p+1B.a+1C.a++D.++p
二、2.填空題(20題)21.有以下程序:
main()
{charstr[]="xyz",*ps=str;
while(*ps)ps++;
for(ps--;ps-str>=0;ps--)puts(ps);
}
執(zhí)行后的輸出結(jié)果是【】。
22.以下說(shuō)明語(yǔ)句中,【】是結(jié)構(gòu)體類型名。
typedefstruct
{intn;
charch[8];
}PER;
23.以下程序的輸出結(jié)果是【】。
main()
{charc='z';
printf("%c",c-25);}
24.x、y、x均為int型變量,描述“x、y和z中至少有兩個(gè)為正數(shù)”的表達(dá)式是______。
25.#define命令出現(xiàn)在程序中函數(shù)的外面,宏名的有效范圍為_(kāi)_____。
26.在面向?qū)ο蠓椒ㄖ校愔g共享屬性和操作的機(jī)制稱為_(kāi)_____。
27.設(shè)有以下結(jié)構(gòu)體類型:
structst
{charname[8];
intnum;
floats[4];
}student[50];
并且結(jié)構(gòu)體數(shù)組student中的元素都已有值。若要將這些元素寫(xiě)到硬盤(pán)文件fp中,請(qǐng)將以下fwrite語(yǔ)句補(bǔ)充完整:
fwrite(student,【】,1,fp);
28.軟件危機(jī)出現(xiàn)于60年代末,為了解決軟件危機(jī),人們提出了【】的原理來(lái)設(shè)計(jì)軟件,這就是軟件工程誕生的基礎(chǔ)。
29.以下程序段的輸出結(jié)果是【】。
main()
{inta=2,b=2,c=4;
a*=16+(b++)-(++C);
printf("%d",a);
}
30.隊(duì)列是限定在表的一端進(jìn)行插入和在另一端進(jìn)行刪除操作的線性表。允許插入的一端稱作______。
31.在關(guān)系模型中,若屬性A是關(guān)系R的主碼,屬性A的取值不能為空,稱為約束。
32.若a=10,b=20,則表達(dá)式!(a<b)的值是【】。
33.以下程序運(yùn)行后的輸出結(jié)果是______。
fun(intx)
{if(x/2>0)fun(x/2);
printf("%d",x);
}
main()
{fun(6);}
34.長(zhǎng)度為n的順序存儲(chǔ)線性表中,當(dāng)在任何位置上插入一個(gè)元素概率都相等時(shí),插入一個(gè)元素所需移動(dòng)元素的平均個(gè)數(shù)為【】。
35.已有定義:charc=‘’;inta=1,b;(此處c的初值為空格字符),執(zhí)行b=!c&&a;后b的值為()。
36.若有定義inta=10,b=9,c=8;,接著順序執(zhí)行下列語(yǔ)句,變量b中的值是【】。
c=(a-=(b-5));
c=(a%11)+(b=3);
37.Jackson方法是一種面向【】的結(jié)構(gòu)化方法。
38.下面程序是指從終端讀入的20個(gè)字符放入字符數(shù)組中,然后利用指針變量輸出上述字符串,請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{inti;chars[21],*p;
for(i=0;i<20;i++)
s[i]=getchar();
s[i]=【】;
p=【】;
while(*p)putchar(*p++);}
39.棧的3種基本運(yùn)算是:入棧、退棧和______。
40.為了便于對(duì)照檢查,測(cè)試用例應(yīng)由輸入數(shù)據(jù)和預(yù)期的【】?jī)刹糠纸M成。
三、1.選擇題(20題)41.執(zhí)行下面的程序后,a的值為
main()
{inta,b;
for(a=1,b=1;a<=10;a++)
{if(b%3==1)
{b+=3;
continue;}
b-=5;}}
A.7B.8C.9D.10
42.下列關(guān)系模型中,能使經(jīng)運(yùn)算后得到的新關(guān)系中屬性個(gè)數(shù)多于原來(lái)關(guān)系中屬性個(gè)數(shù)的是
A.選擇B.連接C.投影D.并
43.下列關(guān)于棧的敘述中正確的是()
A.在棧中只能插入數(shù)據(jù)B.在棧中只能刪除數(shù)據(jù)C.棧是先進(jìn)先出的線性表D.棧是先進(jìn)后出的線性表
44.設(shè)a和b均為雙精度型變量,且a=5.5、b=2.5,則表達(dá)式(int)a+b/b的值是()。
A.6.5B.6C.5.5D.6
45.對(duì)建立良好的程序設(shè)計(jì)風(fēng)格,下面描述正確的是______。
A.程序應(yīng)簡(jiǎn)單、清晰、可讀性好B.符號(hào)名的命名要符合語(yǔ)法C.充分考慮程序的執(zhí)行效率D.程序的注釋可有可無(wú)
46.有以下程序main(){intaa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};inti,s=0;for(i=0;i<4;i++)s+=aa[i][1];printf("%d\n",s);}程序運(yùn)行后的輸出結(jié)果是()
A.11B.19C.13D.20
47.下列敘述中正確的是()。
A.一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度也必定大
B.一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度必定小
C.一個(gè)算法的時(shí)間復(fù)雜度大,則其空間復(fù)雜度必定小
D.上述三種說(shuō)法都不對(duì)
48.有以下程序:main(){inta[]={2,4,6,8,10),y=0,x,*P;P=&a[1];for(x=1;x<3;x++)y+=p[x];printf("%d\n",y);}程序運(yùn)行后的輸出結(jié)果是()。
A.10B.11C.14D.15
49.有以下程序
#include<stdio.h>
main()
{FILE*fp;inti=20,j=30,k,n;
fp=fopen("d1.dat","w");
fprintf(fp,"%d\n",i);fprintf(fp,"%d\n",j);
fclose(fp);
fp=fopen("d1.dat","r");
fscanf(fp,"%d%d",&k,&n);printf("%d%d\n",k,n);
fclose(fp);}
程序運(yùn)行后的輸出結(jié)果是
A.2030B.2050C.3050D.3020
50.下列不合法的main函數(shù)命令行參數(shù)的表示形式是______。
A.main(inta,char*c[]);
B.main(ac,av)intarc;char**av;
C.main(c,v)intc;char*v[];
D.main(argc,argv)intargc;charargv[];
51.結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是
A.程序的規(guī)模B.程序的效率C.程序設(shè)計(jì)語(yǔ)言的先進(jìn)性D.程序易讀性
52.若變量均已正確定義并賦值,以下合法的C語(yǔ)言賦值語(yǔ)句是()。
A.x=y==5;B.X=n%2.5:C.x+n=i;D.x=5=4+1:
53.下列程序的輸出結(jié)果是()。#include<stdio.h>main(){inta=4printf("%d\n",(a+=a-=a*A));}
A.-8B.14C.0D.-24
54.軟件是指()。A.程序B.程序和文檔C.算法加數(shù)據(jù)結(jié)構(gòu)D.程序、數(shù)據(jù)與相關(guān)文檔的完整集合
55.在關(guān)系數(shù)據(jù)庫(kù)中,用來(lái)表示實(shí)體之間聯(lián)系的是
A.樹(shù)形結(jié)構(gòu)B.網(wǎng)狀結(jié)構(gòu)C.線性表D.二維表
56.下面程序的輸出結(jié)果是()main(){inta[10]={l,2,3,4,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}
A.3B.4C.1D.2
57.以下敘述不正確的是______。
A.分號(hào)是C語(yǔ)言的必要組成部分
B.C程序的注釋可以寫(xiě)在句的后面
C.函數(shù)是C程序的基本單位
D.主函數(shù)的名字不一定用main表示
58.開(kāi)發(fā)大型軟件時(shí),產(chǎn)生困難的根本原因是()
A.大系統(tǒng)的復(fù)雜性B.人員知識(shí)不足C.客觀世界千變?nèi)f化D.時(shí)間緊、任務(wù)重
59.若有說(shuō)明: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
60.設(shè)有關(guān)鍵碼序列(66,13,51,76,81,26,57,69,23),要按關(guān)鍵碼值遞增的次序排序,若采用快速排序法,并以第一個(gè)元素為劃分的基準(zhǔn),那么第一趟劃分后的結(jié)果為()。
A.23,13,51,57,66,26,81,69,76
B.13,23,26,51,57,66,81,76,69
C.23,13,51,57,26,66,81,69,76
D.23,13,51,57,81,26,66,69,76
四、選擇題(20題)61.下列敘述中正確的是()。
A.軟件交付使用后還需要進(jìn)行維護(hù)
B.軟件一旦交付使用就不需要再進(jìn)行維護(hù)
C.軟件交付使用后其生命周期就結(jié)束
D.軟件維護(hù)是指修復(fù)程序中被破壞的指令
62.
63.有以下程序程序執(zhí)行后的輸出結(jié)果是()
A.60B.50C.45D.55
64.下列關(guān)系表達(dá)式中,結(jié)果為“假”的是()。
A.(3+4)>6
B.(3!=4)>2
C.3<=4
D.
E.3
F.(3<4)=1
65.當(dāng)用戶要求輸入的字符串中含有空格時(shí),應(yīng)使用的輸入函數(shù)是()。
A.seanf
B.getchar
C.gets
D.getc
66.在下列選項(xiàng)中,沒(méi)有構(gòu)成死循環(huán)的是
67.以下能正確定義賦初值的語(yǔ)句是()。
A.intnl=n2=10:
B.Chare=32;
C.floatf=f+1.1;
D.doublex=12.3E2.5;
68.
69.
70.有以下程序
voidfun(inta,intb,intc)
{
a=456,b=567,c=678;
}
main()
{
intx=10,y=20,z=30;
fun(x,y,z);
printf("%d,%d,%d\n",x,y,z);
}
輸出結(jié)果是
A.10,20,30B.30,20,10
C.456,567,678D.678,567,456
71.下面敘述正確的是_______。
A.算法的執(zhí)行效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)無(wú)關(guān)
B.算法的空間復(fù)雜度是指算法程序中指令(或語(yǔ)句)的條數(shù)
C.算法的有窮性是指算法必須能在執(zhí)行有限個(gè)步驟之后終止
D.算法的時(shí)間復(fù)雜度是指執(zhí)行算法程序所需要的時(shí)間
72.在一個(gè)C源程序文件中所定義的全局變量。其作用域?yàn)?)。A.由具體定義位置和extern說(shuō)明來(lái)決定范圍B.所在程序的全部范圍C.所在函數(shù)的全部范圍D.所在文件的全部范圍
73.(11)算法的時(shí)間復(fù)雜度是指()
A.執(zhí)行算法程序所需要的時(shí)間
B.算法程序的長(zhǎng)度
C.算法執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)
D.算法程序中的指令條數(shù)
74.有以下程序#defineF(X,Y)(X)*(Y)main(){inta=3,b=4;printf("%d\n",F(xiàn)(a++,b++));}程序運(yùn)行后的輸出結(jié)果是
A.12B.15C.16D.20
75.以下敘述中正確的是()。A.A.當(dāng)對(duì)文件的讀(寫(xiě))操作完成之后,必須將它關(guān)閉,否則可能導(dǎo)致數(shù)據(jù)丟失
B.打開(kāi)一個(gè)已存在的文件并進(jìn)行了寫(xiě)操作后,原有文件中的全部數(shù)據(jù)必定被覆蓋
C.在一個(gè)程序中當(dāng)對(duì)文件進(jìn)行了寫(xiě)操作后,必須先關(guān)閉該文件然后再打開(kāi),才能讀到第1個(gè)數(shù)據(jù)
D.c語(yǔ)言中的文件是流式文件,因此只能順序存取數(shù)據(jù)
76.
77.以下不構(gòu)成無(wú)限循環(huán)的語(yǔ)句或語(yǔ)句組是()。
78.(48)軟件調(diào)試的目的是()
A.發(fā)現(xiàn)錯(cuò)誤
B.改正錯(cuò)誤
C.改善軟件的性能
D.挖掘軟件的潛能
79.下面的函數(shù)調(diào)用語(yǔ)句中func函數(shù)的實(shí)參個(gè)數(shù)是()。func((f2v1,v2),(v3,v4,v5),(v6,max(v7,v8)))
A.3B.4C.5D.8
80.若有定義語(yǔ)句:
charS[10]=”1234567\0\0”;則strlen(s)的值是()。
A.7B.8C.9D.10
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:將m(1≤m≤10)個(gè)字符串連接起來(lái),組成一個(gè)新串,放入pt所指字符串中,例如,把2個(gè)字符串a(chǎn)bc、CD串聯(lián)起來(lái),結(jié)果是abcCD。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編一個(gè)函數(shù)voidproc(intttEM][N],intpp[N]),tt指向一個(gè)M行N列的二維數(shù)組,求出二維數(shù)組每行中最大元素,并依次放入pp所指的一維數(shù)組中。二維數(shù)組中的數(shù)已在主函數(shù)中給出。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。
試題程序:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#defineM3
#defineN4
voidproc(intttrM3rN]。intpp[N])
{}
voidmain
{
intstr[M][N]={{34,56,84,78},
{23,84,93,12),
{28,38,39,93}};
intp[N],i,j,k;
system("CLS");
printf("Theriginaldatais:\n");
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
printf("%6d",str[i][j]);
printf("\n");
}
proc(str,p);
printf("\nTheresultis:\n");for(k=0:k<M;k++)
printf("%4d",p[k]);
printf("n");}
參考答案
1.A本題考查switch語(yǔ)句。當(dāng)i一1時(shí),執(zhí)行case1,因?yàn)闆](méi)有遇到break語(yǔ)句,所以依次往下運(yùn)行,“a=a+2=2,a=a+3=5”;當(dāng)i=2時(shí),執(zhí)行case2,因?yàn)闆](méi)有遇到break語(yǔ)句,所以依次往下執(zhí)行,“a=a+2=7,a=a+3=10”;當(dāng)i=3時(shí),執(zhí)行case3,a=a+1=11,因?yàn)闆](méi)有遇到break語(yǔ)句,所以依次往下運(yùn)行,a—a+2—13,a—a+3一l6:當(dāng)i=4時(shí),執(zhí)行default,a=a+3=19,結(jié)束循環(huán)。
2.A本題考查按位與運(yùn)算,按位與就是相同為1,不同為0,把x=011050化成二進(jìn)制為0001001000101000,把01252化成二進(jìn)制為0000001010101010,兩者相與得0000001000101000。
3.A由等式的規(guī)則可知,A選項(xiàng)錯(cuò)誤。先對(duì)括號(hào)的b進(jìn)行等式運(yùn)算,得出b=4,然后計(jì)算得出a=4=3,所以會(huì)導(dǎo)致錯(cuò)誤。答案選擇A。
4.B[解析]&按位與,如果兩個(gè)相應(yīng)的二進(jìn)制位都為1.則該位的結(jié)果值為1.否則為0.按位或兩個(gè)相應(yīng)的二進(jìn)制位中只要有一個(gè)為1.該位的結(jié)果值為1.2的二進(jìn)制為0000010.4的二進(jìn)制為000000所以做或運(yùn)算結(jié)果為0000110.該數(shù)與5即00000101做與操作結(jié)果為0000100.即4.
5.D[解析]本題目中靜態(tài)局部變量x,在靜態(tài)存儲(chǔ)區(qū)內(nèi)分配存儲(chǔ)單元。在程序整個(gè)運(yùn)行期間都不釋放。所以第一次循環(huán)s的值為2.第二次循環(huán)中,返回的x的值為4.所以s的值為8.第三次循環(huán),返回的x的值為8.所以s的值為64.
6.B
7.D解析:使用人工或自動(dòng)手段來(lái)運(yùn)行或測(cè)定某個(gè)系統(tǒng)的過(guò)程,其目的在于檢驗(yàn)它是否滿足規(guī)定的需求或是弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別。軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程。測(cè)試要以查找錯(cuò)誤為中心,而不是為了演示軟件的正確功能。
8.C解析:外部變量在編譯時(shí)由系統(tǒng)分配永久的內(nèi)存空間,所以外部變量的類型不是自動(dòng)存儲(chǔ)類別。
9.D
10.A
11.B
12.Dc語(yǔ)言規(guī)定,一個(gè)字符常量代表ASCII碼字符集里的一個(gè)字符,在群序中用單引號(hào)括起來(lái),以便區(qū)分。'\v'表示的是豎向跳格:'kx2a'表示的是兩位十六迸制數(shù);'a'表示的是字符a對(duì)應(yīng)的ASCII碼值。"\0"用雙引號(hào)故不正確。
13.C
14.D
15.AC語(yǔ)言源程序的擴(kuò)展名是.C,目標(biāo)文件的擴(kuò)展名是.obj,可執(zhí)行文件的擴(kuò)展名是.exe。故本題答案為A選項(xiàng)。
16.B
17.A
18.A解析:數(shù)據(jù)流圖包括四個(gè)方面,即加工(輸入數(shù)據(jù)經(jīng)加工變換產(chǎn)生輸出)、數(shù)據(jù)流(沿箭頭方向傳送數(shù)據(jù)的通道,一般在旁邊標(biāo)注數(shù)據(jù)流名)、存儲(chǔ)文件(數(shù)據(jù)源)(表示處理過(guò)程中存放各種數(shù)據(jù)的文件)、源和潭(表示系統(tǒng)和環(huán)境的接口,屬系統(tǒng)之外的實(shí)體),不包括選項(xiàng)中的控制流。
19.D
20.C
21.zyzXyzzyzXyz解析:本題考查字符型指針變量的應(yīng)用。程序中字符指針變量ps指向字符串'xyz',while循環(huán)語(yǔ)句的作用使ps指向字符串結(jié)尾,for循環(huán)的執(zhí)行過(guò)程如下。
第一次循環(huán):ps指向字符串'z',輸出z。
第二次循環(huán):ps指向字符串'yz',輸出yz。
第三次循環(huán):ps指向字符串'xyz',輸出xyz。
22.PERPER解析:本題中,typedef聲明新的類型名PER來(lái)代替已有的類型名,PER代表上面指定的一個(gè)結(jié)構(gòu)體類型,此時(shí),也可以用PER來(lái)定義變量。
23.aa解析:“z”的ASCII碼值為122,經(jīng)過(guò)c-25運(yùn)算后得97,以字符形式輸出是a。
24.((x>0)&&<y>0))‖(x>0)&&(z>0)‖y>0)&&(z>0))((x>0)&&<y>0))‖(x>0)&&(z>0)‖y>0)&&(z>0))解析:題目要求“x、y和z中至少有兩個(gè)為正數(shù)”,即x、y和x這3個(gè)數(shù)中必須有兩個(gè)是正數(shù),且這3個(gè)數(shù)中的哪兩個(gè)數(shù)都有可能是正數(shù),所以它們之間是或的關(guān)系。
25.從定義到本源文件結(jié)束從定義到本源文件結(jié)束解析:C語(yǔ)言規(guī)定,宏名的有效范圍為從定義宏到本源程序結(jié)束。
26.繼承繼承
27.sizeof(structst)*50sizeof(structst)*50解析:fwrite函數(shù)的一般調(diào)用形式為:fwrite(buffer,size,count,fp);其中:buffer是一個(gè)指針變量,是要輸出數(shù)據(jù)的起始地址;size是要寫(xiě)的字節(jié)數(shù);count是要寫(xiě)多少個(gè)size字節(jié)的數(shù)據(jù)項(xiàng);fp是文件指針。
28.軟件工程學(xué)軟件工程學(xué)
29.2626解析:a*=16+(b++)-(++c)等價(jià)于a*=a*(16+(b++)-(++c))=2*(16+(2-5)=26。b++是先使用b的值參加運(yùn)算,再對(duì)b加1;++c是先c加1,再使用c的值參加運(yùn)算。
30.隊(duì)尾隊(duì)尾解析:在隊(duì)列中,允許插入的一端叫做“隊(duì)尾”,允許刪除的一端叫做“隊(duì)頭”。
31.實(shí)體完整性實(shí)體完整性
32.00解析:已知a=10,b=20,所以邏輯表達(dá)式a<b的值為true,即為1,在這個(gè)表達(dá)式前面有一個(gè)邏輯運(yùn)算符!,表示反操作,所以整個(gè)語(yǔ)句的值應(yīng)當(dāng)為false,即為0。
33.136136解析:本題考核的知識(shí)點(diǎn)是函數(shù)遞歸。主函數(shù)調(diào)用函數(shù)fun(6),由于6/2>0為真遞歸調(diào)用fun(3),接著遞歸調(diào)用fun(1),輸出1,返回上一層輸出3,在返回上一層輸出6。故空格處應(yīng)該填136。
34.n/2性表的任何位置插入一個(gè)元素的概率相等,即概率為p=1/(n+1),則插入一個(gè)元素時(shí)所需移動(dòng)元素的平均次數(shù)為E=1/(n+1)(n-i+1)=n/2。
35.00解析:空格字符的ASCⅡ碼值為32,所以!c—o,那么0與任何值相與的結(jié)果都為0,可得b的值為0。
36.33解析:這里:b-5=4,a-=4之后a的值為6,并把它賦給c。此時(shí)b的值并未被改變。在第2個(gè)表達(dá)式中,也只有賦值表達(dá)式b=3改變了b的值。所以兩行語(yǔ)句執(zhí)行完畢,b的值應(yīng)該為3。
37.數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)解析:Jackson方法是—‘種面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化方法。
38.\0's\\0'\r\ns解析:本題選通過(guò)for循環(huán)從鍵盤(pán)讀入20個(gè)字符,然后在最后賦一定值'\\0'后為結(jié)束標(biāo)志,再使指針p指向字符串的首地址。最后通過(guò)while循環(huán)對(duì)字符串進(jìn)行掃描并輸出。
39.讀棧頂元素讀棧頂元素解析:棧的基本運(yùn)算有3種:入棧、退棧和讀取棧頂元素。其中,入棧是指在棧頂插入一個(gè)新的元素;退棧是指取出棧頂元素并賦值給一個(gè)變量;讀棧頂元素是將棧頂元素賦值給一個(gè)指定的變量,不刪除棧頂元素。
40.輸出結(jié)果輸出結(jié)果解析:注意:測(cè)試的基本方法和步驟。
41.D解析:考查continue語(yǔ)句的使用。continue語(yǔ)句的作用是結(jié)束本次循環(huán),直接進(jìn)入下次循環(huán)。
42.B解析:本題主要考查關(guān)系模型中幾種運(yùn)算的特征。經(jīng)過(guò)選擇或投影運(yùn)算得到的新關(guān)系的屬性個(gè)數(shù)最多不會(huì)超過(guò)原關(guān)系中的屬性個(gè)數(shù)。經(jīng)過(guò)連接運(yùn)算得到的新關(guān)系最多不少于原關(guān)系中屬性的個(gè)數(shù)。故選項(xiàng)B正確。
43.D解析:棧是一種特殊的線性表,這種線性表只能在固定的一端進(jìn)行插入和刪除操作,允許插入和刪除的一端稱為棧頂,另一端稱為棧底。一個(gè)新元素只能從棧頂一端進(jìn)入,刪除時(shí),只能刪除棧頂?shù)脑?,即剛剛被插入的元素,所以棧也被稱為“先進(jìn)后出”表或“后進(jìn)先出”表。
44.D解析:在這個(gè)表達(dá)式中,優(yōu)先級(jí)最高的是(int)a,也就是對(duì)5.5取整,結(jié)果是5,其次是b/b,即2.5/2.5,結(jié)果是1.000000,最后相加結(jié)果為6.000000(表達(dá)式的最終結(jié)果為實(shí)型),所以4個(gè)選項(xiàng)中D正確。
45.A解析:要形成良好的程序設(shè)計(jì)風(fēng)格,主要應(yīng)注重和考慮下述一些因素:符號(hào)名的命名應(yīng)具有一定的實(shí)際含義,以便于對(duì)程序功能的理解;正確的注釋能夠幫助讀者理解程序;程序編寫(xiě)應(yīng)優(yōu)先考慮清晰性,除非對(duì)效率有特殊要求,程序編寫(xiě)要做到清晰第一,效率第二。
46.B解析:C語(yǔ)言規(guī)定,數(shù)組元素的下標(biāo)是從零開(kāi)始的.本題首先定義了一個(gè)二維數(shù)組aa并按行賦初值,定義了一個(gè)變量s用于求和。for循環(huán)執(zhí)行4次分別把數(shù)組元素aa[0][1]、aa[1)[1)、oa[2][1]和aa[2][1]的值(2,6,9,2)加到變量s中,s的值為19,所以最后輸出的s的值為19.所以4個(gè)選項(xiàng)中B正確。
47.D解析:時(shí)間復(fù)雜度是指一個(gè)算法執(zhí)行時(shí)間的相對(duì)度量;空間復(fù)雜度是指算法在運(yùn)行過(guò)程中臨時(shí)占用所需存儲(chǔ)空間大小的度量。人們都希望選擇一個(gè)既省存儲(chǔ)空間、又省執(zhí)行時(shí)間的算法。然而,有時(shí)為了加快算法的運(yùn)行速度,不得不增加空間開(kāi)銷;有時(shí)為了能有效地存儲(chǔ)算法和數(shù)據(jù),又不得不犧牲運(yùn)行時(shí)間。時(shí)間和空間的效率往往是一對(duì)矛盾,很難做到兩全。但是,這不適用于所有的情況,也就是說(shuō)時(shí)間復(fù)雜度和空間復(fù)雜度之間雖然經(jīng)常矛盾,但是二者不存在必然的聯(lián)系。因此,選項(xiàng)A、B、C的說(shuō)法都是錯(cuò)誤的。故本題的正確答案是D。
48.C解析:指針變量p指向數(shù)組元素a[1],則p[1]即為a[2],p[2]即為a[3],執(zhí)行第一次for循環(huán)時(shí),y=y+p[1]=0+a[2]=6,第二次執(zhí)行for循環(huán),y=y+p[2]=6+a[3]=14,此時(shí)x為3,for循環(huán)條件不滿足,退出循環(huán),輸出y的值為14。
49.A解析:本題中,最主要的是掌握幾個(gè)有關(guān)文件函數(shù)的應(yīng)用。
函數(shù)名:fopen
功能:打開(kāi)一個(gè)文件
調(diào)用方式FILE*fp;
fp=fopen(文件名,使用文件方式);
函數(shù)名:fprintf
功能:傳送格式化輸出到一個(gè)文件中
調(diào)用方式:fprintf(文件指針,格式字符串,輸出表列);
函數(shù)名:fclose
功能:關(guān)閉一個(gè)文件
調(diào)用方式:fclose(文件指針);
函數(shù)名:fscanf
功能:從磁盤(pán)文件執(zhí)行格式化輸入
調(diào)用方式:fscanf(文件指針,格式字符串,輸入列表)。
50.D解析:main函數(shù)的參數(shù)通常有兩個(gè),前者為整型,后者為字符型指針數(shù)組。參數(shù)的名字可以是任意合法的標(biāo)識(shí)符。而且,形如**av與*av[]等價(jià),所以選項(xiàng)A、B、C均正確,選項(xiàng)D是錯(cuò)誤的。
51.D結(jié)構(gòu)化程序設(shè)計(jì)由迪杰斯特拉(E.W.dijkstra)在1969年提出,他主張“清晰第一,效率第二”,以模塊化設(shè)計(jì)為中心,將待開(kāi)發(fā)的軟件系統(tǒng)劃分為若干個(gè)相互獨(dú)立的模塊,這樣使完成每一個(gè)模塊的工作變得單純而明確,為設(shè)計(jì)一些較大的軟件打下了良好的基礎(chǔ)。
由于模塊相互獨(dú)立,因此,在設(shè)計(jì)其中一個(gè)模塊時(shí),不會(huì)受到其他模塊的牽連,因而可將原來(lái)較為復(fù)雜的問(wèn)題化簡(jiǎn)為一系列簡(jiǎn)單模塊的設(shè)計(jì)。模塊的獨(dú)立性還為擴(kuò)充已有的系統(tǒng)、建立新系統(tǒng)帶來(lái)了不少的方便,因?yàn)榭梢猿浞掷矛F(xiàn)有的模塊作為積木式的擴(kuò)展。
結(jié)構(gòu)化程序設(shè)計(jì)的基本思想是采用“自頂向下,逐步求精”的程序設(shè)計(jì)方法和“單入口單出口”的控制結(jié)構(gòu)。自頂向下、逐步求精的程序設(shè)計(jì)方法從問(wèn)題本身開(kāi)始,經(jīng)過(guò)逐步細(xì)化,將解決問(wèn)題的步驟分解為由基本程序結(jié)構(gòu)模塊組成的結(jié)構(gòu)化程序框圖;“單入口單出口”的思想認(rèn)為一個(gè)復(fù)雜的程序,如果它僅是由順序、選擇和循環(huán)三種基本程序結(jié)構(gòu)通過(guò)組合、嵌套構(gòu)成,那么這個(gè)新構(gòu)造的程序一定是一個(gè)單入口單出口的程序。據(jù)此就很容易編寫(xiě)出結(jié)構(gòu)良好、易于調(diào)試的程序。
52.AB選項(xiàng)中運(yùn)算符“%”的運(yùn)算對(duì)象為整數(shù)。C選項(xiàng)中不能將變量賦給表達(dá)式“x+n”。D選項(xiàng)中不能將表達(dá)式“4+1”賦給常量5。故本題答案為A選項(xiàng)。
53.D解析:表達(dá)式a+=a-=a*a看起來(lái)復(fù)雜,其實(shí)將它分成兩個(gè)表達(dá)式來(lái)計(jì)算就簡(jiǎn)單了:①第一個(gè)表達(dá)式(a-=a*a)=(a=a-a*a=-12);②第二個(gè)表達(dá)式(a+=a-=a*a)=(a=a+a=-24)。
54.D軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)及相關(guān)文檔的完整集合。其中,程序是軟件開(kāi)發(fā)人員根據(jù)用戶需求開(kāi)發(fā)的、用程序設(shè)計(jì)語(yǔ)言描述的、適合計(jì)算機(jī)執(zhí)行的指令(語(yǔ)句)序列;數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu);文檔是與程序開(kāi)發(fā)、維護(hù)和使用有關(guān)的圖文資料。因此本題的正確答案是D。
55.D解析:數(shù)據(jù)庫(kù)中的關(guān)系模型是采用二維表來(lái)表示實(shí)體與實(shí)體之間的聯(lián)系。
56.A
57.D解析:C語(yǔ)言的程序是由主函數(shù)main()開(kāi)始運(yùn)行,由主函數(shù)來(lái)調(diào)用其他函數(shù),所以D是錯(cuò)誤的。
58.A開(kāi)發(fā)大型軟件時(shí),產(chǎn)生困難的原因有很多,如需求難以捕捉、員工水平有限、工作安排不太合理、進(jìn)度控制難以把握、系統(tǒng)開(kāi)發(fā)時(shí)間有限等元素,但這些都不是根本的原因,根本的原因是大系統(tǒng)的復(fù)雜性。
59.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。
60.AA)【解析】快速排序是起泡排序的改進(jìn)。在快速排
序中,任取一個(gè)記錄,以它為基準(zhǔn)用交換的方法將所有的記錄分成兩部分,關(guān)鍵碼值比它小的在一部分,關(guān)鍵碼值比它火的在另一部分,再分別對(duì)兩個(gè)部分實(shí)施上述過(guò)程,一直重復(fù)到排序完成。
61.A解析:維護(hù)是軟件生命周期的最后一個(gè)階段,也是持續(xù)時(shí)間最長(zhǎng)、付出代價(jià)最大的階段。軟件工程學(xué)的目的就在于提高軟件的可維護(hù)性,同時(shí)也要設(shè)法降低維護(hù)的代價(jià)。
軟件維護(hù)通常有以下四類;
①為糾正使用中出現(xiàn)的錯(cuò)誤而進(jìn)行的改正性維護(hù);
②為適應(yīng)環(huán)境變化而進(jìn)行的適應(yīng)性維護(hù);
③為改進(jìn)原有軟件而進(jìn)行的完善性維護(hù);
④為將來(lái)的可維護(hù)和可靠而進(jìn)行的預(yù)防性維護(hù)。
軟件維護(hù)不僅包括程序代碼的維護(hù),還包括文檔的維護(hù)。文檔可以分為用戶文檔和系統(tǒng)文檔兩類。但無(wú)論是哪類文檔,都必須與程序代碼同時(shí)維護(hù)。只有與程序代碼完全一致的文檔才有意義和價(jià)值。由此可知,本題中選項(xiàng)B、C、D中的說(shuō)法都是錯(cuò)誤的。
62.C
63.A函數(shù)fun的功能是求數(shù)組的n個(gè)元素之和。fun(a,5)=15。由于s岫是靜態(tài)局部變量,所以保持l5不變,fun(b,4)=45,所以s=fun(a,5)+fun(b,4)=60。
64.B\n在一個(gè)表達(dá)式中,括號(hào)的優(yōu)先級(jí)高,先計(jì)算3!=4,為真即是l,1>2為假。
\n
65.C本題綜合考查了輸入函數(shù)的使用。scanf函數(shù)會(huì)將空格視為分隔符,getchar函數(shù)只能輸入單個(gè)字符,getc函數(shù)是文件操作函數(shù),顯然都不符合題意。通過(guò)gets函數(shù)輸入字符串時(shí),輸入的空格被認(rèn)為是字符串的一個(gè)字符。
66.D本題是考查死循環(huán)的含義。在編程中,一個(gè)無(wú)法靠自身的控制終止的循環(huán)稱為“死循環(huán)”。選項(xiàng)A給出的函數(shù)主體是while語(yǔ)句,該語(yǔ)句的循環(huán)結(jié)束條件是i>100,初始i=100,執(zhí)行完i=i%100+1語(yǔ)句后,i的值變?yōu)?,由于不滿足循環(huán)結(jié)束條件,循環(huán)執(zhí)行while,執(zhí)行完第二次i=i%100+1語(yǔ)句后,i的值變?yōu)?,一直循環(huán)執(zhí)行下去,i的值最大只能達(dá)到100,永遠(yuǎn)不會(huì)達(dá)到結(jié)束條件,故選項(xiàng)A是死循環(huán)。選項(xiàng)B是一個(gè)for循環(huán),它的一般形式為:for(<初始化>;<條件表達(dá)式>;<增量>)語(yǔ)句;for循環(huán)中的“初始化”、“條件表達(dá)式”和“增量”都是選擇項(xiàng),即可以缺省,但“;”不能缺省。省略了初始化,表示不對(duì)循環(huán)控制變量賦初值。省略了條件表達(dá)式,則不做其他處理時(shí)便成為死循環(huán)。省略了增量,則不對(duì)循環(huán)控制變量進(jìn)行操作。選項(xiàng)C是一個(gè)do-while語(yǔ)句,先執(zhí)行do語(yǔ)句,然后用while后面的語(yǔ)句進(jìn)行判斷。初始時(shí),k=10000,執(zhí)行完do語(yǔ)句后,k=10001,滿足while里的判斷語(yǔ)句k>10000,繼續(xù)執(zhí)行do-while,因?yàn)閗的值一直是增大的,故該循環(huán)將一直運(yùn)行下去。D選項(xiàng)是一個(gè)while循環(huán),該循環(huán)結(jié)束的條件是s<=0,該循環(huán)初始時(shí)s的值為36,每執(zhí)行一次while循環(huán),將執(zhí)行--s操作,當(dāng)s=0時(shí),循環(huán)結(jié)束。
67.BA)選項(xiàng)表達(dá)式本身就錯(cuò)誤,不能給表達(dá)式賦值。C)選項(xiàng)中不能讓變量f給f賦值。D)選項(xiàng)不是正確的浮點(diǎn)數(shù)表示形式。所以,本題答案為B)。
68.B
69.D
70.A本題考查函數(shù)中變量的作用范圍,在主函數(shù)中給變量x、y、z賦值,然后將其作為實(shí)參傳遞給了函數(shù)fun(),雖然在函數(shù)fun()中改變了這三個(gè)變量的值,但只是同名的局部變量,不影響函數(shù)中變量的值。所以,在調(diào)用函數(shù)fun()結(jié)束后,主函數(shù)三個(gè)變量的值未改變,即形參值的改變不能影響實(shí)參值。
71.C解析:算法的設(shè)計(jì)可以避開(kāi)具體的計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,但算法的實(shí)現(xiàn)必須借助程序設(shè)計(jì)語(yǔ)言中,提供的數(shù)據(jù)類型及其算法。數(shù)據(jù)結(jié)構(gòu)和算法是計(jì)算機(jī)科學(xué)的兩個(gè)重要支柱。它們是一個(gè)不可分割的整體。算法在運(yùn)行過(guò)程中需輔助存儲(chǔ)空間的大小稱為算法的空間復(fù)雜度。算法的有窮性是指一個(gè)算法必須在執(zhí)行有限的步驟以后.結(jié)束。算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量,即算法執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)。
72.A全局變量的作用域是從聲明處到文件的結(jié)束。所以選擇A)
73.C
74.A解析:此題考查的是編譯預(yù)處理命令以及自加運(yùn)算符。F(a++,b++)先取a和b的值,參加運(yùn)算,再把a(bǔ)和b的值分別加1,所以F(a++,b++)=F(3,4)=3*4=12。
75.AB)選項(xiàng)中打開(kāi)一個(gè)已存在的文件并進(jìn)行了寫(xiě)操作后,原有文件中的全部數(shù)據(jù)不一定被覆蓋,也可以對(duì)源文件進(jìn)行追加操作等。c)選項(xiàng)中在一個(gè)程序中當(dāng)對(duì)文件進(jìn)行了寫(xiě)操作后,不用先關(guān)閉該文件然后再打開(kāi),才能讀到第1個(gè)數(shù)據(jù),可以用fseek()函數(shù)進(jìn)行重新定位即可。D)選項(xiàng)中,C語(yǔ)言中的文件可以進(jìn)行隨機(jī)讀寫(xiě)。故本題答案為A)。
76.D
77.A選項(xiàng)A)中d0后面的語(yǔ)句只執(zhí)行了一次便結(jié)束了循環(huán);B)選項(xiàng)中條件while(1)永遠(yuǎn)成立,因此是死循環(huán);C)選項(xiàng)中n的值為l0,而循環(huán)體為空語(yǔ)句,所以while(n)永遠(yuǎn)為真,進(jìn)入死循環(huán);D)選項(xiàng)中fbr語(yǔ)句第二個(gè)表達(dá)式為空,因此沒(méi)有判定條件,進(jìn)入死循環(huán)。因此本題答案為A)。
78.B注:與軟件測(cè)試要對(duì)比著復(fù)習(xí)
79.A解析:本調(diào)用語(yǔ)句func中包含了3個(gè)實(shí)參,一個(gè)是對(duì)f2函數(shù)調(diào)用“f2(v1,v2)”的返回值;另一個(gè)是逗號(hào)表達(dá)式“(v3,v4,v5)”的值v5(逗號(hào)表達(dá)式的一般形式為:表達(dá)式1,表達(dá)式2,表達(dá)式3......表達(dá)式n,它的值為表達(dá)式n的值);還有—個(gè)實(shí)參也是逗號(hào)表達(dá)式“v6,max(v7,v8)”的值,即對(duì)max函數(shù)調(diào)用的返回值。
80.Astrlen()函數(shù)在計(jì)算字符串長(zhǎng)度時(shí),遇到結(jié)束標(biāo)識(shí)為止,且長(zhǎng)度不包括結(jié)束標(biāo)識(shí)。本題中字符串,從第一個(gè)字符開(kāi)始,遇到第一個(gè)結(jié)束標(biāo)識(shí)‘\0’為止,注意‘\0’不占字符串長(zhǎng)度,所以字符串長(zhǎng)度為7。因此A選項(xiàng)正確。
81.(1)錯(cuò)誤:intproc(charstrr3[103,intm,char*pt)
正確:voidproc(charstr[][10],intm,char*pt)
(2)錯(cuò)誤:pt[i]=strEk,i3
正確:pt[i]=str[k][i]
【解析】由主函數(shù)中的函數(shù)調(diào)用和proc()函數(shù)的定義可知,函數(shù)proc()沒(méi)有返回值。因此,“intproc(charstr[][10],intm,char*pt)”中的int應(yīng)改為void;根據(jù)C語(yǔ)言的語(yǔ)法規(guī)則,二維數(shù)組的行下標(biāo)和列下標(biāo)應(yīng)分別加中括號(hào),因此“pt[i]=str[k,i]”應(yīng)改為“pt[i]=str[k][i]”。
82.\r\n\tvoidproc(inttt[M][N],intpp[N])
inti,j,max;
for(i=0;i<M;i++)//i控制行的下標(biāo)
{
max=tt[i][c];//max存放每行中最大的數(shù)
for(j=0;j<N;j++)
if(tt[i][j]>max)
max=tt[i][j];
pp[i]=max;//把大的數(shù)放到PP數(shù)組中,經(jīng)過(guò)i來(lái)控制pp數(shù)組的下標(biāo)
}
}
【解析】按照題目中要求,求出二維數(shù)組每行中最大元素,并依次放入PP所指的一維數(shù)組中。首先比較二維數(shù)組中每一行的元素,找出每一行中的最大元素,放入一維數(shù)組pp中,返回到主函數(shù)當(dāng)中。2021-2022年廣東省深圳市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.下列程序的輸出結(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.1C.6D.8
2.設(shè)x=011050,則x=x&01252的值是()。A.0000001000101000
B.1111110100011001
C.0000001011100010
D.1100000000101000
3.若有定義語(yǔ)句:“inta=3,b=2,c=1;”,以下選項(xiàng)中錯(cuò)誤的賦值表達(dá)式是()。
A.a=(b=4)=3;B.a=b=c+1:C.a=(b=4)+C;D.a=1+(b=c一4);
4.程序運(yùn)行后的輸出結(jié)果是()。A.3B.4C.5D.6
5.程序運(yùn)行后的輸出結(jié)果是()。A.10B.30C.0D.64
6.
7.在軟件測(cè)試設(shè)計(jì)中,軟件測(cè)試的主要目的是
A.實(shí)驗(yàn)性運(yùn)行軟件B.證明軟件正確C.找出軟件中全部錯(cuò)誤D.盡可能多地發(fā)現(xiàn)軟件中的錯(cuò)誤
8.下列敘述中錯(cuò)誤的是()。
A.在C語(yǔ)言中,函數(shù)中的自動(dòng)變量可以賦初值,每調(diào)用一次賦一次初值
B.在C語(yǔ)言中,在調(diào)用函數(shù)時(shí),實(shí)參和對(duì)應(yīng)形參在類型上只需賦值兼容
C.在C語(yǔ)言中,外部變量的隱含類型是自動(dòng)存儲(chǔ)類別
D.在C語(yǔ)言中,函數(shù)形參的存儲(chǔ)類型是自動(dòng)(auto)類型的變量
9.
10.判斷一包含n個(gè)整數(shù)的數(shù)組a[]中是否存在i、j、k滿足a[i]+a[j]+a[k]=0的時(shí)間復(fù)雜度需要()
A.O(n^2)B.O(n^2logn)C.O(n^3)D.O(nlogn)
11.若一組記錄的排序碼為(7,9,3,5,1,2,10),則利用堆排序的方法建立的初始堆為()
A.10,7,9,3,5,1,2
B.10,9,7,5,1,2,3
C.10,9,7,5,3,2,1
D.10,9,7,3,2,1,5
12.下列選項(xiàng)中不是字符常量的是()。
A.'\v'B.'\x2a'C.'a'D."\0"
13.
14.某堆棧的輸入序列為a,b,c,d,下面的四個(gè)序列中,不可能是它的輸出序列的是()。
A.a,c,b,dB.b,c,d,aC.c,d,b,aD.d,c,a,b
15.C語(yǔ)言源程序的擴(kuò)展名是()。
A..CB..exeC..objD..cp
16.串是一種特殊的線性表,其特殊性體現(xiàn)在()。
A.可以順序存儲(chǔ)B.數(shù)據(jù)元素是一個(gè)字符C.可以鏈接存儲(chǔ)D.數(shù)據(jù)元素可以是多個(gè)字符
17.
18.數(shù)據(jù)流圖用于抽象地描述一個(gè)軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標(biāo)識(shí)的圖符不屬于數(shù)據(jù)流圖合法圖符的是()。
A.控制流B.加工C.數(shù)據(jù)存儲(chǔ)D.源和潭
19.
20.若已定義:“inta[9],*p=a;”,并在以后的語(yǔ)句中未改變p的值,不能表示a[1]地址的表達(dá)式是______。
A.p+1B.a+1C.a++D.++p
二、2.填空題(20題)21.有以下程序:
main()
{charstr[]="xyz",*ps=str;
while(*ps)ps++;
for(ps--;ps-str>=0;ps--)puts(ps);
}
執(zhí)行后的輸出結(jié)果是【】。
22.以下說(shuō)明語(yǔ)句中,【】是結(jié)構(gòu)體類型名。
typedefstruct
{intn;
charch[8];
}PER;
23.以下程序的輸出結(jié)果是【】。
main()
{charc='z';
printf("%c",c-25);}
24.x、y、x均為int型變量,描述“x、y和z中至少有兩個(gè)為正數(shù)”的表達(dá)式是______。
25.#define命令出現(xiàn)在程序中函數(shù)的外面,宏名的有效范圍為_(kāi)_____。
26.在面向?qū)ο蠓椒ㄖ?,類之間共享屬性和操作的機(jī)制稱為_(kāi)_____。
27.設(shè)有以下結(jié)構(gòu)體類型:
structst
{charname[8];
intnum;
floats[4];
}student[50];
并且結(jié)構(gòu)體數(shù)組student中的元素都已有值。若要將這些元素寫(xiě)到硬盤(pán)文件fp中,請(qǐng)將以下fwrite語(yǔ)句補(bǔ)充完整:
fwrite(student,【】,1,fp);
28.軟件危機(jī)出現(xiàn)于60年代末,為了解決軟件危機(jī),人們提出了【】的原理來(lái)設(shè)計(jì)軟件,這就是軟件工程誕生的基礎(chǔ)。
29.以下程序段的輸出結(jié)果是【】。
main()
{inta=2,b=2,c=4;
a*=16+(b++)-(++C);
printf("%d",a);
}
30.隊(duì)列是限定在表的一端進(jìn)行插入和在另一端進(jìn)行刪除操作的線性表。允許插入的一端稱作______。
31.在關(guān)系模型中,若屬性A是關(guān)系R的主碼,屬性A的取值不能為空,稱為約束。
32.若a=10,b=20,則表達(dá)式!(a<b)的值是【】。
33.以下程序運(yùn)行后的輸出結(jié)果是______。
fun(intx)
{if(x/2>0)fun(x/2);
printf("%d",x);
}
main()
{fun(6);}
34.長(zhǎng)度為n的順序存儲(chǔ)線性表中,當(dāng)在任何位置上插入一個(gè)元素概率都相等時(shí),插入一個(gè)元素所需移動(dòng)元素的平均個(gè)數(shù)為【】。
35.已有定義:charc=‘’;inta=1,b;(此處c的初值為空格字符),執(zhí)行b=!c&&a;后b的值為()。
36.若有定義inta=10,b=9,c=8;,接著順序執(zhí)行下列語(yǔ)句,變量b中的值是【】。
c=(a-=(b-5));
c=(a%11)+(b=3);
37.Jackson方法是一種面向【】的結(jié)構(gòu)化方法。
38.下面程序是指從終端讀入的20個(gè)字符放入字符數(shù)組中,然后利用指針變量輸出上述字符串,請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{inti;chars[21],*p;
for(i=0;i<20;i++)
s[i]=getchar();
s[i]=【】;
p=【】;
while(*p)putchar(*p++);}
39.棧的3種基本運(yùn)算是:入棧、退棧和______。
40.為了便于對(duì)照檢查,測(cè)試用例應(yīng)由輸入數(shù)據(jù)和預(yù)期的【】?jī)刹糠纸M成。
三、1.選擇題(20題)41.執(zhí)行下面的程序后,a的值為
main()
{inta,b;
for(a=1,b=1;a<=10;a++)
{if(b%3==1)
{b+=3;
continue;}
b-=5;}}
A.7B.8C.9D.10
42.下列關(guān)系模型中,能使經(jīng)運(yùn)算后得到的新關(guān)系中屬性個(gè)數(shù)多于原來(lái)關(guān)系中屬性個(gè)數(shù)的是
A.選擇B.連接C.投影D.并
43.下列關(guān)于棧的敘述中正確的是()
A.在棧中只能插入數(shù)據(jù)B.在棧中只能刪除數(shù)據(jù)C.棧是先進(jìn)先出的線性表D.棧是先進(jìn)后出的線性表
44.設(shè)a和b均為雙精度型變量,且a=5.5、b=2.5,則表達(dá)式(int)a+b/b的值是()。
A.6.5B.6C.5.5D.6
45.對(duì)建立良好的程序設(shè)計(jì)風(fēng)格,下面描述正確的是______。
A.程序應(yīng)簡(jiǎn)單、清晰、可讀性好B.符號(hào)名的命名要符合語(yǔ)法C.充分考慮程序的執(zhí)行效率D.程序的注釋可有可無(wú)
46.有以下程序main(){intaa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};inti,s=0;for(i=0;i<4;i++)s+=aa[i][1];printf("%d\n",s);}程序運(yùn)行后的輸出結(jié)果是()
A.11B.19C.13D.20
47.下列敘述中正確的是()。
A.一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度也必定大
B.一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度必定小
C.一個(gè)算法的時(shí)間復(fù)雜度大,則其空間復(fù)雜度必定小
D.上述三種說(shuō)法都不對(duì)
48.有以下程序:main(){inta[]={2,4,6,8,10),y=0,x,*P;P=&a[1];for(x=1;x<3;x++)y+=p[x];printf("%d\n",y);}程序運(yùn)行后的輸出結(jié)果是()。
A.10B.11C.14D.15
49.有以下程序
#include<stdio.h>
main()
{FILE*fp;inti=20,j=30,k,n;
fp=fopen("d1.dat","w");
fprintf(fp,"%d\n",i);fprintf(fp,"%d\n",j);
fclose(fp);
fp=fopen("d1.dat","r");
fscanf(fp,"%d%d",&k,&n);printf("%d%d\n",k,n);
fclose(fp);}
程序運(yùn)行后的輸出結(jié)果是
A.2030B.2050C.3050D.3020
50.下列不合法的main函數(shù)命令行參數(shù)的表示形式是______。
A.main(inta,char*c[]);
B.main(ac,av)intarc;char**av;
C.main(c,v)intc;char*v[];
D.main(argc,argv)intargc;charargv[];
51.結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是
A.程序的規(guī)模B.程序的效率C.程序設(shè)計(jì)語(yǔ)言的先進(jìn)性D.程序易讀性
52.若變量均已正確定義并賦值,以下合法的C語(yǔ)言賦值語(yǔ)句是()。
A.x=y==5;B.X=n%2.5:C.x+n=i;D.x=5=4+1:
53.下列程序的輸出結(jié)果是()。#include<stdio.h>main(){inta=4printf("%d\n",(a+=a-=a*A));}
A.-8B.14C.0D.-24
54.軟件是指()。A.程序B.程序和文檔C.算法加數(shù)據(jù)結(jié)構(gòu)D.程序、數(shù)據(jù)與相關(guān)文檔的完整集合
55.在關(guān)系數(shù)據(jù)庫(kù)中,用來(lái)表示實(shí)體之間聯(lián)系的是
A.樹(shù)形結(jié)構(gòu)B.網(wǎng)狀結(jié)構(gòu)C.線性表D.二維表
56.下面程序的輸出結(jié)果是()main(){inta[10]={l,2,3,4,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}
A.3B.4C.1D.2
57.以下敘述不正確的是______。
A.分號(hào)是C語(yǔ)言的必要組成部分
B.C程序的注釋可以寫(xiě)在句的后面
C.函數(shù)是C程序的基本單位
D.主函數(shù)的名字不一定用main表示
58.開(kāi)發(fā)大型軟件時(shí),產(chǎn)生困難的根本原因是()
A.大系統(tǒng)的復(fù)雜性B.人員知識(shí)不足C.客觀世界千變?nèi)f化D.時(shí)間緊、任務(wù)重
59.若有說(shuō)明: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
60.設(shè)有關(guān)鍵碼序列(66,13,51,76,81,26,57,69,23),要按關(guān)鍵碼值遞增的次序排序,若采用快速排序法,并以第一個(gè)元素為劃分的基準(zhǔn),那么第一趟劃分后的結(jié)果為()。
A.23,13,51,57,66,26,81,69,76
B.13,23,26,51,57,66,81,76,69
C.23,13,51,57,26,66,81,69,76
D.23,13,51,57,81,26,66,69,76
四、選擇題(20題)61.下列敘述中正確的是()。
A.軟件交付使用后還需要進(jìn)行維護(hù)
B.軟件一旦交付使用就不需要再進(jìn)行維護(hù)
C.軟件交付使用后其生命周期就結(jié)束
D.軟件維護(hù)是指修復(fù)程序中被破壞的指令
62.
63.有以下程序程序執(zhí)行后的輸出結(jié)果是()
A.60B.50C.45D.55
64.下列關(guān)系表達(dá)式中,結(jié)果為“假”的是()。
A.(3+4)>6
B.(3!=4)>2
C.3<=4
D.
E.3
F.(3<4)=1
65.當(dāng)用戶要求輸入的字符串中含有空格時(shí),應(yīng)使用的輸入函數(shù)是()。
A.seanf
B.getchar
C.gets
D.getc
66.在下列選項(xiàng)中,沒(méi)有構(gòu)成死循環(huán)的是
67.以下能正確定義賦初值的語(yǔ)句是()。
A.intnl=n2=10:
B.Chare=32;
C.floatf=f+1.1;
D.doublex=12.3E2.5;
68.
69.
70.有以下程序
voidfun(inta,intb,intc)
{
a=456,b=567,c=678;
}
main()
{
intx=10,y=20,z=30;
fun(x,y,z);
printf("%d,%d,%d\n",x,y,z);
}
輸出結(jié)果是
A.10,20,30B.30,20,10
C.456,567,678D.678,567,456
71.下面敘述正確的是_______。
A.算法的執(zhí)行效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)無(wú)關(guān)
B.算法的空間復(fù)雜度是指算法程序中指令(或語(yǔ)句)的條數(shù)
C.算法的有窮性是指算法必須能在執(zhí)行有限個(gè)步驟之后終止
D.算法的時(shí)間復(fù)雜度是指執(zhí)行算法程序所需要的時(shí)間
72.在一個(gè)C源程序文件中所定義的全局變量。其作用域?yàn)?)。A.由具體定義位置和extern說(shuō)明來(lái)決定范圍B.所在程序的全部范圍C.所在函數(shù)的全部范圍D.所在文件的全部范圍
73.(11)算法的時(shí)間復(fù)雜度是指()
A.執(zhí)行算法程序所需要的時(shí)間
B.算法程序的長(zhǎng)度
C.算法執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)
D.算法程序中的指令條數(shù)
74.有以下程序#defineF(X,Y)(X)*(Y)main(){inta=3,b=4;printf("%d\n",F(xiàn)(a++,b++));}程序運(yùn)行后的輸出結(jié)果是
A.12B.15C.16D.20
75.以下敘述中正確的是()。A.A.當(dāng)對(duì)文件的讀(寫(xiě))操作完成之后,必須將它關(guān)閉,否則可能導(dǎo)致數(shù)據(jù)丟失
B.打開(kāi)一個(gè)已存在的文件并進(jìn)行了寫(xiě)操作后,原有文件中的全部數(shù)據(jù)必定被覆蓋
C.在一個(gè)程序中當(dāng)對(duì)文件進(jìn)行了寫(xiě)操作后,必須先關(guān)閉該文件然后再打開(kāi),才能讀到第1個(gè)數(shù)據(jù)
D.c語(yǔ)言中的文件是流式文件,因此只能順序存取數(shù)據(jù)
76.
77.以下不構(gòu)成無(wú)限循環(huán)的語(yǔ)句或語(yǔ)句組是()。
78.(48)軟件調(diào)試的目的是()
A.發(fā)現(xiàn)錯(cuò)誤
B.改正錯(cuò)誤
C.改善軟件的性能
D.挖掘軟件的潛能
79.下面的函數(shù)調(diào)用語(yǔ)句中func函數(shù)的實(shí)參個(gè)數(shù)是()。func((f2v1,v2),(v3,v4,v5),(v6,max(v7,v8)))
A.3B.4C.5D.8
80.若有定義語(yǔ)句:
charS[10]=”1234567\0\0”;則strlen(s)的值是()。
A.7B.8C.9D.10
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:將m(1≤m≤10)個(gè)字符串連接起來(lái),組成一個(gè)新串,放入pt所指字符串中,例如,把2個(gè)字符串a(chǎn)bc、CD串聯(lián)起來(lái),結(jié)果是abcCD。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編一個(gè)函數(shù)voidproc(intttEM][N],intpp[N]),tt指向一個(gè)M行N列的二維數(shù)組,求出二維數(shù)組每行中最大元素,并依次放入pp所指的一維數(shù)組中。二維數(shù)組中的數(shù)已在主函數(shù)中給出。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。
試題程序:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#defineM3
#defineN4
voidproc(intttrM3rN]。intpp[N])
{}
voidmain
{
intstr[M][N]={{34,56,84,78},
{23,84,93,12),
{28,38,39,93}};
intp[N],i,j,k;
system("CLS");
printf("Theriginaldatais:\n");
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
printf("%6d",str[i][j]);
printf("\n");
}
proc(str,p);
printf("\nTheresultis:\n");for(k=0:k<M;k++)
printf("%4d",p[k]);
printf("n");}
參考答案
1.A本題考查switch語(yǔ)句。當(dāng)i一1時(shí),執(zhí)行case1,因?yàn)闆](méi)有遇到break語(yǔ)句,所以依次往下運(yùn)行,“a=a+2=2,a=a+3=5”;當(dāng)i=2時(shí),執(zhí)行case2,因?yàn)闆](méi)有遇到break語(yǔ)句,所以依次往下執(zhí)行,“a=a+2=7,a=a+3=10”;當(dāng)i=3時(shí),執(zhí)行case3,a=a+1=11,因?yàn)闆](méi)有遇到break語(yǔ)句,所以依次往下運(yùn)行,a—a+2—13,a—a+3一l6:當(dāng)i=4時(shí),執(zhí)行default,a=a+3=19,結(jié)束循環(huán)。
2.A本題考查按位與運(yùn)算,按位與就是相同為1,不同為0,把x=011050化成二進(jìn)制為0001001000101000,把01252化成二進(jìn)制為0000001010101010,兩者相與得0000001000101000。
3.A由等式的規(guī)則可知,A選項(xiàng)錯(cuò)誤。先對(duì)括號(hào)的b進(jìn)行等式運(yùn)算,得出b=4,然后計(jì)算得出a=4=3,所以會(huì)導(dǎo)致錯(cuò)誤。答案選擇A。
4.B[解析]&按位與,如果兩個(gè)相應(yīng)的二進(jìn)制位都為1.則該位的結(jié)果值為1.否則為0.按位或兩個(gè)相應(yīng)的二進(jìn)制位中只要有一個(gè)為1.該位的結(jié)果值為1.2的二進(jìn)制為0000010.4的二進(jìn)制為000000所以做或運(yùn)算結(jié)果為0000110.該數(shù)與5即00000101做與操作結(jié)果為0000100.即4.
5.D[解析]本題目中靜態(tài)局部變量x,在靜態(tài)存儲(chǔ)區(qū)內(nèi)分配存儲(chǔ)單元。在程序整個(gè)運(yùn)行期間都不釋放。所以第一次循環(huán)s的值為2.第二次循環(huán)中,返回的x的值為4.所以s的值為8.第三次循環(huán),返回的x的值為8.所以s的值為64.
6.B
7.D解析:使用人工或自動(dòng)手段來(lái)運(yùn)行或測(cè)定某個(gè)系統(tǒng)的過(guò)程,其目的在于檢驗(yàn)它是否滿足規(guī)定的需求或是弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別。軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程。測(cè)試要以查找錯(cuò)誤為中心,而不是為了演示軟件的正確功能。
8.C解析:外部變量在編譯時(shí)由系統(tǒng)分配永久的內(nèi)存空間,所以外部變量的類型不是自動(dòng)存儲(chǔ)類別。
9.D
10.A
11.B
12.Dc語(yǔ)言規(guī)定,一個(gè)字符常量代表ASCII碼字符集里的一個(gè)字符,在群序中用單引號(hào)括起來(lái),以便區(qū)分。'\v'表示的是豎向跳格:'kx2a'表示的是兩位十六迸制數(shù);'a'表示的是字符a對(duì)應(yīng)的ASCII碼值。"\0"用雙引號(hào)故不正確。
13.C
14.D
15.AC語(yǔ)言源程序的擴(kuò)展名是.C,目標(biāo)文件的擴(kuò)展名是.obj,可執(zhí)行文件的擴(kuò)展名是.exe。故本題答案為A選項(xiàng)。
16.B
17.A
18.A解析:數(shù)據(jù)流圖包括四個(gè)方面,即加工(輸入數(shù)據(jù)經(jīng)加工變換產(chǎn)生輸出)、數(shù)據(jù)流(沿箭頭方向傳送數(shù)據(jù)的通道,一般在旁邊標(biāo)注數(shù)據(jù)流名)、存儲(chǔ)文件(數(shù)據(jù)源)(表示處理過(guò)程中存放各種數(shù)據(jù)的文件)、源和潭(表示系統(tǒng)和環(huán)境的接口,屬系統(tǒng)之外的實(shí)體),不包括選項(xiàng)中的控制流。
19.D
20.C
21.zyzXyzzyzXyz解析:本題考查字符型指針變量的應(yīng)用。程序中字符指針變量ps指向字符串'xyz',while循環(huán)語(yǔ)句的作用使ps指向字符串結(jié)尾,for循環(huán)的執(zhí)行過(guò)程如下。
第一次循環(huán):ps指向字符串'z',輸出z。
第二次循環(huán):ps指向字符串'yz',輸出yz。
第三次循環(huán):ps指向字符串'xyz',輸出xyz。
22.PERPER解析:本題中,typedef聲明新的類型名PER來(lái)代替已有的類型名,PER代表上面指定的一個(gè)結(jié)構(gòu)體類型,此時(shí),也可以用PER來(lái)定義變量。
23.aa解析:“z”的ASCII碼值為122,經(jīng)過(guò)c-25運(yùn)算后得97,以字符形式輸出是a。
24.((x>0)&&<y>0))‖(x>0)&&(z>0)‖y>0)&&(z>0))((x>0)&&<y>0))‖(x>0)&&(z>0)‖y>0)&&(z>0))解析:題目要求“x、y和z中至少有兩個(gè)為正數(shù)”,即x、y和x這3個(gè)數(shù)中必須有兩個(gè)是正數(shù),且這3個(gè)數(shù)中的哪兩個(gè)數(shù)都有可能是正數(shù),所以它們之間是或的關(guān)系。
25.從定義到本源文件結(jié)束從定義到本源文件結(jié)束解析:C語(yǔ)言規(guī)定,宏名的有效范圍為從定義宏到本源程序結(jié)束。
26.繼承繼承
27.sizeof(structst)*50sizeof(structst)*50解析:fwrite函數(shù)的一般調(diào)用形式為:fwrite(buffer,size,count,fp);其中:buffer是一個(gè)指針變量,是要輸出數(shù)據(jù)的起始地址;size是要寫(xiě)的字節(jié)數(shù);count是要寫(xiě)多少個(gè)size字節(jié)的數(shù)據(jù)項(xiàng);fp是文件指針。
28.軟件工程學(xué)軟件工程學(xué)
29.2626解析:a*=16+(b++)-(++c)等價(jià)于a*=a*(16+(b++)-(++c))=2*(16+(2-5)=26。b++是先使用b的值參加運(yùn)算,再對(duì)b加1;++c是先c加1,再使用c的值參加運(yùn)算。
30.隊(duì)尾隊(duì)尾解析:在隊(duì)列中,允許插入的一端叫做“隊(duì)尾”,允許刪除的一端叫做“隊(duì)頭”。
31.實(shí)體完整性實(shí)體完整性
32.00解析:已知a=10,b=20,所以邏輯表達(dá)式a<b的值為true,即為1,在這個(gè)表達(dá)式前面有一個(gè)邏輯運(yùn)算符!,表示反操作,所以整個(gè)語(yǔ)句的值應(yīng)當(dāng)為false,即為0。
33.136136解析:本題考核的知識(shí)點(diǎn)是函數(shù)遞歸。主函數(shù)調(diào)用函數(shù)fun(6),由于6/2>0為真遞歸調(diào)用fun(3),接著遞歸調(diào)用fun(1),輸出1,返回上一層輸出3,在返回上一層輸出6。故空格處應(yīng)該填136。
34.n/2性表的任何位置插入一個(gè)元素的概率相等,即概率為p=1/(n+1),則插入一個(gè)元素時(shí)所需移動(dòng)元素的平均次數(shù)為E=1/(n+1)(n-i+1)=n/2。
35.00解析:空格字符的ASCⅡ碼值為32,所以!c—o,那么0與任何值相與的結(jié)果都為0,可得b的值為0。
36.33解析:這里:b-5=4,a-=4之后a的值為6,并把它賦給c。此時(shí)b的值并未被改變。在第2個(gè)表達(dá)式中,也只有賦值表達(dá)式b=3改變了b的值。所以兩行語(yǔ)句執(zhí)行完畢,b的值應(yīng)該為3。
37.數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)解析:Jackson方法是—‘種面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化方法。
38.\0's\\0'\r\ns解析:本題選通過(guò)for循環(huán)從鍵盤(pán)讀入20個(gè)字符,然后在最后賦一定值'\\0'后為結(jié)束標(biāo)志,再使指針p指向字符串的首地址。最后通過(guò)while循環(huán)對(duì)字符串進(jìn)行掃描并輸出。
39.讀棧頂元素讀棧頂元素解析:棧的基本運(yùn)算有3種:入棧、退棧和讀取棧頂元素。其中,入棧是指在棧頂插入一個(gè)新的元素;退棧是指取出棧頂元素并賦值給一個(gè)變量;讀棧頂元素是將棧頂元素賦值給一個(gè)指定的變量,不刪除棧頂元素。
40.輸出結(jié)果輸出結(jié)果解析:注意:測(cè)試的基本方法和步驟。
41.D解析:考查continue語(yǔ)句的使用。continue語(yǔ)句的作用是結(jié)束本次循環(huán),直接進(jìn)入下次循環(huán)。
42.B解析:本題主要考查關(guān)系模型中幾種運(yùn)算的特征。經(jīng)過(guò)選擇或投影運(yùn)算得到的新關(guān)系的屬性個(gè)數(shù)最多不會(huì)超過(guò)原關(guān)系中的屬性個(gè)數(shù)。經(jīng)過(guò)連接運(yùn)算得到的新關(guān)系最多不少于原關(guān)系中屬性的個(gè)數(shù)。故選項(xiàng)B正確。
43.D解析:棧是一種特殊的線性表,這種線性表只能在固定的一端進(jìn)行插入和刪除操作,允許插入和刪除的一端稱為棧頂,另一端稱為棧底。一個(gè)新元素只能從棧頂一端進(jìn)入,刪除時(shí),只能刪除棧頂?shù)脑?,即剛剛被插入的元素,所以棧也被稱為“先進(jìn)后出”表或“后進(jìn)先出”表。
44.D解析:在這個(gè)表達(dá)式中,優(yōu)先級(jí)最高的是(int)a,也就是對(duì)5.5取整,結(jié)果是5,其次是b/b,即2.5/2.5,結(jié)果是1.000000,最后相加結(jié)果為6.000000(表達(dá)式的最終結(jié)果為實(shí)型),所以4個(gè)選項(xiàng)中D正確。
45.A解析:要形成良好的程序設(shè)計(jì)風(fēng)格,主要應(yīng)注重和考慮下述一些因素:符號(hào)名的命名應(yīng)具有一定的實(shí)際含義,以便于對(duì)程序功能的理解;正確的注釋能夠幫助讀者理解程序;程序編寫(xiě)應(yīng)優(yōu)先考慮清晰性,除非對(duì)效率有特殊要求,程序編寫(xiě)要做到清晰第一,效率第二。
46.B解析:C語(yǔ)言規(guī)定,數(shù)組元素的下標(biāo)是從零開(kāi)始的.本題首先定義了一個(gè)二維數(shù)組aa并按行賦初值,定義了一個(gè)變量s用于求和。for循環(huán)執(zhí)行4次分別把數(shù)組元素aa[0][1]、aa[1)[1)、oa[2][1]和aa[2][1]的值(2,6,9,2)加到變量s中,s的值為19,所以最后輸出的s的值為19.所以4個(gè)選項(xiàng)中B正確。
47.D解析:時(shí)間復(fù)雜度是指一個(gè)算法執(zhí)行時(shí)間的相對(duì)度量;空間復(fù)雜度是指算法在運(yùn)行過(guò)程中臨時(shí)占用所需存儲(chǔ)空間大小的度量。人們都希望選擇一個(gè)既省存儲(chǔ)空間、又省執(zhí)行時(shí)間的算法。然而,有時(shí)為了加快算法的運(yùn)行速度,不得不增加空間開(kāi)銷;有時(shí)為了能有效地存儲(chǔ)算法和數(shù)據(jù),又不得不犧牲運(yùn)行時(shí)間。時(shí)間和空間的效率往往是一對(duì)矛盾,很難做到兩全。但是,這不適用于所有的情況,也就是說(shuō)時(shí)間復(fù)雜度和空間復(fù)雜度之間雖然經(jīng)常矛盾,但是二者不存在必然的聯(lián)系。因此,選項(xiàng)A、B、C的說(shuō)法都是錯(cuò)誤的。故本題的正確答案是D。
48.C解析:指針變量p指向數(shù)組元素a[1],則p[1]即為a[2],p[2]即為a[3],執(zhí)行第一次for循環(huán)時(shí),y=y+p[1]=0+a[2]=6,第二次執(zhí)行for循環(huán),y=y+p[2]=6+a[3]=14,
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度出租車公司車輛改裝服務(wù)合同4篇
- 2025年度新能源充電樁建設(shè)項(xiàng)目承包商擔(dān)保合同4篇
- 2025版現(xiàn)代農(nóng)業(yè)綜合示范區(qū)運(yùn)營(yíng)管理合同4篇
- 2025年度船舶錨泊設(shè)備檢查與維修合同3篇
- 二零二五年度池塘租賃合同(含水產(chǎn)養(yǎng)殖技術(shù)研發(fā)投資合作)4篇
- 二零二五年度山林資源保護(hù)與利用合作協(xié)議4篇
- 2025年度蟲(chóng)草產(chǎn)業(yè)大數(shù)據(jù)分析與應(yīng)用合同3篇
- 2025年度美容院美容產(chǎn)品研發(fā)成果轉(zhuǎn)化合同4篇
- 二零二五年度綠色出行出租車司機(jī)招聘合同4篇
- 2025年度電梯安全拆除及安全防護(hù)設(shè)施安裝合同4篇
- 環(huán)境監(jiān)測(cè)對(duì)環(huán)境保護(hù)的意義
- 2023年數(shù)學(xué)競(jìng)賽AMC8試卷(含答案)
- 神經(jīng)外科課件:神經(jīng)外科急重癥
- 2024年低壓電工證理論考試題庫(kù)及答案
- 2023年十天突破公務(wù)員面試
- 《瘋狂動(dòng)物城》中英文對(duì)照(全本臺(tái)詞)
- 醫(yī)院住院醫(yī)師規(guī)范化培訓(xùn)證明(樣本)
- 小學(xué)六年級(jí)語(yǔ)文閱讀理解100篇(及答案)
- 氣功修煉十奧妙
- 安徽省物業(yè)服務(wù)標(biāo)準(zhǔn)
- 勾股定理的歷史與證明課件
評(píng)論
0/150
提交評(píng)論