《C语言课件第2章数据类型和表达式.ppt》由会员分享,可在线阅读,更多相关《C语言课件第2章数据类型和表达式.ppt(61页珍藏版)》请在人人文库网上搜索。

1、第二章数据类型和表达式,C语言编程,第二章,本章的主要内容,本章介绍了C语言的基础,包括:数据类型运算符和表达式是编程的基础知识,为什么要讨论这些知识?通常,程序应该操作和处理数据:处理的对象是由操作符和表达式操作的数据,3例如,例2.1计算半径为5厘米的圆的面积。程序如下:主()浮动r,区域;r=5;面积=3.14 * r * rprintf (%fn,面积);计算结果是输出圆的面积:78.500000,程序中使用的数据:r,面积,5,3.14。数据的计算:*,=,4,分析:当计算机运行和处理时,有必要完成以下任务:在内存中为半径r和计算结果区域打开存储空间并存储它们的值。应该留出多少空间来。

2、存储它们的价值?数据5和3.14不同于R和area,因为它们在程序编写时被赋予了确定的值,并且在操作过程中不会改变。如何处理这样一台数字计算机?当用计算机存储时,整数5和小数3.14之间有区别吗?涉及数据类型的基本知识,5。C语言的数据类型和C数据类型。本章讨论基本类型数据的类型,6,2.1.1整数数据和1整数数据,包括基本整数数据int、分配2字节短整数数据短int、分配2字节长整数数据长int和分配4字节整数数据,所有这些都以二进制补码的形式存储。问题:我们为什么要用补语?如何表达?7,在计算机中表示正数和负数,例如:109 (1101101)2区分:109和109该方法是将符号数字化,即。

3、正符号用0表示,负符号用1表示,计算机中的数字表示方法是:符号位二进制值(以8位为例)109 110 1101 0110 1101 109 110 1101 1110 1101,8。问题是计算机计算复杂,例如,(-19) (22) 1001 0011 0001 0110。解决方法是:判断符号是否相同:如果相同,结果的符号保持不变,绝对值相加;如果它们不同,则取绝对值较大的数字符号,并减去绝对值,9,原码、补码和补码,正数:原码、补码和补码的相同符号为0,数值为相应的二进制数。109,01101101 original=01101101 reverse=01101101补码负数:原码的符号位为1。

4、,该值为绝对值的二进制数。10911101101原始反码符号位为1,带有绝对值的二进制数被反转。10910010010补码的符号位为1,其值为绝对值的二进制数改变1。10910010011增补,10,2。有符号和无符号整数数据,有符号整数数据区别在于最高位被视为符号位还是数据位。例如,当1111110101000用作有符号数时,最高符号位为负。该值为:-88(再次补码),当用作无符号数时,最高值为带数据位的无符号数,该值为:65448,11,例如:main()无符号int m;m=65448printf(nm=%dn,m);printf(m=%un,m);输出结果:m=-88 m=65448,。

5、按有符号数和无符号数输出,12,整数数据类型和规则,方括号表示可选整数分配2字节,长分配4字节,13,2.1.2实数数据,1类型实数数据,单精度实数数据浮点,4字节双精度实数数据双精度,分配存储8字节2实数数据,单精度实数数据,索引部分,小数部分,十进制符号位,索引符号位,14,实数数据类型和规则。c标准没有规定各种实际数据所占用的字节数,也没有规定特定小数和指数部分的位数。一般来说,小数部分位数较多,数据代表的有效位数较多,所以准确性较高;但是,如果索引部分有更多的数字,数据范围将会更大。,有效数字的含义是什么?15,2.1.3字符数据,字符,1字节字符数据的分配指的是字母、数字、各种符号和。

6、其他用ASCII值表示的字符。例如,A是一种字符类型的数据,它被称为字符常量,存储:0.1100001,2.1.4空类型,通常与指针或函数结合使用。16,2.2常量,变量和标准函数,主要内容:常量变量标准库函数,17,2.2.1常量,程序运行过程中值保持不变的量1整数常量十进制:09八进制:07,十六进制从0: 09开始,AF/af,从0 x或0X开始,例如:100-8 0 123 010 024 0100 0730x38 0X 10 0X 10 0X 10 0X ff0x 0A,18,1。整数常量,整数常量的类型:根据值大小的默认类型。如果在整数常量后加上l或l,则认为是长整型,例如:123。

7、L,0L,432l,0 x100l。注意:十六进制常量中可以使用大写字母af或小写字母AF。数字8或9不能出现在八进制常量中,例如:018,0921是非法的,19,2。实数常数,十进制1.0 1。12.0 -12.0 0.0指数形式1e3 1.8e-3 -123E-6 -.1E-3,指数只能是整数,尾数可以是整数或小数。指数和尾数都不能省略,例如:1e,E5,E3。默认情况下,非法实数常量的类型是双精度的,后跟f(或f),它强调数字是浮点型的,例如:3.5f,1e2F,20,3。字符常量。可视字符常量用单引号括起来的单个可视字符,例如:转义字符常量A、A、3等。与单引号中的可视字符结合使用,如。

