已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言中的符号运算符的种类C语言的运算符可分为以下几类:1.算术运算符用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(+)、自减()共七种。2.关系运算符用于比较运算。包括大于()、小于(=)、小于等于(=)和不等于(!=)六种。3.逻辑运算符用于逻辑运算。包括与(&)、或(|)、非(!)三种。4.位操作运算符参与运算的量,按二进制位进行运算。包括位与(&)、位或(|)、位非()、位异或()、左移()六种。5.赋值运算符用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,=,=,= 例如:a=0x11等价于 a= a0x11。= a=0x11等价于 a= a,.)等几种。1.C的数据类型基本类型,构造类型,指针类型,空类型2.基本类型的分类及特点类型说明符 字节 数值范围字符型char 1 C字符集基本整型int 2 -3276832767短整型short int 2 -3276832767长整型 long int 4 -214783648214783647无符号型 unsigned 2 065535无符号长整型 unsigned long 4 04294967295单精度实型 float 4 3/4E-383/4E+38双精度实型 double 8 1/7E-3081/7E+3083.常量后缀L或l 长整型U或u 无符号数F或f 浮点数4.常量类型整数,长整数,无符号数,浮点数,字符,字符串,符号常数,转义字符。5.数据类型转换自动转换在不同类型数据的混合运算中,由系统自动实现转换, 由少字节类型向多字节类型转换。 不同类型的量相互赋值时也由系统自动进行转换,把赋值号右边的类型转换为左边的类型。强制转换由强制转换运算符完成转换。6.运算符优先级和结合性一般而言,单目运算符优先级较高,赋值运算符优先级低。 算术运算符优先级较高,关系和逻辑运算符优先级较低。 多数运算符具有左结合性,单目运算符、三目运算符、 赋值7.表达式表达式是由运算符连接常量、变量、函数所组成的式子。 每个表达式都有一个值和类型。 表达式求值按运算符的优先级和结合性所规定的顺序进行。表示输出类型的格式字符 格式字符意义d 以十进制形式输出带符号整数(正数不输出符号)o 以八进制形式输出无符号整数(不输出前缀O)x 以十六进制形式输出无符号整数(不输出前缀OX)u 以十进制形式输出无符号整数f 以小数形式输出单、双精度实数e 以指数形式输出单、双精度实数g 以%f%e中较短的输出宽度输出单、双精度实数c 输出单个字符s 输出字符串标志字符为-、+、#、空格四种,其意义下表所示:标志格式字符 标 志 意 义- 结果左对齐,右边填空格+ 输出符号(正号或负号)空格输出值为正时冠以空格,为负时冠以负号# 对c,s,d,u类无影响;对o类, 在输出时加前缀o 对x类,在输出时加前缀0x;对e,g,f 类当结果有小数时才给出小数点格式字符串格式字符串的一般形式为: %*输入数据宽度长度类型 其中有方括号的项为任选项。各项的意义如下:1.类型表示输入数据的类型,其格式符和意义下表所示。格式 字符意义d 输入十进制整数o 输入八进制整数x 输入十六进制整数u 输入无符号十进制整数f或e 输入实型数(用小数形式或指数形式)c 输入单个字符s 输入字符串转义字符转义字符是一种特殊的字符常量。转义字符以反斜线”开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。例如,在前面各例题printf函数的格式串中用到的“n”就是一个转义字符,其意义是“回车换行”。转义字符主要用来表示那些用一般字符不便于表示的控制代码。常用的转义字符及其含义转义字符 转义字符的意义n 回车换行t 横向跳到下一制表位置v 竖向跳格b 退格r 回车f 走纸换页 反斜线符” 单引号符a 鸣铃ddd 13位八进制数所代表的字符xhh 12位十六进制数所代表的字符广义地讲,C语言字符集中的任何一个字符均可用转义字符来表示。表2.2中的ddd和xhh正是为此而提出的。ddd和hh分别为八进制和十六进制的ASCII代码。如101表示字?quot;A” ,102表示字母”B”,134表示反斜线,XOA表示换行等。转义字符的使用在C语言中,对变量的存储类型说明有以下四种:auto 自动变量register 寄存器变量extern 外部变量static 静态变量 自动变量和寄存器变量属于动态存储方式, 外部变量和静态变量属于静态存储方式。在介绍了变量的存储类型之后, 可以知道对一个变量的说明不仅应说明其数据类型,还应说明其存储类型。 因此变量说明的完整形式应为: 存储类型说明符 数据类型说明符 变量名,变量名; 例如:static int a,b; 说明a,b为静态类型变量auto char c1,c2; 说明c1,c2为自动字符变量static int a5=1,2,3,4,5; 说明a为静整型数组extern int x,y; 说明x,y为外部整型变量与指针有关的各种说明和意义见下表。int *p; p为指向整型量的指针变量int *pn; p为指针数组,由n个指向整型量的指针元素组成。int (*p)n; p为指向整型二维数组的指针变量,二维数组的列数为nint *p() p为返回指针值的函数,该指针指向整型量int (*p)() p为指向函数的指针,该函数返回整型量int *p p为一个指向另一指针的指针变量,该指针指向一个整型量。指针变量的赋值p可以有以下两种方式:(1)指针变量初始化的方法 int a;int *p=&a;(2)赋值语句的方法 int a;int *p;p=&a;(1)取地址运算符&(2)取内容运算符*按位与运算符(&)参加运算的两个数据,按二进制位进行“与”运算。运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1; 即:两位同时为“1”,结果才为“1”,否则为0例如:3&5 即 0000 0011 & 0000 0101 = 0000 0001 因此,3&5的值得1。另,负数按补码形式参加按位与运算。“与运算”的特殊用途:(1)清零。如果想将一个单元清零,即使其全部二进制位为0,只要与一个各位都为零的数值相与,结果为零。(2)取一个数中指定位方法:找一个数,对应X要取的位,该数的对应位为1,其余位为零,此数与X进行“与运算”可以得到X中的指定位。例:设X=10101110, 取X的低4位,用 X & 0000 1111 = 0000 1110即可得到; 还可用来取X的2、4、6位。按位或运算符(|)参加运算的两个对象,按二进制位进行“或”运算。运算规则:0|0=0; 0|1=1; 1|0=1; 1|1=1; 即 :参加运算的两个对象只要有一个为1,其值为1。例如:3|5即 0000 0011| 0000 0101 = 0000 0111 因此,3|5的值得7。另,负数按补码形式参加按位或运算。“或运算”特殊作用:(1)常用来对一个数据的某些位置1。方法:找到一个数,对应X要置1的位,该数的对应位为1,其余位为零。此数与X相或可使X中的某些位置1。例:将X=10100000的低4位置1 ,用 X| 0000 1111 = 1010 1111即可得到。异或运算符()参加运算的两个数据,按二进制位进行“异或”运算。运算规则:00=0; 01=1; 10=1; 11=0;即:参加运算的两个对象,如果两个相应位为“异”(值不同),则该位结果为1,否则为0。“异或运算”的特殊作用:(1)使特定位翻转找一个数,对应X要翻转的各位,该数的对应位为1,其余位为零,此数与X对应位异或即可。例:X=10101110,使X低4位翻转,用X 0000 1111 = 1010 0001即可得到。(2)与0相异或,保留原值 ,X 0000 0000 = 1010 1110。从上面的例题可以清楚的看到这一点。取反运算符()参加运算的一个数据,按二进制位进行“取反”运算。运算规则:1=0; 0=1; 即:对一个二进制数按位取反,即将0变1,1变0。使一个数的最低位为零,可以表示为:a&1。1的值为1111111111111110,再按“与”运算,最低位一定为0。因为“”运算符的优先级比算术运算符、关系运算符、逻辑运算符和其他运算符都高。左移运算符()将一个运算对象的各二进制位全部左移若干位(左边的二进制位丢弃,右边补0)。例:a = a )将一个数的各二进制位全部右移若干位,正数左补0,负数左补1,右边丢弃。操作数每右移一位,相当于该数除以2。例如:a = a 2 将a的二进制位右移2位,左补0or 补1 得看被移数是正还是负。 运算符把 expression1 的所有位向右移 expression2 指定的位数。expression1 的符号位被用来填充右移后左边空出来的位。向右移出的位被丢弃。例如,下面的代码被求值后,temp 的值是 -4: -14 (即二进制的 11110010)右移两位等于 -4 (即二进制的 11111100)。vartemp = -14 2无符号右移运算符()运算符把 expression1 的各个位向右移 expression2 指定的位数。右移后左边空出的位用零来填充。移出右边的位被丢弃。例如:vartemp = -14 2变量 temp 的值为 -14 (即二进制的 11111111 11111111 11111111 11110010),向右移两位后等于 1073741820 (即二进制的 00111111 11111111 11111111 11111100)。复合赋值运算符位运算符与赋值运算符结合,组成新的复合赋值运算符,它们是:&= 例:a &= b 相当于a=a & b|= 例:a |= b 相当于a=a | b= 例:a = b 相当于a=a b= 例:a = b 相当于a=a b= 例:a = b 相当于a=a b运算规则:和前面讲的复合赋值运算符的运算规则相似。不同长度的数据进行位运算如果两个不同长度的数据进行位运算时,系统会将二者按右端对齐,然后进行位运算。以“与”运算为例说明如下:我们知道在C语言中long型占4个字
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025贵州湄潭县人民医院招聘编制外紧缺医务人员和就业见习岗位人员笔试考试参考试题及答案解析
- 2025内蒙古呼伦贝尔市阿荣旗旗属国有企业招聘工作人员20人考试笔试备考题库及答案解析
- 2025年河北承德市市直医疗卫生单位第二次公开选聘工作人员22名考试笔试备考试题及答案解析
- 二、显示比赛得分教学设计-2025-2026学年初中信息技术新世纪版八年级下册2018-新世纪版2018
- 企业年度市场调研报告及数据解读
- 买卖宠物协议书模板
- 2025河南洛阳瀍河回族区第二批就业见习人员招聘笔试考试参考题库及答案解析
- 第8课 装扮我们的教室(教学设计)-部编版道德与法治二年级上册
- 《 选唱 春天来了》(教案)-2023-2024学年人教版音乐二年级下册
- 幼儿园科学探索教案集锦
- 《气动与液压系统安装与调试》 课件 工作任务 B-4 气动逻辑控制回路的搭建与调试
- NB-T 47015-2011(JB-T 4709) 压力容器焊接规程
- 列车电子防滑器-电子防滑器功能及故障处理
- 2024年山东铁投集团招聘笔试参考题库含答案解析
- 光伏电站土地租赁合同范本
- 2022中国石化西南石油局毕业生招聘50人上岸笔试历年难、易错点考题附带参考答案与详解
- 质谱分析原理
- 商品和服务税收分类编码(开票指引)
- 中学生心理辅导PPT完整全套教学课件
- TD-T 1051-2017 土地整治项目基础调查规范
- 电气设备试验及调试施工技术安全交底
评论
0/150
提交评论