C语言数据类型 常量和变量ppt课件.ppt
第2章 C数据类型,本章学习内容,C程序常见符号分类数据类型常量和变量,#include int main(void)int a,b,sum;a=3;b=5;sum=a+b;printf(“%dn,sum);return 0;,执行程序的输出结果为:8,2.1 一个简单的C程序例子,例 计算两个数的和,#include int main(void)int a,b,sum;a=3;b=5;sum=a+b;printf(“%dn,sum);return 0;,main()函数,C语言由一个或多个函数组成,每个程序都必须有一个main()函数因为每个程序总是从这个函数开始执行,main()函数可以返回一个值,返回值为0表示程序正常结束,在函数定义的后面有一个左大括号,即,它表示函数的开始,后面是函数的主体,在函数定义的结尾处有一个右大括号,即,语句,#include int main(void)int a,b,sum;a=3;b=5;sum=a+b;printf(%dn,sum);return 0;,函数主体中的每个语句都以分号结束。,C 程序中的一个语句可以跨越多行,并且用分号通知编译器该语句已结束。,程序说明,函数是C程序的基本单位,即C程序是由函数构成的 C程序必须有且有一个主函数main函数;调用系统提供的库函数,在调用之前要加相应的头文件。函数是由函数首部和函数体两部分组成C程序的书写格式与规则 C语句都以分号作为结束标志;建议一行内只写一条语句;C程序中用“/*和*/”包含起来的内容,称为注释。,关键字,#include int main(void)int a,b,sum;scanf(%d%d,return 0;,只需要32个单词,便可杀入计算机专业!,C语言中的关键字是具有特殊意义的字,如int用于定义整数类型,return用于函数的返回。程序中不能将关键字用于其它目的。,C语言有32个关键字,2.2 C程序常见符号分类,关键字(Keyword)又称保留字(详见附录A)C语言中预先规定的具有固定含义的一些单词,如int,return等标识符(Identifier)系统预定义标识符 由系统预先定义好的,如 main,scanf,printf等用户自定义标识符 由用户根据需要自行定义的标识符变量,函数名,。如:add,x,y,sum,2.2 C程序常见符号分类,运算符(Operator)(算术、关系和逻辑)详见附录C 分隔符(Separator)空格、回车/换行、逗号等 其他符号 和标识函数体或语句块/*和*/是程序注释的定界符 数据-常量和变量,2.3数据类型(Data Type),为什么要区分类型?变量的类型决定了数据的存储形式合法的取值范围占用内存空间的大小可参与的运算种类,数据类型(Data Type),长双精度实型,基本数据类型,int整数,在目前绝大多数机器上占4个字节float单精度浮点数,4个字节double双精度浮点数,8个字节char字符,1个字节表示256个ASCII字符,或0255的整数,整型数据,整型数据是不包含小数部分的数值型数据只用来表示整数,以二进制形式存储。因此,其表数的取值范围为-215215-1,设整数在内存中用2个字节存储1 000 0001 1000 0001 0 000 0001 1000 0001,符号位1:负数0:正数,整型数据,实型数据,字符型数据,字符型数据是不具计算能力的文字数据类型,包括:中文字符英文字符数字字符其他ASC字符其长度范围是0-255个字符。字符型数据类型的标示符为char。字符型数据在内存中占1个字节。,ASCII表,如何计算变量或数据类型所占内存空间的大小,1 TB=1024 GB,1 GB=1024 MB,1 MB=1024 KB,1 KB=1024 B,1 B=8 b,一个位有多大?只能是0或者1,二进制一个字节有多大?可以表示0255之间的整数,如何计算变量或数据类型所占内存空间的大小,不同类型占用的内存字节数不同,同种类型在不同的平台其占字节数不尽相同如int在16位、32位和64位系统上分别占2、4和8个字节不要对变量所占的内存空间字节数想当然用sizeof获得变量或者数据类型的长度现象与危害在平台间移植时会出现问题,导致数据丢失或者溢出,sizeof到底是什么?,C语言的关键字,并非函数计算类型占用的字节数两种语法形式 sizeof(类型)结果为类型占用的字节数 sizeof(表达式)结果为表达式值所属类型占用的字节数 一般都使用sizeof(变量名),在VC下的运行结果,#include main()printf(Data type Number of bytesn);printf(-n);printf(char%dn,sizeof(char);printf(int%dn,sizeof(int);printf(short int%dn,sizeof(short);printf(long int%dn,sizeof(long);printf(float%dn,sizeof(float);printf(double%dn,sizeof(double);,2.4常量与变量,C语言程序处理的数据形式常量(constant)在程序中不能改变其值的量变量(variable)其值在程序执行过程中是可以改变的,在程序中不能改变其值的量包括:整型(如 0,67,-2,123,22,12)默认为int实型(如 2.3,1.2e-5,2.73F,2.73L)默认为double字符型(如 z,3,$,n)用开头的字符为转义字符,代表1个字符字符串(如 UKM,1,5a),常量(Constant),单精度实型,长双精度实型,十进制小数,指数形式,字符型常量 由一对单引号括起来的单个字符。如:a、A、#、+等 ABC不是字符型常量。字符具有数值特征 A 65 0100 0001 使用字符常量时要注意数字字符和数字的区别 如:5表示字符5,而不是数值5 字符5的ASCII码值是53。字符串常量 有一对双引号括起来的一个字符序列。如:”quer”、”abc”、“123”、”w”等 注意:”a”是字符串常量,a是字符常量。,变量(Variable),变量的值在程序执行过程中是可以改变的 变量的属性Name 变量名Type 变量类型Value 变量的值Address 变量的存储单元地址,变量的声明 类型关键字 变量名;,变量声明(Variable Declaration),使用变量的基本原则变量必须先声明,后使用所有变量必须在第一条可执行语句前声明声明的顺序无关紧要一条声明语句可声明若干个同类型的变量,变量的命名规则变量名必须由字母、数字和下划线组成,并且第一个字母不能为数字。大小写字母代表不同的字符,程序中的变量名一般用小写字母表示。变量名的长度不是无限的变量名尽量简单易记、见名知意,不合法:Zhang-sun,Students,$123,33,3D64,合法:a,x1,sum,aver,_total,name_1,变量的初始化可以用两种方式对变量进行初始化:(1)在定义变量的同时给变量一个初始值;如:float n=10.12;(2)先定义变量,再使用赋值号“=”赋初值。如:int a,b;a=3;b=5;,声明变量是初始化变量的最好时机不被初始化的变量,其值为随机数,结果会是什么?,运算规则:变量 表达式 语法:变量=表达式;规则:左值和右值类型一致,Valid Example:Invalid Example:int x;int y;x=12;y=5.75;,变量赋值(Variable Assignment),变量的使用变量必须先定义,后使用。#include int main(void)int c,f;f=100;c=5*(f-32)/9;printf(%d,%dn,f,c);,应该先赋值,后引用,一个变量名只能定义一次一般把变量定义集中放在程序开始部分,变量的属性变量名:代表内存中的存储单元。变量的值:变量名对应的存储单元存放的具体数值。变量的类型:定义时指定,决定存储空间的大小和数据的存储方式。变量的地址:系统分配给变量的存储单元的起始地址。,实例,求三个实数的平均值#include int main(void)float a,b,c,ave;a=3.96;b=4.87;c=5.12;ave=(a+b+c)/3;printf(“%f”,ave);,模仿练习,1.定义两个整型变量,并赋初值90和70,求出两个变量的差并输出。2.定义一个整型变量,并赋初值5,求出它的平方并输出。3.定义三个实型变量,自行赋值,求出它们的和及平均值,并输出。(尝试:若变量没有赋值,结果会如何?),