目录
一. 程序的三种基本控制结构
1. 顺序结构:
简单的线性结构,程序执行时按语句排列顺序依次执行,顺序结构的语句包含变量声明语句、函数调用语句、赋值语句、输入输出语句
例题1:输入任意两个整数然后求和,最后输出结果.
#include <stdio.h>
main()
{
int a, b, sum;
printf("请输入a和b的值:\n");
scanf("%d,%d",&a,&b);
sum=a+b;
printf("\nsum=%d",sum);
}
输出结果:
2.选择结构
又称分支结构,对某个给定条件进行判断,条件为真或假时,从两条或多条路径中选择下一步要执行的操作路径
3. 循环结构
当型循环:执行过程是先判断条件p,当条件为真时,反复执行“语句组”(也称循环),一旦条件为假,跳出循环,执行循环紧随其后的下一条语句
直到循环:执行过程是先执行“语句组”,再判断条件p,条件为真时,一直循环执行语句组,一但条件为假,结束循环,执行循环紧随其后的下一条语句。
二. 程序设计的一般步骤
分析问题、设计算法、实现程序
1. 分析问题:
明确要解决的问题是什么,有哪些要输入的数据,要进行什么处理,最终需要得到哪些处理结果,对要输入输出的数据进行分析后确定数据类型
2. 设计算法:
分析后,设计数据的组织方式,接着设计解决问题的操作步骤,并不断完善,最终达到一个完整的算法
3. 实现程序:
选择一种程序设计语言,将算法设计后得到的数据组织方式算法具体步骤转化成用具体的过程数据语言来描述,实现整个程序
例题1:输出三个整数然后输出其中最大数:
分析:为解决问题应先定义三个变量x,y,z,将三个数依次输入三个变量中另外再定义一个变量max存放最大数,由于计算机一次只能比较两个数,先比较x,y大的存入max中,再把max与z进行比较,把大的存入max中,最后输出max
算法表述如下:
(1) 输入x,y,z。
(2)x与y中大的一个放入max中。若x>y,则max←x;否则max←y。
(3)把z与max中大的一个放入max中。若z>max,则max←z。
(4)输出max,max即为最大值
#include <stdio.h>
main()
{
int x,y,z,max;
scanf("%d,%d,%d",&x,&y,&z);
if(x>y) max=x;
else max=y;
if(z>max) max=z;
printf("max=%d",max);
}
输出结果:
三. C语句概述
C语言的语句用来向计算机系统发出操作指令,一个语句经过编译后产生若干条机器指令,声明部分不应称为语句(如:int x 不产生机器操作,而只是对变量的定义),C语言的执行部分是由语句组成,程序的功能也是由执行语句实现
C语言分为以下五类:
1. 表达式语句
由一个表达式加上分号“;”组成。执行表达式语句就是计算表达式的值
赋值语句是由赋值表达式再加上分号构成的表达式语句,一般形式:
变量=表达式;
在赋值语句中的使用:
(1) 嵌套形式:
变量=变量=…=表达式;
例如:a=b=c=d=e=5;按照赋值语句的右结合性,实际上等效于:e=5; d=e; c=d; b=c; a=b;
(2)在变量说明中给变量赋值和赋值语句的区别,给变量赋初值是变量说明的一部分,赋初值后的变量与其后的其他同类变量之间仍必须用逗号间隔,而赋值语句必须用分号结尾
(3)变量说明中不允许连续给多个变量赋初值(如:int a=b=c=5;必须写int a=5,b=5,c=5; 而赋值语句允许连续赋值)
(4)注意赋值表达式和赋值语句的区别,赋值表达式可以出现在任何表达式允许出现的地方而赋值语句不能。(如:if((x=y+5;)>0) z=x; 是错误的,x=y+5;是语句不能出现在表达式中)
2. 函数调用语句
由函数名、实际参数加上分号“;”组成
一般形式:
函数名(实际参数);
执行函数语句就是调用函数体并把实际参数赋予函数定义中的形式参数,然后执行被调函数体中的语句,求取函数值(如: printf(“C program”);调用库函数,输出字符串)
3. 控制语句
用于控制程序的流程,以实现程序的各种结构方式,由特定的语句定义符组成
九种控制语句:
(1)条件判断语句:if语句, switch语句
(2)循环执行语句:do while语句; while语句; for语句
(3)转向语句:break语句;goto语句;continue语句;return语句
4. 复合语句
把多个语句用{ }括起来组成的一个语句,在程序中应看为单条语句
5. 空语句
只有分号“;”组成的语句,什么也不执行的语句,在程序中用来作空循环体(如:while(getchar()!+’\n’ 功能是只要从键盘输入的字符不是回车则重新输入,这里的循环体为空语句)