14C语言与程序设计第四讲.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
int main() { char ch_name[40],ch_s[40]; coutinput name:endl;cinch_name; int n=strlen(ch_name); for(int i=0;in;i++)ch_s[i]=ch_name[i]; ch_s[i]=ch_name[i]; coutch_s:ch_sendl; return(0); } 取要拷贝的字符串长度 循环是一种操作 循环起点 从字符数组第一个元素开始 循环次数,拷贝操作到字符数组最末一个元素 循环体内每次的操作,是将数组ch_name的第i个字符,赋给ch_s的第i个元素 用循环语句拷贝字符串 遗漏了什么? 循环结束时,i==n 字符串的结尾符 第四讲 循环初步 运算符 本节要点-循环初步 循环程序回顾 for语句动作详解 练习三习题 本节内容-多路分支语句 菜单问题 多路条件分支switch语句 课堂练习 习题要点 循环与字符串处理 关于求模取余运算 练习三第5题 译密码。为使报文保密,往往按一定规律将其转换为密码,收报人再按约定的规律将其译为原文。 设加密规律为:将字母变成其后的第四个字母,如A变为E,a变为e。空格不变。请编制一个程序,要求有两个选项,分别是: 选项1:加密。输入一行字符,将其变为密码并输出到屏幕上。 选项2:解密。输入一行字符,将其翻译为原文并输出到屏幕上。 switch()结构 关键是结尾的4个字母如何转换成头部? if(字符97)字符=(字符-65+4) % 26+65; else 字符=(字符-97+4)%26+97; 字符在26个字母中的位置 调整后的位置如超出26,则从字母中的零位置开始 还原成ASCII码 本题考察同学对并列分支的处理,以及除模取余在程序中的应用. 加密图解 解密的情况是否相同? 关键是头部的4个字母如何转换成尾部? if(字符97)字符=(字符-65+ 22 )%26+65; else 字符=(字符-97+ 22)%26+97; 还原成ASCII码 解密的时候减去4对应的字符位置,对于模为26来说,相当于加上26-4=22 时间是10:10分,现把时钟调整到8:10分,即减去2个小时,有两种办法: ①逆时针方向回拨时针(相当于减法)2圈,使之指向8:10分; ②顺时针方向正拨时针10圈(相当于加法),同样也能让时钟正确的指向8:10分. 调整后的位置如小于1,则从字母尾部的位置开始回找(26-4) 22是4关于模26的补码,-4=+22。 时钟是12进制(模为12)。10加10,进位溢出后余8,相当于10减2。 即,减去一个数,等效于加上它的补码。 一个数的补码=模-这个数。 (10+10)%12 模与补码 2的原码=2 2的补码=模-2=10 时钟的模 时钟是10-2 计算机的运算器(CPU)中,没有减法器,所有的减法都是通过补码完成的。 练习三第5题 int main(void) {char s[40],ch; int i,k; do{coutinput of s:endl; cins; coutselect 1:加密 or 2:解密endl; cink; switch(k){case 1: for(i=0;s[i]!=0;i++){if(s[i]97)s[i]=(s[i]-65+4)%26+65; else s[i]=(s[i]-97+4)%26+97;} s[i]=0; couts=sendl; break; case 2: for(i=0;s[i]!=0;i++){if(s[i]97)s[i]=(s[i]-65+22)%26+65; else s[i]=(s[i]-97+22)%26+97;} s[i]=0; //s内字符串的结束标志 couts=sendl; break;} coutExit? :E or otherendl; cinch; }while(ch!=E); coutclosedendl; return(0); } 给s内的字符串打上结尾符号 减去4等于加上4的补码22(模=26) 若满足ch !=‘E’的条件,程序继续循环 for(i=0;;i++){……} 是无限循环吗? 为什么? 练习三第5题 第四讲 循环初步 运算符 本节要点-循环初步 循环程序回顾 for语句动作详解 练习三习题 本节内容-多路分支语句 菜单问题 多路条件分支switch语句 课堂练习 习题要点 循环与字符串处理 关于求模取余运算 练习三、第二道题的选课名单表 序号 学号 姓名 系别 1 03 0 156 梁金

您可能关注的文档

文档评论(0)

带头大哥 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档