C语言视频学习二

@[TOC](文章目录)

目录

目录

目录

前言

一、基础篇(遣词造句)

1.存储

2.进制转换

3.数据类型分类

·整形类型

·浮点型类型

·字符类型

·标识符

·关键字(又叫保留字)

5.运算符和表达式

·算术表达式

   自增自减

 ·关系表达式

·逻辑表达式

·位表达式

·赋值表达式

     复合赋值运算符

·逗号表达式

·条件运算符与表达式

·求字节数

·类型转换

总结


前言

本篇是针对网上学习C语言的阶段性总结二

一、基础篇(遣词造句)

1.存储

冯·诺依曼 被称为现代计算机之父 ,他提出了两个重要设想:存储程序、采用二进制。

在计算机内存中,存储信息的是存储元件,存储元件通过电信号的高低电频来表示数据,高电频表示1,低电频表示0,一个存储元件仅仅能保存一个0或1的信息。

存储元件的单位是bit,简称b,八个bit可组成一个字节Byte,简称B,及八个二进制位等于一个字节。一个字节可表示0~255中的任意数。

单位换算。在计算机中:

1KB=1024B=2^10B

1MB=1024KB=2^20B

1GB=1024MB=2^30B

1TB=1024GB=2^40B

1PB=1024TB=2^50B

2.进制转换

简单的进制转换:

十进制二进制八进制十六进制
0000000
1000111
2001022
3001133
4010044
5010155
6011066
7011177
81000108
91001119
10101012A
11101113B
12110014C
13110115D
14111016E
15111117F

十六进制表示方法:在数字前加0x。例如:0x12B3

八进制表示方法:在数字前加0例如:08455

3.数据类型分类

不同的数据类型可以决定数据的取值范围,数据所占用内存的字节数,以及可以对数据进行的操作。

数据类型的分类 :

数据类型基本类型整型类型基本整型int
长整型 long int
短整型 short int
字符类型字符型 char
浮点类型单精度浮点型float
双精度浮点型double
空类型void                               /
指针类型*                              /
构造类型数组类型[  ]
结构体类型
共用体类型
枚举类型

·整形类型

整型数据类型缺省形式的整型数据类型名称字节数取值范围
[signed] intint整型4-2^31
~2^31-1
unsigned intunsigned int无符号整型40~2^32-1
[signed] short [int]short短整型2-2^15~2^15-1
unsigned short [int]unsigned short无符号短整型20~2^16-1
[signed] long [int]long长整型4-2^31~2^31-1
unsigned long [int]unsigned long无符号长整型40~2^32-1

<1>只有整型(包括字符型)数据可以加signed或unsigned修饰符,实型数据不能加。

<2>对无符号整型数据用“%u”格式输出。%u表示用无符号十进制数的格式输出。

<3>%d  十进制整数

      %ld 十进制长整数

·浮点型类型

浮点型即实型,表示小数

3.14159*10^0=3141.59*10^(-3),由于小数点位置可以浮动,所以实数的指数形式称为浮点数。

浮点型数据类型名称字节数有效数字数值范围
float单精度浮点型460,以及1.2*10^-38~3.4*10^38
double双精度浮点型8150,以及2.3*10^-308~1.7*10^308
long double

长双精度浮点型

(不同平台下,所占字节数不同)

8150,以及2.3*10^-308~1.7*10^308
16190,以及3.4*10^-4932~1.1*10^4932

两种表示方法:

<1>十进制小数形式:由数字和小数点组成。例如:3.14 ,4. , .4

<2>指数形式:“十进制小数或整数”+“e(E)”+“十进制整数”,e(E)的两边必须有数,不能省略

浮点型变量也可用printf()函数输出,与整型变量不同的是:float的格式说明项为“%f”,double的格式说明项为“%lf”。

·字符类型

类型名称字节数取值范围
[signed] char有符号字符型1-128~+127
unsigned char无符号字符型10~+255

字符类型保存的是ASCII码表中的字符。输出时用格式控制符%c

ASCII字符集包括:

·字母(区分大小写)

·数字(0~9)

·专门符号(29个)

·空格符:空格、水平制表符(tab)、垂直制表符、换行、换页(form feed)

·不能显示的字符:空(null)字符(以'\0'表示)、警告(‘\a’)、退格('\b')、回车('\r')

ASCII码控制字符
32(space)
480
65A
97a

转义字符含义ASCII码
\a报警响铃7
\b退格符(backspace)8
\t水平制表(tab)9
\n回车换行10
\v垂直制表11
\f换页12
\r回车不换行13
\"双引号34
\'单引号39
\\反斜杠“\”92
\ddd1~3位八进制数所代表的字符
\xhh1~2位十六进制数所代表的字符

4.标识符与关键字

·标识符

标识符有效字符序列,是一个对象的名字。用于标识用户自己定义的变量、符号常量、函数名、数组名、类型名等

命名规则:

·不能是关键字

·只能由字母、数字和下划线组成,且区分字母大小写

·名称的第一个字符必须是字母或下划线,不能是数字

·名称中间不能有空格

·标识符可以为任意长度,但最好不要超过31个字符

·不要与C语言库函数名称相同

匈牙利名称法:每个单词的第一个字母大写。 例如学生姓名变量可使用标识符 StudentName

·关键字(又叫保留字)

ANSI C(标准C)中有32个关键字:

