第十一章 可编程控制器及其应用(new)_第1页
第十一章 可编程控制器及其应用(new)_第2页
第十一章 可编程控制器及其应用(new)_第3页
第十一章 可编程控制器及其应用(new)_第4页
第十一章 可编程控制器及其应用(new)_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .1 1 1 C C C语言程序设计语言程序设计语言程序设计 C语言程序设计语言程序设计 Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .2 2 2 C C C语言程序设计语言程序设计语言程序设计 课程安排课程安排 v总总4040学时学时: : 讲授讲授2626,上机,上机1414 v成绩组成:成绩组成: 平时成绩(平时成绩(10%):含上机、出勤、课堂、大作业):含上机、出勤、课堂、大作业 期中检测(期中检测(20%):(两

2、次编程):(两次编程10*2) 期末考试(期末考试(70%): 附加分(附加分(5分)分) :结合专业应用实例:结合专业应用实例 v上课安排:上课安排: 周四下午周四下午 5、6 节(节(1-13周)周)北北阶阶4 v上机安排上机安排: : 周四周四7、8节节 北二机房(北二机房(3-11周)材料周)材料0901-0903 周四周四9、10节节 北一机房(北一机房(3-11周)材料周)材料0904、生材、生材0901、0902 (9、10节下午节下午5:30开始)开始) Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .3 3 3 C

3、 C C语言程序设计语言程序设计语言程序设计 参考书籍参考书籍 C程序设计教程与实训程序设计教程与实训 (第二版)(第二版) (自编教材)(自编教材) 清华大学出版社清华大学出版社 机械工业出版社机械工业出版社 顾治华顾治华 C语言程序设计语言程序设计 清华大学出版社清华大学出版社 谭浩强谭浩强 C+C+程序设计程序设计 Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .4 4 4 C C C语言程序设计语言程序设计语言程序设计 第一章第一章 概述概述 Lifang Lifang Lifang 2010201020101 1 1(概述

4、)(概述)(概述). . .5 5 5 C C C语言程序设计语言程序设计语言程序设计 一一.C语言程序例语言程序例 P1 Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .6 6 6 C C C语言程序设计语言程序设计语言程序设计 Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .7 7 7 C C C语言程序设计语言程序设计语言程序设计 C程序的组成程序的组成 Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .8

5、 8 8 C C C语言程序设计语言程序设计语言程序设计 C语言的词法符号语言的词法符号 C C语言的字符集语言的字符集: :英文字母、数字、运算符及一些特殊符号英文字母、数字、运算符及一些特殊符号 C C语言的词法符号:语言的词法符号:关键字、标识符、运算符、分隔符、常量和注释符关键字、标识符、运算符、分隔符、常量和注释符 1 1)关键字:)关键字:在程序中表示固定的意义,不能被重新定义用作它用。在程序中表示固定的意义,不能被重新定义用作它用。C C中关键字中关键字 有有3232个。个。 2 2)标识符)标识符: :由程序员定义的一些名字,通常是一些字符序列。由程序员定义的一些名字,通常是一

6、些字符序列。 命名规则:命名规则: Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .9 9 9 C C C语言程序设计语言程序设计语言程序设计 二、二、C语言程序的开发过程语言程序的开发过程(其它语言类似)(其它语言类似) #include main() float r, l; printf( “r=“ ); scanf( “%f”, l = 2*3.14159*r; printf( “L=%fn”,l ); return 0; 源程序源程序 文件名文件名.c 目标程序目标程序文件名 文件名.obj 开始开始 编辑编辑 编译编译 有

