提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
本文为C语言笔记的第一节,主要内容是关于基本数据类型和运算符的笔记。由于是笔记所以例子较少,目的是用于已学完C语言该部分内容后的复习以及构建知识体系。
一、C语言概述
1.计算机语言
1.机器语言
机器语言是指计算机能够识别的二进制01代码
2.汇编语言
汇编语言是指汇编基本的01代码后抽象的语言
3.高级语言
高级语言是指现在所用的更加抽象的编程语言,如C语言,C++语言,JAVA语言和Python语言等
二、基本数据类型与运算符
1.计算机常用的几种进制
十进制
二进制
信息的储存单位
位(bit):表示一位二进制
字节:由八位二进制数组成
注意:内存是按字节进行编址的
进制转化
整数部分
二进制转十进制:加权展开(类似科学记数法)
十进制转二进制:短除法(倒序排列余数)
小数部分
将小数位乘2取整,直至小数部分为0或达到保留小数位要求,将所得整数顺序排列
八进制
八进制与二进制之间的转化:每三位二进制对应一位八进制
十六进制
十六进制与二进制之间的转化:每四位二进制对应一位十六进制
2.计算机中负数的表示
负数的表示:负数以原码的补码形式表示
原码
正数的原码为绝对值转化的二进制
负数的原码为绝对值转化的二进制,在最高位补1
反码
正数的反码与原码相同
负数的反码为除符号位外各位数取反
补码
正数的补码与原码相同
负数的补码为负数反码最后位加1
注意
从补码求原码则进行逆运算;
补码规定0无正负之分
3.数据的描述
标识符:标识符只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线
注意:在C语言中,标识符是区分字母的大小写的
关键字:C语言的特殊标识符,是系统定义的用于特殊用途的标识符。这些特殊的标识符不能再被程序员定义,但是可以被使用。
4.C语言的数据类型及其运算
常量和变量
常量:在程序运行过程中,其值不能被改变的量
整型常量:如1000,12345,0,-345
实型常量:
十进制小数形式:如0.34 -56.79 0.0
指数形式:如12.34e3
字符常量:
如’?’
转义字符:如’\n’
字符串常量:如”boy”
符号常量:#define PI 3.1416
变量:在程序运行期间,变量的值是可以改变的变量必须先定义,后使用
定义变量时指定该变量的名字和类型
变量名和变量值是两个不同的概念
变量名实际上是以一个名字代表的一个存储地址
从变量中取值,实际上是通过变量名找到相应的内存地址,从该存储单元中读取数据课程内容
数据类型
整型数据
数据类型
注意:整型数据的溢出
整型常量
十进制
八进制:
八进制整常数必须以0开头,其数码组成为0~7。八进制数通常是无符号数
十六进制:
十六进制整常数的前缀为0X或0x,其数码取值为09、AF或a~f
整型变量
整数类型说明符 变量名标识符1, 变量名标识符2, …;
浮点型数据
作用:用来表示具有小数点的实数
数据类型
float型(单精度浮点型):编译系统为float型变量分配4个字节
double型(双精度浮点型):编译系统为double型变量分配8个字节
指数形式:
由十进制数,加阶码标志“e”或“E”以及阶码(阶码是整数形式,有正和负之分)组成。其一般形式为s E n(s为十进制数,n为十进制整数)
注意:
应当避免将一个很大的数和一个很小的数直接相加或相减,否则就会“丢失”小的数
字符型数据
字符类型
在C语言中,每个字符在内存中占1字节。字符是按其代码(整数)形式存储的,其存储的值是与ASCII码表中的ASCII码值相对应
字符类型的定义
C语言中使用类型说明符char来对字符类型变量进行定义,其在内存中占1字节
注意字符’1’和整数1是不同的概念:
字符’1’只是代表一个形状为’1’的符号,在需要时按原样输出,在内存中以ASCII码形式存储,占1个字节
整数1是以整数存储方式存储的,占4个字节
字符常量
字符常量是用单引号括起来的一个字符
字符变量
字符变量:字符变量是用来存储字符常量的变量,即单个字符。字符变量的类型说明符是char
转义字符
八进制与十六进制的转义输出
字符串
字符串常量是由一对双引号括起来的字符序列
字符常量以一对单引号括起来,字符串常量则以一对双引号括起来
字符常量以一对单引号括起来,字符串常量则以一对双引号括起来
在赋值时,可以把一个字符常量赋值给一个字符变量,但不能把一个字符串常量赋值给一个字符变量
字符常量在内存中占1字节,而字符串常量在内存中占的字节数等于字符串中字符数加1,主要是为了在内存存储空间中增加1字节来存放字符串结束标志“\0”(ASCII码为0,即NUL)
运算符和表达式
1.基本的算术运算符
、+ :正号运算符(单目运算符)
、- :负号运算符(单目运算符)
、* :乘法运算符
、/ :除法运算符
、% :求余运算符
、+ :加法运算符
、- :减法运算符
注意:
1)如果参加+、-、*、/ 运算的两个数中有一个为实数,则结果为实数;
2)两个整数相除,商为整数;(若商有小数,则截去小数部分)例:7/4 商为1;
3)进行模(%)运算的两个数,必须为整型数据
2. 自增、自减运算符
作用是使变量的值1或减1
++i,–i:在使用i之前,先使i的值加(减)1
i++,i–:在使用i之后,使i的值加(减)1
注意:
(1)自增(++)和自减(–)运算符的优先级和+(正)、-(负)同级别;
(2)++、–运算符只能用于变量,而不能用于常量或表达式;
(3)++、–具有左结合性。–i,i自减1后再参与其他运算;i–,i参与运算后,i的值再自减1;
3.赋值运算符和赋值表达式
(1)赋值运算符
使用的基本形式为:变量= 表达式
(2)复合的赋值运算符
在赋值符“=”之前加上其他运算符,可以构成复合的赋值运算符:+=,-=,*=,/=,%= 等
(3) 赋值过程中的类型转换
如果赋值运算符两侧的类型不一致,则将表达式值的数据类型自动转换成变量的数据类型,然后赋予变量;该类型转换是由系统自动进行的
强制类型转换的具体规定如下:
实型赋予整型,舍去小数部分
整型赋予实型,数值不变,但将以浮点形式存放,即增加小数部分(小数部分的值为0)
字符型赋予整型,由于字符型为1字节,而整型为2字节,故将字符的ASCII码值放到整型量的低八位中,高八位为0
整型赋予字符型,只把低八位赋予字符变量。
(4)变量初始化
定义变量的同时还可以为变量指定初值,这个过程称为变量的初始化
(5)强制类型转换运算符
强制类型转换运算符的一般形式为
(类型名)(表达式)
(double)a (将a转换成double类型)
(int) (x+y) (将x+y的值转换成int型)
(float)(5%3)(将5%3的值转换成float型)
有两种类型转换
系统自动进行的类型转换
强制类型转换
总结
以上就是今天要讲的内容,本文仅仅简单介绍了基本数据类型和运算符,本文适用范围为学完相关内容后的复习。
谢谢观看!