c程序的控制结构习题答案.pdf

上传人:s****u 文档编号:12992081 上传时间:2020-06-04 格式:PDF 页数:9 大小:180.44KB
返回 下载 相关 举报
c程序的控制结构习题答案.pdf_第1页
第1页 / 共9页
c程序的控制结构习题答案.pdf_第2页
第2页 / 共9页
c程序的控制结构习题答案.pdf_第3页
第3页 / 共9页
点击查看更多>>
资源描述
1 概 念 填 空 题1.1 任 何 算 法 的 描 述 都 可 以 分 解 为 顺 序 结 构 、 分 支 结 构 和 循 环 结 构 。 顺 序 结 构 的 特 点 是各 块 按 照 书 写 次 序 依 次 执 行 。 分 支 结 构 的 特 点 是 根 据 条 件 判 断 选 择 执 行 路 径 。 循 环 结 构用 于 实 现 重 复 性 动 作 。 根 据 算 法 的 有 穷 性 , 循 环 必 须 在 一 定 条 件 下 进 行 , 无 条 件 必 然 会 导致 死 循 环 。1.2switch语 句 执 行 流 程 是 : 求 表 达 式 的 值 ,其 中 表 达 式 的 值 只 能 是 整 型 、 字 符 型 、布 尔 型 或 枚 举 型 等 类 型 , 而 不 能 取 实 型 这 样 的 连 续 值 ; 在 常 量 表 达 式 中 找 与 之 相等 的 分 支 作 为 执 行 入 口 , 并 从 该 分 支 的 语 句 序 列 开 始 执 行 下 去 , 直 到 遇 到 break 或 switch的 结 束 括 号 “ ” 为 止 ; 当 表 达 式 的 值 与 所 有 常 量 表 达 式 的 值 均 不 相 等 时 , 若 有 default分 支 , 则 执 行 其 语 句 序 列 ; 若 没 有 该 分 支 , 则 结 束 switch语 句 , 继 续 后 续 语 句 的 执 行 ;1.3 c+中 提 供 了 若 干 转 向 语 句 , 可 以 改 变 程 序 原 来 的 执 行 顺 序 。 break 语 句 只 能 用 在switch 语 句 和 循 环 语 句 中 , 从 该 处 跳 出 switch 语 句 或 循 环 语 句 , 转 去 执 行 switch 语 句 或循 环 语 句 之 后 的 语 句 。 continue语 句 只 能 用 在 循 环 中 , 程 序 执 行 到 continue语 句 时 , 将 跳 过 其 后 尚 未 执 行 的 循 环 体 语 句 , 开 始 新 的 循 环 。 return 语 句 用 在 函 数 中 , 用 来 返 回到 函 数 调 用 处 。1.4C+中 的 文 件 有 两 个 相 互 联 系 的 概 念 : 内 部 文 件 和 外 部 文 件 。 文 件 通 常 是 指 磁 盘 文 件 ,这 里 称 为 外 部 文 件 ; 而 在 程 序 中 运 行 的 文 件 则 称 为 内 部 文 件 , 更 正 式 的 名 称 是 文 件 流 对象 。 程 序 中 操 作 的 是 内 部 文 件 , 最 后 保 存 的 是 外 部 文 件 。2.简 答 题2.1C+中 有 什 么 形 式 的 选 择 控 制 语 句 ? 归 纳 它 们 的 语 法 形 式 、 应 用 场 合 。 根 据 一 个 实 际 问题 使 用 不 同 的 条 件 语 句 编 程 。2.2什 么 叫 循 环 控 制 ? 归 纳 比 较 C+中 各 种 循 环 控 制 语 句 的 语 法 、 循 环 条 件 和 循 环 结 束 条 件的 表 示 形 式 及 执 行 流 程 ,比 较 其 异 同 点 。2.3 根 据 一 个 实 际 问 题 ,用 不 同 的 循 环 语 句 编 程 ,分 析 其 优 缺 点 。 3.选 择 题3.1对 if语 句 中 的 表 达 式 的 类 型 , 下 面 描 述 正 确 的 是 ( D ) 。A.必 须 是 关 系 表 达 式B.必 须 是 关 系 表 达 式 或 逻 辑 表 达 式C.必 须 是 关 系 表 达 式 或 算 术 表 达 式D.可 以 是 任 意 表 达 式3.2 与 for(表 达 式 1; 表 达 式 2; 表 达 式 3)功 能 相 同 的 语 句 为 ( A ) 。A 表 达 式 1; B 表 达 式 1;while(表 达 式 2) while(表 达 式 2)循 环 体 ; 表 达 式 3;表 达 式 3; 循 环 体 ;C 表 达 式 1; D dodo 表 达 式 1; 循 环 体 ; 循 环 体 ;表 达 式 3;while(表 达 式 2); 表 达 式 3;while(表 达 式 2)3.3以 下 程 序 输 出 结 果 为 ( A) 。voidmain() intx(1),a(0),b(0);switch(x)case0:b+;case1:a+;case2:a+;b+;cout”a=”a”,b=”b; A a=2,b=1 B a=1,b=1 C a=1,b=0 D a=2,b=23.4 已 知 inti=0,x=0;下 面 while语 句 执 行 时 的 循 环 次 数 为 (D)。while(!xi+;A.4 B.3 C.2 D.13.5 以 下 形 成 死 循 环 的 程 序 段 是 (B)。 A.for(intx=0;x=0);C.inta=5;while(a)a-;D.inti=3;for(;i;i-);3.6 已 知 有 职 工 情 况 结 构 变 量 emp 定 义 为 ;strnctEmployeecharname20;longcode;structintyear; intmonth; intday;birth;emp;下 列 对 birth的 正 确 赋 值 方 法 是 (D)。 A.year=1980;month=5;day=1;B.birth.year=1980;birth.month=5; birthday=1;C.emp.year=1980;emp.month=5;emp.day=1;D.emp.birth.year=1980;emp.birth.month=5;emp.birth.day=l;3.7下 面 的 程 序 段 循 环 执 行 了 ( A) 次 。intk=10;while(k=3)k=k-1;A 死 循 环 B 0次 C 3次 D 7次3.8语 句 while(!E) 中 的 表 达 式 !E等 价 于 ( A) 。A E=0 B E!=1 C E!=0 D E=14.写 出 下 列 程 序 运 行 结 果4.1#include voidmain()inta,b,c,d,x;a=c=0;b=1;d=20;if(a)d=d-10;elseif(!b) if(!c)x=15;elsex=25;coutdendl;204.2#includevoidmain()inta=0,b=1:switch(a)case0:switch(b)case0:cout”a=”a”b=”bendl;break;case1:cout”a=”a”b=”bendl;break; case1:a+;b+;couta=“a”b=”bendl;a=0 b=1a=1 b=24.3#includevoidmain()inti=1;while(i=10)if(+i%3!=1)continue;elsecoutiendl; 4 7 104.4#includevoidmain()inti,j,x=0;for(i=0;i=3;i+)x+;for(j=0;j=3;j+)if(j%2)continue;x+;x+; cout”x=”xendl;x=165.编 程 题5.1求 100200之 间 不 能 被 3整 除 也 不 能 被 7整 除 的 数 。 #includeusingnamespacestd;intmain()inti;for(i=100;iab;min=ab?a:b;for(i=min;i=1;i-)/求 最 大 公 约 数if(a%i=0break; for(i=max;ia;b=0;for(;a;)b=b*10+a%10;a/=10; coutb=1e-6);coutsendl;return0;5.6编 程 输 出 如 下 图 形 ,中 间 一 行 英 文 字 母 由 键 盘 输 入 得 到 。ABBBCCCCCDDDDDDD CCCCCBBBA解 法 一#includeusingnamespacestd;intmain()charin;inti,j;do coutin;if(in=97)/小 写 改 大 写 while(in90);intline=in-A;for(i=0;i0;j-)cout ;/前 方 空 格for(j=1;j=2*i+1;j+)coutchar(i+A); cout0;i-)/下 三 角 ( 少 一 行 )for(j=0;j=line-i;j+)cout ;for(j=1;j=2*i-1;j+)coutchar(i-1+A);coutc;/输 入 AZ等 符 号n=c-A;for(i=-n;i=n;i+)for(j=0;jabs(i);j+)cout ;k=n-abs(i);for(j=0;j2*k+1;j+)coutchar(A+k);coutlw;if(w=15)s=5;elseif(w=30)s=9;elseif(w=45)s=12;elseif(w=60)s=14+l/1000; elses=15+l/1000;coutsn;while(n!=0) s+=n;if(n0)plu+;elseneg+;cinn;cout平 均 值 =s/(neg+plu)endl;cout正 数 =plu个 endl;cout负 数 =neg个 endl;return0;5.9 编 程 求 1000之 内 的 所 有 完 全 数 。 完 全 数 指 的 是 一 个 数 恰 好 等 于 它 的 所 有 因 子 的 和 。 例如 6=1+2+3,6就 是 一 个 完 全 数 。 #includeusingnamespacestd;intmain()inti,a,sum_yz; /sum_yz是a的因子和for(a=1;a1000;a+)sum_yz=0;for(i=1;ia;i+)if(a%i=0)sum_yz+=i;/求因子运算未改变循环控制变量a的值,否则要用另一个变量b来代替a来参加运算if(a=sum_yz) coutaendl;return0;5.10 将 100元 换 成 10元 、 5元 和 1元 的 组 合 ,共 有 多 少 种 组 合 方 法 ? #includeusingnamespacestd;intmain()inti,j,k,count=0;for(i=0;i=10;i+)/i是10元张数,j是5元张数,k是1元张数 for(j=0;j=0)coutitjtkendl;count+;coutcountendl;return0;5.11 有 两 队 选 手 ,每 队 出 5人 进 行 一 对 一 的 比 赛 ,甲 队 为 A、 B、 C、 D、 E,乙 队 为 J、 K、 L、M、 N,经 过 抽 签 决 定 比 赛 配 对 名 单 。 规 定 A不 和 J比 赛 ,M不 和 D及 E比 赛 。 列 出 所 有 可 能 的 比 赛 名 单 。解 : 这 是 一 个 组 合 问 题 , 使 用 穷 举 法 。 共 有 5个 位 置 , 设 甲 队 5名 队 员 位 置 不 变 , 乙 队 改 变队 员 位 置 , 进 行 配 对 。 注 意 第 1个 位 置 可 在 5个 队 员 中 任 选 一 个 , 以 后 的 位 置 必 须 扣 除 已 选过 的 队 员 。 并 扣 除 不 能 配 对 的 情 况 , 即 得 所 有 可 能 的 比 赛 名 单 。#includeusingnamespacestd;intmain()charst15=A,B,C,D,E,st25=J,K,L,M,N;inti=0,j,k,l,m,n;for(j=0;j5;j+)/0号位if(j=0)continue;/A选手不与选手J比赛,即st10不与st20比赛for(k=0;k5;k+)/1号位if(k=j)continue;/剔除乙队占据0号位的选手 for(l=0;l5;l+)/2号位if(l=j|l=k)continue;/剔除乙队占据0、1号位的选手for(m=0;m5;m+)/3号位if(m=j|m=k|m=l)continue;/剔除乙队占据0、1、2号位的选手if(m=3)continue;/st13不与st23比赛,即D不与M比赛for(n=0;n5;n+)/4号位if(n=j|n=k|n=l|n=m)continue;/剔除乙队占据0、1、2、3号位的选手if(n=3)continue;/st14不与st23比赛,即E不与M比赛coutst10-st2jtst11-st2kt;coutst12-st2ltst13-st2mt;coutst14-st2nendl;i+; coutiendl;return0;
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!