C语言程序设计:主要是设计问题的解决步骤和方法
什么是算法:算法就是为了解决一个问题采用的方法和有限的步骤。
算法的特点:
·有穷性:包含有限的操作步骤,不能无限制地执行下去;
·可行性:算法中的每一条指令必须是切实可执行的;
·确定性:算法中的每一条指令必须有确切的含义,不能产生歧义;
算法的描述:流程图
程序的三大结构就是为了更好的解决一个问题采用更少的步骤。
接下来我们学习程序设计的三大结构。
1.顺序结构
就是个操作是按照先后顺序执行的。是最简单的一种基本结构。
2.选择结构
也称分支结构,根据是否满足给定条件而从两组操作中选择执行
一种操作。
3.循环结构
又称重复结构。即在一定条件下,反复执行某一部分的操作。
4.C语句的分类
控制语句
1.if(条件)
if(条件)
{
当条件为真执行的代码;
}
当条件不成立执行的代码;
2. if()……else语句
if(条件)
{
当条件为真执行的代码;
}
else
{
当条件不为真所执行的代码;
}
3.if……else嵌套实现
if(条件1)
{
if(条件2)
{
满足条件1并且满足条件2;
}
else
{
满足条件1不满足条件2;
}
}
else
{
不满足条件1;
}
4.if……else if……else嵌套实现
if(条件1)
{
满足条件1;
}
else if(条件2)
{
不满足条件1;满足条件2;
}
else if(条件3)
{
不满足条件1;不满足条件2;满足条件3;
}
else
{
不满足条件1;不满足条件2;不满足条件3;
}
注意:if与else的配对规则,(else总是和在它前面最近的未配对的if相配对)。
5.switch语句
switch(表达式)
{
case 表达式可能出现的情况之一:
语句1;
break;
case 表达式可能出现的情况之二:
语句2;
break;
case 表达式可能出现的情况之三:
语句3;
break;
default:
表达式可能出现的其他情况(不包括情况一二三)
break;
}
注意:case后面的语句中如果没有break语句,则执行完本case后的语句会接着执行下面的case后的语句,直到有break为止 ;
6.goto语句:
goto label;
...
...
label: ...
...
6.while()
while(条件1)
{
条件1为真,执行循环体;
}
条件1为假,执行这里。。。
7.do...while()
do
{
循环体;
}while(条件1)
注意:do...while()循环是直到型循环;while()循环是当型循环;
直到型循环:即先执行一次语句块,在判断条件;
当型循环:即,先判断条件,满足执行语句块;
8.for()循环
语句1:初始值
语句2:判断条件
语句3:循环变量的更新
语句4:循环体
for(语句1;语句2;语句3;)
{
语句4;
}
for循环执行的顺序:
语句1---语句2---语句4---语句3---语句2---语句4---语句3---语句2---语句4---语句3
5.C语言中标准的输入输出:
printf()函数C语言标准库提供的函数,如果想使用,需要包含stdio.h头文件
printf函数的用法:
printf("ABC\n");------>原样输出ABC,打印出来会换行(\n)
printf("a=%d\n",a);--->输出a这个标识符代表的数字。
printf("格式控制",输出列表);
格式控制:需要用"格式控制"
1.格式字符(格式化符):用%和特定的字符组成的 eg:%c %d %f %lu %ld %lf %s...
2.普通字符:主要作为说明性的文字,会被原样打印出来
3.转义字符:用\和特定的字符组成的 eg:\n \t \r...
输出列表:
1.输出列表可以没有,但是如果格式控制中提供了格式字符(格式化符),输出列表必需有。
2.输出表列上有几个取决于格式控制部分有几个格式字符(格式化符)。
3.输出的时候用到 -代表左对齐 0右对齐
4.%md m:代表域宽,输出项在输出设备上所占的字符数
5.%o 以八进制形式输出
6.%x 以十六进制形式输出
7.%u 无符号的十进制输出
8.%c 字符型输出
9.%s 以字符串形式做输出
10.%m.ns m:代表域宽,输出项在输出设备上所占的字符数
n:代表精度,用于输出实型数据的小数位数
11.%f 以单精度浮点型输出
12.%lf 以双精度浮点型输出
13.%m.nf m:代表域宽,输出项在输出设备上所占的字符数
n:代表精度,用于输出实型数据的小数位数
scanf()函数
int a;
scanf("%d",&a);
6.用break语句和continue语句改变循环状态
1.break功能
①跳出switch结构;②退出当前循环结构,包括while结构、do...while结构和for循环结构。
2.continue功能
结束本次循环的执行,不退出循环结构,就是执行下一次循环体中的语句,进行下次是否执行循环的判定。