C + + 程序的流程控制
- 格式:ppt
- 大小:212.50 KB
- 文档页数:31
C语言是一种广泛应用的编程语言,其流程控制语句是编写程序中的重要部分。
流程控制语句用于控制程序的执行流程,包括顺序执行、条件执行和循环执行。
C语言中常用的流程控制语句主要包括顺序结构、选择结构和循环结构,下面将分别介绍它们的语法格式及使用方法。
1. 顺序结构顺序结构是程序中最简单的流程控制结构,也是最基本的结构。
顺序结构指的是按照代码的编写顺序依次执行,没有跳跃或分支。
在C语言中,顺序结构是程序的默认执行方式,没有特定的关键字或语法格式。
程序中的语句按照编写的顺序依次执行,直到程序结束。
例如:```cint m本人n() {int a = 1;int b = 2;int c = a + b;printf("The result is d\n", c);return 0;}```以上代码中的语句就是按照顺序依次执行的,没有条件判断或循环。
2. 选择结构选择结构是根据条件判断的结果决定程序执行的流程控制结构。
在C 语言中,选择结构有两种形式,分别是if语句和switch语句。
(1)if语句if语句用于根据条件判断的结果决定程序的执行流程。
其基本语法格式如下:```cif (condition) {// 当条件为真(非0)时执行此处的语句块} else {// 当条件为假(0)时执行此处的语句块}```在if语句中,condition代表一个表达式或逻辑判断,如果condition 的值为真(非0),则执行if后面的语句块;否则执行else后面的语句块。
例如:```cint score = 80;if (score >= 60) {printf("Pass\n");} else {printf("F本人l\n");}```以上代码中,根据score的值来判断是否及格,如果score大于等于60,则输出Pass,否则输出F本人l。
除了if和else关键字,还可以使用else if语句来实现多重条件判断:```cint score = 75;if (score >= 90) {printf("Excellent\n");} else if (score >= 80) {printf("Good\n");} else if (score >= 70) {printf("Average\n");} else {printf("F本人l\n");}```(2)switch语句switch语句也是一种选择结构,适用于有多个条件判断的情况。
C语言程序设计实验报告一、实验名称流程控制实验二、实验目(de)1.掌握复合语句、if语句、switch语句(de)使用,熟练掌握for、while、do-while 三种基本(de)循环控制语句(de)使用,掌握重复循环技术,了解转移语句与标号语句.2.练习循环结构for、while、do-while语句(de)使用.3.练习转移语句和标号语句(de)使用.4.使用codeblocks开发环境中(de)调试功能:单步执行、设置断点、观察变量值.三、实验任务1.源程序改错题下面是计算s=n(de)源程序,在这个源程序中存在若干语法和逻辑错误.要求在计算机上对这个例子程序进行调试修改,使之能够正确完成指定任务.例如,8=40320.include <>void main(){int i,n,s=1;printf("Please enter n:");scanf("%d",n);for(i=1,i<=n,i++)s=si;printf("%d = %d",n,s);}2.源程序修改替换题(1)修改第1题,分别用while和do-while语句替换for语句.(2)修改第1题,输入改为“整数S”,输出改为“满足n≥S(de)最小整数n”.例如输入整数40310,输出结果为n=8.3.编程设计题(1)假设工资税金按以下计算方法计算:x<1000元,不收税金;1000<=x<2000,收取5%(de)税金;2000<=x<3000,收取10%(de)税金;3000<=x<4000,收取15%(de)税金;4000<=x<5000,收取20%(de)税金;x>5000, 收取25%(de)税金.编写一个程序,输入工资金额,输出应收取(de)税金,要求用if和switch语句来实现.(2)编写一个程序,将输入(de)一行字符复制到输出,复制过程中将一个以上(de)空格字符用一个空格字符代替.(3)打印如下杨辉三角形.1 /第0行 /1 1 /第1行 /1 2 1 /第2行 /1 3 3 11 4 6 4 11 5 10 10 5 11 6 15 20 15 6 11 7 21 35 35 21 7 11 8 28 56 70 56 28 8 11 9 36 84 126 126 84 36 9 1每个数据值可以由组合j i C 计算(表示第i 行第j 列位置(de)值),而j i C (de)计算如下:10=i C (i=0,1,2,…)j / 1)j -(i *1+=-j i j i C C (j=0,1,2,3, (i)本程序中为了打印出金字塔效果,要注意空格(de)数目.一位数之间是3个空格,两位数之间有2个空格,3位数之间只有一个空格,程序编制过程中要注意区分.(4)编写一个程序,将用户输入(de)任意正整数逆转,例如,输入1234,输出4321.四、 实验步骤及结果1.源程序改错题更改后(de)正确程序:include <>int main(),{int i,n,s=1;printf("Please enter n:");scanf("%d",&n);for(i=1;i<=n;i++)s=si;printf("%d=%d",n,s);return 0;}2.源程序修改替换题(1)while语句型替换程序include <>int main(){int i=1,n,s=1;printf("Please enter n:"); scanf("%d",&n);while(i<=n){s=si;i++;}printf("%d=%d",n,s);return 0;}(2)do-while语句型替换程序include <>int main(){int i=1,n,s=1;printf("Please enter n:");scanf("%d",&n);do{s=si;i++;}while(i<=n);printf("%d=%d",n,s);return 0;}3.编程设计题(1)税金收取问题程序:If语句型:include<>int main(){double income,tax,a,b;inx:printf("Please enter the income:\n");scanf("%lf",&income);a=income/1000;if(a>=0){if(a>=5)b=;if(a>=4)b=;if(a>=3)b=;if(a>=2)b=;if(a>=1)b=;elseb=;tax=incomeb;printf("the tax is %.1lf",tax); } else{printf("Enter error\n");goto inx;}}运行结果:Switch语句型:include<>int main(){double income,tax,a,b;inx:printf("Please enter the income:\n"); scanf("%lf",&income);a=income/1000;if(a<0){printf("Enter error\n");goto inx;}elseswitch((int)(a)){case 0:b=;break;case 1:b=;break;case 2:b=;break;case 3:b=;break;case 4:b=;break;default:b=;break;} tax=incomeb;printf("The tax is %.1lf",tax);return 0;}运行结果:(2)字符复制输出和多个空白字符删除:include<>int main(){int flag=1;char c;printf("please intput some chars:\n");while((c=getchar())='\n'){switch(c){case' ':if(flag){putchar(c);flag=0;}break;default:putchar(c);flag=1;}}if((c=getchar())=='\n')printf("%c",c);return 0;}运行结果:(3)杨辉三角:include<>define M 10define N 10int main(){int a[M][N],i,j;for(i=0;i<M;i++){for(j=N;j>=i;j--)printf("%2c",' ');for(j=0;j<=i;j++){if(i==j||j==0)a[i][j]=1;elsea[i][j]=a[i-1][j]+a[i-1][j-1]; printf("%3d ",a[i][j]);if(i==j)printf("\n");}}}运行结果:(4)数字逆转:include<>int main(){long x, digit;printf("please input a positive integer:\n"); scanf("%ld",&x);do{digit=x%10;printf("%ld",digit);x/=10;}while(x=0);printf("\n");return 0;}运行结果:五、实验体会通过这次C语言实验,我更进一步认识到了C语言学习理论、实践相结合(de)重要性.同时我也深深认识到if语句、if-else语句、switch、for、while以及do-while等在c语言实现中(de)重要作用,我会更加努力学习理论知识,时不时(de)上机实践来查找自己(de)不足进而是自己在C语言(de)学习上取得很大(de)进步,提高自己(de)实践能力.。
C语言常见几种流程控制语句
1.顺序结构:程序按照代码的先后顺序依次执行,没有特殊的控制语句。
2.选择结构:根据条件的真假选择是否执行段代码,常见的选择结构有:
- if语句:根据条件判断是否执行段代码。
- switch语句:根据不同的取值执行不同的代码。
3.循环结构:根据条件的真假重复执行段代码
- for语句:根据循环条件重复执行段代码,一般用于已知循环次数的情况。
- while语句:根据循环条件重复执行段代码,一般用于不知道具体循环次数的情况。
- do-while语句:先执行一次代码,再根据循环条件重复执行段代码,一般用于至少需要执行一次的情况。
除了以上常见的流程控制语句,C语言还提供了一些其他的流程控制语句,如break语句用于结束当前循环,continue语句用于跳过本次循环的剩余代码等。