1.c语言基础语法规范

111 阅读3分钟

1.C语言源文件是以.c结尾的,例如main.c

main.c文件内容

//头文件标识,代表引入某个c语言的标准库
#include <stdio.h>//main函数是c中的入口函数,在最新版c99规范中,main函数的返回值是int,但可以兼容void
void main() {
    
    //printf函数为打印函数,如果是字符串类型可以直接打印
    printf("Hello, World!\n");
    int a=1;
    long b=2;
​
    //如果是整型需要用%d声明
    printf("%d",a+b);//输出:3
    printf("\n");
    
    //如果是单字符型需要用%c声明
    printf("%c",'a');//输出:a
    printf("\n");
    
    //如果是浮点型需要用%f声明
    printf("%f",1111111.1);//输出:1111111.100000
}

编译 & 执行 C 程序

接下来让我们看看如何把源代码保存在一个文件中,以及如何编译并运行它。下面是简单的步骤:

  1. 打开一个文本编辑器,添加上述代码。
  2. 保存文件为 main.c
  3. 打开命令提示符,进入到保存文件所在的目录。
  4. 键入 gcc main.c,输入回车,编译代码。
  5. 如果代码中没有错误,命令提示符会跳到下一行,并生成 a.out 可执行文件。
  6. 现在,键入 a.out 来执行程序。
  7. 您可以看到屏幕上显示  "Hello World"

2.c语言程序运行过程

编写:编写main.c源代码

编译:编译器编译main.c,如果代码无错误,由gcc编译并生成 .obj的目标文件

链接:将目标文件和底层函数库结合,生成.exe可执行文件,可执行文件的名称为项目名称

例如<stdio.h>,<stdilb.h>中的printf函数并不是自己写的,而是C标准函数库中的,所以需要多一次链接来引入标准函数库

执行:执行exe文件,得到运行结果

3.语法规范

方法名和变量名不支持数字开头

方法名和变量名只能是字母+数字+$+_

方法名和变量名不能是关键字

4.局部变量

在函数或块的内部声明的变量称为局部变量。它只能在该函数内部使用。局部变量在函数外部是不可知的。

当局部变量被定义时,系统不会对其初始化,您必须自行对其初始化。定义全局变量时,系统会自动对其初始化

int main ()
{
  /* 局部变量声明 */
  int a, b;
  int c;
 
  /* 实际初始化 */
  a = 10;
  b = 20;
  c = a + b;
  return 0;
}

全局变量

全局变量定义在函数外部,通常在程序的顶部。全局变量在整个程序生命周期内都是有效的,在任意的函数内部能访问全局变量。

#include <stdio.h>
 
/* 全局变量声明 */
int a;
 
int main ()
{
  /* 局部变量声明 */
  int a=1;
 
  return a;//返回1,因为变量重名时,优先使用局部变量
}

全局变量与局部变量在内存中的区别:

全局变量保存在内存的全局存储区中,占用静态的存储单元;

局部变量保存在栈中,只有在所在函数被调用时才动态地为变量分配存储单元。