十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
所谓变量,顾名思义就是可以变化的数值。用编程语言来说,变量就是用来存放数值和字符等的“盒子”。
1.1 代码展示int main()
{short i = 0;
double weight = 72.2;
int age = 23;
char ch = 'w';
long number = 13885221455666666;
return 0;
}
1.2 变量的命名1.变量的分类主要分为局部变量和全局变量。
#includeint global = 2019;//全局变量
int main()
{int local = 2018;//局部变量
printf("global = %d\n", global);
return 0;
}
所谓局部变量,也就是指的是大括号内部的变量。全局变量就是在整个工程的变量,如上面的代码展示。当局部变量和全局变量一起出现的时候,遵循局部优先的原则。
二、局部变量和全局变量 2.1 局部变量的作用域局部变量的作用域就是就是变量所在的局部范围。局部变量的适用范围是由一定的局限性的,局部变量只能在其所在的中括号内调用。倘若在中括号的外部调用,则会出现编译器无法识别的问题。代码示例:
int main()
{int a = 10;
printf("%d\n", a);
{int b = 20;
printf("%d\n", b);
}
printf("%d\n", b);
return 0;
}
如代码所示,局部变量的作用域主要是在大括号内部,出了大括号内部,则编译器就会报错。
2.2 全局变量的作用域全局变量的作用域就是在整个工程。如果在一个工程里面,但是不在一个文件里面,这时候我们就需要调用extern用来声明一下变量,这个时候程序就会正常运行。
int a = 100;
void test()
{printf("2: %d\n", a);
}
int main()
{printf("1: %d\n", a);
test();
return 0;
}
2.3 生命周期C语言当中的常量大概分为以下4种,分别为:
int main()
{//1.字面常量
100;//整型字面值
'w';//字符字面值
3.14;//浮点型的字面值
"abcdef";//字符串常量
//2. const 修饰的常变量
const 是常属性的
const int num = 10;//num本质上是个变量,但是具有了常熟悉,不能被修改
printf("%d\n", num);//10
num = 20;//err
printf("%d\n", num);//20
//数组
const int n = 10;
int arr[n] = {0};//n虽然被const修饰,具有了常属性,不能被修改,但是本质上还是变量,所以不能用来指定数组的大小
return 0;
}
#define定义的常量和枚举常量,其中重点说一下枚举常量,需要用到enum。
#define 定义的标识符常量
#define MAX 1000
int main()
{int arr[MAX];
#define MIN 0
printf("%d\n", MAX);
//MAX = 2000;
printf("%d\n", MIN);
return 0;
}
枚举常量的代码:
声明的一个表示性别的枚举类型
enum Sex
{//下面三个符号是Sex这个枚举类型的未来的可能取值
//枚举常量
MALE=5, //0
FEMALE,//1
SECRET //2
};
int main()
{//enum Sex s = FEMALE;
printf("%d\n", MALE);
printf("%d\n", FEMALE);
printf("%d\n", SECRET);
//MALE = 5;
return 0;
}
四、字符串和转义字符
4.1 字符串"hello world"
这种由双引号(Double Quote)引起来的一串字符称为字符串字面值(String Literal),或者简称字符串。
注:字符串的结束标志是一个 \0 的转义字符。在计算字符串长度的时候 \0 是结束标志,不算作字符串内容。
#includeint main()
{//char c1 = 'a';
//char c2 = 'b';
//数组
//字符数组
//char arr1[] = "abc";
//char arr2[] = {'a', 'b', 'c', '\0'};
//printf("%s\n", arr1);
//printf("%s\n", arr2);
char arr1[] = "abc";
char arr2[] = {'a', 'b', 'c'};
int len = strlen(arr1);
printf("%d\n", len);
len = strlen(arr2);
printf("%d\n", len);
//strlen 是一个库函数,专门用来求字符串长度的
//int len = strlen("abcdef");
//printf("%d\n", len);
return 0;
}
这就是一个典型的例子,字符串的结束标志是’\0’,但是第二个数组就是随机检测,知道检测到’\0’的时候才结束。
换行 | |
---|---|
\’ | 表示‘ |
\" | 表示" |
\t | 表示水平制表符 |
\b | 表示退格 |
\ddd | ddd表示1~3个八进制的数字。 如: \130 X |
\xdd | dd表示2个十六进制数字。 如: \x30 0 |
//程序输出什么?
#includeint main()
{printf("%d\n", strlen("abcdef"));
// \62被解析成一个转义字符
printf("%d\n", strlen("c:\test\628\test.c"));
return 0;
}
\62表示8进制的数字,转化为十进制的数值,再表示对应的ASCII码表示的字符。
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