大奖网官方网站 > 笔记本.平板 > C语言概括,数据类型

原标题:C语言概括,数据类型

浏览次数:119 时间:2019-10-29

第1章 C语言归纳

 

第1章 C语言回顾
1. C源程序的协会特性
2. 挥毫程序时应总服从的平整
3. C语言的字符集
4. C语言词汇
第2章 数据类型,运算符,表明式
1. C语言的数据类型
2. 整型量
3. 实型量
4. 字符型量
字符常量包蕴字符常量和字符变量
5. 变量的开首值和类型转变
6. 中坚运算符和表明式[1]
小结

 

C语言的数据类型:基本数据类型、构造数据类型、指针类型、空类型。

  • 布局数据类型:是基于已定义的一个或多个数据类型用构造方法来定义的。二个构造类型的值能够分解成若干个“成员”或“成分”
  • 指针类型: 指针是后生可畏种奇特的,同不常候又是颇有主要成效的数据类型。其值用来代表有个别变量在内部存款和储蓄器储器中的地址。

1. C源程序的组织性格

  1. 二个C语言源程序能够由多少个或七个源文件组成
  2. 各种源文件可由三个或四个函数组成
  3. 三个源程序无论由多少个公文组成,都唯有一个且只有一个main函数,即主函数
  4. 源程序中得以有预管理命令(include 命令仅为内部黄金年代种),预管理命令常常应放在源文件或源程序的最前方
  5. 每三个评释,每一个言辞都必须要以分集团结尾。但预管理命令,函数头和花括号“{}”之后不能够加分号
  6. 标记符,关键字里面必得最少加一个空格以示间隔。若本来就有威名赫赫的间距符,也可不再加空格来间距

常量与变量

2. 书写程序时应总听从的不成方圆

  1. 贰个证实或一个话语占后生可畏行
  2. 用 {} 括起来的有的,平日表示了程序的某档次结构。{} 平时与布局语句的率先个字母对齐,并单独自据有生龙活虎行
  3. 低生机勃勃等级次序的说话或表达可比高豆蔻梢头等级次序的讲话或评释缩进若干格后书写。

常量:程序实行进度中其值不产生改换的量。

  • 直接常量:
    a.整型常量:1,100,29,-10
    b.实型常量:5.2,6.4,-0.5
    c.字符常量:‘a’,'b'
  • 标识常量:用宏来代表二个常量。在C语言中,能够利用一个标记符来代表叁个常量,称之为符号常量。
    标记常量在动用之前供给先定义,其貌似方式为:
  • () #define 标识符 常量
    其中#define是一条预管理命令,称为红定义命令,其职能是把该标志符定义为随后的常量值。
    习贯上符号常量的标志符使用大写字母,变量标志符使用小写字母,以示区别
  • 例如:#define PI 3.1415926

3. C语言的字符集

  • 字符是构成语言的最大旨的要素,C语言字符集由字母,数字,空格,标点和特殊字符组成,在字符常量中,字符串常量和注释中还足以应用汉字或别的可代表的图形符号
  1. 字母:小写字母 a~z ,大写字母 A~Z

  2. 数字:0~9 共10个

  3. 空白符(空格符,制表符,换行符)只在字符常量和字符串常量中起效果。此外地点,只起间距功用
  4. 标点和特殊字符

变量:其值能够变动的量成为变量

二个变量应该有贰个名字,在内部存款和储蓄器中损人益己一定的存款和储蓄单元,变量在行使以前必须先定义。
int a=3; int是a的数据类型,a是变量名,3是变量值。

4. C语言词汇

  • 六类:标识符,关键字,运算符,分隔符,常量,注释符
  1. 标记符:在程序中动用的变量,函数名,标号等统称为标志符。除库函数的函数名由系统定义外,其余都由顾客定义。C 规定,标志符只可以是字母(A~Z,a~z)、数字(0~9)、下划线()组成的字符串,何况第多个字符必得是字母大概下划线(总来讲之不能够是数字)

  2. 主要字:是由C语言规定的持有一定意义的字符串,日常也叫做保留字。顾客定义的标志符不应与第一字同名
    1) 类型表达符:用于定义、表达变量、函数或其余数据结构的门类;如 int double等
    2) 语句定义符:用于表示多个口舌的意义;if else 条件语句
    3) 预管理命令字:用于表示三个预管理命令; include等

  3. 运算符:C语言中包涵十三分足够的运算符。运算符与变量,函数一齐组成表明式,表示各样运算功能。运算符由七个或多少个字符组成
  4. 相隔符:有逗号和空格三种。逗号首要用在档案的次序表明和函数参数表中,分隔各种变量。空格多用来语句各单词之间,做间距符
  5. 常量:C语言中应用的常量可分为数字常量,字符常量,字符串常量,符号常量,转义字符等各种
  6. 注释符:“/* */” 多行注释 # 单行注释

