欢迎来到天天文库
浏览记录
ID:61496499
大小:23.66 KB
页数:8页
时间:2021-02-06
《语言概述和算法.docx》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
C语言程序设计计算机学院李书通(2014年春)第一章C语言概述和算法§1.1C语言的简史和现状●1972年基于“面向过程设计程序”推出C语言,支持结构化程序设计●1983年基于“面向对象程序设计”推出C+class(带类的C)后改为C++●目前使用的C/C++系统,VisualC/C++(上机练习)TurboC/C++(课堂练习)§1.2如何学习C语言●语言是交流思想,传达意旨的媒介物。计算机语言是人机交流的媒介物。●上机的三步骤:1.编辑(edit)—编写和修改源程序文件(name.c)2.编译和链接(compile&link)—产生目标文件(name.obj)和可执行文件(name.exe)3.运行(run)—执行可执行文件(name.exe)●学习的目标:学会C语言的基本语法和语义。初学者编程序感到困难,要循序渐进,遵循先模仿后创造。即先读别人的程序,再试着写程序,逐渐提高。要学会编程序,特别是编写难度较大的程序,需要多方面的 知识、需要专业课和专业基础课的支撑。本课程需要数学和英语方面的知识。后续课程如数据结构等用C语言举例,在工作中,社会上用C语言的地方很多。§1.3C的特点(1)贴近硬件;(2)算符丰富,种类多,不容易记住;(3)数据类型不多但考虑周到,如整型分为:基本的、长的、短的带符号的和不带符号的,实型分为单双精度等;(4)语法简单,语句简洁、紧凑和灵活,包容性强,容易掌握但内涵需要深入理解;(5)支持结构化(顺序、选择和循环)和模块化程序设计;(6)提供大量库函数及编译预处理,方便用户复用,从而提高了效率;(7)指针类型使用突出、独到且具有特色,对初学者有一定难度;(8)为了追求效率,语法语义检查力度相对小,所以编程者责任相对大;(9)程序编制和运行环境要求不高,输入/输出不依赖于外设,可移植性好。§1.4C程序举例P1-1.c最简单的C程序/*ThesmallestCprogram.最简单的C程序*/main(){ }也可以写成如下形式:main(){}main(){}由此可以看出,C的书写是灵活的。P1-2.c主函数调用另一函数voiddoit()/*被调函数(相当于子程序)*/{printf(“HELLOWORLD! ”);}main()/*主调函数(相当于主程序)*/{doit();}P1-3a.c计算圆锥体的体积#definePI3.1416/*定义常量*/main()/*计算圆锥体积*/{intr,h;/*定义整型变量*/floatV;/*定义实型变量*/scanf(“%d%d”,&r,&h);/*输入r和h*/V=PI*r*r*h/3;/*计算体积*/ printf(“r=%d,h=%d,V=%f ”,r,h,V);/*输出体积*/}●常用的几个名词:►关键字(保留字):共32个,系统规定的有特定含义的小写英语单词。如:int,void和float►函数名:系统和用户给函数起的名字如:main,scanf和printf是系统命名doit是用户命名►字符集:英文字母,数字和专用符号►语句:以分号“;”结尾;►注释:/*注释内容*/►标识符:用户命名选用的符号如:常量,变量,类型和函数名等◆标识符组成规定:字母或下划线开头的字母、下划线或数字序列。如:正确的:r,h,doit,PI,x1,x_1,_123错误的:1x,x+y,ab,-pq◆标识符长度规定:前8个要加以区别(多于8个不算错,现代C规定远远多于8个)◆命名标识符的原则是:合法,“见名识意”,此外还应注意:(1)大小写字母敏感如:ab,aB,Ab和AB是不同的标识符(2)绝对避开关键字(保留字)如:cat,dog,Int是正确的,而int,float是错误的 (3)尽量避开系统选用的标识符,虽然选用是合法的,但它会屏蔽系统的该项功能,从而造成系统功能下降。如:floatsin;这时会认为sin是普通的变量,不再有系统定义的正弦功能。(4)遇有非英文字母,如π,μ,β,γ可以按谐音写成,PI,miu,bata,gama或jama►程序的书写规定:计算机要求:书写自由,合法就行程序员应该:书写规范,有层次感,做到合法、合情、合理。如:p1-3a.c初学者开始要严格训练应该这样写程序。述评:这样的程序是规范的(合法、合情、合理),不过篇幅占的大了一点。学过一段C语言后,初学者也可以这样写程序。如:P1-3b.c上例,书写还算合理,清晰和节约#definePI3.1416main(){intr,h;floatV;scanf(“%d%d”,&r,&h);V=PI*r*r*h/3;printf(“V=%f ”,V);}述评:这样的程序规范(合法,合情,合理),兼顾了清晰和节约,一般C教材和有关书籍采用这种形式。无论何时千万不要写出这样的程序,如: P1-3c.c上例,虽然书写合法但不合理#definePI3.1416main(){intr,h;floatV;scanf(“%d%d”,&r,&h);V=PI*r*r*h/3;printf(“V=%f ”,V);}述评:这样的程序不规范(不合情、不合理但合法)。►移行的规定:一个词、一个数字或一个双符(如>=)不得移行P1-4.c错误移行main(){floata=123.45,b=1/*单词“float”断开*/0.88;/*数字“10.88”断开*/if(a>=b)printf(“a=%d ”,a);/*双符“>=”断开*/elseprintf(“b=%5.2f ”,b);}注释部分:凡是允许有空格的地方都可以写注释,一般形式:/*注释内容*/§1.5算法算法是编程的灵魂,好的算法可以使编程变的简单,程序的执行效率高,有时程序写不出来,其实是算法找不出来。●解题的步骤问题的提出(物理模型) à数学模型à选择合适的算法和计算方法à编程à上机调试à评定结果§1.6算法与程序的关系程序=数据结构+算法§1.7算法的特性有穷性、确定性、有效性和有0个或多个输入、有一个或多个输出。P1-5a.c:计算第一种算法(劣):执行n次main(){intn,I,sign=1;scanf(“%d”,&n);for(I=1;I<=n;I++){n=n;sign=sign*(-1);I=I;}printf(“sign=%d ”,sign);} p1-5b.c计算第二种算法(优):经选择后只须执行1次main(){intn,sign;scanf(“%d”,&n);if(n%2==1)sign=-1;elsesign=1;printf(“sign=%d ”,sign);}
此文档下载收益归作者所有
举报原因
联系方式
详细说明
内容无法转码请点击此处