1.变量的作用域和周期
作用域
作用域(scope)是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用
的而限定这个名字的可用性的代码范围就是这个名字的作用域。
- 局部变量的作用域是变量所在的局部范围。
- 全局变量的作用域是整个工程。
局部变量:
int mian()
{
{
int a=1;
//局部变量
}
printf("%d\n",a);
return 0;
}
全局变量:
#include<stdio.h>
int a=5;
//全局变量
int main()
{
printf("%d",a);
return 0;
}
声明最好在最上面声明,因为代码运行时是从上面检查有没有错误的,即使放在中间是正确的,但是编译器不是这么认为的。
生命周期
变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段
4. 局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。
5. 全局变量的生命周期是:整个程序的生命周期。
2.常量
C语言中的常量和变量的定义的形式有所差异。
C语言中的常量分为以下以下几种:
字面常量:
1. 字面常量
3;
100;
3.14;
'a';//字符字面常量
"abcdef";//字符串字面常量
const修饰的常变量:
常变量无法作为数组使用,因为它是常变量
const修饰之后 不可以修改
#define 定义的标识符常量:
#define 定义的标识符常量
#define M 100
int main()
{
int arr[M] = { 0 };
printf("%d\n", M);
//M = 200;//err
return 0;
}
#define 定义的标识符常量相当于常量
枚举常量
枚举 - 一一列举
血型
性别
三原色 -Red Green Blue
3.字符串+转义字符+注释
3.1字符串
"hello bit.\n"
这种由双引号(Double Quote)引起来的一串字符称为字符串字面值(String Literal),或者简称字符
串。
注:字符串的结束标志是一个 \0 的转义字符。在计算字符串长度的时候 \0 是结束标志,不算作字符串
内容
ch1中没有\0
ch2有\0
为什么ch1会出现乱码
因为ch1没有\0,才会出现错误,而ch2并不会
strlen C语言提供的一个库函数,可以计算字符串的长度,统计的是\0之前字符的个数
因为ch1中15,因为没有\0,15是错误的,并且是随机值每个编译器都不同。
3.2转义字符
转义字符 释义
? 在书写连续多个问号时使用,防止他们被解析成三字母词
’ 用于表示字符常量’
\“ 用于表示一个字符串内部的双引号
\ 用于表示一个反斜杠,防止它被解释为一个转义序列符。
\a 警告字符,蜂鸣
\b 退格符
\f 进纸符
\n 换行
\r 回车
\t 水平制表符
\v 垂直制表符
\ddd ddd表示1~3个八进制的数字。 如: \130 X
\xdd dd表示2个十六进制数字。 如: \x30 0
ddd表示三个数字都是0-7之间的
3.3注释
- 代码中有不需要的代码可以直接删除,也可以注释掉
- 代码中有些代码比较难懂,可以加一下注释文字
注释有两种风格:
C语言风格的注释 /xxxxxx/
缺陷:不能嵌套注释
C++风格的注释 //xxxxxxxx
可以注释一行也可以注释多行
#4选择语句
如果你好好学习,校招时拿一个好offer,走上人生巅峰。
如果你不学习,毕业等于失业,回家卖红薯。
这就是选择!
#include <stdio.h>
int main()
{
int coding = 0;
printf("你会去敲代码吗?(选择1 or 0):>");
scanf("%d", &coding);
if(coding == 1)
{
prinf("坚持,你会有好offer\n");
}
else
{
printf("放弃,回家卖红薯\n");
}
return 0;
}
5.循环语句
有些事必须一直做,比如我日复一日的讲课,比如大家,日复一日的学习。
还比如:
while讲解
输入500.