7、错有错 链接链接 结果正确结果正确 结束结束 正确正确 不正确不正确 有有 无无 执行执行 可执行可执行 程序程序 文件名文件名.exe 库函数和库函数和 其他目标其他目标 程序程序 编译器编译器 链接器链接器 修改调试修改调试 Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .101010 C C C语言程序设计语言程序设计语言程序设计 集成开发环境集成开发环境 v Turboc2.0(附录(附录D), Turbo C 3.0 v Borland C+ 3.1 v Visual C+ 6.0 / Dev C+ 5.0 是集源程序编辑

8、、编译、链接、运行与调试于一体、是集源程序编辑、编译、链接、运行与调试于一体、 用菜单用菜单 驱动的集成软件开发环境。驱动的集成软件开发环境。 Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .111111 C C C语言程序设计语言程序设计语言程序设计 第二章第二章 用用C C语言编写简单程序语言编写简单程序 主要内容:主要内容: 数据类型、运算数据类型、运算 格式化输入输出格式化输入输出 顺序结构程序设计顺序结构程序设计 Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .

9、121212 C C C语言程序设计语言程序设计语言程序设计 一个简单应用问题的计算机程序实现一个简单应用问题的计算机程序实现 编写程序完成如下功能:编写程序完成如下功能: 输入一个华氏温度,要求输出摄氏温度。输入一个华氏温度,要求输出摄氏温度。(公式为:公式为:c=5/9(F-32) #include main() float f,c ; scanf(“F=%f”, c=5/9.0*(f-32); 数据的表示数据的表示:变量的定义变量的定义 将需要的数据输入到计算机中将需要的数据输入到计算机中 数据处理数据处理:运算运算 将产生的结果输出将产生的结果输出 printf(“c=%f”,c);

10、1 1 2 2 3 3 Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .131313 C C C语言程序设计语言程序设计语言程序设计 程序的构成程序的构成 数据运算符 语句 函数 程序 文件 Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .141414 C C C语言程序设计语言程序设计语言程序设计 数据数据 字符型(字符串)字符型(字符串) 整型整型 实型(浮点型)实型(浮点型) 空类型空类型 数组类型数组类型 结构体类型结构体类型 联合体类型联合体类型 枚举型枚举型

11、指针类型指针类型 基本类型基本类型 构造类型构造类型 1、数据类型、数据类型 2、数据存在的两种形式、数据存在的两种形式 常量形式常量形式 变量形式变量形式 3、数据间的运算、数据间的运算 Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .151515 C C C语言程序设计语言程序设计语言程序设计 2.1 2.1 常量及其在程序书写中的表示方法常量及其在程序书写中的表示方法 常量:程序运行过程中,其值不能改变的量。常量:程序运行过程中,其值不能改变的量。 A.A.整整型常量(整数):型常量(整数): 十进制数十进制数; 八进制数八进

12、制数(以以0开头开头); 十六进制数(十六进制数(以以0 x开头开头) 1,-2,3 三种表示方法:三种表示方法: B.B.实型常量(实数):实型常量(实数):1.5, -3.2 两种表示形式:两种表示形式: 1)十进制小数形式;)十进制小数形式;2)指数形式)指数形式:如:如:234e2= 2.34e4=2.34 104 注意:注意: e之前必须有数字,之前必须有数字,e后的数据必须为整数;后的数据必须为整数; C.C.字符常量(字符)字符常量(字符): : 两种形式:两种形式: 一般字符常量一般字符常量:用:用单引号单引号括起来表示括起来表示: a , 1 转义字符转义字符:以:以“”+A

13、SCII码的码的8进制或进制或16进制形式来表示进制形式来表示 例如:例如: a 也可用也可用 141 、 x61表示表示 n ASCII表见附录表见附录A Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .161616 C C C语言程序设计语言程序设计语言程序设计 D.D.字符串常量字符串常量 字符串常量是一对字符串常量是一对双引号双引号括起来的字符序列。括起来的字符序列。 如:如:“China”, “Hi”. 也可以在字符串常量中使用转义字符也可以在字符串常量中使用转义字符 如:如:“Chin141” Lifang Lifang

14、 Lifang 2010201020101 1 1(概述)(概述)(概述). . .171717 C C C语言程序设计语言程序设计语言程序设计 字面常量(直接常量)字面常量(直接常量)(前面的(前面的A.B.C.D) 符号常量符号常量 符号常量:用一个标识符代表一个常量。符号常量:用一个标识符代表一个常量。 #define PI 3.1415926 main() printf(“%f”,PI); 书写习惯:书写习惯:符号常量名通常定义为大写字符。符号常量名通常定义为大写字符。 Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .181

15、818 C C C语言程序设计语言程序设计语言程序设计 2.2 变量:变量: 指程序运行中其值改变的量。指程序运行中其值改变的量。 在在c语言中变量必须语言中变量必须“先定义,后使用先定义,后使用”。 1.如何定义各种类型的变量:如何定义各种类型的变量: 格式:格式: 数据类型数据类型 标识符;标识符; 如:如: int i; float j; char c, d; 书写习惯:书写习惯:变量名通常定义为小写字符。变量名通常定义为小写字符。 Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .191919 C C C语言程序设计语言程序设

16、计语言程序设计 2、变量的三个属性、变量的三个属性: 例例: int a=10; 01244468H 01244472H 01244476H a 0.00000001010 :值值的的a 01244468H 变量名变量名: a; 变量的值变量的值: a=10; 变量在内存中的地址变量在内存中的地址: 01244468H 1) 2) 3) 01244468H 部分内存空间部分内存空间 Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .202020 C C C语言程序设计语言程序设计语言程序设计 3、变量在内存中占据一定的存储单元(容器)

