版權(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ì)測(cè)試卷一(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.
2.二進(jìn)制數(shù)1110111.11轉(zhuǎn)換成十進(jìn)制數(shù)是()。
A.119.375B.119.75C.119.125D.119.3
3.在位運(yùn)算中,操作數(shù)左移一位,其結(jié)果相當(dāng)于A.A.操作數(shù)乘以2
B.操作數(shù)除以2
C.操作數(shù)除以4
D.操作數(shù)乘以4
4.
5.棧的特點(diǎn)是B,隊(duì)列的特點(diǎn)是()。
A.先進(jìn)先出B.先進(jìn)后出
6.
7.靜態(tài)鏈表中指針表示的是()。
A.內(nèi)存地址B.數(shù)組下標(biāo)C.下一元素地址D.左、右孩子地址
8.在堆棧中存取數(shù)據(jù)的原則是。A.先進(jìn)先出B.后進(jìn)先出C.先進(jìn)后出D.隨意進(jìn)出
9.
10.在所有的排序方法中,關(guān)鍵字比較的次數(shù)與記錄的初始排列次序無(wú)關(guān)的是()。
A.希爾排序B.冒泡排序C.直接插入排序D.直接選擇排序
11.以下選項(xiàng)中合法的C語(yǔ)言常量是()。
A.‘C-STR’B.2014.1C.”\1.0D.2EK
12.若有以下程序:inta=1,b=2;a=a^b;b=b^a;則執(zhí)行以上語(yǔ)句后a和b的值分別是()。A.a=1,b=2B.a=3,b=lC.a=3,b=2D.a=2,b=l
13.程序中頭文件typel.h的內(nèi)容是:#defineN5#defineM1N*3程序如下:#include“typel.h”#defineM2N*2main(){inti;i=M1+M2;Printf(“%d\n”,0;}程序編譯后運(yùn)行的輸出結(jié)果是:
A.10B.20C.25D.30
14.設(shè)有100個(gè)元素,用折半查找法進(jìn)行查找時(shí),最大比較次數(shù)是_____。
A.25B.50C.10D.7
15.眾所周知數(shù)據(jù)結(jié)構(gòu)中非常基本的樹結(jié)構(gòu)包括二叉查找樹(BST)。當(dāng)我們把如下序列:10,5,19,4,13,7,6,3,1按順序建立一棵BST時(shí),樹的最大深度是?(令根節(jié)點(diǎn)深度為0,不執(zhí)行平衡二叉樹操作)()
A.5B.4C.3D.2
16.下列選項(xiàng)中合法的賦值語(yǔ)句是()。
A.a=b=34B.a=34,b=34C.i-1;D.m=(int)(x+y);
17.若有如下函數(shù)定義:doublefun(intx,inty){return(x+y);}return語(yǔ)句中表達(dá)式值的類型與說(shuō)明的類型不一致,則以下敘述中正確的是()。
A.運(yùn)行時(shí)出錯(cuò)B.函數(shù)返回的值為int型C.編譯出錯(cuò)D.函數(shù)返回的值為double型
18.以下選項(xiàng)中與“if(a==l)a=b;elsea++;”語(yǔ)句功能不同的switch語(yǔ)句是()。
A.switch(a){casel:a=b;break;default:a++;}
B.switch(a==l){case0:a=b;break;casel:a++;}
C.switch(a){default:a++;break;casel:a=b;}
D.switch(a==l){casel:a=b;break;case0:a++;}
19.下列敘述中錯(cuò)誤的是()。
A.用戶定義的函數(shù)中可以沒(méi)有return語(yǔ)句
B.用戶定義的函數(shù)中可以有多個(gè)return語(yǔ)句,以便調(diào)用一次返回多個(gè)函數(shù)值
C.用戶定義的函數(shù)中若沒(méi)有return語(yǔ)句,則應(yīng)當(dāng)定義函數(shù)為void類型
D.函數(shù)的return語(yǔ)句中可以沒(méi)有表達(dá)式
20.有以下程序段當(dāng)執(zhí)行上述程序段,從鍵盤上輸A,555667777123后,y的值為()。
A.566.0B.55566.0C.7777.0D.566777.0
二、2.填空題(20題)21.數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式分別為_(kāi)_____模式、內(nèi)部級(jí)模式與外部級(jí)模式。
22.數(shù)據(jù)結(jié)構(gòu)分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),帶鏈的隊(duì)列屬于[]。
23.以下程序的輸出結(jié)果是【】。
#include<stdio.h>
unsignedfun6(unslgnednum)
{unsignedk=1;
do{k*=mum%10;num/=10;}
while(num);
returnk;
}
main()
{unsignedn=26;
printf("%d\n",fan6(n));
}
24.若有下列定義:inta[]={1,2,3,4,5,6,7,8,9,10},*p=a;,則值為3的表達(dá)式為:______。
25.軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過(guò)程稱為()。
26.數(shù)據(jù)結(jié)構(gòu)包括數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的【】以及對(duì)數(shù)據(jù)的操作運(yùn)算。
27.二叉樹的遍歷可以分為三種:前序遍歷、()遍歷和后序遍歷。
28.下列程序的輸出結(jié)果是______。
main()
{inti,sum;
for(i=1;i<7;i++)
sum+=i;
printf("%d",sum);
}
29.若有定義語(yǔ)句:inta=5;,則表達(dá)式:a++的值是【】。
30.下列程序段的輸出結(jié)果是【】。
main()
{charb[]="Hello,you";
b[5]=0;
printf("%s\n",B);
}
31.數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu),線性鏈表屬于【】。
32.下面程序的功能是調(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);
33.在循環(huán)中,continue語(yǔ)句與break語(yǔ)句的區(qū)別是:______語(yǔ)句只是結(jié)束本次循環(huán),然后進(jìn)行循環(huán)的條件判定。
34.以下定義的結(jié)構(gòu)體類型擬包括兩個(gè)成員,其中成員變量info用來(lái)存入整形數(shù)據(jù);成員變量link是指向自身結(jié)構(gòu)體的指針,請(qǐng)將定義比沖完整
structnode
{intinfo;
______link;};
35.下面程序的功能是實(shí)現(xiàn)變量x、y內(nèi)容交換,請(qǐng)?zhí)羁铡?/p>
#defineEXCHANGE(a,b,c){a=b;b=c;c=a;}
main()
{intx=10,y=8,z;
【】
printf("%d,%d",x,y);}
36.設(shè)x和y均為int型變量,且x=1,y=2,則表達(dá)式2.0+y/x的值為【】。
37.數(shù)據(jù)庫(kù)的邏輯模型設(shè)計(jì)階段的任務(wù)是將______轉(zhuǎn)換成關(guān)系模式。
38.有以下程序段,且變量已正確定義和賦值
for(s=1.0,k=1;k<=n;k++)s=s+1.0/(k*(k+1));
printf("s=%f\n\n",s);
請(qǐng)?zhí)羁?,使下面程序段的功能與之完全相同
S=1.0;k=1;
while([8]){s=s+1.0/(k*(k+1));[9];}
printf("s=%f\n\n",s);
39.存儲(chǔ)300個(gè)16×16點(diǎn)陣的漢字信息需要【】字節(jié)。
40.測(cè)試的目的是暴露錯(cuò)誤,評(píng)價(jià)程序的可靠性;而______的目的是發(fā)現(xiàn)錯(cuò)誤的位置并改正錯(cuò)誤。
三、1.選擇題(20題)41.設(shè)定義下列結(jié)構(gòu)體,結(jié)構(gòu)體變量p的出生年份賦值正確的語(yǔ)句是()。stmctst{intx;inty;intz;}structworker{charname[20];charsex;structstbirth;}p;
A.x=1987B.birth.x=1987;C.p.birth.x=1987;D.p.x=1987;
42.有下列程序:fun(intx,inty){return(x+y);}main(){inta=1,b=2,c=3,sum;sm=fun((a++,b++,a+B),c++);printf("%d\n",sum);}執(zhí)行后的輸出結(jié)果是()。
A.6B.7C.8D.9
43.設(shè)變量已正確定義并賦值,以下正確的表達(dá)式是()。
A.x=y*5=x+z
B.int(15.8%5.
C.x=y+z+5,++y
D.x=25%5.0
44.設(shè)有如下三個(gè)關(guān)系表:
下列操作中正確的是()。
A.T=R∩SB.T=R∪SC.T=R×SD.T=R/S
45.下列敘述中正確的是()。
A.一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度也必定大
B.一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度必定小
C.一個(gè)算法的時(shí)間復(fù)雜度大,則其空間復(fù)雜度必定小
D.上述三種說(shuō)法都不對(duì)
46.執(zhí)行以下的程序段后,m的值是______。inta[2][3]={{(1,2,3),{4,5,6}}intm,*p;p=aa[0][0];m=p[4];
A.4B.5C.3D.不確定
47.字符串"\\\"ABCDEF\"\\"的長(zhǎng)度是()。
A.15B.10C.7D.8
48.以下程序的輸出結(jié)果是main(){inta=0,i;for(i=1;i<5;i++){switch(i){case0:case3:a+=2;case1:case2:a+=3;default:a+=5;}}printf(“%d\n”,A);}
A.31B.13C.10D.20
49.閱讀下面程序,則執(zhí)行后的結(jié)果為#include"stdio.h"longfun(intn){if(n>2)return(fun(n-1)+fun(n-2));elsereturn(2);}main(){printf("%ld\n",fun(5));}
A.10B.15C.20D.以上3個(gè)答案都不正確
50.屬于C語(yǔ)言中合法的常量是______。
A.1.52eB.±100C.'x'D.xt'y'
51.若已知a=10,b=20,則表達(dá)式!a<b的值為_(kāi)_____。
A.10B.1C.20D.30
52.表示“在使用x之后,使x的值加1”的正確方式是()
A.++xB.x++C.+xD.+x+
53.以下程序運(yùn)行后的輸出結(jié)果是______。intd=1;fun(intp){staticintd=5;d+=p;printf("%d",d);returnd;}main(){inta=3;printf("%d\n",fun(a+fun(d)));}
A.699B.669C.61515D.6615
54.有以下程序
main()
{inti,s=1;
for(i=1;i<50;i++)
if(!(i%5)&&!(i%3))s+=i;
printf("%d\n",s);}
程序的輸出結(jié)果是
A.409B.277C.1D.91
55.以下程序的功能是:給r輸入數(shù)據(jù)后計(jì)算半徑為r的圓面積s。程序在編譯時(shí)出錯(cuò)。main()/*Beginning*/{intr;floats;scanf("%d",&);s=*π*r*r;printf("s=%f\n",s);}出錯(cuò)的原因是
A.注釋語(yǔ)句書寫位置錯(cuò)誤
B.存放圓半徑的變量r不應(yīng)該定義為整型
C.輸出語(yǔ)句中格式描述符非法
D.計(jì)算圓面積的賦值語(yǔ)句中使用了非法變量
56.在計(jì)算機(jī)系統(tǒng)中,一個(gè)字長(zhǎng)的二進(jìn)制位數(shù)為_(kāi)_____。
A.8B.16C.32D.由CPU型號(hào)決定
57.對(duì)下述程序的判斷中,正確的是#include<stdio.h>voidmain(){char*p,s[128];p=S;while(strcmp(s,"End")){printf("Inputastring:");gets(s);while(*p)putchar(*p++);}}
A.此程序循環(huán)接收字符串并輸出,直到接收字符串"End"為止
B.此程序循環(huán)接收字符串,接收到字符串"End"則輸出,否則程序終止
C.此程序循環(huán)接收字符串并輸出,直到接收字符串"End"為止,但因?yàn)榇a有錯(cuò)誤,程序不能正常工作
D.此程序循環(huán)接收字符串并將其連接在一起,直到接收字符串"End"為止,輸出連接在一起的字符串
58.在微機(jī)中,應(yīng)用最普遍的字符編碼是()
A.BCD碼B.ASCII碼C.漢字騙碼D.補(bǔ)碼
59.已有定義int(*q)(),指針q可以()。
A.指向函數(shù)的入口地址B.代表函數(shù)的返回值C.表示函數(shù)的類型D.表示函數(shù)返回值的類型
60.設(shè)intx=1,y=1;表達(dá)式(|x‖--y)的值是()。
A.0B.1C.2D.-1
四、選擇題(20題)61.
62.
63.
64.設(shè)變量已正確定義并賦值,以下正確的表達(dá)式是()。
A.X=Y+z+5,++YB.int(15.8%5)C.X=Y*5=X+ZD.X=25%5.0
65.
下列程序執(zhí)行后的輸出結(jié)果是()。
main
{charx=0xFFFF;printf("%d\n",x--);}
A.-32767B.FFFEC.1D.32768
66.設(shè)變量均已正確定義,若要通過(guò);語(yǔ)句為變螢a1和a2賦數(shù)值l0和20,為變量cl和c2賦字符x和Yd以下所示的輸入形式中正確的是(注:口代表空格字符)
67.有以下程序程序運(yùn)行后的輸出結(jié)果是()。
A.123456B.14C.1234D.12
68.
69.有以下程序
#include<stdio.h>
main()
{intx=1,y=2,z=3;
if(x>y)
if(y<z)printf("%d",++z);
elseprintf("%d",++y);
printf("%d\n",x++);
}
程序的運(yùn)行結(jié)果是
A.A.331
B.41
C.2
D.1
70.設(shè)a=l,b=2,c=3,d=4,則表達(dá)式:“a<b?a:b<b?a:c<d?a:d”的結(jié)果為()。A.A.4B.3C.2D.1
71.若有定義:“int*P,x=0,*p,p=&x;”,則語(yǔ)句“printf("%d\n",*p);”的輸出結(jié)果是()。
A.隨機(jī)值B.0C.x的地址D.P的地址
72.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.4,5,6,4,5,6,
B.1,2,3,4,5,6,
C.4,5,6,1,2,3,
D.6,5,4,3,2,1,
73.下列程序的輸出結(jié)果是()。
char*p1="abcd",*p2="ABCD",str[50]="xyz";
strcpy(str+2,strcat(p1+2,p2+1));
printf("%s",str);
A.xyabcABB.abcABzC.ABabczD.xycdBCD
74.若有定義語(yǔ)句:inta[2][3],*p[3];,則以下語(yǔ)句中正確的是()。
A.p=a;B.p[0]=a;C.p[o]=&a[1][2];D.p[1]=&a;
75.
76.有以下程序main(){chara[7]="a0\0a0\0";inti,j;i=sizeof(a);j=strlen(a);printf("%d%d\n",i,j);}程序運(yùn)行后的輸出結(jié)果是______。
A.22B.76C.72D.62
77.下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性結(jié)構(gòu)的是()。
A.帶鏈隊(duì)列B.循環(huán)隊(duì)列C.帶鏈棧D.二叉樹
78.有以下程序
79.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.a=2,b=2B.a=2,b=1C.a=1,b=1D.a=1,b=0
80.軟件按功能可以分為:應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(工具軟件)。下面屬于應(yīng)用軟件的是().
A.編譯程序B.操作系統(tǒng)C.教務(wù)管理系統(tǒng)D.匯編程序
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:將長(zhǎng)整型數(shù)中為偶數(shù)的數(shù)依次取出,構(gòu)成一個(gè)新數(shù)放在t中。高位仍在高位,低位仍在低位。例如,當(dāng)s中的數(shù)為87653142時(shí),t中的數(shù)為8642。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫函數(shù)proc(),該函數(shù)的功能是:計(jì)算并輸出
例如,若主函數(shù)從鍵盤給n輸入10后,則輸出為S=104.478749。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫的若干語(yǔ)句。
試題程序:
參考答案
1.B
2.B
3.A左移運(yùn)算符“<<”是雙目運(yùn)算符,其功能是把“<<”左邊的運(yùn)算數(shù)的各二進(jìn)位全部左移若干位,由“<<”右邊的數(shù)指定移動(dòng)的位數(shù),高位丟棄,低位補(bǔ)0。例如,a<<4是把a(bǔ)的各二進(jìn)位向左移動(dòng)4位。如a=00000011(十進(jìn)制3),左移4位后為00110000(十進(jìn)制48)。
4.B
5.A
6.C
7.C
8.C
9.C
10.D
11.B所謂常量,是指在程序運(yùn)行的過(guò)程中,其值不能被改變的量。在C語(yǔ)言中,有整型常量、實(shí)型常量、字符常量和字符串常量等類型。選項(xiàng)A是字符串,需要使用雙引號(hào);選項(xiàng)C不是合法的常量形式;選項(xiàng)D為實(shí)型常量中的指數(shù)形式,但指數(shù)形式e(E)之前必須是數(shù)字,之后必須為整數(shù)。故本題答案為B選項(xiàng)。
12.B本題考查按位異或的用法。按位異或運(yùn)算的規(guī)則是:兩個(gè)運(yùn)算數(shù)的相應(yīng)二進(jìn)制位相同,則結(jié)果為0,相異則結(jié)果為1。b=2的二進(jìn)制為00000010,a=1的二進(jìn)制為00000001,a=a^b一00000011,轉(zhuǎn)化為十進(jìn)制后為3,b=b^a=00000010^00000011=00000001,即1。
13.C解析:編譯預(yù)處理時(shí),用“typel.h”中的內(nèi)容替代命令#include“typel.h”。表達(dá)式“i=M1+M2”經(jīng)過(guò)宏替換為“i=5*3+5*2”即i=25,所以最后輸出的i的值為25。
14.D
15.B
16.D解析:選項(xiàng)A)是一個(gè)合法的賦值表達(dá)式,但結(jié)尾沒(méi)加分號(hào),所以它不是一個(gè)賦值語(yǔ)句;選項(xiàng)B)是一個(gè)逗號(hào)表達(dá)式,也因?yàn)榻Y(jié)尾沒(méi)有加分號(hào)而不是合法的賦值語(yǔ)句,選項(xiàng)C)是一個(gè)算術(shù)表達(dá)式,雖然有分號(hào),但這個(gè)表達(dá)式?jīng)]有賦值操作,因此,也不是一條賦值語(yǔ)句。
17.D題干中“x+y”是整型,函數(shù)的返回值是double類型,由于整型可以自動(dòng)轉(zhuǎn)換成double類型,因此函數(shù)值返回時(shí)自動(dòng)轉(zhuǎn)換成double類型。故本題答案為D選項(xiàng)。
18.B題中當(dāng)a的值為l時(shí),關(guān)系表達(dá)式a==l的值為真,即1,因此程序?qū)⑻D(zhuǎn)到easel執(zhí)行a++操作,與題干程序剛好相反。
19.B函數(shù)的值只能通過(guò)return語(yǔ)句返回主調(diào)函數(shù)。函數(shù)中允許有多個(gè)return語(yǔ)句,但每次只能調(diào)用一個(gè)return語(yǔ)句,因此只能返回一個(gè)函數(shù)值。不返回函數(shù)值的函數(shù),可以明確定義為“空類型”,類型說(shuō)明符為void。故本題答案為B選項(xiàng)。
20.A本題考查的是格式輸)ki$i數(shù),即按用戶指定的格式從鍵盤上把數(shù)據(jù)輸入到指定的變量之中,其中的格式命令可以說(shuō)明最大域?qū)?。在百分?hào)(%)與格式碼之間的整數(shù)用于限制從對(duì)應(yīng)域讀入的最大字符數(shù)。因此j的值為55,y的值為566.0,字符數(shù)組nanle的值為7777123。故本題答案為A)。
21.概念(或概念級(jí))概念(或概念級(jí))
22.線性結(jié)構(gòu)線性結(jié)構(gòu)解析:與棧類似,隊(duì)列也是線性表,也町以采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。
23.1212解析:循環(huán)語(yǔ)句中,表達(dá)式num%10是取num的個(gè)位。循環(huán)直至num為0結(jié)束,這是逐一求出num+進(jìn)制表示的各位數(shù)字,并累乘于變量k中。函數(shù)最后返回k,所以程序輸出12。
24.p+=2*(p++)p+=2,*(p++)解析:由題可知a[2]=3,因此只要使指針p指向a[3],然后再引用指針的值就可以了。
25.軟件生命周期軟件生命周期解析:軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過(guò)程稱為軟件生命周期。在國(guó)家標(biāo)準(zhǔn)“計(jì)算機(jī)軟件開(kāi)發(fā)規(guī)范”中,把軟件生命周期劃分為8個(gè)階段,即可行性研究與計(jì)劃、需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、實(shí)現(xiàn)、綜合測(cè)試、確認(rèn)測(cè)試、使用與維護(hù),對(duì)每個(gè)階段,都明確規(guī)定了該階段的任務(wù)、實(shí)施方法、實(shí)施步驟和完成標(biāo)志,其中特別規(guī)定了每個(gè)階段需要產(chǎn)生的文檔。
26.存儲(chǔ)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)包括3個(gè)方面,即數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)及對(duì)數(shù)據(jù)的操作運(yùn)算。
27.中序中序解析:二叉樹的遍歷可以分為三種:前序遍歷、中序遍歷和后序遍歷。前序遍歷是指在訪問(wèn)根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先訪問(wèn)根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹;并且遍歷左、右子樹時(shí),仍然先訪問(wèn)根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹。中序遍歷指在訪問(wèn)根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先遍歷左子樹,然后訪問(wèn)根結(jié)點(diǎn),最后遍歷右子樹;并且遍歷左、右子樹時(shí),仍然先遍歷左子樹,然后訪問(wèn)根結(jié)點(diǎn),最后遍歷右子樹。后序遍歷指在訪問(wèn)根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先遍歷右子樹,然后訪問(wèn)根
28.無(wú)定值無(wú)定值解析:for(i=1;i<7;i++)決定了循環(huán)次數(shù)為6次,每次執(zhí)行的操作是sum+=i,但由于sum沒(méi)有初始化,并不知道sum的初值是多少,所以結(jié)果無(wú)定值。
29.55解析:a++的含義是在使用a值以后,使a值加1,所以a++的值為5。
30.HelloHello解析:字符串中,數(shù)值0或符號(hào)'/0'表示字符串的結(jié)束。本題中,b[5]被賦了0值,表明字符串b的第六個(gè)字符就是結(jié)束標(biāo)志。因此,只輸出前五個(gè)字符,即Hello。
31.存儲(chǔ)結(jié)構(gòu)
32.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)該填寫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);。
33.continuecontinue解析:continue語(yǔ)句只是結(jié)束本次循環(huán),然后進(jìn)行循環(huán)的條件判定。break語(yǔ)句是終止整個(gè)循環(huán)的執(zhí)行,不再進(jìn)行條件判定。
34.解析:本題中的結(jié)構(gòu)類型名為structnode,所以空白處應(yīng)填:structnode*,即定義一個(gè)指向自身的結(jié)構(gòu)體指針。
35.EXCHANGE(zxy)或EXCHANGE(zxy);EXCHANGE(z,x,y)或EXCHANGE(z,x,y);
36.4.0或44.0或4
37.E-R圖E-R圖解析:數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)的任務(wù)是將概念模型進(jìn)一步轉(zhuǎn)化成相應(yīng)的數(shù)據(jù)模型。而E-R圖是主要的概念模型,因此數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì)的主要工作是將E-R圖轉(zhuǎn)換成關(guān)系模式。
38.本題要求將一個(gè)for循環(huán)改成while循環(huán)。首先要保證循環(huán)條件相同,在for循環(huán)中,每次執(zhí)行循環(huán)之后,循環(huán)控制變量k都會(huì)加1,而while循環(huán)則沒(méi)有,故需在循環(huán)體中增加改變k數(shù)值的語(yǔ)句“k++”。\r\n\r\n
39.800800解析:一個(gè)16x16點(diǎn)陣的字形碼需要16x16/8=32字節(jié)的存儲(chǔ)空間,所以300個(gè)漢字信息需要9600個(gè)字節(jié)。
40.調(diào)試調(diào)試
41.C解析:本題主要考查怎樣為嵌套定義的結(jié)構(gòu)中的成員賦值:由于worker中的birth是一個(gè)st型的結(jié)構(gòu),在給birth賦值時(shí),不能將birth作為一個(gè)整體,要用“.”運(yùn)算再深入一層訪問(wèn)到最基本的成員x、y\\z。
42.C解析:函數(shù)fun(intx,inty)的功能是返回兩個(gè)整型數(shù)據(jù)的和。在主函數(shù)中,變量a,b,c的初始值分別為1,2,3。因此逗號(hào)表達(dá)式“a++,b++,a+b”的值等于5,表達(dá)式c++的值為3,調(diào)用于函數(shù)的表達(dá)式為“fun(5,3);”,其返回值等8。所以變量sum的值等于8。
43.C解析:求余運(yùn)算符'%'兩邊的運(yùn)算對(duì)象必須是整型,而選項(xiàng)B)和D)中'%'兩邊的運(yùn)算對(duì)象有浮點(diǎn)整數(shù)據(jù),所以選項(xiàng)B)和D)是錯(cuò)誤的表達(dá)式。在選項(xiàng)A)中賦值表達(dá)式的兩邊出現(xiàn)相同的變量x,也是錯(cuò)誤的。選項(xiàng)C)是一個(gè)逗號(hào)表達(dá)式,所以正確答案為C)。
44.C解析:本題考查數(shù)據(jù)庫(kù)的關(guān)系代數(shù)運(yùn)算。R表中只有一個(gè)域名A,有兩個(gè)記錄(也叫元組),分別是m和n;S表中有兩個(gè)域名,分別是B和C,其所對(duì)應(yīng)的記錄分別為1和3。注意觀察表T,它是由R的第一個(gè)記錄依次與S的所有記錄組合,然后再由R的第二個(gè)記錄與S的所有記錄組合,形成的一個(gè)新表。上述運(yùn)算恰恰符合關(guān)系代數(shù)的笛卡兒積運(yùn)算規(guī)則。關(guān)系代數(shù)中,笛卡兒積運(yùn)算用“×”來(lái)表示。因此,上述運(yùn)算可以表示為T=R×S。因此,本題的正確答案為C。
45.D解析:時(shí)間復(fù)雜度是指一個(gè)算法執(zhí)行時(shí)間的相對(duì)度量;空間復(fù)雜度是指算法在運(yùn)行過(guò)程中臨時(shí)占用所需存儲(chǔ)空間大小的度量。人們都希望選擇一個(gè)既省存儲(chǔ)空間、又省執(zhí)行時(shí)間的算法。然而,有時(shí)為了加快算法的運(yùn)行速度,不得不增加空間開(kāi)銷;有時(shí)為了能有效地存儲(chǔ)算法和數(shù)據(jù),又不得不犧牲運(yùn)行時(shí)間。時(shí)間和空間的效率往往是一對(duì)矛盾,很難做到兩全。但是,這不適用于所有的情況,也就是說(shuō)時(shí)間復(fù)雜度和空間復(fù)雜度之間雖然經(jīng)常矛盾,但是二者不存在必然的聯(lián)系。因此,選項(xiàng)A、B、C的說(shuō)法都是錯(cuò)誤的。故本題的正確答案是D。
46.B解析:程序中定義了一個(gè)指向整型變量的指針變量,并對(duì)其賦值為二維整型數(shù)組a的首元素的地址。p[4]等價(jià)于*(p+4),即二維數(shù)組a中第四個(gè)元素的值,而a是一個(gè)2*3的二維數(shù)組,其第四個(gè)元素為a[1][1],即5。
47.B解析:本題涉及字符串最基本的兩個(gè)概念:①字符串的長(zhǎng)度是指字符串中字符的個(gè)數(shù),但不包括字符串結(jié)束符;②以反斜杠“\\”開(kāi)頭的特殊字符序列,意思是把反斜杠后面的字符序列轉(zhuǎn)換成特定的含義,而不是原來(lái)的含義,不包含在字符串長(zhǎng)度之內(nèi),“\\”連同后面的字符為一個(gè)長(zhǎng)度。
48.A解析:switch語(yǔ)句的執(zhí)行過(guò)程是:在switch后面的表達(dá)式的值和case后面常量表達(dá)式的值吻合時(shí),就執(zhí)行該case分支的語(yǔ)句。如果在該語(yǔ)句的后面沒(méi)有break語(yǔ)句,則按順序繼續(xù)執(zhí)行下一個(gè)case分支,直到遇到break語(yǔ)句或switch多分支語(yǔ)句結(jié)束,在switch語(yǔ)句中,break語(yǔ)句的作用是使流程跳出switch結(jié)構(gòu),終止switch語(yǔ)句的執(zhí)行。在本題中,因?yàn)槊總€(gè)case語(yǔ)句后面都沒(méi)有break語(yǔ)句,所以,第一輪循環(huán)(i==1)執(zhí)行過(guò)后a的值為8,第2輪(i==2)執(zhí)行過(guò)后a的值為16,第3輪(i==3)執(zhí)行過(guò)后a的值為26,第4輪(i==4)執(zhí)行過(guò)后a的值為31,然后執(zhí)行“i++”語(yǔ)句,這時(shí)循環(huán)條件為假,循環(huán)結(jié)束。
49.A解析:這是使用遞歸算法求著名的菲波拉奇數(shù)列,并要熟悉函數(shù)的遞歸方法的調(diào)用。
50.C解析:實(shí)數(shù)的指數(shù)形式中,e后面必須有一個(gè)整數(shù),所以A錯(cuò);B項(xiàng)錯(cuò)在無(wú)~13這種形式的數(shù);字符串常量是用雙引號(hào)括起來(lái)的字符序列,所以D項(xiàng)錯(cuò)誤。
51.B解析:!的優(yōu)先級(jí)高于<,!a的值為0,0<b顯然成立,該表達(dá)式的值為1。
52.B
53.C解析:靜態(tài)局部變量在編譯時(shí)賦初值,即只賦初值一次,在程序運(yùn)行時(shí)它已有初值。以后每次調(diào)用時(shí)不再重新賦初值而只是保留上次函數(shù)調(diào)用結(jié)束時(shí)的值,而對(duì)自動(dòng)變量賦初值,不是在編譯時(shí)進(jìn)行的,而在函數(shù)調(diào)用時(shí)進(jìn)行,每調(diào)用一次函數(shù)重新給一次初值,相當(dāng)于執(zhí)行一次賦值語(yǔ)句。本題在程序開(kāi)頭定義了全局變量d并賦初值1,在被調(diào)函數(shù)fun()中,定義了靜態(tài)局部變量d,初值為5。在第一次調(diào)用函數(shù)fun時(shí),d初值為5,p由主函數(shù)傳遞過(guò)來(lái)的值為1,則d=d+p=5+1=6,由于d是靜態(tài)局部變量,在函數(shù)調(diào)用結(jié)束后,它仍保留d=6。再次調(diào)用fun函數(shù),d的初值為6,而由主函數(shù)傳遞的p的值為9,則此時(shí)d=d+p=6+9=15,最后打印輸出d的值并返回主函數(shù)。
54.D解析:本題是計(jì)算50之內(nèi)的自然數(shù)相加之和,題中if語(yǔ)句括號(hào)中的條件表達(dá)式!(i%5)&&!(i%3)表明只有能同時(shí)被5和3整除的數(shù)才符合相加的條件,1~49之間滿足這個(gè)條件的只有,15、30和45,因?yàn)閟的初始值為1,所以s=1+15+30+45=91。
55.D解析:計(jì)算圓面積的賦值語(yǔ)句中使用了非法變量π。所以,答案為選項(xiàng)D)。注意:注釋語(yǔ)句可以出現(xiàn)在程序中的任意位置,故選項(xiàng)A)中的描述錯(cuò)誤;圓的半徑可以是整型,也可以是實(shí)型,定義成哪種類型都不算錯(cuò),故選項(xiàng)B)中的描述錯(cuò)誤;顯而易見(jiàn),選項(xiàng)D)中的描述也錯(cuò)誤。
56.D解析:字長(zhǎng)是指微機(jī)能直接處理二進(jìn)制信息的位數(shù),由CPU的類型和型號(hào)決定。
57.B解析:此題考查了字符串輸入函數(shù)gets和字符串比較函數(shù)strcmp,另外還有字符輸出函數(shù)putchar。gets從標(biāo)準(zhǔn)輸入設(shè)備中讀入全部字符,包括空格,直到遇到回車符為止。strcmp是字符串比較函數(shù),即strcmp(字符串1,字符串2),如果字符串1=字符串2,則函數(shù)值為0;如果宇符串1,字符串2,則函數(shù)值為一正整數(shù);如果字符串1<字符串2,則函數(shù)值為一負(fù)整數(shù)。putchar(c)函數(shù)將字符c輸出到標(biāo)準(zhǔn)輸出設(shè)備上。
58.B
59.A解析:本題考查的是指向函數(shù)的指針。函數(shù)指針的定義方式是:類型標(biāo)識(shí)符(*指針變量名)()。其中,“類型標(biāo)識(shí)符”為函數(shù)返回值的類型;“指針”指向函數(shù)的入口地址。
60.A解析:當(dāng)邏輯或運(yùn)算符兩邊的運(yùn)算對(duì)象至少有一個(gè)為1時(shí),整個(gè)邏輯表達(dá)式的值是1;如果兩邊的運(yùn)算對(duì)象都為0,則整個(gè)邏輯表達(dá)式的值為0。題中!x=0,--y=0,所以整個(gè)表達(dá)式的值是0。
61.B
62.C
63.C
64.A?B)與D)選項(xiàng)中取模運(yùn)算符%的左右兩個(gè)操作數(shù)均應(yīng)為整數(shù),所以B)、D)錯(cuò)誤。C)選項(xiàng)中不能將x+z的值賦給表達(dá)式y(tǒng)*5,所以C)錯(cuò)誤。
65.C
\n因?yàn)閤=0xFFFF=11111111,因此當(dāng)以整型形式輸出時(shí)對(duì)應(yīng)的數(shù)為一1。
\n
66.A本題考查的知識(shí)點(diǎn)是數(shù)據(jù)輸入。scanf函數(shù)是C語(yǔ)言提供的標(biāo)準(zhǔn)輸入函數(shù),作用是接收在終端設(shè)備(或系統(tǒng)隱含指定的輸入設(shè)備)上輸入的數(shù)據(jù)。scanf()函數(shù)的一般形式為:scanf(格式控制,輸入項(xiàng)表);本題中的格式控制字符串是“%d%c%d%c”,其中%d表示要輸入的是整數(shù);%c則表示輸入的是字符,且各控制符之間無(wú)任何分隔字符,故要求輸入的數(shù)據(jù)之間也不能分開(kāi)(若要求連續(xù)輸入的都是數(shù)據(jù)類型,則必須以空格等空白字符分隔每個(gè)數(shù)據(jù),因?yàn)橄到y(tǒng)不知道應(yīng)該如何去分隔這一系列數(shù)據(jù))。而選項(xiàng)B)、C)、D)在l0和x之間均插入空格,所以不正確。
67.A將有6個(gè)元素的整型數(shù)組分兩行輸出到一個(gè)文件中,因?yàn)檩敵龅亩际菙?shù)字并且每行都沒(méi)有分隔符,所以當(dāng)再對(duì)其進(jìn)行讀取操作時(shí),每一行都會(huì)被認(rèn)為是一個(gè)完整的數(shù),而換行符則作為它們的分隔符。
68.A
69.D本題考查if-else語(yǔ)句的使用。if-else語(yǔ)句可以在條件為“真”或?yàn)椤凹佟睍r(shí)執(zhí)行指定的動(dòng)作,由if引導(dǎo)條件為“真”時(shí)執(zhí)行的操作;由else引導(dǎo)條件為“假”時(shí)執(zhí)行的操作。else語(yǔ)句要與上面最近的if語(yǔ)句進(jìn)行匹配,如果要嵌套調(diào)用if-else語(yǔ)句,需要將嵌套部分用{}括起來(lái),避免程序報(bào)錯(cuò)。題目中給出了一個(gè)if語(yǔ)句和一個(gè)if-else語(yǔ)句,if-else語(yǔ)句為第一個(gè)if語(yǔ)句的子語(yǔ)句。首先執(zhí)行外層if語(yǔ)句,執(zhí)行條件為x>y,由于x=1,y=2
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度智能停車系統(tǒng)車庫(kù)交易合同2篇
- 二零二五年度家政服務(wù)與家庭旅游策劃合同3篇
- 二零二五年度叉車維修保養(yǎng)與維修設(shè)備租賃合同2篇
- 2025年度綜合體物業(yè)房使用及公共設(shè)施維護(hù)協(xié)議3篇
- 二零二五年度大棚養(yǎng)殖廢棄物資源化利用合作協(xié)議2篇
- 二零二五年度文化旅游項(xiàng)目借款及旅游資源擔(dān)保服務(wù)協(xié)議3篇
- 二零二五年度保障性住房置換合同范本
- 二零二五年度ISO9001質(zhì)量管理體系認(rèn)證咨詢與實(shí)施合同3篇
- 二零二五年度加油站油品供應(yīng)與信息化建設(shè)合同3篇
- 船舶管系課程設(shè)計(jì)
- 女裝行業(yè)退貨率分析
- 領(lǐng)導(dǎo)溝通的藝術(shù)
- 純視覺(jué)方案算法
- 道士述職報(bào)告
- 綠色貸款培訓(xùn)課件
- 2024年七年級(jí)語(yǔ)文上學(xué)期期末作文題目及范文匯編
- 云南省昆明市五華區(qū)2023-2024學(xué)年九年級(jí)上學(xué)期期末英語(yǔ)試卷+
- 2023年生產(chǎn)運(yùn)營(yíng)副總經(jīng)理年度總結(jié)及下一年計(jì)劃
- 2023年中考語(yǔ)文標(biāo)點(diǎn)符號(hào)(頓號(hào))練習(xí)(含答案)
- 施工圖審查招標(biāo)文件范文
- 布袋式除塵器制造工序檢驗(yàn)規(guī)定
評(píng)論
0/150
提交評(píng)論