码迷,mamicode.com
首页 > 其他好文 > 详细

最最最最最最最最基础的C---数据类型与运算符,三种基本结构,语句

时间:2015-11-18 19:49:55      阅读:249      评论:0      收藏:0      [点我收藏+]

标签:c语言

算法处理的对象是数据,数据是以某种特定的形式存在的

数据类型

1字节(byte)=8位

基本数据类型: 整型  (short2字节, int 4字节, long 4字节)

              浮点型(float 4字节.double 8字节,long double 16字节)

              字符型(char 8字节)   

              布尔型(bool true(1)&flase(0))    

              枚举类型(enum)

构造数据类型:数组类型,    结构体类型(struct)  共用体类型(union)

其他:        指针类型(*)    空类型void)


常量:值不能改变的量。    符号常量:用一个标识符代表一个常量,常用大写

变量:值能改变的量。 命名常用小写,第一个字符为字母或下划线C区分大小写字母

基本数据类型:整型

整型常量: 表达方式三种:10进制;8进制(0开头);16进制(0x开头)

                     三种进制转换:除余法&乘幂法

整型变量: 数据以二进制形式存储,以补码的形式表示

          正整数的补码与原码一样

          负整数的补码是将其绝对值的二进制形式,按位取反加1

          区分unsigned(无符号修饰符)与signed(有符号,缺省设置)

             1.unsigned的二进制形式的首位表示数据的第一位;

               signed的二进制形式的首位表示数据的正负(符号位);0为正,1为负

             2.unsigned整型数据只能存放正数

             3.unsigned整型数据的储存范围是signed的2倍

数据溢出:变量的值超出了数据类型的范围;当发生数据溢出,自动调整到数据类型能够表示的范围(也就是说数据的范围表示为一个圈,数据一旦溢出,但还是在圈内)(注意数据溢出)

当变量的值>最大值,变量的值-类型所表示数据范围

当变量的值<最小值,变量的值+类型所表示数据范围

基本数据类型:浮点型

浮点型常量表达方式:1.十进制小数形式(数字和小数点组成):0.123;0.5

                   2.指数形式:123e3或123E3代表123×10^3

            规范化的指数形式:字母e(E)之前的小数部分中,小数点左边有且只有一位非零数字。如:2.3738e2

浮点型变量:数据类型以指数形式存储,分为小数部分和指数部分

 

浮点型精度问题:判断两个float型数据是否相等:

                    ABS(a-b)<=0.000001(科学计数:1e-6)    

基本数据类型:字符型

字符常量:用一对单撇号括起来的一个字符,如:‘a‘每一个字符对应一个ACSII码值        

             C允许一种特殊形式的字符常量,以"\"开头的字符序列,转义字符。如‘\n‘

字符变量:只能存放一个字符,在内存占一个字节。字符在内存的存储形式是在内存单元存放的相应的ASCII码值,也就是整型数据;故一个字符数据可以以字符形式输出,也可以以整形形式输出


字符串常量:用一对双撇号括起来的字符序列,如:"China"

 

C规定:每一个字符串常量的结尾加一个“字符串结束标志”---‘\0‘

基本数据类型:布尔型

 只有两个值true(1)flase(0)常用来进行判断

基本数据类型:枚举型

将变量的值一一列举出来,变量的值只限于列举出来的值得范围内

             一般形式:enum 变量名{ 枚举元素 };

             说明:1.在C中,对枚举元素按常量处理,故称为枚举常量

                    2枚举常量是有值得,其值为从0开始:0,1,2......;也可以自行设定

                    3.枚举值可以用来作判断比较

                    4.一个整数不能直接赋给一个枚举变量,必须强转


运算符(以及优先级)

优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。表达式的结合次序取决于表达式中各种运算符的优先级。优先级高的运算符先结合,优先级低的运算符后结合,同一行中的运算符的优先级相同。

所有的优先级中,只有三个优先级是从右至左结合的,它们是单目运算符条件运算符赋值运算符。其它的都是从左至右结合。

单目运算符,所有的单目运算符具有相同的优先级,单目运算符优先级最高

优先级

运算符

名称或含义

使用形式

结合方向

说明

1

[]

数组下标

数组名[整型表达式]

左到右


()

圆括号

(表达式)/函数名(形参表)


.

成员选择(对象)

对象.成员名


->

成员选择(指针)

对象指针->成员名


2

-

负号运算符

-表达式

右到左

单目运算符

(类型)

强制类型转换

(数据类型)表达式


++

自增运算符

++变量名/变量名++

单目运算符

--

自减运算符

--变量名/变量名--

单目运算符

*

取值运算符

*指针表达式

单目运算符

&

取地址运算符

&左值表达式

单目运算符

!

逻辑非运算符

!表达式

单目运算符

~

按位取反运算符

~表达式

单目运算符

sizeof

长度运算符

sizeof 表达式/sizeof(类型)


3(算术运算符)

/

表达式/表达式

左到右

双目运算符

*

表达式*表达式

双目运算符

%

余数(取模)

整型表达式%整型表达式

双目运算符

4(算术运算符)

+

表达式+表达式

左到右

双目运算符

-

表达式-表达式

双目运算符

5(移位运算符)

<< 

左移

表达式<<表达式

左到右

双目运算符

>> 

右移

表达式>>表达式

双目运算符

6(关系运算符)

大于

表达式>表达式

左到右

双目运算符

>=

大于等于

表达式>=表达式

双目运算符

小于

表达式<表达式

双目运算符

<=

小于等于

表达式<=表达式

双目运算符

7(关系运算符)

==

等于

表达式==表达式

左到右

双目运算符

!=

不等于

表达式!= 表达式

双目运算符

8

&

按位与

整型表达式&整型表达式

左到右

双目运算符

9

^

按位异或

整型表达式^整型表达式

左到右

双目运算符

10

|

按位或

整型表达式|整型表达式

左到右

双目运算符







11

&&

逻辑与

表达式&&表达式

左到右

双目运算符

12

||

逻辑或

表达式||表达式

左到右

双目运算符

13

?:

条件运算符

表达式1? 表达式2: 表达式3

右到左

三目运算符

14

=

赋值运算符

变量=表达式

右到左


/=

除后赋值

变量/=表达式


*=

乘后赋值

变量*=表达式


%=

取模后赋值

变量%=表达式


+=

加后赋值

变量+=表达式


-=

减后赋值

变量-=表达式


<<=

左移后赋值

变量<<=表达式


>>=

右移后赋值

变量>>=表达式


&=

按位与后赋值

变量&=表达式


^=

按位异或后赋值

变量^=表达式


|=

按位或后赋值

变量|=表达式


15

,

逗号运算符

表达式,表达式,…

左到右

从左向右顺序运算

(表格在网上查询所得)


三种基本结构,语句

三种基本结构:顺序结构,选择结构,循环结构

语句:简单语句,复合语句{},顺序语句,条件语句(if,switch),循环语句(while,do while,for),转移语句(break,continue,goto)

注意点:if else语句的配对:就近原则;规范性

        break与continue的区别

           1.break用在switch语句和循环语句中

             continue只能出现在循环体中

           2.break跳出整个循环,执行循环体下面的语句

             continue跳出当前这一次循环,进入下一次是否循环的判断


本文出自 “毕业---觉醒---行走” 博客,请务必保留此出处http://tjy888.blog.51cto.com/5576345/1714407

最最最最最最最最基础的C---数据类型与运算符,三种基本结构,语句

标签:c语言

原文地址:http://tjy888.blog.51cto.com/5576345/1714407

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!