目录
频道首页
简单C程序示例及分析
收藏
0
ProgramLight 最近修改于 2024-04-15 11:35:02

对于C语言呢,大多数C语言的初学者可能在初次看见C程序的时候可能觉得有些古怪,程序中%d、\n这样的符号是什么意思呢?程序中的#include怎么这么奇怪呢?在本篇文章中会简述每行代码的作用,含义。​

目录

让我们来看一个简单的C程序——first.c程序:

输出结果

1.#include 指令和头文件

2.main()函数

​3.注释

​4.花括号、函数体和块

5.声明

6.赋值

7.printf()函数

8.return语句

让我们来看一个简单的C程序——first.c程序:

#include
int main(void)                /*一个简单的C程序*/
{
    int num;            //定义一个名为num的变量
    num=1;              //为num赋一个值

    printf("I am a simple ");   //使用printf()函数
    printf("computer.");
    printf("My favorite number is %d,because it is first.c\n",num);

    return 0;
}

输出结果

I am a simple computer.
 My favorite number is 1,because it is first.

接下来,将简述示例代码中每行代码的作用及含义:

1.#include 指令和头文件

#include
  • ​该行的作用相当于把 stdio.h 文件中的所有内容都输入到该行所在的位置。实际上这是一种“拷贝-粘贴”的操作。include 文件提供了一种方便的途径共享许多程序共有的信息。​
  • #include 这行代码是一条 C 预处理器指令(preprocessor dirctive。通常,C 编译器在编译前会对源文件做一些准备工作,即预处理(preprocessing。​
  • 所有 C 编译器软件包都提供 stdio.h 文件。该文件包含了供编译器使用的输入和输出函数(如,printf())的信息。该文件名的含义是标准输入/输出头文件。通常,在 C 程序顶部的信息集合被称为头文件(header)。​

2.main()函数

int main(void)
  • C 程序包含一个或多个函数,是 C 程序的基本模块。​
  • 圆括号表明 main()是一个函数名。​
  • int 表明 main()函数返回一个整数,返回给操作系统。​
  • 通常,函数名后面的圆括号中包含一些传入函数的信息,但 void 表明 main()不带任何参数。

​3.注释

  • 在程序中,被/**/两个符号括起来的部分是程序的注释,较长的注释可以单独放一行或多行, 又称多行注释.如:
/*多行注释*/
  • 也可使用//符号创建注释,但限于单行,又称单行注释
//单行注释

​4.花括号、函数体和块

{
    ......
}
  • 在示例中,花括号把 main()中的内容括起来。一般而言,所有的 C 函数都使用花括号标记函 数体的开始和结束,这是规定,不能省略。
  • 花括号还可以把函数中的多条语句合并为一个单元或块。

5.声明

int num;
  • 在示例中,这行代码叫作声明(declaration。声明是C语言最重要的特性之一。
  • 在该例 中,声明完成了两件事,一是在函数中有一个名为num的变量(variable。二是int表明 num是一个整数。
  • int 是一种数据类型,编译器使用这些信息num变量在内存中分配存储空间。分号在C语言中 是大部分语句和声明的一部分。
  • 示例int 是C语言的一个关键字(keyword,表示一种基本的C语言数据类型。关键字是C语 言定义的单词,不可用作其他用途,如作为函数名和变量名。
  • 示例中num是一个标识符(identifier),也就是一个变量、函数或者其他实体的名称。因此声 明把特定标识符与计算机内存中的特定位置联系起来,同时也确定了存储在某个位置的信息类 型或数据类型。
  • 在C语言中,所有变量都必须先声明才能使用。
  • 数据类型:C语言可以处理多种类型的数据,如整数、字符和浮点数。把变量声明为整型或字 符类型,计算机才能正确的存储、读取和解释数据。
  • 命名:给变量命名是要使用有意义的变量名或标识符;如果变量名无法清楚的表达自身的用 途,可在注释中进一步说明。
  • C语言给变量命名可以用大小写字母、数字和下划线来命名。但是名称的第一个字符必须是字母或下划线,不能是数字。

6.赋值

num=1;
  • 示例中的这行代码就是赋值表达式语句。赋值是C语言的基本操作之一。
  • 此行代码的意思是“把值1赋给变量num” 。
  • 在执行int num;声明时,编译器在计算机内存中为变量num预留了空间,然后在执行这行赋值 表达式语句时,把值存储在之前预留的位置。
  • 可以给num赋不同的值,这就是num被称为变量(variable)的原因。
  • 注:赋值表达式语句从右侧把值赋到左侧;另外,该语句以分号结尾

7.printf()函数

printf("I am a simple ");                     //1
printf("computer.\n");                         //2
printf("My favorite number is %d,because it is first.c\n",num);        //3
  • 以上三行都是用了C语言的一个标准函数,printf(),圆括号表明printf()是一个函数名。

  • 圆括号中的内容是从main()函数传递给prinf()函数的信息。

  • 例如,上面第一行把I am a simple 传递给printf()函数,该信息则称为参数,更确切的说是函 数的实际参数(actual argument)。

  • 在C语言中,实际参数(简称实参)是传递给函数的特定值,形式参数(简称形参)是函数中 用于存储值的变量。

  • printf()函数的参数的作用——将圆括号中双引号中的内容打印在屏幕上。

  • 第一行printf()表示了在C语言中如何调用函数。只需要输入函数名,把所需的参数填入圆括 号即可。

    • 当程序运行到这一行时,控制权被转给已命名的函数(本例中是printf())。当函数执行 结束后,控制权返回至主调函数(caling function),本例中是main().
  • 第二行printf()函数的双引号中的\n字符表示换行。\n组合表示一个换行符(newwine characer)。

    • 对于printf()函数而言,就是“在下一行最左边开始新的一行。”换句话说打印换行符的效果与在键盘上按下Enter键相同。
  • 换行符是一个转义序列(escape swquence。转义序列用用于代表难以表示或无法输入 的字符。如,\t表示Tab键,\b表示Backspace键(退格键)。每个序列都以反斜杠字符 (\)开始。

  • 第三行中的%d的作用:%d相当于是一个占位符,其作用是告诉计算机以何种形式输出num 的值,打印在何处,如,在示例first.c程序的第二行输出( My favorite number is 1,because it is first.),%d被数字1替代,而1就是变量num的值。

8.return语句

return 0;
  • return语句是示例中最后一条语句,int main(viod ) 中int表明main()函数应返回一个整数。 这是C标准要求main()这样做。
  • 有返回值的C函数要有return语句,该语句以return关键字开始,后面是待返回的值,并以分 号结尾。
  • C函数可以给调用方提供一个(或返回)一个数,可把该行看作是结束main()函数的要求。
内容大纲
批注笔记
简单C程序示例及分析
ArticleBot
z
z
z
z
主页
会议室
Git管理
文章
云文档
看板