动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > C/C++教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ C/C++教程 ]的信息

本月文章推荐
.用Visual C++在单文档界面中创建.
.链表的c语言实现(三).
.2. 数据类型.
.C++箴言:避免构造或析构函数中调.
.将文件copy到剪贴板上.
.键盘谍影 键盘监视器的原理和防范.
.如何简化临时内存的分配与释放.
.在DOS下使用Windows *.WAV 文件.
.More Effective C++:不要重载的.
.Snake.Net中的ORM(三).
.C语言初学者的十八颗“地雷”.
.C语言入门之数据类型(6).
.改变打开对话框中"打开&quo.
.C++箴言:如何访问模板化基类中的.
.经典c程序100例==51--60.
.一维数组.
.用C++ Builder对图像进行特.
.一个排序用的C++函数模板.
.游戏开发新手入门指南.
.高质量C++/C编程指南 --&nb.

C语言程序设计(第3章 程序控制语句)

发表日期:2008-3-8 |


3.1 程序的三种基本结构
3.2 数据的输入与输出
    3.2.1 scanf()函数
    3.2.2 printf( )函数
    3.2.3 getchar()函数与putchar()函数
    3.2.4 程序应用举例
3.3 条件控制语句
    3.3.1 if语句
    3.3.2 switch 语句
    3.3.3 程序应用举例




3.1 程序的三种基本结构
    通常的计算机程序总是由若干条语句组成,从执行方式上看,从第一条语句到最后一条语句完全按顺序执行,是简单的顺序结构;若在程序执行过程当中,根据用户的输入或中间结果去执行若干不同的任务则为选择结构;假如在程序的某处,需要根据某项条件重复地执行某项任务若干次或直到满足或不满足某条件为止,这就构成循环结构。大多数情况下,程序都不会是简单的顺序结构,而是顺序、选择、循环三种结构的复杂组合。
    三种基本结构的流程图、N - S图以及PAD图可以参看本书第1章1.4节“算法”相关内容。
    C语言中,有一组相关的控制语句,用以实现选择结构与循环结构:
    选择控制语句: if;    switch、case
    循环控制语句: for、while、do while
    转移控制语句: break、continue、go to
    我们将在后面几节中具体介绍。

3.2 数据的输入与输出
    在程序的运行过程中,往往需要由用户输入一些数据,而程序运算所得到的计算结果等又需要输出给用户,由此实现人与计算机之间的交互,所以在程序设计中,输入输出语句是一类必不可少的重要语句,在C语言中,没有专门的输入输出语句,所有的输入输出操作都是通过对标准I / O库函数的调用实现。最常用的输入输出函数有scanf( )、pri ntf( )、getchar( )和putchar( ),以下分别介绍。

3.2.1 scanf()函数
    格式化输入函数scanf( )的功能是从键盘上输入数据,该输入数据按指定的输入格式被赋给相应的输入项。函数一般格式为:
    scanf( "控制字符串",输入项列表);
    其中控制字符串规定数据的输入格式,必须用双引号括起,其内容是由格式说明和普通字符两部分组成。输入项列表则由一个或多个变量地址组成,当变量地址有多个时,各变量地址之间用逗号“,”分隔。
    scanf( )中各变量要加地址操作符,就是变量名前加“ &”,这是初学者轻易忽略的一个问题。应注重输入类型与变量类型一致。
    下面探讨控制字符串的两个组成部分:格式说明和普通字符。
1. 格式说明
    格式说明规定了输入项中的变量以何种类型的数据格式被输入,形式是:
    % [ <修饰符> ] <格式字>
    各个格式字符及其意义见表3 - 1。
    表3-1 输入格式字符
    格式字符         意义
     d          输入一个十进制整数
     o          输入一个八进制整数
     x          输入一个十六进制整数
     f          输入一个小数形式的浮点数
     e          输入一个指数形式的浮点数
     c          输入一个字符
     s          输入一个字符串

    各修饰符是可选的,可以没有,这些修饰符是:
⑴ 字段宽度
    例如:scanf("%3d",&a)
按宽度3输入一个整数赋给变量a。
⑵ l和h
    可以和d、o、x一起使用,加l表示输入数据为长整数,加h表示输入数据为短整数,例如:
    scanf("%10ld % hd" , &x , &i)
    则x按宽度为1 0的长整型读入,而i按短整数读入。
⑶ 字符*
    *表示按规定格式输入但不赋予相应变量,作用是跳过相应的数据。
    例如:
    scanf("%4d % *d % 4d" , &x , &y , &z)
    执行该语句,若输入为“1 2 3”
    结果为x = 1,z = 3,y未赋值,2被跳过。

2. 普通字符
    普通字符包括空格、转义字符和可打印字符。