17、;、变量在内存中占据一定的存储单元(容器); 不同类型的变量所占的存储单元大小不同不同类型的变量所占的存储单元大小不同 int 占占4个字节,个字节,float 占占4个字节,个字节,char占占1个字节个字节 决定了不同的数据类型可以描述不同范围内的数据。决定了不同的数据类型可以描述不同范围内的数据。 整型有有符号和无符号之分(整型有有符号和无符号之分(signed int / unsigned int) 溢出溢出的问题!的问题! Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .212121 C C C语言程序设计语言程序设计语言

18、程序设计 溢出问题溢出问题 1111111111111111 unsigned short int a=65535 a=a+1; a=? 10000000000000000 1+ 00000000000000001 a=0! X X Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .222222 C C C语言程序设计语言程序设计语言程序设计 4、对变量数据的两种操作、对变量数据的两种操作 读取读取:对变量读取操作,就是到对:对变量读取操作,就是到对 应的存储单元中读取数据。应的存储单元中读取数据。取之不取之不 尽!尽! 改写改写:就

19、是给变量赋与新的值:就是给变量赋与新的值, ,原值原值 被覆盖被覆盖 01244468H 01244472H 01244476H a 0.00000001010 :值值的的a 部分内存空间部分内存空间 Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .232323 C C C语言程序设计语言程序设计语言程序设计 5、字符数据在内存中的存储、字符数据在内存中的存储 字符常量赋给一个变量时,内存中字符常量赋给一个变量时,内存中并不存放字符本并不存放字符本 身身,而是存放该字符对应的,而是存放该字符对应的ASCII码码(附录附录A)。 1.

20、为字符型数据与整型数据之间的为字符型数据与整型数据之间的转换转换带来了方便。带来了方便。 2.便于字符数据进行算术运算:便于字符数据进行算术运算:C语言允许字符数据语言允许字符数据 与整数直接进行算术运算、相互赋值与整数直接进行算术运算、相互赋值,且运算过程中使且运算过程中使 用用ASCII码值。码值。(例如例如:大小写转换大小写转换) 3.但需注意但需注意,字符数据占一个字节,字符数据占一个字节,int型占型占4个字节个字节 Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .242424 C C C语言程序设计语言程序设计语言程序设

21、计 6、字符串在内存中的存储、字符串在内存中的存储: 0 1 0 0 1 0 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 Hi0072,105,000 字符串在内存中存储时,系统会自动添加一个字符串在内存中存储时,系统会自动添加一个0 字符作为该串的字符作为该串的结束标志结束标志。如:。如:”Hi”的存储。的存储。 Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .252525 C C C语言程序设计语言程序设计语言程序设计 变量、常量、数据类型的应用举例:变量、常量、数据类型的应用举例: 例:例:#inc

22、ludestdio.h#include main( ) main( ) int int a=55; a=55; / /* *C C语言允许在定义变量的同时语言允许在定义变量的同时 对变量赋值。即变量的初始化对变量赋值。即变量的初始化* */ / int int b b,c; c; b=45; b=45; / /* *先定义,后赋值先定义,后赋值* */ / c=a+b; c=a+b;/ /* *算术表达式算术表达式* */ / printf(“a printf(“a=%d b=%d c=%d”,a,b,c);=%d b=%d c=%d”,a,b,c); / /* *输出函数输出函数* */ /

23、 结果:结果:a=55 b=45 c=100a=55 b=45 c=100 Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .262626 C C C语言程序设计语言程序设计语言程序设计 2.3 2.3 运运 算算 1. 1. 运算符运算符 种种 类类 算术运算符、关系运算符、逻辑运算符、条件算术运算符、关系运算符、逻辑运算符、条件 运算符等。运算符等。 优先级优先级 混合运算时,各种运算的优先次序。混合运算时,各种运算的优先次序。 结合性结合性 混合运算时,优先级相同的情况下,各种运算混合运算时,优先级相同的情况下,各种运算 是从运

24、算符左边还是右边开始进行。左结合性、右结是从运算符左边还是右边开始进行。左结合性、右结 合性。合性。 Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .272727 C C C语言程序设计语言程序设计语言程序设计 2 2、各种运算符和表达式、各种运算符和表达式 1 1)算术运算)算术运算 名名 称称 运算符运算符 运算规则运算规则 负负 - - 取负值取负值 加加 + + 加法加法 + + 减减 - - 减法减法 - - 乘乘 * * 乘法乘法 * * (乘号不可以省略)(乘号不可以省略) 除除 / / 除法除法 / / (a.a.两

25、个整数相除的结果取整数;两个整数相除的结果取整数; b.b.一整数、一浮点数相除的结果为符点数一整数、一浮点数相除的结果为符点数; ; c. c.当有一个数为负数时,向零取整。当有一个数为负数时,向零取整。) 模模 % % 整除取余整除取余 (两侧均为整数;两侧均为整数; 分子分子 分母分母 ,结果,结果= =余数。余数。 分子分子 分母分母 ,结果,结果= =分子。分子。 ) a. 基本算术运算符:基本算术运算符: Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .282828 C C C语言程序设计语言程序设计语言程序设计 a.

