![2021-2022年云南省昆明市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測(cè)試卷一(含答案)_第1頁](http://file4.renrendoc.com/view/f4cf469e9167edfc1decc8948879c8fe/f4cf469e9167edfc1decc8948879c8fe1.gif)
![2021-2022年云南省昆明市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測(cè)試卷一(含答案)_第2頁](http://file4.renrendoc.com/view/f4cf469e9167edfc1decc8948879c8fe/f4cf469e9167edfc1decc8948879c8fe2.gif)
![2021-2022年云南省昆明市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測(cè)試卷一(含答案)_第3頁](http://file4.renrendoc.com/view/f4cf469e9167edfc1decc8948879c8fe/f4cf469e9167edfc1decc8948879c8fe3.gif)
![2021-2022年云南省昆明市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測(cè)試卷一(含答案)_第4頁](http://file4.renrendoc.com/view/f4cf469e9167edfc1decc8948879c8fe/f4cf469e9167edfc1decc8948879c8fe4.gif)
![2021-2022年云南省昆明市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測(cè)試卷一(含答案)_第5頁](http://file4.renrendoc.com/view/f4cf469e9167edfc1decc8948879c8fe/f4cf469e9167edfc1decc8948879c8fe5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021-2022年云南省昆明市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測(cè)試卷一(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.有以下程序:#include<stdio.h>intf(intx);main(){intn=1,m;m=f(f(f(n)));printf(“%d\n”,m);}intf(intx){returnx*2;}程序的運(yùn)行結(jié)果是()。
A.8B.2C.4D.1
2.有以下程序
#include<stdio.h>
main()
{inta[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL;
*q=*(p+5);
printf("%d%d\n",*p,*q);
}
程序運(yùn)行后的輸出結(jié)果是A.運(yùn)行后報(bào)錯(cuò)B.66C.611D.510
3.用不帶頭結(jié)點(diǎn)的單鏈表存儲(chǔ)隊(duì)列時(shí),其隊(duì)頭指針指向隊(duì)頭結(jié)點(diǎn),其隊(duì)尾指針指向隊(duì)尾結(jié)點(diǎn),則在進(jìn)行刪除操作時(shí)()。
A.僅修改隊(duì)頭指針B.僅修改隊(duì)尾指針C.隊(duì)頭、隊(duì)尾指針都要修改D.隊(duì)頭,隊(duì)尾指針都可能要修改
4.
5.讀取二進(jìn)制文件的函數(shù)調(diào)用形式為“fread(buffer,size,count,fp);”,其中buffer代表的是()。
A.—個(gè)內(nèi)存塊的字節(jié)數(shù)
B.—個(gè)整型變量,代表待讀取的數(shù)據(jù)的字節(jié)數(shù)
C.一個(gè)文件指針,指向待讀取的文件
D.—個(gè)內(nèi)存塊的首地址,代表讀入數(shù)據(jù)存放的地址
6.設(shè)有定義的語句:“charc1=92,c2=92;”,則以下表達(dá)式中的值為零的是()。
A.c1^c2B.c1&c2C.~c2D.c1|c2
7.考慮函數(shù)原型voidtest(inta,intb=7,charz='*'),下面的函數(shù)調(diào)用中,屬于不合法調(diào)用的是()。
A.test(5)B.test(5,8)C.test(6,'#')D.test(0,0,'*')
8.在具有n個(gè)結(jié)點(diǎn)的單鏈表中,實(shí)現(xiàn)()的操作,其算法的時(shí)間復(fù)雜度是O。
A.求鏈表的第i個(gè)結(jié)點(diǎn)B.在地址為P的結(jié)點(diǎn)之后插入一個(gè)結(jié)點(diǎn)C.刪除表頭結(jié)點(diǎn)D.刪除地址為P的結(jié)點(diǎn)的后繼結(jié)點(diǎn)
9.
10.有以下程序:
#include<stdio.h>
main()
{ints=0.n;
for(n=0;n<3;n++)
{switch(s)
{case0;
case1:s+=1;
case2:s+=2;break;
case3:S+=3;
default:s+=4;
}
printf("%d,"s);
}
}
程序運(yùn)行后的輸出結(jié)果是()。
A.1,2,4,
B.1,3,6,
C.3,10,14,
D.3,6,10,
11.有一個(gè)100×90的稀疏矩陣,非0元素有10,設(shè)每個(gè)整型數(shù)占2個(gè)字節(jié),則用三元組表示該矩陣時(shí),所需的字節(jié)數(shù)是()。
A.20B.66C.18000D.33
12.下列選項(xiàng)中不是字符常量的是()。
A.'\v'B.'\x2a'C.'a'D."\0"
13.下面程序的輸出結(jié)果是()。
#include<stdio.h>
main()
{inta[4][5]={1,2,4,-4,5,-9,3,6,-3,2,7,8,4};
inti,j,n;
n=9;
i=n/5;
j=n-i*5-1;
printf("a[%d][%d]=%d\n",i,j,a[i][j]);
}
執(zhí)行后輸出結(jié)果是()。A.A.a[1][3]=6
B.a[1][3]=-3
C.a[1][3]=2
D.不確定
14.有下列程序: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]-t\0)%2)num=10*num+p[j][j]-0;j+=2;}}printf("%d\n",num);}程序執(zhí)行后的輸出結(jié)果是()。A.35B.37C.39D.3975
15.算法的時(shí)間復(fù)雜度是指A.算法的執(zhí)行時(shí)間B.算法所處理的數(shù)據(jù)量C.算法程序中的語句或指令條數(shù)D.算法在執(zhí)行過程中所需要的基本運(yùn)算次數(shù)
16.
17.設(shè)變量a是整型,f是實(shí)型,i是雙精度型,則表達(dá)式10+'a'+i*f值的數(shù)據(jù)類型為()。
A.intB.floatC.doubleD.不確定
18.已知廣義表LS=((a,b,c),(d,e,f)),運(yùn)用head和tail函數(shù)取出LS中原子e的運(yùn)算是()。
A.head(tail(LS))
B.tail(head(LS))
C.head(tail(head(tail(LS)))
D.head(tail(tail(head(LS))))
19.下列表達(dá)式中,可以正確表示的關(guān)系是()。
A.(x>=1)10(x<=0)B.x>1‖x=0C.x>=1ORx<=0D.X>=1&&x<=0
20.有三個(gè)關(guān)系R、S和T如下:由關(guān)系R和S得到關(guān)系T的操作是()。A.自然連接B.交C.除D.并
二、2.填空題(20題)21.【】是數(shù)據(jù)庫設(shè)計(jì)的核心。
22.以下程序的輸出結(jié)果是【】。
main()
{chars[]=“abcdef”;
s[3]='\0';
printf(“%s\n”,s);
}
23.以下程序運(yùn)行后的輸出結(jié)果是______。
main()
{
chara[]="Language",b[]="Programe";
char*p1,*p2;
intk;
p1=a;p2=b;
for(k=0;k<=7;k++)
if(*p1+k)==*{p2+k))
printf("%c",*(p1+k));
}
24.語句:x++;++x;x=1+x;執(zhí)行后都使變量x中的值增1,請(qǐng)寫出一條同一功能的賦值語句______。
25.通常,將軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過程稱為【】。
26.某二叉樹中度為2的結(jié)點(diǎn)有18個(gè),則該二叉樹中有【】個(gè)葉子結(jié)點(diǎn)。
27.若有如下結(jié)構(gòu)體說明:
structSTRU
{inta,b;charc:doubled;
structSTRU*p1,*p2;
};
請(qǐng)?zhí)羁?,以完成?duì)t數(shù)組的定義,t數(shù)組的每個(gè)元素為該結(jié)構(gòu)體類型。
【】t[20]
28.執(zhí)行以下程序,輸入-10的結(jié)果是【】,輸入5的結(jié)果是【】,輸入10的結(jié)果是
【】,輸入30的結(jié)果是【】。
#include<stdio.h>
main()
{
intx,c,m;
floaty;
scanf("%d",&x);
if(x<0)c=-1
elsec=x/10;
switch(c)
{
case-1;y=0;break;
case0;y=x;break;
case1;y=10;break
case2:
case3;y=-0.5*x+20;break;
default:y=-2;
}
if(y!=-2)printf("y=%f"\n",y);
elseprintf("error\n");
}
29.以下程序的功能是調(diào)用函數(shù)fun計(jì)算:m=1-2+3-4+…+9-10,并輸出結(jié)果。請(qǐng)?zhí)羁铡?/p>
intfun(intn)
{intm=0,f=1,i;
for(i=1;i<=n;i++)
m+=i*f;
f=【】;
returnm;
}
main()
{printf("m=%d\n",【】);}
30.若fp已正確定義為一個(gè)文件指針,d1.dat為二進(jìn)制文件,請(qǐng)?zhí)羁?,以便為“讀”而打開此文件:
fp=fopen(【】);。
31.有以下程序
#include<stdio.h>
main()
{charch1,ch2;intn1,n2;
ch1=getchar();ch2=getchar();
n1=ch1-'()';n2=n1*10+(ch2-'()');
printf("%d\n",n2);
}
程序運(yùn)行時(shí)輸入:12<回車>,執(zhí)行后輸出結(jié)果是【】。
32.在面向?qū)ο蠓椒ㄖ?,【】描述的是具有相似屬性與操作的一組對(duì)象。
33.以下程序通過函數(shù)指針p調(diào)用函數(shù)fun,請(qǐng)?jiān)谔羁諜趦?nèi)寫出定義變量p的語句。
voidfun(int*x,int*y)
{……}
main()
{inta=10,b=20;
【】:
p=fun;p(&a,&b);
……
}
34.在面向?qū)ο蠓椒ㄖ校惖膶?shí)例稱為______。
35.下列程序的輸出結(jié)果是______。
#include<stdio.h>
intfun(intx)
{intp;
if(x==0‖x==1)
return3;
else
p=x-fun(x-2);
returnp;
}
voidmain()
{printf("\n%d",fun(11));
}
36.對(duì)長度為8的線性表進(jìn)行冒泡排序,最壞情況下需要比較的次數(shù)為()。
37.已知head指向一個(gè)帶頭結(jié)點(diǎn)的單向鏈表,鏈表中每個(gè)結(jié)點(diǎn)包含數(shù)據(jù)域(data)和指針域(next),數(shù)據(jù)域?yàn)檎?。以下函?shù)求出鏈表中所有鏈結(jié)點(diǎn)數(shù)據(jù)域的和值,作為函數(shù)值返回。請(qǐng)?jiān)谙聞澗€內(nèi)填入正確內(nèi)容。
{intdata;structlink*next;}
main()
{structlink*head;
┆
sum(head);
┆}
sum(【】);
{structlink*p;ints=0;
p=head->next;
while(p){s+=p->data;p=p->next;}
return(s);}
38.下列程序的運(yùn)行結(jié)果是______。
#include<stdio.h>
main()
{inta,b,c;
a=3;b=4;c=5;
if(a>b)
if(a>c)
printf("%d",a);
elseprintf("%d",b);
printf("%d\n",c);
}
39.有以下程序:
#include<stdio.h>
main()
{inta[]={1,2,3,4,5,6,7,8,9,10,11,12},*p=a+5,*q=NULL;
*q=*(p+5);
printf("%d%d\n",*p,*q);
}
程序運(yùn)行后的輸出結(jié)果是【】。
40.當(dāng)循環(huán)隊(duì)列非空且隊(duì)尾指針等于隊(duì)頭指針時(shí),說明循環(huán)隊(duì)列已滿,不能進(jìn)行入隊(duì)運(yùn)算。這種情況稱為【】。
三、1.選擇題(20題)41.有以下程序voidf(intv,intw){intt;t=v;v=w;w=t}main(){intx=1,y=3,z=2;if(x>y)f(x,y);elseif(y>z)f(y,z);elsef(x,z);pfintf("%d,%d,%d\n",x,y,2);}執(zhí)行后輸出結(jié)果是
A.1,2,3B.3,1,2C.1,3,2D.2,3,1
42.在下面語句中,其含義為“p為指向含n個(gè)元素的一維數(shù)組的指針變量”的定義語句是()
A.intp[n]B.int*p();C.int*p(n);D.int(*p)[n]
43.能正確表示C語言的字符常量的是______。
A.'\0x41'B.AC.'\0'D.\0
44.C語言中邏輯表達(dá)式的值為()
A.0或1B.非零值或者零值C.ture或falseD.'ture'或者'false'
45.下列實(shí)體的聯(lián)系中,屬于多對(duì)多聯(lián)系的是()
A.學(xué)生與課程B.學(xué)校與校長C.住院的病人與病床D.工資級(jí)別與職工
46.下列程序的運(yùn)行結(jié)果是()
#include<stdio.h>
main()
{intx=5,a=1,b=2,c=5,d=0;
if(a<b)
if(b!=3)
if(!c)
x=1;
else
if(d)x=l;
elsex=-1;
printf("%d",x);
}
A.-1B.0C.1D.不確定的值
47.以下符合C語言語法的實(shí)型常量是
A.1.2E0.5B.3.14159EC.5.00E-03D.E15
48.______是構(gòu)成C語言程序的基本單位。
A.函數(shù)B.過程C.子程序D.子例程
49.有以下程序main(){intx=10,y=10;printf("%d%d\n",x--,--y);}程序運(yùn)行后的輸出結(jié)果是()
A.1010B.99C.910D.109
50.以下程序的輸出結(jié)果是()。main(){inti,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1];for(i=O;i<4;i+2)printf("%d",p[i]);}
A.52B.51C.53D.97
51.下面的概念中,不屬于面向?qū)ο蠓椒ǖ氖?)。
A.對(duì)象B.繼承C.類D.過程調(diào)用
52.下面不屬于軟件設(shè)計(jì)原則的是()。
A.抽象B.模塊化C.自底向上D.信息隱蔽
53.有以下程序:main(){inta[3][3],*p.i;p=&a[0][0];for(i=0;i<9;i++)p[i]=i;for(i=0;i<3;i++)printf("%d",a[1][i]);}程序運(yùn)行后的輸出結(jié)果是()。
A.012B.123C.234D.345
54.有以下程序:intf(intb[][4]){inti,j,s=0;for(j=0;i<4;i++){i=j;if(i>2)i=3-j;s+=b[i][j];}returns;}main(){inta[4][4]={{1,2,3,4,},{0,2,4,6},{3,6,9,12},{3,2,1,0}};printf("%d\n",f(a));}執(zhí)行后的輸出結(jié)果是()。
A.12B.11C.18D.16
55.下列的程序用來輸出兩個(gè)字符串前7個(gè)字符中對(duì)應(yīng)相等的字符及其位置號(hào),程序空白處應(yīng)該填寫的是()。#include<stdio.h>main(){chars1[]="chinese",s2[]="japnese";inti;for(i=0;s1[i]!='\0'&&s2[i]!='\0';i++)if(s1[i]==s2[i]&&i<7)__________________;}
A.putchar(s2[i]);putchar(i)
B.puts(s1[i],i)
C.printf("%c%d\n",s2[i],i)
D.printf("%c",s1[i]);printf("%d\n",i)
56.有以下程序:main(){charnn[4][3]={"12","34","56","78"),*pn[4];intk,s=0;for(k=0;k<4;k++)pn[k)=nn[k];for(k=1;k<4;k+=2)s=s*10+pn[k][1]-'0';printf("%d\n",s);}程序的輸出結(jié)果是()
A.48B.26C.3478D.576
57.以下數(shù)組定義中不正確的是_______。
A.inta[2][3];
B.intb[][3]={0,1,2};
C.intc[100][100={0};
D.intd[3][]={{1,2},{1,2,3},{1,2,3,4}};
58.在順序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找關(guān)鍵碼值11,所需的關(guān)鍵碼比較次數(shù)為______。
A.2B.3C.4D.5
59.若有程序fun(inta,intb){staticintc=0;c+=a+b;returmc;}main(){intx=5,y=3,z=7,r;r=fun((y,x+y),z);r=fun(x,y);printf("%d\n",r);}
A.23B.15C.19D.18
60.下列說法不正確的是()。
A.一個(gè)C語言源程序可以由一個(gè)函數(shù)組成也可以由多個(gè)函數(shù)組成
B.main()中的“()”是函數(shù)的參數(shù)部分,括號(hào)內(nèi)可為空,但括號(hào)不能省略
C.C語言程序是以函數(shù)為基本單位的
D.在C語言程序中,注釋行只能位于一條語句的后面
四、選擇題(20題)61.算法是指()。
A.計(jì)算機(jī)程序
B.解決問題的計(jì)算方法
C.排序算法
D.解決問題的有限運(yùn)算序列
62.有以下程序:
若運(yùn)行時(shí)輸入:246<;回車>;,則輸出結(jié)果為()。
A.204B.200C.240D.246
63.
64.有以下程序:
#include<stdio.h>
main()
{inta=2,b;
b=a<<2;printf("%d\n",b);
}
程序運(yùn)行后的輸出結(jié)果是()。
A.2
B.4
C.6
D.8
65.下列敘述中正確的是()。
A.有一個(gè)以上根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是非線性結(jié)構(gòu)
B.只有一個(gè)根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是線性結(jié)構(gòu)
C.循環(huán)鏈表是非線性結(jié)構(gòu)
D.雙向鏈表是非線性結(jié)構(gòu)
66.
67.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.ABCDDEFEDBD
B.abcDDfefDbD
C.abcAAfefAbA
D.Abcddfefdbd
68.
69.
70.設(shè)有定義:intX=2;,以下表達(dá)式中,值不為6的是()。
A.2*x.x+=2B.x++,2*xC.x*=(1+x)D.x*!x+1
71.若有條件表達(dá)式
則以下表達(dá)式中能完全等價(jià)于表達(dá)式(exp.的是()。
A.(exp==0)B.(exp!=0)C.(exp==1)D.(exp!=1)
72.若有代數(shù)式(其中e僅代表自然對(duì)數(shù)的底數(shù),不是變量),則以下能夠正確表示該代數(shù)式的c語言表達(dá)式是()。
73.
74.
75.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.22B.76C.72D.62
76.
77.
78.
有以下程序:
fun(intx,inty){return(x+y);)
main
{inta=1,b=2,c=2,sum;
sum=fun((a++,b++,a+b),c++);
printf("%d\n",sum);
}
執(zhí)行后的結(jié)果是()。
A.6B.7C.8D.9
79.針對(duì)簡(jiǎn)單程序設(shè)計(jì),以下敘述的實(shí)施步驟順序正確的是()。
A.確定算法和數(shù)據(jù)結(jié)構(gòu)、編碼、調(diào)試、整理文檔
B.編碼、確定算法和數(shù)據(jù)結(jié)構(gòu)、調(diào)試、整理文檔
C.整理文檔、確定算法和數(shù)據(jù)結(jié)構(gòu)、編碼、調(diào)試
D.確定算法和數(shù)據(jù)結(jié)構(gòu)、調(diào)試、編碼、整理文檔
80.
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的作用是:將字符串str中的大寫字母都改為對(duì)應(yīng)的小寫字母,其他字符不變。例如,若輸入“abD,dFAD”,則輸出“abd,dfad”。請(qǐng)修改函數(shù)proc()中的錯(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.A第1次調(diào)用為m=f(f(f(1))),第2次調(diào)用為m=f(f(2)),第3次調(diào)用為m=f(4),即返回值為8。故本題答案為A選項(xiàng)。
2.C解析:本題中第一行代碼對(duì)指針P進(jìn)行了初始化,其指向數(shù)組a的第6個(gè)元素,在其后的操作中p的值也沒有改變過,所以最后輸出*p=*\u3000\u3000(p+0)\u3000\u3000=a\u3000[5]\u3000=6,而第二行代碼中對(duì)q指向的值進(jìn)行賦值,等價(jià)于*q=a[10]=11,所以輸出結(jié)果*q為11。
3.D
4.C
5.D函數(shù)原型“fread(void*buffer,sizetsize,sizetcount,FILE*stream)”的功能是從一個(gè)文件流中讀數(shù)據(jù),讀取count個(gè)元素,每個(gè)元素size字節(jié)。如果調(diào)用成功,返回count。buffer用于接收數(shù)據(jù)的內(nèi)存地址,大小至少是size*count字節(jié);size是單個(gè)元素的大小,單位是字節(jié);count是元素的個(gè)數(shù),每個(gè)元素是size字節(jié);stream是輸入流。故本題答案為D選項(xiàng)。
6.A當(dāng)值相同時(shí)按位異或,則為0,按位或與按位與時(shí)仍不變,負(fù)數(shù)也為非0。
7.C
8.A
9.D
10.C\n本題考查switch…ease語句,在本題的程序中,只有在case2:s=s+2;break;,才有break語句,所以當(dāng)s=0時(shí)會(huì)執(zhí)行s=s+1;s=s+2;,所以s=3,當(dāng)s=3時(shí),會(huì)執(zhí)行s=s十3;s=s+4;,所以s=10,依此類推,答案選擇C。
\n
11.B
12.Dc語言規(guī)定,一個(gè)字符常量代表ASCII碼字符集里的一個(gè)字符,在群序中用單引號(hào)括起來,以便區(qū)分。'\v'表示的是豎向跳格:'kx2a'表示的是兩位十六迸制數(shù);'a'表示的是字符a對(duì)應(yīng)的ASCII碼值。"\0"用雙引號(hào)故不正確。
13.Bn=9,i=n/5=1;j=9-1*5-1=3,輸出為a[1][3]=-3
14.D執(zhí)行第一次for循環(huán)時(shí),用表達(dá)式p[i][J]!=\o來判斷字符串?dāng)?shù)組指針P是否到達(dá)字符串的結(jié)尾,如果沒有到達(dá),繼續(xù)執(zhí)行while中的語句。if語句表示(p[i][j]-\o)除2的余數(shù)不為0時(shí),即字符串所有奇數(shù),執(zhí)行后面的語句。所以退出第1次for的循環(huán)體時(shí),輸出為397,執(zhí)行第2次循環(huán)體。對(duì)字符串“2584”進(jìn)行處理,輸出結(jié)果為5,因而最后輸出結(jié)果為3975。
15.DD。【解析】算法的時(shí)間復(fù)雜度是指算法需要消耗的時(shí)間資源。一般來說,計(jì)算機(jī)算法是問題規(guī)模。09函數(shù)fin),算法的時(shí)間復(fù)雜度也因此記做T(n)=O(f(n))。因此,問題的規(guī)模n越大,算法執(zhí)行的時(shí)間的增長率與f(n)的增長率正相關(guān),稱作漸進(jìn)時(shí)間復(fù)雜度(AsymptoticTimeComplexity)。簡(jiǎn)單來說就是算法在執(zhí)行過程中所需要的基本運(yùn)算次數(shù)。
16.A
17.C
18.C
19.A解析:題中要求x的取值是小于等于0或者大于等于1,這說明表達(dá)式是或的關(guān)系,所以在寫成C語言表達(dá)式應(yīng)是邏輯或的關(guān)系,邏輯或運(yùn)算符是'‖'。
20.C由圖所知,其中,C中只有一個(gè)屬性,是除操作。
21.數(shù)據(jù)模型數(shù)據(jù)模型
22.abcabc解析:字符串的結(jié)束標(biāo)記'\\0',當(dāng)輸出一個(gè)存放在字符數(shù)組中的字符串時(shí),只需輸出到'\\0'為止,而不管其后有什么數(shù)據(jù)。本題給字符數(shù)組s的元素s[3]賦值為'\\0',故只能輸出3個(gè)字符“abc”。
23.gaegae解析:主函數(shù)中定義了字符數(shù)組a和b,其初值分別為Language和Programe,然后定義了兩個(gè)指針變量p1和p2,并讓它們指向a和b。通過分析可知下面的for循環(huán)中,每循環(huán)一次就將pl+k和p2+k所指向的字符進(jìn)行比較,如果相等,輸出該字符,循環(huán)共執(zhí)行8次,顯然Language和Programe中只有字符gae相等,所以最后輸出為gae。
24.x+=1x+=1解析:本題考查“++”,“--”運(yùn)算符。“++”、“--”只能作用于變量,不能用于表達(dá)式或常量;前綴形式是在使用變量之前先將其值增1或減1,后綴形式是先使用變量原來的值,使用完后再使其增1或減1。
25.軟件生命周期軟件生命周期解析:軟件產(chǎn)品從考慮其概念開始,到該軟件產(chǎn)品不能使用為止的整個(gè)時(shí)期都屬于軟件生命周期。一般包括可行性研究與需求分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試、交付使用以及維護(hù)等活動(dòng)。
26.1919解析:根據(jù)二叉樹的性質(zhì):在任意一棵二叉樹中,度為。的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè)。本題中度為2的結(jié)點(diǎn)數(shù)為18,故葉子結(jié)點(diǎn)數(shù)為18+1=19個(gè)。
27.strudctSTRUstrudctSTRU解析:結(jié)構(gòu)件類型是構(gòu)造數(shù)據(jù)類型,是用戶自己定義的一種類型。
結(jié)構(gòu)體類型的定義:
struct結(jié)構(gòu)體類型名
{
成員項(xiàng)表;
};
定義結(jié)構(gòu)體變量的的形式為:
struct結(jié)構(gòu)體類型名變量1,變量2,...?
其中變量包括;一般變量、指針變量、數(shù)組變量等。
28.05105
29.-f或f*-1或-1*f或f*(-1)或(-1)*ffun(10)-f或f*-1或-1*f或f*(-1)或(-1)*f\r\nfun(10)解析:調(diào)用fun()函數(shù)計(jì)算m的值,在主函數(shù)中的空格處應(yīng)該填調(diào)用fun()函數(shù)的語句。fun()函數(shù)有一個(gè)形參n,為每次參加計(jì)算的值的個(gè)數(shù),故在主函數(shù)中的空格處應(yīng)該填fun(10),回到fun()函數(shù),函數(shù)用到了一個(gè)for循環(huán),共循環(huán)n次,當(dāng)循環(huán)第i次的時(shí)候,m的值等于m=1-2+……+[(-1)的i-1次方]*i,所以在fun()函數(shù)的空格處應(yīng)該填使f改變符號(hào)的語句,故應(yīng)填-f或f*-1或-1*f或f*(-1)或(-1)*f。
30.d1.dat"rb"d1.dat,'rb'解析:打開文件的函數(shù)為fopen('文件名','mode'),其中'mode'表示文件的打開方式。如果打開的是二進(jìn)制文件,其mode字符串可以是:'rb'、'wb'、'ab'、'rb+'、'wb+'、'ab+'。'r'表示以只讀方式打開。'w'表示以寫方式打開,如果已存在該文件名的文件,文件中的內(nèi)容將被清空。若文件名不存在,則將創(chuàng)建該文件。'a'為追加方式打開。若文件存在時(shí),將打開這個(gè)文件并且在文件的末尾進(jìn)行追加。當(dāng)文件不存在,將創(chuàng)建新文件。'r+'打開一個(gè)已存在文件用于更新(可讀可寫)。\'w+'創(chuàng)建一個(gè)新文件用于更新,如果文件存在,文件被重寫(可讀可寫)。'a+'打開用于追加,當(dāng)文件不存在時(shí),創(chuàng)建新文件,并在文件末尾進(jìn)行追加(可讀可寫)。根據(jù)題意,應(yīng)該填'd1.dat','rb'。
31.1212解析:字符類型的數(shù)據(jù)在內(nèi)存中以相應(yīng)的ASCII碼存放,在C語言中,字符數(shù)據(jù)可以等價(jià)為與其相應(yīng)的ASCII碼的整數(shù),還可以作為整數(shù)參加運(yùn)算。在本題中,n1=h1-0'=1-0=49-48=1,n2=n1*10+(ch2-'0')=1*10+(2-0)=10+2=12。
32.類類解析:在面向?qū)ο蠓椒ㄖ?,類描述的是具有相似屬性與操作的一組對(duì)象。
33.void(*p)();void(*p)();解析:要定義p為指向函數(shù)的指針變量,需寫成void(*p)();,注意*p兩側(cè)的括弧不可以省略,表示P先與*結(jié)合,是指針變量,再與后面的()結(jié)合,表示此指針變量指向函數(shù),這個(gè)函數(shù)無返回值(同fun()函數(shù))。
34.對(duì)象對(duì)象解析:類描述的是具有相似性質(zhì)的一組對(duì)象。例如,每本具體的書是一個(gè)對(duì)象,而這些具體的書都有共同的性質(zhì),它們都屬于更一般的概念“書”這一類對(duì)象。一個(gè)具體對(duì)象稱為類的實(shí)例。
35.44解析:本題考查函數(shù)的遞歸調(diào)用.在主函數(shù)中第1次調(diào)用于函數(shù)是調(diào)用的fun(11),返回11-fun(9);第2次調(diào)用于函數(shù)是調(diào)用的fun(9),返回9-fun(7);第3次調(diào)用于函數(shù)是調(diào)用的fun(7),返回7-fun(5):第4次調(diào)用子函數(shù)是調(diào)用的fun(5),返回5-fun(3):第5次調(diào)用于函數(shù)是調(diào)用的fun(3),返回3-fun(1):第6次調(diào)用于函數(shù)是調(diào)用的fun(1),返回3??偟姆祷刂凳牵?1-(9-(7-(5-(3-3))))=4.
36.2828解析:在最壞情況下,冒泡排序所需要的比較次數(shù)為n(n-1)/2;簡(jiǎn)單插入排序所需要的比較次數(shù)為n(n-1)/2;希爾排序所需要的比較次數(shù)為O(n1.5);堆排序所需要的比較次數(shù)為O(nlog2n)。
37.structlink*headstructlink*head解析:因?yàn)楸绢}中是用結(jié)構(gòu)體變量構(gòu)成了鏈表,所以要從鏈表頭節(jié)點(diǎn)逐個(gè)節(jié)點(diǎn)的引用結(jié)構(gòu)體的數(shù)據(jù)域,需要有個(gè)指向結(jié)構(gòu)體變量的指針依次指向各個(gè)節(jié)點(diǎn),即p=p->next,而用指針引用結(jié)構(gòu)體成員數(shù)據(jù)的方法為:p->data。注意:結(jié)構(gòu)體變量和共用體變量之間的區(qū)別為聯(lián)系。
38.55解析:分析程序,當(dāng)a=3;b=4;c=5時(shí),判斷語句a>b不成立,所以不執(zhí)行后面的語句,直接執(zhí)行“printf('%d\\n',c);”語句,輸出c的值,輸出結(jié)果為5。
39.運(yùn)行后報(bào)錯(cuò)運(yùn)行后報(bào)錯(cuò)解析:指針q沒有指向確定的存儲(chǔ)單元,故不能賦值。
40.上溢上溢解析:入隊(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)算,這種情況稱為“上溢”。
41.C解析:C語言規(guī)定else總是和離它最近的if語句配對(duì)。分析可以知道,函數(shù)f()作用是讓形參v和形參w的值交換。在主函數(shù)中首先定義了三個(gè)變量x、y和z。然后再執(zhí)行下面的if-else語句。由程序可以看出第一個(gè)else和第一個(gè)if搭配,第二個(gè)else和第二個(gè)if搭配。由于調(diào)用函數(shù)時(shí)是進(jìn)行值傳遞的。即將實(shí)參x,y,z傳給形參v和w,以后形參和實(shí)參再無聯(lián)系,故通過if語句調(diào)用f()函數(shù)后,x、y和x的值并沒有改變。故最后輸出的x、y和z的值為1、3和2。
42.D
43.C解析:?jiǎn)我?hào)中,大寫或小寫字母(只限一個(gè))代表不同的字符常量,不能用雙引號(hào):?jiǎn)我?hào)中,一個(gè)反斜線后跟一個(gè)指定的字符,表示一個(gè)特定的ASCⅡ字符,且反斜線后的八進(jìn)制數(shù)可不用。開頭,其后的十六進(jìn)制數(shù)只能以小寫的x開頭。
44.A
45.AA本題考查關(guān)系數(shù)據(jù)庫中實(shí)體之間的聯(lián)系。實(shí)體之間的聯(lián)系有3種:一對(duì)一關(guān)系、一對(duì)多關(guān)系和多對(duì)多關(guān)系。一個(gè)學(xué)生可以選擇多門課程,一門課程可被多個(gè)學(xué)生選擇,所以學(xué)生與課程之間是多對(duì)多的聯(lián)系
46.A解析:本題考查ifelse語句。第1個(gè)if語句,先判斷條件,發(fā)現(xiàn)a<b條件成立,執(zhí)行下列的語句;第2個(gè)汀語句,先判斷條件,發(fā)現(xiàn)b!=3條件成立,執(zhí)行下列的語句;第3個(gè)汀語句,先判斷條件,c=5,則!c條件不成立,執(zhí)行與其配對(duì)的else語句:第4個(gè)if語句,先判斷條件,d=0,條件不成立,則x=-1,結(jié)束循環(huán)。
47.C解析:在C語言中,可以用指數(shù)形式將實(shí)型常量表示為數(shù)值和指數(shù)兩部分,數(shù)值部分不能為空,指數(shù)部分只能為整數(shù)表示。選項(xiàng)A中1.2和0.5都不是整數(shù),故選項(xiàng)A不正確;選項(xiàng)B中3.14159也不是整數(shù),故選項(xiàng)B不正確;選項(xiàng)D中數(shù)值部分不能為空,故選項(xiàng)D也不正確。所以,4介選項(xiàng)中選項(xiàng)C符合題意。
48.A解析:C程序是由函數(shù)構(gòu)成的?!獋€(gè)C源程序至少包含—個(gè)main函數(shù),也可以包含—個(gè)main函數(shù)和若干個(gè)其他函數(shù),因此,函數(shù)是C程序的基本單位。
49.D
50.C解析:執(zhí)行for循環(huán),輸出p[0]、p[2]的值。P的初值為數(shù)組元素x[1][1]的地址,即5的地址,因此p[0]為5,p[2]為3。
51.D解析:面向?qū)ο蠓椒ㄊ且环N運(yùn)用對(duì)象、類、封裝、繼承、多態(tài)和消息等概念來構(gòu)造、測(cè)試、重構(gòu)軟件的方法。面向?qū)ο蠓椒◤膶?duì)象出發(fā),發(fā)展出對(duì)象、類、消息、繼承等概念。
52.C解析:軟件設(shè)計(jì)遵循軟件工程的基本目標(biāo)和原則,建立了適用于在軟件設(shè)計(jì)中應(yīng)該遵循的基本原理和與軟件設(shè)計(jì)有關(guān)的概念。①抽象是一種思維工具,就是把事物本質(zhì)的共同特性抽出來而不考慮其他細(xì)節(jié)。②模塊是指可以單獨(dú)命名且可編址的元素。如高級(jí)語言中的過程、函數(shù)、子程序等。③信息隱蔽是指在一個(gè)模塊內(nèi)包含的信息(過程或數(shù)據(jù)),對(duì)于不需要這些信息的其他模塊來說是不能訪問的。④模塊獨(dú)立性是指每個(gè)模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系最少且接口簡(jiǎn)單。因此,本題的正確答案是C。
53.D解析:本題中定義的二維數(shù)組a[3][3]中9個(gè)元素在內(nèi)存中的排列順序是:a[0][0],a[0][1],a[0][2],a[1][0],a[1][1],a[1][2],a[2][0],a[2][1],a[2][2]。在主函數(shù)中,首先定義了二維數(shù)組a[3][3],然后定義了—個(gè)指針p指向數(shù)組a的第1個(gè)元素a[0][0]在第一個(gè)for循環(huán)中,依數(shù)組a在內(nèi)存中的排列順序?yàn)槠湓刭x從0~8九個(gè)值,然后用第二個(gè)for循環(huán)依次輸出a[1][0],a[1][1],a[1][2]三個(gè)元素的值。所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。
54.D解析:在主函數(shù)中首先定義了一個(gè)4行4列的二維數(shù)組a,并用該數(shù)組的數(shù)組名作為實(shí)參調(diào)用函數(shù)f()。函數(shù)f()中的for循環(huán)作用,是將數(shù)組前3行中的對(duì)角線上的元素,即b[0][0]、b[1][1]、b[2][2]和第一行的第四列元素即b[0][3]累加到變量s中,s=a[0][0]+a[1][1]+a[2][2]+a[0][3]=1+2+9+4=16。然后將s的值返回在主函數(shù)中輸出。
55.C解析:putchar(s)的功能是把字符s輸出到標(biāo)準(zhǔn)輸出設(shè)備;puts(s1)是把s1指向的字符串輸出到標(biāo)準(zhǔn)輸出設(shè)備。
56.A
57.D解析:一維數(shù)組的定義方式為:
類型說明符數(shù)組名[常量表達(dá)式];
選項(xiàng)A符合此定義形式,正確;C語言中多維數(shù)組賦初值時(shí)可以部分賦值,也可以不指定除第一維以外的其他維的大小,故選項(xiàng)C正確;另外,如果對(duì)全部數(shù)組元素都賦初值,則定義數(shù)組時(shí)對(duì)第一維的長度可以不指定,但第二維的長度不能省,所以選項(xiàng)B正確,而選項(xiàng)D是錯(cuò)誤的。
58.C解析:二分法查找是一種線性查找方法,其基本方法是:首先要用要查找的關(guān)鍵碼與線性表中間位置結(jié)點(diǎn)的關(guān)鍵碼值進(jìn)行比較,這個(gè)中間結(jié)點(diǎn)把線性表分為兩個(gè)子表,比較相等則查找完畢,不等則根據(jù)查找結(jié)果確定下一步的查找應(yīng)該在哪一個(gè)子表中進(jìn)行,如此下去,直到找到滿足條件的結(jié)點(diǎn):或者確定表中沒有這樣的結(jié)點(diǎn)。用二分法查找關(guān)鍵碼值11的順序如下所示,其中[]內(nèi)為本次栓索的子表,()內(nèi)為該子表的中間結(jié)果。從圖中可以看出,經(jīng)四次查找后,確定表中沒有這樣的結(jié)點(diǎn)。因此本題正確答案為選項(xiàng)C(4)。
第一次:[3,6,8,10,12,(15),16,18,21,25,30]
第二次:[3,6,(8),10,12],15,16,18,21,25,30
第三次:[3,6,8,[(10),(12)],15,16,18,21,25,30]
第四次:[3,6,8,10,[(12)],(15),16,18,21,25,30]查找失敗。
59.A解析:static聲明的外部變量只限于被本文引用,而不能被其他文件引用。用static來聲明一個(gè)變量的作用有:①對(duì)局部變量用static聲明,則為該變量分配的空間在整個(gè)程序執(zhí)行期間始終存在;②全部變量用static聲明,則該變量的作用域只限于本文件模塊(即被聲明的文件中)。調(diào)用第一個(gè)fun,其兩個(gè)實(shí)參的值為(3,5+3)與7即8與7,在函數(shù)fun執(zhí)行結(jié)束返回15。第二次調(diào)用fun時(shí),由于static為靜態(tài)類型,其值保留,執(zhí)行fun(5,3)后,其返回值為23,故選A。
60.D解析:本題涉及C語言基
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)民培訓(xùn)計(jì)劃與實(shí)施手冊(cè)
- 加工非標(biāo)制作合同范本
- 2025年度影視剪輯技術(shù)支持與咨詢服務(wù)合同
- 2025年度生物質(zhì)能發(fā)電項(xiàng)目投資與建設(shè)合同
- 公司資金借貸合同范例
- 供酒供銷合同范例
- 2025年度洗滌設(shè)備行業(yè)技術(shù)培訓(xùn)與咨詢服務(wù)合同
- 加工箍筋合同范本
- 買賣購房指標(biāo)合同范例
- 樂有假租房合同范本
- 元宇宙視域下非遺保護(hù)與傳播途徑探究
- 2025年買賣個(gè)人房屋合同(4篇)
- 2025代運(yùn)營合同范本
- 武漢2025年湖北武漢理工大學(xué)管理人員招聘筆試歷年參考題庫附帶答案詳解
- 第十一章《功和機(jī)械能》達(dá)標(biāo)測(cè)試卷(含答案)2024-2025學(xué)年度人教版物理八年級(jí)下冊(cè)
- 初三物理常識(shí)試卷單選題100道及答案
- 辦公用品價(jià)格清單
- 使用錯(cuò)誤評(píng)估報(bào)告(可用性工程)模版
- 客服人員績效考核評(píng)分表
- 變壓器檢修風(fēng)險(xiǎn)分析及管控措施
評(píng)論
0/150
提交評(píng)論