(1) 空格
    在有多个输入项时,一般用空格或回车作为分隔符,若以空格作分隔符,则当输入项中包含字符类型时,可能产生非预期的结果,例如:
    scanf("%d %c" , &a , &ch)
    输入32q
    期望a = 32,ch = q,但实际上,分隔符空格被读入并赋给ch。
为避免这种情况,可使用如下语句:
    scanf("%d %c" , &a , &ch)
    此处% d后的空格,就可跳过字符“ q”前的所有空格,保证非空格数据的正确录入。
(2) 转义字符: \n、\t
    先看下面的例子:
    scanf("%d %d" , &a , &b);
    scanf("%d %d %d" , &x , &y , &z);
    输入为1 2 3
    4 5 6
    结果为:a = 1, b = 2, x = 3, y = 4, z = 5
    若将上述语句改为:
    scanf("%d %d\n" , &a , &b);
    scanf("%d %d %d" , &x , &y , &z);
    对同样的输入,其结果为a = 1,b = 2,x = 4,y = 5,z = 6,由于在第一个scanf的最后有一个\n,所以第二个scanf语句将从第二个输入行获得数据。
(3) 可打印字符
    例如:scanf("%d,%d,%c",&a,&b,&ch);
    当输入为: 1, 2, q
    即:a = 1,b = 2,ch = q
    若输入为1 2 q
    除a = 1正确赋值外,对b与c h的赋值都将以失败告终,也就是说,这些不打印字符应是输入数据分隔符,scanf在读入时自动去除与可打印字符相同的字符。

[例3-1] 试编写求梯形面积的程序,数据由键盘输入。
分析:设梯形上底为A,下底为B,高为H面职为S,则
    S=(A+B)×H÷2
程序如下:
main( )
{
    float a,b,h,s;
    printf("please input a,b,h:");
    scanf("%f %f %f" , &a , &b , &h);
    s = 0.5 * (a + b) * h;
    printf("a=%5.2f b=%5.2f h=%5.2f",a,b,h);
    printf("s = %7.4f" , s ) ;
}
运行结果如下:
please input a,b,h:3.5 4.2 2.8
a=3.50 b=4.20 h=2.80
s = 10.7800

3.2.2 printf( )函数
    与格式化输入函数scanf( )相对应的是格式化输出函数printf( ),其功能为按控制字符串规定的格式,向缺省输出设备(一般为显示器)输出在输出项列表中列出的各输出项,其基本格式为:
printf(“控制字符串”,输出项列表)
输出项可以是常量、变量、表达式,其类型与个数必须与控制字符串中格式字符的类型、个数一致、当有多个输出项时,各项之间用逗号分隔。控制字符串必须用双引号括起,由格式说明和普通字符两部分组成。
1. 格式说明
一般格式为:
% [ <修饰符> ] <格式字符>
格式字符规定了对应输出项的输出格式,常用格式字符见表3 - 2。
表3-2 输出格式字符

格式字符 意义 格式字符 意义 c 按字符型输出 o 按八进制整数输出 d 按十进制整数输出 x 按十六进制整数输出 u 按无符号整数输出 s 按字符串输出 f 按浮点型小数输出 g 按e和f格式中较短的一种输出 e 按科学计数法输出
[1] [2] [3] [4] [5] 
上一篇:C语言编程技巧汇萃(上) 人气:407
下一篇:C语言程序设计(第2章 数据类型、运算符和表达式) 人气:558
浏览全部C/C++的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-10-8 OpenPNE中文 v2.12.3 bulid 0810
2008-10-8 ADN视频收藏专家 v3.5.1008 标准
2008-10-8 捌度出品之Google近日收录查询系
2008-10-8 捌度出品之Google近日收录查询系
2008-10-8 94xhcms v1.1 bulid 081006 beta
2008-10-8 天空网络电影系统SKYUC v2.5.9 简
2008-10-8 60度CMS v1.0 Build 081007
2008-10-8 SiteDynamic企业网站管理系统 v1
2008-10-8 长登企业建站 v1.3 build 081008
2008-9-29 酷狗音乐(原KuGoo)2008 v5.310 正
2008-9-29 QQTab 1.1
2008-9-29 网络传送带 Net Transport 2.64a
2008-9-29 谷歌金山词霸v1.8
2008-9-29 TweakVI 1.0 Build 1090
2008-9-29 ACDSee Pro 2.5 Build 333 汉化绿
2008-9-29 Winamp v5.541(2189) 周明波简体
2008-9-27 CCleaner 2.12.651
2008-9-27 Mozilla Thunderbird 2.0.0.17 英
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | js/vbs加密 | md5加密 | 进制转换 | UTF-8 转换工具 | Html转换js | Html转换asp | Html转换php | Html转换perl
实用工具:汉字翻译拼音 | 拼音字典 | 符号对照表 | 个税计算 | 实时汇率查询换算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 | 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵
SEO対策 中国語教室 ホームページ作成