• 网络学院
  • IT资讯
  • 操作系统
  • 网络技术
  • 软件应用
  • 办公软件
  • 编程技术
  • 网站架设
  • 数据库类
  • 平面设计
  • 多媒体类
  • 游戏资讯
  • 教学论文
  • 认证考试
C语言教程:第三章:
  站点:
  • 首 页
  • 最新软件
  • 文章教程
  • 国内软件
  • 国外软件
  • 绿色软件
  • 源码下载
  • 字体下载
C语言教程:第三章: C语言程序设计初步(7)
软件发布 C语言教程:第三章: C语言程序设计初步(7)
网络软件 系统工具 应用软件 联络聊天 图形图像 多媒体类 行业软件 游戏娱乐 编程开发 安全相关 教育教学 数码软件 绿软下载
热门软件: QQ 瑞星 pplive e话通 木马克星 千千静听 office2000 五笔字根 Photoshop 视频分割
返回文章教程首页 >> 认证考试 >> 计算机等级考试 >> 计算机等级考试动态 >> C语言教程:第三章: C语言程序设计初步(7)

C语言教程:第三章: C语言程序设计初步(7)

添加时间: 2007-5-21 3:23:03  作者: 计算机等级考试认证参考  阅读次数:27   来源: http://www.d9soft.com

       

 
for语句   

for语句是C语言所提供的功能更强,使用更广泛的一种循环语句。其一般形式为:    
for(表达式1;表达式2;表达3)    
语句;    
表达式1 通常用来给循环变量赋初值,一般是赋值表达式。也允许在for语句外给循环变量赋初值,此时可以省略该表达式。   
表达式2 通常是循环条件,一般为关系表达式或逻辑表达式。   
表达式3 通常可用来修改循环变量的值,一般是赋值语句。   
这三个表达式都可以是逗号表达式, 即每个表达式都可由多个表达式组成。三个表达式都是任选项,都可以省略。   
一般形式中的“语句”即为循环体语句。for语句的语义是:   
1.首先计算表达式1的值。   
2.再计算表达式2的值,若值为真(非0)则执行循环体一次, 否则跳出循环。    
3.然后再计算表达式3的值,转回第2步重复执行。在整个for循环过程中,表达式1只计算一次,表达式2和表达式,3则可能计算多次。循环体可能多次执行,也可能一次都不执行。for 语句的执行过程如图所示。   
void main(){   
int n,s=0;   
for(n=1;n<=100;n++)   
s=s+n;   
printf("s=%d ",s);   
}    
用for语句计算s=1+2+3+...+99+100   

int n,s=0;   
for(n=1;n<=100;n++)   
s=s+n;   
printf("s=%d ",s);    
本例for语句中的表达式3为n++,实际上也是一种赋值语句,相当于n=n+1,以改变循环变量的值。   
void main(){   
int a=0,n;   
printf("  input n: ");   
scanf("%d",&n);   
for(;n>0;a++,n--)   
printf("%d ",a*2);   
}   
用for语句修改例题。从0开始,输出n个连续的偶数。   
int a=0,n;   
printf("  input n: ");   
scanf("%d",&n);   
for(;n>0;a++,n--)   
printf("%d ",a*2);   
本例的for语句中,表达式1已省去,循环变量的初值在for语句之前由scanf语句取得,表达式3是一个逗号表达式,由a++,n-- 两个表达式组成。每循环一次a自增1,n自减1。a的变化使输出的偶数递增,n的变化控制循次数。   
在使用for语句中要注意以下几点   
1.for语句中的各表达式都可省略,但分号间隔符不能少。如:for(;表达式;表达式)省去了表达式1。for(表达式;;表达式)省去了表达式2。   
for(表达式;表达式;)省去了表达式3。for(;;)省去了全部表达式。   
2.在循环变量已赋初值时,可省去表达式1,如例3.27即属于这种情形。如省去表达式2或表达式3则将造成无限循环, 这时应在循环体内设法结束循环。例题即属于此情况。   
void main(){   
int a=0,n;   
printf("  input n: ");   
scanf("%d",&n);   
for(;n>0;)   
{ a++;n--;   
printf("%d ",a*2);   
}   
} int a=0,n;   
printf("  input n: ");   
scanf("%d",&n);   
for(;n>0;)   
{ a++;n--;   
printf("%d ",a*2);   
}

