初见c语言

认识c语言

1.C语言是一门编译型而且面向过程的语言。
2.所有的exe文件都是二进制。
3.代码经过编译器编译生成一个可执行的二进制文件
4.main函数是程序的入口,main函数有且只能有一个。
5.程序只要运行就会被加载到内存

数据类型

各种各样的数据类型是为了能表达生活中丰富多彩的值。
char 字符数据类型
short 短整型
int 整形
long 长整型
long long 更长的整形
float 单精度浮点数
double 双精度浮点数
sizeof 是一个关键字,它是一个编译时运算符,用于判断变量或数据类型的字节大小。
用sizeof关键字获取数据类型大小
系统会根据数据类型的大小分配内存空间

变量

变量:变量名,变量空间,变量地址
变量在内存中被定义,变量的存在原因就是合理的使用内存。
定义: 开辟内存空间。

全局变量:代码块外部
局部变量:代码块外部

局部变量与全局变量同名优先使用局部变量,但是尽量不要定义成同名的。

     作用域:一段程序代码中所用到的名字并不总是有效/可用的,
而限定这个名字的可用性的代码范围就是这个名字的作用域

     生命周期:变量创建到销毁的一个时间段
作用域 生命周期
局部变量 变量所在的局部范围 进入作用域生命周期开始,出作用域生命周期结束
全局变量 整个工程 整个程序的生命周期

常量

字面常量

3.14
3000

const修饰的常变量

用const修饰的变量不能被直接修改

#define定义的标识符常量

见名知意,便于维护

#define red 1//一般在头文件下面

枚举常量

enum sex
{
    
    
Male,
Female,
Secret,
}

字符串+转义字符+注释

字符串保存的两种方式:

char str[]="hello";//等价于charstr[]={'h','e','l','l','o','\0'}
char* str="hello";

字符串默认以\0结束,但是\0不被算进字符串内容

转义字符:

转义字符 释义
\? 书写连续多个问号时防止被解析为3字母词
表示字符常量’
" 表示一个字符串内部的"
\ 表示一个\防止他被解释为转义序列符
\a 警告字符,蜂鸣声
\b 退格符
\f 换页符
\n 换行符
\r 回车
\t 水平制表符
\v 垂直制表符
\ddd 表示1-3个8进制数字如\130x
\xdd 表示2个16进制数字如x30 0

进制的简单计算:
2进制表示11:1 * 21* 1* 20 = 3
16进制表示/x3f:3* 161 * 15* 160=63

选择语句

c中非0为真,0为假
条件中一般写成 0==x,防止写成一个等号

int main{
    
    
      if(条件){
    
    
          //条件成立
          //执行改代码块中的代码
}
      else{
    
    
         //条件不成立
         //执行改代码块中的代码
}

}

循环语句

1.while

//条件不变化就是死循环,
while(条件){
    
    
//执行语句
}
int i=0;//条件设置
while(i<=10)//条件判定{
    
    
i=i+1;//条件更新
}

2.for

for(条件设置;条件判定;条件更新){
    
    
}

3.do…while

do
{
    
    
循环体;
}
while (条件表达);
//先执行一次在判定

函数

简化代码,代码复用
在面向过程中,我需要我编写我调用

数组

一组相同元素的集合。
定义数组 int arr[ ]={ },[]里面不能是变量。

size=sizeof(arr)/sizeof(arr[0])
求数组大小

数组不能直接赋值,输出或赋值都要带上下标。

操作符

算数操作符

+ -  * / %

移位操作符

  >>       <<

位操作符

& ^ |

赋值操作符

= += -= *= &= ^= |= >>= <<=

单目操作符

! 逻辑反操作

  • 负值
  • 正值
    & 取地址
    sizeof 操作数的类型长度
    ~ 对一个数的二进制按位取反

    ++ 前置,或后置
  •      解引用
    

(类型) 强制类型转换

关系操作符

 >
 >=
 <
 <=
 !=
 ==

逻辑操作符

&&
||

条件操作符

exp?exp2:exp3

逗号表达式

exp1,eexp2,exp3

下标引用,函数调用和结构成员

[] () . ->

常见关键字

c语言关键字
static关键字

修饰 全局变量 局部变量
作用域 由整个工程变为本源文件 作用域不变依然为变量所在的局部范围
生命周期 不变是整个工程 原来的生命周期为进入作用域,出作用域。加上后改变了生命周期,让其出了自己的作用域依然存在。

修饰函数是只能在本源文件内使用

define定义常量和宏

#define定义的标识符常量

见名知意,便于维护

指针

为什么有指针?
访问内存单元地址
什么是指针?
指针是地址
指针变量是变量

结构体

结构体使c语言有能力描述复杂类型,
比如一个学生包含,姓名,性别,成绩,学号等变量

struct  stu
{
    
    
char name[20];
int  age;
char sex[5];
char   id[5];
}
struct stu tom={
    
    "周某"45,"男""13245"};

猜你喜欢

转载自blog.csdn.net/qq_45928272/article/details/109366131