1、1,第三章 基本数据类型、运算符与输入输出函数,3.1 基本数据类型 3.2 常量 3.3 变量 3.4 C语言的运算符和表达式 3.5 输入输出函数,2,3.1 基本数据类型,3,3.2 常量,3.2.1 整型常量 整型常量就是整常数,可以用三种进制形式表示: 1十进制数:以非0数字开头的数。如123,-123等,其每个数字位可以是09。 2八进制数:以数字0开头的数。如0123,-0123等,其每个数字位可以是07。 3十六进制数:以0x(或0X)开头的数。如0xffff,0x1111,-0x123等,其每个数字位可以是09、AF(或af)。,4,3.2 常量(续),3.2.2 实型常量
2、实型常量在C语言中又称为实数或浮点数。在C语言中,实数只采用十进制。它有两种表示形式: 1十进制形式。这种形式的数由整数部分、小数点和小数部分组成(注意必须有小数点)。如:1.24,0.345,.222,234.0,333.,0.0等。 2指数形式。这种形式由三部分组成:实数部分、字母E或e和整数部分。象123x1022可以表示为123E22或123e22。要注意,字母E或e之前必须有数字,之后的数字必须为整数。如e3、2.1e3.5、2.7e、e等都不是合法的指数形式。,5,3.2 常量(续),3.2.3 字符常量 C语言中的字符常量是用单引号()括起来的一个字符。如A、x、D、?、3、X等
3、都是字符常量。 C语言中还规定有另一类字符常量,它们以开头,被称作转义字符,意思是将反斜杠()后面的字符转变成另外的意义。,6,3.2 常量(续),3.2.4 字符串常量 字符串常量是用双引号括起来的字符序列。如:“string“、“This is my first program!“。C语言规定字符串的存储方式为:串中的每个字符(转义字符只能被看成一个字符)按照它们的ASCII码值的二进制形式存储在内存中,并在存放串中最后一个字符的位置后面再存入一个字符0(ASCII码值为0的字符),这是字符串结束的标志。,7,3.2 常量(续),3.2.5 符号常量 C语言允许将程序中的常量定义为一个标识
4、符,称为符号常量。符号常量一般使用大写英文字母表示,以区别于一般用小写字母表示的变量。符号常量在使用前必须先定义,定义的形式是:#define 标识符 常量,8,3.3 变量,3.3.1 C标识符 C语言规定标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线。 注意: 在C语言中,大小写有区别 应避免使用C语言的关键字,9,3.3 变量 (续),3.3.2 整型变量 整型变量可分为:基本型、短整型、长整型和无符号型。无符号型又分为无符号整型、无符号短整型和无符号长整型。,10,3.3 变量 (续),3.3.3 实型变量 C实型变量分单精度(float型)和双精度(dou
5、ble型)两类。,11,3.3 变量 (续),3.3.4 字符型变量 字符型变量用来存放单个字符,定义形式如下: char c1, c2; 可对c1、c2赋值,c1=a;c2=b;注意不能将字符串常量赋给一个字符变量。,12,3.4 C语言的运算符和表达式,3.4.1 算术运算符和算术表达式 注意以下几点: 两个整数相除结果为整数,如5/3的结果为1。如果参加运算的两个数中有一个数为实数,则结果是double型。 模运算符%,又称求余运算符,要求%两侧均为整型数据,如7%4的值为3;而且余数的值符号与被除数一致,如7%4的值为3。 运算符“+ +”是操作数加1,而“”是操作数减1,只适用于变量
6、,不能用于常量或表达式。,13,3.4 C语言的运算符和表达式 (续),3.4.2 赋值运算符和赋值表达式 一、基本赋值运算符 二、复合赋值运算符,14,3.4 C语言的运算符和表达式 (续),3.4.3 关系运算符和关系表达式 关系表达式的值只有两个,“真”和“假”,在C语言中“真”用1表示,“假”用0表示。当关系式成立时其值为真,否则为假。 实际上,在程序设计中,判断一个关系表达式的值是否为真时,用非0表示“真”,用0表示“假”。,15,3.4 C语言的运算符和表达式 (续),3.4.4 逻辑运算符和逻辑表达式 逻辑表达式的值也只有两个,“真”和“假”,其表示方法同关系表达式,用1表示“真
7、”,用0表示“假”。 在对逻辑表达式进行求值过程中,并不是所有的关系表达式都要被求值。对&运算符来说,只有左边的关系表达式的值为真的情况下,才计算右边关系表达式的值。而对|运算符来说,只有左边的关系表达式的值为假的情况下,才计算右边关系表达式的值。,16,3.4 C语言的运算符和表达式 (续),3.4.5 条件运算符和条件表达式,17,3.4 C语言的运算符和表达式 (续),3.4.6 逗号运算符和逗号表达式 逗号除了可以作为分隔符使用之外,也可以用逗号将若干个表达式分开便构成了逗号表达式。其一般形式为:表达式1,表达式,表达式n 逗号表达式的运算次序为:先求解表达式1的值,再求解表达式2的值
8、,最后求解表达式n的值。逗号表达式的值为表达式n的值。,18,3.4 C语言的运算符和表达式 (续),3.4. 3.4.7 指针运算符 1取地址运算符&(一元运算符) 2取值运算符*(一元运算符),19,3.4 C语言的运算符和表达式 (续),3.4.8 sizeof运算符 1用于数据类型 使用形式:sizeof(type) 数据类型必须用括号括住。如sizeof(int)。 2用于变量 使用形式:sizeof(var_name)或sizeof var_name 变量名可以不用括号括住,但带括号的用法更普遍。,20,3.4 C语言的运算符和表达式 (续),3.4.9 不同类型数据之间的转换 1
9、自动类型转换 2强制类型转换 强制类型转换的一般形式为: (类型标识符)(表达式) 如(int)(x+y)是将x+y的结果强制转换成int型。又如(float)x/y是将x强制转换成float型后,再进行运算。 注意:经强制类型转换后,得到的是一个所需类型的中间值,原来变量的类型并没发生变化。,21,3.4 C语言的运算符和表达式 (续),3.4.10 C运算符优先级和结合性 附录III,22,3.5 输入输出函数,所谓输入输出是以计算机为主机为主体而言的。从计算机向外部输出设备(如显示屏、打印机、磁盘等)输出数据称为“输出”;从输入设备(如键盘、磁盘、光盘、扫描仪等)向计算机输入数据称为“输
10、入”。 C语言的输入输出功能是由系统提供的库函数实现的。C语言本身并没有输入输出语句。,23,3.5 输入输出函数 (续),3.5.1 格式化输入输出函数 一、格式化输出函数 格式:printf(“格式控制”,输出表列); 功能:将输出的数据按格式控制指定的格式输出。,24,3.5 输入输出函数 (续),二、格式化输入函数 格式:scanf(“格式说明”,地址表列); 功能:从键盘输入各种数据的值。,25,3.5 输入输出函数 (续),3.5.2 字符输入输出函数 1字符输出函数 格式:int putchar(int c); 功能:输出由c给出的一个字符到显示器上。,26,3.5 输入输出函数 (续),2字符输入函数 格式:int getchar(void); 功能:从键盘输入一个字符。,27,本 章 结 束,