C语言:变量和常量
这是很基础的教程,我只是写给自己看,作为一个学习笔记记录一下,如果正在阅读的你觉得简单,请不要批评,可以关掉选择离开
如何学好一门编程语言
- 掌握基础知识,为将来进一步学习打下良好的基础。
- 上机实践,通过大量的例题学习怎么设计算法,培养解题思路。
- 养成良好的编码习惯,注释一定要写,要不然保你一周后自己写的代码都不认识了。
变量:在程序执行过程分钟其值可以改变的量
常量:在程序执行过程中不会改变的量
变量的名称可以由字母、数字和下划线字符组成。且必须以字母或下划线开头;C语言区分大小写
变量声明
变量声明是 指定变量的 类型 和 名称
在使用变量之前,首先要对变量进行声明。C语言中使用变量需要事先声明变量的存在。声明变量的时候可以同时为该变量指定初始值,对变量进行初始化。在执行过程中可以通过赋值改变变量中存储的值。
变量的声明: 变量类型 变量名
//变量声明并定义 int i, j, k;
变量声明和初始化:变量类型 变量名=赋值
//变量声明和初始化 int d = 3, f = 5; // 定义并初始化 d 和 f
使用 extern 只声明但是不定义。在本文件中声明使用,在其他文件中定义。
extern int i; // i变量可以在其他文件中定义
当您有多个文件且定义了一个可以在其他文件中使用的全局变量或函数时,可以在其他文件中使用 extern 来声明使用 已定义的变量或函数。
main.c
#include <stdio.h> int count ; // 全局变量声明 extern void write_extern(); // extern外部变量声明 int main() { count = 5; write_extern(); }
support.c
#include <stdio.h> extern int count; // 外部变量声明 void write_extern(void) { printf("count is %d\n", count); }
常量
整数常量
带后缀,后缀是 U 和 L 的组合,U 表示无符号整数(unsigned),L 表示长整数(long)。后缀可以是大写,也可以是小写,U 和 L 的顺序任意。
带前缀,0x 或 0X 表示十六进制,0 表示八进制,不带前缀则默认表示十进制。
浮点常量:浮点常量由整数部分、小数点、小数部分和指数部分组成。
3.14159 /* 合法的 */ 314159E-5L /* 合法的 */
字符常量:包括在单引号中,'X'
字符串常量:包括在双引号中,"hello, dear"
定义常量
请注意,把常量定义为大写字母形式,是一个很好的编程习惯。
1、使用 #define 预定义
#include <stdio.h> #define LENGTH 10 #define WIDTH 5 int main() { int area; area = LENGTH * WIDTH; printf("value of area : %d", area); // 50 return 0; }
2、使用 const 关键字
#include <stdio.h> int main(){ const int LENGTH = 10; const int WIDTH = 5; int area; area = LENGTH * WIDTH; printf("value of area : %d", area); // 50 return 0; }
C语言中声明、定义和初始化的区别
函数和变量都有声明和定义,如果变量或函数可在前面定义,则可以不用声明直接使用。如果没有定义则需要先声明再使用。建议先声明再使用,把定义写在后面。
变量声明定义
extern 变量类型 变量名; 只声明不定义,但是在外部文档定义
变量类型 变量名; 变量声明
变量类型 变量名=值; 变量声明和初始化
#include <stdio.h> // 同一文件内的情况: extern int b; // 声明但不定义 int main(){ printf("b = %d\n", b); // b = 3 } int b = 3; // 定义和初始化
函数声明与定义
函数类型 函数名(); 函数声明
函数类型 函数名() { ... } 函数定义
同一文件内,函数fun_1调用fun_2时,如果fun_2在fun_1之后定义,则需在fun_1之前对fun_2进行声明,如下:
void fun_2();// 声明 void fun_1() { fun_2(); // 调用fun_2 } void fun_2() { ... } // 定义
参考
【CSCD博文】C语言中声明、定义和初始化的区别