整型数据

第2章 数据类型,运算符,表达式

1.整型常量

整型常量正是整常数,C语言中的常整数有八进制,十八进制,十进制三种。
(1)十进制整常数:十进制常整数没有前缀,其数据为0~9

  • 法定的十进制整常数,123,2,4356,-100.
  • 不合规的十进制整常数:078,78A(含有非十进制数码)
  • 在前后相继中逐意气风发前缀用来分别各类进制数。
    (2)八进制常整数:八进制整数必得以0早先,即以0作为八进制数的前缀。数码为0~7。八进制平常是无符号数。
  • 合法的八进制整常数:015(13),0101(64),0177777(65535)
  • 违法的八进制整常数:256,03A2,-0127
    (3)十七进制整常数:十一进制整常数的前缀为0X或0x,其数量为09,af或A~F,
  • 合法的十五进制整常数:0X2A(42),0XA0(160),0XFFFF(65535)
  • 专断的十一进制整常数:5A,0X3H

1. C语言的数据类型

  • 可分为:基本数据类型,构造数据类型,指针类型,空类型
  1. 主导数据类型:其值不可能再解释别的品类,
  2. 组织数据类型:是依靠已定义三个或七个数据类型用构造的艺术来定义的。一个构造类型的值能够分解成多少个“成员”或“成分”。每一种成员都以二个着力数据类型或又是一个构造类型。构造类型:数组类型,结构类型,联合项目
  3. 指针类型:其值用来代表某些量在内部存款和储蓄器存款和储蓄器中的地址
  4. 空类型:在调用函数值时,平日应向调用者重临多个函数值,类型表达符为:void

对此基本数据类型量,按其取值是还是不是可以更正分为变量和常量;在程序履行中,其值不产生转移的量称为常量,反之;可分为:整型常量,整型变量,浮点常量,浮点变量,字符常量,字符变量,枚举常量,枚举变量。在程序中,常量是足以不经表达而平昔引用的,而变量则必需先表明后选取

实型数据

  • 十进制数格局:由0~9和小数点组成
  • 合法实数:0.0,0.12,4.567,-256.123 (必须有小数点)
  • 指数方式:由十进制数加阶码标记“e”或“E”以至阶码组成。
  • 其貌似方式为: a E n (a 为十进制数,n为十进制整数)
  • 其值为 a10^n.
    如:2.1e5(2.1
    10^5) 3.7e-2(3.710^-2) 0.5e7(0.510^7)

2. 整型量

  • 整型量蕴含整型常量、整型变量。整型常量正是整常数:八进制,十五进制,十进制
    二进制到八进制调换
    1 100 011 100 110
    1 4 3 4 6
    二进制到十四进制转变:
    1 1000 1110 0110
    1 8 E 6
  1. 整型常量
    1) 八进制整常数八进制整常数必需为0伊始,即以0作为八进制数的前缀。数码取值为0~7,八进制日常是无符号数
    015(十进制为13) 0101(65)
    2) 十八进制整常数的前缀为0X或0x。数码取值 0~9,A~F 或 a~f
    0X2A(十进制13) 0XA0(160)
    3) 十进制整常数未有前缀。数码取值 0~9

十进制无符号整常数的约束为 0~65535 有号子数为 -32768~32767 ; 八进制无符号数的意味范围为 0~0177777 ; 十七进制无符号数的代表范围为 0X0~0XFFFF 或 0x0~0xFFFF
假定运用的数码超越了上述范围,就必须要用长整型数来表示。长整型数是用后缀 "L" 或 "l"
十进制长整常数 158L (十进制为158) 358000L(十进制为 -358000)
八进制长整常数 012L (十进制为 10) 077L (十进制为 63)
十一进制进制长整常数 0X15L (十进制为 21) 0X10000L (十进制为 65536)
整型常数的无符号数的后缀为 “U” 或 “u”

  1. 整型变量
    1) 基本型:int 在内部存款和储蓄器中占 2 个字节,其取值为骨干整常数 -32768~32768
    2) 短整量:short int 同基本型 -32768~32768
    3) 长整型:long int 或 long 在内部存款和储蓄器中占4个字节,其取值为长整常数 -32768~32768
    4) 无符号型:unsigned
  • 变量表明的日常格局:类型表达符 变量名称标志符 …:

