上一篇:(2)极速 C 语言:开发前准备
在上一篇中,我们测试 Dev-C++ 是否成功安装时,用到了一段简单的代码:
#include <stdio.h>
int main () {
printf ("Hello, Shiqi!");
return (0);
}
这里我们就来分析一下这段代码的含义。
代码运行的顺序
作为初学者,乍一看这段代码可能会有点无从下手。一堆 include、main、return,各种空格换行标点符号不知道怎么理解,先别急,让我们无视掉部分代码:
int main () {
}
当我们拿到一篇文章的时候,我们都知道从文章的最左上角读,按一行一行的从左往右读,这一行读完了就换下一行
![阅读文章的顺序](https://i-blog.csdnimg.cn/blog_migrate/aa897b5d738983a39d7dfc19aaed7b13.png)
如果是一位古人,他拿到一篇文章,可能就会从右上角开始看下,按一列一列的从上往下读,这一列读完了就换左边一列
![古人阅读文章的顺序](https://i-blog.csdnimg.cn/blog_migrate/0397650024117e708437db734f3923dd.png)
而计算机也有自己的一套阅读方法:当一个 C 语言程序被执行时,计算机首先会找出“int main ()”,这是一个程序的入口,找到“int main ()”后计算机便会从这里开始执行代码,直到执行完这个程序。在一个程序只能存在一个“int main ()”,就好像一篇文章只有一个“第一行”,如果你的程序里写了多个主函数,计算机也不知道要从哪个主函数开始执行,于是就会出错了。主函数“int main ()”后面接了一个“{”,再往后看还有一个“}”,这两个花括号组成一对,附在“int main ()”的后面,在花括号中间的就是这个 main 函数的具体内容了。
输出内容
在一个函数会包含一行或多行代码,每行代码都有自己的作用,在这个程序里最核心的就是:
printf ("Hello, Shiqi!");
这是一个 C 语言的“函数”,函数可以命令程序完成一些指定的动作(具体函数是什么,怎么创造属于自己的函数我会在后面介绍),函数 “printf ( )” 的作用就是让程序在控制台(黑窗口)中显示出自己想要的内容,在这个函数的括号里填我们想显示出来的内容,内容要用英文双引号(属于半角符号)括起来
中文的双引号:“ 和 ”
英文的双引号:"
英文的双引号不分左双引号和右双引号,只有一个 "
如果误输了中文双引号(属于全角符号)的话,在 Dev-C++ 里会出现很明显的差别
![中文双引号在 Dev-C++ 中的效果](https://i-blog.csdnimg.cn/blog_migrate/faf400d13c1aaec1ef6e64e1ed831ad9.png)
你可以设置修改 printf 函数中填入的文本(中文也可以)
![自定义 printf 中的文本](https://i-blog.csdnimg.cn/blog_migrate/e9e533f485dfc852a8ad5e8ea14d64d0.png)
在 printf ( ) 函数的末尾有一个英文分号 ; 分号是语句的结束符,代表一个语句的结束。就像我们看一篇文章,如果文章不加标点符号进行断句,这篇文章就会变得非常难以理解。也就是说,在 C 语言中每个语句必须以分号结束。
printf 中设置的内容除了可以是普通的文本,还可以加入一些特殊的标识符。例如“\n”代表换行符
#include <stdio.h>
int main () {
printf ("这是第一行\n这是第二行");
return (0);
}
当你运行这行代码时,显示出的结果会是:
这是第一行
这是第二行
“\n”消失不见了,但在 \n 原来的位置之后的文本则被切换到下一行,就像有人按下了换行键一样。
你还可以尝试使用几个 print 函数():
#include <stdio.h>
int main () {
printf ("我是第一个");
printf ("我是第二个");
return (0);
}
运行结果为:
我是第一个我是第二个
你会发现虽然两个 printf 函数不在同一行,但显示的句子却并没有随之换行。在 C 语言中如果你没有主动使用 \n 或其他方法来要求程序进行换行的话,使用 printf 或其它函数显示出的内容会始终保持在同一行。如果想让上面的程序分为两行显示的话,可以在第一行的末尾加上一个 \n:
#include <stdio.h>
int main () {
printf ("我是第一个\n");
printf ("我是第二个");
return (0);
}
或是在第二行的开头加上一个 \n:
#include <stdio.h>
int main () {
printf ("我是第一个");
printf ("\n我是第二个");
return (0);
}
甚至你也可以单独用一个 printf 函数来进行换行:
#include <stdio.h>
int main () {
printf ("我是第一个");
printf ("\n");
printf ("我是第二个");
return (0);
}
以上三种方法的实现效果均为:
我是第一个
我是第二个
只要你在你想换行的地方加上了 \n,就可以随心所欲地控制显示内容进行换行~,一般情况下第一种方法(将 \n 放在欲换行的上一行末尾)是最常用的。控制符除了 \n 外还有很多,我会在以后逐一列出。
添加注释
如果一个 C 语言的程序有点复杂,为便于理解,你可以向程序中添加“注释”。注释在程序中不会被计算机解读、执行,它的用处在于——假如这里有一大堆代码,你就可以用注释写上这一部分是干什么的,那一块代码是干啥的,便于自己或其它浏览程序代码的人理解自己的代码。C 语言有两种注释的形式:
第一种是单行注释:
#include <stdio.h>
int main () {
printf ("这是正常的代码\n"); // 从两个斜杠“单行注释符”开始,这一行内的右半边全部都是注释
printf ("换行了,代码继续执行\n");
printf ("这又是一个新行"); // 如果需要添加注释,可以使用“单行注释符”
return (0);
}
可以在一行中以“//”开始,// 右边的文本都会被视作注释
另一种是多行注释:
#include <stdio.h>
int main () {
printf ("这是正常的代码\n");
/*
从“多行注释符”开始
多行注释中的内容
都不会被解析执行
无论
分了多少行
直到“多行注释尾”
*/
printf ("代码继续执行\n");
return (0);
}
以“/*” 开始,一直到“*/”结束,中间的所有部分(不限制换行)全部会被视作注释
程序中的注释网上很多说法认为,一个优秀的程序应该处处充满注释。但我认为其实没必要,如果是一个比较简单的程序,甚至没必要写注释。注释应该用在一些重要的代码上进行概括性的描述,或是一些特殊的变量、函数,进行标记。过于繁多的注释反而会引起视觉疲劳,注释倒还变成了累赘。
在这篇博客里我们学习了 printf 函数,尝试编写了一个显示指定文本的程序,在下一篇中我们将学习如何让用户能输入信息、以及如何进行一些简单的运算。