版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2024年春江蘇省二級(jí)VC++考試試題與答案
絕密★啟用前
2024年春
江蘇省高等學(xué)校非計(jì)算機(jī)專(zhuān)業(yè)學(xué)生
計(jì)算機(jī)基礎(chǔ)學(xué)問(wèn)和應(yīng)用實(shí)力等級(jí)考試
二級(jí)試卷
試卷語(yǔ)種:VisualC++
說(shuō)明:
1.本試卷包括計(jì)算機(jī)基礎(chǔ)學(xué)問(wèn)部分和程序設(shè)計(jì)部分,考試時(shí)間共120分鐘
2.本試卷滿(mǎn)分為60分,分選擇題和填空題,試卷不分A、B類(lèi)型;
3.計(jì)算機(jī)基礎(chǔ)學(xué)問(wèn)部分全部是選擇題(20分),程序設(shè)計(jì)部分分為選擇題(10分)和填空題(30
分)兩種;
4.選擇題用答題卡答題。每一項(xiàng)有A、B、C、D四個(gè)可供選擇的答案,請(qǐng)選擇其中一個(gè)你認(rèn)
為正確的答案,用HB鉛筆涂寫(xiě)在答題卡的相應(yīng)答題號(hào)內(nèi)。每選對(duì)一項(xiàng)得1分,不選或選錯(cuò)
不得分;
5.填空題用答題紙答題。請(qǐng)將答案用藍(lán)、黑色鋼筆或圓珠筆填寫(xiě)在答題紙的相應(yīng)答題號(hào)內(nèi),
每個(gè)答案只占一行,不得換行。句填對(duì)一個(gè)答案得I分,不填或填錯(cuò)不得分;
6.請(qǐng)細(xì)致填寫(xiě)并細(xì)致核對(duì)答題卡和答題紙.上的學(xué)校名稱(chēng)、準(zhǔn)考證號(hào)和姓名是否填寫(xiě)正確。
7.考試結(jié)束時(shí)將試卷、答題卡和答題紙放在桌上,不得帶走。待監(jiān)考人員收點(diǎn)
第一部分計(jì)算機(jī)基礎(chǔ)學(xué)問(wèn)
I.下面關(guān)于比特的敘述中,錯(cuò)誤的是(I)
A.比特是組成數(shù)字信息的最小單位
B.比特只有“O”和“1”兩個(gè)符號(hào)
C.比特既可以表示數(shù)值和文字,也可以表示圖像和聲音
D.比特“1”總是大于比特“0”
2.在下列有關(guān)集成電路的敘述中,錯(cuò)誤的是(2)
A.現(xiàn)代集成電路運(yùn)用的半導(dǎo)體材料主要是硅
B.大覷模集成電路一般以功能部件、子系統(tǒng)為集成對(duì)象
C.我國(guó)第2代居民身份證中包含有IC芯片
D-目前超大規(guī)模集成電路中晶體管的基本線(xiàn)條已小到1納米左右
3.在下列有關(guān)通信技術(shù)的敘述中,錯(cuò)誤的是(3)
A.通信的基本任務(wù)是傳遞信息,因而至少需由信源、信宿和信道組成
B.通信可分為模擬通信和數(shù)字通信,計(jì)算機(jī)網(wǎng)絡(luò)屬于模擬通信
c.在通信系統(tǒng)中,采納多路復(fù)用技術(shù)的目的主要是提高傳輸線(xiàn)路龜利用率
'D?學(xué)校的計(jì)算機(jī)機(jī)房一般采甩5類(lèi)無(wú)屏蔽雙絞線(xiàn)作為局域網(wǎng)的傳輸介質(zhì)
4.下面是關(guān)于PC機(jī)主存儲(chǔ)器的一些敘述,其中正確的是(4)
A.主存儲(chǔ)器是一種動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(RAM)
B.主存儲(chǔ)器的基本編址單位是字(即32個(gè)二進(jìn)位)
C.目前市場(chǎng)上銷(xiāo)售的PC機(jī),其內(nèi)存容量可達(dá)數(shù)十GB
D.全部PC機(jī)的內(nèi)存條都是通用的:可以互換
5.現(xiàn)行PC機(jī)中,IDE(或SATA)接口標(biāo)準(zhǔn)主要用于(5)
A.打卬機(jī)與主機(jī)的連接c.聲卡與主機(jī)的連接
B.顯示器與主機(jī)的連接D.硬盤(pán)與主機(jī)的連接
6.下列有關(guān)PC機(jī)的CPU、內(nèi)存和主板的敘述中,正確的是(6)o
A.大多數(shù)Pc機(jī)只存一塊CPu芯片,即使是“雙核”CPU也是一塊芯片
B.全部Pentium系列微機(jī)的內(nèi)存條相同,僅有速度和容量大小之分
C.主板上芯片組的作用是供應(yīng)存儲(chǔ)器限制功能,I/O限制與芯片組無(wú)關(guān)
D.主板上CMOS芯片用于存儲(chǔ)CMOS設(shè)置程序和一些軟硬件設(shè)置信息
7.下列有關(guān)目前Pc機(jī)協(xié)助存儲(chǔ)器的敘述中,錯(cuò)誤的是(7)
A.硬盤(pán)的容量越來(lái)越大,這是因?yàn)橛脖P(pán)中磁盤(pán)碟片的數(shù)目越來(lái)越多
B.硬盤(pán)的內(nèi)部傳輸速率一般小于外部傳輸速率
c.優(yōu)盤(pán)采納Flash存儲(chǔ)器技術(shù),屬于半導(dǎo)體存儲(chǔ)器
D.目前常見(jiàn)COMBO光驅(qū)是一種將CD-RW和DVD-ROM組合在一起的光驅(qū)
8.下面有關(guān)Windows操作系統(tǒng),(95以后版本)的敘述中,錯(cuò)誤的是(8)。
A.Windows操作系統(tǒng)支持系統(tǒng)中多個(gè)任務(wù)的并發(fā)執(zhí)行
B.利用Whldows附件“系統(tǒng)工具”中的“系統(tǒng)信息”可以查看內(nèi)存的工作狀況
C.系統(tǒng)規(guī)定文件名最多由128個(gè)字符組成
D.Vista是Microsoft公司推出的WindowsXP操作系統(tǒng)的后繼版本
9.算法設(shè)計(jì)是編寫(xiě)程序的基礎(chǔ)。下列關(guān)于算法的敘述中,正確的是(9)。
A.算法必需產(chǎn)生正確的結(jié)果C.算法可以沒(méi)有輸出
B.算法必需具有確定性D.算法的表示必需使計(jì)算機(jī)能理解
10.因特網(wǎng)運(yùn)用TCP/IP協(xié)議實(shí)現(xiàn)全球范圍的計(jì)算機(jī)網(wǎng)絡(luò)互連,連接在因特網(wǎng)上的每?臺(tái)
主機(jī)
都有一個(gè)IP地址。下面不能作為IP地址的是(10)
A.120.34.0.18C.21.18.33.48
B.201.256.39.68D,37.250.68.0
11.常用局域網(wǎng)有以太網(wǎng)、FDDI網(wǎng)等,下面的敘述中錯(cuò)誤的是(11)
A-總線(xiàn)式以太網(wǎng)采納帶沖突檢測(cè)載波偵聽(tīng)多路訪問(wèn)(CSMA/CD)方法進(jìn)行通信
B.FDDI網(wǎng)和以太網(wǎng)可以干脆進(jìn)行互連
C-交換式集線(xiàn)器比總線(xiàn)式集線(xiàn)器具有更高的性能,它能提高整個(gè)網(wǎng)絡(luò)的帶寬.
D-FDDI網(wǎng)采納光纖雙環(huán)結(jié)構(gòu),具有高牢靠性和數(shù)據(jù)傳輸?shù)谋C苄?/p>
12.某用戶(hù)在WWW閱讀器地址欄內(nèi)鍵入一個(gè)URL"://zdxy/index.htm",其中
的“/ndex.htm”代表(12)
A.協(xié)議類(lèi)型C.路徑及文件名
B.主機(jī)域名D.用戶(hù)名
13.交換式以太網(wǎng)與總線(xiàn)式以太網(wǎng)在技術(shù)上有很多相同之處,下面敘述中錯(cuò)誤的是
(13)
A.運(yùn)用的傳輸介質(zhì)相同C.傳輸?shù)男畔袷较嗤?/p>
B.網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)相同D.運(yùn)用的網(wǎng)卡相同
14.下面是關(guān)于我國(guó)漢字編碼標(biāo)準(zhǔn)的敘述,其中正確的是(14)
A.Unicode是我國(guó)最新發(fā)布的也是收字最多的漢字編碼國(guó)家標(biāo)準(zhǔn)
B.不同字型(如宋體、精體等)的同一個(gè)漢字在計(jì)算機(jī)中的內(nèi)碼不同
C.在GB18030漢字編碼標(biāo)準(zhǔn)中,共有2萬(wàn)多個(gè)漢字
D.GB18030與GB2312、GBK漢字編碼標(biāo)準(zhǔn)不能兼容
15.數(shù)字圖像的文件格式有多種,下列哪?種圖像文件能夠在網(wǎng)頁(yè)上發(fā)布且可具有動(dòng)畫(huà)效
果(15)
A.BMPB.GIFC.JPEGD.TIF
16.聲卡是獲得數(shù)字聲音的重要設(shè)備,.在下列有關(guān)聲卡的敘述中,錯(cuò)誤的是
A.聲卡既負(fù)責(zé)聲音的數(shù)字化(輸入),也負(fù)責(zé)聲音的重建(輸出)
B.聲卡既處理波形聲音,也負(fù)責(zé)MIDI音樂(lè)的合成。
C.聲卡中的數(shù)字信號(hào)處理器(DSP)在完成數(shù)字聲音編碼、解碼及編輯操作中起著里
要的作用
D.因?yàn)槁暱ㄌ貏e困難,所以它們都被做成獨(dú)立的PCI插卡形式
17.彩色圖像所運(yùn)用的顏色描述方法稱(chēng)為顏色模型。顯示器運(yùn)用的顏色模型為RGB三基色
模
型,PAL制式的電視系統(tǒng)在傳輸圖像時(shí)所運(yùn)用的顏色模型為
A.YUVB.HSBC.CMYK
18.在信息系統(tǒng)的結(jié)構(gòu)化生命周期開(kāi)發(fā)方法中,繪制E-R圖屬于(18)階段的工作
A.系統(tǒng)規(guī)劃B.系統(tǒng)分析
C.系統(tǒng)設(shè)計(jì)D.系統(tǒng)實(shí)施
19.在下列有關(guān)MicrosoftWord2000/2024(中文版)功能的敘述中,(19)
A.起始頁(yè)的頁(yè)碼可以不為I
B.利用菜單吩咐,可更改所選英文文本的大小寫(xiě)
C.利用菜單吩咐“字?jǐn)?shù)統(tǒng)計(jì)”,可以統(tǒng)計(jì)出當(dāng)前文檔的行數(shù)和段落數(shù)
D.表格中的數(shù)據(jù)不行排序,也不能利用公式進(jìn)行統(tǒng)計(jì)計(jì)算
20.在下列有關(guān)MicrosoftPowerPoint200012024(中文版)功能的敘述中,錯(cuò)誤的是
()
A.可通過(guò)“另存為”操作,將每張幻燈片保存為一個(gè)圖片文件
B.幻燈片的大小是固定的,用戶(hù)不行以對(duì)其進(jìn)行設(shè)置
C.在排練計(jì)時(shí)的基礎(chǔ)上,可以將幻燈片設(shè)置為循環(huán)放映
D.可以對(duì)?字體進(jìn)行替換,例如將幻燈片中的“宋體”替換為“楷體”
其次部分VisualC++語(yǔ)言程序設(shè)計(jì)
一、選擇題(用答題卡答題,答案依次填在21?30答題號(hào)內(nèi))
21.設(shè)有說(shuō)明語(yǔ)句:inld,e;
以下選項(xiàng)中,存在語(yǔ)法錯(cuò)誤的是21。
A.d=9+e==d+2;B.d=e+=2;C.f=g+f=j*k++;D.(++d)++;
22.設(shè)有函數(shù)調(diào)用語(yǔ)句:fun((xl,x2),x3,(x4,x5,x6));
該函數(shù)調(diào)用中實(shí)參的個(gè)數(shù)是22
A.2B.3C.5D.6
23.以下對(duì)二維數(shù)組的說(shuō)明中,存在語(yǔ)法錯(cuò)誤的是23
A.inta[][3]={3,2,1,I,2,3);B.inia[][3]={{3,2,1},(1,2,3)};
C.ima[2][3]={l}D.inta[2][]={{3,2,1},{1,2,3}};
24.以下選項(xiàng)中,存在語(yǔ)法錯(cuò)誤的是24。
A.floatx,&j=x;B.intc,&d=c?&e=d;
C.charb,&k=b:D.intf,&g;g=f;
25.下述關(guān)于抽象類(lèi)的描述中,錯(cuò)誤的是25。
A.可以通過(guò)在類(lèi)中定義純虛函數(shù)的方式定義抽象類(lèi)
B不行以創(chuàng)建抽象類(lèi)的對(duì)象
C不行以創(chuàng)建抽象類(lèi)的引用
D.可以創(chuàng)建抽象類(lèi)的指針
26.下列有關(guān)函數(shù)缺省參數(shù)的描述中,正確的是26。
A:設(shè)置了缺省值的參數(shù)左邊不允許出現(xiàn)沒(méi)有指定缺省值的參數(shù)
B.同一個(gè)函數(shù)在同一個(gè)文件中可以供應(yīng)不同缺省參數(shù)值
C.參數(shù)缺省值要設(shè)置在函數(shù)定義語(yǔ)句中,不能設(shè)置在函數(shù)說(shuō)明語(yǔ)句中
D.一個(gè)函數(shù)具有缺省值的參數(shù)只能有一個(gè)。|
27.在以下選項(xiàng)中,C++語(yǔ)言不能重載的運(yùn)算符是27
A.?:B.+C.[]D.<=
28.假設(shè)a是類(lèi)E的對(duì)象,執(zhí)行語(yǔ)句:
Eb=a;
則要調(diào)用類(lèi)E中的2g°
A.缺省構(gòu)造函數(shù)B.operator=0函數(shù)
c.拷貝構(gòu)造函數(shù)D.對(duì)象之間的賦值
29.已知在函數(shù)set中,語(yǔ)句this—>任=5;與語(yǔ)句隹=5;的效果完全相同。依據(jù)這一結(jié)
論,以下敘述中不正確的是29。
A.ff是某個(gè)類(lèi)的數(shù)據(jù)成員,Set是該類(lèi)的友元函數(shù)
B.1T是某個(gè)類(lèi)的數(shù)據(jù)成員,Set是該類(lèi)的成員函數(shù)
C.Set不是該類(lèi)的靜態(tài)成員函數(shù)
D.ff不是該類(lèi)的常成員數(shù)據(jù)
30.以下對(duì)派生類(lèi)的描述中,不正確的是30。
A.一個(gè)派生類(lèi)可以作為另一個(gè)派生類(lèi)的基類(lèi)
B.派生類(lèi)至少有一個(gè)基類(lèi)
C.派生類(lèi)的成員除了它自己的成員以外,還包含它的基類(lèi)的成員
D.派生類(lèi)中,從基類(lèi)繼承來(lái)的成員的訪問(wèn)權(quán)限在派生類(lèi)中保持不變
二、填空題(請(qǐng)將答案填寫(xiě)在答題紙的相應(yīng)答題號(hào)內(nèi),每個(gè)答案只占一行)
?基本概念題(共5分)
1.重載函數(shù)必需有不同的參數(shù)個(gè)數(shù)或(1)。
2.在派生類(lèi)中假如沒(méi)有重載基類(lèi)中的純虛函數(shù),則該派生類(lèi)是(2)類(lèi)
3.設(shè)有以下程序:、
#include<iostream.h>
#defineS(X)X*X
voidmain(void)
{
intk=2;
cout?++S(k+k)?'\n';
)
執(zhí)行該程序后,輸出的結(jié)果為(3n),k的值為(4)o
4.在多重派生中,若要使公共基類(lèi)在派生類(lèi)中只有一個(gè)拷貝,則必需將該基類(lèi)說(shuō)明
為(5)。
?閱讀程序題(共13分)
5.[程序](2分)
#include<iostream.h>
voidmain(void)
(
staticinta[7]={1}>i,j:
for(i=l:i<=6;i++)
for(j=i:j>():j--)
a[jl+=a[j-l];
for(j=O;j<7;j++)。
coul?a[j]?endl;
)
程序輸出第三行是_6第四行是7
6.[程序](3分)
#include<iostream.h>
voidmain(void)
(
chars[]="Iamastudent.Youareastudentloo.”;
inta[26]={0};
char*P=s:
while(*P4-+!='A'&&*P<='Z')a[*p-,A']++;
elseif(*P>=a,&&*P<=,z,)a[*p-'a']++;
I
for(inti=0:i<26:i++)
if(a[i]!=O)cout?(char)(i+'a')?":n?a[i]?cndl;
)、
程序的第一行輸出為(8),第三行輸出為(9)
7.[程序](2分)
#include<iostream.h>
intf(intn)
(
ints=l;
if(n==l)
s=l;
else{
if(n==3)cou(?s?'\n,;
s=n*f(n-l);
)
returns;
)
voidmain(void)
{
ints;
s=f(5);
cout?"s=,'?s?endl;
}
程序的第一行輸出為(10),其次行輸出為(11)
8.[程序](2分)
/include<iostream.h>
char*f(char*s)
for(char*p=s,*q=s;*q=*p;p++)
if(*q>='0,&&*q(=9)q++;
returns;
I
voidmain(void)
{
charsl[]="It's4p.mJ,s2[]="3米=3000亳米”;
cout?f(sl)?cndl;
cout?f(s2)?endl;
I
程序輸出的第一行是(12),其次行是(13)
9.[程序](3分)
#include<iostream.h>
voidmain(void)
(
inta[10]={73,86,89,28,87,69,88,84,64,90);
intb[4]={60,70,90,101};
intc[4]={0};
for(inti=0;i<10;i++){
intj=0:
while(a[il>=b[j])
j++;
c[jl++;
I
for(i=0;i<4;i++)
cout?c[i]?"\n":
cout?endl:
)
程序輸出的第一行是__________,第三行是,最終一行是
10.[程序](2分)
#include<iostream.h>
classA{
inta;.
public:
voidseta(intaa){a=aa;}
virtualvoidprinl()〃第六行
{cout?a?'\t,;}
};
classB:publicA{
intb:
public:
voidsetb(intbb){b=bb;}
voidprint()
{cout?b?'\t,;}
voidmain(void)
(
Aa,*P:
Bb;
a.scta(5);
b.seta(lO);
b.setb(2O);
P=&a:
P->print();
P=&b:
P->print();
)
程序輸出的足(17)。假如在第六行中去掉Virtual,則程序輸出的是(18)。
11.?個(gè)數(shù)的各位數(shù)字倒過(guò)來(lái)所得到的新數(shù)叫原數(shù)的反序數(shù).假如?個(gè)數(shù)等于它的反序數(shù),則
稱(chēng)它為對(duì)稱(chēng)數(shù)或回文數(shù)。求10000—11000之間的二進(jìn)制對(duì)稱(chēng)數(shù)
算法說(shuō)明:先將正整數(shù)n的二進(jìn)制字符形式放在字符數(shù)組S2中,二進(jìn)制字符形式的反序
放在字符數(shù)組si中,然后,比較這兩個(gè)字符串,若相等,則是二進(jìn)制對(duì)稱(chēng)數(shù)
#include<iostream.h>
#includc<string.h>
intfunc(intn,char*sl)
(
charch,s2[33],*p,*q;
p=sl;q=s2+32;
*q--=(19)
while(n){
ch=(20)〃求n的最低二進(jìn)制位的字符表示形式
n/=2;
*p++=ch;
*q--=ch;
I
*P=0;
q++;
if(21)returntrue:
elsereturnfalse;
voidniain(void)
chars[33]={0};
intcount=0;
coutvv”二進(jìn)制對(duì)稱(chēng)數(shù)如下:\n”;
for(intn=l()000;n<1100();n++)
if(22){
coutvv"n="<vn<v"\t二進(jìn)制形式為:“vvs?endl;
count++;}
}
coutw”對(duì)稱(chēng)數(shù)的個(gè)數(shù)為:“vvcountw'n’;
)
12.以下程序中的函數(shù)fun(int*a,intn)的功能是:把形參a所指向的數(shù)組中的最小值放在a|0]
中,接著把形參a所指數(shù)組中的最大值放在a[l]中;把a(bǔ)所指數(shù)組中的次小值放在a[2]中,
把a(bǔ)所指數(shù)組中的次大值放在a[3]中,其余依次類(lèi)推,直至將數(shù)組中數(shù)據(jù)依次處理完為止
例如:把a(bǔ)所指向數(shù)組中的數(shù)據(jù)最初排列為:51,329,7,6,84按以上規(guī)則移動(dòng)數(shù)組中的數(shù)據(jù)
后,數(shù)據(jù)的排列為:1,9,283,7,4,6,5
#include<iostream.h>
#dcfincN9
voidfun(int*a,intn)
{
intmax,min,px,pn,t;
for(inti=0;i<n-l;___23){
niax=min=a[ij;
px=pn=i;
for(intj=i+1;j<n;j++){
if(max<a[j]){
max=a[j];
px=j;
}
if(min>a[j]){
min=a[j];
pn=j;
I
)
if(pn!=i){
t=a[i];
a[ij=min;
_____24______
if(px==i)px=pn;
)
if(25){
t=a[i+l];
a[i+l]=max;
(26)
}
}
voidmain(void)
{
intb[N]={5,1,3,2,97,6,8.4};
coutvv”數(shù)組中的數(shù)據(jù)依次為:“vvendl;
for(inti=0;i<N;i++)
cout?cndl;
fun(b,N);
cout<<”處理后數(shù)組中的數(shù)據(jù)依次為:"<<endl;
fdr(i=O;i<N;i++)
coutvvb[i]vv''t';
cout?endl;
1
13.下列程序中的函數(shù)changc(nodc*pa,intx)的功能是:調(diào)整pa指向的鏈表中結(jié)點(diǎn)的
位置。依據(jù)參數(shù)X的值,使鏈表中各結(jié)點(diǎn)數(shù)據(jù)域小于X的結(jié)點(diǎn)放在鏈表的前半部,大
于等于x
的結(jié)點(diǎn)放在鏈表的后半部,并將X插入這兩部分結(jié)點(diǎn)之間。
例如,原鏈表上各結(jié)點(diǎn)的數(shù)據(jù)依次為:3,4,2,1,9,6,5,0,10,6
輸入:X=7
經(jīng)插入新結(jié)點(diǎn)后,新捱表的各結(jié)點(diǎn)數(shù)據(jù)依次為:3,4,2,1,6,5,0,6,7,9,10
[程序](4分)
#include<iostream.h>
structnode{
intdata;
node*next:
};
node*change(node*pa,intx)
{
node*pl,*p2>*P,*q;
pl=p2=pa;
p=newnode;〃生成新結(jié)點(diǎn)
p->data=x:
while(p2一〉data<x&&p2—>next!=0){//找到x應(yīng)插入的位置
PM;
(27);
)
if(p2-->ncxt!=0)
p—>next=p2://插入以X為數(shù)據(jù)域的結(jié)點(diǎn)
pli>next=p:
q=pl;
while(28){//通過(guò)循環(huán),將插入結(jié)點(diǎn)之后全部數(shù)據(jù)域小于x的結(jié)點(diǎn)前移
if(p2->data<x){//數(shù)據(jù)域小于x的結(jié)點(diǎn)插入以x為數(shù)據(jù)域的新結(jié)點(diǎn)之前
pl—>next=(29);
p2—*>ncxt=p;
q->next=p2;
q二p2;
p2=pl一>nexl;
I
else
(
pl=p2;
p2=p2->nex(:
else{〃假如鏈表中全部結(jié)點(diǎn)數(shù)據(jù)域均小于x,則在鏈尾插入以x為數(shù)據(jù)域的新結(jié)點(diǎn)
p2—>next=p;
(30);
)
returnpa;
)
voidmain(void)
{
nodea[10]={{3(44),{2h{l},{9},{6},{5},{0},{10},{6}},*hcad=a,*p;
inti,x;
for(i=0;i<9;i++)
a[i].next=&a[i+l];
a[9].next=NULL:
coutvv”輸入x的值:”;
cin?x;
head=change(head,x):
p=head;.
while(p){
cout?p->data?\C;
p=p一>next;
)
cout?endl;
參考答案23.D
一、選擇題24.D
2I.C25.C
22.B26.B
27.A(15)6
28.C(16)1
29.A(17)520
30.D(18)510
二、填空題(19八0域0
(1)不同的參數(shù)類(lèi)型或者參數(shù)類(lèi)型(20)n%2+'0':或n%2+48
(2)抽象(21)strcmp(sl,q)==0或者!strcmp(sLq)
(3)15,3(22)func(n?s)
(4)3(23)i+=2或i=i+2
(5)虛基類(lèi)(24)a[pn]=t
(6)15(25)px!=i+l或者px—i—1
⑺20(26)a[px]=t
(8)a:4(27)p2=p2一>next或p2=pl—*>next
(9)e:3(28)p2或p2!=0
(10)1(29)p2一〉next
(ll)s=120(30)p->next=NULL或P—>next=0或P
(12)4->ncxt='\0'
(13)33000
(14)1
[2024春]
一、選擇題(用答題卡答題,答案依次填在21~30答題號(hào)內(nèi))
21.下述關(guān)于switch語(yǔ)句的描述中,正確的是
A.switch語(yǔ)句中的default子句可以沒(méi)有,也可以有多個(gè)
B.switch語(yǔ)句中的每個(gè)子句中必需有break語(yǔ)句
C.switch語(yǔ)句中的default子句只能放在最終
D.switch語(yǔ)句中的子句后面的表達(dá)式只能是整型表達(dá)式
22.下列函數(shù)原型說(shuō)明中,錯(cuò)誤的是
A.ini&fl()B.intf2(double=5);
C.voidf3(void(*p)())D.intf4(inta=OJntb)
23.設(shè)有說(shuō)明語(yǔ)句:floaty=5.16347;intx;則以下表達(dá)式中,可以實(shí)現(xiàn)將中的數(shù)值保留小數(shù)
點(diǎn)后2位,第三位四舍五人的表達(dá)式是。
A.y=(y*100+0.5)/100.0B.x=y*100+0.5,y=x/l(X).O
C.y=y*100+0.5/100.0D.y=(y/100+0.5)*100.0
24.設(shè)有說(shuō)明語(yǔ)句:chars[80]="HeHo”;inta[20]={I,2}下列選項(xiàng)中,存在語(yǔ)法錯(cuò)誤的是
A.cin?s;B.cout?s;C.cin?a;D.cout?a;
25.下列關(guān)于運(yùn)算符的敘述中,不正確的是0
A.運(yùn)用運(yùn)算符new創(chuàng)建對(duì)象時(shí)必需定義初始值
B.運(yùn)用運(yùn)算符new創(chuàng)建對(duì)象時(shí)會(huì)調(diào)用類(lèi)的構(gòu)造函數(shù)
C.運(yùn)算符new可以用來(lái)動(dòng)態(tài)創(chuàng)建對(duì)象和對(duì)象數(shù)組
D.運(yùn)用new運(yùn)算符創(chuàng)建的對(duì)象可以運(yùn)用運(yùn)算符delete撤銷(xiāo)
26.若有說(shuō)明語(yǔ)句:intSI4J16J,t[6J[4J,(*p)[6J;則以下選項(xiàng)中,正確的是
A.p=tB.p=sC.p=s[O]D.p=t[O]
27.以下敘述中不正確的是
A.在函數(shù)內(nèi)的復(fù)合語(yǔ)句中定義的變量在木函數(shù)范圍由有效
B.形式參數(shù)是局部變量
C在函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效
D.在不同函數(shù)中可以運(yùn)用相同名字的變量
28.以下有關(guān)抽象類(lèi)的敘述中,不正確的是_____
A.抽象類(lèi)至少含有一個(gè)純虛函數(shù)
B.抽象類(lèi)至少含有一個(gè)沒(méi)有函數(shù)體的虛函數(shù)
C.在抽象類(lèi)的派生.中可以供應(yīng)純虛函數(shù)的實(shí)現(xiàn)代碼
D.可以說(shuō)明抽象類(lèi)的對(duì)象
29.下列美于構(gòu)造函數(shù)的描述中,不正確的是
A.構(gòu)造函數(shù)可以設(shè)置缺省函數(shù)
B.構(gòu)造函數(shù)在定義類(lèi)的對(duì)象是自動(dòng)執(zhí)行,但不能顯式調(diào)用
C.構(gòu)造函數(shù)可以對(duì)靜態(tài)成員進(jìn)行初始化
D.構(gòu)造函數(shù)可以重載
30.設(shè)有類(lèi)定義
classB{
public:
voidG(floatx=0){cout?x?endl;}
voidG(doublex){cout?x?endl;}
}r;
則在以下選項(xiàng)中,存在語(yǔ)法錯(cuò)誤的是
A.r.G();B.r.G(lO)C.r.G(3.14)D.r.G(-l.Of);
二、填空題(請(qǐng)將答案填寫(xiě)在答題紙的相應(yīng)答題號(hào)內(nèi),每個(gè)答案只占一行)
?基本概念題(共5分)
1.在構(gòu)造函數(shù)和析構(gòu)函數(shù)中,可以定義為虛函數(shù)的是一(I)
2.若有語(yǔ)句說(shuō)明:floata[]={l,2,3A5J;intb=&a[3]-&a[0];則執(zhí)行以上語(yǔ)句后,b的值為
(2)
3.在C++中,重載運(yùn)算符』”只能用在(3)函數(shù)中實(shí)現(xiàn),而重載插入運(yùn)算符“《”和提
取運(yùn)算符“》”只能用在(4)函數(shù)中實(shí)現(xiàn)。
4.設(shè)e是表達(dá)式,其類(lèi)型可以是:float,double,int,char、enum。C++中規(guī)定,在開(kāi)關(guān)語(yǔ)句
中switche中,e的值類(lèi)型不能是(5)。
?閱讀程序題
5.[程序]
#include<iostream.h>
intfun(int);
voidmain(void)
inta=2;
for(inti=0;i<3;i++)cout?fun(a++)?cndl;
)
intfun(inta)
(
intb=0;
staticintc=3;
return(b++,c++,a+b+c);
)
程序輸出的其次行是(6),第三行是⑺.
6」程序](2分)
#include<ioslream.h>
voidff(int&&n)
(
intt=m+n:
m=n;n=t;
}
voidniain(void)
(
inta,b,i;
fbr(a=b=i=1;i<=5;i++){
ff(a.b);
cout?a?,\t,?b?cndl;
)
I
程序輸出的其次行是(8),第四行是⑼
7」程序](2分)
#include<iostream.h>
voidfl(intnjnt&i,chars口)
(
S[i]=,0,+n%10;
n=n/IO;i++;
if(n==O)s[i]=0;elsefl(n,i,s);
}
voidf2(in【n,inti,chars[])
|
if(n){
intk;
k=n%10;
f2(n/10,i+l,s);
s[i尸O'+k;
1
voidmain(void)
chars[2OJ;
inti=0;
fl(24675,i,s);
s[i]=0;
cout?,,s=,,?s?endl;
staticcharsi[20];
□(1357,0,si);
cout?^s1=,,?s1?cndl;
}
程序輸出的第一行是(10),其次行是(11)。
8」程序](2分)
#include<iostream.h>
char*f(char*sl,char*s2)
(
char*p,*pl;
intn=0;
while(*(sl+n))n++;
char*buf=newchar[n+l];
p=buf;p1=s1;
while(*p++=*pl++);
p=sl;pl=s2;
while(*p++=*p1++);
cout?buf?endl;
p-:pl=buf;
while(*p++=*pI++);
delete[]=buf;
returns1;
)
voidmain(void)
(
charsi[30]="about",s2[]=''timc”;
cout?f(sl,s2)?endl;
}
程序輸出的第一行是(12),其次行是(13)
9」程序](3分)
#include<iostream.h>
intfun(inty)
(
cout?x?,\f?y?endl;
return(x>y?x:y);
voidmain(void)
inta=3,b=6,k=4,m;
ni=fun(fun(a,b),fun(b,k));
cout?,,m=,,?m?endl;
}
程序輸出的第一行是(14),第三行是(⑸,第四行是(16)。
io.rwi(2分)
#include<iostream.h>
classBase
(
public:
voidvirtualR){cout<v”Base::fO”《endl;}
voidvirtualg(){cout<v"Base::g()“v〈end1;}
};
classA:publicBase
(
public:
voidninta=0)
};
classB:publicA
(
voidf(){cout?"B::f()”《endl;}
voidg(){coutvv''B::g()“<Vendl;}
);
voidmain(void)
(
Bb;
Base*p=&b;
A*q=&b;
p->f();p->g();
q->f();q->g();
}
程序輸出的第一行是(⑺,第三行是(18)。
?完善程序題,共12分
11.下面的程序功能是:將一個(gè)字符串中的單詞分行輸出。例如,對(duì)字符串;"Whatisyour
name?”執(zhí)行程序后,輸出結(jié)果為:
What
is
your
name?
[程序](4分)
#include<iostream.h>
char*nextWord(char**pp)
staticcharword[81];
while(**pp=,,)(19):
char*pw=word;
while(**pp&&**pp!=,0
*pw++=*(*pp)++;
(20):
return(21):
)
voidmain(void)
{
chars[]=,,Whatisyourname?,,,*ps=s;
do{
cout?nextWord((22))?endl:
}while(*ps);
I
12、以下程序的功能是:二維數(shù)組a中每列元素都是從小到大有序排列的,將一維數(shù)組b中
的元素依次插入到數(shù)組a的每列中,并保持a中每列數(shù)據(jù)的有序性。最終將執(zhí)行插入操作
后的數(shù)組a以矩陣形式輸出。例如,
原數(shù)組a為:132數(shù)組b為:27I操作后的數(shù)組a為:131
468262
8910478
[程序](4分)8910
#includc<iostrcam.h>
#include<iomanip.h>
#dcfineROW4
#defineCOL3
voidf(inta[][COL],intb[])
{
inti,j;
for((23))(
for(j=ROW-l;j>0;j-)
if(a|j-l][i]>b[i])
(24):
elsebreak;
(25):
)
I
voidmain(void)
{
inta[ROW][COL]={1,3,2,4,6,8,8,9,10);
intb[COL]={2,7,l};
coutvv”插入前數(shù)組中的數(shù)據(jù)依次為:“cv'S;
for(inti=0;i<ROW-1;i++){
fbr(intj=Oy<COL;j++)cout?scw(5)?a[i][j];
cout?endl;
I
cout?endl;
—(26)一;
cout?”插入后數(shù)組中的數(shù)據(jù)依次為:
for(i=0;i<ROW;i++){
for(intj=0;j<COL;j++)cout?sew(5)?a[ij[jJ;
cout<<endl;
)
1
13.在以下程序中,函數(shù)CreateLink。依據(jù)鍵盤(pán)輸入的整數(shù)建立一條單向無(wú)序鏈表,鏈表上
的每一個(gè)結(jié)點(diǎn)包含一個(gè)整數(shù);函數(shù)SortLink。通過(guò)變更結(jié)點(diǎn)在鏈表中的位置將鏈表調(diào)整為一
條有序鏈表,函數(shù)PrintLink。將鏈表上的整數(shù)依次輸出;函數(shù)DeleteLink。將鏈表刪除。
[程序](4分)
#include<iostream.h>
struct.nodc{
intdata;
node*next;
);
node*CreateLink(void)//創(chuàng)建無(wú)序鏈表
{
node*pl,*p2,*head=0;
inta;
cout<<“產(chǎn)生一條無(wú)序鏈,請(qǐng)輸入數(shù)據(jù),以-1結(jié)束:”;
cin?a;
while(a!=-l){
p1=newnode;p1->data=a;
if(head==0)(
head=p1;p2=pl;
}
else{
(27):
p2=pl;
}
COUKV”請(qǐng)輸入數(shù)據(jù),以-1結(jié)束:”;
cin?a;
}
p2->next=0;
return(head);
1
voidSorLink(node*&headi〃通過(guò)移動(dòng)每個(gè)節(jié)點(diǎn)的指針來(lái)完成鏈表排序
(
node*q,*tq,*p,*tp;
intflag=O;
if(!head)return;
for(q=hcad,tq=0;q;q=q->ncxt){
fbr(tp=q,p=q->next;p;(p=p,p=p->nex()
if(q->data>=p->data){
〃將p和q指向的兩個(gè)節(jié)點(diǎn)所處位置互換
(28):
p->next=q;
q=P;P=tp;
}
if(!tq)head=q;elsetq->next=q;
tqnq;
I
1
voidPrintLink(node*head)〃打印鏈表
{
node*p=hcad;
cout<<”鏈上各結(jié)點(diǎn)的數(shù)據(jù)為;\n”;
while(p!=NULL){
cout?p->data?T\f;
(29):
)
cout?',\n,,;
)
voidDeleteLind(node*head)〃刪除鏈表
{
node*pl;
while(head){
pI=head;
head=head->next;
(30):
1
)
voidmain(void)
{node*head=0;
head=CreateLink();PrintLink(head);
SortLink(head);PrintLink(head);
DeleteLink(head);}
[2024秋]
一、選擇題(用答題卡答題,答案依次填在21~30答題號(hào)內(nèi)
21.以下關(guān)于邏輯運(yùn)算的描述中,正確的是________。
A.全部的邏輯運(yùn)算都是雙目運(yùn)算,其優(yōu)先級(jí)相同
B.邏輯運(yùn)算中存在雙巨運(yùn)算和單目運(yùn)算,其優(yōu)先級(jí)相同
C.全部的邏輯運(yùn)算都是雙目運(yùn)算,其優(yōu)先級(jí)各不相同
D.邏輯運(yùn)算中存在雙目運(yùn)算和單目運(yùn)算,其優(yōu)先級(jí)各不相同
22.對(duì)于while和do...while循環(huán)語(yǔ)句,以下描述正確的是。
A.do…while語(yǔ)句中的循環(huán)體至少執(zhí)行一次B.兩個(gè)語(yǔ)句中循環(huán)體可能都不執(zhí)行
C.while語(yǔ)句中的循環(huán)體至少執(zhí)行一次D.兩個(gè)語(yǔ)句中的循環(huán)體至少執(zhí)行一次
23.以下說(shuō)明語(yǔ)句中,不存在語(yǔ)法錯(cuò)誤的是。
A.charsl[4]={"a"Jb","c''};B.chars2[4]={4a\,b,};
C.chars3[]={*Iamastudent5);D.chars4[14]={**Iamastudent"};
24.設(shè)變量ahc為整型變量,以下選項(xiàng)中存在語(yǔ)法錯(cuò)誤的是o
A.c=a+++b;B.c=a+b++;C.c=b++=c++;D.c=++a=b++;
25.設(shè)有程序段:
x=-l;
if(a!=0){if(a>0)x=l;)elsex=0;
該程序段表示的數(shù)學(xué)函數(shù)關(guān)系是。
-1(a<0)1(a<0)
A.x=0(a=0)Bx=-l(a=0)
1(a>0)0(a>0)
0(a<0)-1(a<0)
C.x=-l(a=0)Dx=1(a=0)
1(a>0)0(a>0)
26.以下關(guān)于兩個(gè)同類(lèi)型指針變量的敘述中,在肯定條件下,運(yùn)算結(jié)果沒(méi)有實(shí)際意義的是
A.兩個(gè)指針變量可以相互賦值B.兩個(gè)指針變量進(jìn)行比較運(yùn)算
C.兩個(gè)指針變量進(jìn)行減法運(yùn)算D,兩個(gè)指針變量進(jìn)行加法運(yùn)算
27.下列有關(guān)構(gòu)造函數(shù)的敘述中,正確的是。
A.類(lèi)的構(gòu)造函數(shù)不能重載B.任何一個(gè)類(lèi)必定有構(gòu)造函數(shù)
C.可以定義沒(méi)有構(gòu)造函數(shù)的類(lèi)D.任何一個(gè)類(lèi)必定有一個(gè)缺省的構(gòu)造函數(shù)
28.C++中運(yùn)算符重載可以變更o
A.運(yùn)算符的優(yōu)先級(jí)B.運(yùn)算符的結(jié)合性
C.運(yùn)算符實(shí)現(xiàn)的功能D.運(yùn)算符的操作數(shù)的個(gè)數(shù)
29.以下關(guān)于基類(lèi)指針和派生類(lèi)指針的敘述中,不正確的是o
A.基類(lèi)指針可以指向它的公有派生類(lèi)的對(duì)象
B.基類(lèi)指針可以指向它的多次派生后的派生類(lèi)的對(duì)象
C.派生類(lèi)的指針不能指向基類(lèi)的對(duì)象
D若基類(lèi)指針指向派生類(lèi)的對(duì)象,通過(guò)該基類(lèi)指針可以訪問(wèn)派生類(lèi)對(duì)象的全部成員
30.以下關(guān)于友元函數(shù)的敘述中,正確的是0
A,友元函數(shù)不能訪問(wèn)類(lèi)的私有成員
B.友元函數(shù)破壞了類(lèi)的封裝性和隱藏性
C.友元函數(shù)的運(yùn)用與類(lèi)的成員函數(shù)相同
D.友元函數(shù)的實(shí)現(xiàn)必需在類(lèi)的說(shuō)明中定義
二、填空題(請(qǐng)將答案填寫(xiě)在答題紙的相應(yīng)答題號(hào)內(nèi),每個(gè)答案只占一行)
?基本概念題,共5分
1.設(shè)有語(yǔ)句:inta=5,b=6,c;c=!a&&b++;執(zhí)行以上語(yǔ)句后,變量b的值為(1)”
2.在定義派生類(lèi)時(shí),假如沒(méi)有指定基類(lèi)的派生(繼承)方式,則缺省(默認(rèn))的繼承方式
是(2)
3.C++中編譯預(yù)處理包括:文件包含、宏和⑶。
4.要將一個(gè)函數(shù)定義為內(nèi)聯(lián)函數(shù)時(shí),通常在定義函數(shù)時(shí)運(yùn)用關(guān)鍵字(4)。
5.C++中表達(dá)式:“1amastudent”的值為該字符串的⑸
?閱讀程序題,共13分
6.[程序](2分)
#includevioslream.h、
voidf(inta[J)
(
intt=a[O];
a[0]=a[ll;a[l]=l;
cout?a[0]?,\t,?a[1]?,\n,;
)
voidmain(void)
(
intb[2]={300,500);
f(b);
cout?b[OJ?,\t,?b[lJ?,\n\
)
程序輸出的第一行為」6),第三行為⑺
7.[程序](2分)
#includc<iostrcam.h>
intfa(inta)
(
staticintm=l;
m=a*ni;
returnm;
)
voidmain(void)
(
for(inti=2:i<=4;i++)
cout?fa(i)?,\n,;
}
程序輸出的第一行為i8),第三行為⑼。
8」程序](2分)
#include<iostream.h>
intH(inla[3][3])
(
intsum=0;
for(inti=0;i<3;i++)
for(intj=0;j<3;j++){
if(a[i][j]>0)continue;
sum+=a[i]|jj;
)
returnsum;
1
intf2(inta[3][3])
{
intsum=O;
for(inti=0;i<3;i++)
for(intj=0;j<3J++){
if(a[iJ[jJ<0)break;
sum+=a[il[j];
)
returnsum;
1
voidmain(void)
{
intb[3][3]={{l23-20,9,-5}};
intsl,s2;
sl=fl(b);s2=f2(b);
cout?sl?endl;
cout?s2?endl;
)
程序輸出的第一行為UO,其次行為(11)。
9」程序](3分)
#include<iostream.h>
intf(intx[],intn)
|
if(n==l)x[n]=3;
elsex[n]=n+f(x,n-l);
cout?x[n]?,\n,;
returnx[nj;
1
voidmain(void)
{
intb[5]={3,4,5,6,0);
f(b,3);
for(inti=0;i<5;i++)
cout?b[i]?,\f;
cou(?endl;
)
程序輸出的第一行是一H2),其次行是一(13),第三行是(14)
10」程序](2分)
#include<ioslream.h>
classA{
intx;
public:
A(inta){x=++a;}
^A(){cout?x?,\n,;}
intget(){returnx;}
);
classB:publicA{
inty;
public:
B(intb):A(b){y=gct()+b;)
B():A(5){y=6;}
~B(){cout?y?'\n';}
1;
voidmain(void)
{
Bb(5);
)
程序輸出的第一行是(5),輸出的其次行是(16)
11」程序](2分)
#include<ioslream.h>
classA{
intx;
public:
A(intx=0)
{this->x=x;}
virtualvoidf(){cout?x?endl;}
);
classB:publicA{
inty;
public:
B(intx,inty=l):A(x)
(
this->y=y;
}
voidf(inta){cout?y?cndl;}
);
voidmain(void)
{
Aal(10),*pa;
Bbl(20,30);
al.f();
pa=&al;
pa->f();
pa=&bl;
pa->f();
1
程序輸出的其次行是(7),輸出的第三行是一(18)。
?完善程序題,共12分
12.以下程序的功能是:將兩個(gè)字符串分別輸入到si和s2中,并使s2中的字符按升序排
列(用函
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45065-2024皮革和毛皮化學(xué)試驗(yàn)揮發(fā)性甲基環(huán)硅氧烷殘留量的測(cè)定
- 二零二五年度房地產(chǎn)投資居間服務(wù)盡職調(diào)查合同3篇
- 二零二五年度二手車(chē)過(guò)戶(hù)業(yè)務(wù)資金監(jiān)管及擔(dān)保服務(wù)合同
- 二零二五年度出租車(chē)車(chē)輛租賃與乘客服務(wù)滿(mǎn)意度調(diào)查合同3篇
- 二零二五年度SEO關(guān)鍵詞研究及分析服務(wù)合同2篇
- 二零二五年度海上貨物共同海損處理合同3篇
- 二零二五年度新媒體短視頻節(jié)目制作服務(wù)協(xié)議2篇
- 豌豆的種植課程設(shè)計(jì)
- 2025年度數(shù)據(jù)中心冷卻系統(tǒng)安裝工程合同9篇
- 二零二五年度房屋買(mǎi)賣(mài)合同范本:維修基金結(jié)算3篇
- 七年級(jí)生物上冊(cè)期末測(cè)試卷(各版本)
- 07FD02防空地下室電氣設(shè)備安裝圖集
- 基礎(chǔ)會(huì)計(jì)(第7版)ppt課件完整版
- Q∕SY 1206.1-2009 油氣管道通信系統(tǒng)通用技術(shù)規(guī)范 第1部分:光傳輸系統(tǒng)
- 汽車(chē)4S店八大運(yùn)營(yíng)業(yè)績(jī)指標(biāo)管控培訓(xùn)_89頁(yè)
- 設(shè)備安裝、調(diào)試及驗(yàn)收質(zhì)量保證措施
- 火力發(fā)電廠生產(chǎn)技術(shù)管理導(dǎo)則
- 汽輪機(jī)葉片振動(dòng)與分析
- 地質(zhì)工作個(gè)人述職報(bào)告三篇
- 產(chǎn)品可追溯流程圖圖
- 形意拳九歌八法釋意
評(píng)論
0/150
提交評(píng)論