<wiz_code_mirror>

 

 

 

 

 

 1 int a, b, c // (a,b,c 为整型变量) 2 long x, y // (x,y 为长整型变量) 

 

 

  • 注意:
    1.允许在三个档案的次序表达符后,表达五个黄金时代律类别的变量。各变量之间用逗号 间距,类型表达符与变量名之间最少用叁个空格间距
    2.聊到底三个变量名之后必得以“;”号最终
    3.变量表达必得在变量使用早前,经常放在函数体的起首部分

实型变量

(1)实型变量实型数据在内部存款和储蓄器中的存放格局

  • 实型数据貌似占4个字节。按指数格局积存。
    |符号位 |小数部分 |指数部分 |
    小数部分占的位愈来愈多,数的管用数字越多,精度越高
    指数部分占的位数越来越多,数能代表的界定越大。

    (2)实型变量的分类
  • 单精度(float),双精度(double型),长双精度(long double型)三类

3. 实型量

  1. 实型常量:实型也可以称作 浮点型;实型常量也称之为实数或许浮点数;十进制数情势和指数格局
    1) 十进制数方式:由数量 0~9 和小数点组成
    2) 指数格局:由十进制数,加阶码标记“e”或“E”以致阶码组成(其貌似形式为a E n (a为十进制数,n为十进制整数)其值为 a10,n 如: 2.1E5 (等于2.110,5))
  2. 实型变量:单精度型和双精度型
    1) 单精度表达符:float 在C中单精度型占4个字节(31个人)内部存款和储蓄器空间,其数值范围为3.4E-38~3.4E+38,只好提供八个人有效数字;
    2) 双精度表达符:double 双精度型占8个字节(六拾一位)内部存款和储蓄器空间,其数值范围为1.7E-308~1.7E+308,可提供15位有效数字
    3) 实型变量说明的格式和书写规格与整型雷同

字符变量

字符数据在内部存款和储蓄器中的囤积方式及利用情势。
每个字符变量被分配一个字节的空间,由此只能贮存三个字符。字符值是以ASCII码的款式贮存在内部存款和储蓄器单元中的。

#include <stdio.h>
int main()
{
    char a,b;
    a = 120;
    b = 121;
    printf("%c,%cn",a,b);
    printf("%d,%dn",a,b);
    return 0;
}

a=x b=y
a=120 b=121

4. 字符型量

  • ##### 字符常量富含字符常量和字符变量
  1. 字符常量:是用单引号括起来的三个字符。'a' 'b' '+' '?' 都以官方的字符常量
    1) 字符常量只好用单引号括起来,不能够用双引号或其余括号
    2) 字符常量只可以是个单个字符,不能是字符串
    3) 字符能够是字符集率性字符,但数字被定义为字符后就不能够参入数值运算
  2. 转义字符:转义字符以反斜线""早先,后跟一个或多少个字符
转义字符 转义字符的意义
n 回车换行
t 横向跳到下一制表位置
v 竖向跳格
b 退格
r 回车
f 走纸换页
反斜线符""
' 单引号符
a 鸣铃
ddd 1~3位八进制数所代表的字符
xhh 1~2位十六进制数所代表的字符
  1. 字符变量:的取值是字符常量,即单个字符。字符变量的品种表达符是 char。
    1) 如x的十进制ASCII码是120,y的十进制ASCII码是121。对字符变量a,b付与'x'和'y'值: a='x';b='y';实际上是在a,b七个单元内部存储器放120和121的二进制代码: a 0 1 1 1 1 0 0 0
         b 0 1 1 1 1 0 0 1
  2. 字符串常量:是由意气风发对双引号括起的字符系列,"charn" "REBT";字符串常量和字符常量是莫衷一是的量:
    1) 字符常量由单引号 括起来,字符串常量由双引号 括起来
    2) 字符常量只可以是单个字符,字符串常量则足以含八个或八个字符
    3) 能够把多个字符常量赋值三个字符变量,但不可能把一个字符串常量授予三个字符变量;不过能够用叁个字符数组来贮存贰个字符串常量
    4) 字符常量占二个字节 的内部存款和储蓄器空间,字符串常量占的内部存款和储蓄器字节数等于字符串字节数加1,增添的二个字节存放字符"",那是字符串停止的标记
  3. 标志常量:能够用二个标记符来代表三个常量,在行使前必需先定义,其方式: #define 标记符 常量(宏定义命令)

