初识C语言-1:点此转入
目录
4.初识C语言之变量与常量
4.5 变量的作用域和生命周期
作用域
作用域(scope)是程序设计概念,通常来说,一段程序代码所用到的名字并不总是有效/可用的而限定这个名字的可用性范围就是这个名字的作用域。
1.局部变量的作用域是变量所在的局部范围。
2.全局变量的作用域是整个工程(同一工程中不同的源文件也可以调用同一个全局变量)。
生命周期
变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段
1.局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。
2.全局变量的生命周期是:整个程序的生命周期。
4.6 常量
C语言中常量和变量的定义形式有所差异。
C语言中的常量分为以下几种:
- 字面常量
- const 修饰的常变量
- #define 定义的标识符常量
- 枚举常量
4.6.1 字面常量
3; //整数常量
100; //整数常量
3.14; //浮点数常量
'a'; //字符字面常量
"abcdef" //字符串字面常量
4.6.2 const修饰的常变量
const int num = 100;
num = 200; //出错,num为被const修饰的常变量,在语法中属于常量,不可更改
const int num
const int n = 10;
int arr[n] = {0}; //出错,定义数组时[]中应是常量,而n虽是const修饰的常变量,但本质还是变量,不可用来定义数组。
return 0;
4.6.3 #define定义的标识符常量
#include <stdio.h>
#define M = 100
int main()
{
int arr[M] = {0}; //成功执行,说明M是标识符常量
printf("%d\n",M); //打印出的值为100
M = 200 //出错
int M = 200 //出错,说明不能再用标识符常量作为变量名
return 0;
}
4.6.4 枚举常量
枚举 - 一一列举
血型
性别
三原色 -Red Green Blue
enum Color
{
//RED,GREEN,BLUE是枚举类型Color的可能取值,同时也是常量,所以叫枚举常量
RED,//0枚举常量默认从0开始
GREEN,//1
BLUE//2
};
int main()
{
enum Color c = BLUE;
int a = 0;
printf("%d\n",RED);
printf("%d\n",BLUE);
printf("%d\n",BLUE);
//RED = 100;//出错,说明RED是枚举常量
return 0;
}
5.初识C语言之字符串与转义字符
5.1 字符串
"hello world.\n"
这种由双引号引起来的一串字符成为字符串字面值(String Literal),或者简称字符串。
注:字符串的结束标志是一个\n的转义字符,在计算字符串长度的时候\0是结束标志,不算作字符串内容。
//%s - 打印字符串,打印到\0才停止
int main()
{
char ch = 'w';
char ch1[] = {'a','b','c'};
char ch2[] = "abc";
printf("%s\n",ch1);//打印结果为abc乱码
printf("%s\n",ch2);//打印结果为abc
return 0;
}
上述代码中,打印ch1得到的是abc后接乱码,这是因为没有转义字符\0
如果在数组中加入'\0'
char ch1[] = {'a','b','c'};
printf("%s\n",ch1); //打印结果为abc
打印出的结果则为abc,与ch2相同
5.2转义字符
假如我们要在屏幕上打印一个目录:c:\code\test.c
我们该如何写代码?
#include <stdio.h>
int main()
{
printf("c:\code\test.c\n");
return 0;
}
实际上程序运行的结果是这样的:
这里就不得不提一下转义字符了
转义:转变原来的意义
下面来看一些转义字符
这里的最后两种转义字符与ASCII码有关,表示输出八进制或者十六进制转换成十进制ASCII码对应的ASCII字符
例子
//程序输出什么?
#include <stdio.h>
int main()
{
printf("%d\n",strlen("abcdef"));
//\62被解析成一个转义字符
printf("%d\n",strlen("c:\test\628\test.c"));
return 0;
}
所以最后输出的是
6
14
6.选择语句
如果好好学习,校招时候就可以拿一个好offer,走上人生巅峰。
如果不学习,毕业等于失业,回家卖红薯。
这就是选择!
#include <stdio.h>
int main()
{
int choice = 0;
printf("你会去敲代码吗?(1 or 0)");
scanf("%d",&choice);
if(choice == 1)
printf("好offer\n");
else if(choice == 0)
printf("回家卖红薯\n");
else
printf("输入错误\n");
return 0;
}
7.循环语句
有些事必须一直做,比如日复一日的学习
比如:
C语言中如何实现循环呢
- while语句
- for语句(还没学到)
- do ... while语句(还没学到)
#include <stdio.h>
int main()
{
int line = 0;
while (line<=20000)
{
printf("敲代码: %d\n", line);
line++;
}
if (line > 20000)
printf("好offer\n");
else
printf("好好学习,天天编程\n");
return 0;
好了,今天就学到了这里,期待明天的学习!