《C语言程序设计PPT课件(第2版)第2章简单程序设计.pptx》由会员分享,可在线阅读,更多相关《C语言程序设计PPT课件(第2版)第2章简单程序设计.pptx(53页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C C C C语言程序设计语言程序设计语言程序设计语言程序设计-理论方法与实践(第理论方法与实践(第理论方法与实践(第理论方法与实践(第2 2 2 2版)版)版)版)C C语言程序设计语言程序设计第第2 2章章 简单程序设计简单程序设计 C C C C语言程序设计语言程序设计语言程序设计语言程序设计-理论方法与实践(第理论方法与实践(第理论方法与实践(第理论方法与实践(第2 2 2 2版)版)版)版)第第2 2章章 简单程序设计简单程序设计n2.1 数据类型、常量与变量n2.2 输出输入数据 n2.3 简单运算与常用宏命令 n2.4 程序设计举例 n2.5 表达式中数据类型的转换n*2.6 定
2、义数据类型别名 C C C C语言程序设计语言程序设计语言程序设计语言程序设计-理论方法与实践(第理论方法与实践(第理论方法与实践(第理论方法与实践(第2 2 2 2版)版)版)版)2.12.1数据类型、常量与变量数据类型、常量与变量数据类型、常量与变量数据类型、常量与变量l2.1.1 数据类型l2.1.2 常量l2.1.3 变量C C C C语言程序设计语言程序设计语言程序设计语言程序设计-理论方法与实践(第理论方法与实践(第理论方法与实践(第理论方法与实践(第2 2 2 2版)版)版)版)2.1.12.1.1数据类型数据类型数据类型数据类型l l数据是计算机程序处理的所有信息的总称,数据是
3、计算机程序处理的所有信息的总称,C C语言共有语言共有9 9种数据类型种数据类型。C C C C语言程序设计语言程序设计语言程序设计语言程序设计-理论方法与实践(第理论方法与实践(第理论方法与实践(第理论方法与实践(第2 2 2 2版)版)版)版)2.1.22.1.2常量常量常量常量1 1整数常量整数常量整数常量整数常量l l整数常量即整数。整数常量即整数。整数常量即整数。整数常量即整数。十进制数:以非十进制数:以非十进制数:以非十进制数:以非0 0开始的数开始的数开始的数开始的数如:如:如:如:220220、-560-560、+369+369八进制数:以八进制数:以八进制数:以八进制数:以0
4、 0开始的数开始的数开始的数开始的数如:如:如:如:0606、01060106、06770677十六进制数:以十六进制数:以十六进制数:以十六进制数:以0X0X或或或或0 x0 x开始的数开始的数开始的数开始的数如:如:如:如:0X0D0X0D、0XFF0XFF、0 x4e0 x4e、0 x1230 x123等。等。等。等。C C C C语言程序设计语言程序设计语言程序设计语言程序设计-理论方法与实践(第理论方法与实践(第理论方法与实践(第理论方法与实践(第2 2 2 2版)版)版)版)2.1.22.1.2常量常量常量常量2 2实数常量实数常量实数常量实数常量l l实数常量即实数实数常量即实数
5、实数常量即实数实数常量即实数一般形式一般形式一般形式一般形式由数字、小数点以及必要时的正负号组成由数字、小数点以及必要时的正负号组成由数字、小数点以及必要时的正负号组成由数字、小数点以及必要时的正负号组成如:如:如:如:29.5629.56、-56.33-56.33、0.0560.056、.056.056、0.00.0等。等。等。等。指数形式指数形式指数形式指数形式相当于科学计数法,将相当于科学计数法,将相当于科学计数法,将相当于科学计数法,将a10a10b b的数表示如下:的数表示如下:的数表示如下:的数表示如下:aEbaEb或或或或aebaeb其中:其中:其中:其中:a a、E E(或(或
6、(或(或e e)、)、)、)、b b任何一部分都不允许省略。任何一部分都不允许省略。任何一部分都不允许省略。任何一部分都不允许省略。如:如:如:如:2.956E32.956E3、-0.789e8-0.789e8、.792e-6.792e-6等。等。等。等。错误表示:错误表示:错误表示:错误表示:e-6e-6、2.365E2.365E。C C C C语言程序设计语言程序设计语言程序设计语言程序设计-理论方法与实践(第理论方法与实践(第理论方法与实践(第理论方法与实践(第2 2 2 2版)版)版)版)2.1.22.1.2常量常量常量常量3字符常量字符常量l一个有效字符,用单引号限定。如:a、9、Z
7、、%。4 4字符串常量字符串常量字符串常量字符串常量l若干有效字符的一个序列,用双引号限定。如:“Hello world”、0.912e8 l字符串中字符个数称为字符串的长度,其长度允许为0。Hello world 长度为11 0.912e8 长度为7C C C C语言程序设计语言程序设计语言程序设计语言程序设计-理论方法与实践(第理论方法与实践(第理论方法与实践(第理论方法与实践(第2 2 2 2版)版)版)版)2.1.32.1.3变量变量变量变量程序中的变量是用来存储数据的,在程序执行过程中,程序中的变量是用来存储数据的,在程序执行过程中,它的值可以改变。就本质而言,变量是计算机内存中某它
8、的值可以改变。就本质而言,变量是计算机内存中某个存储空间的标识。将数据存储到某个变量中,即是将个存储空间的标识。将数据存储到某个变量中,即是将数据存储到由该变量标识的那个内存空间中。数据存储到由该变量标识的那个内存空间中。变量分为不同的数据类型,以存储不同类型的数据。例变量分为不同的数据类型,以存储不同类型的数据。例如,使用整数型变量存储整数,使用实数型变量存储实如,使用整数型变量存储整数,使用实数型变量存储实数,使用字符型变量存储字符。数,使用字符型变量存储字符。变量在用其存储数据之前,要首先进行变量定义,说明变量在用其存储数据之前,要首先进行变量定义,说明变量的名称以及它要存储的数据类型。
9、变量的名称以及它要存储的数据类型。C C C C语言程序设计语言程序设计语言程序设计语言程序设计-理论方法与实践(第理论方法与实践(第理论方法与实践(第理论方法与实践(第2 2 2 2版)版)版)版)2.1.32.1.3变量变量变量变量变量分类变量分类类型标识符类型标识符类型名称类型名称存储数据存储数据完整形式完整形式简化形式简化形式(1)整数型变量)整数型变量signed intint有符号基本整型有符号基本整型整数整数signed short intshort有符号短整型有符号短整型signed long intlong有符号长整型有符号长整型unsigned int unsigned i
10、nt无符号基本整型无符号基本整型unsigned short intunsigned short无符号短整型无符号短整型unsigned long intunsigned long无符号长整型无符号长整型(2 2)实数型变量)实数型变量floatfloat单精度实型单精度实型实数实数doubledouble双精度实型双精度实型(3 3)字符型变量)字符型变量charchar字符型字符型字符字符1 1简单简单简单简单变量及类型变量及类型变量及类型变量及类型标识标识标识标识C C C C语言程序设计语言程序设计语言程序设计语言程序设计-理论方法与实践(第理论方法与实践(第理论方法与实践(第理论方法
11、与实践(第2 2 2 2版)版)版)版)2.1.32.1.3变量变量变量变量l l定义格式定义格式定义格式定义格式:数据类型数据类型数据类型数据类型 变量名表;变量名表;变量名表;变量名表;变量定义变量定义说明说明int a;int a;定义变量定义变量a a,存储,存储intint型数据型数据float x,y;float x,y;定义变量定义变量x x、y y,存储,存储float float 型数据型数据char ch1,ch2,ch3;char ch1,ch2,ch3;定义变量定义变量ch1ch1、ch2ch2、ch3ch3,存储,存储char char 型数据型数据long m;lo
12、ng m;定义变量定义变量mm,存储,存储long int long int 型数据型数据double x1,x2;double x1,x2;定义变量定义变量x1x1、x2x2,存储,存储double double 型数据型数据l l 变量定义实例变量定义实例变量定义实例变量定义实例2 2简单变量的定义简单变量的定义简单变量的定义简单变量的定义 C C C C语言程序设计语言程序设计语言程序设计语言程序设计-理论方法与实践(第理论方法与实践(第理论方法与实践(第理论方法与实践(第2 2 2 2版)版)版)版)2.1.32.1.3变量变量变量变量l l变量赋值的一般格式变量赋值的一般格式变量名变
13、量名=表达式表达式l l变量赋值的两种形式变量赋值的两种形式变量赋值的两种形式变量赋值的两种形式 (1)定义变量时为变量赋值 float x=29.6;float x=29.6;(2)先定义变量,然后再为变量赋值 int sum,i;int sum,i;sum=10;sum=10;3 3简单变量的赋值简单变量的赋值简单变量的赋值简单变量的赋值 C C C C语言程序设计语言程序设计语言程序设计语言程序设计-理论方法与实践(第理论方法与实践(第理论方法与实践(第理论方法与实践(第2 2 2 2版)版)版)版)2.2数据输入与输出数据输入与输出n2.2.1 用printf()函数输出数据 n2.2
14、.2 用scanf()函数输入数据 n2.2.3 输入输出字符型数据C C C C语言程序设计语言程序设计语言程序设计语言程序设计-理论方法与实践(第理论方法与实践(第理论方法与实践(第理论方法与实践(第2 2 2 2版)版)版)版)2.2.12.2.1用用用用printf()printf()函数输出数据函数输出数据函数输出数据函数输出数据l1、printf()函数示例函数示例l2、printf()函数的一般格式函数的一般格式C C C C语言程序设计语言程序设计语言程序设计语言程序设计-理论方法与实践(第理论方法与实践(第理论方法与实践(第理论方法与实践(第2 2 2 2版)版)版)版)2.
15、2.12.2.1用用用用printf()printf()函数输出数据函数输出数据函数输出数据函数输出数据例例例例2-12-1固定数值的加法程序。固定数值的加法程序。固定数值的加法程序。固定数值的加法程序。#includeint main(void)int a,b,c;a=8;b=2000;c=a+b;printf(%dn,c);return 0;程序解析程序解析程序解析程序解析l 加法运算的结果由printf()函数输出。l printf()函数的参数由两部分构成第一部分是“%dn”,称为输出格式控制串,它规定printf()函数输出的结果的形式;第二部分是变量c,称为输出表达式,它是要输出的
16、具体数据。“%d”可以理解为占位符,表示在该位置输出一个整数,实际数值由输出表达式部分的c确定。“n”是换行控制符,输出c之后自动完成换行操作。1、printf()函数示例函数示例C C C C语言程序设计语言程序设计语言程序设计语言程序设计-理论方法与实践(第理论方法与实践(第理论方法与实践(第理论方法与实践(第2 2 2 2版)版)版)版)2.2.12.2.1用用用用printf()printf()函数输出数据函数输出数据函数输出数据函数输出数据lprintf()函数是C语言系统提供的格式化输出函数,用于向标准输出设备(通常为显示器)按规定格式输出信息。lprintf()函数一般使用格式p
17、rintf(printf(printf(printf(格式化字符串格式化字符串格式化字符串格式化字符串,表达式表表达式表表达式表表达式表););););l说明:“表达式表”是要输出的一系列表达式,各表达式之间用“,”分隔。“格式化字符串”用于说明输出信息的格式,有两类内容:以“%”开始的格式控制符:规定输出数据的类型及格式;普通字符或转义字符:普通字符直接输出,转义字符输出的是其转义后的形式。输出表达式的个数必须与格式化字符串所说明的输出参数个数相同,且顺序要与格式串中要求输出的内容一一对应。2、printf()函数一般格式函数一般格式C C C C语言程序设计语言程序设计语言程序设计语言程序
18、设计-理论方法与实践(第理论方法与实践(第理论方法与实践(第理论方法与实践(第2 2 2 2版)版)版)版)2.2.12.2.1用用用用printf()printf()函数输出数据函数输出数据函数输出数据函数输出数据lprintf()函数中常用的格式控制符及其功能 格式控制符功能是否常用%d输出一个输出一个int型数据型数据是是%f输出一个输出一个float型数据型数据是是%c输出一个输出一个char型数据型数据是是%ld输出一个long int型数据一般%s输出一个字符串输出一个字符串是是%u输出一个十进制无符号整数否%e输出一个指数形式的浮点数否%x或%X输出一个以十六进制表示的无符号整数
19、否%O输出一个以八进制表示的无符号整数否%g自动选择%f或%e格式中输出宽度较短的一种形式否C C C C语言程序设计语言程序设计语言程序设计语言程序设计-理论方法与实践(第理论方法与实践(第理论方法与实践(第理论方法与实践(第2 2 2 2版)版)版)版)2.2.12.2.1用用用用printf()printf()函数输出数据函数输出数据函数输出数据函数输出数据lprintf()函数的转义字符及其功能字符形式字符形式功能功能是否常用是否常用n换行,将当前位置移到下一行开头换行,将当前位置移到下一行开头是是t水平跳格,跳到下一个水平跳格,跳到下一个Tab位置位置一般一般b退格,将当前位置移到前
20、一列退格,将当前位置移到前一列否否r回车,将当前位置移到本行开头回车,将当前位置移到本行开头否否反斜杠字符反斜杠字符“”否否单引号字符单引号字符否否双引号字符双引号字符否否ddd8进制数表示的对应进制数表示的对应ASCII码字符码字符一般一般xhh16进制数表示的对应进制数表示的对应ASCII码字符码字符一般一般C C C C语言程序设计语言程序设计语言程序设计语言程序设计-理论方法与实践(第理论方法与实践(第理论方法与实践(第理论方法与实践(第2 2 2 2版)版)版)版)2.2.12.2.1用用用用printf()printf()函数输出数据函数输出数据函数输出数据函数输出数据例例2-2
21、输出格式控制举例一。输出格式控制举例一。#includeint main()int a,b;a=8;b=2000;printf(%d%d+%d%d=%d%dn,a a,b b,a+ba+b);return 0;C C C C语言程序设计语言程序设计语言程序设计语言程序设计-理论方法与实践(第理论方法与实践(第理论方法与实践(第理论方法与实践(第2 2 2 2版)版)版)版)2.2.12.2.1用用用用printf()printf()函数输出数据函数输出数据函数输出数据函数输出数据l在在“%”和格式控制符之间插进数字,表示输出项的最大域和格式控制符之间插进数字,表示输出项的最大域宽。宽。例如:例
22、如:例如:例如:u%3d%3d表示输出一个整数,域宽为表示输出一个整数,域宽为表示输出一个整数,域宽为表示输出一个整数,域宽为3 3,当输出的,当输出的,当输出的,当输出的整数不足整数不足整数不足整数不足3 3位时,按右对齐显示位时,按右对齐显示位时,按右对齐显示位时,按右对齐显示。u%05d%05d表示输出一个整数,域宽为表示输出一个整数,域宽为表示输出一个整数,域宽为表示输出一个整数,域宽为5 5,当输出的,当输出的,当输出的,当输出的整数不足整数不足整数不足整数不足5 5位时,在高位用位时,在高位用位时,在高位用位时,在高位用0 0补充补充补充补充。u%9.2f%9.2f表示表示表示表示
23、输出一个实数,域宽为输出一个实数,域宽为输出一个实数,域宽为输出一个实数,域宽为9 9,保留,保留,保留,保留2 2位位位位小数,整体长度不足小数,整体长度不足小数,整体长度不足小数,整体长度不足9 9位时,按右对齐显示位时,按右对齐显示位时,按右对齐显示位时,按右对齐显示。u%8s%8s表示输出一个字符串,域宽为表示输出一个字符串,域宽为表示输出一个字符串,域宽为表示输出一个字符串,域宽为8 8,不足,不足,不足,不足8 8个个个个字符时,按右对齐显示字符时,按右对齐显示字符时,按右对齐显示字符时,按右对齐显示。C C C C语言程序设计语言程序设计语言程序设计语言程序设计-理论方法与实践(
24、第理论方法与实践(第理论方法与实践(第理论方法与实践(第2 2 2 2版)版)版)版)2.2.12.2.1用用用用printf()printf()函数输出数据函数输出数据函数输出数据函数输出数据l在在“%”和格式控制符之间插进数字,表示输出项的最大域和格式控制符之间插进数字,表示输出项的最大域宽。宽。例例例例2-32-3输出输出格式控制举例二。格式控制举例二。#includeintmain()floatr=5.7693,s;s=3.1416*r*r;printf(R=%10.3f%10.3f,S=,S=%10.3f%10.3fnn,r,s);return0;C C C C语言程序设计语言程序设
25、计语言程序设计语言程序设计-理论方法与实践(第理论方法与实践(第理论方法与实践(第理论方法与实践(第2 2 2 2版)版)版)版)2.2.12.2.1用用用用printf()printf()函数输出数据函数输出数据函数输出数据函数输出数据l在“%”和格式控制符之间加入-号,控制输出为左对齐,否则为右对齐。例例2-4 2-4 输出格式控制举例三。输出格式控制举例三。#include#includeint main()int main()float r=5.7693,s;float r=5.7693,s;s=3.1416*r*r;s=3.1416*r*r;printf(R=printf(R=%-1
26、0.3f%-10.3f,S=,S=%-10.3f%-10.3fn,r,s);n,r,s);return 0;return 0;C C C C语言程序设计语言程序设计语言程序设计语言程序设计-理论方法与实践(第理论方法与实践(第理论方法与实践(第理论方法与实践(第2 2 2 2版)版)版)版)2.2.22.2.2用用用用scanf()scanf()函数输入数据函数输入数据函数输入数据函数输入数据 l1、scanf()函数示例函数示例 l2、scanf()函数的一般格式函数的一般格式C C C C语言程序设计语言程序设计语言程序设计语言程序设计-理论方法与实践(第理论方法与实践(第理论方法与实践(
27、第理论方法与实践(第2 2 2 2版)版)版)版)2.2.22.2.2用用用用scanf()scanf()函数输入数据函数输入数据函数输入数据函数输入数据 例例2-5一个改进的加法程序。一个改进的加法程序。l程序解析输入功能由“scanf(%d%d,&a,&b);”语句实现,执行该语句后,计算机进入等待状态,当从键盘输入数据后,再继续执行程序,通过“c=a+b;”语句实现加法运算,最后由printf语句输出加法运算结果。scanf()函数的参数由“%d%d”和“&a,&b”两部分构成:“%d%d”规定输入数据的格式,表示输入两个整数;“&a,&b”指定接收数据的变量分别是a和b。#includ
28、eintmain()inta,b,c;printf(Inputa,b:);scanf(%d%d,&a,&b);c=a+b;printf(%d+%d=%dn,a,b,c);return0;1.scanf()函数示例函数示例C C C C语言程序设计语言程序设计语言程序设计语言程序设计-理论方法与实践(第理论方法与实践(第理论方法与实践(第理论方法与实践(第2 2 2 2版)版)版)版)2.2.22.2.2用用用用scanf()scanf()函数输入数据函数输入数据函数输入数据函数输入数据 lscanf()是格式化输入函数,从标准输入设备为变量输入数据。2.scanf()函数一般使用格式scanf
29、(“scanf(“scanf(“scanf(“格式格式格式格式控制控制控制控制字符串字符串字符串字符串,变量地址表变量地址表变量地址表变量地址表););););C C C C语言程序设计语言程序设计语言程序设计语言程序设计-理论方法与实践(第理论方法与实践(第理论方法与实践(第理论方法与实践(第2 2 2 2版)版)版)版)2.2.22.2.2用用用用scanf()scanf()函数输入数据函数输入数据函数输入数据函数输入数据 “格式控制字符串”用于说明输入数据的类型和数据格式,使用的格式控制符与printf()函数相同。“变量地址表”是接受输入数据的变量的地址,它们之间以逗号“,”分隔。当接
30、受数据的变量是简单变量时,变量地址的表示形式如下:&简单变量名简单变量名简单变量名简单变量名“格式字符串”中控制参数的个数必须与变量地址的个数一致。(4)(4)(4)(4)“格式化字符串”中的格式控制参数之间可以不使用任何分隔符号,也常用逗号“,”分隔。当不使用任何分隔符时,输入的数据之间可以使用空格分隔,也可以使用回车符分隔;使用“,”分隔时,输入数据时各个数据之间要使用“,”分隔。C C C C语言程序设计语言程序设计语言程序设计语言程序设计-理论方法与实践(第理论方法与实践(第理论方法与实践(第理论方法与实践(第2 2 2 2版)版)版)版)2.2.22.2.2用用用用scanf()sc
31、anf()函数输入数据函数输入数据函数输入数据函数输入数据 例例例例2-62-6使用使用使用使用逗号逗号逗号逗号“,”“,”分隔数据示例分隔数据示例分隔数据示例分隔数据示例。#includeint main()int a,b,c;printf(Input a,b:);scanf(%d,%d,&a,&b);c=a+b;printf(%d+%d=%dn,a,b,c);return 0;%d%d之间用之间用之间用之间用”,”,”分隔,输入数据时,分隔,输入数据时,分隔,输入数据时,分隔,输入数据时,两个数据之间只能两个数据之间只能两个数据之间只能两个数据之间只能以以以以”,”,”分隔。全部分隔。全部
32、分隔。全部分隔。全部数据数据数据数据输入结束后输入结束后输入结束后输入结束后按回车键。按回车键。按回车键。按回车键。C C C C语言程序设计语言程序设计语言程序设计语言程序设计-理论方法与实践(第理论方法与实践(第理论方法与实践(第理论方法与实践(第2 2 2 2版)版)版)版)2.2.32.2.3输入输出字符数据输入输出字符数据输入输出字符数据输入输出字符数据 1 1使用使用使用使用getchar()和和putchar()输入输出字符型数据输入输出字符型数据(1 1)用)用)用)用getchar()getchar()函数输入字符数据函数输入字符数据函数输入字符数据函数输入字符数据调用格式:
33、getchar()getchar()功能:从键盘输入的字符串中读入一个字符(2 2)用用用用putchar()putchar()函数函数函数函数输出输出字符输出输出字符输出输出字符输出输出字符调用格式:putchar(ch)putchar(ch)功能:向标准输出设备输出一个字符。说明:ch为一个字符变量名或字符常量,putchar(ch)函数 将ch的值显示在屏幕上。C C C C语言程序设计语言程序设计语言程序设计语言程序设计-理论方法与实践(第理论方法与实践(第理论方法与实践(第理论方法与实践(第2 2 2 2版)版)版)版)2.2.32.2.3输入输出字符数据输入输出字符数据输入输出字符
34、数据输入输出字符数据 例例2-7 2-7 从键盘输入一个字符,然后再显示出来。从键盘输入一个字符,然后再显示出来。#includeint main()char ch;ch=getchar()getchar();putchar(ch)putchar(ch);return 0;lgetchar()函数也可以直接作函数也可以直接作为为putchar()函数的参数使用。函数的参数使用。#includeint main()putchar(getchar();return 0;C C C C语言程序设计语言程序设计语言程序设计语言程序设计-理论方法与实践(第理论方法与实践(第理论方法与实践(第理论方法与实
35、践(第2 2 2 2版)版)版)版)2.2.32.2.3输入输出字符数据输入输出字符数据输入输出字符数据输入输出字符数据 2 2使用scanf()函数和printf()函数输入输出字符型数据例例例例2-82-8使用scanf()和printf()实现字符的输入输出#includeint main(void)char ch scanf(%c,&ch);/*使用scanf()函数输入字符数据*/printf(%cn,ch);/*使用printf()函数输出字符数据*/return 0;C C C C语言程序设计语言程序设计语言程序设计语言程序设计-理论方法与实践(第理论方法与实践(第理论方法与实践
36、(第理论方法与实践(第2 2 2 2版)版)版)版)2.2.32.2.3输入输出字符数据输入输出字符数据输入输出字符数据输入输出字符数据 例例例例2-102-10从键盘输入一个大写英文字母,然后在屏幕上输出它的小写形式。从键盘输入一个大写英文字母,然后在屏幕上输出它的小写形式。l问题分析问题分析 英文字母是以英文字母是以ASCIIASCII码的方式存储的,同一个字母的大、小写形式有不同码的方式存储的,同一个字母的大、小写形式有不同的的ASCIIASCII码值,其对应关系如下:码值,其对应关系如下:小写字母小写字母ASCIIASCII码值码值=大写字母大写字母ASCIIASCII码值码值+32+
37、32 设输入量为设输入量为chch,则输出量为,则输出量为ch+32ch+32。l l算法设计算法设计算法设计算法设计 输入大写字母存储到变量输入大写字母存储到变量chch中;中;输出输出ASCIIASCII值为值为ch+32ch+32的字符;的字符;l l程序实现程序实现程序实现程序实现C C C C语言程序设计语言程序设计语言程序设计语言程序设计-理论方法与实践(第理论方法与实践(第理论方法与实践(第理论方法与实践(第2 2 2 2版)版)版)版)2.2.32.2.3输入输出字符数据输入输出字符数据输入输出字符数据输入输出字符数据#include int main()char ch;pri
38、ntf(Input:);ch=getchar()getchar();printf(Output:%c%cn,ch+32ch+32);return 0;C C C C语言程序设计语言程序设计语言程序设计语言程序设计-理论方法与实践(第理论方法与实践(第理论方法与实践(第理论方法与实践(第2 2 2 2版)版)版)版)2.32.3简单简单简单简单运算与运算与运算与运算与常用常用常用常用宏命令宏命令宏命令宏命令l2.3.1 算术运算l2.3.2 赋值运算l2.3.3 变量自增、自减运算l2.3.4 逗号运算l2.3.5 宏命令C C C C语言程序设计语言程序设计语言程序设计语言程序设计-理论方法与
39、实践(第理论方法与实践(第理论方法与实践(第理论方法与实践(第2 2 2 2版)版)版)版)2.3.12.3.1算术运算算术运算算术运算算术运算1 1算术运算符算术运算符加法运算符加法运算符 +减法运算符减法运算符 -乘法运算符乘法运算符 *除法运算符除法运算符 /求余运算符求余运算符%2 2算术表达式算术表达式由算术运算符和运算对象构成的表达式。例如:由算术运算符和运算对象构成的表达式。例如:(s1+s2)/2(s1+s2)/2a%ba%bsqrt(b*b-4*a*c)sqrt(b*b-4*a*c)其中其中sqrt()sqrt()是是C C语言的一个库函数,用于求平方根运算。语言的一个库函数
40、,用于求平方根运算。C C C C语言程序设计语言程序设计语言程序设计语言程序设计-理论方法与实践(第理论方法与实践(第理论方法与实践(第理论方法与实践(第2 2 2 2版)版)版)版)2.3.12.3.1算术运算算术运算算术运算算术运算3运算符的优先级和结合性运算符的优先级和结合性l l运算符的优先级运算符的优先级运算符的优先级运算符的优先级不同运算符在表达式中的运算顺序。不同运算符在表达式中的运算顺序。算术运算的优先顺序算术运算的优先顺序负号运算符(负号运算符(-)最高,其次是乘法()最高,其次是乘法(*)、除法()、除法(/)、求余()、求余(%)运算,)运算,最后是加法(最后是加法(+
41、)、减法()、减法(-)运算。有括号)运算。有括号()时,括号的优先级别最高。时,括号的优先级别最高。l l运算符的结合性运算符的结合性运算符的结合性运算符的结合性在表达式中,当一个运算量的两侧有两个相同优先级别的运算符时,该在表达式中,当一个运算量的两侧有两个相同优先级别的运算符时,该运算量先和那个运算符进行结合运算的问题。运算量先和那个运算符进行结合运算的问题。有两个结合方向:有两个结合方向:自左至右的结合,又称左结合;自左至右的结合,又称左结合;自左至右的结合,又称左结合;自左至右的结合,又称左结合;自右至左的结合,又称右结合。自右至左的结合,又称右结合。自右至左的结合,又称右结合。自右
42、至左的结合,又称右结合。算术运算符算术运算符算术运算符算术运算符+、-、*、/、%的结合性是左结合的的结合性是左结合的的结合性是左结合的的结合性是左结合的C C C C语言程序设计语言程序设计语言程序设计语言程序设计-理论方法与实践(第理论方法与实践(第理论方法与实践(第理论方法与实践(第2 2 2 2版)版)版)版)2.3.2 2.3.2 2.3.2 2.3.2 赋值运算赋值运算赋值运算赋值运算l l简单的赋值运算简单的赋值运算“=”l l复合的赋值运算复合的赋值运算 常用算符有常用算符有5 5种:种:+=,-=,*=,/=,%=+=,-=,*=,/=,%=+=,-=,*=,/=,%=+=,
43、-=,*=,/=,%=运算符运算符名称名称复合赋值运算实例复合赋值运算实例展开形式展开形式+=+=复合加赋值复合加赋值a+=ba+=ba=a+ba=a+b-=-=复合减赋值复合减赋值a-=ba-=ba=a-ba=a-b*=*=复合乘赋值复合乘赋值a*=ba*=ba=a*ba=a*b/=/=复合除赋值复合除赋值a/=ba/=ba=a/ba=a/b%=%=复合模赋值复合模赋值a%=ba%=ba=a%ba=a%bC C C C语言程序设计语言程序设计语言程序设计语言程序设计-理论方法与实践(第理论方法与实践(第理论方法与实践(第理论方法与实践(第2 2 2 2版)版)版)版)2.3.32.3.3变量
44、自增、自减运算变量自增、自减运算变量自增、自减运算变量自增、自减运算 自增运算和自减运算的运算符分别是+和-,该类运算只只只只适用于整型变量适用于整型变量适用于整型变量适用于整型变量,其功能是对参加运算的变量进行加1或减1操作。C C C C语言程序设计语言程序设计语言程序设计语言程序设计-理论方法与实践(第理论方法与实践(第理论方法与实践(第理论方法与实践(第2 2 2 2版)版)版)版)2.3.32.3.3变量自增、自减运算变量自增、自减运算变量自增、自减运算变量自增、自减运算 l自增、自减运算的用法及功能用法功能+变量名变量先自增,然后再使用-变量名变量先自减,然后再使用变量名+变量先使
45、用,然后再自增变量名-变量先使用,然后再自减 自增运算和自减运算的运算符分别是自增运算和自减运算的运算符分别是+和和-,该类运算,该类运算只适用于整只适用于整只适用于整只适用于整型变量型变量型变量型变量,其功能是对参加运算的变量进行加,其功能是对参加运算的变量进行加1或减或减1操作。操作。C C C C语言程序设计语言程序设计语言程序设计语言程序设计-理论方法与实践(第理论方法与实践(第理论方法与实践(第理论方法与实践(第2 2 2 2版)版)版)版)2.3.32.3.3变量自增、自减运算变量自增、自减运算变量自增、自减运算变量自增、自减运算 l自增、自减运算实例用法功能表达式表达式的值表达式
46、求值后x的值+xx先增1,然后再使用+x+5116-xx先减1,然后再使用-x+594x+先使用x,然后x增15+x+106x-先使用x,然后x减15+x-104对于整数变量i,使用“+”运算,可以将“i=i+1”简化为“i+”;同样,使用“-”运算,可以将“i=i-1”简化为“i-”。作为初学者,只需掌握此类用法即可。C C C C语言程序设计语言程序设计语言程序设计语言程序设计-理论方法与实践(第理论方法与实践(第理论方法与实践(第理论方法与实践(第2 2 2 2版)版)版)版)2.3.42.3.4逗号表达式逗号表达式逗号表达式逗号表达式 逗号逗号运算的运算符为运算的运算符为“,”,用逗号
47、运算符,用逗号运算符“,”将表达式连将表达式连接起来构成的式子称为逗号表达式。接起来构成的式子称为逗号表达式。l逗号表达式的一般逗号表达式的一般形式形式表达式表达式1,表达式表达式2,表达式表达式3,表达式表达式nl逗号逗号表达式求值表达式求值先求解表达式先求解表达式1,再求解表达式,再求解表达式2,最后求解表达式,最后求解表达式n。整个逗号表达式的值是表达式。整个逗号表达式的值是表达式n的值。的值。l优先级优先级逗号逗号运算符是所有运算符中级别最低的。运算符是所有运算符中级别最低的。C C C C语言程序设计语言程序设计语言程序设计语言程序设计-理论方法与实践(第理论方法与实践(第理论方法与
48、实践(第理论方法与实践(第2 2 2 2版)版)版)版)2.3.52.3.5宏命令宏命令宏命令宏命令include和和define l lC C语言系统提供了大量的系统函数,对函数的说明信息分门别类的放在语言系统提供了大量的系统函数,对函数的说明信息分门别类的放在不同的头文件中。如不同的头文件中。如printf()printf()、scanf()scanf()、getchar()getchar()、putchar()putchar()等输入输出等输入输出函数的说明信息在头文件函数的说明信息在头文件“stdio.h”stdio.h”中,中,sin()sin()、sqrt()sqrt()等数学函数
49、的说等数学函数的说明信息在头文件明信息在头文件“math.h”math.h”中。中。C C语言规定,要使用这些函数须先行说语言规定,要使用这些函数须先行说明。说明的方法,是使用明。说明的方法,是使用includeinclude命令包含相关的头文件。命令包含相关的头文件。l lincludeinclude命令的一般使用形式:命令的一般使用形式:#include#include#include#include 文件名文件名 1 1includeinclude命令命令 C C C C语言程序设计语言程序设计语言程序设计语言程序设计-理论方法与实践(第理论方法与实践(第理论方法与实践(第理论方法与实践
50、(第2 2 2 2版)版)版)版)2.3.52.3.5宏命令宏命令宏命令宏命令include和和define 1 1includeinclude命令命令#include#include /*程序中使用数学函数时,要使用该命令*/int main()float x,y;printf(Data:);scanf(%f%f,&x,&y);printf(Result:%fn,sqrt(x*x+y*y);/*sqrt()是数学函数*/return 0;C C C C语言程序设计语言程序设计语言程序设计语言程序设计-理论方法与实践(第理论方法与实践(第理论方法与实践(第理论方法与实践(第2 2 2 2版)版