收藏 分销(赏)

国外C语言程序设计英文lecture培训课件.ppt

上传人:二*** 文档编号:12574294 上传时间:2025-11-03 格式:PPT 页数:34 大小:167KB 下载积分:5 金币
下载 相关 举报
国外C语言程序设计英文lecture培训课件.ppt_第1页
第1页 / 共34页
本文档共34页,全文阅读请下载到手机保存,查看更方便
资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,国外C语言程序设计英文lecture,*,国外C语言程序设计英文lecture,Lecture 3:Outline,Program Looping Kochan chap.5,The,for,Statement,Relational Operators,Nested,for,Loops,Increment Operator,Program Input,for,Loop Variants,The,while,Statement,The,do,Statement,The,break,Statement,The,continue,Statement,2,国外C语言程序设计英文lecture,Executing a program,Program=list of statements,Entrypoint,:the point where the execution starts,Control flow,:the order in which the individual statements are executed,Statement1,Statement2,Statement3,Statement4,Statement5,Statement6,Statement7,Statement8,3,国外C语言程序设计英文lecture,Structure of a C program,#include,int main(void),int value1,value2,sum;,value1=50;,value2=25;,sum=value1+value2;,printf(The sum of%i and%i is%in,value1,value2,sum);,return 0;,Entry point of a C program,Sequential,flow of control,4,国外C语言程序设计英文lecture,Controlling the program flow,Forms of controlling the program flow:,Executing a sequence of statements,Repeating a sequence of statements(until some condition is met)(looping),Using a test to decide between alternative sequences(branching),Statement1,Statement2,Statement3,Statement4,Statement5,Statement6,Statement7,Statement8,5,国外C语言程序设计英文lecture,Program Looping,Looping:doing one thing over and over,Program loop:a set of statements that is executed repetitively for a number of times,Simple example:displaying a message 100 times,:,printf(“hello!n”);,printf(“hello!n”);,printf(“hello!n”);,printf(“hello!n”);,printf(“hello!n”);,Repeat 100 times,printf(“hello!n”);,Program looping:,enables you to develop concise programs containing,repetitive processes that could otherwise require many lines of code!,6,国外C语言程序设计英文lecture,The need for program looping,#include,int main(void),int triangularNumber;,triangularNumber=1+2+3+4+5+6+7+8;,printf(The eighth triangular number is%in,triangularNumber);,return 0;,What if we have to compute the 200-th(1000-th,etc)triangular number?,Example problem:computing triangular numbers.,(The n-th triangular number is the sum of the integers from 1 through,n),In C:3 different statements for looping:for,while,do,7,国外C语言程序设计英文lecture,Example 200,th,triangular number,n=1,triangularNumber=,triangularNumber+n,n=200,n=n+1,yes,no,triangularNumber=0,Print triangularNumber,Statement,before,loop,init_expression,loop_condition,statement,loop_expression,Statement,after,loop,8,国外C语言程序设计英文lecture,Example-,for,/*Program to calculate the 200th triangular number,Introduction of the for statement*/,#include,int main(void),int n,triangularNumber;,triangularNumber=0;,for(n=1;n=200;n=n+1),triangularNumber=triangularNumber+n;,printf(The 200th triangular number is%in,triangularNumber);,return 0;,9,国外C语言程序设计英文lecture,The,for,statement,for(,init_expression;loop_condition;loop_expression,),program statement,init_expression,Program statement,loop_condition,Loop expression,yes,no,1,2,3,4,5,10,国外C语言程序设计英文lecture,The,for,statement,for(n=1;n=200;n=n+1),triangularNumber=triangularNumber+n;,1,2,3,4,5,yes,no,11,国外C语言程序设计英文lecture,How,for,works,The execution of a for statement proceeds as follows:,1.The initial expression is evaluated first.This expression usually sets a variable that will be used inside the loop,generally referred to as an,index,variable,to some initial value.,2.The looping condition is evaluated.If the condition is not satisfied(the expression is false has value 0),the loop is immediately terminated.Execution continues with the program statement that immediately follows the loop.,3.The program statement that constitutes the body of the loop is executed.,4.The looping expression is evaluated.This expression is generally used to change the value of the index variable,5.Return to step 2.,12,国外C语言程序设计英文lecture,Infinite loops,Its the task of the programmer to design correctly the algorithms so that loops end at some moment!,/Program to count 1+2+3+4+5,#include,int main(void),int i,n=5,sum=0;,for(i=1;i=n;n=n+1),sum=sum+i;,printf(“%i%i%in,i,sum,n);,return 0;,What is wrong here?,Does the loop end?,13,国外C语言程序设计英文lecture,Relational operators,Operator,Meaning,=,Is equal to,!=,Is not equal to,Is less than,Is greater than,=,Is greater or equal,The relational operators have lower precedence than all arithmetic operators:,a b+c,is evaluated as,a (b+c),ATTENTION!Do not confuse:,the“is equal to”operator=and the “assignment”operator=,ATTENTION when comparing floating-point values!,Only comparisons make sense!,14,国外C语言程序设计英文lecture,Example,for,with a body of 2,/Program to generate a table of triangular numbers,#include,int main(void),int n,triangularNumber;,printf(TABLE OF TRIANGULAR NUMBERSnn);,printf(n Sum from 1 to nn);,printf(-n);,triangularNumber=0;,for(n=1;n=10;+n),triangularNumber+=n;,printf(%i%in,n,triangularNumber);,return 0;,The,body,of the loop consists in a,block,of 2 statements,15,国外C语言程序设计英文lecture,Increment operator,Because addition by 1 is a very common operation in programs,a special operator was created in C for this.,Increment operator,:the expression+n is equivalent to the expression n=n+1.,Decrement operator,:the expression-n is equivalent to the expression n=n 1,Increment and decrement operators can be placed in front(,prefix,)or after(,postfix,)their operand.,The,difference between prefix and postfix,:,Example:if n=4:,a=n+leads to a=4,n=5,a=+n leads to a=5,n=5,16,国外C语言程序设计英文lecture,Nested loops,#include,int main(void),int n,number,triangularNumber,counter;,for(counter=1;counter=5;+counter),printf(What triangular number do you want?);,scanf(%i,triangularNumber=0;,for(n=1;n=number;+n),triangularNumber+=n;,printf(Triangular number%i is%inn,number,triangularNumber);,return 0;,Remember indentations!,18,国外C语言程序设计英文lecture,for,loop variants,Multiple expressions,(comma between),for(i=0,j=10;ij;i+,j-),Omitting fields,(semicolon have to be still),i=0;,for(;i10;i+),Declaring variables,for(int i=0;i=10 ;i+),19,国外C语言程序设计英文lecture,The,while,statement,while(,expression,),program statement,while(number 0“);,printf(“Give a new number:“);,scanf(“%i“,20,国外C语言程序设计英文lecture,The,while,statement,while(,expression,),program statement,statement,Loop_expression,yes,no,Loop with the test in the beginning!,Body might never be executed!,21,国外C语言程序设计英文lecture,Example:,A program to find the greatest common divisor of two nonnegative integer values ,22,国外C语言程序设计英文lecture,Example-,while,/*Program to find the greatest common divisor,of two nonnegative integer values*/,#include,int main(void),int u,v,temp;,printf(Please type in two nonnegative integers.n);,scanf(%i%i,while(v!=0),temp=u%v;,u=v;,v=temp;,printf(Their greatest common divisor is%in,u);,return 0;,23,国外C语言程序设计英文lecture,Example:,A program to print out the digits of a number in reverse order,24,国外C语言程序设计英文lecture,Example-,while,/Program to reverse the digits of a number,#include,int main(void),int number,right_digit;,printf(Enter your number.n);,scanf(%i,while(number!=0),right_digit=number%10;,printf(%i,right_digit);,number=number/10;,printf(n);,return 0;,25,国外C语言程序设计英文lecture,Example,while,not quite OK!,/Program to reverse the digits of a number,#include,int main(void),int number,right_digit;,printf(Enter your number.n);,scanf(%i,while(number!=0),right_digit=number%10;,printf(%i,right_digit);,number=number/10;,printf(n);,return 0;,What happens if you enter number=0?,26,国外C语言程序设计英文lecture,The,do,statement,do,program statement,while(,loop_expression,);,statement,loop_expression,yes,no,Loop with the test at the end!,Body is executed at least once!,27,国外C语言程序设计英文lecture,Example,do while,/Program to reverse the digits of a number,#include,int main(),int number,right_digit;,printf(Enter your number.n);,scanf(%i,do,right_digit=number%10;,printf(%i,right_digit);,number=number/10;,while(number!=0);,printf(n);,return 0;,28,国外C语言程序设计英文lecture,Which loop to choose?,Criteria:Who determines looping,Entry-condition loop-for,while,Exit-condition loop-do,Criteria:Number of repetitions:,Indefinite loops-while,Counting loops-for,In C,you can actually rewrite any while as a for and viceversa !,29,国外C语言程序设计英文lecture,Example:,while,vs,for,#include,int main(void),int count=1;,while(count=5),printf(%in,count);,+count;,return 0;,#include,int main(void),int count;,for(count=1;count=5;,count+),printf(%in,count);,return 0;,30,国外C语言程序设计英文lecture,The,break,Statement,Can be used in order to immediately exiting from a loop,After a break,following statements in the loop body are skipped and execution continues with the first statement after the loop,If a break is executed from within nested loops,only the innermost loop is terminated,31,国外C语言程序设计英文lecture,The,break,statement,Programming style:dont abuse break!,.,while(number!=0),/Statements to do something in loop,printf(Stop,answer 1:);,scanf(%i,if(answer=1),break;,/very bad idea to do this,32,国外C语言程序设计英文lecture,Similar to the break statement,but it does not make the loop terminate,just skips to the next iteration,The,continue,statement,33,国外C语言程序设计英文lecture,The,continue,statement,Continue also not so good style!,.,while(number!=0),/Statements to do something in loop,printf(“Skip next statements answer 1:);,scanf(%i,if(answer=1),continue;,/not so good idea,/Statements to do something in loop,/If answer was 1 these statements are,/not executed.They are skipped.,/Go straight to the beginning of while,34,国外C语言程序设计英文lecture,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 初中其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服