深入了解C语言结构化的程序设计
目录
- C语言是结构化的程序设计语言!
- if语句
- 1:单分支结构
- 2:多分支结构
- 悬空else
- while循环
- 总结
C语言是结构化的程序设计语言!
结构有三大类:顺序结构,选择结构,循环结构!
顺序结构:顺序结构是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。
举个例子:
#include<stdio.h> int main() { int i=1;//这段代码中i依次为1,2,3 printf("%d\n",i);//同时打印1,2,3,这里的代码就是按顺序结构进行下去的 i++; printf("%d\n",i); i++; printf("%d\n",i); return 0; }
选择结构:选择结构用于判断给定的条件,根据判断的结果判断某些条件,根据判断的结果来控制程序的流程。主要是使用if语句,以及switch语句。
if语句
1:单分支结构
if(表达式) 语句;
#include<stdio.h> int main() { int age; scanf("%d",&age); if(age<18) { printf("未成年\n"); } return 0; }
2:多分支结构
if(表达式1) 语句1; else if(表达式2) 语句2; else 语句3;
#include<stdio.h> int main() { int age; scanf("%d",&age); if(age<18) { printf("未成年\n"); } else if(age>=18&&age<=30) { printf("青年\n"); } else { printf("中年以及老年\n"); } return 0; }
注:当if语句中的表达式结果为真,则语句执行
悬空else
看看这段代码,你知道它会打印什么吗?
#include<stdio.h> int main() { int a=0; int b=0; if(a==1) if(b==2) printf("hehe\n"); else printf("haha\n"); return 0; }
如果你觉得会打印东西,那么恭喜你,回答错误!!!
告诉你给秘密,下面的这段代码等于上面的那段代码!
#include<stdio.h> int main() { int a=0; int b=0; if(a==1) { if(b==2) { printf("hehe\n"); } else { printf("haha\n"); } } return 0; }
看完上面的代码估计你就明白了!else是与最近的if匹配,而不是与对其的if匹配!
switch语句:switch语句常常用于多分支的情况。
switch(整形表达式) { 语句项; } 语句项 //是一些case整形常量表达式: 语句
#include<stdio.h> int main() { int time; scanf("%d",&time); switch(time) { case 1: printf("春天\n"); break;//break是指跳出循环 case 2: printf("夏天\n"); break; case 3: printf("秋天\n"); break; case 4: printf("%冬天\n"); break; default://default是指case没有规定的位置,可以写在任何一个case标签可以出现的位置 printf("输入错误\n"); break; } }
循环语句:循环结构是在一定条件下反复执行某段程序的流程结构,被反复执行的程序被称为循环体。
while循环
while(表达式) 循环语句;
#include<stdio.h> int main() { int i=0; while(i<=10) { i++; if(i==5) continue;//continue是用于终止本次循环,然后直接跳转到while语句的判断部分,进行下一次循环的入口判断 printf("%d ",i); } return 0; }
do~while循环:循环至少执行一次,不是经常使用!
do 循环语句; while(表达式); //与while语句的区别就是do~while是先执行,然后再判断,while语句相反!
for循环
for(表达式1:表达式2:表达式3) 循环语句: 表达式1:初始化 表达式2:判断 表达式3: 调整
#define _CRT_SECURE_NO_WARNINGS 1//打印乘法口诀表 #include<stdio.h> int main() { int i,j; for(i=1;i<=9;i++) { for(j=1;j<=i;j++) { printf("%d*%d=%d ",j,i,j*i); } printf("\n"); } return 0; }
总结
本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注海外IDC网的更多内容!