zl程序教程

您现在的位置是:首页 >  IT要闻

当前栏目

C语言:变量和常量

2023-02-18 16:40:14 时间

这是很基础的教程,我只是写给自己看,作为一个学习笔记记录一下,如果正在阅读的你觉得简单,请不要批评,可以关掉选择离开

如何学好一门编程语言

  • 掌握基础知识,为将来进一步学习打下良好的基础。
  • 上机实践,通过大量的例题学习怎么设计算法,培养解题思路。
  • 养成良好的编码习惯,注释一定要写,要不然保你一周后自己写的代码都不认识了。

变量:在程序执行过程分钟其值可以改变的量

常量:在程序执行过程中不会改变的量

变量的名称可以由字母、数字和下划线字符组成。且必须以字母或下划线开头;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();    // 外部变量声明
 
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语言中声明、定义和初始化的区别

函数变量都有声明和定义,变量或函数可以先声明,然后就可以使用了,变量或函数可以在之后进行定义和初始化

函数声明定义

 函数类型 函数名(); 函数声明

 函数类型 函数名() { ... } 函数定义

  同一文件内,函数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() { ... } // 定义

  如果fun_2在fun_1之前就定义了的话,则可以直接使用。但还是建议先声明再使用,把定义写在后面。

变量声明定义

 extern 变量类型 变量名; 就是只声明不定义,在外部定义

 变量类型 变量名; 变量声明

 变量类型 变量名=值; 变量声明和初始化

使用之前必须声明

#include <stdio.h>

// 同一文件内的情况:
extern int b;   // 声明但不定义
int main(){
    printf("b = %d\n", b);  // b = 3
}
int b = 3;      // 定义和初始化

 

参考

【CSCD博文】C语言中声明、定义和初始化的区别

菜鸟教程