版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2022-2023年河南省洛陽(yáng)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.標(biāo)準(zhǔn)庫(kù)函數(shù)fgets(str,n,fp)的功能是()。A.從fp所指的文件中讀取長(zhǎng)度不超過n-1的字符串存入指針str所指的內(nèi)存
B.從fp所指的文件中讀取長(zhǎng)度為n的字符串存入指針str所指的內(nèi)存
C.從fp所指的文件中讀取n個(gè)字符串存入指針str所指的內(nèi)存
D.從fp所指的文件中讀取長(zhǎng)度為n-1的字符串存入指針str所指的內(nèi)存
2.
3.
4.有以下程序:#include<stdio,h>main(){charc1='1',c2='2';c1=getchar();c2=getchar();putchar(c1);putchar(c2);}當(dāng)運(yùn)行時(shí)輸入:a<回車>后,以下敘述正確的是()。
A.變量c1被賦予字符a,c2被賦予回車符
B.程序?qū)⒌却脩糨斎氲诙€(gè)字符
C.變量c1被賦予字符a,c2中仍是原有字符2
D.變量c1被賦予字符a,c2中將無(wú)確定值
5.若已知一個(gè)棧的入棧序列是1,2,3,......,n,其輸出序列為p1,p2,p3,..,pn,若p1=n-1,則pi可能為()
A.nB.n-iC.n-i+1D.不確定
6.按照“先進(jìn)先出”組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是()。
A.隊(duì)列B.棧C.雙向鏈表D.二叉樹
7.
8.有以下程序:#include<stdio.h>#include<string.h>main(){chara[]=“TEXT”,*b=“++”,c[3]=“1”;printf(“%d,%d,”,strlen(a),sizeof(a));printf(“%d,%d,”,strlen(b),sizeof(b));printf(“%d,%d,\n”,strlen(c),sizeof(c));}程序運(yùn)行后的輸出結(jié)果是()。A.4,5,2,4,1,3,B.4,4,2,2,1,1,C.5,5,3,3,2,2,D.4,4,2,2,1,3
9.已有定義int(*q)(),指針q可以()。
A.指向函數(shù)的入口地址B.代表函數(shù)的返回值C.表示函數(shù)的類型D.表示函數(shù)返回值的類型
10.使用二分查找算法在一個(gè)有序序列中查找一個(gè)元素的時(shí)間復(fù)雜度為()
A.O(N)B.O(logN)C.O(N*N)D.O(N*logN)
11.有以下程序:#include<stdio.h>main(){charc;for(;(c=getchar())!=‘#’;){if(c>=‘a(chǎn)’&&c<=‘z’)c=c-‘a(chǎn)’+‘A’;putchar(++c);}}執(zhí)行時(shí)輸入aBcDefG##并按<Enter>鍵,則輸出結(jié)果是()。
A.AbCdEFgB.ABCDEFGC.BCDEFGHD.bcdefgh
12.若有定義“inta=3,*p=&a,**q=&p;”,則以下敘述中錯(cuò)誤的是()。
A.q是指針變量,*q就是變量a
B.p是指針變量,p指向變量a
C.q指向變量p,所以*q指向變量a
D.*p與**q都代表變量a
13.
14.紅黑樹中已經(jīng)有n個(gè)數(shù)據(jù),尋找某個(gè)key是否存在的時(shí)間復(fù)雜度為()
A.o(logn)B.o(n)C.o(n二次方)D.o(1)
15.下列選項(xiàng)中,能夠滿足“若字符串sl等于字符串s2,則執(zhí)行ST”要求的是()。
A.if(stremp(s2,s1)==0)ST;
B.if(s1==s2)ST;
C.if(strcpy(sl,s2)==l)ST;
D.if(sl,s2==O)ST;
16.設(shè)單鏈表中結(jié)點(diǎn)的結(jié)構(gòu)為非空的循環(huán)單鏈表first的尾結(jié)點(diǎn)(由p所指向)滿足:______A.p->link==NULL;B.p==NULL;C.p->link==first;D.p==first;
17.對(duì)于“if(表達(dá)式)語(yǔ)句”,以下敘述正確的是()。
A.“表達(dá)式”不能是變量
B.“表達(dá)式”的值只能是整數(shù)值
C.“表達(dá)式”可以是常量
D.“表達(dá)式”中不可以出現(xiàn)字符型變量的比較
18.以下敘述中錯(cuò)誤的是()。
A.C語(yǔ)言程序在運(yùn)行過程中的所有計(jì)算都以二進(jìn)制方式進(jìn)行
B.C語(yǔ)言程序在運(yùn)行過程中的所有計(jì)算都以十進(jìn)制方式進(jìn)行
C.所有C語(yǔ)言程序都需要編譯、鏈接無(wú)誤后才能運(yùn)行
D.C語(yǔ)言程序中字符變量存放的是字符的ASCII值
19.設(shè)有宏定義:#defineIsDIV(k,n)((k%n==1)?1:0)且變量m已正確定義并賦值,則宏調(diào)用:IsDIV(m,5)&&IsDIV(m,7)為真時(shí)所要表達(dá)的是A.判斷m是否能被5或者7整除
B.判斷m是否能被5和7整除
C.判斷m被5或者7整除是否余1
D.判斷m被5和7整除是否都余1
20.有以下程序:#include<stdio.h>main(){inta=-2,b=0;while(a++++b);printf("%d,%d\n",a,b);}程序運(yùn)行后的輸出結(jié)果是()。A.1,3B.0,2C.0,3D.1,2
二、2.填空題(20題)21.單元測(cè)試又稱模塊測(cè)試,一般采用【】測(cè)試。
22.以下程序的運(yùn)行結(jié)果為【】。
main()
{staticintnumber[6]={1,2,3,4,5,6};
intm=4,j;
move(number,6,m);
for(j=0;i<5;j++)
printf("%d,",number[j]);
printf("%d",number[5]);
}
move(array,n,m)
intn,m,array[6];
{int*p,array_end;
array_end=*(array+n-1);
for(p=array+n-1;p>array;p--)
*p=*(p-1);
*array=array_end;
m--;
if(m>0)move(array,n,m);
}
23.以下程序的功能是:從低位開始取出長(zhǎng)整型變量s中奇數(shù)位上的數(shù),依次構(gòu)成一個(gè)新數(shù)放在t中。高位仍在高位,低位仍在低位。請(qǐng)?zhí)羁铡?include<stdio.h>main(){longs,t,s1=10;pfintf("\n.Pleaseenters:");scanf("%1d",&s);t=s%10;while(s>0){s=s/100;t=();s1=s1*10;}printf("Theresultis:%1d\n",t);}
24.與表達(dá)式a+=b等價(jià)的另一書寫形式是______。
25.在算法的4個(gè)特性中,算法必須能在執(zhí)行有限個(gè)步驟之后終止指的是算法的______特性。
26.最簡(jiǎn)單的交換排序方法是______。
27.若有定義:inta=6,b=8,c=14;接著順序執(zhí)行下列語(yǔ)句后,變量c中的值是()。c=(b-=(a-5));a=(c%3)+(a=8);
28.以下程序的輸出結(jié)果是【】。
#include<stdio.h>
fun()
{staticinta=0;
a+=2;printf("%d",a);}
main()
{intcc;
for(cc=1;CC<4;CC++)fun();
printf("\n");}
29.若x和a均是int型變量,則計(jì)算完x=(a=4,6*2)后的x值為______。
30.以下程序的功能是將字符串s中的數(shù)字字符放入d數(shù)組中,最后輸出d中的字符串。例如,輸入字符串:abcl23edf456gh,執(zhí)行程序后輸出:123456。請(qǐng)?zhí)羁铡?/p>
#include<stdioo.h>
#include<ctype.h>
main()
{chars[80],d[80];inti,j;
gets(s);
for(i=j=0;s[i]!='\0';i++)
if(【】){d[j]=s[i];j++;}
d[j]='\0';
puts(d);
31.表示""整數(shù)x的絕對(duì)值大于5""時(shí)值為""真""的C語(yǔ)言表達(dá)式是【】。
32.若a是血型變量,且a的初值為4,則計(jì)算a+=a-=a*a表達(dá)式后a的值為______。
33.下面函數(shù)的功能是:找出一維數(shù)組元素中最大的值和它所在的下標(biāo),最大的值和它所在的下標(biāo)通過形參傳回。數(shù)組元素中的值已在主函數(shù)中賦予。主函數(shù)中x是數(shù)組名,n是x中的數(shù)據(jù)個(gè)數(shù),max存放最大值,index存放最大值所在元素的下標(biāo)。請(qǐng)?zhí)羁铡?/p>
#include<stdlib.h>
#include<stdio.h>
voidfun(inta[],intn,int*max,int*d)
{intI;
*max=a[0];
*d=0;
for(I=0;【】;I++)
if(*max<【】)
{*max=a[I];*d=i;}}
main()
{inti,x[20],max,index,n=10;
randomize();
for(i=0;i<n;i++)
{x[i]=rand()%50;printf("%4d",x[i]);}
printf("\n");
fun(x,n,&max,&index);
printf("Max=%5d,Index=%4d\n",max,index);}
34.下列程序的運(yùn)行結(jié)果是______。
main()
{intx=1,y=2,z=3;
printf("%d,",x<y?y:x);
printf("%d,",z<y?x++:y++);
printf("%d,%d",x,y);
}
35.以下程序的輸出是【】。
main()
{
charstr1[]="Howdoyoudo",*p1=str1;
strcpy(str1+strlen(str1)/2,"esshe");
printf("%s\n",p1);
}
36.一棵二叉樹第六層(根節(jié)點(diǎn)為第一層)的節(jié)點(diǎn)數(shù)最多為______。
37.棧中允許進(jìn)行插入和刪除的一端叫做______。
38.計(jì)算機(jī)中網(wǎng)絡(luò)通信協(xié)議IP是【】。
39.要求使下列程序輸出5個(gè)整數(shù),請(qǐng)?zhí)羁铡?/p>
for(i=0;i<=______;printf("%d\n",i+=2));
40.設(shè)有下列的程序段;
charstr[]="Hello";
char*ptr;
ptr=str;
執(zhí)行上面的程序段后,*(ptr+5)的值為______。
三、1.選擇題(20題)41.以下敘述中正確的是
A.用C程序?qū)崿F(xiàn)的算法必須要有輸入和輸出操作
B.用C程序?qū)崿F(xiàn)的算法可以沒有輸出但必須要有輸入
C.用C程序?qū)崿F(xiàn)的算法可以沒有輸入但必須要有輸出
D.用C程序?qū)崿F(xiàn)的算法可以既沒有輸入也沒有輸出
42.下列敘述中,不屬于軟件需求規(guī)格說(shuō)明書的作用的是()
A.便于用戶,開發(fā)人員進(jìn)行理解和交流
B.反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù)
C.作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)
D.便于開發(fā)人員進(jìn)行需求分析
43.以下敘述中正確的是_______。
A.預(yù)處理是指完成宏替換和文件包含中指定文件的調(diào)用
B.預(yù)處理也是C語(yǔ)句
C.C源程序中,凡是行首以#標(biāo)識(shí)的控制行都是預(yù)處理指令
D.預(yù)處理就是完成C編譯程序?qū)源程序的第一遍掃描,為編譯的詞法分析和語(yǔ)法分析做準(zhǔn)備
44.請(qǐng)閱讀以下程序:main(){inta=5,b=0,c=0;if(a=b+c)printf(”"***\n");elseprintf("$$$\n");}以上程序
A.有語(yǔ)法錯(cuò)不能通過編譯B.可以通過編譯但不能通過連接C.輸出***D.輸出$$$
45.有以下程序段:intn,t=1,s=0;scanf("%",&n);do{s=s+t;t=t-2;}while(t!=n);為使此程序段不陷入死循環(huán),從鍵盤輸入的數(shù)據(jù)應(yīng)該是()。
A.任意正奇數(shù)B.任意負(fù)偶數(shù)C.任意正偶數(shù)D.任意負(fù)奇數(shù)
46.軟件需求分析一般應(yīng)確定的是用戶對(duì)軟件的______。
A.功能需求B.非功能需求C.性能需求D.功能需求和非功能需求
47.對(duì)長(zhǎng)度為n的線性表進(jìn)行順序查找,在最壞的情況下需要比較的次數(shù)為()。
A.125B.n/2C.nD.n+1
48.擁有PC機(jī)并以撥號(hào)方式接入網(wǎng)絡(luò)的用戶需要配置()
A.CD-ROMB.ModemC.電話機(jī)D.鼠標(biāo)
49.在計(jì)算機(jī)內(nèi)部,一切信息存取、處理和傳送的形式是()
A.ASCⅡ碼B.BCD碼C.二進(jìn)制D.十六進(jìn)制
50.若有定義inta=5,b=7;,則表達(dá)式a%=(b%2)運(yùn)算后,a的值為()。
A.0B.1C.11D.3
51.下列敘述中正確的是()。
A.線性鏈表的各元素在存儲(chǔ)空間中的位置必須是連續(xù)的
B.線性鏈表的頭元素一定存儲(chǔ)在其他元素的前面
C.線性鏈表中的各元素在存儲(chǔ)空間中的位置不一定是連續(xù)的,但表頭元素一定存儲(chǔ)在其他元素的前面
D.線性鏈表中的各元素在存儲(chǔ)空間中的位置不一定是連續(xù)的,且各元素的存儲(chǔ)順序也是任意的
52.有以下程序:main(){inti=1,j=1,k=2;if((j++‖k++)&&i++)printf("%d,%d,%d\n",i,j,k);}執(zhí)行后的輸出結(jié)果是______。
A.1,1,2B.2,2,1C.2,2,2D.2,2,3
53.若x是整型變量,pb是基類型為整型的指針變量,則正確的賦值表達(dá)式是______。
A.pb=&x;B.pb=x;C.*pb=&x;D.*pb=*x
54.在軟件開發(fā)過程中,軟件結(jié)構(gòu)設(shè)計(jì)是描述______。
A.數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)B.軟件體系結(jié)構(gòu)C.軟件結(jié)構(gòu)測(cè)試D.軟件控制過程
55.下列敘述中,不屬于測(cè)試的特征的是
A.測(cè)試的挑剔性B.完全測(cè)試的不可能性C.測(cè)試的可靠性D.測(cè)試的經(jīng)濟(jì)性
56.有以下程序intx=3;do{printf("%d",x-=2);}while(!(--x));程序運(yùn)行后的輸出結(jié)果是()
A.1B.30C.1,-2D.死循環(huán)
57.以下程序#include<stdio.h>#include<string.h>main(){char*pl="abc",*p2="ABC",str[50]="xyz";strcpy(str+2,strcat(p1,p2));printf("%s\n",str);}的輸出是________。
A.xyzabcABCB.zabcABCC.yzabcABCD.xyabcABC
58.有以下程序
#include<stdio.h>
main()
{FILE*fp;inta[10]={1,2,3},i,n;
fp=fopen("d1.dat","w");
for(i=0;i<3;i++)fprintf(fp,"%d",a[i]);
fprintf(fp,"\n");
fclose(fp);
fp=fopen("d1.dat","r");
fscanf(fp,"%d",&n);
fclose(fp);
printf("%d\n",n);
}
程序的運(yùn)行結(jié)果是
A.12300B.123C.1D.321
59.程序中頭文件typel.h的內(nèi)容是:#defineN5#defineM1N*3程序如下:#include"type1.h”#defineM2N*2main(){inti;i=M1+M2;printf("%d\n",i);}程序編譯運(yùn)行后的輸出結(jié)果是()
A.10B.20C.25D.30
60.現(xiàn)有以下結(jié)構(gòu)體說(shuō)明和變量定義,如圖所示,指針p、q、r分別指向一個(gè)鏈表中連續(xù)的三個(gè)節(jié)點(diǎn)。structnode{chardata;structnode*next;}*p,*q,*r;
現(xiàn)要將q和r所指節(jié)點(diǎn)交換前后位置,同時(shí)要保持鏈表的連續(xù),以下不能完成此操作的語(yǔ)句是()。
A.q->next=r->next;p->next=r;r->next=q;
B.p->next=r;q->next=r->next;r->next=q;
C.q->next=r->next;r->next=q;p->next=r;
D.r->next=q;p->next=r;q->next=r->next;
四、選擇題(20題)61.
62.設(shè)intx=7,則~x的值是()。
A.-8B.7C.-1D.1
63.對(duì)于循環(huán)隊(duì)列,下列敘述中正確的是()。
A.循環(huán)隊(duì)列中元素的個(gè)數(shù)是由隊(duì)頭指針和隊(duì)尾指針共同決定的
B.在循環(huán)隊(duì)列中,只需要隊(duì)頭指針就能反映隊(duì)列中元素的動(dòng)態(tài)變化情況
C.在循環(huán)隊(duì)列中,隊(duì)頭指針一定大于隊(duì)尾指針
D.在循環(huán)隊(duì)列中,隊(duì)頭指針一定小于隊(duì)尾指針
64.有以下程序:
#include<stdio.h>
main()
{chars[]="012xy\O8s34f4w2‘;
inti;n=0;,
for(i=0;s[i]!=0;i++)
if(s[i]>=0s[i]<=9)n++;
printf("%d\n",n);
}
程序運(yùn)行后的輸出結(jié)果是()。
A.0B.3C.7D.8
65.耦合性和內(nèi)聚性是對(duì)模塊獨(dú)立性度量的兩個(gè)標(biāo)準(zhǔn)。下列敘述中正確的是()。
A.提高耦合性降低內(nèi)聚性有利于提高模塊的獨(dú)立性
B.降低耦合性提高內(nèi)聚性有利于提高模塊的獨(dú)立性
C.耦合性是指一個(gè)模塊內(nèi)部各個(gè)元素間彼此結(jié)合的緊密程度
D.內(nèi)聚性是指模塊間互相連接的緊密程度
66.
下列程序的輸出結(jié)果是()。
main
{inta,b,d=25;
a=d/10%9;
b=a&&(一1);
printf("%d,%d\n",a,b);}
A.6,1B.2,1C.6,0D.2,0
67.C語(yǔ)言中用于結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu)是A.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
B.if、switch、break
C.for、while、do-while
D.if、for、continue
68.若變量a,b已正確定義,且b已正確賦值,則合法的語(yǔ)句是()。
A.b=double(b);B.(int)a=(int)b;C.a=a++=5;D.a=double(b);
69.
70.在以下給出的表達(dá)式中,與while(E)中的(E)不等價(jià)的表達(dá)式是()。
71.有以下程序:
程序執(zhí)行后的輸出結(jié)果是()。
A.2B.3C.7D.0
72.設(shè)x,y和z都是int型變量,且x=3,y=4,z=5,則下列表達(dá)式中,值為0的表達(dá)式是
A.x&&yB.x<=y
C.x||++y&&y-zD.!(x<y&&!z||1)
73.以下程序的輸出結(jié)果是()。
main()
{inta=4,b=5,c=0,d;
d=!a&&!b║!c;
printf("%d\n",d);
}
A)1B)0
C)非0的數(shù)D)-1
74.若變量已正確定義,有以下程序段:
其輸出結(jié)果是()。
A.0,0B.0,1C.1,1D.程序進(jìn)入無(wú)限循環(huán)
75.下列字符數(shù)組初始化語(yǔ)句中,不正確的是()。
A.charc[]=goodmorning;
B.charc[20]="goodmorning";
C.charc[]={a,b,c,d);
D.charc[]={"ffgoodmorning"};
76.
77.設(shè)變量n為float類型,m為int類型,則以下能實(shí)現(xiàn)將n中的數(shù)值保留小數(shù)點(diǎn)后兩位,第三位進(jìn)行四舍五入運(yùn)算的表達(dá)式是()。
A.n=(n*100+0.5)/100.0
B.m=n*100+0.5,n=m/100.0
C.n=n*100+0.5/100.0
D.n=(n/100+0.5)*100.0
78.面向?qū)ο蠓椒ㄖ?,不屬于?duì)象基本特點(diǎn)的是()。
A.標(biāo)識(shí)唯一性B.分類性C.封裝性D.一致性
79.有兩個(gè)關(guān)系R和S如下:
則由關(guān)系R得到S的操作是()。
A.投影B.交C.選擇D.并
80.
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:計(jì)算str所指字符串中含有t所指字符串的數(shù)目,并作為函數(shù)值返回。
請(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)中填入所編寫的若干語(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.Afgets函數(shù)的功能是從fp所指文件中讀入n-1個(gè)字符放入以str為起始地址的空間內(nèi),讀取長(zhǎng)度不超過n-1,讀入結(jié)束后,自動(dòng)在最后添加’\\0’,選項(xiàng)A正確。本題答案為A選項(xiàng)。
2.D
3.C
4.A解析:函數(shù)getchar()的作用是從終端(或系統(tǒng)隱含指定的輸入設(shè)備)輸入一個(gè)字符,且只能接受一個(gè)字符(回車符也是一個(gè)字符)。故本題中變量c1被賦予字符a,c2被賦予回車符。
5.D
6.A隊(duì)列是一種特殊的線性表,只允許在表的一端插八元素,在表的另一端刪除元素,插入元素的一端叫“隊(duì)尾”,刪除元素的一端叫“隊(duì)頭”。先插入的元素先被刪除,是按“先進(jìn)先出”的原則組織數(shù)據(jù)的。
【知識(shí)拓展】“隊(duì)列”和“?!倍际且环N特殊的線性表。之所以稱之為“隊(duì)列”,其形式如“排隊(duì)”。要講究“先來(lái)后到”,先進(jìn)先出,后進(jìn)后出。
7.B
8.Asizeof是運(yùn)算符,計(jì)算數(shù)組、指針、類型、對(duì)象、函數(shù)等所占的字節(jié)大小。strlen(*char)是函數(shù),參數(shù)必須是字符型指針(char*)。該函數(shù)的功能是:返回字符串的長(zhǎng)度,不包括字符串結(jié)束標(biāo)識(shí)。“sizeof(a)”是求數(shù)組a所占空間的大小,包括字符串最后的‘\\0’。所以“sizeof(a)”=5,strlen遇到‘\\0’就結(jié)束,“strlen(a)”=4?!皊trier(b)”是指針指向的字符串長(zhǎng)度,“sizeof(b)”是指針的大小。“strlen(c)”是字符串的長(zhǎng)度,“sizeof(c)”是數(shù)組的長(zhǎng)度。因此,輸出結(jié)果是4,5,2,4,1,3,。故本題答案為A選項(xiàng)。
9.A解析:本題考查的是指向函數(shù)的指針。函數(shù)指針的定義方式是:類型標(biāo)識(shí)符(*指針變量名)()。其中,“類型標(biāo)識(shí)符”為函數(shù)返回值的類型;“指針”指向函數(shù)的入口地址。
10.B
11.C題干中,循環(huán)的作用是將輸入的字符串轉(zhuǎn)化為大寫,getchar函數(shù)讀入一個(gè)字符,putchar函數(shù)輸出一個(gè)字符,當(dāng)遇到‘#’字符結(jié)束?!皃utcha(++C);”,表示將字符變量c加1后輸出。當(dāng)輸入“aBcDefG##”時(shí),得到的結(jié)果是BCDEFGH。故本題答案為C選項(xiàng)。
12.A由題意可知:指針變量p指向變量a,p的值是a的地址;指針變量q指向變量p,q的值是P的地址。q是指針變量,q指向p,*q是變量P,選項(xiàng)A錯(cuò)誤;p是指針變量,p指向變量a,選項(xiàng)B正確;由于q指向P,因此*q指向a,選項(xiàng)C正確;*p和**q都代表變量a,選項(xiàng)D正確。故本題答案為A選項(xiàng)。
13.D
14.A
15.Astrcmp(char*,char*),函數(shù)strcmp用于比較兩個(gè)字符串的長(zhǎng)度,長(zhǎng)者為大,若字符個(gè)數(shù)也一樣,則從左至右依次比較相同位上的字符,字符大小按ASCIl表值計(jì)算,直到最后一個(gè)字符,若還相同,則兩個(gè)字符串相等,返回值0。選項(xiàng)A中if(strcmp(s2,sl)==0)ST,若s2等于sl,則返回值0,0等于0,所以邏輯表達(dá)式strcmp(s2,sl)==0為真,執(zhí)行ST。
16.C
17.CC語(yǔ)言中沒有規(guī)定“if(表達(dá)式)語(yǔ)句”中的“表達(dá)式”的形式,其可以是任意合法的表達(dá)式。故本題答案為C選項(xiàng)。
18.BC語(yǔ)言程序在運(yùn)行過程中的所有計(jì)算都以二進(jìn)制方式進(jìn)行,所以B選項(xiàng)錯(cuò)誤。故本題答案為B選項(xiàng)。
19.D
20.D輸出的結(jié)果是:-1,1\r\n0,2\r\n1,2
21.白盒法白盒法
22.345612
23.s%10*s1+t
24.a=a+ba=a+b解析:a+=b與a=a+b等價(jià),作用是把變量a的值加b后再賦給變量a。
25.有窮性有窮性解析:算法的4個(gè)基本特性包括:可靠性、確定性、有窮性和擁有足夠的情報(bào),其中,算法的有窮性指的是算法必須在有限的時(shí)間內(nèi)完成,即算法必須在執(zhí)行有限個(gè)步驟之后終止。
26.冒泡排序冒泡排序解析:交換排序是指借助數(shù)據(jù)元素之間的互相交換進(jìn)行排序的一種方法。冒泡排序是一種最簡(jiǎn)單的交換排序方法,它是通過相鄰元素之間的相互交換逐步將線性表變成有序。
27.77解析:本題考查基本賦值運(yùn)算符和賦值表達(dá)式。c=(b-=a-5))等價(jià)于c=b-(a-5)b=7。c%3=1,a=(c%3)+a=8)=9,但c的值在第二條語(yǔ)句只能夠并沒有被改變,因此c的值還是7。
28.246246解析:本題考查了for循環(huán)語(yǔ)句的使用,同時(shí)靜態(tài)局部變量的存儲(chǔ)和生存其特性也要注意。第一次執(zhí)行fun()函數(shù)時(shí),a=0,所以a+=2=2;第二次執(zhí)行fun()函數(shù)時(shí),a保留著上次制形式的結(jié)果2,所以a+=2=4;同理第三次執(zhí)行fun()函數(shù)時(shí),a=6,所以輸出結(jié)果為246。
29.1212解析:x=(表達(dá)式1,表達(dá)式2,…)的形式,結(jié)果為最后一個(gè)表達(dá)式的值:x=(a=4,6*2)=2*6=12。
30.s[i]>='0'&&s[i]<='9'或isdigit(s[i])s[i]>='0'&&s[i]<='9'或isdigit(s[i])解析:“chars[80],d[80];”定義了兩個(gè)字符型數(shù)組,可以放入80個(gè)字符。gets函數(shù)是C語(yǔ)言提供的一個(gè)專門用于讀字符串的函數(shù),它讀入全部字符(包括空格),直到遇到回車為止。本題中,讀入字符串s后,開始比較s中的每個(gè)字符是否為數(shù)字字符,因?yàn)樽址麛?shù)據(jù)在內(nèi)存中以相應(yīng)的ASCII碼存放,所以只需比較相應(yīng)的字符是否在'0'到'9'之間,或使用庫(kù)函數(shù)isdigit(),來(lái)判斷是否為數(shù)字字符。如果是數(shù)字字符則將此字符存入d數(shù)組中,不是則繼續(xù)進(jìn)行下一字符的比較,直至s結(jié)束(即'0'的出現(xiàn))。將'\\0'字符作為字符串d結(jié)束標(biāo)志,最后調(diào)用puts函數(shù)輸出d。所以空白處應(yīng)填入比較語(yǔ)句s[i]>>='0'&&s[i]<='9'或isdigit(s[i])以及其他任何等價(jià)表達(dá)式。
31.x>5||x<-5x<-5或x<-5||x>5x>5||x<-5,x<-5或x<-5||x>5解析:要使整數(shù)x的絕對(duì)值大于5,則x大于5或x小于5,用C語(yǔ)言表示即為:x>5||x<-5或者x<-5||x>5。故本題答案為;x>5||x<-5或者x<-5||x>5。
32.-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。
33.I<na[I]I<n,a[I]解析:該程序直接使用形參max和d,由于它們都是指針變量,所以要引用它們所指向的變量時(shí),要對(duì)它們進(jìn)行指針運(yùn)算,即*號(hào)運(yùn)算。
34.22132,2,1,3解析:本題考查++,--運(yùn)算符和條件運(yùn)算符的使用。
“表達(dá)式1?表達(dá)式2:表達(dá)式3”的功能是:表達(dá)式1的值若非0,則計(jì)算表達(dá)式2的值,且表達(dá)式2的值為最終結(jié)果;若表達(dá)式1的值為0,則計(jì)算表達(dá)式3的值,且為最終結(jié)果。
本題中,x=1,y=2時(shí),x<y成立,輸出y的值2;y=2,z=3時(shí),z<y不成立,執(zhí)行y++,輸出2后y值增1,所以最后一個(gè)輸出x的值不變?yōu)?,y的值為增加后的3。
35.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
36.在二叉樹的第k層上,最多有2k-1(k>1)個(gè)結(jié)點(diǎn)。
37.棧頂棧頂解析:棧是限定在表的一端進(jìn)行插入和刪除操作的線性表。在表中,允許插入和刪除的一端叫做“棧頂”,不允許插入和刪除的一端叫做“棧底”。
38.網(wǎng)際協(xié)議網(wǎng)際協(xié)議
39.88解析:本題考查基本的for循環(huán)條件,i+=2表示i每次遞增2,從0開始,輸出5個(gè)整數(shù)則需要的條件是i<=8。
40.'\0''\\0'解析:本題涉及字符數(shù)組和指針的兩個(gè)知識(shí)點(diǎn):①在C語(yǔ)言中,字符型數(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'。
41.C算法具有的5個(gè)特性是:有窮性、確定性、可行性、有0個(gè)或多個(gè)輸入、有一個(gè)或多個(gè)輸出。所以說(shuō),用C程序?qū)崿F(xiàn)的算法可以沒有輸入,但必須要有輸出。因此本題答案選C。
42.D解析:軟件需求規(guī)格說(shuō)明書SRS,SoftwareRequirementSpecification)是需求分析階段的最后成果,是軟件開發(fā)中的重要文檔之一。它有以下幾個(gè)方面的作用,①便于用戶、開發(fā)人員進(jìn)行理解和交流;②反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù);③作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)。
43.C解析:預(yù)處理功能主要有以下三種:宏定義、文件包含和條件編譯,所以A不正確。預(yù)處理不是C語(yǔ)句,所以B不正確。預(yù)處理命令是由ANSIC統(tǒng)—規(guī)定的,編譯程序不能識(shí)別它們,D也不正確。
44.D解析:解答本題時(shí),先判斷if語(yǔ)句,因?yàn)閍=b+c不成立,則執(zhí)行else語(yǔ)句。
45.D解析:要使程序段不陷入死循環(huán),必須存在終止循環(huán)的條件“t=n”,由于t的初始值為1,且每執(zhí)行一次循環(huán)都會(huì)使t的值減2,故執(zhí)行本程序后t有可能的最大值為-1,然后,每循環(huán)一次就減2,所以鍵盤輸入的n的值必須是t的值之一,即為任意負(fù)奇數(shù)。
46.DD?!窘馕觥寇浖枨蠓治鲋行枰獦?gòu)造一個(gè)完全的系統(tǒng)邏輯模型,理解用戶提出的每一功能與性能要求,使用戶明確自己的任務(wù)。因此,需求分析應(yīng)確定用戶對(duì)軟件的功能需求和非功能需求。
47.C解析:對(duì)線性表進(jìn)行順序查找時(shí),從表中的第一個(gè)元素開始,將給定的值與表中逐個(gè)元素的關(guān)鍵字進(jìn)行比較,直到兩者相符,查找到所要找的元素為止.在最壞的情況下,要查找的元素是表的最后一個(gè)元素或查找失敗,這兩種情況都需要將這個(gè)元素與表中的所有元素進(jìn)行比較,因此比較次數(shù)為n。
48.B
49.D
50.A解析:本題考查'%'運(yùn)算符的使用。運(yùn)算符'%'要求兩個(gè)運(yùn)算對(duì)象都為整型,其結(jié)果是整數(shù)除法的余數(shù)。本題中表達(dá)式ao%=(b%2)等價(jià)于a=a%o(b%2)=5%(7%2)=5%1=0。
51.DD.【解析】在線性鏈表中,各元素在存儲(chǔ)空間中的位置是任意的,各元素的順序也是任意的,依靠指針來(lái)實(shí)現(xiàn)數(shù)據(jù)元素的前后件關(guān)系。
52.C解析:本題考查“邏輯或”運(yùn)算的特例。本題中if語(yǔ)句的條件表達(dá)式為(j++||k++)&&i++,首先計(jì)算表達(dá)式(j++||k++)的值,++運(yùn)算符位于右側(cè),因此先取j、k當(dāng)前值進(jìn)行運(yùn)算,因j=1,所以表達(dá)式(j++||k++)的值為真,k++表達(dá)式不再執(zhí)行,故執(zhí)行完表達(dá)式(j++||k++)&&i++后,j=2、k=2、i=2。
53.A解析:選項(xiàng)A將變量x的地址賦紿指針變量pb,使pb指向x‘選項(xiàng)B是烙x的值當(dāng)作地址賦給指針pb,pb指向一個(gè)地址等于x值的內(nèi)存單元;選項(xiàng)c將x的地址賦給指針pb指向的地址等于x的內(nèi)存單元。
54.B解析:從工程管理解度來(lái)看,軟件設(shè)計(jì)分兩步完成:概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。概要設(shè)計(jì)(又稱結(jié)構(gòu)設(shè)計(jì))將軟件需求轉(zhuǎn)化為軟件體系結(jié)構(gòu)、確定系統(tǒng)級(jí)接口、全局?jǐn)?shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)庫(kù)模式。
55.C解析:軟件測(cè)試的目標(biāo)是在精心控制的環(huán)境下執(zhí)行程序,以發(fā)現(xiàn)程序中的錯(cuò)誤,給出程序可靠性的鑒定。它有3個(gè)方面的重要特征,即測(cè)試的挑剔性、完全測(cè)試的不可能性及測(cè)試的經(jīng)濟(jì)性。其中沒有測(cè)試的可靠性這一說(shuō)法。注意:軟件測(cè)試與軟件調(diào)試的概念,以及相應(yīng)的方法。
56.C
57.D解析:strcat(p1,P2)將字符串a(chǎn)bcABC放到了*pl所指向的存儲(chǔ)單元中;strcpy在本題將abcABC復(fù)制到str+2所指向的存儲(chǔ)單元中,即覆蓋原str數(shù)組中的字符z及其后的所有字符,故str的值為“xyabcABC”。
58.B解析:在函數(shù)中首先把整型數(shù)組a[10]中的每個(gè)元素寫入文件d1.dat中,然后再次打開這個(gè)文件,把文件d1.dat中的內(nèi)容讀入到整型變量n中,最后輸出變量n的值。
59.C
60.D解析:D中的操作將會(huì)丟失r后面的鏈表結(jié)構(gòu),不能保持鏈表的連續(xù)。
61.C
62.A本題主要考查按位求反運(yùn)算和C語(yǔ)言正負(fù)數(shù)的表示,“O”代表正數(shù),“1”代表負(fù)數(shù);x=7的二進(jìn)制為00111,第一個(gè)0代表正數(shù),~x為11000,第一個(gè)l代表負(fù)數(shù),值為8。
63.A\n循環(huán)隊(duì)列是將順序隊(duì)列首尾相連形成的,隨著插入元素或刪除元素的進(jìn)行,其隊(duì)頭指針及隊(duì)尾指針是在不斷變化的,有時(shí)可能會(huì)出現(xiàn)隊(duì)頭指針大于隊(duì)尾指針的情況,也可能是隊(duì)尾指針大于隊(duì)頭指針。
\n
64.B\n考查簡(jiǎn)單的C程序數(shù)組和循環(huán)。for循環(huán)是指i=0,如果s/[3]!=0,則i自動(dòng)加1。if循環(huán)指的是s[i]中的元素大于等于0且小于等于9,則n加l,所以答案為B。
\n
65.B模塊獨(dú)立性是指每個(gè)模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系最少且接口簡(jiǎn)單。一般較優(yōu)秀的軟件設(shè)計(jì),應(yīng)盡量做到高內(nèi)聚,低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨(dú)立性,所以A錯(cuò)誤,B正確。耦合性是模塊間互相連接的緊密程度的度量而內(nèi)聚性是指一個(gè)模塊內(nèi)部各個(gè)元素間彼此結(jié)合的緊密程度,所以C與D錯(cuò)誤。故答案為B選項(xiàng)。
66.B
\n當(dāng)邏輯運(yùn)算符“&&”兩邊的值是非零時(shí),邏輯表達(dá)式的值為真(即為1)。所以b=2&&(-1)=1,2%9=2,故a=2,故先算a/10=25/10=2。
\n
67.A解析:結(jié)構(gòu)化程序由3種基本結(jié)構(gòu)組成,即順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)(包括for語(yǔ)句、while語(yǔ)句及do…\u3000while語(yǔ)句)和選擇結(jié)構(gòu)(包括if語(yǔ)句和switch語(yǔ)句)。
68.B在C語(yǔ)名中規(guī)定進(jìn)行強(qiáng)制類型轉(zhuǎn)換的格式是:(類型名)變量名;并且給表達(dá)式賦值。
69.D
70.Bwhile語(yǔ)句中條件表達(dá)式E的值不為0即為真,認(rèn)為滿足條件,所以與B選項(xiàng)中表達(dá)式的含義正好相反,選擇B選項(xiàng)。
71.A因?yàn)閒un(intx)是一個(gè)遞歸函數(shù),所以主函數(shù)中fun(7)經(jīng)過3次遞歸調(diào)用,其過程可以描述為“fun(7)=7一fun(5)=7一(5一fun(3))=7一(5一(3一fun(1)))=7一(5一(3—3))=7—5=
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度數(shù)據(jù)中心機(jī)房設(shè)備安裝工程一切險(xiǎn)保險(xiǎn)協(xié)議3篇
- 專屬2024房產(chǎn)中介代理協(xié)議范例版B版
- 2025年度高新技術(shù)產(chǎn)業(yè)園區(qū)廠房租賃管理協(xié)議范本4篇
- 2025年度柴油運(yùn)輸合同涉及多式聯(lián)運(yùn)及無(wú)縫銜接4篇
- 專業(yè)服務(wù)協(xié)議草案(2024年修訂版)版B版
- 2025年度茶葉產(chǎn)業(yè)鏈金融服務(wù)合作協(xié)議8篇
- 2025年度城市綠道場(chǎng)地平整與生態(tài)景觀合同4篇
- 2025年度廠房建筑安全防護(hù)設(shè)施承包合同4篇
- 2025年度高科技產(chǎn)業(yè)員工勞動(dòng)合同范本4篇
- 2025年度廠房裝修項(xiàng)目進(jìn)度管理與支付協(xié)議4篇
- 2023年浙江省公務(wù)員考試面試真題解析
- GB/T 5796.3-2022梯形螺紋第3部分:基本尺寸
- GB/T 16407-2006聲學(xué)醫(yī)用體外壓力脈沖碎石機(jī)的聲場(chǎng)特性和測(cè)量
- 簡(jiǎn)潔藍(lán)色科技商業(yè)PPT模板
- 錢素云先進(jìn)事跡學(xué)習(xí)心得體會(huì)
- 道路客運(yùn)車輛安全檢查表
- 宋曉峰辣目洋子小品《來(lái)啦老妹兒》劇本臺(tái)詞手稿
- 附錄C(資料性)消防安全評(píng)估記錄表示例
- 噪音檢測(cè)記錄表
- 推薦系統(tǒng)之協(xié)同過濾算法
- 提高筒倉(cāng)滑模施工混凝土外觀質(zhì)量QC成果PPT
評(píng)論
0/150
提交評(píng)論