26、简单赋值运算:简单赋值运算: 名名 称称 运算符运算符 赋赋 值值 = 格式格式:变量:变量= =表达式表达式 先计算等号右边的表达式,然后将其值赋给等号左边的变量。先计算等号右边的表达式,然后将其值赋给等号左边的变量。 注意:注意:C C语言语言“赋值运算符赋值运算符”与数学与数学“等号等号”其含义有本质不其含义有本质不 同。同。 例例:x = 10 ; y = x*x+x ; x=x+1 2) 赋值运算:优先级比较低,右结合赋值运算:优先级比较低,右结合 Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .292929 C C C语

27、言程序设计语言程序设计语言程序设计 b.复合的赋值运算符复合的赋值运算符 名名 称称 运算符运算符 例例 加赋值加赋值 += a + =b a=a + b 减赋值减赋值 - = a -=b a=a - b 乘赋值乘赋值 *= a*=b a=a*b 除赋值除赋值 / = a / =b a=a / b 模赋值模赋值 % = a %=b a=a %b 减化程序,提高编译效率。减化程序,提高编译效率。 Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .303030 C C C语言程序设计语言程序设计语言程序设计 c. 赋值表达式赋值表达式 格

28、式:变量格式:变量 赋值运算符赋值运算符 表达式表达式 例例1 1: int x,y; x=5; y=10; y/=5; x=10*(y=5); 例例2 2:char c1; c1=a; 赋值表达式赋值表达式 注意:注意:赋值表达式的值就是赋值表达式的值就是 被赋值的变量的值。被赋值的变量的值。 结果:结果:a=-2;i=3; 例例3: int a,i=2; a=-i+; Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .313131 C C C语言程序设计语言程序设计语言程序设计 b. 自增、自减运算符自增、自减运算符 名名 称称

29、运算符运算符 说说 明明 例例 增增 1 + 1 + 变量值加变量值加1 i+ (+i)1 i+ (+i) 减减 1 - 1 - 变量值减变量值减1 i- (-i)1 i- (-i) 当当+,-用于复合运算时,使用前缀和后缀意义将不同!用于复合运算时,使用前缀和后缀意义将不同! 前缀:表示先加(减)前缀:表示先加(减)1 1,再使用;,再使用; 后缀:表示先使用,再加(减)后缀:表示先使用,再加(减)1;1; 例:例:intint j j,i=3; i=3; 例:例:intint j j,i=3;i=3; j=+i; j=i+; j=+i; j=i+; 结果变量结果变量j j的值为的值为3 3

30、, 结果结果j j的值为的值为4 4。 变量变量i i将将3 3赋给赋给j j后自加后自加1 1变为变为4 4。 注意:注意: a.a.增自减运算仅限用于变量、不能用于常量或表达式。增自减运算仅限用于变量、不能用于常量或表达式。 b.+,-,-(b.+,-,-(负号运算负号运算) )的结合方向为:自右至左的结合方向为:自右至左 1 1)算术运算)算术运算 Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .323232 C C C语言程序设计语言程序设计语言程序设计 3) 各类数值型数据间的混合算术运算各类数值型数据间的混合算术运算 v

