- 1、本文档共42页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机程序设计基础——第十二讲和第十三讲
说明: 1、由于getchar()返回的是整数(ASCII码值),因此,temp定义为整数型。 2、EOF被定义为-1,当getchar()函数返回-1时结束,这里EOF被定义为-1,在DOS系统中只有用Ctrl+Z才能结束键盘输入。从实验中可以看出getchar()函数是将键盘输入的字符的ASCII码的形式存至缓冲区,敲入字符之后,须回车才响应输出 a // 敲入的小写字符 temp = 97 // 回车之后,输入’a’的ASCII码 A // 回应大写字符’A’, temp = 65 // 输出回车键的ASCII码值 3、在上述程序基础上,将getchar改为getch,观察程序运行情况。这时不再显示敲入的小写字母,屏幕上看到的都是大写字母了。但显示的ASCII码值仍是小写字母的码值。 退出方式用Ctrl+Break 4、将getch改为getche再试,观察有何变化? 5、字符串的读写函数gets()和puts()。 #include stdio.h // 预编译命令 #define null 0 // 定义null为空 void main() // 主函数 { // 主函数开始 char s[256]; // 定义字符数组s int no; // 定义整型变量no no = 1; // 初始化no为1 while(gets(s)!=null) // s须为指针 { // 循环体开始 printf(“%d:%s\n”,no,s);// 输出no和s printf(“%X\n”,s); // s是指针 no=no+1; // no加1 } // 循环体结束 } // 主函数结束 例 文件2.c 说明: gets(s)函数的形参为字符指针,指向一个由键盘输入的字符串。正常时返回一个读取到的字符串的首地址。出错时返回NULL。输入的字符串以‘\n’结束,该函数在内存中将‘\n’以‘\0’存放,从而使s变为字符串。 看下例: puts(s)是将s所指向的字符串写到屏幕上,写时将‘\n’转换为‘\0’。 6、使用printf( ),scanf( ) 略 #include stdio.h // 预编译命令 #define null 0 // 定义空指针常量 void main() // 主函数 { // 主函数开始 char s[256]; // 定义字符串 while(gets(s)!=null) // 循环输入 puts(s); // 输出s到屏幕 } // 循环体结束 一般文件的操作 1、打开和关闭文件函数1.1 打开文件函数 fopen( ) 格式为 fopen( “文件名”, 打开方式); “r”:读方式 “w”:写方式 “a”:追加方式 “rb”:二进制读方式 “wb”:二进制写方式 “ab”:二进制追加方式 “r+w”:读写方式 * * 第十二讲 二叉树的建立 循 环 链 表 二叉树的建立 二叉树的建立 建立二叉树的过程是一个“插入”过程,下面我们用一个例子来讲解这一过程。 我们想建立这样一棵二叉树,树中的每一个结点有一个整数数据名为data,有两个指针:左指针L,右指针R,分别指向这个结点的左子树和右子树,显然可以用如下名为TREE的结构来描述这种结点: struct TREE { int data; struct TREE *L, *R; } 对二叉树最重要的是根,它起定位的作用,因此,首先建立的是根结点。也就是说,如果从键盘输入数据来建立二叉树,第一个数据就是这棵树的根的数据,之后再输入的数据,每一个都要与根中的数据作比较,以便确定该数据所在结点的插入位置。假定我们这里依然用图1的中序遍历的方式。即如果待插入结点的数据比根结点的数据小,则将其插至左子树,否则插入右子树。 定义一个递归函数 void insert(struct TREE **proot, struct TREE *p) 其中,指针p指向含有待插入数据的结点。 proot为树的根指针的地址。 insert函数棵理解为将p结点插入到*proot所指向的树中。 insert(proot, p)可用下列与或结点图来描述 注意在上图中proot是被调用函数的形参。从前面对它的定义看,proot是指针的指针,实际上是指向二叉树根结点的指针的指针,或者说是指向二叉树根结点的指针的地址。如下图。因此,在主程序调用insert函数时, 根结点 proot 实参 root 实参为 root, p 形参
您可能关注的文档
- 英语2组A ppt.ppt
- 英语课文演讲ppt.ppt
- 英文课件-酶5.ppt
- 草绘作业.ppt
- 芭比娃娃英文版.ppt
- 草船借箭》课件.ppt
- 草船借箭PPT(人教版)PPT课件。完美教学.ppt
- 药品生产、经营和使用的管理2.ppt
- 荒岛余生》ppt.ppt
- 莫让惰性成惯性之一 ——克服惰性.ppt
- 生成式人工智能在初中历史课堂中的历史事件复现与教学策略教学研究课题报告.docx
- 《数据仓库在智慧城市应急管理决策支持系统中的突发事件预测与应急处理》教学研究课题报告.docx
- 农村土地流转与农业规模化经营中的农业信息化发展研究教学研究课题报告.docx
- 高中艺术展览与艺术史教学融合的实践与反思教学研究课题报告.docx
- 《新型冠状病毒肺炎康复患者心理干预中心理干预效果与康复心理康复成本相关性研究》教学研究课题报告.docx
- 《食品企业生产现场精益生产实施与产品质量控制优化》教学研究课题报告.docx
- 初中阶段人工智能教育大数据安全审计与监管的挑战与对策教学研究课题报告.docx
- 《金融科技在金融监管中的技术创新与风险控制研究》教学研究课题报告.docx
- 新时代初中物理教学中的社会主义核心价值观融入研究教学研究课题报告.docx
- 《家政服务行业职业素养提升培训的培训效果与培训内容实用性关系研究》教学研究课题报告.docx
文档评论(0)