字符串常量和字符常量是例外的量.他们有以下分别

  • 字符常量是由单引号括起来的,字符串常量是由双引号括起来的
  • 字符常量只可以是单个字符,字符串常量则含有一个火多个字符.
  • 能够啊贰个字符常量付给贰个字符变量,但不可能把三个字符串常量付给二个字符变量.在C语言中从未对应的字符串变量。我们用贰个字符数组在贮存二个字符变量。
  • 字符占叁个字节的内存空间.字符串常量占的内部存款和储蓄器字节数等于字符串中的字节数加生龙活虎.充实的二个字节用于寄存字符'',那是字符串的完工标记。

5. 变量的开始值和类型调换

  1. 变量赋初值:日常须要对变量赋初值,以便利用变量;
    项目表明符 变量1 = 值1, 变量2 = 值2···;

<wiz_code_mirror>

 

 

 

 

 

1 int a = 4, b = 2;
2 char = ch1 = 's', ch2 = 'a';
3 int a = b = c = 4;        // error 不允许连续赋值

 

 

 

  1. 变量类型的改变:变量的数据类型是足以转变的,自动转变 和 强制转变
    1) 自行转变:爆发在差异数据类型的量在混合运算时,由编写翻译系统自动实现,准则:
    · 若参加运算量的品种不一致,则先调换来群集类型,然后举行演算
    · 转换按多长扩大的大方向开展,以保障精度不收缩。如 int型和long型运算时,先把int量转成long型后在拓宽览演出算
    · 全体的浮点运算都以以双精度进行的,固然仅含float单精衡量运算的表达式,也要转成double型,再做运算
    · char型和short型参加运算时,必得先转换成int型
    · 在赋值运算中,赋值号两侧量的数据类型分化期,赋值号侧面量的品种将改换为左侧量的等级次序,即使左侧量的数据类型长度左侧长时,将错失生机勃勃部分数额,那样会骤降精度,错过的生机勃勃对按四舍五入向前舍入
    2) 强制调换:是经过类型转换成促成的,日常格局:(类型表明符) (表明式) 其效果是把表明式的演算结果强制转变到类型表达符所表示的项目;
    例如说:(float) a 把a调换为实型; (int) (x+y) 把x+y的结果运算结果强制转换为整型
    · 类型表达符和表达式都必得加括号(单个变量能够不加括号),
    · 无论是强制转换或是自动调换,都只是为着此次运算的须求而对变量的数量长度进行的近期转变,而不改变数码证实时对该变量定义的种类

各队数据类型的混合运算

(1) 若加入运算量的品种区别,则先调换来同意气风发类型然后开展运算.
(2)转换按数据长度扩充的势头拓宽,以保证精度不下跌,如int与long运算时,先把int转变为long,然后开展览演出算。
(3)全体的浮点型运算都是以双精度实行的,即便仅含float单精度量运算的表明式,也要先转移为double型,然后进行演算。
(4)char型和short运算时,必得先转移为int
(5)在赋值运算时,赋值号两侧量的数据类型不相同偶尔间,赋值号侧面的量的类型转变为左边量的类型.如若侧面量的数据类型长度超越左侧的,则会屏弃风流浪漫部分数目,那样会下滑精度,遗失的风华正茂对四舍五入.

![Upload Paste_Image.png failed. Please try again.]