31、整型和实型数据可以混合运算整型和实型数据可以混合运算 v不同类型的数据要先转换成同一类型,然后进行运算不同类型的数据要先转换成同一类型,然后进行运算 double float long unsigned int char, short a.a.非赋值运算非赋值运算转换规则转换规则: 由低级(字节长度短)向高级(字节长度长)转换由低级(字节长度短)向高级(字节长度长)转换 1)隐式(自动)类型转换)隐式(自动)类型转换隐式(自动)类型转换隐式(自动)类型转换 显示(强制)类型转换显示(强制)类型转换 Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概

32、述). . .333333 C C C语言程序设计语言程序设计语言程序设计 b.b.赋值表达式中赋值表达式中的类型转换(隐示转换)的类型转换(隐示转换) 赋值运算符两侧类型不一致,但都是数值型赋值运算符两侧类型不一致,但都是数值型 或字符型时,在赋值时系统自动进行类型转换,即:或字符型时,在赋值时系统自动进行类型转换,即: 将赋值号右边的类型转换为左边的类型。将赋值号右边的类型转换为左边的类型。 Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .343434 C C C语言程序设计语言程序设计语言程序设计 B B 赋值赋值 两个大小不

33、同的容器两个大小不同的容器: A, B, A的容量大于的容量大于B A B A B A A B 丢失丢失 若若A容器空容器空,B容器装满液体容器装满液体, 若若B容器空容器空,A容器装满液体容器装满液体, 在程序设计中在程序设计中,不同数据类型间的赋值也是类似的道理不同数据类型间的赋值也是类似的道理: 当将占内存空间少的数据类型的数据赋给占内存空间多的类当将占内存空间少的数据类型的数据赋给占内存空间多的类 型的数据时型的数据时,可以将值正确传递可以将值正确传递.反之反之,则会造成数据的丢失则会造成数据的丢失. 将将B容器中的液体倒入容器中的液体倒入A中中 将将A容器中的液体倒入容器中的液体倒入

34、B中中 Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .353535 C C C语言程序设计语言程序设计语言程序设计 转换过程转换过程( (自学自学) ): 实数实数整数整数:舍弃小数部分,在内存中以整数存储:舍弃小数部分,在内存中以整数存储 int i; i=2.36; 结果:结果:i=2; 整数整数实数实数:数值不变,以浮点数存储,补足有效位数字:数值不变,以浮点数存储,补足有效位数字 float i; i=3; 结果:结果: i=3.000000; 实数实数实数实数: floatdouble 数值不变,数值不变, 补足补足16

35、位有效数字位有效数字 double i; float j=23; i=j; 结果:结果:i=23.00000000000000; doublefloat 截取前截取前7位有效数字位有效数字 float f; double d=123.456789e100; f=d; Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .363636 C C C语言程序设计语言程序设计语言程序设计 整数整数整数整数 按存储单元中的存储形式直接传送。按存储单元中的存储形式直接传送。 短的赋值给长的:符号扩展短的赋值给长的:符号扩展 如:如:charint 有

36、符号:符号扩展有符号:符号扩展 无符号:正数,高位补零,仍是符号扩展无符号:正数,高位补零,仍是符号扩展 赋值双方字节相同:直接赋值。赋值双方字节相同:直接赋值。 如:由如:由unsigned int int: 长的赋值给短的:低位截断(如:整型长的赋值给短的:低位截断(如:整型字符型)字符型) 如:由如:由intchar: Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .373737 C C C语言程序设计语言程序设计语言程序设计 2)显示(强制)类型转换:单目运算,优先级比较高)显示(强制)类型转换:单目运算,优先级比较高 格式

37、格式:(类型名类型名)表达式表达式; ; 功能功能:将表达式的将表达式的使用类型使用类型转换成类型名所标明的数据类型。转换成类型名所标明的数据类型。 例例1 1:float x=3.6; int a; a=(int)xfloat x=3.6; int a; a=(int)x; ; 例例2 2:#define PI 3.14159#define PI 3.14159 int int a; a; a=(int)PI a=(int)PI; ; 结果:结果:a a等于等于3 3。 PIPI类型不变。类型不变。 注意注意:在进行强制类型转换时,得到一个所需类型的中间变量,:在进行强制类型转换时,得到一个

