(3.2)--第3章 数据类型及表达式.ppt
C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)本章导读本章通过C程序实例分析着手,使读者理解C语言的基本数据类型的表示形式、存储格式及相关的运算,掌握变量定义的方法及意义,能够灵活运用各种表达式,为C语言编程打下基础。C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)第第3 3章章 数据类型及表达式数据类型及表达式本章主要知识点(1)基本的数据类型。(2)常量和变量。(3)C语言各种运算符和表达式的应用。返回本章导读返回本章导读 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)3.1 C语言的数据类型 3.2 运算符及表达式 3.3 C语言各种运算符和表达式的应用返回本章导读返回本章导读第第3 3章章 数据类型及表达式数据类型及表达式 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)3.1 C3.1 C语言的数据类型语言的数据类型 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)单精度实型单精度实型 (float)双精度实型双精度实型 (double)整型整型 (int)字符型字符型 (char)枚举类型枚举类型数组类型数组类型结构体类型结构体类型共用体类型共用体类型实型实型基本类型基本类型构造类型构造类型空类型空类型 (void)指针类型指针类型数据类型数据类型返回本章导读返回本章导读 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)3.2.1基本数据类型3.2.2常量3.2.3变量及其类型定义返回本章导读返回本章导读3.1 C3.1 C语言的数据类型语言的数据类型 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)3.1.1 3.1.1 基本数据类型基本数据类型 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)1.整型数据2.实型数据3.字符型数据返回本章导读返回本章导读 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)3.1.1 3.1.1 基本数据类型基本数据类型 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)1.整型数据整型数据分为一般整型(int)、短整型(short)和长整型(long),并且每一种类型又分为带符号(signed)和无符号(unsigned)两种类型。整型数据的特性见下表:返返 回回返回本章导读返回本章导读 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)3.1.1 3.1.1 基本数据类型基本数据类型 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)返返 回回返回本章导读返回本章导读数据类型名说明Visual C+6.0环境Turbo C2.0环境字节取值范围字节取值范围short int短整型2-32768327672-3276832767signed short int带符号短整型2-32768327672-3276832767unsigned short int无符号短整型20655352065535int整型4-214748364821474836472-3276832767signed int带符号整型4-214748364821474836472-3276832767unsigned int无符号整型4042949672952065535long int长整型4-214748364821474836474-21474836482147483647signed long int带符号长整型4-214748364821474836474-21474836482147483647unsigned long int无符号长整型404294967295404294967295 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)2.实型数据实型数据分为单精度实型(float)、双精度实型(double)和长双精度实型(longdouble)。具体情况见下表所示:数据数据类型类型说明说明Visual C+6.0环境环境Turbo C2.0环境环境字节字节取值范围取值范围有效数字有效数字字字节节取值范围取值范围有效数字有效数字float单精度实型单精度实型4-3.410383.41038674-3.410383.4103867double双精度实型双精度实型8-1.7103081.71030815168-1.7103081.7103081516long double长双精度实长双精度实型型16-1.21049321.2104932181910-1.21049321.21049321819返返 回回返回本章导读返回本章导读3.1.1 3.1.1 基本数据类型基本数据类型 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)3.3.字符型数据字符型数据 字符型数据分为一般字符型(char)、带符号字符型(signed char)和无符号字符型(unsigned char)三种类型。具体情况见下表所示:数据类型名数据类型名说明说明字节字节取值范围取值范围char字符型字符型1-128127signed char带符号字符型带符号字符型1-128127unsigned char无符号字符型无符号字符型10255返返 回回返回本章导读返回本章导读3.1.1 3.1.1 基本数据类型基本数据类型 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)3.1.2 3.1.2 常常 量量 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)1.整型常量2.实型常量3.字符型常量4.字符串常量返回本章导读返回本章导读 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)1.整型常量(1)十进制整型常量:以数字19开头,其他位以数字09构成十进制整型常量。如12,-38等。(2)八进制整型常量:以数字0开头,其他位以数字07构成八进制整型常如012,-037等。在C语言中,整型常量有十进制、八进制、十六进制三种进制表示方法,并且各种数制均可有正(+)负(-)之分,正数的“+”可省略。返返 回回返回本章导读返回本章导读3.1.2 3.1.2 常量常量 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)1.整型常量(3)十六进制整型常量:以0X或0 x开头(数字0和大写或小写字母x),其他位以数字09或字母af或AF构成十六进制整型常量。如0 x12,-0Xa9等。如果在整型常量加上后缀L或l表示该常量为长整型常量,加上后缀U或u表示无符号整型常量。返返 回回返回本章导读返回本章导读3.1.2 3.1.2 常常 量量 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)2.实型常量(1)小数表示法:它是由数的符号、数字和小数点组成的实型常量(注意:必须有小数点)。如-2.5、3.0、4.、.34等都是合法的实型小数形式。实型常量又称浮型常量。实型常量由整数部分和小数部分组成,有两种表示形式:小数表示法和科学计数法。它只能用十进制表示。返返 回回返回本章导读返回本章导读3.1.2 3.1.2 常常 量量 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)2.实型常量(2)科学计数法:科学计数法也称指数法。它是由数的符号、尾数(整数或小数)、阶码(E或e)、阶符和整数阶码组成的实型常量。尾数不可缺省,阶码必须为整数。如-2.5E-3、3e5、34E-3等都是合法的指数形式。如-2.5E-3表示-2.510-3。实型常量分为单精度、双精度和长双精度三种类型。实型常量如果没有任何说明,则表示为双精度常量,实型常量后加上F或f则表示单精度常量,实型常量后加上L或l则表示长双精度常量。返返 回回返回本章导读返回本章导读3.1.2 3.1.2 常常 量量 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)3.字符型常量(1)一般字符常量:一般字符常量是用英文单撇号括起来的一个普通字符,其值为该字符的ASCII代码值。ASCII编码表见附录B。如a、A、0、?等都是一般字符常量,但是a和A是不同的字符常量,a的值为97,而A的值为65。返返 回回返回本章导读返回本章导读 字符型常量是由一对英文单撇号括起来的一个字符。它分为一般字符常量和转义字符。一个字符常量在计算机的存储中占据一个字节。C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)3.字符型常量(2)转义字符:C语言允许用一种特殊形式的字符常量,它是以反斜杠()开头的特定字符序列,表示ASCII字符集中控制字符、某些用于功能定义的字符和其他字符。如n表示回车换行符,表示字符“”。常用的转义字符见后续内容中所叙。如果在整型常量加上后缀L或l表示该常量为长整型常量,加上后缀U或u表示无符号整型常量。返返 回回返回本章导读返回本章导读3.1.2 3.1.2 常常 量量 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)4.4.字符串常量字符串常量 字符串常量也称字符串,由一对英文的双撇号括起来“”的字符序列。字符序列中的字符个数称字符串长度,没有字符的字符串称为空串。如“a”、“12+3”等都是合法的字符串常量。字符串常量中的字符是连续存储的,并在最后自动加上字符0(空字符,该字符在空字符,该字符在ASCII码值为码值为0,也称,也称NULL字字符符)作为字符串结束标志。返返 回回返回本章导读返回本章导读3.1.2 3.1.2 常常 量量 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)n字符串和字符常量的区别字符串和字符常量的区别 (1)表示形式不同。表示形式不同。字符常量以单撇号表示,而字符串常量以双撇号表示。(2)存储所占的内存空间不同。存储所占的内存空间不同。字符常量在内存中只用1个字节存放该字符的ASCII码值。字符串常量在内存中,除了存储串中的有效字符的ASCII码值外,系统还自动在串后加上1个字节,存放字符串结束标志0。返返 回回返回本章导读返回本章导读3.1.2 3.1.2 常常 量量 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)(4)存放的变量不同。存放的变量不同。字符常量可存放在字符变量或整型变量中,而字符串常量需要存放在字符数组中。字符变量和字符数组后续介绍。C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)字符串常量和字符常量的区别字符串常量和字符常量的区别返返 回回 (3)允许的操作不同。允许的操作不同。字符常量允许在一定范围内与整数进行加法或减法运算,如a-32合法。字符串常量不允许上述运算,如“a“-32非法的。返回本章导读返回本章导读3.1.2 3.1.2 常常 量量 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)3.1.3 3.1.3 变量及类型定义变量及类型定义 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)1.变量定义 变量是指在程序执行过程中其值可以被改变的量。变量有三个基本要素:变量名变量名、变量数据类型变量数据类型和变量的值变量的值。在C语言中,任何一个变量在使用之前都必须首先定义它的名字,并说明它的数据类型。也就是说,变量使用前必须先定义,即指定变量名,说明变量数据类型。变量定义的实质是按照变量变量定义的实质是按照变量说明的数据类型为变量分配相应空间的存储单元,在该存储单元说明的数据类型为变量分配相应空间的存储单元,在该存储单元中存放变量的值中存放变量的值。C语言中,变量使用时遵循“先定义,后使用先定义,后使用”的原则。返回本章导读返回本章导读 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)对变量定义说明如下:对变量定义说明如下:(1 1)数据类型:)数据类型:使用C语言的合法数据类型。如例中的int、short、char、float、double等。(2 2)变量名表:)变量名表:变量名是C语言合法的标识符。变量名表可以包含多个变量名,彼此之间使用逗号分开,表示同时定义若干个具有相同数据类型的变量,如:float a,b;(3 3)变量定义语句:)变量定义语句:可以出现在变量使用之前的任何位置。程序设计时不违背“先定义,后使用先定义,后使用”的原则即可。C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)变量定义一般格式:数据类型数据类型 变量名表;变量名表;如:int a;int a;返回本章导读返回本章导读3.1.3 3.1.3 变量及类型定义变量及类型定义 1.变量定义 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)2.变量初始化及赋值 如在语句中“s=pi*r*r;”语句是通过赋值运算符“=”将“pi*r*r”的值赋给变量s,即该语句实现了给变量s的赋值。所以,变量值可以通过初始化取得,也可以在定义后,通过给变量赋值的方法取得。如在语句“int a=3;short r=6;char c=a;float pi=3.14;”中的“=”是赋值运算符,用来给变量赋值。所以,以上四条语句都是在定义变量的同时给变量赋了值,称为变量的初始化。变量初始化是指定义变量同时,给变量一个初始值。返回本章导读返回本章导读3.1.3 3.1.3 变量及类型定义变量及类型定义 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)3.2 3.2 运算符及表达式运算符及表达式 3.2.2 3.2.2 算术运算符及算术表达式算术运算符及算术表达式 3.2.1 3.2.1 运算符和表达式运算符和表达式 3.2.3 3.2.3 关系运算符及关系表达式关系运算符及关系表达式 3.2.4 3.2.4 逻辑运算符及逻辑表达式逻辑运算符及逻辑表达式 3.2.5 3.2.5 条件运算符及条件表达式条件运算符及条件表达式 3.2.6 3.2.6 赋值运算符及赋值表达式赋值运算符及赋值表达式 3.2.7 3.2.7 逗号运算符及逗号表达式逗号运算符及逗号表达式 3.2.8 3.2.8 求字节运算符求字节运算符3.2.9 3.2.9 类型转换类型转换 返回本章导读返回本章导读 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)3.2.1 3.2.1 运算符和表达式运算符和表达式 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)1.运算符C语言提供了13类,共计34种运算符。根据运算符的运算对象的个数的不同,C语言的运算符可分为单目运算符、双目运算符和三目运算符,如单目+,双目,三目?:等。运算符具体分类情况见下表所示:返回本章导读返回本章导读 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)分类名称分类名称运算符运算符算术运算符+、-、*、/、%、+、-关系运算符、=、=、!=逻辑运算符&、|、!位运算符、|、&赋值运算符=及其扩展赋值运算符条件运算符?:逗号运算符,指针运算符*、&求字节数运算符sizeof强制类型转换运算符(类型)分量运算符.、-下标运算符 其他函数运算符()3.2.1 3.2.1 运算符和表达式运算符和表达式 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)返回本章导读返回本章导读 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)3.运算符的优先级 用运算符将操作对象连接起来、符合C语法规则的式子称为表达式。表达式因运算符种类也可分为各种表达式,如算术表达式、关系表达式、赋值表达式等,每一个表达式也都具有一定的值。如:a=b+c 运算符的优先级是指不同的运算符在表达式中进行运算的先后次序。如,算术运算符*、/的优先级高于+、-的优先级。返回本章导读返回本章导读3.2.1 3.2.1 运算符和表达式运算符和表达式 2.表达式 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)4.运算符的结合性 当一个表达式中出现运算对象的两侧的运算符的优先级相同时,运算的结合方向称为结结合合性性。运算符的结合性分为左结合和右结合两种。在C语言中,运算对象先与左面的运算符结合称左结合,如+、-、*、/的结合方向为自左向右;运算对象先与右面的运算符结合称右结合,如单目运算符+、-的结合方向是自右向左。运算符的结合性具体见教材附表运算符的结合性具体见教材附表返回本章导读返回本章导读3.2.1 3.2.1 运算符和表达式运算符和表达式 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)3.2.2 3.2.2 算术运算符及算术表达式算术运算符及算术表达式 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)1.1.算术运算算术运算符符 基本算术运算符包括加法(+)、减法(-)、乘法(*)、除法(/)和求余(%)。后三种运算符优先级高于前两种,它们都是左结合性。对于运算符/和%有如下说明:返回本章导读返回本章导读 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)3.2.2 3.2.2 算术运算符及算术表达式算术运算符及算术表达式 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)1.1.算术运算符算术运算符 (1)若除法运算符的运算对象均为整型数据,则结果为其商的整数部分,舍去小数部分。如13/7的结果为1。若运算对象中有一个为负值,则舍入的方向是不固定的。如,-13/7在有的机器上得到结果是-1,有的机器上得到结果是-2,但多数机器采取“向零取整”方法,即13/7=1,-13/7=-1,取整后向零靠拢。(2)求余运算符的运算对象必须是整型数据,运算结果的符号与被除数的符号相同,如,-13%7运算结果为-6,13%-7运算结果为6,-13%-7运算结果为-6。返回本章导读返回本章导读 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)2.2.自增、自减运算符自增、自减运算符 自增(+)和自减(-)运算符是单目运算符,其功能是使运算对象(变量)的值增1或减1。它们既可以作前缀运算符(位于运算对象的前面),如+i,-i;也可以作后缀运算符(位于运算对象的后面),如i+,i-。对于前缀形式表示在用该表达式之前先使变量值增(减)1;对于后缀形式表示在用该表达式的值之后使i的值增(减)1。+j,-j 在使用j之前,先使j的值加(减)1。j+,j-在使用j之后,使j的值加(减)1。返回本章导读返回本章导读3.2.2 3.2.2 算术运算符及算术表达式算术运算符及算术表达式 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)2.2.自增、自减运算符自增、自减运算符 例:例:int i=3;printf(i=%dn,i+);int i=3;printf(i=%dn,i+);返回本章导读返回本章导读3.2.2 3.2.2 算术运算符及算术表达式算术运算符及算术表达式 i+是后缀形式,则先计算表达式的值,其值为当前i值,因此,输出i+的值是3,然后使i自增1,i值为4。所以,语句“printf(i=%dn,i);”输出的结果是i=4。C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)2.2.自增、自减运算符自增、自减运算符 自增或自减运算符在使用时,需要注意以下几点:(1)运算符的操作对象,只能是变量,而不能作用于常量或表达式。运算符的优先级高于基本算术运算符,结合性是“自右向左自右向左”右结合。(2)i+,遵照右结合原则,它相当于-(i+),而不相当于(-i)+形式。返回本章导读返回本章导读3.2.2 3.2.2 算术运算符及算术表达式算术运算符及算术表达式 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)3.2.3 3.2.3 关系运算符及关系表达式关系运算符及关系表达式 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)关系运算符是对两个操作对象进行大小比较的运算符,是逻辑运算的一种简单形式。用关系运算符将两个表达式连接起来的符合C语法规则的式子称为关系表达式。关系表达式的运算结果是一个逻辑值,即“真”或“假”。在C语言中关系运算结果为真,以整数“1”表示,结果为假,以整数“0”表示。C语言中的关系运算符共有六种:=b?a:b;d=ab?a:b;d=ab值为0,取b的值7,赋值给c;a=b为真值,结果为1,i的值为4,a=b&i a0?b:-b;相当于y=(b0?b:-b),功能是将b的绝对值赋给a。(2)条件运算符结合性是右结合。如b0?1:b0?1:(bb?a:b;d=ab?a:b;/*计算表达式c=ab?a:b*/printf(c=%dn,c);/*输出c的值*/d=a=b&i;/*计算表达式d=a=b&i*/printf(d=%dn,d);/*输出d的值*/d=(c,d=c);/*计算表达式d=(c,d=c)*/printf(d=%dn,d);/*输出d的值*/程序结果程序结果返回本章导读返回本章导读3.3.1 C3.3.1 C程序实例程序实例2 2 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)例例3.23.2程序结果及分析程序结果及分析返回例题返回例题返回本章导读返回本章导读 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)语句是C语言中描述计算过程的最基本单位。由分号;结束。C语句分类:(1)控制语句控制语句:完成选择、循环、转移等功能,共9种。分别为if、if-else、while、do-while、switch、continue、break、for、rerurn九种控制语句。(2)函数调用语句函数调用语句:由一次函数调用加一个分号构成一个语句。如:printf(hello);3.4 C语言的语句 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)(3)表达式语句:由一个表达式加一个分号构成一个语句。如:a=3;+x;表达式能构成语句是C语言的一个重要特色。任何表达式都可以加上分号而成为语句。C语言也被叫作“表达式语言”。(4)空语句:只有一个;号的语句。(5)复合语句:将语句用组合起来的结构,用于执行一系列语句,与顺序结构对应。(6)注释语句:语句的书写和注释。3.4 C语言的语句构成 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)3.5 数据的输入输出n数据的输出n数据的输入n应用举例 C C C C C C语语语语语语言言言言言言程程程程程程序序序序序序设设设设设设计计计计计计 (V VVi iis ssu uua aal ll C CC+6 66.0 00环环环环环环境境境境境境)1.格式:格式:printf(格式控制字符,输出项列表);(格式控制字符,输出项列表);功能:输出任何类型的数据。格式控制字符说明:由“%”和格式控制符组成,如%d、%c和%f等,作用是将要输出的数据转换为指定格式后输出。printf函数中使用的格式字符见表3.2。一、数据的输出:p