程序流程图又称程序框图,是用统一规定的标准符号描述程序运行具体步骤的图形表示。程序框图的设计是在处理流程图的基础上,通过对输入输出数据和处理过程的详细分析,将计算机的主要运行步骤和内容标识出来。程序框图是进行程序设计的最基本依据,因此它的质量直接关系到程序设计的质量。
一、语句概述
C语句:以“;”作分隔符,编译后产生机器指令。
C语句分类:
表达式语句:表达式加分号构成。
空语句:;
复合语句:用 {…}括起来的一组语句
一般形式:{ [数据说明部分;]
执行语句部分;
}
说明:
“}”后不加分号
语法上和单一语句相同
复合语句可嵌套
二、程序的三种结构
结构化程序设计
基本思想:任何程序都可以用三种基本结构表示,限制使用无条件转移语句(goto)
结构化程序:由三种基本结构反复嵌套构成的程序叫~
优点:结构清晰,易读,提高程序设计质量和效率
三种基本结构
顺序结构
选择结构
循环结构
注:A,B,A1….An可以是一个简单语句,也可以是一个基本结构
三、if选择设计
if语句(条件选择语句)
if语句的三种形式
形式一:
格式:if (expression) statement
执行过程:
if (x>y)
printf(“%d”,x);
形式二:
格式:
if (expression) statement
else statement2
执行过程:
if (x>y) max=x;
else max=y;
形式三:
格式:
if ( expr1 ) statement1
else if (expr2 ) statement2
else if (expr3 ) statement3
…...
[ else statementn ]
执行过程:
例:if (salary>1000) index=0.4;
else if (salary>800) index=0.3;
else if (salary>600) index=0.2;
else if (salary>400) index=0.1;
else index=0;
说明:
if后面的表达式类型任意
语句可以是复合语句
if(x) <->if(x!=0)
if(!x) <->if(x==0)
例如:if(a==b&&x==y) printf(“a=b,x=y”);
if(3) printf(“OK”);
if(‘a’) printf(“%d”,’a’);
例 考虑下面程序的输出结果:
#include
main()
{ int x,y;
scanf(“%d,%d”,&x,&y);
if(x>y)
x=y; y=x;
else
x++; y++;
printf(“%d,%d\\n”,x,y);
}
运行结果:
Compile Error!
if语句嵌套
if (expr1)
if (expr2)
statement1
else
statement2
if (expr1)
if (expr2)
statement1
else
statement3
if (expr1)
statement1
else
if(expr3)
statement3
else
statement4
if (expr1)
if (expr2) statement1
else statement2
else
if(expr3) statement3
else statement4
例 输入两数并判断其大小关系
#include
main()
{ int x,y;
printf("Enter integer x,y:");
scanf("%d,%d",&x,&y);
if(x!=y)
if(x>y) printf("X>Y\\n");
else printf("X);
else
printf("X==Y\\n");
}
运行结果:
Enter integer x,y:12,23
XEnter integer x,y:12,6
X>Y
Enter integer x,y:12,12
X==Y
if ~ else 配对原则:缺省{ }时,else总是和它上面离它最近的未配对的if配对
if(……)
if(……)
if(……)
else…...
else…...
else…...
例如:
if (a==b)
if(b==c)
printf(“a==b==c”);
else
printf(“a!=b”);
修改后
if (a==b)
{ if(b==c)
printf(“a==b==c”);
}
else
printf(“a!=b”);
实现if~ else 正确配对方法:加{ }
四、switch语句
一般形式:
switch( 表达式)
{ case E1:
语句组 1;
break;
case E2:
语句组 2;
break;
…….
case En:
语句组 n;
break;
[default:
语句组 ;
break;]
}
执行过程:
说明:
E1,E2,…En是常量表达式,且值必须互不相同
语句标号作用,必须用break跳出
case后可包含多个可执行语句,且不必加{ }
switch可嵌套
多个case可共用一组执行语句
例如:
switch(score)
{ case 5: printf(“Very good!”);
case 4: printf(“Good!”);
case 3: printf(“Pass!”);
case 2: printf(“Fail!”);
default : printf(“data error!”);
}
运行结果:score为5时,输出:
Very good! Good! Pass! Fail! data error!
-
流程图
+关注
关注
2文章
63浏览量
18737 -
程序设计
+关注
关注
3文章
261浏览量
30391 -
程序框图
+关注
关注
0文章
8浏览量
8398
发布评论请先 登录
相关推荐
评论