8、:21,4。字符串常量,用双引号括起来的字符序列,例如:ABC,123,A,nt nGood早晨字符串常量长度:字符串常量存储模式中包含的字符数:占用的存储单元数:字符串长度1,例如:字符串结束标记,22,5。符号常数,由标识符表示的常数是预先编译的。预处理命令定义的定义在编译时被系统表示的常数代替,然后被编译。例如,#定义LEN 2.5主()浮动a,b;a=2 * 3.14 * LENb=3.14 * LEN * LENprintf(a=%f,b=%fn,a,b);编译前被系统替换,23,5。符号常数,主()浮点a,b;a=2 * 3.14 * 2.5b=3.14 * 2.5 * 2.5pr。

9、intf(a=%f,b=%fn,a,b);define是一个编译预处理命令,它必须以“#”开头,将在第7章中讨论。替换为、24,2.2.2变量,1。变量的相关概念在程序运行过程中其值发生变化的数据称为变量,由标识符表示,称为变量名。使用前必须定义变量。系统为变量分配存储单元并存储它们的值。编写程序时,变量值由变量名存储和获取。例如,有一个值为510,25,2的变量A。变量定义,变量定义的一般格式:数据类型描述符变量列表;例如:int i,j;long k,m;浮动x,y;char ch1,ch2、必须使用合法标识符作为变量名,并且不能使用关键字来命名变量。26,3。变量初始化:描述变量时,允许。

