- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
【归纳总结】 为了使程序美观、整齐,可读性好,编写C程序时应尽量遵循以下规则: “{”和“}”对齐,且一般单独占一行。 使用TAB键缩进,书写格式呈锯齿形。 一条语句占一行。 有足够的注释。 【例1-3】从键盘输入任意一个数,输出该数的平方根,输出宽度占7位,并保留两位小数。 带小数点的变量也可定义为double(双精度型),其格式说明符为%lf。 #include stdio.h //注明输入输出函数使用的头文件 #include math.h //注明sqrt()函数使用的头文件 void main() //定义主函数 { double a,b; //定义变量 scanf(%lf,a); //调用库函数从键盘输入数据 b=sqrt(a); //计算平方根 printf(平方根为:%7.2lf\n,b); //在屏幕上显示结果 } 7.2为附加格式说明符,表示输出宽度占7位,并保留两位小数。 float单精度型变量和double双精度型变量都可以存储实数,两者有何区别? 双精度型变量精度更高、能存储的数值范围更大。 双精度型变量占8个字节存储空间,有效数字达到15位;而单精度型变量占4个字节存储空间,有效数字只有6位。 一般情况下,采用单精度型变量就可以了。 【例1-4】从键盘输入三角形的三条边长a、b、c,求三角形的面积s,输出宽度占7位,并保留两位小数。计算三角形面积的公式为,其中,p=(a+b+c)/2。 #include stdio.h //注明输入输出函数使用的头文件 #include math.h //注明sqrt()函数使用的头文件 void main() //定义主函数 { double a,b,c,p,s; //定义变量 printf(请输入三条边长:); //显示输入提示信息 scanf(%lf%lf%lf,a,b,c); //调用库函数 p=(a+b+c)/2; s=sqrt(p*(p-a)*(p-b)*(p-c)); //计算面积 printf(结果为:%7.2lf\n,s); //在屏幕上显示结果 } 1.3.3 C语言程序的调试方法 程序错误总体上有两类:语法错误和逻辑错误。 对于语法错误,编译时会产生错误提示信息,可以根据错误提示信息加以修改。 如果程序编译、连接都没有错误,但运行结果与预期结果不一致,则需要通过调试来找出程序中存在的逻辑错误,并加以排除。 调试可以借助“调试工具条(Debug)”来进行,“调试工具条”中的主要命令如图1-15所示。 C语言的调试手段主要有:单步执行、运行到光标处和设置断点,这三种调试手段在实践中常常结合使用。 1. 单步执行(Step Over)单击“单步执行(Step Over)”按钮一次,程序执行一步 查看程序中变量的值: 把光标移动到某个变量上,停留一会就可以看到该变量的值。 在窗口的左下方,会自动显示变量的值。 在窗口右下方的观察窗口中输入变量名,会显示该变量的值。 2. 运行到光标处(Run to Cursor) 先在源程序中定位好光标的位置,再单击工具栏上的“运行到光标处(Run to Cursor)” 3. 设置断点(Insert Breakpoint) 程序运行到断点处会自动暂停 1.5 算法及其描述 1.5.1 算法的概念 所谓算法,就是为解决某个特定问题而采取的方法和步骤,算法是程序的灵魂。 一个有效的算法应该具备以下五个基本特性。 1. 有穷性 一个算法所包含的操作步骤应该是有限的。 2. 确定性 确定性是指算法的每个操作步骤都应当具有明确的含义。 3. 有效性 有效性是指算法的每个操作步骤都是能够实现和执行的。 4. 有零个或多个输入 有些算法不需要从外界输入数据。例如,求10!。但有些算法则必须从外界输入数据。例如,求n!。 5. 有一个或多个输出 没有任何输出的算法是毫无意义的。 1.5.2 算法的描述 传统流程图 结构化程序设计有三种基本控制结构:顺序结构、选择结构和循环结构。这三种基本控制结构用传统流程图表示如图1-19所示。 【例1-5】从键盘输入一个自然数n,求n!。 2 N-S图 N-S图的每一种基本结构都是一个矩形框,整个算法就像堆积木一样形成。程序的三种基本控制结构用N-S图表示如图1-21所示。 【例1-6】从键盘输入一个自然数n,求n!。 3 伪代码 伪代码是一种介于自然语言与计算机语言之间的描述工具,它无严格的语法规则,书写格式自由,容易表达出程序员的思想,但伪代码不如流程图直观。 【例1-7】从键盘输入一个自然数n,求
文档评论(0)