本例中省略了表达式1和表达式3,由循环体内的n--语句进行循环变量n的递减,以控制循环次数。   
void main(){   
int a=0,n;   
printf("  input n: ");   
scanf("%d",&n);   
for(;;){   
a++;n--;   
printf("%d ",a*2);   
if(n==0)break;   
}   
}   
int a=0,n;   
printf("  input n: ");   
scanf("%d",&n);   
for(;;){   
a++;n--;   
printf("%d ",a*2);   
if(n==0)break;   
}   
本例中for语句的表达式全部省去。由循环体中的语句实现循环变量的递减和循环条件的判断。当n值为0时,由break语句中止循环,转去执行for以后的程序。在此情况下,for语句已等效于while( 1)语句。如在循环体中没有相应的控制手段,则造成死循环。   
3.循环体可以是空语句。   
#include"stdio.h"   
void main(){   
int n=0;   
printf("input a string: ");   
for(;getchar()!=’ ’;n++);   
printf("%d",n);   
}   
本例中,省去了for语句的表达式1,表达式3也不是用来修改循环变量,而是用作输入字符的计数。这样, 就把本应在循环体中完成的计数放在表达式中完成了。因此循环体是空语句。应注意的是,空语句后的分号不可少,如缺少此分号,则把后面的printf 语句当成循环体来执行。反过来说,如循环体不为空语句时, 决不能在表达式的括号后加分号, 这样又会认为循环体是空语句而不能反复执行。这些都是编程中常见的错误,要十分注意。   
4.for语句也可与while,do-while语句相互嵌套,构成多重循环。以下形成都合法的嵌套。   
(1)for(){…   
  while()   
   {…}   
  …   
    }   
(2)do{   
   …   
  for()   
   {…}   
  …   
  }while();   
(3)while(){   
      …   
      for()   
       {…}   
      …   
     }   
(4)for(){   
    …   
    for(){   
    …   
     }   
    }   
void main(){   
int i,j,k;   
for(i=1;i<=3;i++)   
{ for(j=1;j<=3-i+5;j++)   
printf(" ");   
for(k=1;k<=2*i-1+5;k++)   
{   
if(k<=5) printf(" ");   
else printf("*");   
}   
printf(" ");   
}   
}   

转移语句   

程序中的语句通常总是按顺序方向, 或按语句功能所定义的方向执行的。如果需要改变程序的正常流向, 可以使用本小节介绍的转移语句。在C语言中提供了4种转移语句:   
goto,break, continue和return。   
其中的return语句只能出现在被调函数中, 用于返回主调函数,我们将在函数一章中具体介绍。 本小节介绍前三种转移语句。

 

上下文章:

 

上一篇文章: 云南省2003年下半年全国计算机等级考试7月5日报名 下一篇文章: 南京:全国计算机等级考试今起报名

相关文章:

  • Photoshop CS4教程:打造新年元旦主题海报
  • PS教程:调出照片的柔和梦幻色彩
  • Photoshop教程:将儿童照制作成拼图效果
  • PhotoShop教程:制作漂亮的灯笼
  • PS教程:绘制一面逼真玻璃转角镜

相关软件:

  • 多国语言互译专家 2009 6.4
  • RonyaSoft ProPoster 多语言版 v2.02.11
  • 易语言 V4.04 简体中文正式版
  • 句宝盆--新概念英语第三册 V4.75
  • API拦截教程 V1.0
  • 脚本语言生成器 V2.5 Build 1050

 

快速导航

  • 网络学院
  • 精品汇聚
  • 字体下载
  • 教程下载
  • ASP源码
  • PHP源码
  • Net源码
  • JSP 源码

计算机等级考试分类导航

  • 计算机等级考试动态
  • 计算机一级考试
  • 计算机二级考试
  • 计算机三级考试
  • 计算机四级考试

本类经典文章推荐

  • 全国计算机等级考试三级网络技术(...
  • 三级网络技术复习笔记(第1-2章)
  • 三级笔试样题(PC技术)
  • 三级数据库技术样题
  • 三级网络技术复习笔记(5-7)
  • 三级网络技术复习笔记(第3-4章)
  • 笔试样题(网络技术)
  • 机考如何避免范围性错误
  • 2003年最新三级网络模拟题(2)
  • 全国计算机等级考试三级网络技术部...

计算机等级考试动态阅读排行

  • 完整的计算机等级考试上机模拟系统
  • 9月17日计算机等级考试二级VF答案
  • 历年操作系统论述题及答案(2)
  • 计算机等级考试:VFp练习题1
  • 全国计算机等级考试三级网络技术(...
  • 计算机等级考试:VFp练习题2
  • 2005年全国计算机等级考试全真模拟...
  • 计算机二级VB软件环境、考试时间、...
  • 全国计算机等级考试报名时间、级别...
  • 三级网络技术复习笔记(第1-2章)

计算机等级考试阅读总排行

  • 全国计算机等级考试一级模拟试题01
  • 全国计算机等级考试一级模拟试题10
  • 全国计算机等级考试一级模拟试题08
  • 全国计算机等级考试一级模拟试题02
  • 全国计算机等级考试一级考试最新模...
  • 全国计算机等级考试一级模拟试题07
  • 一级(WINDOWS)试题解析-Word篇
  • 全国计算机等级考试上机考试应试技...
  • 全国计算机等级考试一级模拟试题03
  • 全国计算机等级考试一级模拟试题06

广告位置

字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 回到顶部

关于我们 | 版权声明 | 免责条款 | 广告联系 | 软件发布 | 下载帮助 | 下载排行 | 网站地图 | 特别鸣谢 | 友情连接

copyright; 2005-2008 D9soft.com 第九软件网 版权所有