简单C程序示例及分析

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

目录

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

输出结果

1.#include 指令和头文件

2.main()函数

​3.注释

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

5.声明

6.赋值

7.printf()函数

8.return语句

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

#include<stdio.h>
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>
  • ​该行的作用相当于把 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()函数的要求。
  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值