控制语句关键字(12个)循环语句for一种循环语句
do循环语句的循环体
while循环语句的循环条件
break跳出当前循环
continue结束当前循环,开始下一轮循环
条件语句if条件语句
else条件语句否定分支(与if连用)
goto无条件跳转语句
开关语句switch用于开关语句
case开关语句分支
default开关语句中的“其他”分支
返回语句return子程序返回语句(可带参数,也可不带)
数据类型关键字(12个)int声明整型变量或函数
char声明字符型变量或函数
float声明浮点型变量或函数
double声明双精度变量或函数
long声明长整型变量或函数
short声明短整型变量或函数
signed声明有符号类型变量或函数
unsigned声明无符号类型变量或函数
struct声明结构体变量或函数
union声明共用体(联合)数据类型
void声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用) 
enum声明枚举类型
存储类型关键字(4个)auto声明自动变量 一般不使用
extern声明变量是在其他文件正声明(也可以看做是引用变量)
register声明积存器变量
static声明静态变量
其它关键字(4个)const声明只读变量
sizeof计算数据类型长度
typedef用以给数据类型取别名
volatile说明变量在程序执行中可被隐含地改变

5.运算符和表达式

运算符:表示某种运算功能的符号

算术运算符+  -  *  /  %  ++  --
关系运算符>  <  ==  >=  <=  !=
逻辑运算符!  &&  ||
位运算符<<   >>  ~  |  ^  &
赋值运算符=及其扩展赋值运算符
条件运算符?:
逗号运算符
指针运算符*    &
求字节数运算符sizeof
强制类型转换运算符(类型)
成员运算符.   ->
下标运算符[  ]
其他运算符如函数调用运算符()

表达式:由操作数(变量和常量)和运算符组成的序列

根据运算符所涉及的操作数的个数,分为:单目运算符,双目运算符和三目运算符

不同运算符具有不同的优先级(运算的先后顺序)结合性(优先级相同时运算的结合方向)

结合性:除单目运算符,赋值运算符,条件运算符是右结合性之外,其他的都为左结合性

优先级:单目运算符高于双目运算符,双目运算符高于三目运算符,三目运算符高于赋值运算符

双目运算符中的10个优先级:算术运算符>移位运算符>关系运算符>位逻辑运算符(不包括单目位逻辑运算符)>逻辑运算符

也可通过在表达式中强行加入圆括号来改变优先级和结合性

·算术表达式

优先级:()>*、  /  、%>+ 、 -

使用算数运算符和括号将运算量连接起来的式子

%(求余运算符)要求参加运算的运算对象为整数,结果也是整数

/ (除号运算符)两个实数相除的结果是双精度实数,两个整数相除的结果为整数

类型不同的数进行运算,其结果按优先级高的类型定

 

   自增自减

++i,--i    在使用i之前,先使i的值加/减1,先增减、后运算

i++,i--    在使用i之后,使i的值加/减1,先运算、后增减

结合性:自右向左

 ·关系表达式

用关系运算符连接的两个表达式构成。当比较结果成立,结果为1;否则,结果为0。

参与关系运算的两个运算量可以是任意类型的数据

优先级:<,<=,>,>=高于==,!=

·逻辑表达式

用逻辑运算符连接的两个表达式构成。参与逻辑运算的操作数叫逻辑量

优先级:!>&&>||

运算符含义举例结果(非零当作真,零作为假)
逻辑“非”(真的非为假;假的非为真)!30
&&逻辑“与”(一假则假)3&&00
||逻辑“或”(一真则真)3||01

·位表达式

对整型数据进行的运算,而且符号位需要参与运算

·赋值表达式

由赋值运算符连接左边一个变量和右边一个表达式构成

优先级:!>算术>关系>&&>||>赋值

表达式计算结果的数据类型应当和变量的数据类型相同

     复合赋值运算符

复合赋值运算符是由赋值运算符之前再加一个双目运算符构成的

优先级:与=是同一优先级

结合性:自右向左

复合赋值运算的一般格式为:表达式1  op=表达式2    a+=b-1

它等价于:表达式1=表达式1  op(表达式2 )            a=a+(b-1)

·逗号表达式

将几个表达式隔开并以此计算

[表达式1], [表达式2] ,...[表达式n]

优先级:最低

结合性:自左向右

整个表达式的值:最后一个表达式的值    

·条件运算符与表达式

实质:起程序控制作用           表达式1 ? 表达式2 : 表达式3

优先级:逻辑>t条件>赋值

结合性:自右向左

求值规则:若表达式1成立,则表达式2的值作为整个条件表达式的值;

                  若表达式1不成立,则表达式3的值作为整个条件表达式的值

·求字节数

sizeof()运算符是一个单目运算符,用于计算一个某种类型的运算量所占用的字节数

使用:

                                                    sizeof(类型标识)

                                     sizeof(变量名) ;或 sizeof 变量名

·类型转换

类型转换自动类型转换赋值转换
运算转换
强制类型转换            /

赋值转换

·浮点型赋值给整型,结果保留整数部分

·整数赋值给浮点数,结果以浮点数的方式存在

·字符型赋值给整型,数值不变,但以整型的方式存储,内存空间变大

·整型赋值给字符型,只把整型变量低8位赋值给字符型变量

·双精度浮点数赋值给单精度浮点数,有效位减少,舍弃的部分四舍五入

运算转换

·由数值存储位少的向多的转换

·浮点数运算都是按照双精度进行的,float类型的变量会先转换成double类型再进行计算

总结

学过的知识要反复读背,才能够更好的记住~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值