版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第3章章 简单的简单的c程序设计程序设计本章要求:本章要求:进一步理解进一步理解c c程序的组成,了解程序的组成,了解c c语句的分类语句的分类掌握掌握c c语言中数据的输入语言中数据的输入/ /输出方法,常用输入输出方法,常用输入/ /输出函数的使用输出函数的使用掌握顺序结构程序设计方法,能编写简单的掌握顺序结构程序设计方法,能编写简单的c c程程序序本章难点:本章难点: 数据输出格式控制符的使用数据输出格式控制符的使用 本章重点:本章重点: 格式输入格式输入/输出函数(输出函数( scanf() /printf())的使用)的使用3.1 c语句概述语句概述 一个大型一个大型c程序的结构程
2、序的结构c语句分为以下五类:语句分为以下五类:1控制语句控制语句控制语句用于控制程序的流程,以实现程控制语句用于控制程序的流程,以实现程序的各种结构方式。序的各种结构方式。分三类:分三类: 条件判断语句:条件判断语句:if语句、语句、switch语句语句。 循环执行语句:循环执行语句:for语句、语句、do while语语句、句、while语句语句。 转向语句:转向语句:break语句、语句、goto语句、语句、continue语句、语句、return语句语句。 2函数调用语句函数调用语句 函数调用语句由函数名和实际参数加上函数调用语句由函数名和实际参数加上分号分号“;”组成。其一般形式为:组
3、成。其一般形式为: 函数名函数名(实际参数表实际参数表);例如:例如:printf(c program); /* 调用库函数,输出字符串调用库函数,输出字符串 */ 3. 表达式语句表达式语句 形式:形式: 表达式表达式;执行表达式语句的含义:计算表达式执行表达式语句的含义:计算表达式例如:例如:x=a+b; y+z ; i+;4空语句空语句 只有一个分号的语句,它什么也不做。只有一个分号的语句,它什么也不做。 ;5复合语句复合语句把多个语句用花括号把多个语句用花括号“ ”括起来组成括起来组成的语句称复合语句。的语句称复合语句。在程序中应把复合语句看成是单条语句,在程序中应把复合语句看成是单条
4、语句,而不是多条语句。而不是多条语句。例如,下面就是一条复合语句。例如,下面就是一条复合语句。 x=y+z; a=b+c; printf(%d%d,x,a); 3.2 赋值语句赋值语句 赋值语句一般形式为:赋值语句一般形式为: 变量变量=表达式表达式;功能:将赋值运算符右侧功能:将赋值运算符右侧“表达式表达式”的值赋给的值赋给左侧的变量。例如,以下均为赋值表达式:左侧的变量。例如,以下均为赋值表达式:x=3 (x的值为的值为3)y=z=-1(等价于等价于y=(z=-1),y和和z的值都为的值都为-1)a=(b=10)/(a=2) (b的值为的值为10,a的值为的值为5)y=(7+6)%5/3
5、(y的值为的值为1)若在赋值表达式后面加上若在赋值表达式后面加上“;”,则构成赋值,则构成赋值语句语句.说明:说明:1. 赋值符赋值符“=” 右边的表达式可以又是一个赋右边的表达式可以又是一个赋值表达式值表达式例如:例如:a=b=c=5; 相当于相当于 c=5; b=c; a=b;2. 注意变量说明中给变量赋初值和赋值语句的注意变量说明中给变量赋初值和赋值语句的区别。区别。int a=3,b=4,c=5; 相当于相当于 int a,b,c; a=3;b=4;c=5;3. 在变量说明中,不允许连续给多个变量赋初在变量说明中,不允许连续给多个变量赋初值。值。如下述说明是错误的:如下述说明是错误的:
6、int a=b=c=5; 4. 注意赋值表达式和赋值语句的区别。注意赋值表达式和赋值语句的区别。赋值表赋值表达式是一种表达式,可以出现在任何允许表达式是一种表达式,可以出现在任何允许表达式出现的地方,而赋值语句则不能。达式出现的地方,而赋值语句则不能。合法的:合法的: a=(x=y+5)+6; 非法的:非法的: a=(x=y+5;)+6; 5. 语句中的语句中的“=”称为赋值号,它不同于数学中称为赋值号,它不同于数学中的等号的等号 例如:例如: a=a+1在数学中是不成立在数学中是不成立的,在的,在c语言中:语言中:5x5+166、赋值符号、赋值符号“=”l 左边一定只能是变量名左边一定只能是
7、变量名,不能是常量、,不能是常量、符号常量、表达式。符号常量、表达式。l 右边的表达式可以是变量、常量、函数右边的表达式可以是变量、常量、函数调用等表达式。调用等表达式。例如:例如: z=x+y; /*将变量将变量x和变量和变量y的值的和赋值给变量的值的和赋值给变量z */下面的赋值语句都是错的:下面的赋值语句都是错的: 5=x; /* 左边是常量左边是常量 */ sin(x)=20; /* 左边是函数调用,即是表达式左边是函数调用,即是表达式 */7. 数据类型问题数据类型问题l 赋值符号赋值符号“=”两边的数据类型一般要求两边的数据类型一般要求应一致。应一致。l 如果两边的类型不同,则如果
8、两边的类型不同,则以左边变量以左边变量或或对象属性对象属性的数据类型为基准的数据类型为基准例如,有定义例如,有定义 int x; float y; x=3.5415926; /* 取其整数赋值给取其整数赋值给x,x的值为的值为3 */ y=123; /* 将整数将整数123转换实数转换实数123.0,赋值给赋值给y, 执行后,执行后,y的值是的值是123.0 */ 3.3 数据格式输入数据格式输入/输出输出 3.3.1 数据输入数据输入/输出的概念输出的概念 数据输入数据输入/输出是相对计算机内存输出是相对计算机内存在语言中所有的在语言中所有的数据输入输出数据输入输出都是由都是由库库函数函数完
9、成的。完成的。 因此都是函数语句。因此都是函数语句。使用库函数时,要使用预编译命令使用库函数时,要使用预编译命令 : #include “stdio.h” 或或 #include 注:注:printf() 和和 scanf()函数不需要头包含文函数不需要头包含文件。件。3.3.2 数据格式输出数据格式输出printf()函数函数 printf()功能:按控制字符串规定的格式,向功能:按控制字符串规定的格式,向输出设备输出各输出项输出设备输出各输出项基本格式为:基本格式为: printf(“控制字符串控制字符串”,输出项列表),输出项列表)printf(“s=%dn”, s);控制字符串控制字符
10、串由格由格式说明和普通字式说明和普通字符两部分组成。符两部分组成。输出项输出项可以是常量、变量、可以是常量、变量、表达式,其类型与个数必表达式,其类型与个数必须与控制字符串中格式字须与控制字符串中格式字符的类型、个数一致、各符的类型、个数一致、各项之间用逗号分隔。项之间用逗号分隔。1.格式字符串格式字符串格式说明格式说明一般格式为:一般格式为:%格式字符格式字符%d %c %s %f 最小宽度与精度修饰符最小宽度与精度修饰符当指定宽度小于数据的实际宽度时:当指定宽度小于数据的实际宽度时:对整数,按该数的实际宽度输出。对整数,按该数的实际宽度输出。对浮点数,相应小数位的数四舍五入。对浮点数,相应
11、小数位的数四舍五入。 长度修饰符(长度修饰符(l/h) 标志字符:标志字符:- + # (空格)(空格)2普通字符普通字符普通字符包括普通字符包括可打印字符可打印字符和和转义字符转义字符。 可打印字符是一些说明字符,这些字符按可打印字符是一些说明字符,这些字符按原样显示在屏幕上原样显示在屏幕上 转义字符是不可打印的字符,它们其实是转义字符是不可打印的字符,它们其实是一些控制字符,控制产生特殊的输出效果。一些控制字符,控制产生特殊的输出效果。常用的有常用的有“t”,“n”,其中,其中t为水平制表符,为水平制表符,作用是跳到下一个水平制表位,作用是跳到下一个水平制表位, “n”为为回车换行符,遇到
12、回车换行符,遇到“n”,显示自动换到,显示自动换到新的一行。新的一行。3.3.3 数据格式输入数据格式输入scanf()函数函数 scanf()的功能:从键盘上输入数据,该输入数的功能:从键盘上输入数据,该输入数据按指定的输入格式被赋给相应的输入项。据按指定的输入格式被赋给相应的输入项。一般格式为:一般格式为: scanf(控制字符串控制字符串,输入项地址列表,输入项地址列表);scanf(“%d%d”,&a,&b);控制字符串控制字符串规定数据规定数据的输入格式,由格式的输入格式,由格式说明和普通字符两部说明和普通字符两部分组成。分组成。输入项地址列表输入项地址列表由变由变量地址组成,各变量
13、量地址组成,各变量地址之间用逗号地址之间用逗号“,”分分隔。各变量要加地址隔。各变量要加地址操作符,表示如下:操作符,表示如下: &变量名变量名1.格式字符串格式字符串格式说明格式说明一般格式为:一般格式为:%格式字符格式字符 %d %c %s %f 宽度(宽度(m) scanf(“%3d”,&a); /*输入输入123456,按,按宽度输入一个整数宽度输入一个整数123赋给变量赋给变量a*/长度修饰符(长度修饰符(l/h)可与可与d、o、x一起使用一起使用(*)scanf(“%d%*d%d”,&x,&y,&z);/*若输入若输入为为“ ” 结果为结果为x=1,y=3,z未赋未赋值,被跳过。值
14、,被跳过。*/2.普通字符普通字符普通字符包括空格、转义字符和可打印字符。普通字符包括空格、转义字符和可打印字符。 空格空格 scanf(“%d%c”,&a,&ch); 输入输入32 q期望期望a=32,ch=q,但实际上,分隔符空格被,但实际上,分隔符空格被读入并赋给读入并赋给ch。 可打印字符可打印字符 scanf(%d,%d,%c“, &a, &b, &ch); 当输入为:当输入为:1,2,q 即:即:a=1,b=2,ch=q使用使用scanf函数还必须注意以下几点:函数还必须注意以下几点:scanf函数中没有精度控制函数中没有精度控制 。 如:如:scanf(“%5.2f”,&a);
15、是非法的。是非法的。若格式控制串中没有非格式字符作输入数若格式控制串中没有非格式字符作输入数据之间的间隔则可用空格或回车作间隔。据之间的间隔则可用空格或回车作间隔。 scanf(%d%d,&a,&b); 则输入应为则输入应为 5 6 ,中间可以用空格,中间可以用空格如果格式控制串中有非格式字符则输入时如果格式控制串中有非格式字符则输入时也要输入该非格式字符。也要输入该非格式字符。scanf(a=%d,b=%d,c=%d,&a,&b,&c); 则输入应为则输入应为 a=5,b=6,c=73.4 字符数据非格式输入字符数据非格式输入/输出函数输出函数 需要需要 #include 1字符输入函数字符
16、输入函数getchar()格式:格式:getchar(); 作用:从键盘输入一个字符。作用:从键盘输入一个字符。 从功能角度来看,从功能角度来看,scanf()函数可以完全代函数可以完全代替替getchar()函数。函数。若若 char c1; 则则 c1=getchar();可使用等价语句:可使用等价语句: scanf(%c,&c1);说说 明:明: getchar()函数一次只能返回一个字符,即函数一次只能返回一个字符,即调用一次调用一次只能输入一个字符只能输入一个字符。 程序第一次执行程序第一次执行getchar()函数时,系统暂函数时,系统暂停等待用户输入,停等待用户输入,直到按回车键
17、确认直到按回车键确认。 如果用户输入了多个字符,则该函数只取如果用户输入了多个字符,则该函数只取第一个字符,第一个字符,多余的字符(包括换行符多余的字符(包括换行符n)存放在键盘缓冲区中)存放在键盘缓冲区中,等待下一个,等待下一个getchar()函数。函数。2. getch()和和getche()函数函数 作用:从键盘上读入作用:从键盘上读入1个字符个字符 与与getchar()函数的区别函数的区别:是输入不需要回车是输入不需要回车键结束,即键结束,即输入一个字符就自动结束输入输入一个字符就自动结束输入。 调用格式为调用格式为: getch(); getche(); 两者的区别是两者的区别是
18、: getch()函数不将读入的字符回显在显示函数不将读入的字符回显在显示屏幕上屏幕上getche()函数将读入的字符回显到显示屏函数将读入的字符回显到显示屏幕上幕上#include void main() float x; printf(enter the number x:); scanf(%f,&x); printf(you enter number x=%fn ,x); printf(press any key to continue.); getch(); /*等待输入任一键等待输入任一键*/ printf(“bye bye .); getch(); 3字符输出函数字符输出函数putchar( )格式:格式:putchar(ch);功能:是向显示器终端输出一个字符。其功能
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 互联网店铺外包运营协议(2024年标准版)版
- 养老院陪护协议书范本
- 航运物流项目居间投资协议
- 装饰装修居间合作协议
- 印刷厂装修工人劳务合同
- 2025年度个人养老贷款保证担保合同样本3篇
- 区块链项目投资协议书范文
- 2025年度个人房屋抵押反担保标准合同3篇
- 国际劳务合作协议
- 摄影行业拍摄照片版权归属协议书
- 合成生物学在生物技术中的应用
- 中医门诊病历
- 广西华银铝业财务分析报告
- 无违法犯罪记录证明申请表(个人)
- 电捕焦油器火灾爆炸事故分析
- 大学生劳动教育PPT完整全套教学课件
- 继电保护原理应用及配置课件
- 《杀死一只知更鸟》读书分享PPT
- 盖洛普Q12解读和实施完整版
- 2023年Web前端技术试题
- 品牌策划与推广-项目5-品牌推广课件
评论
0/150
提交评论