c程序设计-第三章数据类型、运算符、表达式.ppt
《c程序设计-第三章数据类型、运算符、表达式.ppt》由会员分享,可在线阅读,更多相关《c程序设计-第三章数据类型、运算符、表达式.ppt(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章第三章 数据数据类型、运算符、表达式型、运算符、表达式2.1 C的数据类型的数据类型一个程序包括两方面的内容:一个程序包括两方面的内容:1、数据描述、数据描述 2、操作步骤、操作步骤 数据结构数据结构+算法算法=程序程序程序程序=算法算法+数据结构数据结构+程序设计方法程序设计方法+语言工具和环境语言工具和环境数据类型数据类型 基本类型基本类型 整型(整型(int)字符型(字符型(char)实型(浮点型实型(浮点型float)单精度型(单精度型(float)双精度型(双精度型(double)枚举类型枚举类型 构造类型构造类型 数组类型数组类型 结构体类型结构体类型 共用体类型共用体类型
2、指针指针常量和常量和变量量2.2.1 常量和符号常量常量和符号常量 常量:在程序运行常量:在程序运行过程中,其程中,其值不能改不能改变的量。的量。整型常量整型常量12、0、3 实型常量型常量4.6、-12.3 字符常量字符常量a、b 字符串常量字符串常量-“COMPUTER”、“YOU ARE A BOY”符号常量符号常量用用标示符代表一个常量示符代表一个常量例例2.1#define price 30#include void main()int num,total;num=10;total=num*price;printf(“total=%d”,total);说明:程序中用说明:程序中用#d
3、efine命令行定义命令行定义price 代表常量代表常量30,此后凡在此文中出,此后凡在此文中出 现的现的price都代表都代表30,和常量一样,和常量一样 运行。运行。注:符号常量在其作用域(主函数)内不能改变,也不能赋值注:符号常量在其作用域(主函数)内不能改变,也不能赋值。变量量变量:量:值可以可以变的量。的量。(一个(一个变量量应该有一个名字,在内存中占据一定的存有一个名字,在内存中占据一定的存储单元,并元,并 在在该单元中存放元中存放变量量值。)。)scanf(“%d,%d”,&a,&b);变量名为变量名为a的内存单元的内存单元注:注:1、为变量命名时应注意变量名的合法性;、为变量
4、命名时应注意变量名的合法性;2、再、再C语言中大写字母和小写字母被认为是两个不同的字母语言中大写字母和小写字母被认为是两个不同的字母 (sum、SUM););3、再、再C语言中变量名的长度不能超过语言中变量名的长度不能超过8个字符(个字符(student_name、student_number);4、C语言中要求对所有用到的变量作强制定义,也就是语言中要求对所有用到的变量作强制定义,也就是“先定先定义,后使用义,后使用”。#include void main()int a,b,sum;a=123;b=456;sum=a+b;printf(“sum is%d”,sum);目的:目的:1、每个变量
5、被指定为已确定的类型,在编译时就可以为其分、每个变量被指定为已确定的类型,在编译时就可以为其分配相应的存储空间。配相应的存储空间。2、每一个变量属于一个类型,就便于在编译、每一个变量属于一个类型,就便于在编译 时据此检查变量时据此检查变量进行的运算是否合法。进行的运算是否合法。a=12.2#include void main()int a,b;a=123;b=456;int sum;sum=a+b;printf(“sum is%d”,sum);#include void main()a=123;b=456;int a,b,sum;sum=a+b;printf(“sum is%d”,sum);整
6、型数据整型数据2.3.1 整型常量整型常量 1、十、十进制整数制整数 123、-456、0 2、八、八进制整数制整数,以,以0(零)开(零)开头的数是八的数是八进制整数。制整数。0123=(123)8 -011=-(11)8 3、十六、十六进制整数,以制整数,以0X开开头的是十六的是十六进制整数。制整数。0X123=(123)16 -0X123=-(123)16整型变量整型变量 书书P41 变量的定义:类型说明符变量的定义:类型说明符 变量名变量名1,变量名,变量名2 int a,b long int c,d 实型数据型数据实型常量型常量 1、十、十进制制实型数据:型数据:0.123、123.
7、00、0.0 2、指数型、指数型实数:数:123e3=123E3=123*1022实型变量实型变量 实型变量实型变量 单精度实数(单精度实数(float):内存中占四个字节,单精度数):内存中占四个字节,单精度数 共有共有7位有效数。位有效数。双精度实数(双精度实数(double):内存中占八个字节,并提供):内存中占八个字节,并提供 1516位有效数字。位有效数字。变量的定义:类型说明符变量的定义:类型说明符 变量名变量名1,变量名,变量名2 float num1,num2double a;a=111111.111;float b;b=1111.11;float c;c=111111.1 1
8、1 ;注:实型常量不分注:实型常量不分float、double,一个实型常量可以赋给一个单精度变量也可一个实型常量可以赋给一个单精度变量也可 以赋给一个双精度变量,根据变量类型截取常量中的有效数位。以赋给一个双精度变量,根据变量类型截取常量中的有效数位。字符型数据字符型数据字符型常量字符型常量 1、用、用单引号括起来的引号括起来的单个字符。个字符。a、b、?2、特殊形式的字符常量,就是以一个、特殊形式的字符常量,就是以一个“”的字符系列。的字符系列。特殊字符特殊字符功能功能n换行换行t横向跳格(即跳到下一个输出区一个输横向跳格(即跳到下一个输出区一个输出区占出区占8列,列,18、916v竖向跳
9、格竖向跳格b退格退格r回车(不换行回车,即跳到当前行的第回车(不换行回车,即跳到当前行的第一列)一列)f走纸换页走纸换页反斜杠字符反斜杠字符“”单引号字符单引号字符ddd1到到3位位8进制数所代表的字符进制数所代表的字符“双引号符号双引号符号xhh1到到2位位16进制数所代表的字符进制数所代表的字符main()printf(“ab ct derftgn”);printf(“htibbj k”);ab c de第第9列列当前行的第一列当前行的第一列fgh i _j ik字符字符变量量(占内存空占内存空间为1个字个字节)字符字符变量(量(char):用来存放字符常量。):用来存放字符常量。(注:只
10、能存放一个字符,(注:只能存放一个字符,该字符在字符在书写写时应用用单引号括起来,引号括起来,不能存放字符串)不能存放字符串)char c1,c2;c1=a;c2=b;字符数据在内存中存储形式以及使用方法字符数据在内存中存储形式以及使用方法将一个字符常量存放到一个字符变量中去,实际上并不是把该字符本身存放将一个字符常量存放到一个字符变量中去,实际上并不是把该字符本身存放到内存单元中去,而是把该字符相应的到内存单元中去,而是把该字符相应的ASCII码存放到存储单元中。码存放到存储单元中。char c1,c2;c1=a;c2=b;C1 97C2 98C1 01100001C2 01100010字符
11、数据的存储方式和整数的存储形式类似,一个字符既可以以字符形式输字符数据的存储方式和整数的存储形式类似,一个字符既可以以字符形式输出(输入),又可以以该字符的出(输入),又可以以该字符的ASCII码作为整数输出(输入)。码作为整数输出(输入)。#include void main()char c1,c2;c1=97;c2=98;printf(“%c,%c”,c1,c2);printf(“%d,%d”,c1,c2);a b 97 98c1=a;c2=b;小写字母转换为大写字母小写字母转换为大写字母#include void main()char c1,c2;c1=a;c2=b;c1=c1-32;c
12、2=c2-32;printf(“%c,%c”,c1,c2);A B字符串常量字符串常量字符串:有一对双引号括起来的字符序列。字符串:有一对双引号括起来的字符序列。“how do you do”“CHINA”“$123.34”printf(“”$234.34”);“a”和和 a有何区别?有何区别?“a”:a oC规定:当字符串被存放在内存中时,计算机会自动的在每一个字符串的结尾加规定:当字符串被存放在内存中时,计算机会自动的在每一个字符串的结尾加 一个字符串结束标记一个字符串结束标记“0”,以便系统据此判断字符串是否结束。,以便系统据此判断字符串是否结束。a:a注:注:1、“0”为空操作符,它不
13、引起任何空操作符,它不引起任何动作,也不是一个可作,也不是一个可显示的字符,在写字示的字符,在写字符符 串串时不必加不必加“0”,因因为“0”是系是系统自自动加上的。加上的。2、c语言中没有言中没有专门的字符串的字符串变量,字符串如需放在量,字符串如需放在变量中,需用字符型数量中,需用字符型数组来存放。来存放。char a;a=“c”;char a;a=c;数据类型数据类型 基本类型基本类型 整型整型 字符型字符型 实型(浮点型)实型(浮点型)单精度型单精度型 双精度型双精度型 枚举类型枚举类型 构造类型构造类型 数组类型数组类型 结构体类型结构体类型 共用体类型共用体类型 指针指针int 2
14、字节字节 c char 1字节字节 float 4字节字节double 8字节字节2.6变量定义变量定义 数据类型数据类型 变量名表;变量名表;int a,b,c;float d;注:注:1、变量名表之间的变量用逗号分隔。、变量名表之间的变量用逗号分隔。2、不能有变量定义的二义性。、不能有变量定义的二义性。#include void main()int a,b,c;char a,cha;#include void main()char c1,c2;c1=97;c2=98;printf(“%c,%c”,c1,c2);3、变量名属于标示符,一般用小写字母、变量名属于标示符,一般用小写字母(不能与关
15、键字相同)不能与关键字相同)4、程序中变量是按名引用的。给变量取名一般应考虑变量所表示的量的、程序中变量是按名引用的。给变量取名一般应考虑变量所表示的量的 含义和使用目的,以提高程序的可读性。含义和使用目的,以提高程序的可读性。5、对变量的定义,一般是放在一个函数的开头部分。、对变量的定义,一般是放在一个函数的开头部分。2.7变量赋初值变量赋初值 C程序中的变量不仅必须先定义再使用,而且表达式中的程序中的变量不仅必须先定义再使用,而且表达式中的变量必须变量必须具有确定的值具有确定的值。让变量具有确定的值,可以给变量赋值,也可以给变量。让变量具有确定的值,可以给变量赋值,也可以给变量赋初值,或从
16、键盘给变量输入值。赋初值又叫初始化,即在定义变量的赋初值,或从键盘给变量输入值。赋初值又叫初始化,即在定义变量的同时给变量赋值。同时给变量赋值。1、程序中为变量赋值、程序中为变量赋值#include void main()int a,b,sum;a=90;sum=a+b;printf(“sum=%d”,sum);2、可以在定、可以在定义变量量时同同时使使变量初始化量初始化#include void main()char c1,c2;c1=a;c2=b;c1=c1-32;c2=c2-32;printf(“%c,%c”,c1,c2);#include void main()char c1=a,c2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 第三 数据类型 运算 表达式
限制150内