- 1、本文档共76页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.3.4 启闭指定设备 【例2-14】大型超市中,在顾客不是很多时,收银台经常是隔一个打开一个。设这些收银台除操作员密码外,还由控制室统一控制,只有控制室打开该设备后操作员才能使用。设每个设备用一个二进制位表示,1表示开启,0表示关闭。用户输入一个无符号整数表示初始的状态,编写程序分别将这个数的二进制的奇数位置成0和置成1(从最低位开始为第1位),以十六进制形式打印设置后的两个数。 * 【算法描述】 ①输入无符号整数a ②设奇数位为0的数为odd0=0 奇数位为1的数为odd1=0xAAAAAAA ③将a分别与odd0,odd1做“与”运算和“或”运算,结果用a0,a1表示; ④输出a0,a1的十六进制形式。 * #include iostream //包含基本输入输出库头文件 using namespace std; //使用名字空间 ?int main() //主函数 { unsigned int a; //声明无符号整型变量,保存原数 unsigned int odd0=0//奇数位0 5=0101B unsigned int odd1=0xAAAAAAAA;//奇数位1 A=1010B unsigned int a0,a1;//声明无符号整型变量,保存设置后的数 coutPlease input a number ;//输入提示 cina; //输入 a0=a odd0; //奇数位置0 a1=a | odd1; //奇数位置1 coutodd digit 0-hexa0endl;//十六进制,奇数位置0 coutodd digit 1-hexa1endl;//十六进制,奇数位置1 return 0; //程序结束, } * 【思考题】编写程序保留一个数的第3个字节(左起)。 * * * * 2.3.5 加密解密 【例2-15】一段意义明确的文字,经过变换变得无法理解。合法用户可以将其变回原来的文字,而不合法用户则不能,这就是加密。加密的一种方法叫替换加密法,将原来文字中的字母用其后的第k个字母替代(26个字母的字母表看做是循环的,即z后的字母是a)。例如,k=3,对“today”的每一字母用其后的第3个字母代替,结果为“wrgdb”。 编写程序,用户从键盘输入一个小写字母和k值,将输入的小写字母用替换加密法加密并输出加密后的字母。 * 【算法描述】替换加密 ①输入单个小写字符c,和数k; ②计算它在英文字母表中的序号n=c-a(从0开始); ③将序号n加k(n=n+k); ④如果超出了25,则除26求余(n=n%26); ⑤输出新序号位置的字母(ec=n+a)。 * #include iostream //包含基本输入输出库头文件 using namespace std; //使用名字空间 int main() //主函数 { char c; //定义字符变量,存放原字母 char ec; //定义字符变量,存放加密后的字母 int k; //定义整型变量,存放密钥k coutPlease input a lower character and kendl; //提示 cinck; //输入 ec=((c-a)+k)%26+a; //加密算法 coutecendl; //输出密文字母 return 0; //程序结束, } * 【思路扩展】 (1)如何实现大写字母的加密呢? (2)如何解密? (3)该例实现一个字母、一个密钥的加密。输入一组数据,程序结束。这非常不实用。如何实现程序的一次运行,可以输入多组数据内? (4)上面的程序也只能实现小写字母的加密,也就是说用户只能输入小写字母。要同时实现大写和小写字母的加密呢? 这个程序还有很多问题,例如,可否输入一次密钥,多次输入待加密字母?如果用户输入的不是字母怎么办呢?真正加密输入的应是一段话,这又怎样实现呢?随着C++知识的丰富,这些都可迎刃而解。 * 小结 数据类型,为什么要划分数据类型 常量,字面量,符号常量 变量,标识符 定义、初始化、赋值、使用,先定义,有赋值 转义字符 各种运算符,自增、自减,问号表达式,逗号表达式 逻辑型变量,逻辑值,逻辑值的表示和判断 相同类型的混合运算表,不同类型的混合运算 运算符的优先级 * 实验和作业 实验 实验指导书,实验2——2、3、5 作业 习题2——4、7 、8、10 * 谢谢 * * 【源程序】 #include iostream //包含需要的头文件 using na
文档评论(0)