目录
前言
这篇文章主要讲算法的一些概念,关系运算符,条件运算符,以及选择控制结构和条件语句
一、算法的概念?
简单来说,算法就是为了解决一个具体问题而采取的确定,有限,有序,可执行的操作步骤。
著名的计算机科学家沃思提出一个经典的公式:
数据结构+算法=程序(仅限于面向过程的语言)
1.数据结构是计算机存储,组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合
2.算法是操作或行为的描述,算法代表着用系统的方法描述解决问题的策略,不同的算法可能用不同的时间,空间或效率来完成同样的任务
计算机进行问题求解的算法可以大致分为俩类
a.数值算法,主要用于解决数值求解问题。
b.非数值算法,主要用于解决需要用逻辑推理才能解决的问题。
3.算法的基本特性
(1).有穷性
(2).确定性
(3).有效性
(4).允许没有输入或者多个输入
(5).必须有一个或多个输出
4.算法的描述
1.自然语言描述
2.流程图描述
3.NS结构化流程图描述
4.伪码描述
关于算法就简单说这么一些,有兴趣的可以去看数据结构与算法
二、关系运算符和关系表达式
1.关系运算符
Tips:
1.不要于数学中的运算符混淆
2.==和=不一样
2.关系表达式
定义:用关系运算符将俩个操作数连接起来组成的表达式,称为关系表达式。
关系表达式通常用于表达一个判断条件,只有俩种可能,”真“或”假“,即1或0.
三.条件语句
1.用于单分支控制的条件语句
if(表达式P)语句A
2.用于双分支控制的条件语句
if(表达式P)语句1
else 语句2
例题:计算并输出俩个整数的最大值
用单分支的条件语句,代码如下:
#include<stdio.h>
int main(void)
{
int a, b, max;
printf("Input a,b:");
scanf("%d,%d", &a, &b);
if (a > b) {
max = a;
}
if (a <= b) {
max = b;
}
printf("max=%d\n", max);
return 0;
}
用双分支条件语句,代码如下:
#include<stdio.h>
int main(void)
{
int a, b, max;
printf("Input a,b:");
scanf("%d,%d", &a, &b);
if (a > b) {
max = a;
}
else {
max = b;
}
printf("max=%d\n", max);
return 0;
}
四.条件运算符和条件表达式
条件运算符是C语言中唯一一个三元运算符,运算时需要三个操作数
一般形式如下:
表达式1?表达式2:表达式3
含义:若表达式1的值非0,则该条件表达式的值是表达式2的值,否则是表达式3的值。
所以,上面那个例题还可以写成如下代码:
#include<stdio.h>
int main(void)
{
int a, b, max;
printf("Input a,b:");
scanf("%d,%d", &a, &b);
max = a > b ? a : b;
printf("max=%d\n", max);
return 0;
}
补充:用于多分支控制的条件语句
总结
以上就是今天要讲的内容,剩余内容和一些例题会在下一篇中讲到。