P5 【初识C语言】变量和常量
1.定义变量的方法
int age = 150;
类型 变量名 = 变量
2.变量的分类
局部变量
全局变量
3.变量的作用域
局部变量:一般将定义在函数中的变量称为局部变量,其只能在函数内部使用。
全局变量:定义在全局作用域中的变量,即函数外的变量,称之为全局变量,全局变量的生命周期随程序启动而生,随程序结束而消亡,在整个工程的不同文件中都可以使用。是定义在“{}”代码块之外的变量。
注意:全局变量使用起来方便,但为了防止冲突和安全性,尽量避免定义全局变量。
main函数内部定义的局部变量作用域在main函数中。
当局部变量和全局变量同名时,局部变量优先使用。
4.变量的使用(VS中使用scanf报错)
写一个能计算两个数的和的程序,如下:
发现报错了,问题是出在:test-24-1-10项目下的test.c文件中的第8行。报错是说scanf这个函数不安全,可以考虑用scanf_s代替,如果不想看到这个描述,那就用_CRT_SECURE_NO_WARNINGS。
解决办法:把这句话放到源代码的第一行即可。如下图所示,注意一定要在所有代码的最前面
如下图所示,想要复制某句话点左下角这个输出。
此时,功能实现
scanf_s这个函数是VS编译器自己提供的函数,非标准C提供的函数,也就是说只有VS编译器认识,不利于跨平台的使用。
printf 输出函数,格式printf("@%\n",###);
scanf 输入函数,格式scanf("%空格%",&@,&@);
这两个函数为库函数,使用前记得引头文件。
P6 【初始C语言】变量的作用域和生命周期
P7 【初始C语言】常量
1.字面常量
2.const修饰的常变量
此时const修饰的a的值不可被修改,如果修改会报错。const修饰的a本质是变量,但不能直接被修改,有常量的属性。可通过如下证明一下。
数组的大小应该给一个常量,但把const修饰的放进去还是报错,说明a本质上还是个变量。
3.#define定义的标识符常量
此时通过#define将MAX定义为常量100,将STR定义为一个字符串“abcdef”。此时MAX和STR为常量,不能直接修改。
%d用来打印数字,%s用来打印字符串。
4.枚举常量
此时GREEN,RED,BULE为常量,不能直接修改。