版權(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ì)真題(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.有以下程序:#include<stdio.h>#defineS(x)4*(x)*x+1main(){intk=5,j=2;printf(“%d\n,”,S(k+j));}程序的運(yùn)行結(jié)果是()。
A.33B.197C.143D.28
2.若有定義語句:“charS[3][10],(*k)[3],*p;”,則以下賦值語句正確的是()。
A.p=S;B.p=k;C.p=s[0];D.k=s;
3.
有以下結(jié)構(gòu)體說明和變量的定義,且指針P指向變量a,指針q指向變量b,則不能把結(jié)點(diǎn)b連接到結(jié)點(diǎn)a之后的語句是()。
structnode
{chardata;
structnode*next:
}a,b,*p=&a,*q=&b;
A.a.next=q;B.P.next=&b;C.p->next=&b;D.(*p).next=q;
4.一個(gè)C語言程序總是從()開始執(zhí)行:
A.主程序B.子程序C.主函數(shù)D.第一個(gè)函數(shù)
5.已知i,j,k為int型變量,若從鍵盤輸入:1,2,3<回車>,使i的值為1,j的值為2,k的值為3,以下選項(xiàng)中正確的輸入語句是A.scanf("%2d%2d%2d",&i,&j,&k);
B.scanf("%d%d%d",&i,&j,&k);
C.scanf("%d,%d,%d",&i,&j,&k);
D.scanf("i=%d,j=%d,k=%d",&i,&j,&k);
6.若在線性表中采用折半查找法查找元素,該線性表應(yīng)該()。
A.元素按值有序B.采用順序存儲(chǔ)結(jié)構(gòu)C.元素按值有序,且采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)D.元素按值有序,且采用順序存儲(chǔ)結(jié)構(gòu)
7.
8.
9.若有以下定義和語句charc1='b',c2='e'printf("%d,%c\n",c2-c1,c2-'a'+A);則輸出結(jié)果()
A.2,MB.3,EC.2,ED.輸出項(xiàng)與對(duì)應(yīng)的格式控制不一致,輸出結(jié)果不確定
10.折半查找的時(shí)間復(fù)雜性為()
A.O(n2)B.O(n)C.O(nlogn)D.O(logn)
11.C程序的基本模塊為()。
A.表達(dá)式B.標(biāo)識(shí)符C.語句D.函數(shù)
12.設(shè)以下變量均為int類型,則值不等于7的表達(dá)式是()。
A.(x=y=6,x+y,x+1)
B.(x=y=6,x+y,y+1)
C.(x=6,x+1,y=6,x+y)
D.(y=6,y+l,x=y,x+1)
13.廣義表(a,b,c,d)的表頭是()。
A.aB.(a)C.(b,c,d)D.((b,c,c))
14.將發(fā)送端數(shù)字脈沖信號(hào)轉(zhuǎn)換成模擬信號(hào)的過程稱為
A.鏈路傳輸B.調(diào)制C.解調(diào)D.數(shù)字信道傳輸
15.利用E-R模型進(jìn)行數(shù)據(jù)庫的概念設(shè)計(jì),可以分成3步:首先設(shè)計(jì)局部E-R模型,然后把各個(gè)局部E-R模型綜合成一個(gè)全局的模型,最后對(duì)全局E-R模型進(jìn)行(),得到最終的E-R模型。
A.簡(jiǎn)化B.結(jié)構(gòu)化C.最小化D.優(yōu)化
16.有以下程序voidss(char*s,chart){while{*s)if(*s==t)*s-t-'a'+'A';S++;main(){charstrl[100]="abcddfefdbd",c='d';ss(str1,c);printf("%s\n",str1);}程序運(yùn)行后的輸出結(jié)果是
A.ABCDDEFEDBDB.abcDDfefDbDC.abcAAfefAbAD.Abcddfefdbd
17.有以下程序
#include<stdio.h>
main()
{charch[3][5]={“AAAA”,”BBB”,”CC”};
printf(“%s\n”,ch[1];)
}
程序運(yùn)行后的輸出結(jié)果是()A.A.AAAA
B.CC
C.BBBCC
D.BBB
18.
19.對(duì)于“if(表達(dá)式)語句”,以下敘述正確的是()。
A.“表達(dá)式”不能是變量
B.“表達(dá)式”的值只能是整數(shù)值
C.“表達(dá)式”可以是常量
D.“表達(dá)式”中不可以出現(xiàn)字符型變量的比較
20.有以下函數(shù):fun(char*p){returnp;}該函數(shù)的返回值是()。
A.無確切值B.形參p中存放的地址值C.一個(gè)臨時(shí)存儲(chǔ)單元的地址D.形參p自身的地址值
二、2.填空題(20題)21.C語言中用______表示邏輯值為“真”,用數(shù)字“0”表示邏輯值為“假”。
22.下列程序?qū)⒍S數(shù)組a的行和列元素互換后存放到另一個(gè)二維數(shù)組b中。請(qǐng)?zhí)羁铡?/p>
main()
{inta[2][3]={{1,2,3},{4,5}},b[3][2],i,j;
for(i=0;i<2;i++)
{for(j=0;j<3;j++)
}
}
23.以下程序的運(yùn)行結(jié)果是______。
structNode}
intx;
charch;
};
fun(structNode*sn)
}statick=1;
sn->x=20;
Sn->ch='a'+k++;
}
main()
{inti;
staticstructNodest=}10,'a'};
for(i=0;i<2;i++)
fun(&st);
printf("%d,%c\n",st.x,st.ch);
}
24.下列程序運(yùn)行后的輸出結(jié)果是______。
#include<stdio.h>
main()
{chars[20];
scanf("%s",s);
printf("%s",s);
}
運(yùn)行程序,輸入HOWAREYOU。
25.數(shù)據(jù)的______結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空問中的存放形式稱為數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)或物理結(jié)構(gòu)。
26.軟件是程序、數(shù)據(jù)和【】的集合。
27.表達(dá)式1/2*(int)3.7/(int)(2.4*(1.5+2.5))值的數(shù)據(jù)類型為______。
28.度為10的線性表進(jìn)行冒泡排序,最壞情況下需要比較的次數(shù)為______。
29.數(shù)據(jù)庫設(shè)計(jì)分為以下6個(gè)設(shè)計(jì)階段:需求分析階段、______、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、實(shí)施階段、運(yùn)行和維護(hù)階段。
30.在關(guān)系數(shù)據(jù)庫中把數(shù)據(jù)表示成二維表,每一個(gè)二維表稱為【】。
31.以下程序運(yùn)行后的輸出結(jié)果是【】。
#include<stdio.h>
main()
{charm;
m='B'+32;
printf("%c\n",m);
}
32.下面程序運(yùn)行后的輸出結(jié)果是()。
#include<stdio.h>
main()
{inta[]={1,2,3,4,5,6},*k[3],i=1;
while(i<4)
{k[i-1]=&a[2*i-1];
printf("%d",*k[i-1]);
i++;
}
}
33.以下程序的運(yùn)行結(jié)果是【】。
#include<stdio.h>
#include<string.h>
typcdefstructstudent
{charname[10];
longsno;
floatscore;
}STU;
main()
{STUa={"Zhangsan",2001,95},b={"Shangxian",2002,90},
c={"Anhua",2003,95},d,*p=&d;
d=a;
if(strcmp(,)>0)d=b;
if(strcmp(,)>0)d=c;
printf("%1d%s\n",d.sno,p->name);
}
34.用鏈表表示線性表的突出優(yōu)點(diǎn)是______。
35.若有定義:doubleW[10],則W數(shù)組元素下標(biāo)的上限為【】,下限為【】。
36.若x和y都是double型變量,且x的初值為3.0,y的初值為2.0,則表達(dá)式pow(y,fabs(x))的值為【】。
37.以下程序運(yùn)行后的輸出結(jié)果是【】
#include<stdio.h>
main()
{chara[]="123456789",*p;
inti=0;
p=a;
while(*p)
{if(i%2==0)*p='*';
p++;i++;
}
puts(a);
}
38.在面向?qū)ο蠓椒ㄖ?,類之間共享屬性和操作的機(jī)制稱為______。
39.用以下語句調(diào)用庫函數(shù)malloc,使字符指針st指向具有11個(gè)字節(jié)的動(dòng)態(tài)存儲(chǔ)空間,請(qǐng)?zhí)羁?。st=(char*)【】;
40.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{intm=011,n=11;
printf("%d%d\n",++m,n++);
}
三、1.選擇題(20題)41.下列關(guān)于字符串的說法中錯(cuò)誤的是
A.在C語言中,字符串是借助于字符型一維數(shù)組來存放的,并規(guī)定以字符'\0'作為字符串結(jié)束標(biāo)志
B.'\0'作為標(biāo)志占用存儲(chǔ)空間,計(jì)入串的實(shí)際長(zhǎng)度
C.在表示字符串常量的時(shí)候不需要人為在其末尾加入'\0'
D.在C語言中,字符串常量隱含處理成以'\0'結(jié)尾
42.若變量已正確定義,要求程序段完成求5!的計(jì)算,不能完成此操作的程序段是()。
A.for(i=1,p=1;i<=5;i++)p*=i;
B.for(i=1;i<=5;i++){p=1;p*=i;}
C.i=1;p=1;while(i<=5){p*=i;i++;}
D.i=1;p=1;do{p*=i;i++;}while(i<=5);
43.若有下列說明,則()不是對(duì)strcpy庫函數(shù)的正確的調(diào)用。strcpy庫函數(shù)用于復(fù)制一個(gè)字符串:char*str1="abcd",str2[10],*str3="hijklmn",*str4[2],*str5="aaaa"
A.strcpy(str2,str1)
B.strcpy(str3,str1)
C.strcpy(str4,str1)
D.strcpy(str5,str1)
44.在深度為7的滿二叉樹中,葉子結(jié)點(diǎn)的個(gè)數(shù)為______。A.32B.31C.64D.63
45.樹是結(jié)點(diǎn)的集合,它的根結(jié)點(diǎn)數(shù)目是()。
A.有且只有1B.1或多于1C.0或1D.至少2
46.有以下程序main(){intm=0256,n=256;printf("%o%o\n",m,n);}程序運(yùn)行后的輸出結(jié)果是
A.02560400B.0256256C.256400D.400400
47.設(shè)有如下定義,則以下敘述中正確的是______。int(*ptr)();
A.ptr是指向一維數(shù)組的指針變量
B.ptr是指向int型數(shù)據(jù)的指針變量
C.ptr是指向函數(shù)的指針,該函數(shù)返回一個(gè)int型數(shù)據(jù)
D.ptr是一個(gè)函數(shù)名,該函數(shù)的返回值是指向int型數(shù)據(jù)的指針
48.以下程序的輸出結(jié)果是______。main(){inti,a[10];for(i=9;i>=0;i-)a[i]=10-i;printf("%d%d%d",a[2],a[5],a[8]);}
A.258B.741C.852D.369
49.下列程序的運(yùn)行結(jié)果是()。main(){inta=-5,b=1,c=1;intx=0,y=2,z=0;if(c>0)x=x+y;if(a<=0){if(b>O)if(c<=0)y=x-y;}elseif(c>0)y=x-y;elsez=y;printf("%d,%d,%d\n",x,y,z);}
A.2,2,0B.2,2,2C.0,2,0D.2,0,2
50.根據(jù)下列的定義,能打印出字母P的語句是()
structstu{charname[10];
intage;
};
stmctstus[10]={"John",11,
"Paul",12,
"Mary",11,
"adam",12
}:
A.printf("%c",s[3].name);
B.printf("%c",s[3].name[1]);
C.printf("%c",s[2].name[11]);
D.printf("%c",s[1].name[0]);
51.在設(shè)計(jì)程序時(shí),應(yīng)采納的原則之一是______。
A.程序結(jié)構(gòu)應(yīng)有助于讀者理解B.不限制goto語句的使用C.減少或取消注解行D.程序越短越好
52.若有運(yùn)算符:>、=、<<、%、sizeof,則它們按優(yōu)先級(jí)(由高至低)的正確排列順序?yàn)?)。
A.%、sizeof、>、<<、=
B.sizeof、%、>、=、<<
C.sizeof、<<、>、%、=
D.sizeof、%、<<、>、=
53.若有結(jié)構(gòu)體定義:structstu{intnum;charsex;intage;}a1,a2;則下列語句中錯(cuò)誤的是()。
A.printf("%d,%c,%d",a1);
B.a2.age=a1.age;
C.a1.age++;
D.a1.num=5;
54.希爾排序法屬于______類型的排序法。
A.交換類排序法B.插入類排序法C.選擇類排序法D.建堆排序法
55.有以下程序:#include<stdio.h>fun(inta,intb){if(a>b)return(a);elsereturn(b);}main(){intx=3,y=8,z=6,r;r=fun(fun(x,y),2*z);printf("%d\n",r);}程序運(yùn)行后的輸出結(jié)果是()。
A.3B.6C.8D.12
56.運(yùn)行下面程序時(shí),從鍵盤輸入字母H,則輸出結(jié)果是
#include<stdio.h>
main()
{charch;
ch=getchar();
switch(ch)
{case′H′:printf("Hello!\n");
case′G′:printf("Goodmorning!\n");
default:printf("Bye_Bye!\n");
}
}
A.Hello!
B.Hello!GoodMoring!
C.Hello!Goodmorning!Bye_Bye!
D.Hello!Bye_Bye!
57.數(shù)據(jù)庫系統(tǒng)在其內(nèi)部具有3級(jí)模式,用來描述數(shù)據(jù)庫中全體數(shù)據(jù)的全局邏輯結(jié)構(gòu)和特性的是()
A.外模式B.概念模式C.內(nèi)模式D.存儲(chǔ)模式
58.若以“a+”方式打開一個(gè)已存在的文件,則下列敘述正確的是()。
A.文件打開時(shí),原有文件內(nèi)容不被刪除,位置指針移到文件末尾,可以進(jìn)行添加或讀操作
B.文件打開時(shí),原有文件內(nèi)容不被刪除,只能進(jìn)行讀操作
C.文件打開時(shí),原有文件內(nèi)容被刪除,只能進(jìn)行寫操作
D.以上三種說法都不正確
59.下列選項(xiàng)中屬于C語言構(gòu)造類型的是()
A.指針類型B.空類型C.枚舉類型D.數(shù)組類型
60.下面關(guān)于對(duì)象概念的描述中,錯(cuò)誤的是
A.對(duì)象就是C語言中的結(jié)構(gòu)體變量
B.對(duì)象代表著正在創(chuàng)建的系統(tǒng)中的一個(gè)實(shí)體
C.對(duì)象是一個(gè)狀態(tài)和操作(或方法)的封裝體
D.對(duì)象之間的信息傳遞是通過消息進(jìn)行的
四、選擇題(20題)61.有以下程序
structs
{intx,y;}data[2]={10,100,20,200};
main()
{structs*p=data;
printf("%d\n",++(p->x));
}
程序運(yùn)行后的輸出結(jié)果是()
A.10B.11C.20D.21
62.面向?qū)ο蠓椒ㄖ?,繼承是指()。
A.一組對(duì)象所具有的相似性質(zhì)B.一個(gè)對(duì)象具有另一個(gè)對(duì)象的性質(zhì)C.各對(duì)象之間的共同性質(zhì)D.類之間共享屬性和操作的機(jī)制
63.下列哪個(gè)屬性是用來定義內(nèi)聯(lián)樣式的?()
A.fontB.classC.stylesD.style.
64.有以下程序
65.下列程序的輸出結(jié)果是()。
main
{
doubled=3.2;intx,y;
x=1.2;y=(x+3.8)/5.0;
printf("%d\n",d*y);
}
A.3B.3.2C.0D.3.07
66.函數(shù)fseek的正確調(diào)用形式是()。
A.fseek(位移量,起始點(diǎn),文件類型指針);
B.fseek(文件類型指針,位移量,起始點(diǎn));
C.fseek(文件類型指針,起始點(diǎn),位移量);
D.fseek(起始點(diǎn),位移量,文件類型指針);
67.
68.有以下程序段:
當(dāng)執(zhí)行上述程序段,并從鍵盤輸入:nalne=LilinLim=1001<;回車>;后,name的值為()。
A.name:=Lilinum=1001B.nfll"ne=LiliC.Uli.h.um=D.Lili
69.
70.數(shù)據(jù)庫設(shè)計(jì)中,用E—R圖來描述信息結(jié)構(gòu)但不涉及信息在計(jì)算機(jī)中的表示,它屬于數(shù)據(jù)庫設(shè)計(jì)的()。
A.需求分析階段B.邏輯設(shè)計(jì)階段C.概念設(shè)計(jì)階段D.物理設(shè)計(jì)階段
71.
72.
73.有以下程序
prt(int*m,intn)
{
inti;
for(i=0;i<n;i++)
m[i]++;
}
main()
{
inta[]={1,2,3,4,5},i;
prt(a,5);
for(i=0;i<5;i++)
printf("%d,",a[i]);
}
程序運(yùn)行后的輸出結(jié)果是A.A.1,2,3,4,5,
B.3,4,5,6,7,
C.2,3,4,5,6,
D.2,3,4,5,1,
74.第
15
題
以下程序的輸出結(jié)果是
main()
{inta=21,b=11;
printf("%d\n",--a+b,--b+a);
}
A.30B.31C.32D.33
75.以下敘述中不正確的是
A.預(yù)處理命令都必須以#號(hào)開始
B.在程序中凡是以#號(hào)開始的語句行都是預(yù)處理命令行
C.宏替換不占用運(yùn)行時(shí)間,只占編譯時(shí)間
D.以下定義是正確的:#definePI3.1415926;
76.閱讀下面程序,則執(zhí)行后的結(jié)果是()。
A.tomeetme
B.tmem
C.oete
D.tome
77.下列選項(xiàng)中,能正確定義數(shù)組的語句是()。
78.
79.假定X和Y為double型,則表達(dá)式x=2,y=x+3/2的值是()。
A.3.500000B.3C.2.000000D.3.000000
80.以下敘述中錯(cuò)誤的是()。
A.可以給指針變量賦一個(gè)整數(shù)作為地址值
B.函數(shù)可以返回地址值
C.改變函數(shù)形參的值,不會(huì)改變對(duì)應(yīng)實(shí)參的值
D.當(dāng)在程序的開頭包含頭文件stdi0.h時(shí),可以給指針變量賦NULL、、、
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的作用是:將字符串tt中的大寫字母都改為對(duì)應(yīng)的小寫字母,其他字符不變。
例如,若輸入“I,anl,A,Student”,則輸出“i,am,a,student”。
請(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.CS為帶參數(shù)的宏定義,運(yùn)行“S(k+j)”為4*(k+j)*k+j+1=143。故本題答案為C選項(xiàng)。
2.C答案C的意思是*P指向數(shù)組的第一個(gè)值。
3.B
\n本題考查結(jié)構(gòu)體指針變量的賦值方法,要把結(jié)點(diǎn)b連接到結(jié)點(diǎn);l的后面,必須把b的地址給a的next指針。故8正確。
\n
4.C
5.C
6.D
7.A
8.A
9.B
10.D
11.D
12.C
13.A
14.B
15.D解析:在概念設(shè)計(jì)中按照模塊的劃分畫出每個(gè)模塊的E-R圖,然后把這些圖合成一張E-R圖作為全局模型,最后應(yīng)該對(duì)全局E-R圖進(jìn)行優(yōu)化,看看是否有重復(fù)和不合理的地方。不能只是進(jìn)行簡(jiǎn)單的合并。
16.B解析:本題中的函數(shù)ss()有兩個(gè)參數(shù),一個(gè)是字符型指針變量s,另一個(gè)是字符型變量t在函數(shù)中通過一個(gè)while循環(huán),在循環(huán)中一次取出s指向的字符串并判斷它是否和t中存放的字符相同,若相等,則執(zhí)行“s=t-'a'+'A':”(若是小寫字母,則把它轉(zhuǎn)換成大寫字母)語句。在主函數(shù)中執(zhí)行函數(shù)調(diào)用ss(strl,c),很顯然是把str1數(shù)組中所有字符“d”變成大寫字母,其他字符不變。所以4個(gè)選項(xiàng)中B正確。
17.Dch[1]即輸出的為第二個(gè)字符串,即BBB。
18.D
19.CC語言中沒有規(guī)定“if(表達(dá)式)語句”中的“表達(dá)式”的形式,其可以是任意合法的表達(dá)式。故本題答案為C選項(xiàng)。
20.B解析:return中返回的是指針p的值,也就是形參p中存放的地址值。
21.非0非0解析:邏輯運(yùn)算中,非0表示邏輯“真”,用。表示邏輯“假”。
22.b[j][i]=a[i][j]b[j][i]=a[i][j]解析:本題考查二維數(shù)組的基本知識(shí)。它是要將一個(gè)二維數(shù)組,的行和列元素互換后存放到另一個(gè)二維數(shù)組b中,只要將數(shù)組a的行標(biāo)和列標(biāo)互換,然后賦給數(shù)組b即可。
23.20c。20,c。解析:函數(shù)fun的功能是給結(jié)構(gòu)體指針變量所指的結(jié)構(gòu)體變量的各成員賦值,主函數(shù)兩次調(diào)用函數(shù)fun,第一次調(diào)用,實(shí)參st兩個(gè)成員的值是20和字符b,調(diào)用結(jié)束時(shí),靜態(tài)局部變量k沒有釋放,值為2:第二次調(diào)用,實(shí)參st兩個(gè)成員的值是20和字符c,調(diào)用結(jié)束時(shí),靜態(tài)局部變量k沒有釋放,值為3;因此,輸出結(jié)果是20和c。
24.HOWHOW解析:在scanf()函數(shù)中,使用空格作為分隔符,如果輸入含有空格的字符中,則不能使用scanf()數(shù),所以本題中輸入空格就返回了'\\0\\,s數(shù)組也就確定了,后面的輸入就不再讀入數(shù)組s中。
25.邏輯邏輯解析:數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式稱為數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)或物理結(jié)構(gòu)。
26.文檔文檔解析:計(jì)算機(jī)軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)以及相關(guān)文檔的完整集合。
27.整型整型解析:上面的表達(dá)式中,通過強(qiáng)制類型轉(zhuǎn)換把最后參與運(yùn)算的數(shù)據(jù)都轉(zhuǎn)換成了int型,所以最后得到的結(jié)果也是int類型。
28.4545解析:對(duì)于長(zhǎng)度為N的線性表,在最壞情況下(即線性表中元素現(xiàn)在的順序與目標(biāo)順序正好相反),冒泡排序需要經(jīng)過N/2遍的從前往后的掃描和N/2遍的從后往前的掃描,需要的比較次數(shù)為N(N-1)/2。
29.概念設(shè)計(jì)階段(數(shù)據(jù)庫概念設(shè)計(jì)階段)概念設(shè)計(jì)階段(數(shù)據(jù)庫概念設(shè)計(jì)階段)
30.關(guān)系或一個(gè)關(guān)系關(guān)系或一個(gè)關(guān)系解析:在關(guān)系數(shù)據(jù)庫中,把數(shù)據(jù)表示成二維表,而一個(gè)二維表就是一個(gè)關(guān)系。
31.bb解析:本題實(shí)現(xiàn)的功能是把大寫字母轉(zhuǎn)換為小寫字母。小寫字母的ASCII碼值比相應(yīng)的大寫字母的ASCII碼值大32。
32.246
33.2002Shangxian2002Shangxian解析:strcmp函數(shù)用于比較兩個(gè)字符串的大小,因?yàn)?Zhangsan,=Shangxian,所以strcmp(,)>0為真,執(zhí)行d=b;因?yàn)?Anhua,=Shangxian,所以strcmp(,)>0不成立,不執(zhí)行d=c;最后輸出d.sno和的值分別為2002,Shangxian。
34.便于插入和刪除操作。便于插入和刪除操作。解析:為了克服順序表中插入和刪除時(shí)需要移動(dòng)大量數(shù)據(jù)元素的缺點(diǎn),引入了鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。鏈表表示線性表的突出優(yōu)點(diǎn)是插入和刪除操作方便,不必移動(dòng)數(shù)據(jù)元素,執(zhí)行效率高。
35.90
36.88解析:fabs函數(shù)功能是求x的絕對(duì)值,計(jì)算結(jié)果為double型。pow功能是計(jì)算x的y次方的值,計(jì)算結(jié)果同樣為double型。所以本題表達(dá)式相當(dāng)于2.0的3.0次方,結(jié)果為8.000000。
37.*2*4*6*8**2*4*6*8*解析:程序中指針p指向數(shù)組a,while(*P)語句的循環(huán)條件是*p!=\'\\0\',在循環(huán)體中,當(dāng)i=0,2,4,6,8時(shí),i%2=0,執(zhí)行*p=\'*\',即a[i]=\'*\',繼續(xù)執(zhí)行p++;i++;使i為奇數(shù);當(dāng)i=1,3,5,7時(shí),i%2=1,繼續(xù)執(zhí)行p++;i++;使i為偶數(shù)。可見,程序在字符串'123456789',的下標(biāo)為偶數(shù)的位置上賦值\'*\',代替原字符串中的1,3,5,7,9。所以,程序輸出結(jié)果為*2*4*6*8*。
38.繼承繼承
39.malloc(11)malloc函數(shù)的格式是void*(或char*)malloc(size),size表示應(yīng)分配的存儲(chǔ)區(qū),此題要分配11字節(jié)的單元,把11代入即可。
40.10111011解析:前綴自增運(yùn)算時(shí),表達(dá)式的值和變量自增之后的值相同;后綴自增運(yùn)算時(shí),表達(dá)式的值為變量自增之前的值。所以,本題程序輸出的兩個(gè)結(jié)果分別是m+1和n的值。而m在初始化時(shí)使用的是八進(jìn)制常量011,轉(zhuǎn)換為十進(jìn)制為9。故輸出結(jié)果是1011。
41.B解析:'\\0'作為標(biāo)志占用存儲(chǔ)空間,但是不計(jì)入串的實(shí)際長(zhǎng)度。當(dāng)給一個(gè)字符型指針賦值時(shí),賦給這個(gè)指針的是這個(gè)字符串的地址。
42.B解析:選項(xiàng)B中for循環(huán)了5次,而每次循環(huán)的時(shí)候,都將p的值重新賦值為1后,再乘以當(dāng)前數(shù)字i,所以最后的結(jié)果為5,顯然不是5!的值,同樣的分析可知選項(xiàng)A、選項(xiàng)C和選項(xiàng)D計(jì)算的都是5!。所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。
43.C解析:strcpy(s1,s2)函數(shù)的功能是將字符串s2復(fù)制到字符串s1中(注意:要保證s1存儲(chǔ)區(qū)能容納下s2字符串)。
44.C在滿二叉樹中每層的結(jié)點(diǎn)數(shù)都達(dá)到最大值,而且葉子結(jié)點(diǎn)全部出現(xiàn)在最底層。第l層(根結(jié)點(diǎn)所在的層)有20個(gè)結(jié)點(diǎn),第2層有21個(gè)結(jié)點(diǎn),……第n層有2n-1個(gè)結(jié)點(diǎn)。在深度為7的滿二叉樹中,第7層有27-l=64個(gè)結(jié)點(diǎn)(全部是葉子結(jié)點(diǎn))、在深度為7的滿二叉樹中,共有27—1=127個(gè)結(jié)點(diǎn)、因此本題的正確答案是C
45.A樹形結(jié)構(gòu)是一類重要的非線性數(shù)據(jù)結(jié)構(gòu)。樹是n(n≥0)個(gè)結(jié)點(diǎn)的集合,對(duì)應(yīng)任意一棵非空樹,它具有以下幾點(diǎn)重要的性質(zhì)。
①有且僅有一個(gè)特定的稱為根的結(jié)點(diǎn)。
②當(dāng)n>1時(shí),其余結(jié)點(diǎn)可分為m(m>0)個(gè)互不相交的有限集T1,T2,…,TM,其中每一個(gè)集合本身又是一棵樹,稱為子樹。
因此,本題的正確答案有且只有一個(gè)。
46.C解析:程序中定義了兩個(gè)整型變量,一個(gè)用八進(jìn)制表示,一個(gè)用十進(jìn)制表示,輸出語向中要求m,n都為八進(jìn)制輸出,顯然m原樣輸出為256,n的值轉(zhuǎn)換為八進(jìn)制輸出(256的八進(jìn)制為400),故輸出400.所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。
47.C解析:“int(*ptr)();”說明ptr是一個(gè)指向函數(shù)的指針,返回值是整型。*ptr兩邊的括號(hào)非常關(guān)鍵,表示*和ptr組合成一個(gè)指針變量,然后再和后邊的圃括號(hào)結(jié)合,表示該指針變量*ptr是一個(gè)指向函數(shù)的指針變量。如果沒有*ptr兩邊的括號(hào),“int*ptr();”表示ptr是個(gè)函數(shù),該函數(shù)返回指向整型數(shù)據(jù)的指針。
48.C解析:在本題運(yùn)行時(shí)主要注意的是當(dāng)i=9時(shí),a[i]=10-9=1;i=8時(shí),a[i]=10-8=2;i=7時(shí),a[i]=10-7=3;……依此類推,直到i=0時(shí),a[i]=10-0=10;此時(shí),i的值已變?yōu)?1,判斷for的循環(huán)條件,不成立,然后輸出a[2],a[5],a[8],分別為8,5,2。
49.A解析:本題考查ifelse語句的使用。先判斷第1個(gè)if語句,因?yàn)閏=1>0,所以x=x+y=0+2=2。第1個(gè)if語句,因?yàn)閍=-5<0,所以進(jìn)入下列的復(fù)合語句。經(jīng)判斷發(fā)現(xiàn),復(fù)合語句中第2個(gè)if語句的條件均不滿足,不執(zhí)行任何語句退出,在這個(gè)過程中y和z的值沒有發(fā)生變化。
50.D解析:本題主要考查按結(jié)構(gòu)數(shù)組元素方式引用結(jié)構(gòu)成員。字母P為“Paul”的第一個(gè)字母,是結(jié)構(gòu)體s[1]的name成員的第二個(gè)元素的值,即s[1].name[0]的值。
51.A解析:程序設(shè)計(jì)的風(fēng)格主要強(qiáng)調(diào)程序的簡(jiǎn)單、清晰和可理解性,以便讀者理解。因此選項(xiàng)A是正確答案。程序?yàn)E用goto語句將使程序流程無規(guī)律,可讀性差;添加的注解行有利于對(duì)程序的理解,不應(yīng)減少或取消;程序的長(zhǎng)短要依照實(shí)際需要而定,并不是越短越好。因此選項(xiàng)B、C、D都是錯(cuò)誤的。
52.D解析:主要考查運(yùn)算符的優(yōu)先級(jí)。sizeof的優(yōu)先級(jí)最高,后面的順序是:%、<<、>,優(yōu)先級(jí)最低的是“=”。
53.A解析:題中a1和a2兩個(gè)結(jié)構(gòu)體變量名所對(duì)應(yīng)的成員相同,可以與運(yùn)算“++’相結(jié)合。結(jié)構(gòu)體變量的輸出格式為:printf('要輸出變量名;%d\\t',結(jié)構(gòu)變量名.要輸出的成員變量名),
54.B解析:希爾排序法的基本思想是:將整個(gè)無序序列分割成若干小的子序列分別進(jìn)行插入排序。所以希爾排序法屬于插入類排序,但它對(duì)簡(jiǎn)單插入排序做了很大的改進(jìn)。
55.D解析:本題考查函數(shù)的返回值。fun函數(shù)的功能是比較a,b的值,返回其中較大者。對(duì)于main函數(shù)中的語句r=fun(fun(x,y),2*z);是先調(diào)用fun(x,y)返回8,再將8和12作為實(shí)參調(diào)用函數(shù)fun,得到的返回值為12。
56.C解析:本題主要對(duì)switch語句進(jìn)行了考查。switch語句的執(zhí)行過程為:進(jìn)入switch結(jié)構(gòu)后,對(duì)條件表達(dá)式進(jìn)行運(yùn)算,然后從上至下去找與條件表達(dá)式值相匹配的case,以此作為入口,執(zhí)行switch結(jié)構(gòu)中后面的各語句,直到遇到break語句,則跳出switch語句,如果各case都不匹配時(shí),則執(zhí)行default后面的語句。本題中ch為字符'H',所以case'H'條件中的語句將被執(zhí)行,由于沒有break語句,所以case'G'后的語句也被執(zhí)行,由于同樣的缺少break語句,所以default后的語句也被執(zhí)行了。
57.BB)【解析】概念模式,也稱邏輯模式,是對(duì)數(shù)據(jù)庫系統(tǒng)中全局?jǐn)?shù)據(jù)邏輯結(jié)構(gòu)的描述,是全體用戶應(yīng)用公共數(shù)據(jù)視圖。它不涉及具體的硬件環(huán)境與平臺(tái),與其體的軟件環(huán)境也無關(guān)。
58.A解析:本題考查文件使用方式標(biāo)識(shí)符,以“a+”方式打開一個(gè)已存在的文件,則表示保留文件中原有的數(shù)據(jù),文件的位置指針在文件末尾,此時(shí),可以進(jìn)行追加或讀操作。
59.D解析:構(gòu)造類型數(shù)據(jù)是由基本類型數(shù)據(jù)按一定規(guī)則組成的。C語言中的構(gòu)造類型數(shù)據(jù)只有3種,它們是數(shù)組類型、結(jié)構(gòu)體類型和共用體類型。故應(yīng)該選擇D。
60.A解析:對(duì)象是由數(shù)據(jù)和容許的操作組成的封裝體,與客觀實(shí)體有直接的對(duì)應(yīng)關(guān)系,對(duì)象之間通過傳遞消息互相聯(lián)系,從模擬現(xiàn)實(shí)世界中不同事物彼此之間的聯(lián)系,B)、C)、D)是正確的,對(duì)象的思想廣泛應(yīng)用于C++、Java等語言中,因此A)錯(cuò)誤。
61.C結(jié)構(gòu)體;structs*p=data;使p指向data的首地址,而++p->x,先使p指向下一位即20,然后輸出其值。
62.D繼承是面向?qū)ο蟮姆椒ǖ囊粋€(gè)主要特征,是使用已有的類的定義作為基礎(chǔ)建立新類的定義技術(shù)。廣義的說,繼承是指能夠直接獲得已有的性質(zhì)和特征,而不必重復(fù)定義它們,所以說繼承是指類之間共享屬性和操作的機(jī)制。
63.D
64.A涵數(shù)將a[0]自增5次,所以答案選擇A)。
65.C解析:本題中,程序先執(zhí)行語句x=1.2;,根據(jù)賦值運(yùn)算的類型轉(zhuǎn)換規(guī)則,先將double型的常量1.2轉(zhuǎn)換為int型,即取整為1,然后將1賦值給變量x。接下來執(zhí)行語句y=(x+3.8)/5.0;根據(jù)運(yùn)算符的優(yōu)先級(jí),先計(jì)算小括號(hào)內(nèi),再計(jì)算除法,最后執(zhí)行賦值運(yùn)算。小括號(hào)內(nèi)的運(yùn)算過程:先將整型變量x的值1轉(zhuǎn)換為double型1.0,然后與3.8進(jìn)行加法運(yùn)算,得到中間結(jié)果4.8。接著進(jìn)行除法運(yùn)算4.8/5.0,其結(jié)果小于1.0,這里沒有必要計(jì)算出精確值,因?yàn)榻又M(jìn)行賦值運(yùn)算,賦值號(hào)左邊的變量y的類型為整型,于是對(duì)這個(gè)小于1.0的中間結(jié)果進(jìn)行取整,結(jié)果為0,于是變量y的值為0,d*y的值也為0。注意:格式輸出語句printf的使用。
66.B解析:改變文件位置的指針函數(shù)fseek()的調(diào)用形式為:fseek(fp,offset,position);。fseek函數(shù)參數(shù)說明:“fp”是指向該文件的文件型指針;“offset'’為位移量,指從起始點(diǎn)position.到要確定的新位置的字節(jié)數(shù)。也就是以起點(diǎn)為基準(zhǔn),向前移動(dòng)的字節(jié)數(shù)。ANSIC要求該參數(shù)為長(zhǎng)整型量;“position”為起始點(diǎn),指出以文件的什么位置為基準(zhǔn)進(jìn)行移動(dòng),position的值用整型常數(shù)表示,“0”表示文件的開頭,“1”表示文件的當(dāng)前位置,“2”表示文件的末尾。
67.C
68.D在輸入格式控制“name=%snum=%d”中,普通字符“ns.111e=num=”在輸入時(shí)要原樣輸入,而
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 細(xì)胞凋亡與骨關(guān)節(jié)炎
- 基于設(shè)計(jì)思維教學(xué)法的小學(xué)語文項(xiàng)目式學(xué)習(xí)理念與實(shí)踐模型
- 護(hù)理碩士研究生心理資本潛在剖面分析及與情緒幸福感的關(guān)系
- 國(guó)際志愿者日活動(dòng)策劃
- 湖南省張家界市桑植縣2024-2025學(xué)年七年級(jí)上學(xué)期道德與法治期末試卷(含答案)
- 第十八章 平行四邊形 評(píng)估測(cè)試卷(含答案)2024-2025學(xué)年數(shù)學(xué)人教版八年級(jí)下冊(cè)
- 二零二五年度房產(chǎn)共同債權(quán)債務(wù)處理離婚協(xié)議3篇
- 貴州盛華職業(yè)學(xué)院《影視欄目包裝專題設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 貴州黔南科技學(xué)院《設(shè)計(jì)原理》2023-2024學(xué)年第一學(xué)期期末試卷
- 新疆巴音郭楞蒙古自治州(2024年-2025年小學(xué)六年級(jí)語文)人教版課后作業(yè)(下學(xué)期)試卷及答案
- 英法核動(dòng)力裝置
- GB/T 41837-2022溫泉服務(wù)溫泉水質(zhì)要求
- YS/T 79-2006硬質(zhì)合金焊接刀片
- 考研考博-英語-山東師范大學(xué)押題密卷附帶答案詳解篇
- 實(shí)用性閱讀與交流任務(wù)群設(shè)計(jì)思路與教學(xué)建議
- 中醫(yī)診療器具清洗消毒(醫(yī)院感染防控專家課堂培訓(xùn)課件)
- 通風(fēng)設(shè)施標(biāo)準(zhǔn)
- 藥廠生產(chǎn)車間現(xiàn)場(chǎng)管理-PPT課件
- 軸與孔標(biāo)準(zhǔn)公差表
- 防火門施工方案
- 人教PEP版2022-2023六年級(jí)英語上冊(cè)期末試卷及答案(含聽力材料)
評(píng)論
0/150
提交評(píng)論