C语言基础(复习向)

0、C语言的组成

组成:若干文件

文件:若干函数

函数:函数头+函数体

函数头:函数返回类型+函数名+ () +形参类型+ 形参名  /* 函数声明只需要声明形参类型即可,这里不深入 */

函数体:{ }+语句

语句:三类语句

C语言区分大小写

注释语句;定义语句;执行语句

分号为语句结束符

1、数据与数据类型

数据四类:常量、变量、表达式、函数

用运算符将数据连接起来的合法式子

函数:调用具有一定功能函数作为运算量

数据类型四类:基本类型、构造类型、指针类型、空类型

基本类型:字符型char、整形 int、浮点型(单精度) float、双精度 double、枚举类型 enum

构造类型:数组类型、结构体类型 struct、共用体类型 union

空类型:void

基本类型都是内置的,拿来就可以用的。构造类型需要自己构造。

常量四类:整形常量(十进制、八进制、十六进制)、实型常量、字符型常量、字符串常量

整形常量:1

实型常量:2.333

字符型常量:'a'

字符串型常量:"hello world"

二进制 三位 变 八进制一位

二进制 四位 变 十六进制一位

二进制 转 十进制:

例如:101010 (2) = 1*2^5 + 0*2^4 + 1*2^3 + 0*2^2 + 1*2^1 +0*2^0  (10)

十进制 转 二进制 :

例如 13(10) = 1101(2)

技巧:除2取余倒排。(直到被除数为0停止)

C语言中 符合 8进制 编码要求的数,且首位为0,认为是八进制

例如:0770(正确) 0990(错误、不符合8禁止编码)

C语言中 符合 16进制 编码要求的数,且首位为0x或0X,认为是十六进制

实型常量(小数、指数)

例如:0.1 或 .1 (点号前不写0也是合法的)

例如:1.23E5或 1.23e5 

e表示权值为10,e/E后面的数位次方

规则:1、字母e/E前后必须有数,且e后的数必须为整数 2、e/E前后不能有空格

字符串常量:用一对引号括起来的若干字符

规则:

1、每个字符串都有一个字符串结束符 ''

2、C语言中没有字符串变量

所以C语言中的字符串常量都是借存(不深入)

变量使用规则:先定义后使用

定义格式:数据类型名 变量名列表 ;

变量名属于标识符,遵守标识符命名规则。在同一函数体中,不能定义同名变量,同时定义多变量,必须用逗号分开,变量可以赋初始值,无初始值则是系统分配随机值

2、标识符

标识符三类:保留字(关键字)、预定于标识符、用户自定义标识符

 1 保留字:共32个
 2 
 3 
 4 1 数据类型关键字(12个): 
 5 (1) char :声明字符型变量或函数 
 6 (2) double :声明双精度变量或函数 
 7 (3) enum :声明枚举类型 
 8 (4) float:声明浮点型变量或函数 
 9 (5) int: 声明整型变量或函数 
10 (6) long :声明长整型变量或函数 
11 (7) short :声明短整型变量或函数 
12 (8) signed:声明有符号类型变量或函数 
13 (9) struct:声明结构体变量或函数 
14 (10) union:声明联合数据类型 
15 (11) unsigned:声明无符号类型变量或函数 
16 (12) void :声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用)
17 
18 
192)控制语句关键字(12个): 
20 A循环语句 
21 (1) for:一种循环语句(可意会不可言传) 
22 (2) do :循环语句的循环体 
23 (3) while :循环语句的循环条件 
24 (4) break:跳出当前循环 
25 (5) continue:结束当前循环,开始下一轮循环 
26 B条件语句 
27 (1)if: 条件语句 
28 (2)else :条件语句否定分支(与 if 连用) 
29 (3)goto:无条件跳转语句 
30 C开关语句 
31 (1)switch :用于开关语句 
32 (2)case:开关语句分支 
33 (3)default:开关语句中的“其他”分支 
34 D 
35 return :子程序返回语句(可以带参数,也看不带参数)
36 
37 
38 3 存储类型关键字(4个) 
39 (1)auto :声明自动变量 一般不使用 
40 (2)extern:声明变量是在其他文件正声明(也可以看做是引用变量) 
41 (3)register:声明积存器变量 
42 (4)static :声明静态变量
43 
44 
45 4 其它关键字(4个): 
46 (1)const :声明只读变量 
47 (2)sizeof:计算数据类型长度 
48 (3)typedef:用以给数据类型取别名(当然还有其他作用 
49 (4)volatile:说明变量在程序执行中可被隐含地改变
50 
51 预定义标识符:预先定义并具有特定含义的标识符,scanf、printf、include
52 https://blog.csdn.net/21aspnet/article/details/1539252(这哥们整理的的,链接52行)

用户自定义标识符:变量名、数组名、函数名

用户自定义标识符命名规则:第一个字符必须是字符或下划线,后面由字母、数字、下划线组成

3、表达式

取余运算时候,余数的正负与被除数一致。整形除法运算得到的商,如果能整除,则为整除数、如果不能整除,则只去整数,小数都忽略

3.2、赋值运算符合赋值表达式

运算方向:从右至左

运算优先级:14( 1最高 )

赋值符号:=

格式:变量名 = 表达式

赋值运算符的功能:将表达式赋给 ”= “左边的变量(左值)

例如: A = 1 + 2 ;  (赋值表达式的值等于被赋值变量的值)

例如:a=b=2(合法的)

注释:1、赋值运算符左边只能是一个变量 2、赋值运算符右边可以是合法表达式 3、赋值表达式的值等于赋值运算符左边的变量值

4、不同类型之间赋值,系统在可转换的前提下进行类型转换。比如实型数赋值给整形变量,转换为整类 ,后面的小数则会被省略

复合赋值号优先级与运算方向与赋值号一样

+=、-=、*=、/=、%=、&=、|=、^=、>>=、<<=、

3.3、前置自增自减、后置自增自减

自增、自减只能用于变量,不能用于常量和表达式.前置和后置的区别在于对表达式的改变

++a 为 前置自增表达式,表达式的值=4,变量的值为4

a++为 后置自增表达式。表达式的值=3,变量的值为4

int a1=1,a2=1.a3=1,a4=1;
int c1,c2,c3,c4;
c1=++a1     //表达式(++a)=2,变量c1= 2
c2=a2++     //表达式(++a)=1,变量c2= 2
c3=--a3;      //表达式(--a)=0,变量c3= 0
c4=a4--       //表达式(a--)=1,变量c4= 0

 C语言中隐式转换为少字节类型向高字节类型转换

 

本文由作者原创,如需转载注明出处!
原文地址:https://www.cnblogs.com/Fsiswo/p/9877737.html