c++习题及其解答(第3版).pdf
《c++习题及其解答(第3版).pdf》由会员分享,可在线阅读,更多相关《c++习题及其解答(第3版).pdf(137页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、习 题 1及 其 解 答 1.1选 择 题 1.一 个 最 简 单 的 C+程 序,可 以 只 有 一 个(c)。(a)库 函 数(b)自 定 义 函 数(c)main函 数(d)空 函 数 2.用 C+语 言 编 制 的 源 程 序 要 变 为 目 标 程 序 必 须 要 经 过(d)。(a)解 释(b)汇 编(c)编 辑(d)编 译 3.C+程 序 中 的 简 单 语 句 必 须 以(b)结 束。(a)冒 号(b)分 号(c)空 格(d)花 括 号 4.有 说 明 int a=0;double x=5.16;以 卜.语 句 中,(c)属 于 编 译 错 误。(a)x=a/x;(b)x=x/
2、a;(c)a=a%x;(d)x=x*a;5.执 行 C+程 序 时 出 现 的“溢 出”错 误 属 于(c)错 误。(a)编 译 连 接(c)运 行(d)逻 辑 6.下 列 选 项 中,全 部 都 是 C+关 键 字 的 选 项 为(c)。(a)while IF Static(b)break char go(c)sizeof case extern(d)switch float integer7.按 C+标 识 符 的 语 法 规 定,合 法 的 标 识 符 是(a)。(a)_abc(b)new(c)n(d)age8.C+语 句 中,两 个 标 识 符 之 间(a)不 熊 作 为 C+的 分
3、隔 符。(a)数 字(b);(c):(d)+9.下 列 正 确 的 八 进 制 整 型 常 量 表 示 是(b)o(a)OaO(b)015(c)080(d)0 x1010.下 列 错 误 的 十 六 进 制 整 型 常 量 表 示 是(C)o(a)0 x11(b)Oxaf(c)Oxg(d)Oxlf1 1.在 下 列 选 项 中,全 部 都 合 法 的 浮 点 型 数 据 的 选 项 为(b).(a)-le3.5 15.2e-4(b)12.34-le+5 0.IE-12(c)0.2e-2-12345.e-5(d)5.0e(l+4)0.1 8e+212.下 列 正 确 的 字 符 常 量 为(d)
4、。(a)“a(b)name(c)a(d)M O I513.下 列 选 项 中,(d)不 熊 交 换 变 量 a和 b的 值。(a)t=b;b=a;a=t;(b)a=a+b;b=a-b;a=a-b;(c)t=a;a二 b;b二 t;(d)a=b;b二 a;14.关 于 下 列 语 句 叙 述 错 误 的 是(a)0int i=10,*p=&i;(a)p的 值 为 10(b)p指 向 整 型 变 量 i(c)*表 示 变 量 i的 值(d)p的 值 是 变 量 i的 地 址 15.有 以 下 变 量 说 明,下 面 不 无 碰 的 赋 值 语 句 是(b)。int a=5,b=10,c;int*p
5、l=&a,*p2=&b;(a)*p2=b;(b)pl=a;(c)p2=pl;(d)c 二*pl*(*p2);16.有 以 下 变 量 说 明,下 面 正 确 的 语 句 是(b)0int a=10,b;int&pa=a,&pb=b;(a)&pb=a;(b)pb=pa;(c)pb=&pa;17.执 行 下 面 语 句 序 列 后,a和 b的 值 分 别 为(b)oint a=5,b=3,t;int&ra=a;(d)*pb=*pa;int&rb=b;t=ra;ra=rb;rb=t;(a)3和 3(b)3和 5(c)5和 3(d)5和 518.在 下 列 运 算 符 中,(d)优 先 级 最 高。(
6、a)=(b)*=(c)+(d)*19.在 下 列 运 算 符 中,(d)优 先 级 最 低。(a)!(b)&(c)!=(d)?:2 3.己 知 int i=0,j=l,k=2;则 逻 辑 表 达 式+i I j&+k2 0.设 int i=l,j=2;则 表 达 式 i+j的 值 为(c)o(a)1(b)2(c)3(d)42 1.设 int i=l,j=2;则 表 达 式+i+j的 值 为(d)0(a)1(b)2(c)3(d)42 2.在 下 列 表 达 式 选 项 U,(c)是 正 确。(a)+(a+)(b)a+b(c)a+b(d)a+b的 值 为(b)o(a)0(b)1(c)2(d)324
7、.执 行 下 列 语 句 后,x的 值 是(d),y的 值 是(c)oint x,y;x 二 y=1;+x|+y;(a)不 确 定(b)0(c)1(d)225.设 x为 整 型 变 量,小 熊 正 确 表 达 数 学 关 系 1 V X V 5 的 C H 逻 辑 表 达 式 是(a)o(a)1 x 5(c)lx&x5(b)x=2|x=3|x=4(d)!(x=5)2 6.已 知 int x=5;执 行 下 列 语 句 后,x的 值 为(c)。X+二 X-=X*X;(a)25(b)40(c)-40(d)2027.设 int a=l,b=2,c=3,d=4;则 以 下 条 件 表 达 式 的 值
8、为(a)。a b?a:c d?c:d(a)1(b)2(c)3(d)428.以 下 逗 号 表 达 式 的 值 为(d)o(x=4*5,x*5),x+25(a)25(b)20(c)100(d)451.2把 下 列 数 学 表 达 式 写 成 C+算 术 表 达 式 12.x x x(ax+b)+c+d+e1+-x+y3.In(1+|a+b*a-b5.cot J.Jl+cos 48/6.lg(a2+ab+b2)1+x2【解 答】1.1/(1+1/(1+l/(x+y)2.x*(x*(x*(a*x+b)+c)+d)+e3.log(1+pow(fabs(a+b)/(a-b),10)4.sqrt(1+3.
9、14159/2*cos(48*3.14159/180)5.l/tan(1-x*x)/(1+x*x)或 者 cos(1-x*x)/(1+x*x)/sin(1-x*x)/(1+x*x)6.Iogl0(a*a+a*b+b*b)1.3 用 逻 辑 表 达 式 表 示 下 列 条 件 1.i 被 j 整 除 2.n 是 小 于 正 整 数 k 的 偶 数 3.lx10 4.x,y 其 中 有 一 个 小 于 z5.y g-100,-10,并 且 y 10,1006.坐 标 点(x,y)落 在 以(10,2 0)为 圆 心,以 3 5为 半 径 的 圆 内 7.三 条 边 a,b 和 c 构 成 三 角
10、形 8.年 份 Year能 被 4 整 除,但 不 能 被 100整 除 或 者 能 被 400整 除【解 答】1.i%j=0 2.(nk)&(n%2 二 二 0)3.K=x&x10 4.xz|y=-100&y=10&y=100)6.sqrt(pow(x-10),2)+pow(y-20),2)c&b+ca&c+ab8.(year%4=0)&(year%100!=0)|(year%400=0)1.4 阅 读 下 列 程 序,写 出 执 行 结 果 1.Sinclude using namespace std;int mainOint a=1,b=2;bool x,y;cout(a+)+(+b)e
11、ndl;cout a%b b;y=a一&b;cout x endl;cout y endl;)【解 答】42012.#include using namespace std;int main()int x,y,z,f;x 二 y 二 z 二 1;f=-x I|y-&z+;cout x x endl;cout ycout z y endl;z endl;cout f=z/f endl;)【解 答】y=0z=2f=l3.4include#i nc1udeusing namespace std;int main()int a=123;int&ra=a;int*pa=&a;coutsetw(5)dec
12、asetw(5)octrasetw(5)hex*paend 1;【解 答】123 173 7b1.5 思 考 题 1.什 么 叫 数 据 类 型?变 量 的 类 型 定 义 有 什 么 作 用?【解 答】数 据“类 型”是 对 数 据 的 抽 象。类 型 相 同 的 数 据 有 相 同 的 表 示 形 式、存 储 格 式 以 及 相 关 的 操 作。定 义 个 变 量 时,计 算 机 根 据 变 量 的 类 型 分 配 存 储 空 间,并 以 该 类 型 解 释 存 放 的 数 据。2.普 通 数 据 类 型 变 量 和 指 针 类 型 变 量 的 定 义、存 储、使 用 方 式 上 有 何
13、区 别?请 编 写 一 个 程 序 验 证 之。【解 答】验 证 程 序:变 量 类 型 定 义 存 储 使 用 方 式 数 据 类 型 标 识 符 数 据 值 通 过 名 访 问 即 直 接 访 问 对 变 量 内 容 操 作 指 针 类 型*标 识 符 地 址 值 通 过 指 针 变 量 的 地 址 值 间 址 访 问 对 象#includeusing namespace std;int mainO int a,b,c;cout*a,b,c=cinabc;对 普 通 数 据 类 型 变 量 赋 值 int*pa=&a,*pb=&b,*pc=&c;用 变 量 地 址 值 初 始 化 指 针
14、变 量 cout a,b,c=cendl;名 访 问,输 出 a,b,c的 值 coutCpa,pb,pc=pa,pb,pc endl;输 出 指 针 变 量 的 地 址 值 间 址 访 问,输 出 pa,pb,pc指 向 的 变 量 的 赋 值 coutz*pa,*pb,*pc=*pa,”*pb,*pc endl;3.什 么 叫 数 据 对 象 的 引 用?对 象 的 引 用 和 对 象 的 指 针 有 什 么 区 别?请 用 一 个 验 证 程 序 说 明 之。【解 答】引 用 是 为 数 据 对 象 定 义 别 名。引 用 与 指 针 有 以 下 几 点 区 别:(1)引 用 名 不 是
15、 内 存 变 量,而 指 针 变 量 要 开 辟 内 存 空 间。(2)引 用 名 需 要 在 变 量 定 义 与 变 量 名 绑 定,并 且 不 能 重 定 义:指 针 变 量 可 以 在 程 序 中 赋 给 不 同 的 地 址 值,改 变 指 向。(3)程 序 中 用 变 量 名 和 引 用 名 访 问 对 象 的 形 式 和 效 果 样;指 针 变 量 通 过 间 址 访 问 对 象。验 证 程 序:#includeusing namespace std;int main()int a;coutVa=”;cina;int ra=a;int*pa=&a;cout,za 的 值:aendl;
16、cout”a 的 地 址:&aendl;cout*ra 的 值:“raendl;cout ra 的 地 址:”&ra endl;cout,zpa所 指 向 的 变 量 的 值:*pa endl;cout/zpa 的 地 址:”paendl;4.数 据 对 象 在 C+中 有 什 么 不 同 的 访 问 方 式?请 编 写 一 个 程 序 验 证 之。【解 答】数 据 对 象 在 C+中 的 访 问 方 式 有:验 证 程 序:#includeusing namespace std;int main()int a;coutXa=;cina;a=a+5;cout&,aendl;cout*(&,a)
17、endl;int*pa=&a;cout*paendl;int&ra=a;coutraendl;)名 访 问,引 用(别 名)访 问,间 址 访 问。名 访 问 输 出 变 量 地 址 地 址 访 问,输 出 变 量 值 说 明 指 针 变 量,指 向 变 量 a 间 址 访 问,输 出 变 量 值 ra是 a 的 引 用 引 用 访 问,输 出 变 量 a 的 值 5.为 了 约 束 对 数 据 对 象 的 值 做 只 读 操 作,C+采 用 什 么 方 式?请 做 出 简 要 归 纳。【解 答】约 束 数 据 对 象 只 读 形 式 如 下:约 束 对 象 说 明 形 式 标 识 常 量 c
18、 o n s t类 型 常 量 标 识 符=常 量 表 达 式;指 针 常 量 类 型*c o n s t指 针;指 向 常 量 的 指 针 c o n s t类 型*指 针;或 者 类 型 const*指 针;指 向 常 量 的 指 针 常 量 c o n s t类 型*c o n s t指 针;或 者 类 型 const*c o n s t指 针;常 引 用 c o n s t类 型&引 用 名=对 象 名;6.什 么 叫 表 达 式?表 达 式 值 的 类 型 由 什 么 因 素 决 定?使 用 不 同 运 算 符 连 接 以 下 3个 变 量,请 写 出 5个 以 上 获 得 值 等
19、于 true的 表 达 式。int a=l,b=2;double x=0.5;【解 答】表 达 式 是 由 数 据 和 运 算 符,按 求 值 规 则,表 达 一 个 值 的 式 子。表 达 式 值 的 类 型 的 决 定 因 素 为 操 作 数 的 类 型。(1)如 果 运 算 符 左 右 操 作 数 类 型 相 同,运 算 结 果 也 是 相 同 类 型。(2)如 果 运 算 符 左 右 操 作 数 类 型 不 同,首 先 把 类 型 较 低(存 储 要 求,示 数 能 力 较 低)的 数 据 转 换 成 类 型 较 高 的 数 据,然 后 运 算。(3)赋 值 表 达 式 的 类 型 由
20、 被 赋 值 变 量 的 类 型 决 定。当 把 一 个 表 达 式 的 值 赋 给 一 个 变 量 时,系 统 首 先 强 制 把 运 算 值 转 换 成 变 量 的 类 型,然 后 执 行 写 操 作。6 个 值 等 于 true的 表 达 式:(1)ba&ax(2)(a+b)!=x(3)a|(b+x)(4)a=(b*x)(5)a-bx(6)(a/xb)7.阅 读 以 下 程 序,分 析 下 面 语 句 序 列 中 每 个 字 符 和 的 意 义,写 出 输 出 结 果。include using namespace std;int main()int a=10,b=20;int*p=&a
21、,*q=&b;*p=*p*q;int&ra=a;ra=a;int*&rt=q;*rt=30;coutzza=z,az,nb=z,bz,n*p=z,*pz,n*q=/,*qzznra=,/r a/n*rt=*rtendl;)【解 答】字 符“*”和“&”的 意 义 见 程 序 中 添 加 的 注 释。#include using namespace std;int main()int a=10,b=20;int*p=&a,*q=&b;/是 指 针 类 型 说 明 符,“&”是 取 址 运 算 符*P=*P*q;第 1、2、4个 是 间 址 访 问 符,第 3个 算 术 乘 运 算 符 int&r
22、a=a;/是 引 用 说 明 符ra=a;int*&rt=q;/是 指 针 类 型 说 明 符,“&”是 引 用 说 明 符*rt=30;/是 间 址 访 问 符 输 出 语 句 中 的“*”是 间 址 访 问 符 couta=anb=bn*p=*p、n*q:”*q,nra=/zra/zn*rt=,/*rtendl;)程 序 输 出 结 果 为:a 二 2 00b=30*p=200*q=30ra=200*rt=301.6 编 程 题 1.输 入 个 三 位 整 数,将 它 反 向 输 出。【解 答】#include using namespace std;int mainO int x,i,j
23、,k;cout z,please input x:;cin x;i=x/100;j=x/10%10;k=x%10;cout k j i endl;cinx;2.输 入 平 面 上 某 点 横 坐 标 x 和 纵 坐 标 y,若 该 点 在 由 图 3.1表 示 的 方 块 区 域 内,则 输 出 1;否 则,输 出 0。图 1.1 1 正 方 形【解 答】4include using namespace std;int main()double x,y,b;cout x y;b=(-2=x)&(x=2)&(-2=y)&(y=2);cout b endl;3.输 入 三 个 整 数,求 出 其
24、中 地 小 数(要 求 使 用 条 件 表 达 式)。【解 答】ttinclude using namespace std;int main()int a,b,c,temp,min;cout”please input a,b,c:;cin a b c;temp=(ab)min=(tempccout)?a:b;)?temp:c;min endl;习 题 2 及 其 解 答 2.1选 择 题 1.已 知 int i=0,x=l,(a)if(x&y)i+(c)if(x|y)i+y=0;在 下 列 选 项 使 i的 值 变 成 1的 语 句 是(c;(b)if(x=y)i+;;(d)if(!x)i+;
25、)o-1 x 0(a)y=1;if(x=0)if(x=0)y=0;else y=-1;(c)if(x=0)if(x 0)y=1;else y=0;(d)y=-1;if(x=0)if(x 0)y=-1;else y=1;else y=1;3.假 设 i=2,执 行 下 列 语 句 后 i 的 值 为(b)oswitch(i)case 1 i+case 2case 3+i break;case 4default:i+;(a)1(b)2(c)3(d)44.已 知 int i=0,x=0;下 面 while语 句 执 行 时 循 环 次 数 为(dwhile(!x&i 3)x+;i+;(a)4(b)3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 习题 及其 解答
限制150内