C语言基础知识

1 数据类型

        C语言数据类型,按照数据类型的构造方式,可以分为基本数据类型、构造类型(也称派生类型)和其他类型。

数据类型
数据类型基本数据类型整型带符号整型短整型
整型
长整型
无符号整型无符号短整型
无符号整型
无符号长整型
浮点型单精度浮点型
双精度浮点型
字符型
构造类型数组类型
结构体类型
共用体类型
文件类型
其他类型指针类型
枚举类型
空类型

类型长度(Byte)取值范围
char(字符型)1-128~127
unsigned char(无符号字符型)10~255
signed char(有符号字符型)1-128~127
int(整型)4-2147483648~2157483647
unsigned int(无符号整型)40~4294967295
signed int(有符号整型)4同int
short(短整型)2-32768~32767
unsigned short(无符号短整型)20~65535
signed short(有符号短整型)2同short
long(长整型)4-2147483648~2157483647
signed long(有符号长整型)4同long
unsigned long(无符号长整型)40~4294967295
float(单精度浮点型)4\displaystyle \pm (3.4*10^{-38}\sim 3.4*10^{38}),6位有效数字
double(双精度浮点型)8\displaystyle \pm (1.7*10^{-308}\sim 1.7*10^{308}),16位有效数字

2 常量

2.1数值型常量

2.1.1 整型常量

C语言中,整型常量有十进制、八进制和十六进制。

以0开头的数字十八进制数,以0x或0X开头的数字是十六进制数,其他情况是十进制数。

30——十进制正数

-30——十进制负数

0177——八进制正数

-0177——八进制负数

0xef——十六进制正数

-0xef——十六进制负数

2.1.2 实型常量

实型也成为浮点型、实数或者浮点数,分为十进制小数形式和指数形式。

(1)十进制小数形式:由数字0~9和小数点组成。

(2)指数形式:由十进制数(基数)、加阶码标志e或E以及指数(阶码,只能为正数可以带符号)组成。

一般形式:a E n(a为十进制数——基数,n为十进制正数——阶码)

其表示的值为 a*10^{n}

        

2.2 字符型常量

 简称字符,是用单引号括起来的一个

字符,如'a','$'。

字符型数据在内存中存储该字符的ASCII码。

2.3 转义字符

转义字符
字符形式功能字符形式功能
\0字符串结束符\f走纸换页
\n换行\\反斜杠字符\
\t横向跳格\'单引号字符
\v纵向跳格\''双引号字符
\b退格\dddASCII码为八进制数ddd的字符
\r回车\xhhASCII码为十六进制数hh的字符

2.4 字符串常量

简称字符串,用双引号括起来的零个或多个字符系列,如"a"、"23"、"abc"、"123h"、"你好"。

"a"包含两个字符 'a' 和 ‘\0’ ,在存储时占两个字节。

2.5 符号常量

用宏 # define 来定义符号常量,如 # define Pi 3.14,Pi就代表3.14.

一般形式: # define 标识符 常量 

3 变量

3.1 变量的定义

变量是在程序运行中可以改变的量,通过数据类型来定义,在内存中占一定的存储空间。

3.2 变量的赋值

通过赋值运算符 “=” 改变变量的值。

格式:变量=表达式

4 运算符和表达式

4.1 算数运算符和算数表达式

4.1.1 算数运算符

(1)+ :加法运算符或正值运算符,如1+2,+3

(2)-  :减法运算符或负值运算符,如2-1,-3

(3)*  :乘法运算符,如1*2

(4)/  :除法运算符。如果参加除法运算为两个整数,则相除结果为正数,如5/2的结果为2,舍去小数部分;如果参加运算的两个数中有一个数为实数,则按实数进行运算,结果是实数,如5/3.0的结果为1.6667

(5)% :模运算符,或称求余运算符,要求%两侧均为整数数据,如7%2的结果为1

4.1.2 算数表达式和运算符的优先级与结合性

用算数运算符和括号将运算对象(也称操作数)连接起来的、符合C语法规则的狮子,称为算数表达式。运算对象包括常量、变量、函数等,单独的常量或变量也是算数表达式。如:

40,a,x+y,x*y/z-1+'a'(字符a的ASCII码参与运算)

4.2 赋值表达式和复合赋值表达式

赋值运算符 “=” 在给变量赋值时,将左边的变量和右边的表达式连接起来构成的赋值表达式。赋值表达式的值是赋值后变量的值。如:

a=2

x += 3                //等价于 x=x+3

x*= y+1                //等价于x=x*(y+1)

x %= 8                 //等价于x=x%8

复合赋值运算符:

(1)+= (2)-=  (3)*=  (4)/=  (5)%=  (6)<<=  (7)>>=  (8)&=  (9)^=  (10)|=

4.3 逗号表达式

用逗号把表达式连接起来得到的表达式成为逗号表达式。系统会逐个计算各个表达式的值,并把最后一个表达式的值作为逗号表达式的值。如:

int x=2,y=2,z;
z=(x+1,y++,x*y);
printf("%d",z);    //此时x=2,y=3,输出结果6

4.4 自增自减运算符

自增运算符 “++” 的功能是使变量的值自增1。

自减运算符 “--” 的功能是使变量的值自减1。

都具有右结合性。

++i        i 自增1后再参与其他运算。

--i          i 自减1后再参与其他运算。

i++        i 参与运算后,i 的值再自增1

--i          i 参与运算后,i 的值再自减1

自增运算符和自减运算符只能用于变量,不能用于常量或表达式。

4.5 强制类型转换符

将表达式的类型强制转换成小括号中的“数据类型名”所指定的类型。

一般形式:(类型说明符)表达式。如:

(int)a          //将 a 转换为整型
(float)(x+y)    //将 x+y 的结果转换为实型

4.6 关系运算符

(1)<   :小于

(2)<=  :小于等于

(3)>    :大于

(4)>=   :大于等于

(5)==   :等于

(6)!=  :不等于

4.7 逻辑运算符

(1)&&:逻辑与

(2)||   :逻辑或

(3)!  :逻辑非

4.8 位运算符

(1)&:按位与

(2)| :按位或

(3)^ :按位异或

(4)~ :按位取反

(5)<<:位左移

(6)>>:位右移

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值