C语言概述
什么是程序
- 日常生活中的:通常指完成某些事物的既定方式和过程
- 计算机中的程序:为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合
- 数据结构+算法+适当的注释
算法和流程图
什么是算法
- 通俗而言,算法是一个定义明确的计算过程,可以以一些值或一组值作为输入并产生一些值或一组值作为输出。因此算法就是将输入转为输出的一系列计算步骤。
- 简而言之,算法就是可完成特定任务的一系列步骤。
-
- 枚举法(穷举法)
首先根据题目的部分条件确定答案的大致范围,然后在此范围内对所有可能的情况逐一验证,直到全部情况验证完毕。
-
- 迭代法
也称辗转法,是一种不断用变量的旧值递推新值的过程。跟迭代法相对应的是直接法(或者称为一次解法),即一次性解决问题。
-
- 递归法
如果一个过程直接或间接地调用它本身,则称该过程是递归的。递归过程必须有一个递归终止条件。递归是从函数本身出发,逐次上溯调用其本身求解过程,直到递归的出口,然后再从里到外推回来,得到最终的值。
-
- 二分查找法
假设数据是按照升序排列的,对于定值x,从序列的中间位置开始比较,如果当前位置值等于x,则查找成功;如果当前位置值大于x,则在数列的前半段中查找;如果当前位置值小于x,则在数列的后半段中查找。
-
- 回溯法
回溯算法实际上是一个类似枚举的搜索尝试过称,主要是在搜索过程中寻找问题的解,当发现不满足求解条件时,就“回溯”返回,尝试别的路径。
回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当搜索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退会再走的技术称为回溯法,而满足回溯条件的某个状态的点就称为“回溯点”。
流程图
- 流程图是算法的一种图形化的表示方式
- 流程图使用一组预定义的符号来说明如何执行特定任务
C语言简历
C语言简介
- 起源
1972年,贝尔实验室 丹尼斯.里奇 - 应用范围
-
-
-
-
C语言特点
- 结构化的程序设计语言
-
- 层次清晰,便于按模块化方式组织程序,便于调试和维护。
-
- 语言简洁
- 可移植性好
- 功能强大
-
C语言的开发工具
- 记事本+命令行
- Turbo C
- Visual C++ 6.0
- Dev C++
- Code::Blocks
Hello World
开发第一个C语言程序
#include <stdio.h>
void main()
{
printf("Hellow World!");
returen 0;
}
C语言程序的基本结构
- 以#开头的语句称为预处理器指令
- #include语句不是必须的,但是如果一旦
程序中有该语句,就必须将它放在程序的开始处 - 以.h为后缀的文件成为头文件。可以是C标准库中的头文件,也可以是自定义的库文件(“‘xx.h’”)
- stdio.h文件中包含了有关输入输出语句的函数
- main()函数是C程序处理的起点/入口
- main()函数可以返回一个值,也可以不返回值。如果某个函数没有返回值,那么在它前面就是关键字void
- printf的作用是在屏幕上打印一行文字
- 最后的分号表示语句结束,注意不要用中文分号
-
- 注意:C语言中的语句可以跨越多行,并且用分号通知编译器该语句已结束。
关于编码规范
- 书写注释是一个良好的编程习惯
- 编译器不会处理这些注释
- 单行注释:以“//”开头
- 多行注释:以“/…/"格式
C语言的编程和运行
编译和执行过程
- 编译
形成目标代码/文件。目标代码是编译器的输出结果,常见扩展名为“.o”或“.obj” - 连接
将目标代码跟C函数库相连接,并将源程序所用的库代码与目标代码合并
形成最终可执行的二进制机器代码(可执行代码) - 运行
在特定的机器环境下运行C运用程序
#include <stdio.h>
void main()
{
printf("名称:德玛西亚之力·盖伦\n");
printf("伤害:57.88(+4.5)\t攻击距离:172、n");
printf("护甲:27.536(+3.0)\t魔抗:32.1(+1.25)\n");
printf("生命:616.28(+84.25)\t生命回复:7.84(+0.5)\n");
printf("法力:0.0(+0.0)\t\t法力恢复:0.0(+0.0)\n");
printf("移速:340\t\t定位:上单 辅助 打野\n");
printf("点券:450\t\t金币:1000\n");
}