10、给变量赋值初始值。例如:int a=5,b=10 2;双x=23.568,y;char ch1=a,ch2=66,ch3=142意味着定义变量并将值分配给变量存储位置。初始化错误:int a=3 b,b=5;浮子m=n=23.16,27,2.2.3标准库函数,一种由c编译系统定义的函数,存储在系统库函数中。用户可以根据需要随时调用常用函数,如printf、scanf、fabs、sqrt、sin(参见教科书P418附录中的常用数学函数)。函数调用形式:函数名称(参数表)如putchar(a) sqrt(x. 28,2.3运算符和表达式,主要内容:算术运算符和算术表达式赋值运算符和赋值表达式关系运。

11、算符和关系表达式逻辑运算符和逻辑表达式按位运算符和按位运算符条件运算符和条件表达式逗号运算符和逗号表达式其他运算符及其操作,29,运算符的相关概念,函数:完成指定的操作数操作类型:按操作数:单眼、双目和三眼;按函数:算术、赋值、关系、逻辑条件、逗号、位、其他、30;操作员的优先级和组合;优先级是指各种操作符号的操作优先级顺序;例如,算术运算优先于关系算术运算。组合性是指操作数和操作数的组合方向,分为从左到右(左组合)和从右到左(右组合)。例如,算术运算符是左组合a-b 4赋值运算符是右组合A=B=5(见教材P41语言规定表2.5),31,本章涉及的运算符,-*/%-=-=*=/=%=A=1表达。

12、式的值是5,a=6,B=5,37。描述:和-的操作数只能是变量(或有变量运算结果的表达式),不能是常量(或有数值运算结果的表达式)。例如:5。(a 2)是非法的。具有右绑定属性,绑定方向从右向左。例如:A相当于-(a)如果多个操作符连续出现,C系统将从左到右尽可能多的字符组合成一个操作符。例如,i j等于(i) j -i -j等于-(i) (-j),38,main()int a=5;printf(%d %dn,a,a);说明(续):功能参数评估顺序:Turbo C系统先计算最右边的参数值,然后依次计算左边的参数值。示例2.5有多个函数参数,同一变量是自增的。输出结果:6 5,39,描述(续):。

13、例2.6有多个函数参数,同一变量多次自增。main()int a=5;printf(%d%dn,a,(a)(a);输出结果:7 11,40,赋值操作,赋值运算符(右组合)=-=*=/=%=printf(%d %dn,a),输出结果:8 102-11,0000 0000 1010 printf (%d% dn,ab-1),输出结果:40 9,请自己分析运行结果,53,条件表达式操作,条件运算符:条件表达式表达式1的一般形式?表达式2 :表达式3示例:m=10个字符;你可以把变量a,ch和学生的x翻倍;printf(%d %d,sizeof(int),sizeof(a);printf(%d %d,。

14、sizeof(double),sizeof(x);printf(%d %dn,sizeof(float),sizeof(char);输出结果:2 2 8 8 4 1,59,2.4运算中的数据类型转换,2.4.1自动数据类型转换原理:自动将低精度、小表示范围的操作数类型转换为高精度、大表示范围的操作数类型,例如,有定义:int a;char ch表达式:a-ch*2 35L a-ch*2 35。60,2。赋值操作中的类型转换,=小数部分自动填充0,=实数表达式的小数部分自动截断(注意不要舍入)=赋值时表达式值的低位字节自动截断,高位字节自动填充0或1,61,2.4。强制转换(类型名)表达式的一般形式是:(int)(b 3*x)%3 1/(float)a 6,注意:(float) 22/5和(float) (22/5)有不同的错误类型转换:(int) b=a5b=int (3 * a。

c语言1E3是什么数据类型,C语言课件第2章数据类型和表达式.ppt相关推荐

  1. 画出识别c语言注释的转换图,C语言程序设计基础与实训教程》第1章:基础知识.ppt...

    <C语言程序设计基础与实训教程>第1章:基础知识.ppt>由会员分享,可在线阅读,更多相关<C语言程序设计基础与实训教程>第1章:基础知识.ppt(25页珍藏版)> ...

  2. 《数据结构(C语言版)》严巍敏课件~第二章:线性表

    <数据结构(C语言版)>严巍敏课件-第二章:线性表

  3. 《数据结构(C语言版)》严巍敏课件~第一章:绪论

    <数据结构(C语言版)>严巍敏课件-第一章:绪论

  4. c语言程序设计运算符及表达式,C语言程序设计3第3章运算符和表达式.ppt

    退出退出 第3章 运算符和表达式 3.1 表 达 式 3.2 运算符及表达式 3.3 运算符优先级和结合性 3.1 表 达 式 C语言的表达式分为基本表达式和复杂表达式. 基本表达式是由以下单项构成的 ...

  5. 【C语言学习】《C Primer Plus》第5章 运算符、表达式和语句

    学习总结 1.有了一定的语言基础,运算符和表达式这些都大同小异,无外乎赋值运算符(=).算术运算符(+.-.*./.%.++.--)和其他的一下运算符(sizeof.(type)). 2.声明一个参数 ...

  6. c语言中除法除以1000与1e3,北京航空航天大学C语言b第二讲(第三、四章)数据类型、运算符与表达式和最简单的C程序设计.ppt...

    <北京航空航天大学C语言b第二讲(第三.四章)数据类型.运算符与表达式和最简单的C程序设计.ppt>由会员分享,可在线阅读,更多相关<北京航空航天大学C语言b第二讲(第三.四章)数据 ...

  7. 谭浩强c语言第三章,谭浩强C语言第三章数据类型.ppt

    谭浩强C语言第三章数据类型.ppt 第三章 数据类型 运算符与表达式 本章要点 数据的描述规则数据的操作规则 主要内容 3 1C的数据类型3 2常量与变量3 3整型数据3 4浮点型数据运行3 5字符型 ...

  8. c语言程序计算p q真值表,C语言程序设计第2章数据类型﹒运算符和表达式.ppt

    C语言程序设计第2章数据类型﹒运算符和表达式 教学目标 掌握C语言标识符的组成 理解C语言的基本数据类型 掌握变量定义的方法 掌握常用的运算符的使用 掌握混合运算的数据转换方法 2.1 C语言的数据类 ...

  9. c语言求两者之间最小数,C语言课件第2章基本数据类型.ppt

    C语言课件第2章基本数据类型 第 2 章 基本数据类型 1.标识符 例2.1 常量和变量的使用. #include "stdio.h" #define WIDTH 80 //定义符 ...

最新文章

  1. MFC底层窗口的实现
  2. 网络安全系列之五十二 组策略中的软件限制策略
  3. bgp选路原则【第二部】
  4. ue4 classuobject没有成员beginplay_给社团新成员准备的教学大纲
  5. 为什么ConcurrentHashMap不允许插入null值?
  6. 票据图片复杂表格框识别(票据单元格切割)
  7. Android 手机 黑域
  8. 《大型网站技术架构:核心原理与案例分析》读书笔记-高可用
  9. Python实现 ---【简易】12306爬虫
  10. 图像处理的边缘和纹理的区别
  11. 关于new pad利用iPad12的资源缩放的问题 contentScaleFactor设置
  12. 2022阿里巴巴云栖大会
  13. python画多层次五角星
  14. 好文:练习一万小时成天才?(by同人于野)
  15. 2021最新 深圳互联网公司排名
  16. 双十一来了,给自己的应用做个icon换脸小功能
  17. 设为首页,收藏本站写法
  18. 数据分析---Fama-French三因子模型
  19. QQ群推广的13杀招
  20. 光头老法师手持尼康却能玩出佳能的效果

热门文章

  1. 一个O-RAN YANG语言文件:o-ran-interfaces.yang
  2. 终于知道为什么NVIDIA的linux驱动这么烂了,一波官方文档告诉你:Linux GPU Driver Developer’s Guide
  3. python画平面直角坐标系_Python 数据可视化:重新认识坐标系
  4. 前几帧预测 深度学习_使用深度学习从十二导联心电图预测心律失常
  5. 关于新手的一个bug,pycharm和IDea的ctrl+C和ctrl+V不起作用
  6. listview的简单实现
  7. tomcat部署php项目 css样式丢失_webpack 打包编译有些CSS样式莫名消失?
  8. InterlockedIncrement
  9. Blazor确认复选框组件
  10. 生产力提升! 自己动手自定义Visual Studio 2019的 类创建模板,制作简易版Vsix安装包