在C语言代码中,很多东西都是很容易理解的,前提是你要先看懂这些关键词的含义,前面的代码主要涉及以下几点。
1.加载头文件
#include <stdio.h>
这句代码的含义是引入"stdio.h"这个文件。其中,"include"指包含,"stdio"就是指 “standard buffered input&output" 意思就是说"带缓冲的标准输入输出","stdio.h"是标准io函数库,代码中如果有用到printf()输出函数和scanf()输入函数,没把"stdio.h"这个文件包含进来是无法输入输出的。文件后缀中的"h"是指"head",即是"头"。如果程序里不需要在控制台上输入和输出,则不需要引入"stdio.h"头文件。
#include <stdlib.h>
"stdlib.h"头文件即"standard library"标准库头文件,此文件包含了C、C++语言的最常用的系统函数,跟系统调用相关的,如malloc()内存申请、calloc()、realloc()、free()内存释放、system()、atoi()、atol()、rand()、srand()、exit()等等。
#include <time.h>
"time.h"是C/C++中的日期和时间头文件,用于需要时间方面的函数,基于时间因素生成随机数的情况下需要加载这个库。因为我们前面的源代码中有用到随机生成开奖号,所以要加载"time.h"和"stdlib.h"两个库。
2.主入口函数
int main(){ //小区大门口,进来时要在保安亭登记进来是拿什么东西出去,快递还是废旧
//可执行的代码块 (打包、称重、开单)
return 0;//把什么东西带走
}
"main"就是"主要的",也就是程序的大门口,运行时执行流程从这里进去,跑完代码块之后,出来时带上返回值,即"return 0;",返回的数据是整数型,则"main"前面要标明是"int"类型。可以这样理解,快递员来你家取件,得从你家小区大门口进(main),不能爬墙翻窗进来,而且在进来时他得在门口保安亭那里登记一下他是来收快递(int)的,不是来收废旧的,他进来后打包称重开单(代码块)之后,把快递件带回去了(return 0;)。假如快递员进来是登记收快递(int),结果他出来时带走的是其它东西(return非整数型的东西),那么程序就会报错(小区保安报警),所以写代码是很严谨的事,不能随便写。
3.产生随机数
void randomize(void); //初始化随机数发生器
rand();//产生随机数
randomize()初始化随机数发生器相当于给摇号机插上电源(只需要插上一次就可以了),rand()产生随机数相当于按下按钮让机器自动打乱号码然后滚出一个号码,可以用多个rand()产生多个随机数。rand()产生随机数可能是一位整数5,也可能是68等多位整数,因为我们是要在“万、千、百、十、个”五个位置各自随机开出一个0~9的数字,所以我们用的是rand()%10,意思是摇出一个随机数后,用它来除以10,取它的余数,得到的就是一个0~9的数字,假如摇出来的是50,则取得的是0,假如摇出来的是59,则取得的是9。在这里,"%"符号表示"模除",即是"先除,再取它的余数"。
4.格式化输出输入
printf ("沙悟净:我要买个位%d \n",12345);//格式化输出
这句代码会在控制台上输出一行字"沙悟净:我要买个位12345"。"printf"就是"print format",即"格式化输出"。"%d"是一个占位符,即是先用"%d"先占个位,输出时把后面的值12345代入后再输出。我们可以这样理解,占位符的作用相当于找人帮你排队占着位置,轮到你时你再亲自上场,上面就是12345这个整数找了"%d"帮占着位置。值得注意的是找来帮你占位的人要和你的类型一致,假如你是人类,却找了条狗帮你排队占位,这是不允许的,你得找同类。
5.换行符
'\n'指的是"newline 换行",想换两行就是'\n\n'。常见的'\r\n'是"回车换行",'\r'是"回车 return"使光标回到行首,'\n'是"newline换行"使光标下移一行,合起来就是"回车换行"。(注意windowns系统和linux系统有所区别)
6.单行注释多行注释
"//"是注释掉单行,在编译程序里开发工具会自动忽略掉这些注释代码再进行编译生成可执行程序
"/* 代码块 */"是注释掉多行,适合于注释掉有换行或成段的代码块。
以上种种,在大部分编程语言中都是相通的,很多高级语言的语法大同小异,逻辑思路大体上是相同的,不同的是写法和语言特性,所以学会C语言,其它的语言也可以触类旁通。
网友评论