![2022年遼寧省朝陽市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第1頁](http://file4.renrendoc.com/view/f572eaeae8942bd318c67359c0f6868c/f572eaeae8942bd318c67359c0f6868c1.gif)
![2022年遼寧省朝陽市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第2頁](http://file4.renrendoc.com/view/f572eaeae8942bd318c67359c0f6868c/f572eaeae8942bd318c67359c0f6868c2.gif)
![2022年遼寧省朝陽市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第3頁](http://file4.renrendoc.com/view/f572eaeae8942bd318c67359c0f6868c/f572eaeae8942bd318c67359c0f6868c3.gif)
![2022年遼寧省朝陽市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第4頁](http://file4.renrendoc.com/view/f572eaeae8942bd318c67359c0f6868c/f572eaeae8942bd318c67359c0f6868c4.gif)
![2022年遼寧省朝陽市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第5頁](http://file4.renrendoc.com/view/f572eaeae8942bd318c67359c0f6868c/f572eaeae8942bd318c67359c0f6868c5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2022年遼寧省朝陽市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.在位運(yùn)算中,操作數(shù)每左移兩位,其結(jié)果相當(dāng)于()。
A.操作數(shù)乘以2B.操作數(shù)除以2C.操作數(shù)除以4D.操作數(shù)乘以4
2.折半查找的時(shí)間復(fù)雜性為()
A.O(n2)B.O(n)C.O(nlogn)D.O(logn)
3.fgetc函數(shù)的作用是從指定文件讀入—個(gè)字符,該文件的打開方式必須是______。
A.只讀B.追加C.讀或讀寫D.以上均正確
4.有以下程序#include<stdio.h>voidfun(int*a,intn)/*fun函數(shù)的功能是將a所指數(shù)組元素從大到小排序*/{intt,i,j;for(i=0;i<n-1;j++)for(j=i+l;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}main{intc[10]={1,2,3,4,5,6,7,8,9,0),i;fun(c+4,6);for(i=0;i<10;i++)printf("%d,",c[i]);printf("\n");}程序運(yùn)行的結(jié)果是()。A.1,2,3,4,5,6,7,8,9,0,
B.0,9,8,7,6,5,1,2,3,4,
C.0,9,8,7,6,5,4,3,2,1,
D.1,2,3,4,9,8,7,6,5,0,
5.已有定義int(*q)(),指針q可以()。
A.指向函數(shù)的入口地址B.代表函數(shù)的返回值C.表示函數(shù)的類型D.表示函數(shù)返回值的類型
6.有以下程序段:charc1,c2;for(c=‘0’,c2=‘9’;c1<c2;c1++,c2--)printf(“%c%c”,c1,c2);程序段的執(zhí)行結(jié)果是()。
A.0123456789B.0918273645C.0123498765D.9876543210
7.對(duì)線性表進(jìn)行二分法檢索,其前提條件是()。
A.線性表以順序方式存儲(chǔ),并按關(guān)鍵碼值排好序
B.線性表以順序方式存儲(chǔ),并按關(guān)鍵碼的檢索頻率排好序
C.線性表以鏈?zhǔn)椒绞酱鎯?chǔ),并按關(guān)鍵碼值排好序
D.線性表以鏈?zhǔn)椒绞酱鎯?chǔ),并按關(guān)鍵碼的檢索頻率排好序
8.允許對(duì)隊(duì)列進(jìn)行的操作有()。
A.對(duì)隊(duì)列中的元素排序B.取出最近進(jìn)隊(duì)的元素C.在隊(duì)頭元素之前插入元素D.刪除隊(duì)頭元素
9.有以下程序段:structst{intx;int*y;}*pt;inta[]={1,2},b[]={3,4};structstc[2]={10,a,20,b};pt=c;以下選項(xiàng)中表達(dá)式的值為11的是()。
A.*pt->yB.pt->xC.++pt->xD.(pt++)->x
10.以下程序的輸出結(jié)果是()。unionmyun{struct{intx,y,z;)u;intk:}a;main{a.u.x=4;a.u.y=5;a.u.z=6;k=0;printf(%d\n",a.u.x);}A.4B.5C.6D.0
11.軟件是指()。A.程序B.程序和文檔C.算法加數(shù)據(jù)結(jié)構(gòu)D.程序、數(shù)據(jù)與相關(guān)文檔的完整集合
12.有以下程序:
運(yùn)行時(shí),若輸入123450<;回車>;,則輸出結(jié)果是()。
A.66656B.6566456C.66666D.6666656
13.若已知一個(gè)棧的進(jìn)棧序列是1,2,3,,n,其輸出序列為p1,p2,p3,?,pn,若p1=n,則pi為()。
A.iB.n-iC.n-i+1D.不確定
14.
15.有以下函數(shù):intfun(char*x,char*y){intn=0;}while((*x==*y)&&*x!=‘\0’){x++;y++;n++;}returnn;}函數(shù)的功能是()。
A.將y所指字符串賦給x所指存儲(chǔ)空間
B.查找x和y所指字符串中是否有‘\0’
C.統(tǒng)計(jì)x和y所指字符串中最前面連續(xù)相同的字符個(gè)數(shù)
D.統(tǒng)計(jì)x和y所指字符串中相同的字符個(gè)數(shù)
16.軟件生命周期中,能準(zhǔn)確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是()。
A.概要設(shè)計(jì)B.軟件設(shè)計(jì)C.可行性研究和計(jì)劃制定D.需求分析
17.有以下函數(shù):intfun(char*x,char*y){intn=0;.while((*x==*y)&&*x!="\0){x++;y++;n++;}returnn;}函數(shù)的功能是()。
A.將y所指字符串賦給x所指存儲(chǔ)空間
B.查找和y所指字符串中是否有"\0'
C.統(tǒng)計(jì)x和y所指字符串中最前面連續(xù)相同的字符個(gè)數(shù)
D.統(tǒng)計(jì)x和y所指字符串中相同的字符個(gè)數(shù)
18.在一個(gè)C程序中
A.main函數(shù)必須出現(xiàn)在所有函數(shù)之前
B.main函數(shù)可以在任何地方出現(xiàn)
C.main函數(shù)必須出現(xiàn)在所有函數(shù)之后
D.main函數(shù)必須出現(xiàn)在固定位置
19.設(shè)棧S和隊(duì)列Q的初始狀態(tài)為空,元素e1,e2,e3,e4,e5和e6依次通過棧S,一個(gè)元素出棧后即進(jìn)隊(duì)列Q,若6個(gè)元素出隊(duì)的序列是e2,e4,e3,e6,e5,e1,則棧S的容量至少應(yīng)該是()。
A.6B.4C.3D.2
20.若有以下定義和語句:#include<stdio.h>charsl[10]=“abcd!”,*s2=“\nl23\\”;printf(“%d%d\n”,strlen(s1),strlen(s2));程序的運(yùn)行結(jié)果是()。
A.107B.105C.55D.58
二、2.填空題(20題)21.若從鍵盤輸入24,則以下程序輸出的結(jié)果是()。
#include<stdio.h>
main()
{inta;
scanf("%d",&A);
if(a>20)printf("%d",A);
if(a>10)printf("%d",A);
if(a>5)printf("%d",A);
}
22.以下程序運(yùn)行后的輸出結(jié)果是______。
main()
{inta=3,b=4,c=5,t=99;
if(b<a&&a<c)t=a;a=C;c=t;
if(a<c&&b<c)t=b;b=a;a=t
printf("%d%d%d\n",a,b,c);
}
23.以下程序的輸出是【】。
main()
{
charstr1[]="Howdoyoudo",*p1=str1;
strcpy(str1+strlen(str1)/2,"esshe");
printf("%s\n",p1);
}
24.若有定義inta=10,b=9,c=8;,接著順序執(zhí)行下列語句,變量b中的值是【】。
c=(a-=(b-5));
c=(a%11)+(b=3);
25.設(shè)有以下結(jié)構(gòu)類型說明和變量定義,則變量a在內(nèi)存所占字節(jié)數(shù)是【】。
structstud
{charnum[6];
ints[4];
doubleave;
}a,*p;
26.設(shè)有下列的程序段;
charstr[]="Hello";
char*ptr;
ptr=str;
執(zhí)行上面的程序段后,*(ptr+5)的值為______。
27.關(guān)鍵字ASC和DESC分別表示【】的含義。
28.以下函數(shù)的功能是刪除字符串s中的所有數(shù)字字符。請(qǐng)?zhí)羁铡?/p>
voiddele(char*s)
{
intn=0,i;
for(i=0,s[i];i++)
if(【】)
s[n++]=s[i];
s[n]=【】;
}
29.以下函數(shù)把b字符串連到a字符串的后面,并返回a中新字符串的長(zhǎng)度,請(qǐng)?zhí)羁铡?/p>
strcen(chara[],charb[])
{
intnum=0,n=0;
while(*(a+num)!=【】)num++;
while(b[n]){*(a+num)=b[n];num++;【】;}
returnnum;
}
30.當(dāng)循環(huán)隊(duì)列非空且隊(duì)尾指針等于隊(duì)頭指針時(shí),說明循環(huán)隊(duì)列已滿,不能進(jìn)行入隊(duì)運(yùn)算。這種情況稱為【】。
31.函數(shù)pi的功能是根據(jù)以下公式近似求得的:
pi*pi/6=1+1/(2*2)+1/(3*3)+…+1/(n*n)
請(qǐng)?jiān)谙旅娴暮瘮?shù)中填空,完成求pi的功能。
#include<math.h>
doublepi(longn)
{doubles=0.0,longi;
for(i=1;i<=n;i++)s=s+【】。
return(sqrt(6*s));
}
32.若變量n的值為24,則print函數(shù)共輸出【】行,最后一行有【】個(gè)數(shù)。
voidprint(intn,intaa[])
{inti;
for(i=1;i<n;i++)
{printf("%6d",aa[i]);
if(!(i%5))printf("\n");
}
printf("\n");
}
33.若用0至9之間不同的三個(gè)數(shù)構(gòu)成一個(gè)三位數(shù),下面程序?qū)⒔y(tǒng)計(jì)出共有多少種方法。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{inti,j,k,count=0;
for(i=0;i<=9;i++)
for(j=0;i<=9;j++)
if(【】)continue;
elsefor(k=0;k<=9;k++)
if(【】)count++;
printf("%d",count);}
34.下列程序的輸出結(jié)果是______。
#include<stdio.h>
main()
{intx=10,y=10,i;
for(i=0;x>8;y=++i)
printf("%d%d",x--,y);
}
35.設(shè)有定義語句:inta[][3]={{0},{1},{2}};,則數(shù)組元素a[1][2]的值為()。
36.軟件開發(fā)環(huán)境是全面支持軟件開發(fā)全過程的______的集合。
37.在算法的4個(gè)特性中,算法必須能在執(zhí)行有限個(gè)步驟之后終止指的是算法的______特性。
38.在面向?qū)ο蠓椒ㄖ?,信息隱蔽是通過對(duì)象的______性來實(shí)現(xiàn)的。
39.表示“整數(shù)x的絕對(duì)值大于5”時(shí)值為“真”的C語言表達(dá)式是【】。
40.在宏定義#definePI3.14159中,用宏名PI代替一個(gè)______。
三、1.選擇題(20題)41.若有以下定義:structfink{intdata;structlink*next;}a,b,c,*p,*q;且變量a和b之間已有如下圖所示的鏈表結(jié)構(gòu):
指針p指向變量a,q指向變量c。則能夠把c插入到a和b之間并形成新的鏈表的語句組是:
A.a.next;c;c.next=b;
B.p.next=q;q.next=p.next;
C.p->next=&c;q->next=p->next;
D.(*p).next=q;(*q).next=&b;
42.以下選項(xiàng)中,非法的字符常量是______。
A.'\t'B.'\17'C.\nD.'\xaa'
43.C語言中,組成數(shù)據(jù)文件的成分是()。A.A.記錄
B.數(shù)據(jù)行
C.數(shù)據(jù)塊
D.字符(字節(jié))序列
44.在結(jié)構(gòu)化程序設(shè)計(jì)中,模塊劃分的原則是()。
A.各模塊應(yīng)包括盡量多的功能
B.各模塊的規(guī)模應(yīng)盡量大
C.各模塊之間的聯(lián)系應(yīng)盡量緊密
D.模塊內(nèi)具有高內(nèi)聚度,模塊間具有低耦合度
45.有以下程序:voidswapl(intc0[],intc1[]){intt;t=c0[0];c0[0]=c1[0];c1[0]=t;}voidswap2(int*c0,int*c1){intt;t=*c0;*c0=*c1;*c1=t;}main(){inta[2]={3,5),b[2]={3,5};swapl(a,a+1);swap2(&b[0],&b[1]);printf("%d%d%d%d\n",a[0],a[1],b[0],b[1]);}程序運(yùn)行后的輸出結(jié)果是()。
A.3553B.5335C.3535D.5353
46.為了使模塊盡可能獨(dú)立,要求()。
A.模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量強(qiáng)
B.模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量弱
C.模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量弱
D.模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量強(qiáng)
47.下面各被調(diào)用函數(shù)首部書寫正確的是()
A.voidsub(floatx;floaty);
B.voidsub(floatx,y)
C.voidsub(floatx,floaty)
D.voidsub(floatx,floaty);
48.以下程序段中與語句k=a>b?(b>c?1:0):0;功能等價(jià)的是______。
A.if(a>B)&&(b>C))k=1;elsek=0;
B.if((a>B)||(b>C))k=1;elsek=0;
C.if(a<=B)k=0;elseif(b<=C)k=1;
D.if(a>B)k=1;elseif(b>C)k=1;elsek=0;
49.下述程序向文件輸出的結(jié)果是_______。#include<stdio.h>voidmain(){FILE*fp=fopen("TEST","wb");fprintf(fp,"%d%5.of%c%d",58,76273.0,'-'2278);fclose(fp);}
A.5876273-2278
B.5876273.000000-2278
C.5876273-2278
D.因文件為二進(jìn)制文件而不可讀
50.設(shè)x,y均為int型變量,且x=10,y=3,則printf("%d,%d\n",x-,-y);語句的輸出結(jié)果是______。
A.10,3B.9,3C.9,2D.10,2}
51.下列程序的輸出結(jié)果是()。
main()
{inti=1,j=2,k=3;
if(i++==1&&(++j=3‖k++==3))printf("%d%d%d\n",i,j,k);
}
A.123B.234C.223D.233
52.數(shù)據(jù)庫系統(tǒng)的核心是()。
A.數(shù)據(jù)模型B.數(shù)據(jù)庫管理系統(tǒng)C.數(shù)據(jù)庫D.數(shù)據(jù)庫管理員
53.若已定義x和y為double類型,則表達(dá)式:x=1,y=x+3/2的值是()A.1B.2C.2.0D.2.5
54.以下程序的運(yùn)行結(jié)果是()。#include<stdio.h>main(){inta=3,b=4,c=8,d=4,m=1,n=3;printf("%d\n",(m=a>B)&&(n=c>D));}
A.0B.1C.2D.3
55.下列不屬于軟件工程的3個(gè)要素的是______。
A.工具B.過程C.方法D.環(huán)境
56.下面函數(shù)intfunl(char*x){char*y=x;while(*y++);return(y-x-1);}的功能是_______。
A.求字符串的長(zhǎng)度B.比較兩個(gè)字符串的大小C.將字符串x復(fù)制到字符串yD.將字符串x連接到字符串y后面
57.軟件調(diào)試的目的是A.發(fā)現(xiàn)錯(cuò)誤B.改正錯(cuò)誤C.改善軟件的性能D.驗(yàn)證軟件的正確性
58.關(guān)系表中的每一橫行稱為一個(gè)()。A.元組B.字段C.屬性D.碼
59.已知i、j、k為iht型變量,若從鍵盤輸入:1,2,3<回車>,使i的值為1、j的值為2、k的值為3,以下選項(xiàng)中正確的輸入語句是______。
A.scanf("%d%d%d",&i,&j,&k);
B.scanf("%d,%d,&d",&i,&i,&k);
C.scanf("%2d%2d%2d",&i,&j,&k);
D.scanf("i=%d,j=%d,k=%d",&i,&j,&k);
60.下列屬于C語言語句的是______。
A.printf("%d\n",a)
B.#include<stdio.h>
C.a=b;b=c;c=a;
D./*thisisaprogram*/
四、選擇題(20題)61.
62.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.zB.0C.元素eh[5]的地址D.字符Y的地址
63.
以下程序的輸出結(jié)果是()。
#defineM(x,y,z)x*y+z
main()
{inta=l,b=2,c=3;
printf("%d\n",m(a+b.b+c,c+a));
}
A.19B.17C.15D.12
64.有下列程序:
fun(intx,inty)
{staticintm=0,i=2;
i+=++rn;m=ixy;returnm;
}
main
{intj=l,m=1,k;
k=fun(j,m);printf("%d,",k);
k=fun(j.m);printf(”%d\n”,k);
}
執(zhí)行后的輸出結(jié)果是()。
A.5.5B.5,11C.11,11D.11,5
65.
66.軟件需求分析一般應(yīng)確定的是用戶對(duì)軟件的______。
A.功能需求B.非功能需求C.性能需求D.功能需求和非功能需求
67.
68.當(dāng)把以下四個(gè)表達(dá)式用做if語句的控制表達(dá)式時(shí),有一個(gè)選項(xiàng)與其他三個(gè)選項(xiàng)含義不同,這個(gè)選項(xiàng)是()。
A.k%2B.k%2==1C.(K%2)!=0D.!k%2==1
69.下列關(guān)于棧的描述中錯(cuò)誤的是()。
A.棧是先進(jìn)先出的線性表B.棧只能順序存儲(chǔ)C.棧具有記憶作用D.對(duì)棧的插入刪除操作中,不需要改變棧底指針
70.
71.
有下列程序:
main
{char*p[]={"3697","2584"};
inti,j;longnum=0;
for(i=0;i<2:i++)
{j=0;
while(p[i][j]!=\0)
{if((p[i][j]-\0)%2)num=1O*num+p
[j][j]-0;
j+=2;
}
}
printf("%d\n",num);
}
程序執(zhí)行后的輸m結(jié)果是()。
A.35B.37C.39D.3975
72.設(shè)有棧S和隊(duì)列Q,其狀態(tài)為空,元素a1,a2,a3,a4,a5,a6依次入棧,出棧的元素則進(jìn)入隊(duì)列Q,若6個(gè)元素出隊(duì)列的順序是a2,a3,a4,a6,a5,a1,則棧的容量至少是
A.6B.4C.3D.2
73.以下敘述中錯(cuò)誤的是()。
A.用戶所定義的標(biāo)識(shí)符允許使用關(guān)鍵字
B.用戶所定義的標(biāo)識(shí)符應(yīng)盡量做到“見名識(shí)意”
C.用戶所定義的標(biāo)識(shí)符中,大、小寫字母代表不同標(biāo)識(shí)
D.用戶所定義的標(biāo)識(shí)符必須以字母或下劃線開頭
74.
75.有以下程序:
voidf(int*x,int*y)
{int*t;
t=x;x=y;y=t;*x=*y;
}
main()
{inta[8]={1,2,3,4,5,6,7,8},i,*p,*q;
p=a;q=&a[7];
while(p>q)
{f(p,q);p++;q--}
for(i=0;i<8;i++)printf("d,",a[i]);
}
程序運(yùn)行后的輸出結(jié)果是()。
A.8,2,3,4,5,6,7,1,
B.5,6,7,8,1,2,3,4,
C.1,2,3,4,5,6,7,8,
D.8,7,6,5,4,3,2,1,
76.下列敘述中正確的是()。A.數(shù)據(jù)庫系統(tǒng)可以解決數(shù)據(jù)冗余和數(shù)據(jù)獨(dú)立性問題,而文件系統(tǒng)不能
B.數(shù)據(jù)庫系統(tǒng)能夠管理各種類型的文件,而文件系統(tǒng)只能管理程序文件
C.數(shù)據(jù)庫系統(tǒng)可以管理龐大的數(shù)據(jù)量,而文件系統(tǒng)管理的數(shù)據(jù)量較少
D.數(shù)據(jù)庫系統(tǒng)獨(dú)立性較差,而文件系統(tǒng)獨(dú)立性較好
77.HTTP協(xié)議的GET請(qǐng)求方法可以獲取()類型的數(shù)據(jù)。
A.HTML文檔B.圖片C.視頻D.以上都可以
78.以下程序段中,與語句“k—a>b?(b>c?1:O):0;”功能相同的是()。
A.if(a>b)(b>c)k=1;elsek=0;
B.if((a>b)‖(b>c))k=1;elsek=0;
C.if(a<=b)k=0;elseif(b>c)k=1;
D.if(a>b)k=1;elseif(b<=c)k=1;elsek=0:
79.對(duì)于存儲(chǔ)同樣的一組數(shù)據(jù)元素而言().
A.順序結(jié)構(gòu)比鏈接結(jié)構(gòu)易于擴(kuò)充空間
B.順序結(jié)構(gòu)與鏈接結(jié)構(gòu)相比,更有利于對(duì)元素進(jìn)行插入、刪除運(yùn)算
C.順序結(jié)構(gòu)占用整塊空間,而鏈接結(jié)構(gòu)不要求整塊空間
D.順序結(jié)構(gòu)比鏈接結(jié)構(gòu)多占存儲(chǔ)空間
80.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.1,2,3,0,0,0,0,0,0,0,
B.1,2,3,1,2,3,0,0,0,0,
C.123,0,0,0,0,123,0,0,0,0,
D.1,2,3,0,0,1,2,3,0,0,
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是逐個(gè)比較str1,str2兩個(gè)字符串對(duì)應(yīng)位置中的字符,把比ASCⅡ值大或相等的字符依次存放到str數(shù)組中,形成一個(gè)新的字符串。
例如,str1中的字符串為fshADfg,str2中的字符串為sdAEdi,則str中的字符串應(yīng)為sshEdig。
請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。
注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計(jì)題(1題)82.假定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫函數(shù)proc(),它的功能是:使字符串中前部的*號(hào)不得多余m個(gè);若多余m個(gè),則刪除多余的*號(hào);若少于或等于m個(gè),則什么也不做,字符串中間和尾部的*號(hào)不刪除。例如,字符串中的內(nèi)容為****A*BC*DEF*G****,若m的值為2,刪除后,字符串中的內(nèi)容則應(yīng)當(dāng)是**A*BC*DEF*G****;若m的值為4,則字符串中的內(nèi)容仍為****A*BC*DEF*G****。n的值在主函數(shù)中輸入。在編寫函數(shù)時(shí),不得使用c語言提供的字符串函數(shù)。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫的若干語句。試題程序:
參考答案
1.D解析:本題主要考查左移、右移對(duì)數(shù)據(jù)值的影響,左移n位相當(dāng)于乘以2的n次冪,右移n位相當(dāng)于除以2的n次冪。
2.D
3.D解析:fgetc函數(shù)是指從指定的文件讀入—個(gè)字符,該文件必須是以讀或讀寫方式打開的。fgetc函數(shù)的調(diào)用形式為:ch=fgetc(fp);。
4.Dfun函數(shù)的功能是對(duì)數(shù)組a[]的元素從大到小進(jìn)行排序。
5.A解析:本題考查的是指向函數(shù)的指針。函數(shù)指針的定義方式是:類型標(biāo)識(shí)符(*指針變量名)()。其中,“類型標(biāo)識(shí)符”為函數(shù)返回值的類型;“指針”指向函數(shù)的入口地址。
6.B程序定義兩個(gè)字符變量c1和c2。for循環(huán)中,首先為c1賦值‘0’,為c2賦值‘9’,接著判斷c1和C2的大小。由于字符變量可以作為整型數(shù)處理,數(shù)字字符的ASCII值按字面數(shù)值的大小順序連續(xù)遞增,因此c1小于c2成立,執(zhí)行循環(huán)體輸出“09”,再將c1自增1,c2自減1后,執(zhí)行下一輪循環(huán),直到c1=‘5’,c2=‘4’時(shí),c1<c2不成立,循環(huán)終止。最終程序段輸出:0918273645。故本題答案為B選項(xiàng)。
7.A解析:對(duì)線性表進(jìn)行二分法檢索,要求線性表是按順序方式存儲(chǔ)的,并按關(guān)鍵碼值的大小排好序,而不是按關(guān)鍵碼的檢索頻率排序。
8.D
9.C解析:要計(jì)算一個(gè)復(fù)雜的表達(dá)式時(shí),首先要弄明白表達(dá)式中所有運(yùn)算符的優(yōu)先級(jí)與結(jié)合性,本題中所涉及的運(yùn)算符中,->的優(yōu)先級(jí)最高,*和++的優(yōu)先級(jí)相同,但其結(jié)合性為從右至左。所以選項(xiàng)A等價(jià)于*pt->y)也就是pt所指向的結(jié)構(gòu)體的成員指針變量y所指向的內(nèi)容。從前面的程序段不難看出,pt指向結(jié)構(gòu)體數(shù)組c的首地址,也就是指向它的第1個(gè)元素,在它的第1個(gè)元素中,指針變量y又被初始化為指向控型數(shù)組a的首地址,即指向數(shù)組a的第1個(gè)元素。故選項(xiàng)A中的表達(dá)式的值為a[0],也就是1。選項(xiàng)B中表達(dá)式的值就是c[0].x,即10。根據(jù)優(yōu)先級(jí)和結(jié)合性,選項(xiàng)C中的表達(dá)式等價(jià)于++(pt->x),由于是前綴++,所以整個(gè)表達(dá)式的值為pt->x的值加1,故為11。而選項(xiàng)D中,++是后綴形式,所以(pt++)的值還是pt的原值,即等于pt->x的值10。故應(yīng)該選擇C。
10.D因?yàn)閍是結(jié)構(gòu)體變量,最后一次輸入的值為結(jié)構(gòu)體中的值,即a中的任何一個(gè)值都為0。
11.D軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)及相關(guān)文檔的完整集合。其中,程序是軟件開發(fā)人員根據(jù)用戶需求開發(fā)的、用程序設(shè)計(jì)語言描述的、適合計(jì)算機(jī)執(zhí)行的指令(語句)序列;數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu);文檔是與程序開發(fā)、維護(hù)和使用有關(guān)的圖文資料。因此本題的正確答案是D。
12.Bswitch語句的執(zhí)行流程是:首先計(jì)算switch后面圓括號(hào)中表達(dá)式的值,然后用此值依次與各個(gè)case的常量表達(dá)式比較,若圓括號(hào)中表達(dá)式的值與某個(gè)e·*后面的常量表達(dá)式的值相等,就執(zhí)行此ca*后面的語句,執(zhí)行后遇break語句就退出switch語句;若圓括號(hào)中表達(dá)式的值與所有ca$e后面的常量表達(dá)式都不等,則執(zhí)行default后面前語句。然后退出。所以輸入l時(shí)打印65,輸入2時(shí)打印6,輸入3時(shí)打印64,輸入4時(shí)打印5,輸入5時(shí)打印6。
13.C
14.A
15.C本題中由循環(huán)條件可知,遇到‘\\0’或x與y所指的字符不相等時(shí)循環(huán)結(jié)束。所以函數(shù)的功能是統(tǒng)計(jì)x和y所指字符串中最前面連續(xù)相同的字符個(gè)數(shù)。故本題答案為C選項(xiàng)。
16.D\n通常,將軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用、退役的過程稱為軟件生命周期。也就是說,軟件產(chǎn)品從考慮其概念開始,到該軟件產(chǎn)品不能使用為止的整個(gè)時(shí)期都屬于軟件生命周期。軟件生命周期的主要活動(dòng)階段為:可行性研究和計(jì)劃制定。確定待開發(fā)軟件系統(tǒng)的開發(fā)目標(biāo)和總的要求,給出它的功能、性能、可靠性以及接口等方面的可能方案,制定完成開發(fā)任務(wù)的實(shí)施計(jì)劃。
\n需求分析。對(duì)待開發(fā)軟件提出的需求進(jìn)行分析并給出詳細(xì)定義,即準(zhǔn)確地確定軟件系統(tǒng)的功能。編寫軟件規(guī)格說明書及初步的用戶手冊(cè),提交評(píng)審。
\n軟件設(shè)計(jì)。系統(tǒng)設(shè)計(jì)人員和程序設(shè)計(jì)人員應(yīng)該在反復(fù)理解軟件需求的基礎(chǔ)上,給出軟件的結(jié)構(gòu)、模塊的劃分、功能的分配以及處理流程。
\n軟件實(shí)現(xiàn)。把軟件設(shè)計(jì)轉(zhuǎn)換成計(jì)算機(jī)可以接受的程序代碼。即完成源程序的編碼,編寫用戶手冊(cè)、操作手冊(cè)等面向用戶的文檔,編寫單元測(cè)試計(jì)劃。
\n軟件測(cè)試。在設(shè)計(jì)測(cè)試用例的基礎(chǔ)上,檢驗(yàn)軟件的各個(gè)組成部分。編寫測(cè)試分析報(bào)告。
\n運(yùn)行和維護(hù)。將已交付的軟件投入運(yùn)行,并在運(yùn)行使用中不斷地維護(hù),根據(jù)新提出的需求進(jìn)行必要而且可能的擴(kuò)充和刪改。
\n本題答案是D)。
\n
17.C本題中由循環(huán)條件可知遇到“0或x與y所指的字符的值不等中的一個(gè)條件時(shí)就結(jié)束,所以功能是統(tǒng)計(jì)x和y所指字符串中最前面連續(xù)相同的字符個(gè)數(shù)。
18.B解析:一個(gè)完整的C語言程序有且僅有一個(gè)主函數(shù)(main()函數(shù))。程序總從main()函數(shù)的第一條語句開始執(zhí)行,到main()函數(shù)的最后一條語句結(jié)束,其他函數(shù)都是在執(zhí)行main()函數(shù)時(shí),通過函數(shù)調(diào)用或嵌套調(diào)用而得以執(zhí)行的。C語言規(guī)定,main()函數(shù)在程序中的位置是任意的,故選項(xiàng)A、選項(xiàng)C和選項(xiàng)D均不正確。所以,B選項(xiàng)為所選。
19.C
20.Cstrlen函數(shù)返回字符串的長(zhǎng)度。求字符串長(zhǎng)度時(shí),遇到結(jié)束標(biāo)識(shí)‘\\0’為止,但是長(zhǎng)度不包括結(jié)束標(biāo)識(shí)。字符數(shù)組s1的后5個(gè)元素沒有賦值,都為‘\\0’,即“abcd!”后為‘\\0’,所以“strlen(s1)”的值為5。字符指針s2所指向的字符串中,“\\n”為轉(zhuǎn)義字符,代表換行符,是1個(gè)字符,“\\\\”也為轉(zhuǎn)義字符,代表“\\”,也是1個(gè)字符,其后為字符串結(jié)束標(biāo)識(shí)‘\\0’,所以“strlen(s2)”的值也為5。故本題答案為C選項(xiàng)。
21.242424
22.4599
23.HowdoessheHowdoesshe解析:strcpy(str1,s1);字符串拷貝函數(shù),作用是將字符串s1拷貝到字符數(shù)組strl中去。strlen(str):測(cè)試字符串str的長(zhǎng)度,函數(shù)的值為字符串中實(shí)際長(zhǎng)度,不包括\'\\0\'在內(nèi)。本題中strlen(str1)的值為13,則strcpy(strl+strlen(strl)/2,'esshe');相當(dāng)于strcpy(strl+6,'esshe');,因此可得答案為Howdoesshe
24.33解析:這里:b-5=4,a-=4之后a的值為6,并把它賦給c。此時(shí)b的值并未被改變。在第2個(gè)表達(dá)式中,也只有賦值表達(dá)式b=3改變了b的值。所以兩行語句執(zhí)行完畢,b的值應(yīng)該為3。
25.22
26.'\0''\\0'解析:本題涉及字符數(shù)組和指針的兩個(gè)知識(shí)點(diǎn):①在C語言中,字符型數(shù)組在存放字符串時(shí)會(huì)自動(dòng)在末尾加上字符串結(jié)束標(biāo)識(shí)符'\\0'所以題中數(shù)組str有6個(gè)元素。②ptr指向數(shù)組str的首地址,ptr+5是指向str[5],*(ptr+5)是引用str[5]的值,即'\\0'。
27.升序排列和降序排列升序排列和降序排列解析:ASC表示升序排列,DESC表示降序排列,多用在索引定義和SELECT語句中的ORDER子句中。
28.s[i]<'0'||s[i]>'9'或!(s[i]>='0'&&s[i]<='9')或!(isdigit(s[i]))或isdigit(s[i])==0或s[i]>'9'||s[i>'0'或!(s[i]<='9'&&s[i]>='0')或*(s+i)<'0'||*(s+i)>'9'或!(*(s+i)>='0'&&*(s+i)<=9或!(isdigit(*(s+i)))或*(s+i)>='9'&&*(s+i)<='0'或!(*(s+i)<='9'&&*(s+i)>='0'或isdigis[i]<'0'||s[i]>'9'或!(s[i]>='0'&&s[i]<='9')或!(isdigit(s[i]))或isdigit(s[i])==0或s[i]>'9'||s[i>'0'或!(s[i]<='9'&&s[i]>='0')或*(s+i)<'0'||*(s+i)>'9'或!(*(s+i)>='0'&&*(s+i)<=9或!(isdigit(*(s+i)))或*(s+i)>='9'&&*(s+i)<='0'或!(*(s+i)<='9'&&*(s+i)>='0'或isdigi解析:從一個(gè)字符串中刪除某字符的力‘法是從字符串的第一個(gè)字符開始一一判斷該字符是否是要被刪除,若不是則把它放到結(jié)果字符串中,若是則不放入結(jié)果字符串中。本題的第一個(gè)空應(yīng)判斷s[i]是否為數(shù)字字符,只有在不是數(shù)字字符的情況下才存入結(jié)果字符串,所以應(yīng)填入s[i]<'0'||s[i]>'9'。最后應(yīng)在結(jié)果字符串的末尾填上字符串結(jié)束標(biāo)志\\0。
29.\0'n++
30.上溢上溢解析:入隊(duì)運(yùn)算是指在循環(huán)隊(duì)列的隊(duì)尾加入一個(gè)新元素。這個(gè)運(yùn)算有兩個(gè)基本操作:首先將隊(duì)尾指針進(jìn)一(即rear=rear+1),并當(dāng)rear=m+1時(shí)置rear=1;然后將新元素插入隊(duì)尾指針指向的位置。當(dāng)循環(huán)隊(duì)列非空(s=1)時(shí)且隊(duì)尾指針等于隊(duì)頭指針時(shí),說明循環(huán)隊(duì)列已滿,不能進(jìn)行入隊(duì)運(yùn)算,這種情況稱為“上溢”。
31.0/i/i或1.0/(i*i)0/i/i或1.0/(i*i)解析:由題面中提供的計(jì)算pi的公式可知;在第i項(xiàng)其值為1/(i*i),考慮到運(yùn)算結(jié)果為浮點(diǎn)數(shù),故必須要將1轉(zhuǎn)化為浮點(diǎn)數(shù)或采用1.0/(i*i)的形式。故本題應(yīng)填1.0/(i*i)或其等效形式。
32.5454解析:語句if(!(i%5))printf('\\n');實(shí)現(xiàn)每5個(gè)數(shù)輸出一行,因?yàn)閚的值為24,所以共輸出5行,最后一行有4個(gè)數(shù)。
33.i==jk!i&&k!ji==j\r\nk!i&&k!j解析:本題用雙重for循環(huán)寫了一段0~9之間不同的3個(gè)數(shù)構(gòu)成一個(gè)三位數(shù)的程序,因?yàn)橐笕粩?shù)各個(gè)位數(shù)的數(shù)不能相同,所以第一個(gè)空if語句的條件應(yīng)為i==j,即當(dāng)兩個(gè)位數(shù)上的數(shù)相同的時(shí)候,不再執(zhí)行下面的操作,轉(zhuǎn)去執(zhí)行for循環(huán)的下一次循環(huán)。第二個(gè)空,需要判斷第三位上的數(shù)不能與其他兩位的數(shù)相同。
34.101091101091解析:for(表達(dá)式1;表達(dá)式2:表達(dá)式3)語句的功能是:首先計(jì)算表達(dá)式1的值,然后檢測(cè)表達(dá)式2的值,若其值為真,則執(zhí)行循環(huán)體語句,執(zhí)行完畢后,再計(jì)算表達(dá)式3的值。然后再檢測(cè)表達(dá)式2的值是否為真,若為真,繼續(xù)執(zhí)行循環(huán)體語句,若為假,則退出循環(huán):第1次循環(huán)x>8成立,輸出x=10,y=10后,x的值減1,i=1,執(zhí)行y=++i操作,y的值變?yōu)?;判斷條件還成立,輸出x=9,y=1,然后x的值減1,循環(huán)條件不成立,則退出循環(huán)。
35.00解析:二維數(shù)組中當(dāng)某行一對(duì)花括號(hào)內(nèi)的初值個(gè)數(shù)小于該行中元素的個(gè)數(shù)時(shí),系統(tǒng)將自動(dòng)給該行后面的元素補(bǔ)初值0,由此可見數(shù)組a[1][2]=0。
36.軟件工具軟件工具解析:軟件開發(fā)環(huán)境是各類軟件開發(fā)工具的集合體。
37.有窮性有窮性解析:算法的4個(gè)基本特性包括:可靠性、確定性、有窮性和擁有足夠的情報(bào),其中,算法的有窮性指的是算法必須在有限的時(shí)間內(nèi)完成,即算法必須在執(zhí)行有限個(gè)步驟之后終止。
38.封裝封裝
39.x>5||x<-5或abs(x)>5x>5||x<-5或abs(x)>5解析:要使整數(shù)x的絕對(duì)值大于5,則x大于5或x小于-5,用C語言表示即為:x>5||x<-5或者abs(x)>5。
40.字符串字符串解析:本題考查字符替換格式:#define標(biāo)識(shí)符字符串。
41.D解析:本題考查鏈表的數(shù)據(jù)結(jié)構(gòu),必須利用指針變量才能實(shí)現(xiàn),即一個(gè)結(jié)點(diǎn)中應(yīng)包含一個(gè)指針變量,用它存放下一結(jié)點(diǎn)的地址。
42.C解析:C語言中字符常量是以單引號(hào)括起來的單個(gè)字符,或?yàn)橐浴癨\”與三位八進(jìn)制數(shù)值或兩位十六進(jìn)制數(shù)值代替單個(gè)字符。
43.D解析:C語言中的文件是流式文件。流式文件是一種無結(jié)構(gòu)文件,即整個(gè)文件是一串字符流或二進(jìn)制流。文件的存取以字符或字節(jié)為單位。
44.D解析:本題考查軟件工程中軟件設(shè)計(jì)的概念和原理。人們?cè)陂_發(fā)計(jì)算機(jī)軟件的長(zhǎng)期實(shí)踐中積累了豐富的經(jīng)驗(yàn),總結(jié)這些經(jīng)驗(yàn)得到如下的啟發(fā)式規(guī)則:
(1)改進(jìn)軟件結(jié)構(gòu),提高模塊獨(dú)立性;通過模塊的分解或合并,力求降低耦合提高內(nèi)聚。低耦合也就是降低不同模塊間相互依賴的緊密程度,高內(nèi)聚是提高一個(gè)模塊內(nèi)各元素彼此結(jié)合的緊密程度。
(2)模塊的規(guī)模應(yīng)適中。一個(gè)模塊的規(guī)模不應(yīng)過大,過大的模塊往往是由于分解不夠充分:過小的模塊開銷大于有益操作,而且模塊過多將使系統(tǒng)接口復(fù)雜。因此過小的模塊有時(shí)不值得單獨(dú)存在。
(3)模塊的功能應(yīng)該可以預(yù)測(cè),但也要防止模塊功能過分局限。如果模塊包含的功能太多,則不能體現(xiàn)模塊化設(shè)計(jì)的特點(diǎn):如果模塊的功能過分的局限,使用范圍就過分狹窄。
經(jīng)過上述分析,本題的正確答案是選項(xiàng)D。
45.D解析:函數(shù)swapl的形參是數(shù)組名,在調(diào)用時(shí)應(yīng)將數(shù)組名,即數(shù)組的首地址,作為實(shí)參傳遞給形參,形參所指向內(nèi)容的改變可以帶回到實(shí)參,因此調(diào)用函數(shù)swap1是將元素a[0]和a[1]互換。函數(shù)swap2的形參是指針變量,在調(diào)用時(shí)將b[0]、b[1]的值傳遞給它,形參內(nèi)容改變也可以帶回到實(shí)參,b[0]和b[1]的內(nèi)容也進(jìn)行了交換。所以輸出為5353。
46.B解析:模塊獨(dú)立性是指每個(gè)模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系最少且接口簡(jiǎn)單。耦合性與內(nèi)聚性是模塊獨(dú)立性的兩個(gè)定性標(biāo)準(zhǔn),耦合與內(nèi)聚是相互關(guān)聯(lián)的。在程序結(jié)構(gòu)中,各模塊的內(nèi)聚性越強(qiáng),則耦合性越弱。一般較優(yōu)秀的軟件設(shè)計(jì),應(yīng)盡量做到高內(nèi)聚,低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨(dú)立性。本題答案為B。
47.C
48.A解析:“a>b?(b>c?1:0):0”的求解順序是:先判斷a>b是否為真,如果為真,則執(zhí)行b>c?1:0,如果b>c為真,則(b>c?1:0)的值為1,從而整個(gè)表達(dá)式返回1,否則整個(gè)表達(dá)式返回0;如果a仁b,則表達(dá)式返回0。因此功能等價(jià)的語句應(yīng)為if((a>b)&&(b>c)k=1;elsek=0;。
49.C解析:fprintf函數(shù)工作時(shí),多個(gè)數(shù)據(jù)間不會(huì)自動(dòng)加分隔符,選項(xiàng)A錯(cuò)誤;浮點(diǎn)數(shù)的輸出格式是“%5.of”表明其小數(shù)部分輸出0位,即沒有輸出,所以選項(xiàng)B也是錯(cuò)誤的。
50.D解析:C語言的自減運(yùn)算符有前置與后置兩種形式。當(dāng)自減運(yùn)算符前置時(shí),變量先自減一后再參與表達(dá)式運(yùn)算;而后置時(shí),變量先參與表達(dá)式運(yùn)算后再自身減一。
51.D解析:本題考查自增運(yùn)算符“++”、邏輯與運(yùn)算符“&&”和邏輯或運(yùn)算符“‖”。自增運(yùn)算符“++”,出現(xiàn)在變量之前(如題中的++n),表示先使變量的值加1,再使用變量的值進(jìn)行運(yùn)算;出現(xiàn)在變量之后(如題中的n++),表示先使用變量的值進(jìn)行運(yùn)算,再使變量的值加1。當(dāng)邏輯與運(yùn)算符'&&'兩邊的運(yùn)算對(duì)象都為真時(shí),邏輯表達(dá)式的值才為真;當(dāng)邏輯或運(yùn)算符'‖'左邊的運(yùn)算對(duì)象為真時(shí),其值就為真,不用計(jì)算其右邊的運(yùn)算對(duì)象的值。所以根據(jù)運(yùn)算符的優(yōu)先級(jí),題中應(yīng)先計(jì)算內(nèi)層括號(hào)中的值。++j是先自加后運(yùn)算,因此運(yùn)算時(shí),i的值等于3,所以表達(dá)式++j==3成立,即表達(dá)式的值為¨由于1與任何數(shù)都為進(jìn)行或(‖)運(yùn)算,結(jié)果都為1,因此k=3;最后計(jì)算“&&”之前的表達(dá)式,i++是先運(yùn)算后自加,因此運(yùn)算時(shí)i為1,所以i+==1成立,自加1后i=2。if語句的條件為真即'1',所以輸出i、j、k的值分別是2,3,3。
52.B解析:數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心,是負(fù)責(zé)數(shù)據(jù)庫的建立、使用和維護(hù)的軟件。數(shù)據(jù)庫管理系統(tǒng)建立在操作系統(tǒng)之上,實(shí)施對(duì)數(shù)據(jù)庫的統(tǒng)一管理和控制。用戶使用的各種數(shù)據(jù)庫命令以及應(yīng)用程序的執(zhí)行,最終都必須通過數(shù)據(jù)庫管理系統(tǒng)。另外,數(shù)據(jù)庫管理系統(tǒng)還承擔(dān)著數(shù)據(jù)庫的安全保護(hù)工作,按照數(shù)據(jù)庫管理員所規(guī)定的要求,保證數(shù)據(jù)庫的完整性和安全性。
53.C解析:這是一個(gè)逗號(hào)表達(dá)式,它的值應(yīng)為表達(dá)式y(tǒng)=x+3/2的值,而前一個(gè)表達(dá)式已給x賦值1,在沒有進(jìn)行類型轉(zhuǎn)換的情況下,3/2的值為1,所以x+3/2的值應(yīng)為2.0。
54.A解析:邏輯與(&&)運(yùn)算符的功能是:當(dāng)“&&”運(yùn)算符兩邊的運(yùn)算對(duì)象均為1時(shí),整個(gè)表達(dá)式的值為1,否則為0。因?yàn)閍=3<b=4,即m=0,所以整個(gè)表達(dá)式的值為0。
55.D解析:本題考查了軟件工程的基本概念。軟件工程包括3個(gè)要素,即方法、工具和過程。方法是完成軟件工程項(xiàng)目的技術(shù)手段;工具支持軟件的開發(fā)、管理和文檔生成;過程支持軟件開發(fā)的各個(gè)環(huán)節(jié)的控制和管理。
56.A解析:本題的考查點(diǎn)是while()循環(huán)語句。本題首先要注意的是對(duì)*y++的運(yùn)算,由于++和*為同—優(yōu)先級(jí)別,且結(jié)合方向?yàn)樽杂蚁蜃?,因此它相?dāng)于*(y++)。由于++在y的右側(cè)是“后加”,因此先對(duì)y的原值進(jìn)行*運(yùn)算,然后使y的值改變。
57.B本題考查軟件工程調(diào)試。調(diào)試與測(cè)試是兩個(gè)不同的過程,有著根本的區(qū)別:調(diào)試是一個(gè)隨機(jī)的、不可重復(fù)的過程,它用于隔離和確認(rèn)問題發(fā)生的原因,然后修改軟件來糾正問題;測(cè)試是一個(gè)有計(jì)劃的,可以重復(fù)的過程,它的目的是為了發(fā)現(xiàn)軟件中的問題。因此,軟件調(diào)試的目的是為了改正軟什中的錯(cuò)誤。本題的正確答案是選項(xiàng)\u3000B。
58.A解析:關(guān)系表中,每一行稱為一個(gè)元組,對(duì)應(yīng)表中的一條記錄;每一列稱為表中的一個(gè)屬性,對(duì)應(yīng)表中的一個(gè)字段;在二維表中凡能惟一標(biāo)識(shí)元組的最小屬性集稱為該表的鍵或碼。
59.A解析:scanf函數(shù)中格式控制后面應(yīng)為變量地址列表,因此選項(xiàng)C和選項(xiàng)D都錯(cuò)誤,選項(xiàng)B中“&d”是指針變量d的地址,與題目不符。由題目可知指針變量d中存放的是變量c的地址,所以正確答案為選項(xiàng)A。
60.C解析:在C語言中,一個(gè)完整的C語句必須在語句末尾出現(xiàn)分號(hào),分號(hào)是C語句的必要組成部分。本題答案為C。
61.A
62.A本題考查的是指向數(shù)組的指針。本題中定義了一個(gè)字符串?dāng)?shù)組和指針,并將指針pc指向該數(shù)組的首地址,執(zhí)行輸出語句printf(”%c\n”,*(pc+5));。語句中的
*(pc+5)指的就是pc[5]的值,所以最后輸出的結(jié)果為z。
63.D
\nM(a+b,b+C,c+a)=a+b*b+c+c+a=1+2*2+3+3+1=12,注意x*y+z而不是(x)*(y)+z。
\n
64.B
\n變量m和i聲明為局部靜態(tài)變量,因此第1次調(diào)用fun函數(shù)后,局部靜態(tài)變量m和i的值為5和3,第l次調(diào)用結(jié)束時(shí),它們的值不變,第2次調(diào)用時(shí),m和i的初始值分別為5和3,在執(zhí)行“i+=m+1”后,i的值為9,因此,最終m的值為11。
65.C
66.DD。【解析】軟件需求分析中需要構(gòu)造一個(gè)完全的系統(tǒng)邏輯模型,理解用戶提出的每一功能與性能要求,使用戶明確自己的任務(wù)。因此,需求分析應(yīng)確定用戶對(duì)軟件的功能需求和非功能需求。
67.D
68.D本題主要考查if語句的條件表達(dá)式。在本題的四個(gè)選項(xiàng)中給出了四個(gè)不同的條件表達(dá)式,題目要求找出其中一個(gè)意思與其他三個(gè)不同的表達(dá)式。
選項(xiàng)A的表達(dá)式k%2的功能是對(duì)變量k進(jìn)行取余運(yùn)算,如果運(yùn)算結(jié)果為假,表示變量k能被2整除,如果運(yùn)算結(jié)果為真,表示k不能被2整除。
選項(xiàng)B的表達(dá)式k%2==1的功能是對(duì)變量k進(jìn)行取余運(yùn)算,并判斷結(jié)果等于1,如果運(yùn)算結(jié)果為假,表示k%2的運(yùn)算結(jié)果為0,即k能被2整除;如果運(yùn)算結(jié)果為真,表示k%2的運(yùn)算結(jié)果為1,即k不能被2整除。
選項(xiàng)C的表達(dá)式(k%2)!=0的功能是對(duì)變量k進(jìn)行取余運(yùn)算,并判斷結(jié)果不等于0,如果運(yùn)算結(jié)果為假,表示k%2的運(yùn)算結(jié)果0,即k能被2整除;如果運(yùn)算結(jié)果為真,表示k%2的運(yùn)算結(jié)果為1,即k不能被2整除。
選項(xiàng)D的表達(dá)式!k%2==1等價(jià)于(!k)%2==1,其功能是先對(duì)變量k進(jìn)行邏輯非運(yùn)算,然后將運(yùn)算結(jié)果對(duì)2進(jìn)行取余運(yùn)算,再判斷其結(jié)果是否等于1。這與前面三個(gè)選項(xiàng)的意思完全不同,因此本題的正確答案選D。
69.B
\n棧是線性表的一種,它的特點(diǎn)是先進(jìn)后出,并且只能在表的一端進(jìn)行插入和刪除操作的線性表,入棧和出棧都是在棧頂進(jìn)行,因此具有記憶作用,??梢圆捎庙樞虼鎯?chǔ),也可以采用鏈?zhǔn)酱鎯?chǔ)。
\n
70.B
71.D
\n執(zhí)行第一次for循環(huán)時(shí),用表達(dá)式p[i][j]!=\0來判斷字符串?dāng)?shù)組指針P是否到達(dá)字符串的結(jié)尾,如果沒有到達(dá),繼續(xù)執(zhí)行while中的語句。if語句表示(p[i][j]-\0)除2的余數(shù)不為0時(shí),即字符串所有奇數(shù),執(zhí)行后面的語句。所以退出第1次for的循環(huán)體時(shí),輸出為397,執(zhí)行第2次循環(huán)體。對(duì)字符串“2584”進(jìn)行處理,輸出結(jié)果為5,因而最后輸出結(jié)果為3975。
\n
72.C本題主要考查棧和隊(duì)列的基本特性。棧是限定僅在表尾進(jìn)行插入和刪除操作的線性表,而隊(duì)列則只允許在隊(duì)尾進(jìn)行插入操作,在隊(duì)頭進(jìn)行刪除操作。棧對(duì)數(shù)據(jù)元素的操作具有先進(jìn)后出的特點(diǎn),而隊(duì)列對(duì)數(shù)據(jù)元素的操作具有先進(jìn)先出的特點(diǎn)。
本題要求對(duì)棧和隊(duì)列一起操作,將出棧S的元
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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年高壓泵項(xiàng)目規(guī)劃申請(qǐng)報(bào)告模板
- 2025年策劃協(xié)議離婚程序與標(biāo)準(zhǔn)
- 2025年土地買賣策劃中介服務(wù)協(xié)議
- 2025年數(shù)字化制造業(yè)轉(zhuǎn)型升級(jí)協(xié)議
- 2025年合作伙伴共同規(guī)劃有限公司合同協(xié)議范本
- 2025年產(chǎn)品供應(yīng)條款協(xié)議示例
- 2025年全球技術(shù)轉(zhuǎn)移與創(chuàng)新合作協(xié)議
- 2025年二次結(jié)構(gòu)墻體勞務(wù)承包合同
- 2025年信息技術(shù)外包服務(wù)協(xié)議示范本
- 2025年儀式用服裝租借合同示例
- 建筑工程節(jié)后復(fù)工自查表
- 華萊士標(biāo)準(zhǔn)化體系
- 初中語文九年級(jí)下冊(cè)閱讀理解50篇附答案解析
- 快捷smt全自動(dòng)物料倉儲(chǔ)方案
- 火電廠各指標(biāo)指標(biāo)解析(最新版)
- keysight眼圖和抖動(dòng)噪聲基礎(chǔ)知識(shí)與測(cè)量方法
- TPU材料項(xiàng)目可行性研究報(bào)告寫作參考范文
- 試用期考核合格證明表
- 鍋爐補(bǔ)給水陰陽混床操作步序表
- 2005年第4季度北京住房租賃指導(dǎo)價(jià)格
- 醫(yī)療器械GMP計(jì)算機(jī)軟件確認(rèn)控制程序
評(píng)論
0/150
提交評(píng)論