




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、c语言编程复印er : vigi king,第一章计算机语言和c语言的概要,1.1计算机语言概念计算机语言定义计算机可以识别和接受的语言。 要使计算机按自己的意图工作,必须用计算机能接受、理解和执行的指令来指挥计算机的工作。 计算机语言的种类机器语言的低级语言汇编语言(面向计算机) BASIC入门语言F77科学计算高级语言Foxpro数据库管理(面向问题) c多用途,计算机语言,机器语言首先出现,用二进制代码构成指令。 例如,100000 () 110000 (-)用机器语言编程的缺点:麻烦、不直观、难以调试。 计算y=2x2 3x-1需要七八命令。 移植性差。 依赖于计算机。 汇编语言由符号
2、构成指令,如MOV、ADD用汇编语言编程:虽然比较直观,但还很麻烦,还是面向计算机的语言。 汇编语言是计算机间接接收的语言,高级语言与低级语言相比有着根本的差异:是面向问题的语言。 高级语言命令(语句):y=2*x*x 3*x-1; 支持y=2x2 3x-1 y=sin(x ) :用于y=sinx的高级语言编程:直观、易懂、可移植性好(不依赖于具体计算机),执行高级语言程序需要编译:编译运行在线完成计算问题,主也就是说,至少要学一种计算机语言。 将高级语言源程序、机器指令目的程序、结果、编译器程序、1.2 C语言的特征集中到高级语言和低级语言的优点:可以实现低级语言的大部分功能(如直接访问存储
3、器物理地址、进行位操作等)。 图形功能很强。 运算符和数据结构丰富。 语法的限制不太严格,编程的自由度很大。 生成的目标代码质量高,程序执行效率高。 1.3简单的c程序介绍示例1: main ()主函数说明程序帧printf(“abcdef”); 函数主体语句程序的功能是求出输出字符串: abcdef,例2 :两个数的和。 主() int a、b、c; a a=100; b=50; b c=a b; c printf(“n c=%d”,c )程序的执行结果: c=150,例3 :求出两个中的最大值。 函数类型函数名称参数main() int max (int x,int y) int a,b,
4、c; PS z; 对于scanf(“%d,%d,%d,%bxbyCZ(2 (由两个函数构成),3,5,5,5,5 ),将上述例子总结,可以看出(1) C程序是由函数构成的。 (2)函数说明部:由函数名称、函数类型、波形参数名称、波形参数类型两部分构成。 函数体:由实现函数具体操作的句子组成。 (3)程序总是从main函数中执行。 格式是自由的。 (5)句子需要分号。第二章算法2.1算法的概念必须利用计算机处理问题,光学练习语言的语法规则还不充分,最重要的是为各类型的问题制定有效的解题方法和程序。 解题方法和步骤是算法。 算法:为解决问题所采取的有限步骤。 计算机算法:使计算机一步一步地工作的具
5、体过程。 利用计算机处理问题的步骤:1)设计算法设计2 )用计算机语言实现算法编程。 算法必须是“有效”。 算法设计必须充分考虑算法的好坏。的. 衡量算法好坏的主要标准:程序的简洁。 执行速度快。 占有空间很少。 /考虑的算法。 算法:直接表示。直接语句s=123、45、67、89、10,在项目数多的情况下,不适用该算法,s=i,1, 10、算法:迭代法(累加法) s=1234567810算法步骤: s i使s=0旋转i=1累加器寄存器isi1i1i1i1i1i0,否则输出s,0,1, 旋转1,2,3,3,6,4,10,5,该算法是共同的,是一种好算法,2.2算法的表现算法需要统一的表现方法,
6、一般的表现方法是自然语言流程图流程图N-S流程图1, 自然语言相对于计算s=1234567810用自然语言表现:如果将s=0 (s是累加器)旋转到i=1 (i是计数器) is (累计加法运算式) i1i 0,则转换输出s的值的特征:容易理解、字符长、有意义2、流程图用流程图符号表示算法。 常用的流程图符号开始框输入输出框处理框流程图线判定框,计算s=1 2 3 4 5 6 7 8 9 10在流程图中,s i s,i 1 i,s i s,s i s,i1o,输出s,0 s,1 i, 直观的影像容易理解,步骤清楚,y,n,3,结构化流程图的传统流程图有缺点:流程线没有严格的限制,复杂的算法可能变得
7、混乱(BS型算法)。 为了克服该弊端,提出了结构化流程图、顺序结构按一定顺序(从上到下或从左到右)执行的结构这三个基本结构构成的算法流程图的思想。a,b,a,b,选择结构根据条件p选择执行哪个分支。 成立不成立,p,a,b,a,b,成立,不成立,例:计算y=1/x时,把y=10000设为x=0时的算法流程图:选择结构,输入x,x=0,10000y,1/xy,输出y,y,y 分为本型循环和至型循环两种。 到了型周期,P1,a,a,a,a,b,y,n,n, 已知每个基本结构只有一个入口和出口,所以由三个基本结构构成的流程图是结构化流程图,由三个基本结构构成的流程图被称为结构化算法,对应的应用程序见
8、前例:0 s,1 i,S i s,i 1 i,i10,输出s,序列结构,循环结构,y,n,4 N-S流程图N-S流程图的三个基本结构:a,b,p,成立,不成立,a,b,a,b,P1 顺序结构,选择结构,循环结构,例如,在计算y=1/x时,在y=10000时,在x=0时,计算N-S流yes,no,10000y 1/xy,输出y,例如,计算s=1,2,3,4,5,6,8,10的N-S流0 s,s i s,i 1 i,s i s,i 1 i,输出s第三章数据类型,运算符和式3.1 C的数据类型基本型(整数型、实数型、字符型、枚举型)结构型(略)指针型(略)空型的各类型包含常数和变量,3.2常数和变量
9、常数和符号常数在程序的执行中符号常数是用来表示常数的标识符。 #define PI 3.1415926,例如#define PI 3.1415926主() float=2,c; c=2*PI*r; printf(“%f”,c; 的双曲正切值。 变量的三要素:变量名称中每个变量都有名称,成为识别该变量的标识符。 变量的值每变量有一个值,变量的值随时都可以变更。 变量的存储单元各变量占用存储变量值的存储单元。 变量名a变量值存储手段,3,变量的命名规则:字母,由数字和下划线构成的字母或以下划线开头的a,x1,y_2,_b1,_1c合法1x,a 2,非法变量必须事先定义后再使用。什么时候在程序中使用
10、常数? 变量什么时候使用? 3.3整数数据的整数常数即整数常数,c的整数常数有十进制整数和数学整数一致的三种形式。 例如: 100、123、15等。 八进制整数以0开头的整数。/010,07,020等。 十六进制整数以0 x开头的整数。 例如,0x 10,0x ff,0 x2a等。 整数变量用于存储整数的变量。 分类4种:基本型: int a 16位,可表现的数值范围:-3276832767 shortint:shortint b 16位,可表现的数值范围:-3276832767longint:longintc32位,数值范围:-214748364821 例如: unsigned int x变
11、量x表示无符号整数,16位都表示数字,如果在数值范围: 065535程序设计中使用整数变量,则必须在定义变量之前选择上述类型,例如: main ()定义int a,b,a=100 b=50; 使用c=a b的printf(“%d”,c; 一般是根据什么原则选择变量的类型? 3.4实数型数据实数型常数以小数形式:例如1.23,3.1415926.48指数形式:例如1e-20 1.23e5,存储实数的实数型变量的单精度和倍精度两种: float a,b定义a和b为单精度型变量32位,7位有效数字1 y定义x和y是双精度变量64位、15位有效数字、10-30810308,例如main() float
12、 r,c; 双胞胎r、c; r=5; c=2*3.1415926*r; printf(“%f”,c; 3.5字符类型数据字符常数用单引号括起来的字符。 除a、x、*.1等之外,开头的文字,例如n、t等称为转义字符,请参考祥见书表3.3。 字符类型变量用于存储字符的变量。 char c1、c2定义c1和c2是字符类型变量c1=a即c2=b; 字符代入字符类型变量存储1个字符,占用1个字节,字符类型数据的存储形式不是ASCII代码,而是像字符a那样在存储器中存储97,b存储98。 与整数存储格式匹配的单个通用字符数据可以作为字符或整数(使用ASCII代码)。 例如,32 a是相当于32 97若in
13、t x的char c; x=a; c=97; x=97; c=a; 是的,a、97,允许字符串常数用双引号括起来。 “abcde”、“China”、“a”也是字符串。 请注意“a”和“a”的区别。 的情况: char c; c=”a”; 使用方法错误,字符串中的各字符分别占1字节,如果在字符串的末尾加上“China”这样的结束标签,则在存储器中占6字节。 cdsna0c语言特有的字符串变量可以以字符数组存储(稍后描述)。,3.6变量的初始值,在定义变量的同时,对对应的变量赋予初始值。 例如int a=3; a浮点b=5. 2; char c=a; int x=y=z=6; 效果:在对变量分配存
14、储单元的同时,在对应的单元中存储初始值。 三, 3.7能够在各数值型数据间混合运算整数、实数、文字型数据间进行混合运算,例如,在10-a*1.5运算的情况下,如果参加运算的两个数据的类型不同,则首先将该类型转换为一致后进行运算,转换规则是, 将低优先级类型转换为高优先级类型的数据类型的优先级:高双floatlongunsignde低int char,3.8算术运算符和算术表达式的基本算术运算符- */%算术运算符用于表示数学表达式的表达式,其中使用通过算术运算符连接了运算对象的表达式例如,2*x y-1/a表达式计算表达式的值、运算符的优先级和连接性优先级:如果存在多个运算符,则按运算符的优先级从高到低的顺序执行运算优先级。 运算符的优先级关系为:高: */%低: -例如,在a-2*x开头的* 2*(a 2 )上加括号时? 耦合性:如果运算对象两侧的算子的优先级相同,则按规定的“耦合方向”进行处理。例如,a-b c b和-的结合从左到右,称为“左结合性”。 b和结合从右向左,被称为“右结合性”。 每个运算符都有适当的优先级和耦合性。 所有基本算术运算符都是左耦合。 计算公式示例:2 A-1/2.0 1 3/2-1结构公式示例2x2 3x-1、ab-a-b、ab-b-x-y、a b/a-b? 使用强制类型转换运
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年初级会计职称考试题库及答案
- 2025年国考考试真题答案
- 小学生昆虫课件
- 图表设计案例解析与应用
- 售楼处前台接待礼仪培训
- 盐水试验诊断原发性醛固酮增多症
- 2025年贵州出租车资格证模拟考试
- 2025年辽宁出租车从业考试题库app
- 小学生数学有声音的课件
- 恶心呕吐诊断
- GB/T 18186-2025酱油质量通则
- 2025年老年人能力评估师(三级)考试模拟试题(含答案)
- 八大浪费培训资料
- 月子中心各部管理制度
- 2025-2030年中国多西他赛注射液行业市场深度分析及发展趋势与投资研究报告
- 少儿推拿考试试题及答案
- 农发行考试题及答案
- 船舶租赁知识培训班课件
- 护理员交接班
- 电机维修协议合同
- 艾梅乙防治知识培训课件
评论
0/150
提交评论