C++程序设计基础(第4版)(上)习题解答2.pdf
《C++程序设计基础(第4版)(上)习题解答2.pdf》由会员分享,可在线阅读,更多相关《C++程序设计基础(第4版)(上)习题解答2.pdf(140页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 C+程 序 设 计 基 础(第 4 版)(上)习 题 与 解 答 第 1章 基 本 数 据 与 表 达 式 i.i 选 择 题 1.个 最 简 单 的 C+程 序,可 以 只 有 一 个(C)。(A)库 函 数(B)自 定 义 函 数(C)main函 数(D)空 函 数 2.用 C H 语 言 编 写 的 源 程 序 要 成 为 目 标 程 序 必 须 要 经 过(D)。(A)解 释(B)汇 编(C)编 辑(D)编 译 3.C+程 序 中 的 简 单 语 句 必 须 以(B)结 束。(A)冒 号(B)分 号(C)空 格(D)花 括 号 4.假 设 有 说 明 inta=O;double x=
2、5.16;,则 在 以 下 语 句 中,(C)属 于 编 译 错 误。(A)x=a/x;(B)x=x/a;(C)a=a%x;(D)x=x*a;5.执 行 C+程 序 时 出 现 的“溢 出”错 误 属 于(C)错 误。(A)编 译(B)连 接(C)运 行(D)逻 辑 6.在 下 列 选 项 中,全 部 都 是 C+关 键 字 的 选 项 为(C)。(A)while IF Static(C)sizeof case extern(B)break(D)switchchar gofloat integer7.按 C H 标 识 符 的 语 法 规 定,合 法 的 标 识 符 是(A)o(A)_abc(
3、B)new(C)it(D)age8.在 C H 语 句 中,两 个 标 识 符 之 间(A)不 用 作 为 C+的 分 隔 符。(A)数 字(B);(C):(D)+9.下 列 正 确 的 八 进 制 整 型 常 量 表 示 是(B)。(A)OaO(B)015(C)080(D)0 x101 0.下 列 错 误 的 十 六 进 制 整 型 常 量 表 示 是(C)。(A)0 x11(B)Oxaf(C)Oxg(D)Oxlf11.在 下 列 选 项 中,全 部 都 合 法 的 浮 点 型 数 据 的 选 项 为(B)。(A)-le3.5 15.2e-4(B)12.34-le+5 0.1E-12(C)0
4、.2e-2-12345.e-5(D)5.0e(1+4)0.1 8e+212.在 下 列 选 项 中,正 确 的 字 符 常 量 为(D)。(A)Ma(B),name(C)a(D)M O I113.在 下 列 选 项 中,(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)。int i=10,*p=&i;(A)p 的 值 为 10(B)p 指 向 整 型 变 量 i(C)*p表 示 变 量 i的 值(D)p 的 值 是
5、 变 量 i的 地 址 15.有 以 下 变 量 说 明,下 面 不 走 哪 的 赋 值 语 句 是(B)。int a=5,b=10,c;int*pl=&a,*p2=&b;(A)*p2=b;(B)pl=a;(C)p2=pl;(D)16.有 以 下 变 量 说 明,下 面 正 确 的 语 句 是(B)。int a=10,b;int&pa=a,&pb=b;(A)&pb=a;(B)pb=pa;(C)c=*pl*(*p2);pb=&pa;(D)*pb=z*pa;17.执 行 下 面 语 句 序 列 后,a和 b 的 值 分 别 为(B)。int a=5,b=3,t;int&ra=a;int&rb=b;
6、t=ra;ra=rb;rb=t;(A)3 和 3(B)3 和 5(C)5 和 3(D)5 和 518.在 下 列 运 算 符 中,(D)优 先 级 最 高。(A)=(B)*=19.在 下 列 运 算 符 中,(D)优 先 级 最 低。(A)!(B)&(C)(C)+!=(D)(D)*?:2 0.已 知 inti=l,j=2;,则 表 达 式 i+j的 值 为(C)o(A)1(B)2(C)3(D)42 1.已 知 inti=l,j=2;,则 表 达 式-H-i+j的 值 为(D)o(A)1(B)2(C)3(D)42 2.在 下 列 表 达 式 选 项 中,(C)是 正 确。(A)+(a+)(B)a
7、+b(C)a+b(D)a+b2 3.己 知 int i=0,j=l,k=2;,则 逻 辑 表 达 式-F+i|-j&+k(A)0(B)1(C)的 值 为(B)o2(D)32 4.执 行 下 列 语 句 后,x 的 值 是(D),y 的 值 是()。int x,y;x=y=l;-H-x|+y;(A)不 确 定(B)0(C)1(D)22 5.设 x 为 整 型 变 量,不 砥 正 确 表 达 数 学 关 系 l x V 5 的 C H 逻 辑 表 达 式 是(A)。(A)lx5(B)x=2|x=3|x=4(C)lx&x5(D)!(x=5)2 6.己 知 intx=5;,执 行 下 列 语 句 后,
8、x 的 值 为(C)。x+=x-=x*x;(A)25(B)40(C)-40(D)2027.设 ini a=l,b=2,c=3,d=4;,则 以 下 条 件 表 达 式 的 值 为(A)。ab?a:cd?c:d(A)1(B)2(C)3(D)428.以 下 逗 号 表 达 式 的 值 为(D)。(x=4*5,x*5),x+25(A)25(B)20(C)100(D)451.2根 据 下 列 数 学 表 达 式 写 出 C+算 术 表 达 式 1.-2.xxx(ax+b)+c+d+ex+yl _5.cot-r 6.g(cr+ab+b2)(1+口【解 答】1.1/(1+1/(1+l/(x+y)2.x*(
9、x*(x*(a*x+b)+c)+d)+e3.log(1+pow(fabs(a+b)/(a-b),10)4.sqrt(1+3.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.log 10(a*a+a*b+b*b)1.3用 逻 辑 表 达 式 表 示 下 列 条 件 1.i 被/整 除 2.是 小 于 正 整 数 的 偶 数 3.l r 1 0,1 0 0 6.坐 标 点(x,y)落 在 以(10,2 0)为 圆 心,以 3 5为 半 径 的 圆 内 7.三 条
10、边”,人 和 c 构 成 三 角 形 8.年 份 Y ear能 被 4 整 除,但 不 能 被 100整 除,或 者 能 被 4 0 0整 除【解 答】1.i%j=0 2.(nk)&(n%2=0)3.l=x&x10 4.xz|y=-100&y=10&y=1 00)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 阅 读 下 列 程 序,写 出 运 行 结 果#includc using namespace std;int main()int a=1,b=2;bool x,y
11、;cout(a-H-)+(-H-b)endl;cout a%b endl;x=!ab;y=a-&b;cout x endl;cout y endl;)【解 答】42012.#include using namespace std;int main()int x,y,z,x=y=z=1;f=-x|y-&z-H-;cout x=x cndl;cout y=*y endl;cout z=z endl;cout”f=H f endl;)【解 答】x=0y=0z=2f=l3.#include#includeusing namespace std;int main()(int a=123;int&ra=a
12、;int*pa=&a;coutsctw(5)decasctw(5)octrasctw(5)hcx*paend 1;【解 答】123 173 7b1.5 思 考 题 1.什 么 是 数 据 类 型?变 量 的 类 型 定 义 有 什 么 作 用?【解 答】数 据“类 型”是 对 数 据 的 抽 象。类 型 相 同 的 数 据 有 相 同 的 表 示 形 式、存 储 格 式 以 及 相 关 的 操 作。定 义 一 个 变 量 时,计 算 机 根 据 变 量 的 类 型 分 配 存 储 空 间,并 以 该 类 型 解 释 存 放 的 数 据。2.普 通 数 据 类 型 变 量 和 指 针 类 型 变
13、 量 的 定 义、存 储 和 使 用 方 式 有 何 区 别?请 编 写 一 个 程 序 验 证 之。【解 答】变 量 类 型 定 义 存 储 使 用 方 式 数 据 类 型 标 识 符 数 据 值 通 过 名 访 问 即 直 接 访 问 对 变 量 内 容 操 作 指 针 类 型*标 识 符 地 址 值 通 过 指 针 变 量 的 地 址 值 间 址 访 问 对 象 验 证 程 序:#includeusing namespace std;int main()int a,b,c;couta,b,c=c in a b c;对 普 通 数 据 类 型 变 量 赋 值 int*pa=&a,*pb=&
14、b,*pc=&c;用 变 量 地 址 值 初 始 化 指 针 变 量 couta,b,c=a,b,c e n d l;/名 访 问,输 出 a,b,c的 值 coutpa,pb,pc=p a,p b,p c en d l;/输 出 指 针 变 量 的 地 址 值 间 址 访 问,输 出 pa,pb,pc指 向 的 变 量 的 赋 值 cout*pa,*pb,*pc=*p a,*p b,*pcendl;3.什 么 是 数 据 对 象 的 引 用?对 象 的 引 用 和 对 象 的 指 针 有 什 么 区 别?请 用 一 个 验 证 程 序 说 明 之。【解 答】引 用 是 为 数 据 对 象 定
15、 义 别 名。引 用 与 指 针 有 以 下 几 点 区 别:(1)引 用 名 不 是 内 存 变 量,而 指 针 变 量 要 开 辟 内 存 空 间。(2)引 用 名 需 要 在 变 量 定 义 与 变 量 名 绑 定,并 且 不 能 重 定 义;指 针 变 量 可 以 在 程 序 中 赋 给 不 同 的 地 址 值,改 变 指 向。(3)程 序 中 用 变 量 名 和 引 用 名 访 问 对 象 的 形 式 和 效 果 一 样;指 针 变 量 通 过 间 址 访 问 对 象。验 证 程 序:#includeusing namespace std;int main()int a;co u t
16、Ma=;cina;int ra=a;int*pa=&a;c o u tMa 的 值:M a e n d l;coutvv”的 地 址:vv&aendl;coutra 的 值:M ra e n d l;c o u tMra 的 地 址:vv&raendl;c o u tMp a所 指 向 的 变 量 的 值:”*paendl;c o u tMpa 的 地 址:wpavvendl;)4.数 据 对 象 在 C+中 有 儿 种 不 同 的 访 问 方 式?请 编 写 个 程 序 验 证 之。【解 答】数 据 对 象 在 C+中 的 访 问 方 式 有:验 证 程 序:#includeusing na
17、mespace std;int main()int a;couta=*;cina;a=a+5;cout&aendl;cout*(&a)endl;int*pa=&a;cout*paendl;int&ra=a;coutraendi;名 访 问,引 用(别 名)访 问,间 址 访 问。名 访 问 输 出 变 量 地 址 地 址 访 问,输 出 变 量 值 说 明 指 针 变 量,指 向 变 量 a 间 址 访 问,输 出 变 量 值 ra是 a 的 引 用 引 用 访 问,输 出 变 量 a 的 值 5.为 了 约 束 对 数 据 对 象 的 值 进 行 只 读 操 作,C H采 用 什 么 方 式
18、?请 进 行 简 要 归 纳。【解 答】约 束 数 据 对 象 只 读 形 式 如 下:约 束 对 象 说 明 形 式 标 识 常 量 const类 型 常 量 标 识 符=常 量 表 达 式;指 针 常 量 类 型*c o n st指 针;指 向 常 量 的 指 针 const类 型*指 针;或 者 类 型 c o n st*指 针;指 向 常 量 的 指 针 常 量 const类 型*co n st指 针;或 者 类 型 const*c o n st指 针;常 引 用 const类 型&引 用 名=对 象 名;6.什 么 是 表 达 式?表 达 式 值 的 类 型 由 什 么 因 素 决
19、定?使 用 不 同 运 算 符 连 接 以 下 3 个 变 量,请 写 出 5个 以 上 获 得 值 为 true的 表 达 式。int a=l,b=2;double x=0.5;【解 答】表 达 式 是 由 数 据 和 运 算 符,按 求 值 规 则,表 达 个 值 的 式 子。表 达 式 值 的 类 型 的 决 定 因 素 为 操 作 数 的 类 型。(1)如 果 运 算 符 左 右 操 作 数 类 型 相 同,运 算 结 果 也 是 相 同 类 型。(2)如 果 运 算 符 左 右 操 作 数 类 型 不 同,首 先 把 类 型 较 低(存 储 要 求,示 数 能 力 较 低)的 数 据
20、 转 换 成 类 型 较 高 的 数 据,然 后 运 算。(3)赋 值 表 达 式 的 类 型 由 被 赋 值 变 量 的 类 型 决 定。当 把 一 个 表 达 式 的 值 赋 给 一 个 变 量 时,系 统 首 先 强 制 把 运 算 值 转 换 成 变 量 的 类 型,然 后 执 行 写 操 作。6 个 值 等 于 true的 表 达 式:(1)ba&ax(2)(a+b)!=x(3)a|(b+x)(4)a=(b*x)(5)a-bx(6)(a/x=b)7.阅 读 以 下 程 序,分 析 下 面 语 句 序 列 中 每 个 字 符“*”和“&”的 含 义,并 写 出 输 出 结 果。#inc
21、lude using namespace std;int main()(inta=10,b=20;int*p=&a,*q=&b;*p=*p*q;int&ra=a;ra=a;int*&rt=q;*rt=30;couta=,a,n b=b n*p=*p,n*q=,*q,nra=,r a,n*rt=,*rt e n d l;)【解 答】字 符“*”和 的 意 义 见 程 序 中 添 加 的 注 释。#include using namespace std;int main()(int a=10,b=20;int*p=&a,*q=&b;/“*”是 指 针 类 型 说 明 符,是 取 址 运 算 符*p
22、=*p*q;第 1、2、4个“*”是 间 址 访 问 符,第 3个“*”算 术 乘 运 算 符 int&ra=a;/&是 引 用 说 明 符 ra=a;int*&rt=q;/是 指 针 类 型 说 明 符,是 引 用 说 明 符*rt=30;“物 是 间 址 访 问 符 输 出 语 句+的“*”是 间 址 访 问 符 c o u t,a=a,n b=b n*p=,*p n*q=,*q,nra=,r a,n*rt=,*r t e n d l;程 序 输 出 结 果 为:a=200b=30*p=200*q=30ra=200*rt=301.6 编 程 题 1.输 入 一 个 3 位 整 数,将 它
23、反 向 输 出。【解 答】#include using namespace std;int main()(int x,i,j,k;cout please input x:n;cin x;i=x/IOO;j=x/10%10;k=x%10;cout k j i endl;2.输 入 平 面 上 某 点 横 坐 标 x 和 纵 坐 标),若 该 点 位 于 图 1.11所 示 的 方 块 区 域 内,则 输 出 1;否 则,输 出 Oo【解 答】#include using namespace std;int main()double x,y,b;cout please input x,y:M;ci
24、n x y;图 1.1 1 方 形 区 域 b=(-2=x)&(x=2)&(-2=y)&(y=2);cout b endl;3.输 入 3 个 整 数,求 出 其 中 最 小 数(要 求 使 用 条 件 表 达 式)。【解 答】/include using namespace std;int main()int a,b,c,temp,min;cout please input a,b,c:;cin a b c;temp=(ab)?a:b;min=(tempc)?temp:c;cout min endl;第 2 章 程 序 控 制 结 构 2.1 选 择 题 已 知 int i=0,x=l,y=
25、0;,在 下 列 选 项 中,使 i的 值 变 成 1 的 语 句 是(C)o(A)iRx&y)i+;(C)if(x|y)i+;-12.设 有 函 数 关 系 为 产 01(A)y=1;if(x=0)if(x=0)y=0;else y=-1;(C)if(x=0)if(x0)y=-l;else y=0;else y=1;3.假 设 i=2,执 行 下 列 语 句 后(B)iRx=y)i+;(D)iff!x)i+;x 0(B)y=-l;ifi(x!=0)if(x0)y=1;else y=0(D)y=-l;iff x=0)if(x0)y=-l;else y=0;的 值 为(B)oswitch(i)c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 程序设计 基础 习题 解答
限制150内