简单程序的一般形式

 下面一起研究一下hello.c程序,并且由此归纳一些通用的程序格式,简单的c程序一般具有如下格式。
指令
int main(void)
{
语句
}
在这个模板以及本书的其他类似模板,所有以Courier字体显示的语句都代表实际的c语言程序代码,而所有以中文楷体显示的部分则表示需要由程序员提供的内容。
即使最简单的程序也依赖3个关键的语言特性:指令(在编译前修改程序的编辑指令),函数(被命名的可执行代码块,如main函数)和语句(程序运行时执行的命令)。

指令

 在编写c程序之前,预处理器会首先对其进行编辑。我们把预处理器执行的命令称为指令。这里暂时只关注#include指令
hello.c有下面这行指令开始
#include <stdio.h>
 这条n额令说明,在编译前<stdio.h>中信息包含到程序里面,<stdio.h>包含了关于c标准输入/输出库的信息。c语言拥有大量<stdio.h>的原因是:c语言不同于其他的编程语言,它没有内置的读和写的命令。输入和输出功能由标准库中的函数实现。

函数

 函数类似于其他编程语言中的过程和子例程,它们是用来构建程序的构建块。事实上,c程序就是函数的集合。函数分为两类:一类是程序员编写的函数,另一类则是作为c语言实现的一部分提供的函数。我们把后者称为库函数,因为它们属于一个由编译器提供的函数库。
 术语函数来源于数学,函数是指根据一个或多个给定参数进行数值计算规则:
f(x) = x +1
g(y,z) = y2 - z2
c语言对函数这个术语的使用则更加宽松,在c语言中,函数仅仅是一系列组合在一起并且赋予了名字的语句。某些函数计算数值,某些函数不这么计算。计算数值的函数用return 语句返回指定所返回的值,例如:对参数进行加1操作的函数可以执行语句
return·= x + 1;
而当函数要计算参数的平方差时,则可以执行语句
return y * y -z * z;
 虽然一个c程序可以包含多个函数,但只有main函数是必须有的。main函数是非常特殊的,在执行程序时系统会自动调用main函数。
main函数的名字是至关重要的,绝对不能改写begin和start,甚至MAIN也不行
 如果main是一个函数,那么他会返回一个值吗?是的。他会在程序终止时向操作系统返回一个状态码,我们再来看一下hello.c程序

#include<stdio.h>
int main(int argc, const char *argv[])
{
	printf("Hello World\n");
	return 0;
}

main前面的int表明该函数将返回一个整数值。圆括号中的void表面main函数没有参数,语句return 0;
有两个作用:一个是让main函数终止(从而结束程序),二是支出main函数的返回值是0.
==如果main函数的末尾没有return语句,程序任然能终止。但是,许多编译器会产生一条警告信息(因为函数应该返回一个整数缺没有这么做)

语句

 语句是程序运行时执行的命令。程序hello.c只用到了两种语句。一种是返回(return)语句,另一种则是函数调用语句。要求某个函数执行分派给它的任务称为调用这个函数。例如,程序hello.c为了在屏幕上显示一条字符串就调用了printf函数。

&emsp;printf("Hello World\n");

显示字符串
 printf是一个功能强大的函数,因为我们只是打印了一句hello world。只是用了printf函数显示了一条字符串面量–用一对双引号包围的一系列字符。当用printf函数显示字符串字面两时,最外层的双引号不会出现。
 当显示结束时,printf函数不会自动跳到下一个输出行。为了让printf跳转到下一行,必须在要显示的字符\n(换行符)。写换行符就意味着终止当前行,然后把后续的输出转到下一行,为了说明这一行,请思考把语句

printf(“Hello World\n”)
替换成下面两个对printf函数的调用后所产生的效果
printf("Hello World");
printf("Hello World\n");

结果:
在这里插入图片描述

注释

 注释几乎可以出现在程序的任何位置,它既可以单独占行也可以和其他程序文本出现在同一行

/*************************************************************************
	> File Name: hello.c
	> Author: wy
	> Mail: [email protected] 
	> Created Time: 2018年12月16日 星期日 01时12分21秒
 ************************************************************************/

#include<stdio.h>
int main(int argc, const char *argv[])
{
	printf("Hello World\n");
	return 0;
}

除了上面的哪一种注释除外还有一种注释,就是在每一行的前面加//,

   // File Name: hello.c
   // Author: wy
   // Mail: [email protected] 
   // Created Time: 2018年12月16日 星期日 01时12分21秒

新的注释风格有两个主要优点:首先,因为注释会在行末自动终止,所以不会出现未终止的注释意外吞噬分程序的情况:其次,因为每行前面都必须有//,所以多行注释更加醒目。

猜你喜欢

转载自blog.csdn.net/weixin_43700340/article/details/85020092
今日推荐