- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 编程基本功
第四章 编程基本功 想要成为一名优秀的程序员或者计算机工作者,就必须在实践中一点一滴地去积累编程的经验,多编程序,敢编程序,而且不应急于求成,从最基本的程序编起。作为初学者,最重要的就应当是夯实编程的基本功,充分掌握程序语言的基本知识,掌握编程的基本技巧,这样一点点积累起来最终成为一个编程高手。 本章就是特意为基础一般的读者编写的。它通过一些比较基础的编程实例向读者揭示了如何编写一个地道的C程序。同时帮助读者复习巩固已有的C语言知识和编程技巧。如果你是一个学过C语言但是编程实践不多的人,或是很久没有编程的人士,那么建议你学习本章。 4.1 字符类型统计器 题目要求: 请编写一个C程序,在终端用键盘输入字符串,以Ctrl+Z的组合键表示输入完毕,统计输入的字符串中空格符,制表符,换行符的个数,并显示统计的结果。 题目分析: 这是一类在面试中或计算机考试中常考的题目,具有一定的普遍性。本例题涉及的知识点是字符串的输入输出方法以及字符的判断等知识。程序设计的关键是如何辨认出从终端输入的字符哪个是空格符,哪个是制表符,哪个是换行符。然后在字符串输入的过程中,通过不同的变量记录下来每一种字符的个数即可。解决字符的分类问题可以通过字符的ASCII码进行判断,因为不同的字符对应不同的ASCII码。通过查表可知空格符的ASCII码为32,制表符的ASCII码为9,换行符的ASCII码为10。可以通过它们不同的ASCII码来区分出它们。 4.2 计算字符的ASCII码 题目要求: 编写一个程序,在终端输入一个字符,输出它的ASCII码。 题目分析: 解决本题的关键在于理解字符在内存中的存储方式。通过C语言的学习我们知道,一个字符在内存中的存放形式是以它的ASCII码形式存放的,大小为8位(bits),一个字节。例如空格符的ASCII码为32,那么在内存中32对应的8位二进制数100000就代表一个空格符。根据这个道理就不难解决上述问题。只要变换一种输出的形式就可以显示出该字符的ASCII码。 4.3 嵌套if-else语句的妙用 学校进行成绩分级管理,取消分数制,改为成绩分级评定。具体办法是:小于60分为“E”类;60分至70分(不含70分)为“D”类;70分至80分(不含)为“C”类;80分至90分(不含)为“B”类;90分以上为“A”类。设计一个程序,对输入的成绩进行等级划分。 4.4基于switch语句的译码器 应用switch嵌套语句实现的译码算法,可以只扫描一遍0/1代码串就可以翻译出全部内容。算法的具体结构要依赖于码表的定义。应用switch嵌套语句来实现该译码算法,优点在于简单直观,很容易理解,且翻译效率较高。缺点在于代码量较大,如果码表庞大,代码量也会随之增大,而且比较机械,缺乏灵活性。这里旨在用以说明switch语句的嵌套使用。 4.5 判断闰年 题目要求: 输入一个年份,判断该年是否是闰年。 题目分析: 这是一道公司面试和各种C语言考试中常考的题目。虽然这道题目十分简单,但是作为一个专业的程序员这是必备的常识。所谓闰年,是要符合下面两个条件之一: (1)该年份能被4整除,但不能被100整除; (2)该年份能被4整除,又能被400整除。 只要符合以上的两条件之一的年份都是闰年。最简单的判断闰年的方法是用条件判断语句(if-else语句)配合逻辑表达式进行判断,充分地利用逻辑表达式进行判断可使程序的可读性更好,效率更高。 4.6 指针变量作参数 题目要求: 编写一个函数inputArray,该函数被主函数调用,通过该函数实现向主函数中定义的数组输入数据。 题目分析: 程序设计结构化要求将具有特定功能的程序块编写成函数,这样程序结构清晰,可读性强,易于调试,代码的复用性强。因此把向数组中输入数据这样的程序块单独编写成为一个函数,通过主函数调用实现其功能,这样符合结构化程序设计的要求。 但是这里重要的一点是如何通过被调函数改变主函数中的值。我们知道,函数的调用是在内存的堆栈中实现的。因此,一旦函数调用完毕,该函数内部的所有局部变量都会被释放掉。 4.7 矩阵的转置运算 题目要求: 用键盘从终端输入一个3行4列的矩阵,编写一个函数对该矩阵进行转置操作。 题目分析: 这个问题的解决关键是要解决两个问题:(1)数据在内存中的存储问题,也就是数据结构的问题;(2)如何通过函数来实现矩阵的转置运算。显然,可以用一个二维数组来存储矩阵的数据,通过将二维数组的指针作为函数的参数进行传递,来实现矩阵转置函数的功能。 4.8 矩阵的乘法运算 题目要求: 有两个矩阵A1和A2,分别如下: 编写一个程序,实现这两个矩阵的乘积。 题目分析: 从上面的计算法则中不难看出,要计算两个矩阵的乘积需要三重循环。即: A矩阵的第m行和B矩阵的第n
文档评论(0)