【C语言板块】第一站:初始C语言(2)
一、变量(简单理解scanf和printf)
打印格式- - -打印类型
%c---字符型 %d---整形 %s---字符串 %f---float %lf---double %p---地址
二、变量的作用域和生命周期
1.作用域
(1)局部变量的作用域是变量所在的局部范围
(2)全局变量的作用域是整个工程
举例:
#include<stdio.h>
int q;//全局变量,在语法无问题情况下,任意地方可使用;
int main()
{
{
int a;//局部变量
}//该程序若不去掉{},就会报错,标识符a未定义
scanf("%d",&a);
return 0;
}
//需要声明外部符号(如在同工程同项目的另一个,int a在别的.c文件中)
extern int a;//所以全局变量的作用域是整个工程
#include<stdio.h>
int main()
{
scanf("%d",&a);
return 0;
}
2.生命周期
(1)局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束
(2)全局变量的生命周期是:整个程序的生命周期(事实上主函数main的生命周期就是全局生命周期,)
三、常量
3.1 字面常量
3.2 const修饰的常变量
int b=10;
const int a=10;//a不能改变,赋值将会报错
int arr[a];
在C语言中,a本质上还是变量,只是拥有常属性(不能被改变),不能当做常量来使用(区别:在C++已经彻底变为常量来使用),故arr[a]语句错误。
注:c语言,数组的大小定义只能是常量。
3.3 #define定义的标识符常量
#define MAX 1000
#define CH 'w'//单引号不能去掉,否则无法识别
注意:define是标识符,不是后面学到的C语言关键字
3.4 枚举常量
enum SEX//暂认为里面为枚举空间
{//列出了其可能取值,
FEMALE,//这里三个值在外部不能被改变,默认从0开始,即FEMALE==0,MALE==1,SECRET==2
MALE,//也可以在枚举空间对其进行任意赋值
SECRET
};
// 用法
enum SEX s=MALE;//把MALE赋值给s
四、字符串
4.1 字符
单引号里放单个字符(‘a’);
4.2 字符串
双引号里放字符串(“ahsahdahd”).字符串以转义字符’\0’结尾,占一个字符空间。
注:strlen()不算’\0’
五、转义字符
\? //
//int main()
//{
// printf("(are you ok\?\?)");
// //
// //are you ok]
// //**??) - 三字母词 --> ]**
// //
// return 0;
//}
\' //让'可以在字符中被识别为字符,而不是被当做两边的dan引号被使用
\" //让\"可以在字符串中被识别为字符,而不是被当做两边的双引号被使用
\\ //让后面的\不是转移字符的意思,路径用的比较多
\a //警告符,蜂鸣
\b //退格,,类似于backspace
\f //进纸符
\n //换行
\r //回车
\t //水平制表符
\v //垂直制表符
\ddd //ddd表示1至3个八进制数字,如:\130表示一个字符x
printf("%c", '\133');
//8进制的130 转换成10进制后得到88,把88作为ASCII值代码的字符
\xdd
//与上一个区别,dd表示两个十六进制数字,其他均一样
经典例题:
int a=strlen("C:\test\x11\328\test.c");
//answer a=15;
六、注释
注释的内容不会被编译,一般只是用来方便代码的阅读
//C++注释风格
/* */ C语言注释风格,不能嵌套
七、选择语句
if()//括号里面为执行条件
{
...
}
else
{
...
}