6. 为主运算符和表明式[1]

  1. 优先级和结合性:运算符的运算优先级分为15级,优先级较高的自认为是优先级低的进展演算,而在四个运算量两则的运算符优先级相近年来,则按运算符的结合性:即左结合性(自左向右)右结合性(自右向左)
  2. 算术运算符和算术表明式基本的算术运算符
    1) 加法运算符"+" :双眼运算符,即应当七个量插手加法运算,具备右结合性
    2) 减法运算符"-" :双眼运算符,但'-'也可看作负值运算符,当时为单目运算符,具备左结合性
    3) 乘法运算符" * " :双目运算符,具有左结合性
    4) 除法运算符"/" :双眼运算符,插手运算量均为整型时,结果也为整型,舍去小数;即使运算量中有四个是实型,则结果位双精度实型,具备左结合性
    5) 求余运算符"%" :双眼运算符,需要参与运算的量均为整型,求余运算的结果特别两数相除后的余数,具有左结合性
  3. 自增自减运算符:自增1运算符记为"++",其功用是使变量的值自增1,自减1运算符记为"--",其成效是使变量值自减1;自增1,自减1运算符均为单目运算符,具备右结合性
    · ++i i自增1后再参与任何运算
    · --i i自减1后再参预此外运算
    · i++ i参预运算后,i的值再自增1
    · i-- i加入运算后,i的值再自减1
  4. 算术表明式:由算术运算符和括号连接起来的姿势,举例:
    (a2)/c (x+r)8-(a+b)/7  ++i sin(x)+sin(y)  (++i)-(j++)+(k--)

  5. 赋值运算符和赋值表明式:轻松的赋值运算符记为"="。由 "="连接的姿势称为赋值表明式,格局:变量 = 表明式;赋值表明式的功用是总结说明式的值再授予右侧的变量。赋值运算符具备右结合性。因而a=b=c=5 可见晓为 a=(b=(c=5))

  6. 复合赋值符及表明式:在赋值符"="早先拉长其余双目运算符可构成复合赋值符;构成复合赋值表明式的情势:变量 双眼运算符 = 表明式 它等效于 变量 = 变量 运算符 表达式

  7. 逗号运算符:"," 其职能是把多少个表明式连接起来组成四个表达式,经常格局:表达式1,表达式2···

强制类型转变

  • 强制类型调换是通过类型转变运算来兑现的。
  • 其貌似格局为:
    (类型表明符)(表明式)
    其功效是吧表明式的演算结果强制变换来类型表达符所表示的类型
    int a;
    (float) a; //把a调换为实型
    (int) (x+y) //把x+y的结果转换为整型
    注意:
    (1)类型表明符和表明式都必须加括号(单个变量能够不加),
    (2)无论是强制类型转换照旧自动转变,都只是为了此次运算的内需对变爱玲的数量长度进行权且替换,实际不是改造变量的连串。

小结

  • C的数据类型:
    宗旨项目 构造类型 指针类型 空类型
  • 主旨类型的分类及特点:
类型说明符 字节 数值范围
字符型 char 1 C字符集
基本整型 int 2 -32768~32767
短整型 short int 2 -32768~32767
长整型 long int 4 -214783648~214783647
无符号型 unsigned 2 0~65535
无符号长整型 unsigned long 4 0~4294967295
单精度实型 float 4 3/4E-38~3/4E+38
双精度实型 double 8 1/7E-308~1/7E+308
  • 常量后缀:
    L或l 长整型
    U或u 无符号数
    F或f 浮点数
  • 常量类型:
    大背头 长整数 无符号数 浮点数 字符 字符串 符号常数 转义字符
  • 数据类型转变:
    · 自动转变:在分化类型数据的交集运算中,由系统活动达成转移,由少字节类型向多字节类型调换。分歧品类的量相互赋值时也由系统活动实行更动,把赋值号左侧的类型转变为左侧的品种
    · 强制调换:由强制调换运算符做到改换
  • 运算符优先级和结合性:
    相近来说,单目运算符刚开始阶段级较高,赋值运算符预先级低;算术运算符事先级较高,涉及和逻辑运算符先行级异常的低;相当多运算符具备左结合性,单目运算符,三目运算符、赋值
  • 表达式:
    是由运算符连接常量、变量、函数所构成的姿态。每个表明式都有贰个指和类型。表明式求值按运算符的优先级和结合性所分明的各样举行~~~~

本文由大奖网官方网站发布于笔记本.平板,转载请注明出处:C语言概括,数据类型

关键词:

上一篇:异步推行控件耗费时间事件,为何选取十二线程

下一篇:PANTONE国际色卡C面效果电子版