38、所需类型的中间变量, 原来变量的类型不发生变化。上例中原来变量的类型不发生变化。上例中 x类型不变类型不变 Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .383838 C C C语言程序设计语言程序设计语言程序设计 4) 4) 逗号运算符和逗号表达式:逗号运算符和逗号表达式: 格式格式: 表达式表达式 1 1 ,表达式表达式 2 2 , 表达式表达式 n n 逗号表达式求解过程逗号表达式求解过程: : 先求表达式先求表达式1 1,再求表达式,再求表达式2 2,再求,再求, ,直到求表达式直到求表达式n n , 整个表达式的值是最后

39、一个表达式的值。整个表达式的值是最后一个表达式的值。 注意注意:不是任何地方出现的逗号都作为逗号运算符。如函:不是任何地方出现的逗号都作为逗号运算符。如函 数的参数列表只是参数的分隔符。数的参数列表只是参数的分隔符。printf(“”, , ); 优先级最低优先级最低 例例1: 3+5, 6+8; 例例2: a=3*5,a*4; 例例3: x = (a = 3,6*3); 表达式值表达式值:14 表达式值表达式值:60,a=15 表达式值:表达式值:18, x=18 Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .393939 C

40、C C语言程序设计语言程序设计语言程序设计 5)长度测试运算符)长度测试运算符 sizeof ( 类型标识符类型标识符) 用来计算某种类型的变量占用计算机内存空间的长度用来计算某种类型的变量占用计算机内存空间的长度 int a; float b; a=sizeof(float); a=sizeof(b); Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .404040 C C C语言程序设计语言程序设计语言程序设计 2.42.4 数据的输入输出数据的输入输出 1 1、字符输入输出函数、字符输入输出函数(putchar(),getcha

41、r(putchar(),getchar()() 2 2、格式化输入输出函数、格式化输入输出函数(printf(),scanf(printf(),scanf()() #include (附录(附录C) 预处理:预处理: 包含文件包含文件 Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .414141 C C C语言程序设计语言程序设计语言程序设计 1.1.字符数据的输入输出字符数据的输入输出 格式格式: : putchar(cputchar(c);); 参数参数c c是一个字符型或整型变量是一个字符型或整型变量( (常量常量) )。 功

42、能:向标准输出设备即显示终端输出一个字符。将变量功能:向标准输出设备即显示终端输出一个字符。将变量c c 所赋的字符或字符所赋的字符或字符ASCIIASCII值,输出到显示器上显示。显示的是值,输出到显示器上显示。显示的是 字符。字符。 A A (1 1)字符输出函数)字符输出函数 例:例: intint c c; char cchar c; c=97c=97; c=ac=a; putchar(cputchar(c) ); putchar(cputchar(c) ); 也可输出转义字符也可输出转义字符:putchar(101); putchar(101); putchar(nputchar(n

43、);); Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .424242 C C C语言程序设计语言程序设计语言程序设计 (2 2)字符输入函数)字符输入函数 格式格式: : getchargetchar( );( ); 功能功能: :从标准从标准输入设备即键盘上输入(一个键的)输入设备即键盘上输入(一个键的)字符字符, 函数返回的是字符的函数返回的是字符的ASCIIASCII码。码。 调用:调用:intint c c; char cchar c; c=getcharc=getchar( )( ); c=getcharc=getcha

44、r( )( ); putchar(c);putchar(c); putchar(c putchar(c) ); Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .434343 C C C语言程序设计语言程序设计语言程序设计 2.2.格式输入和输出格式输入和输出 printfprintf ( (格式控制或普通字符,格式控制或普通字符,输出项表列输出项表列);); printfprintf ( “a=( “a=%d%d x= x=%f%f”, ”, a a, , x x);); (1) (1) 格式化输出函数格式化输出函数 格式化输入输出

45、函数可以将各种类型的数格式化输入输出函数可以将各种类型的数 据从计算机中输出到显示器上和从键盘上据从计算机中输出到显示器上和从键盘上 将数据输入到计算机中。将数据输入到计算机中。 说明:说明: 格式控制部分格式控制部分用用 于规定相应输出项的于规定相应输出项的 格式,格式,由一系列格式由一系列格式 转换说明符转换说明符(格式符格式符) 组成组成。 输出项表列输出项表列指要指要 输出的数据(变量、输出的数据(变量、 常量或表达式)。常量或表达式)。 输出项有多个输出项有多个 时,用逗号分隔时,用逗号分隔. . 输出项的个数输出项的个数 要与格式符个数要与格式符个数 相同。相同。 Lifang L

46、ifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .444444 C C C语言程序设计语言程序设计语言程序设计 格式符格式符:% - 0m .n 数据类型说明字母数据类型说明字母 % 是格式符的是格式符的 开始标识记号。开始标识记号。 描述输出数据的描述输出数据的 数据类型和格式数据类型和格式 。即格式字符。即格式字符 附加格式说明附加格式说明 printfprintf ( “a=( “a=%d%d x= x=%f%f”, ”, a a, , x x);); printfprintf ( (格式控制或普通字符,格式控制或普通字符,输出项表列输出项表列

47、);); Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .454545 C C C语言程序设计语言程序设计语言程序设计 数据类型说明字母数据类型说明字母 %d%d , i , i 带符号的十进制整数带符号的十进制整数 %o %o 无符号八进制无符号八进制 %u %u 无符号十进制整数无符号十进制整数 %x %x 无符号十六进制(小写)无符号十六进制(小写) %X %X 无符号十六进制(大写)无符号十六进制(大写) %c%c 字符字符 %s%s 字符串字符串 %e %e 科学计数法(小写科学计数法(小写e e) %E %E 科学计数法

48、(大写科学计数法(大写E)E) %f%f 十进制浮点数十进制浮点数 %g %g 按按%e%e和和%f%f较短的一个输出较短的一个输出 %G %G 按按%E%E和和%f%f较短的一个输出较短的一个输出 % % 显示显示%号号 Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .464646 C C C语言程序设计语言程序设计语言程序设计 %x(X) 以十六进制数无符号形式输出以十六进制数无符号形式输出。 %o 以八进制无符号数形式输出以八进制无符号数形式输出。 %u 无符号十进制整数输出无符号十进制整数输出。 %d 将将int,long

49、int型的数据以带符号十进制整数输出型的数据以带符号十进制整数输出 。 例例:1 main ( ) int x=-1; printf(n%x,x); printf(n%X,x); printf(n%o,x); printf(n%d,x); printf(n%u,x); 以整数形式输出:以整数形式输出: 程序结果程序结果: ffff FFFF 177777 -1 65535 Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .474747 C C C语言程序设计语言程序设计语言程序设计 例例:4 main ( ) char c=a, ;

50、int i=97; printf (“%c, %dn”,c,c); printf (“%c, %dn”,i,i ); a, 97 a, 97 %c 以单个字符输出以单个字符输出。 以字符形式输出:以字符形式输出: 可见可见,字符字符(根据需要)(根据需要)可以以两可以以两 种形式输出种形式输出: 1)输出字符输出字符 2)输出整数输出整数 %s 以字符串输出。以字符串输出。 例例:5 main ( ) printf (“%sn”, “Beijing”); Beijing Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .484848

51、C C C语言程序设计语言程序设计语言程序设计 例例:2:2 main( ) float a=1.5; float b=2; printf (“%fn ”,a+b); 3.500000 %e(E) 以指数形式以指数形式输出输出。 %g (G)以以%e %f 格式中输出长度较短的一种格式输出,不输出无意义的格式中输出长度较短的一种格式输出,不输出无意义的0。 %f 将将float float 或或doubledouble类型类型的数据以小数形式的数据以小数形式输出输出,系统自动保留,系统自动保留6 6位小数。位小数。 以实数形式输出:以实数形式输出: Lifang Lifang Lifang 2

52、010201020101 1 1(概述)(概述)(概述). . .494949 C C C语言程序设计语言程序设计语言程序设计 输出整数输出整数: m: m表示输出项输出数据(字符)的总长度。表示输出项输出数据(字符)的总长度。 例例:6 int x=123; printf (“ %4d ”,x); 运行结果运行结果: 123 输出实数输出实数: m: m表示输出项输出表示输出项输出字符字符的总长度(含小数点)的总长度(含小数点)。 n n表示输出项输出数据的小数部分数据表示输出项输出数据的小数部分数据( (字符字符) )的长度的长度。 例例:7 float pi=3.1455; % %7.2

53、7.2表示输出的数据共占表示输出的数据共占7 7个字符位置个字符位置 , printf (“%7.2f” , pi); 其中小数占其中小数占2 2个字符位置。个字符位置。 运行结果运行结果: 3.15 输出字符数据输出字符数据: m: m表示输出项输出数据字符所占的总长度表示输出项输出数据字符所占的总长度。 n表示输出项输出数据字符的实际个数表示输出项输出数据字符的实际个数。 例例:8 printf(%5.1s, china); 运行结果运行结果: c m . n 指定输出数据的长度指定输出数据的长度 格式符格式符:% - 0m .n 数据类型说明字母数据类型说明字母 Lifang Lifan

54、g Lifang 2010201020101 1 1(概述)(概述)(概述). . .505050 C C C语言程序设计语言程序设计语言程序设计 格式符格式符:% - 0m .n 数据类型说明字母数据类型说明字母 指定指定0 0,填,填0 0。不指定。不指定0 0,填空白(空格),填空白(空格)。 例例:9 int x=456; printf (“%05dn”, x ); printf (“%5dn” ,x ); 运行结果运行结果: 00456 456 - - 指定输出项输出数据的输出位置。指定输出项输出数据的输出位置。 缺省,输出项输出数据(字符)的输出位置右边靠齐缺省,输出项输出数据(字

55、符)的输出位置右边靠齐。 指定指定“-”-”时,输出项输出数据(字符)的输出位置左边靠齐时,输出项输出数据(字符)的输出位置左边靠齐。 例例:10 printf (“%5sn”, “ABCD”); printf (“%-5sn”,“ABCD”); 运行结果运行结果: ABCD ABCD 0 对输出项数据空位置填数字对输出项数据空位置填数字0 0或空白(空格)或空白(空格)。 Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .515151 C C C语言程序设计语言程序设计语言程序设计 在在VC中,进行整数输出时,不再中,进行整数输出时

56、,不再使用使用 l 参数参数 原来:原来: long x=12345678; printf (“%ldn”,x); 运行结果运行结果:12345678 如果不指定如果不指定 l ,则输出数据按整型字节数截取低位,则输出数据按整型字节数截取低位, 但由于在但由于在VC中,中,int和和long int均为均为4个字节,因此个字节,因此 l指定与否指定与否不再不再影影 响。响。 l P23说明说明 Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .525252 C C C语言程序设计语言程序设计语言程序设计 地址运算符地址运算符 名名 称

57、称 运算符运算符 地址运算符地址运算符 地址表达式地址表达式: 说明:说明: 输入项表列是由若干个变量的输入项表列是由若干个变量的地址地址组成。组成。 输入格式用于规定输入项输入数据的格式。用输入格式用于规定输入项输入数据的格式。用格式符格式符说明。说明。 格式符格式符:%l m 数据类型说明字母数据类型说明字母 其中其中: 1.数据类型说明字符数据类型说明字符:d、o、x、c、s、e、f 与与printf中用法相同。中用法相同。 变量地址变量地址 格式符格式符 Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .545454 C C

58、C语言程序设计语言程序设计语言程序设计 l 的使用的使用: :表示表示longlong型精度型精度 仅在输入仅在输入doubledouble型数据时要使用,如下:型数据时要使用,如下: m 指定输入项输入数据的长度。指定输入项输入数据的长度。(很少用很少用) 在输入时,不使用在输入时,不使用.n表示数据的精度。表示数据的精度。 2.2.附加的格式说明符:附加的格式说明符: double adouble a; scanf(“%scanf(“%l lf f”, Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .555555 C C C语言

59、程序设计语言程序设计语言程序设计 当输入项有多个时:需注意各项间的分隔问题当输入项有多个时:需注意各项间的分隔问题 三种方法:三种方法: 1、用、用m指定各项的长度,不需要分隔。指定各项的长度,不需要分隔。(不建议使用)(不建议使用) 2、不使用、不使用m,各格式说明符间没有任何普通字符,各格式说明符间没有任何普通字符.输入时数据输入时数据 之间可用之间可用空格空格、回车回车或或TAB键键分隔。分隔。 (常用)(常用) scanf(“%d%d”, scanf(%4d%2d, printf(“%d,%dn,a,b); scanf(%d%d, printf(%d,%dn,a,b); scanf(%d,%d, printf(%d,%dn,a,b); scanf(a=%d,b=%d, printf(%d,%dn,a,b); Lifang Lifang Lifang 2010201020101 1 1(概述)(概述)(概述). . .575757 C C C语言程序设计语言程序设计语言程序设计 一个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论