太阳集团游戏官方网址在C语言中的运算符和我们平时用的基本上都差不多

当前位置:澳门太阳娱乐集团官网 > 太阳集团游戏官方网址 > 太阳集团游戏官方网址在C语言中的运算符和我们平时用的基本上都差不多
作者: 澳门太阳娱乐集团官网|来源: http://www.ucylang.com|栏目:太阳集团游戏官方网址

文章关键词:澳门太阳娱乐集团官网,等价标识变量

  file:///E/找好文档就上豆丁网/常用变量大全.txt[2016/12/113:58:56] 一、变量 (一)、变量类型和表示方法 什么是变量?一句话,变量是存储数据的值的空间。由于数值的类型有多种,有整数、小数(浮点 数)、字符等等,那么对应的变量就有整型变量、浮点型变量、字符型变量。变量还有其他的具体分类。太阳集团游戏官方网址 整型变量还可具体分为无符号型、长整型和短整型。浮点型也可分为单精度型、双精度型和长双精度型。 此外还可以分为静态变量、外部变量、寄存器变量和自动存储变量。这些数据类型我们在本节和后面的章 节中都会陆陆续续介绍。 那么变量我们总要给它取个名字吧,这个名字我们叫做标识符。 标识符的命名有一定的规则: ()标识符只能由字母、数字和下划线三类字符组成 ()第一个字符必须是字母(第一个字符也可以是下划线,但被视作系统自定义的标识符) ()大写字母和小写字母被认为是两个不同的字符,如A和a是两个不同的标识符 (4)标识符可以任意长,但只有前位有效。有些旧的C版本对外部标识符的限制为位。这是由于链接程 序的限制所总成的,而不是C语言本身的局限性 ()标识符不能是C的关键字 从上面的规则中,有个关键字的概念。那么什么叫关键字呢? 从表面字意上也可以看出,关键字是C语言本身某些特性的一个表示,是唯一的代表某一个意思的。 下面列出ANSI标准定义的个C语言的关键字,这些关键字在以后的学习中基本上都会用到,到时再说它们 的各自用法。 aubrakasharsuau C语言还包括一些不能用做标识符的扩展关键字。as_s_s_sar hugrruparpasa_ss 所以在以后的学习中,在给变量命名时要避开这些关键字。 TurbC规定所有变量在使用前都必须加以说明。一条变量说明语句由数据类型和其后的一个或多个 变量名组成。变量说明的形式如下 类型

  ; file:///E/找好文档就上豆丁网/常用变量大全.txt[2016/12/1 13:58:56] 这里类型是指TurbC的有效数据类型。变量表是一个或多个标识符名,每个标识符之间用,分隔。 (二)、整型变量 整型变量是用来存储整数的。 整型变量又可具体分为好几种,最基本的整型变量是用类型说明符声明的符号整型,形式如下: 这里是类型说明符,Cur是变量的名字。整型变量可以是有符号型、无符号型、长型、短型或象上面定义的普通符号整型。 整型是位的,长整型是位,短整型等价于整型。 以下是几种整型变量的声明示例: gAu;*长整型* gAu;*长整型,等价于上面* sgTa;*有符号整型* sgTa;*有符号整型,等价于上面* usgOs;*无符号整型* usgOs;*无符号整型,等价于上面* shrSaA;*短整型* shrSaA;*短整型,等价于上面* usgshrMh;*无符号短整型* usgshrMh;*无符号短整型,等价于上面* 从上面的示例可以看出,当定义长整型、短整型、符号整型或无符号整型时,可以省略关键字。 注明: 用sg对整型变量进行有符号指定是多余的,因为除非用usg指定为无符号型,否则整型都是有 符号的。 当一个变量有几重特性时,声明关键字的顺序可以任意。以下几种声明是等价的: file:///E/找好文档就上豆丁网/常用变量大全.txt[2016/12/113:58:56] (三)、浮点类型变量顾名思义,浮点类型变量是用来存储带有小数的实数的。 C语言中有三种不同的浮点类型,以下是对这三种不同类型的声明示例: aAu;*单精度型* ubBgAu;*双精度型* gubRayBgAu;*长双精度型* 这里Au,BgAu,RayBgAu都是变量名。 浮点型都是有符号的。 (四)、字符型变量 字符型变量中所存放的字符是计算机字符集中的字符。对于PC机上运行的C系统,字符型数据用位单字节 的ASCII码表示。程序用类型说明符har来声明字符型变量: harh; 这条声明语句声明了一个字符型变量,标识符为h。当以这种形式声明变量之后,程序可以在表达式中引 用这个变量,关于语句和表达式的知识在后面将会介绍。 字符数据类型事实上是位的整型数据类型,可以用于数值表达式中,与其他的整型数据同样使用。在这种 情况下,字符型变量可以是有符号的,也可以是无符号的。对于无符号的字符型变量可以声明为: usgharh; 除非声明为无符号型,否则在算术运算和比较运算中,字符型变量一般作为位有符号整型变量处理。 还有其他的如指针型变量,v型变量,以后再介绍。 二、常量 常量的意思就是不可改变的量,是一个常数。同变量一样,常量也分为整型常量、浮点型常量、字符型常 量,还有字符串常量、转义字符常量和地址常量。 (一)、整型常量 整型常量可以是长整型、短整型、有符号型、无符号型。在TubbC里有符号整型常量的范围从-7 到77,无符号整型的为到;有符号长整型的范围为-4744到47447。无符号长整型的 范围为到494979。短整型同字符型。 可以指定一个整型常量为二进制、八进制或十六进制,如以下语句: -9,,77 常量的前面有符号,这个符号表示该常量是十六进制表示。如果前面的符号只有一个字母,那么表示该 file:///E/找好文档就上豆丁网/常用变量大全.txt[2016/12/1 13:58:56] 常量是八进制。 有时我们在常量的后面加上符号L或者U,来表示该常量是长整型或者无符号整型: 后缀可以是大写,也可以是小写。(二)、浮点型常量 一个浮点型常量由整数和小数两部分构成,中间用十进制的小数点隔开。有些浮点树非常大或者非常小, 用普通方法不容易表示,可以用科学计数法或者指数方法表示。下面是一个实例: 4,4-,47 注意在C语言中,数的大小也有一定的限制。对于a型浮点数,数的表示范围为-4到 4,其中-49-4到49-4不可见。ub型浮点型常数的表示范围为-79到 79,其中-494-4到494-4不可见。 在浮点型常量里我们也可以加上后缀。 FaNubr=F;*有符号浮点型* LgDubNubr=4L;*长双精度型* 后缀可大写也可小写。 说明 浮点常数只有一种进制(十进制)。 所有浮点常数都被默认为ub。 绝对值小于的浮点数,其小数点前面的零可以省略。如可写为,--可写为-- 4TurbC默认格式输出浮点数时,最多只保留小数点后六位(三)、字符型常量 字符型常量所表示的值是字符型变量所能包含的值。我们可以用ASCII表达式来表示一个字符型常量,或者 用单引号内加反斜杠表示转义字符。 其中:\表示后面的字符是十六进制数,\表示后面的字符是八进制数。注意:在TurbC中,字符型常量表示数的范围是-到7,除非你把它声明为usg,这样就是 (四)、字符串常量字符串常量就是一串字符,用双引号括起来表示。 file:///E/找好文档就上豆丁网/常用变量大全.txt[2016/12/113:58:56] \arrr!!!(五)、转义字符 上面我们见到的\,\,\a等等都是叫转义字符,它告诉编译器需要用特殊的方式进行处理。下面给出所有 的转义字符和所对应的意义: 转义字符描述 \单引号 \双引号 \\反斜杠 \空字符 \八进制数 \a声音符 \b退格符 \换页符 \换行符 \r回车符 \水平制表符 \v垂直制表符 \十六进制符 它们的具体用法我们到讲输出语句时再介绍。 (六)、地址常量 我们前面说的变量是存储数据的空间,它们在内存里都有对应的地址。在C语言里可以用地址常量来引用这 些地址,如下: &Cur, &是取地址符,作用是取出变量(或者函数)的地址。在后面的输入语句和指针里还会说明。 这一节所讲到的变量和常量知识可以说是在一切程序中都要用到,特别是变量的声明和命名规则。 file:///E/找好文档就上豆丁网/常用变量大全.txt[2016/12/1 13:58:56] 运算 无论是加减乘除还是大于小于,都需要用到运算符,在C语言中的运算符和我们平时用的基本上都差不多。 运算符包括赋值运算符、算术运算符、逻辑运算符、位逻辑运算符、位移运算符、关系运算符、自增自减 运算符。大多数运算符都是二目运算符,即运算符位于两个表达式之间。单目运算符的意思是运算符作用 于单个表达式。(具体什么是表达式下一节再说) 一、赋值运算符 赋值语句的作用是把某个常量或变量或表达式的值赋值给另一个变量。符号为‘=’。这里并不是等于的意 思,只是赋值,等于用‘==’表示。 注意:赋值语句左边的变量在程序的其他地方必须要声明。 得已赋值的变量我们称为左值,因为它们出现在赋值语句的左边;产生值的表达式我们称为右值,因为她 它们出现在赋值语句的右边。常数只能作为右值。 例如: 第一个赋值语句大家都能理解。第二个赋值语句的意思是把同时赋值给两个变量。这是因为赋值语句是从右向左运算的,也就是说从右端 开始计算。这样它先a=;然后a=a;那么我们这样行不行呢? 这样是不可以的,因为先要算括号里面的,这时a=a是一个表达式,而赋值语句的左边是不允许file:///E/找好文档就上豆丁网/常用变量大全.txt[2016/12/1 13:58:56] 表达式存在的。 二、算术运算符 在C语言中有两个单目和五个双目运算符。 符号功能 *乘法除法 +加法-减法 下面是一些赋值语句的例子,在赋值运算符右侧的表达式中就使用了上面的算术运算符: Ara=Hgh*Wh; 运算符也有个运算顺序问题,先算乘除再算加减。单目正和单目负最先运算。取模运算符(%)用于计算两个整数相除所得的余数。例如: a=7%4; 最终a的结果是,因为7%4的余数是。 那么有人要问了,我要想求它们的商怎么办呢? 这样b就是它们的商了,应该是。也许有人就不明白了,74应该是7,怎么会是呢?这里需要说明的是,当两个整数相除时,所得到的 结果仍然是整数,没有小数部分。要想也得到小数部分,可以这样写74或者74,也即把其中一个数 变为非整数。 那么怎样由一个实数得到它的整数部分呢?这就需要用强制类型转换了。例如: 因为74的值为7,如果在前面加上()就表示把结果强制转换成整型,这就得到了。那么思考一下a=(a)(74);最终a的结果是多少? 单目减运算符相当于取相反值,若是正值就变为负值,若是负数就变为正值。 单目加运算符没有意义,纯粹是和单目减构成一对用的。 file:///E/找好文档就上豆丁网/常用变量大全.txt[2016/12/1 13:58:56] 三、逻辑运算符 逻辑运算符是根据表达式的值来返回真值或是假值。其实在C语言中没有所谓的真值和假值,只是认为非 为真值,为假值。 符号功能 &&逻辑与 逻辑或 !逻辑非 例如: 当表达式进行&&运算时,只要有一个为假,总的表达式就为假,太阳集团游戏官方网址只有当所有都为真时,总的式子才为真。当表达式进行运算时,只要有一个为真,总的值就为真,只有当所有的都为假时,总的式子才为假。逻 辑非(!)运算是把相应的变量数据转换为相应的真假值。若原先为假,则逻辑非以后为真,若原先为真, 则逻辑非以后为假。 还有一点很重要,当一个逻辑表达式的后一部分的取值不会影响整个表达式的值时,后一部分就不会进行 运算了。例如: 四、关系运算符关系运算符是对两个表达式进行比较,返回一个真假值。 符号功能

  =右移赋值 &=位逻辑与赋值 =位逻辑或赋值 ^=位逻辑异或赋值 上面的十个复合赋值运算符中,后面五个我们到以后位运算时再说明。 那么看了上面的复合赋值运算符,有人就会问,到底Ta=Ta+;与Ta+=;有没有区别?答案是有 的,对于A=A+,表达式A被计算了两次,对于复合运算符A+=,表达式A仅计算了一次。一般的来说,这种 区别对于程序的运行没有多大影响,但是当表达式作为函数的返回值时,函数就被调用了两次(以后再说 明),而且如果使用普通的赋值运算符,也会加大程序的开销,使效率降低。 七、条件运算符 条件运算符(?)是C语言中唯一的一个三目运算符,它是对第一个表达式作真假检测,然后根据结果返回 两外两个表达式中的一个。 file:///E/找好文档就上豆丁网/常用变量大全.txt[2016/12/1 13:58:56]

  在运算中,首先对第一个表达式进行检验,如果为真,则返回表达式的值;如果为假,则返回表达式的 当b

  时,a=b;当b不大于时,a=-b;这就是条件表达式。其实上面的意思就是把b的绝对值赋值给a。八、逗号运算符 在C语言中,多个表达式可以用逗号分开,其中用逗号分开的表达式的值分别结算,但整个表达式的值是最 后一个表达式的值。 假设b=,=7,=, 对于第一行代码,有三个表达式,用逗号分开,所以最终的值应该是最后一个表达式的值,也就是+,为,所以a=。对于第二行代码,那么也是有三个表达式,这时的三个表达式为a=++b、--、+,(这是因 为赋值运算符比逗号运算符优先级高)所以最终表达式的值虽然也为,但a=。 还有其他的如位逻辑运算符,位移运算符等等,我们等到讲位运算时再说明。 九、优先级和结合性 从上面的逗号运算符那个例子可以看出,这些运算符计算时都有一定的顺序,就好象先要算乘除后算加减 一样。优先级和结合性是运算符两个重要的特性,结合性又称为计算顺序,它决定组成表达式的各个部分 是否参与计算以及什么时候计算。 下面是C语言中所使用的运算符的优先级和结合性: 优先级运算符结合性 (最高)()-

  自左向右 !~++--+-*&sz自右向左 *%自左向右 +-自左向右

  =自左向右 file:///E/找好文档就上豆丁网/常用变量大全.txt[2016/12/1 13:58:56] ==!=自左向右 &自左向右 ^自左向右 自左向右 &&自左向右 自左向右 ?自右向左 =+=-=*==%=&=^==

  =自右向左 (最低),自左向右 在该表中,还有一些运算符我们没有介绍,如指针运算符、sz运算符、数组运算符等等,这些在以 后的学习中会陆续说明的 表达式 一、表达式 前面已经提到过表达式,相信大家对表达式也有了一个初步的认识,它是由常量、变量、运算符组合 (到以后讲函数时,函数也可以是组成表达式的元素),计算以后返回一个结果值。表达式的结束标志是分 号(;),C语言中所有的语句和声明都是用分号结束,在分号出现之前,语句是不完整的。 例如: file:///E/找好文档就上豆丁网/常用变量大全.txt[2016/12/113:58:56] 表达式本身什么事情都不做,只是返回结果值。在程序不对返回的结果值做任何操作的情况下,返回的结果值不起任何作用,表达式的作用有两点,一个是放在赋值语句的右边,另一个是作为函数的参数(以 后再介绍)。 表达式返回的结果值是有类型的。表达式隐含的数据类型取决于组成表达式的变量和常量的类型。因 此,表达式的返回值有可能是某种大小的整型,或者是某精度的浮点型,或者是某种指针类型。 这里面就有类型转化的问题了,在前面说整型运算的时候也提到过。类型转化的原则是从低级向高级 自动转化(除非人为的加以控制)。计算的转换顺序基本是这样的: 字符型--

  整型--

  长整型--

  浮点型--

  单精度型--

  双精度型 就是当字符型和整型在一起运算时,结果为整型,如果整型和浮点型在一起运算,所得的结果就是浮 点型,如果有双精度型参与运算,那么答案就是双精度型了。 强制转换是这样的,在类型说明符的两边加上括号,就把后面的变量转换成所要的类型了。如: 第一个式子是把a转换成整型,如果原先有小数部分,则舍去。第二个式子是把b转换成浮点型,如果原先是整数,则在后面补。 每一个表达式的返回值都具有逻辑特性。如果返回值为非,则该表达式返回值为真,否则为假。这种 逻辑特性可以用在程序流程控制语句中。 有时表达式也不参加运算,如: 当a为真时,b就不参加运算了,因为不管b如何,条件总是真。二、语句 (一)、赋值语句 其实这个问题,在讲赋值运算符的时候已经讲了一些了。 Ara=Hgh*Wh;file:///E/找好文档就上豆丁网/常用变量大全.txt[2016/12/1 13:58:56] 也许你会发现,这些赋值语句很象代数方程,在某些情况下,我们的确可以这样理解,但有时它 们是不一样的。看下面: Nu=Nu+; 这显然不是一个等式。 (二)、用逗号分隔开的声明语句 C语言可大多数语言一样,允许用逗号分隔声明语句中的标识符列表,说明这些运算符是同一变量 类型。例如: aAra,Hgh,Wh; 但有些程序员喜欢把标识符写在不同的行上。如: aAra, Hgh, 这样写至少有一个好处,就是可以在每个标识符后边加上注释。在声明变量的时候,也可以直接给变量赋值,这叫做变量的初始化。 在进行初始化时,初始化表达式可以是任意的(对全局变量和静态变量有区别),由于逗号运算符是从左到右运算的,那么看看这样行不行? (三)、标准输入输出语句TurbC标准库提供了两个控制台格式化输入、输出函数sa();和pr();这两个函数可 以在标准输入输出设备上以各种不同的格式读写数据。sa()函数用来从标准输入设备(键盘)上读数 据,pr()函数用来向标准输出设备(屏幕)写数据。下面详细介绍这两个函数的用法。 标准输入语句 sa()函数是格式化输入函数,它从标准输入设备(键盘)读取输入的信息。其调用格式为 file:///E/找好文档就上豆丁网/常用变量大全.txt[2016/12/1 13:58:56] sa(

  ); 格式化字符串包括以下三类不同的字符; ()空白字符空白字符会使sa()函数在读操作中略去输入中的一个或多个空白字符。 ()非空白字符一个非空白字符会使sa()函数在读入时剔除掉与这个非空白字符相同的 字符。 ()格式化说明符以%开始,后跟一个或几个规定字符,用来确定输出内容格式。 TurbC提供的输入格式化规定符如下 %十进制有符号整数%u十进制无符号整数 %浮点数 %s字符串 %单个字符 %p指针的值 %,%X无符号以十六进制表示的整数 %无符号以八进制表示的整数 地址表是需要读入的所有变量的地址,而不是变量本身,取地址符为&。各个变量的地址之间同,分开。 例如: 上例中的sa()函数先读一个整型数,然后把接着输入的逗号剔除掉,最后读入另一个整型数。如果,这一特定字符没有找到,sa()函数就终止。若参数之间的分隔符为空格,则参数之间必须输入一个 或多个空格。 说明 (a)对于各个变量,类型说明符是什么,输入格式化说明符就应该用对应的类型。否则会 出现程序错误或输入数据和理想的不一样。 (b)对于字符串数组或字符串指针变量,由于数组名和指针变量名本身就是地址,因此使用 sa()函数时,不需要在它们前面加上&操作符。 file:///E/找好文档就上豆丁网/常用变量大全.txt[2016/12/1 13:58:56] har*p,sr; 具体字符串,指针的知识以后再介绍。()可以在格式化字符串中的%各格式化规定符之间加入一个整数,表示任何读操作中的最 大位数。 如上例中若规定只能输入字符给字符串指针p,则第一条sa()函数语句变为 程序运行时一旦输入字符个数大于,p就不再继续读入。实际使用sa()函数时存在一个问题,下面举例进行说明 当使用多个sa()函数连续给多个字符变量输入时,例如 运行该程序,输入一个字符A后回车(要完成输入必须回车),在执行sa(%,&)时,给变量赋值A,但回车符仍然留在缓冲区内,执行输入语句sa(%,&)时,变量输出的是一空行,如果输入AB后回 车,那么实际存入变量里的结果为为A,为B。 要解决以上问题,可以在输入函数前加入清除函数ush();(这个函数的使用方法将在本节最 后讲述)。 ()当在格式说明符之间加入*时,表示跳过输入,例如: 当输入4的时候,前面三个字符跳过去不考虑,最终变量a的值为4。标准输出语句 pr()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。在编写程序 时经常会用到此函数。pr()函数的调用格式为 pr(

  ); 其中格式化字符串包括两部分内容一部分是正常字符, 这些字符将按原样输出;另一部分是格式化规定字符,以%开始,后跟一个或几个规定字符,用来 确定输出内容格式。 file:///E/找好文档就上豆丁网/常用变量大全.txt[2016/12/1 13:58:56] 参量表是需要输出的一系列参数,其个数必须与格式化字符串所说明的输出参数个数一样多,各 参数之间用,分开,且顺序一一对应,否则将会出现意想不到的错误。 对于输出语句,还有两个格式化说明符 符号作用 %指数形式的浮点数 %g自动选择合适的表示法 说明 ()可以在%和字母之间插进数字表示最大场宽。 例如%表示输出位整型数,不够位右对齐。 %9表示输出场宽为9的浮点数,其中小数位为,整数位为,小数点占一 位,不够9位右对齐。 %s表示输出个字符的字符串,不够个字符右对齐。 如果字符串的长度、或整型数位数超过说明的场宽,将按其实际长度输出。但对浮点 数,若整数部分位数超过了说明的整数位宽度,将按实际整数位输出;若小数部分位数超过了说明的小数位宽 度,则按说明的宽度以四舍五入输出。 另外,若想在输出值前加一些,就应在场宽项前加个。 例如%4表示在输出一个小于4位的数值时,将在前面补使其总宽度为4位。 如果用浮点数表示字符或整型量的输出格式,小数点后的数字代表最大宽度,小数点前 的数字代表最小宽度。 例如%9s表示显示一个长度不小于且不大于9的字符串。若大于9,则第9个 字符以后的内容将被删除。 ()可以在%和字母之间加小写字母,表示输出的是长型数。 例如%表示输出g整数 %表示输出ub浮点数 ()可以控制输出左对齐或右对齐,即在%和字母之间加入一个-号可说明输出为左对齐, 否则为右对齐。 例如%-7表示输出7位整数左对齐 %-s表示输出个字符左对齐file:///E/找好文档就上豆丁网/常用变量大全.txt[2016/12/1 13:58:56] 一些特殊规定字符(可以参照前面说的转义字符) \换行\清屏并换页 \r回车 \Tab符 \hh表示一个ASCII码用进表示 由本节所学的pr()函数,并结合上一节学习的数据类型,看下面的语句,加深对TurbC数据类型的了解。 pr(a=%\,a);*结果输出十进制整数a=4*pr(a=%\,a);*结果输出位十进制数a=4* pr(a=%\,a);*结果输出位十进制数a=4* pr(a=%\,a);*a超过位,按实际值输出a=4* pr(=%\,);*输出浮点数=49* pr(=4\,);*输出位其中小数点后4位的浮点数=4* pr(=%\,);*输出长浮点数=47* pr(=%\,);*输出位其中小数点后位的长浮点数 pr(=%\,);*输出字符=A*pr(=%\,);*输出字符的ASCII码值=4* 上面结果中的地址值在不同计算机上可能不同。 当然还有一些输入输出函数,这个以后用到时慢慢再介绍。

网友评论

我的2016年度评论盘点
还没有评论,快来抢沙发吧!