基本数据类型及运算.ppt_第1页
基本数据类型及运算.ppt_第2页
基本数据类型及运算.ppt_第3页
基本数据类型及运算.ppt_第4页
基本数据类型及运算.ppt_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2020/5/17,1,高级语言程序设计,第2章基本数据类型及运算,数据类型基本数据类型常量变量运算符与表达式数据的输入输出,数据类型决定:1.数据占内存字节数2.数据取值范围3.允许的操作,2.1基本数据类型,基本数据类型比较简单,是编译器已经定义的类型,可直接使用;构造类型是由编程者自己定义的类型;指针在C语言中使用极为普遍,指针提供了动态处理变量的能力,是C语言的精髓。,基本数据类型,整型,字符型,浮点型,有,无,(signed)int,16/32,-3276832767,16/32,065535,32,04294967295,16,065535,有,有,有,无,unsignedchar,8,0255,unsignedlong,unsignedshort,unsignedint,标准C没有具体规定以上各类数据所占内存字节数,只要求long型数据长度不短于int型,short型不长于int型。浮点型数据的取值范围和值的精度与所用的机器有关。其中有效数据是指输出每种浮点型数所对应的十进制的有效位数。,一般用大写字母是宏定义预处理命令,不是C语句直接常量:整型常量实型常量字符常量字符串常量,定义:程序运行时其值不能改变的量(即常数)分类:符号常量:用标识符代表常量定义格式:#define符号常量常量,例符号常量举例#definePRICE30main()intnum,total;num=10;total=num*PRICE;printf(total=%d,total);,运行结果:total=300,2.2常量,整型常量(整常数)三种形式:十进制整数:由数字09和正负号表示.如123,-456,0八进制整数:由数字0开头,后跟数字07表示.如0123,011十六进制整数:由0 x开头,后跟09,af,AF表示.如0 x123,0Xff,例12与12L,例30000为int型65536为longint型,整型常量的类型根据其值所在范围确定其数据类型在整常量后加字母l或L,认为它是longint型常量,问题:0123=()100 x123=()100Xff=()10,实型常量(实数或浮点数)表示形式:十进制小数形式:(必须有小数点)如0.123,.123,123.0,0.0,123.指数形式:(e或E之前必须有数字;指数必须为整数)如12.3e3,123E2,1.23e4,e-5,1.2E-3.5,实型常量的类型默认double型在实型常量后加字母f或F,认为它是float型,字符常量定义:用单引号括起来的单个普通字符或转义字符.,字符常量的值:该字符的ASCII码值,=|k=+j;j=3;k=j+;j=3;printf(“%d”,+j);j=3;printf(“%d”,j+);a=3;b=5;c=(+a)*b;a=3;b=5;c=(a+)*b;,/*k=4,j=4*/,/*k=3,j=4*/,/*4*/,/*3*/,/*c=20,a=4*/,/*c=15,a=4*/,自增、自减运算符+-作用:使变量值加1或减1种类:前置+i,-i(先执行i+1或i-1,再使用i值)后置i+,i-(先使用i值,再执行i+1或i-1),说明:+-不能用于常量和表达式,如5+,(a+b)+-结合方向:自右向左优先级:-+-*/%-+-(2)(3)(4),算术运算符和表达式(续),简单赋值运算符符号:=格式:变量标识符=表达式作用:将一个数据(常量或表达式)赋给一个变量,复合赋值运算符种类:+=-=*=/=%=d=func();c=d+2;,赋值运算符和表达式,说明:结合方向:自右向左优先级:14左侧必须是变量,不能是常量或表达式,赋值表达式的值与变量值相等,且可嵌套,赋值转换规则:使赋值号右边表达式值自动转换成其左边变量的类型,错误:3=x-2*y;a+b=3;,例floatf;inti;i=10;f=i;则f=10.0,例inti;i=2.56;结果i=2;,例:a=b=c=5a=(b=5)a=5+(c=6)a=(b=4)+(c=6)a=(b=10)/(c=2),/*表达式值为5,a,b,c值为5*/,/*b=5,a=5*/,/*表达式值11,c=6,a=11*/,/*表达式值10,a=10,b=4,c=6*/,/*表达式值5,a=5,b=10,c=2*/,赋值运算符和表达式(续),形式:表达式1,表达式2,表达式n结合性:从左向右优先级:15逗号表达式的值:等于表达式n的值用途:常用于循环for语句中,例a=3*5,a*4a=3*5,a*4,a+5例x=(a=3,6*3)x=a=3,6*a例a=1;b=2;c=3;printf(“%d,%d,%d”,a,b,c);printf(“%d,%d,%d”,(a,b,c),b,c);,/*a=15,表达式值60*/,/*a=15,表达式值20*/,/*赋值表达式,表达式值18,x=18*/,/*逗号表达式,表达式值18,x=3*/,/*1,2,3*/,/*3,2,3*/,逗号运算符和表达式,关系运算符种类:=!=结合方向:自左向右优先级别:,例ca+b/*c(a+b)*/ab!=c/*(ab)!=c*/a=bc/*a=(bc)*/,关系表达式的值:是逻辑值“真”或“假”,用1和0表示,例inta=3,b=2,c=1,d,f;ab(ab)=cb+cbf=abc,/*表达式值1*/,/*表达式值1*/,/*表达式值0*/,/*d=1*/,/*f=0*/,关系运算符和表达式,关系运算注意:区分“=”与“=”,例5278在C中是允许的,值为,0,例inti=1,j=7,a;a=i+(j%4!=0);则a=,2,例a0结果为A100结果为,1,0,关系运算符和表达式(续),应避免对实数作相等或不等的判断例1.0/3.0*3.0=1.0结果为0,逻辑运算符种类:!b=5;!aa,例(a=b)?Y:N(x%2=1)?1:0(x=0)?x:-x(c=ax0,表达式值为a*/xy?1:1.5/*xy,值为1.0;xhex%xn,c,c);,运行结果:Enteracharacter:AA-hex41,格式输入函数,格式:scanf(“格式控制串”,地址表)功能:按指定格式从键盘读入数据,存入地址表指定的存储单元中,并按回车键结束返值:正常,返回输入数据个数,地址表:变量的地址,常用取地址运算符scanf(%f,%f,%f,例:输入三角形边长,求面积,输入:3,4,6输出:a=3.00,b=4.00,c=6.00s=6.50area=5.33,例:从键盘输入大写字母,用小写字母输出,#includestdio.hmain()charc1,c2;c1=getchar();printf(%c,%dn,c1,c1);c2=c1+32;printf(%c,%dn,c2,c2);,输入:A输出:A,65a,97,输入和输出小结,语言中没有提供专门的输入输出语句,所有的输入输出都是由调用标准库函数中的输入输出函数来实现的。-scanf和getchar函数是输入函数,接收来自键盘的输入数据。scanf是格式输入函数,可按指定

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论