- 1、本文档共494页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序设计 2011.2 2.1 C语言数据类型 2.2 常量、变量和标识符 无论何种类型的数据,在程序运行过程中,其存储空间中的内容有两种状态:可以变化和不可以变化,对应于变量与常量。 变量:存储空间中的数据可以被修改,这个空间就称为变量空间,简称变量。 常量:存储空间中的数据不能被修改,这个空间就称为常量空间,简称常量(有值常量和符号常量两种) 无论是变量还是常量,都需要一个名称,在程序中代表相应的存储空间中的内容。 变量名需要定义,而字面常量名无需定义,直接用字面常量值(有时后面再加特定后缀)表示。 常量与变量 变量名的定义: 数据类型名 变量名1 [ , 变量名2 , 变量名3 , … , 变量名n ] ; 例1:int a; 例2:int x,y,z; 在变量名定义之后,系统根据其类型为变量分配了一定大小的内存空间,该内存空间中是随机数,要使变量有确切值,可以通过下列3种方式之一: 赋值:先定义变量,再用赋值号“=”进行赋值 初始化:在定义变量的同时指定初值 读入:先定义变量,再从键盘或文件提供数据 5、整型变量的定义及值的获取 变量定义实质上是为数据创建变量空间,需要指明类型和空间的名称即变量名。C语言通过定义语句来完成这项工作。 例:int a,b; short c; unsigned long x,y; 变量值的获取仍是通过三种方式之一:初始化、赋值、读入。前两种已介绍过,读入方式可以使变量在运行时根据用户的需要获得相应的值,比较灵活。 scanf的调用:scanf(格式控制字符串,地址1[,地址2,…]); 例:scanf(“%d%d”,a,b); scanf(%2d%3d%4d,a,b,c); scanf(%d,%d,%d,a,b,c); 需熟悉的格式转换说明符:%d(%i)、%c、%f(%e)、%lf、%s 实型数据在内存中的存储格式 刚才讲到的小数形式和指数形式表示实型值是在C源程序中的,无论何种形式经编译后都以二进制数的形式存在于内存中。 此时的二进制序列必须包含有两个信息——实数的尾数、指数,也就是说,尾数和指数都需要占用一定的存储空间。不同的实型所占存储空间大小不同,分配给这两部分的比例也不一样,于是有了精度与范围上的差别。 实型数在内存的存储格式示意(忽略每一部分具体二进制位数) 实型变量的定义及获得值 实数类型的关键字为:float、double、long double, 定义字符变量的格式: 实数类型关键字 实型变量名1 [ ,字符变量名2, …]; 实型变量也用初始化、赋值、读入这3种方式获得值 初始化:double d1=23.3,d2=9.8E5; 赋值:float f; f=23.4F; 读入:scanf(“%f”,f); //float型变量用格式控制字符f scanf(“%lf”,d1); //double型变量用格式控制字符lf 读入时可以控制总宽度,但是不能控制精度 实型值的输出:用printf输出时,无论何种实型均可以使用格式转换字符%f,即使是double型的值也不必使用%lf,与读入不同 6. 字符型数据和字符串常量 字符类型的关键字为:char,定义字符变量的格式: char 字符变量名1 [ ,字符变量名2, …]; 字符变量也用初始化、赋值、读入这3种方式获得值 初始化:char c1=‘A’,c2=98; 赋值:char c3; c3=‘N’; 读入:scanf(“%c”,c3); //从键盘输入时不能输入定界符 字符值的输出:用printf输出时,格式转换字符如果是%c,则输出字符形式,格式转换符如果是%d,则输出其对应的ASCII码(整数) 专用于字符型数据输入输出的两个函数: 输入单个字符:getchar();例:c3=getchar(); getchar(); 输出单个字符值:putchar(字符值); 例:putchar(65);putchar(‘D’); putchar(‘\n’);putchar(‘A’+35); typedef类型名 typedef的作用是给已存在的数据类型名引入一个别名(同义词、助记符),我们把这个类型的别名称为typedef名字。Typedef并不是创造了新的类型。 typedef定义格式为: typedef 已有的类型名 类型别名; 程序2.6 typedef名字示例。 #includestdio.h typedef int INTEGER; //定义别名 typedef float REAL; //定义别名 int main( ) { INTEGER m=567; // 相当于int m=567; REAL x=3.1416F;
文档评论(0)