版權(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.若有以下定義,則對(duì)a數(shù)組元素地址的正確引用是()。
inta[5],*p=a;A.A.p5B.*a1C.&a1D.&a[0]
2.
3.
4.
5.設(shè)x、y和z是int型變量,且x=4,y=6,z=8,則下列表達(dá)式中值為0的是()。
A.x&&yB.x<=yC.x||++y&&y-zD.!(x<y&&!z||1
6.檢查軟件產(chǎn)品是否符合需求定義的過(guò)程稱(chēng)為_(kāi)_____。
A.確認(rèn)測(cè)試B.集成測(cè)試C.驗(yàn)證測(cè)試D.驗(yàn)收測(cè)試
7.C語(yǔ)言中char類(lèi)型數(shù)據(jù)占字節(jié)數(shù)為()。
A.3B.4C.1D.2
8.以下對(duì)C語(yǔ)言函數(shù)的有關(guān)描述中,正確的是
A.在C語(yǔ)言中調(diào)用函數(shù)時(shí),只能把實(shí)參的值傳給形參,形參的值不能傳送給實(shí)參
B.C函數(shù)既可以嵌套定義又可以遞歸調(diào)用
C.函數(shù)必須有返回值,否則不能使用函數(shù)
D.函數(shù)必須有返回值,返回值類(lèi)型不定
9.一個(gè)有n個(gè)頂點(diǎn)的連通無(wú)向圖至少有()條邊。
A.n-1B.nC.n+1D.n+2
10.若有以下說(shuō)明和定義:則對(duì)函數(shù)fun的正確調(diào)用語(yǔ)句是()。A.(*a)(&c);B.a=a(x);C.b=*b(x);D.fun(b);
11.廣義表(a,b,c,d)的表頭是()。
A.aB.(a)C.(b,c,d)D.((b,c,c))
12.下列關(guān)于c語(yǔ)言用戶標(biāo)識(shí)符的敘述中正確的是()。
A.用戶標(biāo)識(shí)符中可以出現(xiàn)下劃線和中劃線(減號(hào))
B.用戶標(biāo)識(shí)符中不可以出現(xiàn)中劃線,但可以出現(xiàn)下劃線
C.用戶標(biāo)識(shí)符中可以出現(xiàn)下劃線,但不可以放在用戶標(biāo)識(shí)符的開(kāi)頭
D.用戶標(biāo)識(shí)符中可以出現(xiàn)下劃線和數(shù)字,它們都可以放在用戶標(biāo)識(shí)符的開(kāi)頭
13.下列數(shù)據(jù)結(jié)構(gòu)中,按先進(jìn)后出原則組織數(shù)據(jù)的是
A.線性鏈表B.棧C.循環(huán)鏈表D.順序表
14.在下面棧的基本運(yùn)算中,不是加工型運(yùn)算的是______。
A.初始化B.進(jìn)棧C.退棧D.判???/p>
15.某某二叉樹(shù)的中序序列和后序序列正好相反,則該二叉樹(shù)一定是______的二叉樹(shù)
A.空或只有一個(gè)結(jié)點(diǎn)B.高度等于其結(jié)點(diǎn)數(shù)C.任一結(jié)點(diǎn)無(wú)左孩子D.任一結(jié)點(diǎn)無(wú)右孩子
16.二叉樹(shù)中第5層上的結(jié)點(diǎn)個(gè)數(shù)最多為_(kāi)_______
A.8B.15C.16D.32
17.
下列程序的輸出結(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
18.冒泡排序在最壞情況下的比較次數(shù)是()。
A.n(n+1)/2B.nlog2nC.n(n-1)/2D.n/2
19.有如下程序段:inta[10]={1,2,3,4,5,6,7,8,9,10};int*p=&a[3],b;b=P[5];則b的值是()。
A.5B.6C.9D.8
20.有如下定義#defineD2intx=5;floaty=3.83;charC='D';則下面選項(xiàng)中錯(cuò)誤的是
A.x++;B.y++;C.c++;D.D++;
二、2.填空題(20題)21.下面程序的功能是調(diào)用sub函數(shù)計(jì)算數(shù)組a中字符串的長(zhǎng)度,請(qǐng)?zhí)羁铡?/p>
sub(chars[])
{intn;
for(n=0;【】n++);
return【】;
}
main()
{char*a;intk;
gets(a);
【】
printf("%d",k);
22.以下條件表達(dá)式可計(jì)算:1+|a|的值,請(qǐng)?zhí)羁铡>=0?【】:【】
23.以下程序的輸出結(jié)果是【】。
main()
{
intarr[]={30,25,20,15,10,5},*p=arr;
p++;
printf("%d\n",*(p+3));
}
24.軟件危機(jī)出現(xiàn)于60年代末,為了解決軟件危機(jī),人們提出了【】的原理來(lái)設(shè)計(jì)軟件,這就是軟件工程誕生的基礎(chǔ)。
25.以下程序的輸出結(jié)果是【】。
#defineMAX(x,y)(x)>(y)?(x)L:(y)
main()
{inta=5,b=2,C=3,d=3,t;
t=MAX(a+b,c+D)*10;
printf("%d\n",t);
}
26.下面程序的輸出是【】。
main()
{enumem{em1=3,em2=1,em3};
char*aa[]={"AA"m,"BB","CC:,"DD"};
printf("%s%s%s\n,aa[em1],aa[em2],aa[em3]);
}
27.一個(gè)算法的空間復(fù)雜度是指該算法所耗費(fèi)的【】。
28.在樹(shù)形結(jié)構(gòu)中,樹(shù)根結(jié)點(diǎn)沒(méi)有______。
29.算法的工作量大小和實(shí)現(xiàn)算法所需的存儲(chǔ)單元多少分別稱(chēng)為算法的【】。
30."printf("%d\n",strlen("\t\"'\023\xABC\n"));"語(yǔ)句的輸出結(jié)果是______。
31.若a是血型變量,且a的初值為4,則計(jì)算a+=a-=a*a表達(dá)式后a的值為_(kāi)_____。
32.下列程序的輸出結(jié)果是______。
#include<stdio.h>
fun()
{staticinta=0;
a+=3;printf("%d",A);
}
main()
{intcc;
for(cc=1;cc<5;cc++)fun();
printf("\n");
}
33.對(duì)數(shù)據(jù)元素之間的邏輯關(guān)系的描述是()。
34.請(qǐng)?jiān)谝韵鲁绦虻谝恍械南聞澗€處填寫(xiě)適當(dāng)內(nèi)容,使程序能正常運(yùn)行。
#include<stdio.h>
【】(double,double);
main()
{doublex,y;
scanf("%If%If",&x,&y);
printf("%If\n",max(x,y));
}
doublemax(doublea,doubleb)
{return(a>b?a:b);}
35.設(shè)有以下定義和語(yǔ)句,則*(*(p+2)+1)的值為【】。
inta[3][2]={10,20,30,40,50,60},(*p)[2];
p=a;
36.以下程序的輸出結(jié)果是【】。
#include<stdio.h>
voidswap(int*a,int*b)
{int*t;
t=a;a=b;b=t;
}
main()
{inti=3,j=5,*p=&i,*q=&j;
swap(p,q);printf("%d%d\n",*p,*q);
}
37.以下函數(shù)用來(lái)求出兩整數(shù)之和,并通過(guò)形參將結(jié)果傳回,請(qǐng)?zhí)畛渫暾?/p>
voidfunc(intx,inty,【】z)
{*z=x+y;
}
38.若按功能劃分,軟件測(cè)試的方法通常分為白盒測(cè)試方法和【】測(cè)試方法。
39.下面rotate函數(shù)的功能:將n行n列的矩陣A轉(zhuǎn)置為A',請(qǐng)?zhí)羁铡?/p>
#defineN4
voidrotate(inta[][N])
{inti,j,t;
for{i=0;i<N;j++}
for{j=0;【】;j++}
{t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;
}
}
40.指針變量p和數(shù)組a的說(shuō)明如下:
int*a[3]={"aa","bb","cc"},**p;
執(zhí)行語(yǔ)句p=&a[2];后,*p指向的字符串是______。
三、1.選擇題(20題)41.下列敘述中正確的是A.軟件測(cè)試的主要目的是發(fā)現(xiàn)程序中的錯(cuò)誤
B.軟件測(cè)試的主要目的是確定程序中錯(cuò)誤的位置
C.為了提高軟件測(cè)試的效率,最好由程序編制者自己來(lái)完成軟件測(cè)試的工作
D.軟件測(cè)試是證明軟件沒(méi)有錯(cuò)誤
42.若有說(shuō)明語(yǔ)句:inta,b,c,*d=&c;,則能正確從鍵盤(pán)讀入三個(gè)整數(shù)分別賦給變量a、b、d的語(yǔ)句是()
A.scanf("%d%d%d",&a,&b,d);
B.scanf("%d%d%d",&a,&b,&d);
C.scanf("%d%d%d",a,b,d);
D.scanf("%d%d%d",a,b,*d);
43.有以下程序:main(){inta,b,d=25;a=d/10%9;b=a&&(-1);printf("%d,%d\n",a,B);}程序運(yùn)行后的輸出結(jié)果是()。
A.6,1B.2,1C.6,0D.2,0
44.下列程序的輸出結(jié)果是#include"stdio.h”"main(){inti,a=0,b=0;for(i=1;i<10;i++){if(i%2==0){a++;continue;}b++;}printf("a=%d,b=%d",a,b);}
A.a=4,b=4B.a=4,b=5C.a=5,b=4D.a=5,b=5
45.以下程序的輸出結(jié)果是______。main(){inta=3;printf("%\n",(a+=a-=a*a));}
A.{B.1C.2D.-12
46.以下所列的各函數(shù)首部中,正確的是______。
A.voidplay(Var:Integer,varb:Integer)
B.voidplay(inta,b)
C.voidplay(inta,intb)
D.Subplay(aasinteger,basinteger)
47.下列敘述中錯(cuò)誤的是()。
A.在C語(yǔ)言中,函數(shù)中的自動(dòng)變量可以賦初值,每調(diào)用一次賦一次初值
B.在C語(yǔ)言中,在調(diào)用函數(shù)時(shí),實(shí)參和對(duì)應(yīng)形參在類(lèi)型上只需賦值兼容
C.在C語(yǔ)言中,外部變量的隱含類(lèi)型是自動(dòng)存儲(chǔ)類(lèi)別
D.在C語(yǔ)言中,函數(shù)形參的存儲(chǔ)類(lèi)型是自動(dòng)(auto)類(lèi)型的變量
48.有以下程序:voidf(inta[],inti,intj){intt;if(i<j){t=a[i];a[i]=a[j];a[j]=t;f(a,i+1,j-1);}}main(){inti,aa[5]={1,2,3,4,5};f(aa,0,4);for(i=0;i<5;i++)printf("%d,",aa[i]);printf("\n");}執(zhí)行后輸出結(jié)果是()。
A.5,4,3,2,1,B.5,2,3,4,1,C.1,2,3,4,5,D.1,5,4,3,2,
49.已有定義:intx=3,y=4,z=5;,則表達(dá)式!(x+y)+z-1&&y+z/2的值是
A.6B.0C.2D.1
50.下列描述正確的是()。
A.C語(yǔ)句能嵌套定義函數(shù),但不可以嵌套調(diào)用函數(shù)
B.C語(yǔ)句不能嵌套定義函數(shù),也不可以嵌套調(diào)用函數(shù)
C.C語(yǔ)句能嵌套定義函數(shù),也可以嵌套調(diào)用函數(shù)
D.C語(yǔ)句不能嵌套定義函數(shù),但可以嵌套調(diào)用函數(shù)
51.有以下程序
#include<stdio.h>
voidfun(int*s,intn1,intn2)
{inti,j,t;
i=n1;j=n2;
while(i<j){t=s[i];s[i]=s[j];s[j]=t;i++;j--;}
}
main()
{inta[10]={1,2,3,4,5,6,7,8,9,0},k;
fun(a,0,3);fun(a,4,9);fun(a,0,9);
for(k=0;k<l0;k++)printf("%d",a[k]);printf("\n");
}
程序的運(yùn)行結(jié)果是
A.0987654321B.4321098765C.5678901234D.0987651234
52.若w、x、y、z、m均為int型變量,則執(zhí)行下列的語(yǔ)句后m的值是()。w=2,x=3,y=4,z=5;m=(w<x)?w:x;m=(m<z)?m:z;m=(m<y)?m:y;
A.2B.3C.5D.4
53.若以下選項(xiàng)中的變量已正確定義,則正確的賦值語(yǔ)句是()。
A.x1=26.8%3B.1+2=x2C.x3=0x12D.x4=1+2=3
54.若要求從鍵盤(pán)讀入含有窄格字符的字符串,應(yīng)使用函數(shù)()。
A.getc()B.gets()C.getchar()D.scanf()
55.鏈表不具有的特點(diǎn)是()
A.不必事先估計(jì)存儲(chǔ)空間B.可隨機(jī)訪問(wèn)任一元素C.插入刪除不需要移動(dòng)元素D.所需空間與線性表長(zhǎng)度成正比
56.下列工具中為需求分析常用工具的是()。
A.PADB.PFDC.N-SD.DFD
57.對(duì)于基本類(lèi)型機(jī)同的兩個(gè)指針變量之間,不能進(jìn)行的動(dòng)算是()
A.<B.=C.+D.-
58.數(shù)據(jù)結(jié)構(gòu)作為計(jì)算機(jī)的一門(mén)學(xué)科,主要研究數(shù)據(jù)的邏輯結(jié)構(gòu)、對(duì)各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行的運(yùn)算,以及()。A.A.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)B.計(jì)算方法C.數(shù)據(jù)映象D.邏輯存儲(chǔ)
59.兩次運(yùn)行下列的程序,如果從鍵盤(pán)上分別輸入3和1,則輸出結(jié)果是()。main(){intx;scanf("%d",&x);if(x++>2)printf("%d",x);elseprintf("%d\n",x--);}
A.4和2B.4和1C.4和0D.3和1
60.閱讀以下程序及對(duì)程序功能的描述,其中正確的是#include<stdio.h>main(){FILE*in,*out;charch,infile[10],outfile[10];printf(“Entertheinfilename:\n”);scanf(“%s”,infile);printf(“Entertheoutfilename:\n”);scanf(“%s”,outfile);if((in=foen(infile,“r”))==NULL)printf(“cannotopeninfile\n”);exit(0);if((out=fopen(outfile,“w”))==NULL)printf(“cannotopenoutfile\n”);exit(0);while(!feof(in))fputc(fgetc(in),out);fclose(in);fclose(out);A.程序完成將磁盤(pán)文件的信息在屏幕上顯示的功能
B.程序完成將兩個(gè)磁盤(pán)文件合二為一的功能
C.程序完成將一個(gè)磁盤(pán)文件復(fù)制到另一個(gè)磁盤(pán)文件中
D.程序完成將兩個(gè)磁盤(pán)文件合并并在屏幕上輸出
四、選擇題(20題)61.有以下程序:
則以下函數(shù)調(diào)用語(yǔ)句錯(cuò)誤的是()。
A.
B.
C.
D.
62.(47)在結(jié)構(gòu)化方法中,軟件功能分解屬于下列軟件開(kāi)發(fā)中的階段是()
A.詳細(xì)設(shè)計(jì)
B.需求分析
C.總體設(shè)計(jì)
D.編程調(diào)試
63.在JavaScript語(yǔ)言中,要定義局部變量則可以()。
A.由關(guān)鍵字private在函數(shù)內(nèi)定義
B.由關(guān)鍵字private在函數(shù)外定義
C.由var在函數(shù)內(nèi)定義
D.由關(guān)鍵字var在函數(shù)外定義
64.若程序中有宏定義行:
65.已知longi=32768;執(zhí)行語(yǔ)句printf(“%d”,i);屏幕顯示()。
A.-1B.-32768C.1D.32768
66.
67.
68.軟件生命周期中所花費(fèi)用最多的階段是()。
A.詳細(xì)設(shè)計(jì)B.軟件編碼C.軟件測(cè)試D.軟件維護(hù)
69.下列選項(xiàng)中不屬于軟件生命周期開(kāi)發(fā)階段任務(wù)的是()。
A.軟件測(cè)試B.概要設(shè)計(jì)C.軟件維護(hù)D.詳細(xì)設(shè)計(jì)
70.若有定義:floatx=1.5;inta=1,b=3,c--2;,則正確的switch語(yǔ)句是()。
.
71.設(shè)循環(huán)隊(duì)列的存儲(chǔ)空間為Q(1:35),初始狀態(tài)為front=rear=35?,F(xiàn)經(jīng)過(guò)一系列入隊(duì)與退隊(duì)運(yùn)算后,front=15,rear=15,則循環(huán)隊(duì)列中的元素個(gè)數(shù)為()。
A.20B.0或35C.15D.16
72.
73.
74.若a是數(shù)值類(lèi)型,則邏輯表達(dá)式(a==1)Il(a!=1)的值是()。
A.1B.0C.2D.不知道a的值,不能確定
75.現(xiàn)有定義inta;doubleb;floatc;chark;,則表達(dá)式a/b+C—k值的類(lèi)型為:()。
A.intB.doubleC.floatD.char
76.以下定義數(shù)組的語(yǔ)句中錯(cuò)誤的是()。
77.下列敘述中正確的是()。
A.循環(huán)鏈表是非線性結(jié)構(gòu)
B.雙向鏈表是非線性結(jié)構(gòu)
C.只有一個(gè)根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是線性結(jié)構(gòu)
D.有一個(gè)以上根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是非線性結(jié)構(gòu)
78.下列敘述中正確的是()。
A.break語(yǔ)句只能用于switch語(yǔ)句體中
B.continue語(yǔ)句的作用是使程序的執(zhí)行流程跳出包含它的所有循環(huán)
C.break語(yǔ)句只能用在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)
D.在循環(huán)體內(nèi)使用break語(yǔ)句和continue語(yǔ)句的作用相同
79.
80.有以下程序:
voidmain()
{inta=15,b=21,m=0;
switch(a%3)
{case0:m++;break;
case1:m++;
switch(b%2)
{defaule:m++;
case0:m++;break;
}
}
printf("%d\n",m);
}
程序運(yùn)行后的輸出結(jié)果是()。
A.1B.2C.3D.4
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)fun()的功能是按以下遞歸公式求函數(shù)值。例如,當(dāng)給n輸入3時(shí),函數(shù)值為60;當(dāng)給n輸入6時(shí),函數(shù)值為480。請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫(xiě)函數(shù)proc,該函數(shù)的功能是:將M行N列的二維數(shù)組中的數(shù)據(jù),按行的順序依次放到一維數(shù)組中,一維數(shù)組中數(shù)據(jù)的個(gè)數(shù)存放在形參n所指的存儲(chǔ)單元中。例如,若二維數(shù)組中的數(shù)據(jù)為132333431424344415253545則一維數(shù)組中的內(nèi)容應(yīng)該是132333431424344415253545。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:#include<stdio.h>voidproc(int(*s)[103,int*b,int*n,intrain.intnn){ }voidmain{intarr[10][10]={{33,33,33,33),{44,44,44,44},{55,55,55,55}),i,j;inta[l00]={o),n=o;printf("Thematrix:\n");for(i=0;i<3;i++){for(j=0;j<4;j++)printf("%3d",arr[i][j]):printf("\n");}proc(arr,a,&n,3,4):printf("TheAarray:\n");for(i=0;i<n;i++)printf("%3d",a[i]):printf("\n\n");}
參考答案
1.D本題考查如何引用數(shù)組元素的地址。選項(xiàng)A)中,p5引用的是af51的地址,而數(shù)組a只有5個(gè)元素,即a[0]、a[1]、a[2]、a[3]、a[4],所以引用錯(cuò)誤;選項(xiàng)B)中,*a1指的是將數(shù)組a的第一個(gè)元素加1;選項(xiàng)C)中,這種引用方式錯(cuò)誤;選項(xiàng)D)中,&a[0]引用的是數(shù)組的首地址。
2.D
3.C
4.D
5.D本題考查邏輯運(yùn)算符的使用。當(dāng)“&&”的兩個(gè)運(yùn)算對(duì)象都是邏輯1時(shí),表達(dá)式返回值才是1;“||”的兩個(gè)運(yùn)算對(duì)象至少有一個(gè)是邏輯1時(shí),表達(dá)式返回值也是1,x<y為1,!z為0,1&&0為1,0||為1,因此,!1為0。
6.A本題主要考查軟件測(cè)試的基本知識(shí)。軟件測(cè)試的步驟可分為單元測(cè)試(模塊測(cè)試)、集成測(cè)試、確認(rèn)測(cè)試和系統(tǒng)測(cè)試。
(1)單元測(cè)試是針對(duì)每個(gè)模塊進(jìn)行的測(cè)試,它可從程序的內(nèi)部結(jié)構(gòu)出發(fā)設(shè)計(jì)測(cè)試用例,多個(gè)模塊可以平行、對(duì)立地測(cè)試。單元測(cè)試主要用于發(fā)現(xiàn)詳細(xì)設(shè)計(jì)和編程時(shí)犯下的錯(cuò)誤。單元測(cè)試多采用白盒測(cè)試,輔之以黑盒測(cè)試。
(2)集成測(cè)試是在單元測(cè)試的基礎(chǔ)上,根據(jù)模塊結(jié)構(gòu)圖將各個(gè)模塊連接起來(lái),必須精心計(jì)劃,應(yīng)提交集成測(cè)試計(jì)劃、集成測(cè)試規(guī)格說(shuō)明和集成測(cè)試分析報(bào)告。主要目標(biāo)是發(fā)現(xiàn)與接口有關(guān)的問(wèn)題。集成測(cè)試可以發(fā)現(xiàn)概要設(shè)計(jì)時(shí)犯的錯(cuò)誤。
(3)確認(rèn)測(cè)試用于驗(yàn)證軟件的功能和性能及其他特性是否與用戶的要求一致。確認(rèn)測(cè)試主要用于發(fā)現(xiàn)需求分析時(shí)犯下的錯(cuò)誤,一般使用黑盒法測(cè)試,以表明軟件符合需求說(shuō)明書(shū)的要求,應(yīng)該仔細(xì)設(shè)計(jì)測(cè)試用例和測(cè)試過(guò)程。確認(rèn)測(cè)試必須有用戶參加,或以用戶為主,用戶應(yīng)參與設(shè)計(jì)測(cè)試用例,通常情況下,主要使用生產(chǎn)中的實(shí)際數(shù)據(jù)進(jìn)行測(cè)試,測(cè)試數(shù)據(jù)通過(guò)用戶接口輸入。
(4)系統(tǒng)測(cè)試是將已經(jīng)通過(guò)確認(rèn)測(cè)試的軟件,作為整個(gè)計(jì)算機(jī)系統(tǒng)的元素與計(jì)算機(jī)硬件、外設(shè)和網(wǎng)絡(luò)等其他因素結(jié)合在一起,進(jìn)行一系列的組裝測(cè)試和確認(rèn)測(cè)試。系統(tǒng)測(cè)試的目的是通過(guò)與系統(tǒng)的需求定義做比較,發(fā)現(xiàn)軟件與系統(tǒng)的定義不符合的地方。系統(tǒng)測(cè)試可以發(fā)現(xiàn)問(wèn)題定義時(shí)犯下的錯(cuò)誤。
7.CChar類(lèi)型數(shù)據(jù)占1個(gè)字節(jié)。
8.A解析:C語(yǔ)言中的函數(shù)可以進(jìn)行遞歸調(diào)用,但不能在函數(shù)中定義函數(shù),即函數(shù)不能嵌套定義。函數(shù)可以沒(méi)有返回值,若有返回值,則返回值類(lèi)型必須確定。
9.A
10.A題干中,函數(shù)fun接收一個(gè)整型指針參數(shù),返回值為int類(lèi)型。main函數(shù)首先定義一個(gè)函數(shù)指針a,將函數(shù)fun的地址賦給a,所以a是指向函數(shù)fun的指針,可以通過(guò)a調(diào)用函數(shù)fun。選項(xiàng)A中,通過(guò)a調(diào)用函數(shù)fun,可以使用(*a),接收的參數(shù)是整型變量c的地址,正確;選項(xiàng)B中,參數(shù)x是一個(gè)數(shù)組,錯(cuò)誤;選項(xiàng)C中,調(diào)用b函數(shù),由于程序沒(méi)有給出函數(shù)b的定義,因此這里調(diào)用b是錯(cuò)誤的,而且函數(shù)b是沒(méi)有參數(shù)的,這里調(diào)用b的時(shí)候傳入了參數(shù),所以C錯(cuò)誤;選項(xiàng)D中,由于b是一個(gè)函數(shù),不能作為整型指針變量傳給fun函數(shù),因此D錯(cuò)誤。本題答案為A選項(xiàng)。
11.A
12.B解析:在C語(yǔ)言中,合法的標(biāo)識(shí)符由字母,數(shù)字和下劃線組成(故選項(xiàng)A不正確),并且第一個(gè)字符必須為字母或者下劃線(故選項(xiàng)B和選項(xiàng)D不正確).所以,B選項(xiàng)為所選.
13.B解析:棧是限定在二端進(jìn)行插入與刪除的線性表。在棧中,允許插入與刪除的一端稱(chēng)為棧頂,而不允許插入與刪除的另一端稱(chēng)為棧底。棧頂元素總是最后被插入的元素,從而也是最先能被刪除的元素;棧底元素總是最先被插入的元素,從而也是最后才能被刪除的元素,即棧是按照“先進(jìn)后出”或“后進(jìn)先出”的原則組織數(shù)據(jù)的。注意:隊(duì)列組織數(shù)據(jù)的原則是“先進(jìn)先出”或“后進(jìn)后出”。注意:數(shù)據(jù)結(jié)構(gòu)中,棧和隊(duì)列組織數(shù)據(jù)的原則。
14.D
15.C
16.C
17.A
\n本題考查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)。
18.C冒泡排序的基本思想是:將相鄰的兩個(gè)元素進(jìn)行比較,如果反序,則交換;對(duì)于一個(gè)待排序的序列,經(jīng)一趟排序后,最大值的元素移動(dòng)到最后的位置,其他值較大的元素也向最終位置移動(dòng),此過(guò)程稱(chēng)為一趟冒泡。對(duì)于有n個(gè)數(shù)據(jù)的序列,共需n-1趟排序,第i趟對(duì)從l到n-i個(gè)數(shù)據(jù)進(jìn)行比較、交換。冒泡排序的最壞情況是待排序序列逆序,第l趟比較n-1次,第2趟比較n-2次。依此類(lèi)推,最后趟比較1次,一共進(jìn)行n-l趟排序。因此,冒泡排序在最壞情況下的比較次數(shù)是(n-1)+(n-2)+…+l,結(jié)果為n(n-1)/2。本題的正確答案是選項(xiàng)C。
19.C解析:p=&a[3]將指針指向數(shù)組a的第4個(gè)元素,p[5]則是數(shù)組a的第9個(gè)元素,而a[8]=9,所以b=9。
20.D解析:C語(yǔ)言中++運(yùn)算符的對(duì)象可以是整型、實(shí)型和字符型,但不可是常量,本題中D為常量。
21.s[n]!='\0';或s[n];nk=sub(a);s[n]!='\\0';或s[n];\r\nn\r\nk=sub(a);解析:函數(shù)sub()通過(guò)for循環(huán)計(jì)算字符串的長(zhǎng)度,當(dāng)字符串沒(méi)有結(jié)束時(shí)循環(huán),因此判斷循環(huán)與否的條件是看字符串是否結(jié)束。故第1空應(yīng)該填寫(xiě)s[n];或其他等價(jià)表達(dá)式。循環(huán)結(jié)束返回字符串長(zhǎng)度值,循環(huán)變量n中累計(jì)了循環(huán)的次數(shù)即字符串的長(zhǎng)度,故第2空應(yīng)該填n。主函數(shù)中的空白處應(yīng)該是一條調(diào)用函數(shù)sub()的語(yǔ)句,將字符串的首地址作為實(shí)參傳遞給形參,并將返回值賦值給變量k。故第3空應(yīng)該填k=sub(a);。
22.1+a1-a1+a,1-a解析:考查條件運(yùn)算符的使用。因?yàn)轭}目中求的是1+|a|的值,即1和a的絕對(duì)值之和,所以根據(jù)數(shù)學(xué)中求絕對(duì)值的規(guī)則;當(dāng)a>=0時(shí),絕對(duì)值取本身,當(dāng)a<0時(shí),絕對(duì)值取相反數(shù),再結(jié)合條件運(yùn)算符的計(jì)算規(guī)則,可得到本題的答案為a>=0。
23.1010解析:整型指針最初被賦的值是數(shù)組arr的頭指針,即指向數(shù)組的第一個(gè)元素30,p++后,指針指向數(shù)組的下一個(gè)元素,即*p=arr[1]=25,在執(zhí)行*(p+3)時(shí),則相當(dāng)于a[1+3],即10。因此,輸出應(yīng)為100。
24.軟件工程學(xué)軟件工程學(xué)
25.77解析:在C語(yǔ)言中,宏定義是直接替換的,所以在對(duì)表達(dá)式MAX(a+b,c+d)*10進(jìn)行替換后,表達(dá)式變?yōu)?a+b)>(c+d)?(a+b):(c+d)*10。
在這個(gè)條件表達(dá)式中,(a+b)>(c+d)為真,所以用(a+b)的值為整個(gè)表達(dá)式的值(否則用(c+d)*10的值作為整個(gè)表達(dá)式的值),而(a+b)的值為7。所以整個(gè)表達(dá)式的值為7。
26.DDBBCCDDBBCC解析:C語(yǔ)言對(duì)枚舉的定義規(guī)定:在枚舉中聲明的各個(gè)枚舉元素,如果沒(méi)有明確指出某個(gè)枚舉元素的值,它的上一個(gè)元素存在并有明確值的情況下,這個(gè)枚舉元素的值為其上一個(gè)元素的值+1。在本題中,沒(méi)有明確說(shuō)明枚舉元素em3的值,則em3=em2+1=1+1=2,進(jìn)而可知,在printf()打印函數(shù)中,要打印的數(shù)組元素是aa[3]、aa[1]、aa[2],因此最后的打印結(jié)果應(yīng)當(dāng)為“DDBBCC”。
27.存儲(chǔ)空間存儲(chǔ)空間解析:空間復(fù)雜度是指算法在執(zhí)行過(guò)程中臨時(shí)占用的存儲(chǔ)空間大小,包括:①算法本身所占用的存儲(chǔ)空間;②算法的輸入輸出數(shù)據(jù)所占用的存儲(chǔ)空間;③算法在運(yùn)行過(guò)程中臨時(shí)占用的存儲(chǔ)空間。
28.前件前件
29.時(shí)間復(fù)雜度和空間復(fù)雜度時(shí)間復(fù)雜度和空間復(fù)雜度
30.66解析:strlen()函數(shù)的作用是計(jì)算字符串的長(zhǎng)度并作為函數(shù)的返回值,這里的長(zhǎng)度不包括串尾的結(jié)束標(biāo)志\'\\0\'。
\'\\t\'是轉(zhuǎn)義字符,代表橫向跳若干格:\'\\\''是轉(zhuǎn)義字符,代表雙引號(hào):\'\\023\'只代表一個(gè)字符,而不管轉(zhuǎn)義字符后面有幾個(gè)字符;\'\\xAB\'是以兩位十六進(jìn)制數(shù)AB表示的ASCII碼字符,只代表一個(gè)字符;\'\\n\'是轉(zhuǎn)義字符,代表回車(chē)換行。
5個(gè)字符常量各代表一個(gè)字符,再加上字母C,所以返回的長(zhǎng)度是6。
31.-24-24解析:本題考查賦值運(yùn)算符a+=b等價(jià)于a=a+b;a-=a*a等價(jià)于a-a-a*a=4-4*4=-12:a+=a,即a=a+a=-24。
32.3691236912解析:本題考查最基本的for循環(huán):for(cc=1;cc<5;cc++)規(guī)定循環(huán)次數(shù)為4次,每次a+=3即每次a的值增3,但因?yàn)閒un函數(shù)中變量a為static類(lèi)型,所以每次調(diào)用完于函數(shù)之后,變量a所做的改變都要保存。
33.數(shù)據(jù)的邏輯結(jié)構(gòu)數(shù)據(jù)的邏輯結(jié)構(gòu)解析:數(shù)據(jù)的邏輯結(jié)構(gòu)是對(duì)數(shù)據(jù)元素之間的邏輯關(guān)系的描述,它可以用一個(gè)數(shù)據(jù)元素的集合和定義在此集合中的若干關(guān)系來(lái)表示。
34.doublemax或externdoublemaxdoublemax或externdoublemax解析:main函數(shù)中調(diào)用了一個(gè)max函數(shù),而max函數(shù)是在調(diào)用之后定義的,所以要求填空的內(nèi)容應(yīng)該是對(duì)函數(shù)進(jìn)行聲明的語(yǔ)句。由max函數(shù)的定義可知此函數(shù)是double型的,因此空格處應(yīng)該填doublemax或externdoublemax。
35.6060解析:程序中定義a是一個(gè)3行2列的二維數(shù)組,p是指向兩個(gè)元素的一維數(shù)組指針,并讓p指向二維數(shù)組a的首行。則代碼*(*(p+2)+1)中的p+2指向二維數(shù)組a的第三行a[2],*(p+2)指向a[2[]0],*(p+2)+1指向a[2][1],*(*(p+2)+1)是引用a[2][1],其值是60。
36.3535解析:函數(shù)swap(int*a,int*b)的功能是實(shí)現(xiàn)*a和*b中兩個(gè)數(shù)據(jù)的交換,在主函數(shù)中調(diào)用swap(p,q)后,形參指針變量a和b分別指向i和j,在swap(int*a,int*b)執(zhí)行完后,指針變量a和b分別指向j和i,而指針變量p,q所指向變量的值沒(méi)有發(fā)生變化,所以輸出結(jié)果為35。
37.int*int*解析:從函數(shù)體中可看出,2是一個(gè)指向整型的指針,該函數(shù)的形參z是傳地址調(diào)用。
38.黑盒軟件測(cè)試的方法有三種:動(dòng)態(tài)測(cè)試、靜態(tài)測(cè)試和正確性證明。設(shè)計(jì)測(cè)試實(shí)例的方法一般有兩類(lèi):黑盒測(cè)試法和白盒測(cè)試法。在使用黑盒法設(shè)計(jì)測(cè)試實(shí)例時(shí),測(cè)試人員將程序看成一個(gè)“黑盒”,即不關(guān)心程序內(nèi)部是如何實(shí)現(xiàn)的,只是檢查程序是否符合它的“功能說(shuō)明”,所以使用黑盒法設(shè)計(jì)的測(cè)試用例完全是根據(jù)程序的功能說(shuō)明來(lái)設(shè)計(jì)的。
39.j<=ij<=i解析:由題意可知第一個(gè)空應(yīng)填入j<=i,第二個(gè)空應(yīng)填入a[i][j]=a[j][i]。
40.cc。cc。解析:a是指針數(shù)組,每個(gè)數(shù)組元素存放的是字符數(shù)據(jù)的地址,數(shù)組a的3個(gè)元素分別指向字符串常量'aa'、'bb'和'cc',指針p賦予數(shù)組元素a[2]的值,即指向第3個(gè)字符串。
41.A解析:本題考查軟件工程中測(cè)試的目的和方法。僅就軟件測(cè)試而言,它的目的是發(fā)現(xiàn)軟件的中的錯(cuò)誤,但是,發(fā)現(xiàn)錯(cuò)誤并不是最終目的,最終目的是通過(guò)測(cè)試發(fā)現(xiàn)錯(cuò)誤之后還必須診斷并改正錯(cuò)誤,這就是調(diào)試的目的。
由于測(cè)試的目標(biāo)是暴露程序中的錯(cuò)誤,從心理學(xué)角度看,由程序的編寫(xiě)者自己進(jìn)行測(cè)試是不恰當(dāng)?shù)?。因此,在軟件測(cè)試階段通常由其他人員組成測(cè)試小組來(lái)完成測(cè)試工作。因此,經(jīng)過(guò)上述分析可知選項(xiàng)A的說(shuō)法是正確的,而選項(xiàng)B、C、D的說(shuō)法是錯(cuò)誤的。
42.A
43.B解析:本題的考點(diǎn)是關(guān)于C語(yǔ)言的整數(shù)運(yùn)算和邏輯運(yùn)算。由于d初值為25,“a=d/10%9中d/10”整除結(jié)果是2,再用9求余結(jié)果仍是2,因此a的值為2。而對(duì)于“b=a&&(-1)”,由于a值為2不為0,-1也不為0,因此“a&&(-1)”結(jié)果為真,b值是1。輸出結(jié)果應(yīng)該是2、1。正確選項(xiàng)是B。
44.B解析:continue語(yǔ)句的作用是跳過(guò)本次循環(huán)體中余下尚未執(zhí)行的語(yǔ)句,接著再一次進(jìn)行循環(huán)條件的判定。當(dāng)能被2整除時(shí),a就會(huì)增1,之后執(zhí)行continue語(yǔ)句,直接執(zhí)行到for循環(huán)體的結(jié)尾,進(jìn)行i++,判斷循環(huán)條件。
45.D解析:賦值運(yùn)算符的結(jié)合方向是自右至左,所以表達(dá)式a+a-=a*a先運(yùn)算最右邊的a*a得9,再運(yùn)算a=a-9,即a=3-9,所以此時(shí)a的值由3變成了-6,最后運(yùn)算a=a+(-6),即a-(-6)+(-6)=-12。
46.C解析:C語(yǔ)言中函數(shù)首部中的各參數(shù)必須分開(kāi)單獨(dú)定義,因此選項(xiàng)C才是正確的。而選項(xiàng)A和D是其他語(yǔ)言的函數(shù)定義方式。
47.C解析:外部變量在編譯時(shí)由系統(tǒng)分配永久的內(nèi)存空間,所以外部變量的類(lèi)型不是自動(dòng)存儲(chǔ)類(lèi)別。
48.A解析:在C語(yǔ)言中所謂函數(shù)的遞歸是指在調(diào)用一個(gè)函數(shù)的過(guò)程中,又出現(xiàn)了直接或間接調(diào)用該函數(shù)本身,直接調(diào)用該函數(shù)本身的稱(chēng)為函數(shù)遞歸,而間接調(diào)用該函數(shù)稱(chēng)為函數(shù)的間接遞歸調(diào)用。由程序可以看出函數(shù)f(a,i,j)為一遞歸函數(shù),其功能是當(dāng)i<j時(shí),將數(shù)組中的元素a[i]和a[j]交換,然后再調(diào)用函數(shù)f(a,i+1,j-1),將數(shù)組中a[i+1]和a[j--]交換,這樣一直遞歸到數(shù)組下標(biāo)i=j,可見(jiàn)該遞歸函數(shù)的作用是使數(shù)組中首尾元素依次互換。主函數(shù)中定義了一個(gè)長(zhǎng)度為5的數(shù)組aa并初始化,然后調(diào)用f(a,0,4),將數(shù)組a中的元素依次互換,故最后for循環(huán)輸出的數(shù)組aa中各元素的值為5、4、3、2、1,所以,4個(gè)選項(xiàng)中選項(xiàng)A符合題意。
49.D解析:本題考查的知識(shí)點(diǎn)是!和&&的運(yùn)算規(guī)則.本題中,&&左邊的表達(dá)式!(x+y)為!(3+7),結(jié)果為假,即為0。再加上2,然后減一,相當(dāng)于0+5-1=4。左邊等于4,&&右邊的表達(dá)式y(tǒng)+z/2相當(dāng)于4+5/2為6,所以整個(gè)表達(dá)式相當(dāng)于4&&6為真,即為1,所以選項(xiàng)D正確。
50.D解析:C語(yǔ)句不能嵌套定義函數(shù),但可以嵌套調(diào)用函數(shù)。
51.C解析:函數(shù)fun(int*s,intn1,intn2)的功能是對(duì)數(shù)組s中的元素進(jìn)行首尾互相調(diào)換。所以在主函數(shù)中,當(dāng)fun(a,0,3)執(zhí)行完后,數(shù)組a[12]={4,3,2,1,5,6,7,8,9,0};再執(zhí)行fun(a,4,9),數(shù)組a[12]={4,3,2,1,0,9,8,7,6,5};再執(zhí)行fun(a,0,9)后,數(shù)組a[12]={5,6,7,8,9,0,1,2,3,4}。
52.A解析:條件表達(dá)式“a?b:c”的含義是:當(dāng)a為真時(shí),其值等于表達(dá)式b的值;當(dāng)a為假時(shí),其值等于表達(dá)式c的值。
表達(dá)式運(yùn)算過(guò)程:第1個(gè)表達(dá)式:w=2<x=3為真,所以返回w的值,即m=w=2;第2個(gè)表達(dá)式:m=2<z=5為真,所以返回m的值,即m=2;第3個(gè)表達(dá)式:w=2<y=4為真,所以返回m的值,即m=2。
53.C解析:賦值的一般形式為:變量名:表達(dá)式;,賦值的方向?yàn)橛捎蚁蜃螅磳ⅲ河覀?cè)表達(dá)式的值賦給:左側(cè)的變量,執(zhí)行步驟是先計(jì)算再賦值。選項(xiàng)A中運(yùn)算符%的運(yùn)算對(duì)象必須為整數(shù),而選項(xiàng)A中26.8不為整數(shù),故選項(xiàng)A不正確;選項(xiàng)B將一個(gè)變量賦值給一個(gè)常量,這在C語(yǔ)言中是不允許的,故選項(xiàng)B不正確;選項(xiàng)D中也是將一個(gè)常量3賦值給一個(gè)常量,故選項(xiàng)D不正確;所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。
54.B解析:scanf()語(yǔ)句中用“空格”間隔不同的字符串,空格將被全部忽略掉,所以用scanf()函數(shù)不能輸入空格;getchar()函數(shù)用于輸入字符,其調(diào)用形式為:ch=getchar(),getchar()函數(shù)從終端讀入一個(gè)字符作為函數(shù)值,把讀入的字符賦給變量ch。在輸入時(shí),空格、回車(chē)符都將作為字符讀入,而且只有在用戶敲入Enter鍵時(shí),讀入才開(kāi)始執(zhí)行。gets()函數(shù)的調(diào)用形式為:gets(str_adr),其中str_adr是存放輸入字符串的起始地址,可以是字符數(shù)組名、字符數(shù)組元素的地址或字符指針變量。ge
55.B解析:鏈表采用的是鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),它克服了順序存儲(chǔ)結(jié)構(gòu)的缺點(diǎn):它的結(jié)點(diǎn)空間可以動(dòng)態(tài)申請(qǐng)和釋放;它的數(shù)據(jù)元素的邏輯次序靠結(jié)點(diǎn)的指針來(lái)指示,不需要移動(dòng)數(shù)據(jù)元素。但是鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)也有不足之處:①每個(gè)結(jié)點(diǎn)中的指針域需額外占用存儲(chǔ)空間;②鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)是一種非隨機(jī)存儲(chǔ)結(jié)構(gòu)。
56.D解析:需求分析常用的工具有數(shù)據(jù)流圖(DFD)、數(shù)據(jù)字典(DD)、判定樹(shù)和判定表。PAD(問(wèn)題分析圖)、PFD(程序流程圖)、N-S(盒式圖)都是詳細(xì)設(shè)計(jì)的常用工具,不是需求分析的工具。
57.C
58.A解析:數(shù)據(jù)結(jié)構(gòu)作為計(jì)算機(jī)的一門(mén)學(xué)科,主要研究和討論以下三個(gè)方面的問(wèn)題:①數(shù)據(jù)集合中各數(shù)據(jù)元素之間所固有的邏輯關(guān)系,即數(shù)據(jù)的邏輯結(jié)構(gòu);②在對(duì)數(shù)據(jù)進(jìn)行處理時(shí),各數(shù)據(jù)元素在計(jì)算機(jī)中的存儲(chǔ)關(guān)系,即數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu);③對(duì)各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行的運(yùn)算。
59.A解析:本題考查ifelse語(yǔ)句。首先scanf函數(shù)通過(guò)鍵盤(pán)讀入x的值。當(dāng)x=3時(shí),第一個(gè)if語(yǔ)句,先判斷條件,取x的值3和2比較,然后將x的值加1,發(fā)現(xiàn)條件成立,執(zhí)行下列的printf語(yǔ)句,輸出x的值4。當(dāng)x=1時(shí),第一個(gè)if語(yǔ)句,先判斷條件,取x的值1和2比較,然后將x的值加1(x的值變?yōu)?),發(fā)現(xiàn)條件不成立,執(zhí)行下列的else語(yǔ)句,先輸出x的值2,再將x的值減1。
60.C
61.C在語(yǔ)句”k=*f(a,b)”中,由于””的優(yōu)先級(jí)高于”*”,所以”*f(a,b);”表示其返回類(lèi)型為指針的帶有兩個(gè)整型參數(shù)的函數(shù)。
62.C注:總體設(shè)計(jì)也就是概要設(shè)計(jì)
63.C
64.A常量定義在編譯時(shí)替換,所以答案選擇A)。
65.D整型的數(shù)據(jù)占4個(gè)字節(jié),即-2147483648~2147483648,32768在其表達(dá)的范圍之內(nèi),所以原樣輸出。
66.B
67.B
68.D解析:軟件生命周期分為軟件定義、軟件開(kāi)發(fā)及軟件運(yùn)行維護(hù)3個(gè)階段。本題中,詳細(xì)設(shè)計(jì)、軟件編碼和軟件測(cè)試都屬于軟什開(kāi)發(fā)階段;維護(hù)是軟件生命周期的最后一個(gè)階段,也是持續(xù)時(shí)間最長(zhǎng),花費(fèi)代價(jià)最大的一個(gè)階段.軟件工程學(xué)的一個(gè)目的就是提高軟件的可維護(hù)性,降低維護(hù)的代價(jià)。
69.C解析:軟件生命周期由軟件定義、軟件開(kāi)發(fā)和軟件維護(hù)三個(gè)時(shí)期組成,每個(gè)時(shí)期又進(jìn)一步劃分為若干個(gè)階段。軟件定義時(shí)期的基本任務(wù)是確定軟件系統(tǒng)的工程需求。軟件定義可分為軟件系統(tǒng)的可行性研究和需求分析兩個(gè)階段。軟件開(kāi)發(fā)時(shí)期是具體設(shè)計(jì)和實(shí)現(xiàn)在前一時(shí)期定義的軟件,它通常由下面五個(gè)階段組成:概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編寫(xiě)代碼、組裝測(cè)試和確認(rèn)測(cè)試。軟件維護(hù)時(shí)期的主要任務(wù)是使軟件持久地滿足用戶的需要。即當(dāng)軟件在使用過(guò)程中發(fā)現(xiàn)錯(cuò)誤時(shí)應(yīng)加以改正;當(dāng)環(huán)境改變時(shí)應(yīng)該修改軟件,以適應(yīng)新的環(huán)境;當(dāng)用戶有新要求時(shí)應(yīng)該及時(shí)改進(jìn)軟件,以滿足用戶的新要求。根據(jù)上述對(duì)軟件生命周期的介紹,可知選項(xiàng)C中的軟件維護(hù)不是軟件生命周期開(kāi)發(fā)階段的任務(wù)。因此,本題的正確答案是C。
70.AB)選項(xiàng)的“switch((int)x);”語(yǔ)句中不應(yīng)該有最后的分號(hào)。switch(exprl)中1雛Jexprl
能用浮點(diǎn)類(lèi)型或lon9類(lèi)型,也不能為一個(gè)字符串,因此c)錯(cuò)誤。case后面只能是常量表達(dá)式,因此D)錯(cuò)誤。
71.BQ(1:35)則隊(duì)列的存儲(chǔ)空間為35;對(duì)空條件:front=rear(初始化時(shí):front=rear),隊(duì)滿時(shí):(rear+1)%n==front,n為隊(duì)列長(zhǎng)度(所用數(shù)組大小),因此當(dāng)執(zhí)行一系列的出隊(duì)與入隊(duì)操作,front=rear.則隊(duì)列要么為空,要么為滿。
72.D
73.D
74.A邏輯或”I|”要求只要兩邊的運(yùn)算對(duì)象有一個(gè)非零,結(jié)果就為真。雖然不知道a的值,但是若a為1,則左邊運(yùn)算對(duì)象為1;若a的值不是1,則右邊運(yùn)算對(duì)象的值為1,所以總能保證一邊非零,所以結(jié)果為真,即1。
75.B雙目運(yùn)算中兩邊運(yùn)算量類(lèi)型轉(zhuǎn)換規(guī)律:
運(yùn)算數(shù)1\t\t\t\r\n\t\t\t\t\t運(yùn)算數(shù)2\t\t\t\t\r\n\t\t\t\t\t轉(zhuǎn)換結(jié)果類(lèi)型\t\t\t\t\r\n\t\t\t\t\t短整型\t\t\t\t\r\n\t\t\t\t\t長(zhǎng)整型\t\t\t\t\r\n\t\t\t\t\t短整型一>長(zhǎng)整型\t\t\t\t\r\n\t\t\t\t\t整型\t\t\t\t\r\n\t\t\t\t\t長(zhǎng)整型\t\t\t\t\r\n\t\t\t\t\t整型一>長(zhǎng)整型\t\t\t\t\r\n\t\t\t\t\t字符型\t\t\t\t\r\n\t\t\t\t\t整型\t\t\t\t\r\n\t\t\t\t\t字符型一>整型\t\t\t\t\r\n\t\t\t\t\t有符號(hào)整型\t\t\t\t\r\n\t\t\t\t\t無(wú)符號(hào)整型\t\t\t\t\r\n\t\t\t\t\t有符號(hào)整型一>無(wú)符號(hào)整型\t\t\t\t\r\n\t\t\t\t\t整型\t\t\t\t\r\n\t\t\t\t\t浮點(diǎn)型\t\t\t\t\r\n\t\t\t\t\t整型一>浮點(diǎn)型\t\t\t\t\r\n\t在a/b的時(shí)候,a,b的類(lèi)型不一致,根據(jù)類(lèi)型轉(zhuǎn)換規(guī)則,把整型轉(zhuǎn)換成double類(lèi)型,之后的加、減類(lèi)似。轉(zhuǎn)化規(guī)則為char,short一>int->unsigned->long->double←float。
76.AA)選項(xiàng)中定義的數(shù)組為2行4列,而賦值時(shí)賦成了3行,因此出錯(cuò)。
77.C線性結(jié)構(gòu)指的是數(shù)據(jù)元素之間存在著“一對(duì)一”線性關(guān)系的數(shù)據(jù)結(jié)構(gòu),這樣的結(jié)構(gòu)中只有一個(gè)根節(jié)點(diǎn),如循環(huán)鏈表和雙向鏈表;非線性結(jié)構(gòu)指的是數(shù)據(jù)元素之間存在著“一對(duì)多”非線性關(guān)系的數(shù)據(jù)結(jié)構(gòu),這樣的結(jié)構(gòu)中可能有一個(gè)根節(jié)點(diǎn)(如樹(shù)形結(jié)構(gòu)),也可能有多個(gè)根節(jié)點(diǎn)(如網(wǎng)狀結(jié)構(gòu))。
78.C解析:只能在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)使用break語(yǔ)句。當(dāng)break出現(xiàn)在循環(huán)體的switch語(yǔ)句體內(nèi)時(shí),其作用只是跳出該switch語(yǔ)句體,并不能中止循環(huán)體的執(zhí)行。若想強(qiáng)行中止循環(huán)體的執(zhí)行,可以在循環(huán)體中,但并不在switch語(yǔ)句中設(shè)置break語(yǔ)句,滿足某種條件,則跳出本層循環(huán)體。
79.A
80.Aa=15,a%3=0,執(zhí)行case0語(yǔ)句標(biāo)號(hào),m++編程1,break;退出結(jié)構(gòu),所以m的值為1.
81.(1)錯(cuò)誤:fun(intn);
正確:fun(intn)
(2)錯(cuò)誤:if(n=1)
正確:if(n==1)
【解析】根據(jù)C語(yǔ)言的語(yǔ)法規(guī)則,函數(shù)定義之后是不加分號(hào)的。由整個(gè)程序看,函數(shù)fun()是函數(shù)定義。因此“fun(intn);”應(yīng)改為“fun(intn)”;表達(dá)式n-1表示的是將1賦給變量n,顯’然是不對(duì)的。這里應(yīng)該判斷變量n是否等于l,因此“if(n=1)”應(yīng)改為“if(n==1)”。
82.voidproc(int(*s)[10],int*b,int*n,intmm,intnn){inti,j,k=0;for(i=0;i<mm;i++)//i是表示其行的下標(biāo)for(j=0;j<nn;j++)//j是表示其列的下標(biāo)b[k++]=s[i][j];//把其放到b的一維數(shù)組中*n=k;//把b數(shù)組的長(zhǎng)度通過(guò)形參n傳回到主函數(shù)中}【解析】要將M行N列的二維數(shù)組中的數(shù)據(jù),按行的順序依次放到一維數(shù)組中,可以通過(guò)首先行循環(huán),然后列循環(huán)取出二維數(shù)組中的每一個(gè)元素,并將其放入一維數(shù)組中。最后,將一維數(shù)組的長(zhǎng)度通過(guò)形參返回到主函數(shù)當(dāng)中。</y&&!z||1>2021-2022年河南省商丘市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.若有以下定義,則對(duì)a數(shù)組元素地址的正確引用是()。
inta[5],*p=a;A.A.p5B.*a1C.&a1D.&a[0]
2.
3.
4.
5.設(shè)x、y和z是int型變量,且x=4,y=6,z=8,則下列表達(dá)式中值為0的是()。
A.x&&yB.x<=yC.x||++y&&y-zD.!(x<y&&!z||1
6.檢查軟件產(chǎn)品是否符合需求定義的過(guò)程稱(chēng)為_(kāi)_____。
A.確認(rèn)測(cè)試B.集成測(cè)試C.驗(yàn)證測(cè)試D.驗(yàn)收測(cè)試
7.C語(yǔ)言中char類(lèi)型數(shù)據(jù)占字節(jié)數(shù)為()。
A.3B.4C.1D.2
8.以下對(duì)C語(yǔ)言函數(shù)的有關(guān)描述中,正確的是
A.在C語(yǔ)言中調(diào)用函數(shù)時(shí),只能把實(shí)參的值傳給形參,形參的值不能傳送給實(shí)參
B.C函數(shù)既可以嵌套定義又可以遞歸調(diào)用
C.函數(shù)必須有返回值,否則不能使用函數(shù)
D.函數(shù)必須有返回值,返回值類(lèi)型不定
9.一個(gè)有n個(gè)頂點(diǎn)的連通無(wú)向圖至少有()條邊。
A.n-1B.nC.n+1D.n+2
10.若有以下說(shuō)明和定義:則對(duì)函數(shù)fun的正確調(diào)用語(yǔ)句是()。A.(*a)(&c);B.a=a(x);C.b=*b(x);D.fun(b);
11.廣義表(a,b,c,d)的表頭是()。
A.aB.(a)C.(b,c,d)D.((b,c,c))
12.下列關(guān)于c語(yǔ)言用戶標(biāo)識(shí)符的敘述中正確的是()。
A.用戶標(biāo)識(shí)符中可以出現(xiàn)下劃線和中劃線(減號(hào))
B.用戶標(biāo)識(shí)符中不可以出現(xiàn)中劃線,但可以出現(xiàn)下劃線
C.用戶標(biāo)識(shí)符中可以出現(xiàn)下劃線,但不可以放在用戶標(biāo)識(shí)符的開(kāi)頭
D.用戶標(biāo)識(shí)符中可以出現(xiàn)下劃線和數(shù)字,它們都可以放在用戶標(biāo)識(shí)符的開(kāi)頭
13.下列數(shù)據(jù)結(jié)構(gòu)中,按先進(jìn)后出原則組織數(shù)據(jù)的是
A.線性鏈表B.棧C.循環(huán)鏈表D.順序表
14.在下面棧的基本運(yùn)算中,不是加工型運(yùn)算的是______。
A.初始化B.進(jìn)棧C.退棧D.判???/p>
15.某某二叉樹(shù)的中序序列和后序序列正好相反,則該二叉樹(shù)一定是______的二叉樹(shù)
A.空或只有一個(gè)結(jié)點(diǎn)B.高度等于其結(jié)點(diǎn)數(shù)C.任一結(jié)點(diǎn)無(wú)左孩子D.任一結(jié)點(diǎn)無(wú)右孩子
16.二叉樹(shù)中第5層上的結(jié)點(diǎn)個(gè)數(shù)最多為_(kāi)_______
A.8B.15C.16D.32
17.
下列程序的輸出結(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
18.冒泡排序在最壞情況下的比較次數(shù)是()。
A.n(n+1)/2B.nlog2nC.n(n-1)/2D.n/2
19.有如下程序段:inta[10]={1,2,3,4,5,6,7,8,9,10};int*p=&a[3],b;b=P[5];則b的值是()。
A.5B.6C.9D.8
20.有如下定義#defineD2intx=5;floaty=3.83;charC='D';則下面選項(xiàng)中錯(cuò)誤的是
A.x++;B.y++;C.c++;D.D++;
二、2.填空題(20題)21.下面程序的功能是調(diào)用sub函數(shù)計(jì)算數(shù)組a中字符串的長(zhǎng)度,請(qǐng)?zhí)羁铡?/p>
sub(chars[])
{intn;
for(n=0;【】n++);
return【】;
}
main()
{char*a;intk;
gets(a);
【】
printf("%d",k);
22.以下條件表達(dá)式可計(jì)算:1+|a|的值,請(qǐng)?zhí)羁?。a>=0?【】:【】
23.以下程序的輸出結(jié)果是【】。
main()
{
intarr[]={30,25,20,15,10,5},*p=arr;
p++;
printf("%d\n",*(p+3));
}
24.軟件危機(jī)出現(xiàn)于60年代末,為了解決軟件危機(jī),人們提出了【】的原理來(lái)設(shè)計(jì)軟件,這就是軟件工程誕生的基礎(chǔ)。
25.以下程序的輸出結(jié)果是【】。
#defineMAX(x,y)(x)>(y)?(x)L:(y)
main()
{inta=5,b=2,C=3,d=3,t;
t=MAX(a+b,c+D)*10;
printf("%d\n",t);
}
26.下面程序的輸出是【】。
main()
{enumem{em1=3,em2=1,em3};
char*aa[]={"AA"m,"BB","CC:,"DD"};
printf("%s%s%s\n,aa[em1],aa[em2],aa[em3]);
}
27.一個(gè)算法的空間復(fù)雜度是指該算法所耗費(fèi)的【】。
28.在樹(shù)形結(jié)構(gòu)中,樹(shù)根結(jié)點(diǎn)沒(méi)有______。
29.算法的工作量大小和實(shí)現(xiàn)算法所需的存儲(chǔ)單元多少分別稱(chēng)為算法的【】。
30."printf("%d\n",strlen("\t\"'\023\xABC\n"));"語(yǔ)句的輸出結(jié)果是______。
31.若a是血型變量,且a的初值為4,則計(jì)算a+=a-=a*a表達(dá)式后a的值為_(kāi)_____。
32.下列程序的輸出結(jié)果是______。
#include<stdio.h>
fun()
{staticinta=0;
a+=3;printf("%d",A);
}
main()
{intcc;
for(cc=1;cc<5;cc++)fun();
printf("\n");
}
33.對(duì)數(shù)據(jù)元素之間的邏輯關(guān)系的描述是()。
34.請(qǐng)?jiān)谝韵鲁绦虻谝恍械南聞澗€處填寫(xiě)適當(dāng)內(nèi)容,使程序能正常運(yùn)行。
#include<stdio.h>
【】(double,double);
main()
{doublex,y;
scanf("%If%If",&x,&y);
printf("%If\n",max(x,y));
}
doublemax(doublea,doubleb)
{return(a>b?a:b);}
35.設(shè)有以下定義和語(yǔ)句,則*(*(p+2)+1)的值為【】。
inta[3][2]={10,20,30,40,50,60},(*p)[2];
p=a;
36.以下程序的輸出結(jié)果是【】。
#include<stdio.h>
voidswap(int*a,int*b)
{int*t;
t=a;a=b;b=t;
}
main()
{inti=3,j=5,*p=&i,*q=&j;
swap(p,q);printf("%d%d\n",*p,*q);
}
37.以下函數(shù)用來(lái)求出兩整數(shù)之和,并通過(guò)形參將結(jié)果傳回,請(qǐng)?zhí)畛渫暾?/p>
voidfunc(intx,inty,【】z)
{*z=x+y;
}
38.若按功能劃分,軟件測(cè)試的方法通常分為白盒測(cè)試方法和【】測(cè)試方法。
39.下面rotate函數(shù)的功能:將n行n列的矩陣A轉(zhuǎn)置為A',請(qǐng)?zhí)羁铡?/p>
#defineN4
voidrotate(inta[][N])
{inti,j,t;
for{i=0;i<N;j++}
for{j=0;【】;j++}
{t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;
}
}
40.指針變量p和數(shù)組a的說(shuō)明如下:
int*a[3]={"aa","bb","cc"},**p;
執(zhí)行語(yǔ)句p=&a[2];后,*p指向的字符串是______。
三、1.選擇題(20題)41.下列敘述中正確的是A.軟件測(cè)試的主要目的是發(fā)現(xiàn)程序中的錯(cuò)誤
B.軟件測(cè)試的主要目的是確定程序中錯(cuò)誤的位置
C.為了提高軟件測(cè)試的效率,最好由程序編制者自己來(lái)完成軟件測(cè)試的工作
D.軟件測(cè)試是證明軟件沒(méi)有錯(cuò)誤
42.若有說(shuō)明語(yǔ)句:inta,b,c,*d=&c;,則能正確從鍵盤(pán)讀入三個(gè)整數(shù)分別賦給變量a、b、d的語(yǔ)句是()
A.scanf("%d%d%d",&a,&b,d);
B.scanf("%d%d%d",&a,&b,&d);
C.scanf("%d%d%d",a,b,d);
D.scanf("%d%d%d",a,b,*d);
43.有以下程序:main(){inta,b,d=25;a=d/10%9;b=a&&(-1);printf("%d,%d\n",a,B);}程序運(yùn)行后的輸出結(jié)果是()。
A.6,1B.2,1C.6,0D.2,0
44.下列程序的輸出結(jié)果是#include"stdio.h”"main(){inti,a=0,b=0;for(i=1;i<10;i++){if(i%2==0){a++;continue;}b++;}printf("a=%d,b=%d",a,b);}
A.a=4,b=4B.a=4,b=5C.a=5,b=4D.a=5,b=5
45.以下程序的輸出結(jié)果是______。main(){inta=3;printf("%\n",(a+=a-=a*a));}
A.{B.1C.2D.-12
46.以下所列的各函數(shù)首部中,正確的是______。
A.voidplay(Var:Integer,varb:Integer)
B.voidplay(inta,b)
C.voidplay(inta,intb)
D.Subplay(aasinteger,basinteger)
47.下列敘述中錯(cuò)誤的是()。
A.在C語(yǔ)言中,函數(shù)中的自動(dòng)變量可以賦初值,每調(diào)用一次賦一次初值
B.在C語(yǔ)言中,在調(diào)用函數(shù)時(shí),實(shí)參和對(duì)應(yīng)形參在類(lèi)型上只需賦值兼容
C.在C語(yǔ)言中,外部變量的隱含類(lèi)型是自動(dòng)存儲(chǔ)類(lèi)別
D.在C語(yǔ)言中,函數(shù)形參的存儲(chǔ)類(lèi)型是自動(dòng)(auto)類(lèi)型的變量
48.有以下程序:voidf(inta[],inti,intj){intt;if(i<j){t=a[i];a[i]=a[j];a[j]=t;f(a,i+1,j-1);}}main(){inti,aa[5]={1,2,3,4,5};f(aa,0,4);for(i=0;i<5;i++)printf("%d,",aa[i]);printf("\n");}執(zhí)行后輸出結(jié)果是()。
A.5,4,3,2,1,B.5,2,3,4,1,C.1,2,3,4,5,D.1,5,4,3,2,
49.已有定義:intx=3,y=4,z=5;,則表達(dá)式!(x+y)+z-1&&y+z/2的值是
A.6B.0C.2D.1
50.下列描述正確的是()。
A.C語(yǔ)句能嵌套定義函數(shù),但不可以嵌套調(diào)用函數(shù)
B.C語(yǔ)句不能嵌套定義函數(shù),也不可以嵌套調(diào)用函數(shù)
C.C語(yǔ)句能嵌套定義函數(shù),也可以嵌套調(diào)用函數(shù)
D.C語(yǔ)句不能嵌套定義函數(shù),但可以嵌套調(diào)用函數(shù)
51.有以下程序
#include<stdio.h>
voidfun(int*s,intn1,intn2)
{inti,j,t;
i=n1;j=n2;
while(i<j){t=s[i];s[i]=s[j];s[j]=t;i++;j--;}
}
main()
{inta[10]={1,2,3,4,5,6,7,8,9,0},k;
fun(a,0,3);fun(a,4,9);fun(a,0,9);
for(k=0;k<l0;k++)printf("%d",a[k]);printf("\n");
}
程序的運(yùn)行結(jié)果是
A.0987654321B.4321098765C.5678901234D.0987651234
52.若w、x、y、z、m均為int型變量,則執(zhí)行下列的語(yǔ)句后m的值是()。w=2,x=3,y=4,z=5;m=(w<x)?w:x;m=(m<z)?m:z;m=(m<y)?m:y;
A.2B.3C.5D.4
53.若以下選項(xiàng)中的變量已正確定義,則正確的賦值語(yǔ)句是()。
A.x1=26.8%3B.1+2=x2C.x3=0x12D.x4=1+2=3
54.若要求從鍵盤(pán)讀入含有窄格字符的字符串,應(yīng)使用函數(shù)()。
A.getc()B.gets()C.getchar()D.scanf()
55.鏈表不具有的特點(diǎn)是()
A.不必事先估計(jì)存儲(chǔ)空間B.可隨機(jī)訪問(wèn)任一元素C.插入刪除不需要移動(dòng)元素D.所需空間與線性表長(zhǎng)度成正比
56.下列工具中為需求分析常用工具的是()。
A.PADB.PFDC.N-SD.DFD
57.對(duì)于基本類(lèi)型機(jī)同的兩個(gè)指針變量之間,不能進(jìn)行的動(dòng)算是()
A.<B.=C.+D.-
58.數(shù)據(jù)結(jié)構(gòu)作為計(jì)算機(jī)的一門(mén)學(xué)科,主要研究數(shù)據(jù)的邏輯結(jié)構(gòu)、對(duì)各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行的運(yùn)算,以及()。A.A.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)B.計(jì)算方法C.數(shù)據(jù)映象D.邏輯存儲(chǔ)
59.兩次運(yùn)行下列的程序,如果從鍵盤(pán)上分別輸入3和1,則輸出結(jié)果是()。main(){intx;scanf("%d",&x);if(x++>2)printf("%d",x);elseprintf("%d\n",x--);}
A.4和2B.4和1C.4和0D.3和1
60.閱讀以下程序及對(duì)程序功能的描述,其中正確的是#include<stdio.h>main(){FILE*in,*out;charch,infile[10],outfile[10];printf(“Entertheinfilename:\n”);scanf(“%s”,infile);printf(“Entertheoutfilename:\n”);scanf(“%s”,outfile);if((in=foen(infile,“r”))==NULL)printf(“cannotopeninfile\n”);exit(0);if((out=fopen(outfile,“w”))==NULL)printf(“cannotopenoutfile\n”);exit(0);while(!feof(in))fputc(fgetc(in),out);fclose(in);fclose(out);A.程序完成將磁盤(pán)文件的信息在屏幕上顯示的功能
B.程序完成將兩個(gè)磁盤(pán)文件合二為一的功能
C.程序完成將一個(gè)磁盤(pán)文件復(fù)制到另一個(gè)磁盤(pán)文件中
D.程序完成將兩個(gè)磁盤(pán)文件合并并在屏幕上輸出
四、選擇題(20題)61.有以下程序:
則以下函數(shù)調(diào)用語(yǔ)句錯(cuò)誤的是()。
A.
B.
C.
D.
62.(47)在結(jié)構(gòu)化方法中,軟件功能分解屬于下列軟件開(kāi)發(fā)中的階段是()
A.詳細(xì)設(shè)計(jì)
B.需求分析
C.總體設(shè)計(jì)
D.編程調(diào)試
63.在JavaScript語(yǔ)言中,要定義局部變量則可以()。
A.由關(guān)鍵字private在函數(shù)內(nèi)定義
B.由關(guān)鍵字private在函數(shù)外定義
C.由var在函數(shù)內(nèi)定義
D.由關(guān)鍵字var在函數(shù)外定義
64.若程序中有宏定義行:
65.已知longi=32768;執(zhí)行語(yǔ)句printf(“%d”,i);屏幕顯示()。
A.-1B.-32768C.1D.32768
66.
67.
68.軟件生命周期中所花費(fèi)用最多的階段是()。
A.詳細(xì)設(shè)計(jì)B.軟件編碼C.軟件測(cè)試D.軟件維護(hù)
69.下列選項(xiàng)中不屬于軟件生命周期開(kāi)發(fā)階段任務(wù)的是()。
A.軟件測(cè)試B.概要設(shè)計(jì)C.軟件維護(hù)D.詳細(xì)設(shè)計(jì)
70.若有定義:floatx=1.5;inta=1,b=3,c--2;,則正確的switch語(yǔ)句是()。
.
71.設(shè)循環(huán)隊(duì)列的存儲(chǔ)空間為Q(1:35),初始狀態(tài)為front=rear=35?,F(xiàn)經(jīng)過(guò)一系列入隊(duì)與退隊(duì)運(yùn)算后,front=15,rear=15,則循環(huán)隊(duì)列中的元素個(gè)數(shù)為()。
A.20B.0或35C.15D.16
72.
73.
74.若a是數(shù)值類(lèi)型,則邏輯表達(dá)式(a==1)Il(a!=1)的值是()。
A.1B.0C.2D.不知道a的值,不能確定
75.現(xiàn)有定義inta;doubleb;floatc;chark;,則表達(dá)式a/b+C—k值的類(lèi)型為:()。
A.intB.doubleC.floatD.char
76.以下定義數(shù)組的語(yǔ)句中錯(cuò)誤的是()。
77.下列敘述中正確的是()。
A.循環(huán)鏈表是非線性結(jié)構(gòu)
B.雙向鏈表是非線性結(jié)構(gòu)
C.只有一個(gè)根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是線性結(jié)構(gòu)
D.有一個(gè)以上根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是非線性結(jié)構(gòu)
78.下列敘述中正確的是()。
A.break語(yǔ)句只能用于switch語(yǔ)句體中
B.continue語(yǔ)句的作用是使程序的執(zhí)行流程跳出包含它的所有循環(huán)
C.break語(yǔ)句只能用在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)
D.在循環(huán)體內(nèi)使用break語(yǔ)句和continue語(yǔ)句的作用相同
79.
80.有以下程序:
voidmain()
{inta=15,b=21,m=0;
switch(a%3)
{case0:m++;break;
case1:m++;
switch(b%2)
{defaule:m++;
case0:m++;break;
}
}
printf("%d\n",m);
}
程序運(yùn)行后的輸出結(jié)果是()。
A.1B.2C.3D.4
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)fun()的功能是按以下遞歸公式求函數(shù)值。例如,當(dāng)給n輸入3時(shí),函數(shù)值為60;當(dāng)給n輸入6時(shí),函數(shù)值為480。請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫(xiě)函數(shù)proc,該函數(shù)的功能是:將M行N列的二維數(shù)組中的數(shù)據(jù),按行的順序依次放到一維數(shù)組中,一維數(shù)組中數(shù)據(jù)的個(gè)數(shù)存放在形參n所指的存儲(chǔ)單元中。例如,若二維數(shù)組中的數(shù)據(jù)為132333431424344415253545則一維數(shù)組中的內(nèi)容應(yīng)該是132333431424344415253545。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:#include<stdio.h>voidproc(int(*s)[103,int*b,int*n,intrain.intnn){ }voidmain{intarr[10][10]={{33,33,33,33),{44,44,44,44},{55,55,55,55}),i,j;inta[l00]={o),n=o;printf("Thematrix:\n");for(i=0;i<3;i++){for(j=0;j<4;j++)printf("%3d",arr[i][j]):printf("\n");}proc(arr,a,&n,3,4):printf("TheAarray:\n");for(i=0;i<n;i++)printf("%3d",a[i]):printf("\n\n");}
參考答案
1.D本題考查如何引用數(shù)組元素的地址。選項(xiàng)A)中,p5引用的是af51的地址,而數(shù)組a只有5個(gè)元素,即a[0]、a[1]、a[2]、a[3]、a[4],所以引用錯(cuò)誤;選項(xiàng)B)中,*a1指的是將數(shù)組a的第一個(gè)元素加1;選項(xiàng)C)中,這種引用方式錯(cuò)誤;選項(xiàng)D)中,&a[0]引用的是數(shù)組的首地址。
2.D
3.C
4.D
5.D本題考查邏輯運(yùn)算符的使用。當(dāng)“&&”的兩個(gè)運(yùn)算對(duì)象都是邏輯1時(shí),表達(dá)式返回值才是1;“||”的兩個(gè)運(yùn)算對(duì)象至少有一個(gè)是邏輯1時(shí),表達(dá)式返回值也是1,x<y為1,!z為0,1&&0為1,0||為1,因此,!1為0。
6.A本題主要考查軟件測(cè)試的基本知識(shí)。軟件測(cè)試的步驟可分為單元測(cè)試(模塊測(cè)試)、集成測(cè)試、確認(rèn)測(cè)試和系統(tǒng)測(cè)試。
(1)單元測(cè)試是針對(duì)每個(gè)模塊進(jìn)行的測(cè)試,它可從程序的內(nèi)部結(jié)構(gòu)出發(fā)設(shè)計(jì)測(cè)試用例,多個(gè)模塊可以平行、對(duì)立地測(cè)試。單元測(cè)試主要用于發(fā)現(xiàn)詳細(xì)設(shè)計(jì)和編程時(shí)犯下的錯(cuò)誤。單元測(cè)試多采用白盒測(cè)試,輔之以黑盒測(cè)試。
(2)集成測(cè)試是在單元測(cè)試的基礎(chǔ)上,根據(jù)模塊結(jié)構(gòu)圖將各個(gè)模塊連接起來(lái),必須精心計(jì)劃,應(yīng)提交集成測(cè)試計(jì)劃、集成測(cè)試規(guī)格說(shuō)明和集成測(cè)試分析報(bào)告。主要目標(biāo)是發(fā)現(xiàn)與接口有關(guān)的問(wèn)題。集成測(cè)試可以發(fā)現(xiàn)概要設(shè)計(jì)時(shí)犯的錯(cuò)誤。
(3)確認(rèn)測(cè)試用于驗(yàn)證軟件的功能和性能及其他特性是否與用戶的要求一致。確認(rèn)測(cè)試主要用于發(fā)現(xiàn)需求分析時(shí)犯下的錯(cuò)誤,一般使用黑盒法測(cè)試,以表明軟件符合需求說(shuō)明書(shū)的要求,應(yīng)該仔細(xì)設(shè)計(jì)測(cè)試用例和測(cè)試過(guò)程。確認(rèn)測(cè)試必須有用戶參加,或以用戶為
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 聊城職業(yè)技術(shù)學(xué)院《的分層開(kāi)發(fā)技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 麗江師范高等專(zhuān)科學(xué)?!豆こ讨茍DⅡ》2023-2024學(xué)年第一學(xué)期期末試卷
- 江西司法警官職業(yè)學(xué)院《學(xué)術(shù)論文寫(xiě)作(1)》2023-2024學(xué)年第一學(xué)期期末試卷
- 江漢藝術(shù)職業(yè)學(xué)院《健身俱樂(lè)部經(jīng)營(yíng)與管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 湖北大學(xué)知行學(xué)院《山地戶外運(yùn)動(dòng)》2023-2024學(xué)年第一學(xué)期期末試卷
- 自貢職業(yè)技術(shù)學(xué)院《商業(yè)銀行與業(yè)務(wù)經(jīng)營(yíng)》2023-2024學(xué)年第一學(xué)期期末試卷
- 周口師范學(xué)院《教育歷史與比較研究》2023-2024學(xué)年第一學(xué)期期末試卷
- 重慶科技學(xué)院《工程管理軟件與BM技術(shù)應(yīng)用》2023-2024學(xué)年第一學(xué)期期末試卷
- 浙江樹(shù)人學(xué)院《圖像處理軟件應(yīng)用》2023-2024學(xué)年第一學(xué)期期末試卷
- 長(zhǎng)江大學(xué)文理學(xué)院《材料力學(xué)B(外)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024版塑料購(gòu)銷(xiāo)合同范本買(mǎi)賣(mài)
- 【高一上】【期末話收獲 家校話未來(lái)】期末家長(zhǎng)會(huì)
- GB/T 44890-2024行政許可工作規(guī)范
- 有毒有害氣體崗位操作規(guī)程(3篇)
- 兒童常見(jiàn)呼吸系統(tǒng)疾病免疫調(diào)節(jié)劑合理使用專(zhuān)家共識(shí)2024(全文)
- 《華潤(rùn)集團(tuán)全面預(yù)算管理案例研究》
- 2024-2025高考英語(yǔ)全國(guó)卷分類(lèi)匯編之完型填空(含答案及解析)
- 2024年露天煤礦地質(zhì)勘查服務(wù)協(xié)議版
- 兩人退股協(xié)議書(shū)范文合伙人簽字
- 2024年資格考試-WSET二級(jí)認(rèn)證考試近5年真題附答案
- 2024年重慶南開(kāi)(融僑)中學(xué)中考三模英語(yǔ)試題含答案
評(píng)論
0/150
提交評(píng)論