您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 2-1数据类型、常量及变量
第二章基本数据类型与表达式2.1C语言的基本数据类型2.2常量与变量2.3运算符与表达式2.4数据类型转换数据类型数据类型总表C数据类型基本类型构造类型指针类型空类型void字符类型char整型实型单精度型float双精度型double数组结构体struct共用体union短整型short长整型long整型int数据类型决定:1.数据占内存字节数2.数据取值范围3.其上可进行的操作C语言程序设计基本数据类型与表达式C枚举类型enum整数类型整数类型可分为四种:基本型:(signed)int,占2个字节(-32768——32767)短整型:(signed)short(int),占2个字节(-32768——32767)长整型:(signed)long(int),占4个字节(-2147483648-2147483647)无符号型:unsignedlong(无符号长整型)(0-4294967295)unsignedshort(无符号短整型)(0-65535)unsignedint(无符号整型)(0-65535)C语言程序设计基本数据类型与表达式C0111111111111111int型:最大:327671000000000000000最小:-327681111111111111111unsignedint型:最大:655350000000000000000最小:0C语言程序设计基本数据类型与表达式C思考:请写出10和-10在存储单元中以int型的存储情况main(){inta,b;a=32767;b=a+1;printf(“%d,%d\n”,a,b);}0111111111111111a:327671000000000000000?b:32767,-32768若要想b的值为32768,应该对以上程序作何修改?整形类型§在C语言中整型数据一般有八进制、十六进制和十进制三种。十进制整数表示与数学上表示相同。八进制表示以数字0开头。如:015(十进制为13)0101(十进制为65)而07908001都不合法十六进制表示以0X开头。如:0X2A(十进制为42)0XA0(十进制为160)0XFFFF(十进制为65535)若要表示长整型(long)整数,在数的最后加表示长整型的后缀修饰符号字母“L”。c程序设计基本数据类型及表达式C实数类型可分为两种:单精度型:float,占4个字节双精度型:double,占8个字节§在C语言中实型数据有两种表现形式:§(1)十进制形式。(2)指数形式。如546E+3代表546x103§注意:指数形式字母E之前必须有数字,E后面的指数必须为整数。如:E2,4.6E+0.5,9E7.5都不合法。实数类型类型比特数有效数字数值范围Float32710-37——1038double641510-307——103081、字符常量:用单引号括起来的一个字符如:'s','*','6'说明:1.‘a’和‘A’是两个不同的字符2.单引号内不能是单引号或反斜杠3、字符数据在内存中的存储形式及使用方法(1)字符数据在内存中以相应的ASCII码存放,占1个字节如:字符'A',其ASCII码为65,内存中存放为01000001字符型数据2、字符变量例:chara,b,c;a='g';b='$';c='6';(2)字符数据和整数在一定范围内互相通用#includestdio.hvoidmain(){charch;ch='a';printf(%c\n,ch);printf(%d\n,ch);}输出:a97#includestdio.hvoidmain(){charch;intx;ch='A';x=ch+32;printf(x=%d,ch=%c\n,x,ch);printf(%c\n,x);}输出:x=97,ch=Aa②字符数据与整数进行算术运算①字符数据用整数形式输出Voidmain(){charc1=‘a’,c2=‘b’,c3=‘c’;inta=3.5,b=‘A’;printf(“a=%db=\’%c\’\”end\”\n”,a,b);printf(“a%cb%c\bc%c\tabc\n”,c1,c2,c3);}结果:a=3b=‘A’“end”aabccabc字符串常量:由一对双引号括起来的字符序列如:abcd,w123,k,\0k\0空串占1个字节k占2个字节注意:'k'与k是不同的'k'是字符常量,在内存中占1个字节k是字符串常量,在内存中占2个字节字符串常数在存储时计算机系统会自动在字符串末尾加一个结束标志‘\0’,因此字符串的实际长度为字符个数加1基本数据类型类型符号关键字数的表示范围所占位数整型字符型实型有无(signed)int16-32768~32767(signed)short16-32768~32767(signed)long32-2147483648~214748364716unsignedint0~65535320~4294967295unsignedlongunsignedshort160~65535有float323.4e-38~3.4e38有double641.7e-308~1.7e308有char8-128~127无unsignedchar80~255说明:数据类型所占字节数随机器硬件不同而不同,上表以IBMPC机为例:c程序设计基本数据类型及表达式C#includestdio.h#definePI3.14voidmain(){intr;floatc,s,v;r=3;c=2*PI*r;s=PI*r*r;printf(%f,%f,c,s);}例:计算圆的周长和面积什么是常量和符号常量?什么是变量、怎样进行变量声明?什么是整型数据、实型数据?整型常量、变量、实型变量的使用?2.2常量与变量c程序设计基本数据类型及表达式C常量与符号常量变量与变量定义一般用大写字母是宏定义预处理命令,不是C语句直接常量:整型常量实型常量字符常量字符串常量如#definePRICE30常量定义:程序运行时其值不能改变的量(即常数)分类:符号常量:用标识符代表常量定义格式:#define标识符常量数据例201.c符号常量举例#definePRICE30main(){intnum,total;num=10;total=num*PRICE;printf(total=%d,total);}运行结果:total=300c程序设计基本数据类型及表达式C整型常量(整常数)三种形式:十进制整数:由数字0~9和正负号表示.如123,-456,0八进制整数:由数字0开头,后跟数字0~7表示.如0123,011十六进制整数:由0x开头,后跟0~9,a~f,A~F表示.如0x123,0Xff问题:0123=()100x123=()100Xff=()1083291255问题:0123=()100x123=()100Xff=()10c程序设计基本数据类型及表达式C整型常量的类型根据其值所在范围确定其数据类型:整数值若在-32768~32767内,则默认为它是int型整数值若在-2147483648~2147483647之间,可使用长整型常量表示。在整常量后加字母l或L,认为它是longint型常量无符号数也可用后缀表示,整型常数的无符号数的后缀为“U”或“u”。一个非负的整数,只要它的值不超过相应变量的取值范围,就可以赋给unsigned型变量。例30000为int型65536为longint型例12与12L例358u,0x38Au,235Lu均为无符号数;0XA5Lu表示十六进制无符号长整数A5.例可以将6000赋给一个unsignedint型变量,但却不可以将66000赋给一个unsignedint型变量(将会出现溢出错误)c程序设计基本数据类型及表达式C实型常量(实数或浮点数)表示形式:十进制数形式:由数字和小数点组成,小数点的左右至少一边要有数字。(必须有小数点)如0.123,.123,123.0,0.0,123.指数形式:由尾数、e或E和指数部分组成,E的两边都至少要有一位数且E的右边只允许是整数形式(e或E之前必须有数字;指数必须为整数)如12.3e3,123E2,1.23e4,e-5,1.2E-3.5实型常量的类型默认double型在实型常量后加字母f或F,认为它是float型c程序设计基本数据类型及表达式C规范化的指数形式字符常量定义:用单引号括起来的单个普通字符或转义字符.字符常量的值:该字符的ASCII码值转义字符及其含义:转义字符含义\n\v\r\a\‘\ddd\t\b\f\\\“\xhh转义字符含义换行垂直制表回车响铃单引号3位8进制数代表的字符水平制表退格换页反斜线双引号2位16进制数代表的字符如‘\101’-----------‘A’‘\012’-----------’\n’‘\376’-----------’’‘\x61’-----------’a’‘\60’-----------’0’‘\483’----------()例:‘A’-------’\101’-------’\x41’--------65如‘A’——65,‘a’——97,‘0’——48,‘\n’——10如‘a’‘A’‘?’‘\n’‘\101’转义字符:反斜线后面跟一个字符或一个代码值表示例转义字符举例(202.c)main(){printf(\101\x42C\n);printf(Isay:\Howareyou?\\n);printf(\\CProgram\\\n);printf(Turbo\'C\');}运行结果:(屏幕显示)ABCIsay:”Howareyou?”\CProgram\Turbo‘C’c程序设计基本数据类型及表达式C字符常量与字符串常量不同字符串常量定义:用双引号(“”)括起来的字符序列存储:每个字符串尾自动加一个‘\0’作为字符串结束标志aa\0例‘a’“a”hello\0例字符串“hello”在内存中例空串“”\0语言程序设计第二章基本数据类型及数据输入输出C例:charch;ch=“A”;例:charch;ch=‘A’;没有字符串变量,可以用字符数组存放编译程序根据变量定义为其分配指定字节的内存单元…...地址inta=1,b=-3,c;abc2字节2字节2字节地址地址…...内存1-3随机数变量------其值可以改变的量概念:每个变量有一个名字:用标识符表示。每个变量有一个存储空间(存储单元),该单元中的状态所表示的数为此时变量的值。变量初始化:定义时可以赋初值合法标识符变量的使用:先定义,后使用变量定义的一般格式:数据类型变量1[,变量2,…,变量n];如:inta,b,c;floatx,y;c程序设计基本数据类型及表达式Cinta=2,b,c=4;floatdata=3.67;charch=‘A’;intx=1,y=1,z=1;intx=y=z=1;(X)可以连续赋初值,但定义变量时不能连续赋初值应为:intx,y,z;x=y=z=1;变量定义位置:一般放在函数开头例204.c:main(){inta,b=2;floatdata;a=1;data=(a+b)*1.2;printf(“data=%f\n”,data);}变量定义可执行语句main(){inta,b=2;a=1;floatdata;data=(a+b)*1.2;printf(“data=%f\n”,data);}c程序设计基本数据类型及表达式C整型变量定义方法:inta1,a2;unsignedintb1,b2;一个整型常量只可以赋给能容纳下其值的整型变量。如a1,a2的取值范围为-32768----32767b1,b2的取值范围为0----65535如果:a1=65535;或者:b1=-1;在内存中数值将不是所赋的数值。c程序设计基本数据类型及表达式C实型变量实型变量的说明形式如下:float变量名1[,变量名2,……变量名n];doub
本文标题:2-1数据类型、常量及变量
链接地址:https://www.777doc.com/doc-3270025 .html