已阅读5页,还剩54页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,第3章,数据类型、运算符和表达式,本章要点,数据的说明规则数据的操作规则,主要内容,3.1C数据类型3.2常量和变量3.3整数数据3.4浮点数据执行3.5字符数据,主要内容,3.6变量结果值3.7每个数字数据类型之间的混合运算3.8算术运算符和算术表达式3.9代运算符和赋值表达式、数据类型、配置类型、指针类型、空类型(无值类型)void、3.2常量和变量、3.2.1常量和符号常量在程序运行期间不能更改的值称为常量常量常量,其中常量常量分为其他类型:整数100、125和-100长度num=10Total=num * price 5734 f(total=% d n,total);在程序中使用#define命令行,PRICE表示常量30,以后出现在此文件中的PRICE表示30,可以运算为符号常量,即通过一个标识符表示常量的常量。符号常量的值不能在该范围(在本例中为主函数)内更改,并且不能再指定值。说明:使用分配语句将值分配给PRICE是错误的。宽度PRICE=40无法为转换;错误/*符号常量指定值。执行结果:total=300,3.2常量和变量,3.2.2变量程序运行时,值可以随着程序的动态执行而变化的量称为变量,3.2常量和变量,变量命名规则:c语言指定标识符只能由字母、数字和下划线三个字符组成,第一个字符必须是字母或下划线。标识符由用户标识符和系统关键字分隔。范例:sum、_total、month、Student_name、lotus _ 1 _ 2 _ 3、basic、Li _ ling m.d.john、Student _ name建议变量名的长度不要超过8个字符。选择变量名称和其他标识符时,必须使用“识别名称”。也就是说,必须选择有意义的英语单词(或其缩写)作为标识符。Sumnumage需要所有使用的变量(即“先定义,然后使用”)的必需定义。3.3整数数据,表示3.3.1整数常量的整数常量是整数常量。在c语言中,整个常数可以用以下三种形式表示(1)十进制整数:例如:123,-456.4。(2)八进制整数。以0开头的数字是八进制数。例如,0123表示八进制123,十进制83,-011表示八进制-11,即十进制-9。3.3整数数据,(3)十六进制整数。以0 x开头的数字是十六进制数。例如,0 x123表示十六进制123,等于十进制291。3.3.2整数变量(1)存储在内存中的格式数据以二进制形式存储在内存中。定义为:inti、d、k、h、/*整数变量*/i=10。/*整数10*/,3.3整数数据,(2)整数变量分类:共6个,带符号的基本整数符号的不带基本整数符号的短整数,(signed)int(signed)short(iint),3.3整数数据,整数类型的相关数据:类型类型指示符长度数的范围默认int2字节-32768到32767短整数short2字节-215到215-1长整数long4字节-231例如,inta、b、c、d;(指定变量a,b为整数)unsignedshortc,d;(指定变量c,d是无符号短整数)longge,f;(将变量e,f指定为长),示例3.2整数变量的定义和# includevoidmain () inta,b,c,d;/*将整数变量a、b、c、d作为*/un signed u;/*将u指定为无符号整数变量*/a=12。b=-24;U=10c=a u;d=b u;Printf ( a u=% d,b u=% d n,c,d);,说明:a u=22,b u=-14,示例3.3整数数据的溢出#includevoidmain()inta,b;A=32767b=a 1;Printf (%d,% d n ,a,b);,说明:数值显示为补充代码。整数变量只能接受-32768到32767范围内的数字,不能表示大于32767或小于-32768的数字。在这种情况下,将发生“溢出”。运行结果:32767,-32768,3.4浮点数据,3.4.1浮点常量的两种表示法,小数指数,0.1233e-2,3360字符e(或e)前面必须有数字,e后面的指数为整数-0.1*101e3、1.8e-3、-123e-6、-.1e-3e3、2.1e3.5、E3,e,3.4浮点数据,规范化指数形式:在字符e(或e)之前的小数部分,小数点左边只能有一位非零数字。例如,123.456将123.456e0、12.3456e1、1.2345e2、0.12345e3、0.012345e4和0.00112345e5中的1.23456e2称为“规范化指数形式”。3.4浮点数据、(2)浮点变量的分类浮点变量分为三类:“单精度”(float)、“双精度”(double)和“长双精度”(longdouble)。示例3.4浮点数据的舍入错误#includevoidmain()floata,b;A=123456.789e5B=a 20printf(“% f n”,b);,说明:只能保证一个浮点变量的有效数字是7位有效数字,后面的数字没有意义,不能准确表示该数字。不能直接加上或减去大数字和小数字。否则,小数字将“丢失”,结果“基于字符的数据123456.789e5,3.5,3.5”,3.5.1字符常量(1)单引号中的一个字符只能包含基于字符的常量(2)一个字符。示例:以“a”、“a”、“1”、“ABC”、“a”、“a”、“3.5字符为基础的数据”,以“”开头的特殊字符称为转义符,n换行 xhhhhhh表示一至两个字符的十六进制数,示例3.5转义符的使用是# include voidmain() Printf(ABC 32;tde RF TG n )Printf,打印机上显示的结果:fabcgdehjik,显示上的运行结果:fgdehjk,基于3.5字符的数据,3.5.2字符变量基于文字的变量用于存储文字常量,只能包含一个字符。文字变量以charc1,c2格式定义。在此函数中,可以使用以下语句为c1,c2指定值:C1= aC2= bC2= g VC 6.0编译环境中的char1字节int4字节float8字节,示例将整数分配给3.6文本变量。#includevoidmain()charc1,C2;C1=97C2=98printf(“% c % c n”,C1,C2);printf(“% d % d n”,C1,C2);,说明:如果在第3行和第4行中将整数97和98分别分配给C1和C2,则它们对应于两个赋值语句,例如C1= a ;运行结果:ab9798,示例3.7大小写字母的转换# includevoidmain () charc1,C2;C1= aC2= bC1=C1-32;C2=C2-32;Printf (%c% c ,C1,C2);,说明:程序将两个小写的a和b转换为大写的a和b。在Ascii代码表中,可以看到每个小写字母比该大写字母的ascii代码大32。使用c语言,字符数据可以直接进行整数和算术运算。,执行结果:基于ab、3.5字符的数据,3.5.4字符串常量字符串常量是用一对撇号括起来的字符序列。有效的字符串常量: howdoyyoudo . ,“China”、“a”、“$123.45”为printf(“howyoudo .”)。3.5基于字符的数据,“a”是字符常量,“a”是字符串常量,不同。例如,c表示文字变量:charc假设指定为。c= ac=“a”;C= China,结论:不能将字符串常量指定给文字变量。基于3.5字符的数据,c在每个字符串常量的末尾添加“字符串结束标志”,以使系统相应地确定字符串是否结束。c指定字符“ 0”作为字符串结束标志(添加系统默认值)。例如,字符串常量“China”实际上表示内存中的:内存单元为6个字符,而不是5个字符,最后一个字符为“ 0”。输出时不输出“ 0”。3.6变量初始值变量初始化,字符串常量(1) c语言使您可以在定义变量时初始化变量,例如:inta=3。/a指定为整数变量,初始值为3floatf=3.56/f指定为浮点变量,初始值为3.56charc= a a/c可以指定为文字变量,初始值可以指定为“a”,初始值可以指定为3.6变量,(2)将初始值指定为定义变量的一部分。表示inta、b、c=5、A、b和c是整数变量,但仅针对c进行初始化。c的初始值为5 (3)如果将相同的初始值指定给多个变量,则必须按如下方式编写:inta=3、b=3、c=3;表示a、b和c的初始值均为3。无法写入:inta=b=c=3;注意:初始化不是编译阶段,而是在程序运行时执行此函数时,给定初始值,这与赋值语句相同。3.7数值数据类型之间的混合运算,允许混合整数(包括int、short和long)和浮点(包括float和double)运算。进行运算时,不同类型的数据首先转换为相同类型,然后进行运算。上述类型转换包括3.8算术表达式和算术表达式,3.8.1 c运算符简介c的运算符如下:(1)算术运算符(-*/%)(2)关系运算符( =!=) (3)逻辑运算符(!&| |) (4)位运算符( |&) (5)赋值运算符(=及其扩展赋值运算符)(6)条件运算符(?(7)逗号运算符(,)、3.8算术运算符和算术表达式;(8)指针运算符(*和&) (9)字节查找运算符(sizeof) (10)强制类型转换运算符(类型)-) (12)下标运算符() (13)函数调用运算符()、3.8算术运算符和算术表达式、3.8.2算术运算符和算术表达式(1)基本算术运算符3360(加法运算符或正运算符)。例如,3 5,3)-(减法运算符或负数运算符。例如,5-2,-3) *(乘法运算符。/(除法运算符),例如:3 * 5。(:5/3,8/3)选择完整的运算符%(模式运算符或剩馀运算符,%两侧的整数数据,例如3,9% 2的:7% 4值)。3.8算术运算符和算术表达式,(2)算术表达式和运算符的优先级,以及组合基本算术运算符3360使用算术运算符和括号(也称为操作数)将操作数与遵循c语法规则(称为c算术表达式)的操作数连接起来。操作数包括常量、变量、函数等。例如, a* b/c-1.5 a 是3.2常量和变量,c语言是规定运算符优先级和联接性的有效表达式。计算表达式时,首先按运算符的优先级级别(例如,乘和减)运行。c规定各种运算符的组合方向(组合)算术运算符的组合方向为“从左到右”,即第一个左右顺序。3.8算术运算符和算术表达式,(3)强制类型转换运算符使用强制类型转换运算符将表达式转换为所需类型。一般格式:(类型名称) (表示式)范例:(double)将a转换为double类型(int)(x y)将x y值转换为整数(float)(5%3)值5%3# includevoidmain() floatx;IntiX=3.6I=(int)x;Printf(x=%f,i=%dn ,x,I);,说明:有两种类型的格式副本。一种是在计算过程中不需要用户指定,由系统自动执行的类型转换(例如3 6.5)。第二种是强制类型转换。如果无法自动类型转换,则可以使用强制类型转换。运行结果:x=3.600000,i=3,3.8算术运算符和算术表达式,(4)自身增加,自身减去运算符-仅用于变量值加或减1:I(使用I之前,I值加1(减)I,I使用I值,然后执行I=I 1。例如:j=I;I的值首先为4,然后分配给j,j的值为4j=I;I的值3为j,j的值为3,I为4,3.8算术运算符和算术表达式。注:(1)自增长运算符()、自减运算符(-),变量只能用于变量,不能用于常数或表达式,(2)和-的组合方向为“从右到左”。自增量(减)运算符常用于循环语句中自动将1添加到循环变量中。指针是以下地址,3.8算术运算符和算术表达式, c语言中的一些运算符是一个字符
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 海底管道防腐工合规化技术规程
- 打胶工10S考核试卷含答案
- 函数的图象-2026年高考数学一轮总复习课时检测训练(人教A版)含解析
- 贵州省黔南布依族苗族自治州2024-2025学年七年级上学期期末地理试题
- 河南省新乡市卫辉市2024-2025学年六年级上学期阶段数学试卷(含答案)
- 教育新纪元:创新之道
- 教育革新的未来之路
- 分析材料内容-2025年中考语文非连续性文本阅读答题公式
- 第22课《伟大的悲剧》(练习)-2022-2023学年部编版(五四制)七年级语文下册(上海专用)原卷版+解析
- 《openEuler系统管理与服务部署》课件 项目二 - 03-系统软件包管理
- 换产换型管理办法
- 燃气执法管理办法
- 酒店食品健康管理办法
- 桩基检测安全培训
- 资产接收方案(3篇)
- 人物形象设计题库及答案
- 电信公司笔试题目及答案
- 轨道工程试题及答案
- 先天性甲状腺功能减退症诊治指南(2025)解读
- DB3401T 353-2024城镇雨污分流改造技术导则
- 奶牛体况评分Learn-to-Score-BCS
评论
0/150
提交评论