《《C语言程序设计》第3章简单的C程序设计.ppt》由会员分享,可在线阅读,更多相关《《C语言程序设计》第3章简单的C程序设计.ppt(26页珍藏版)》请在三一办公上搜索。
1、第3章 简单的C程序设计,本章要求:,进一步理解C程序的组成,了解C语句的分类掌握C语言中数据的输入/输出方法,常用输入/输出函数的使用掌握顺序结构程序设计方法,能编写简单的C程序,本章难点:数据输出格式控制符的使用,本章重点:格式输入/输出函数(scanf()/printf())的使用,3.1 C语句概述,一个大型C程序的结构,C语句分为以下五类:,1控制语句控制语句用于控制程序的流程,以实现程序的各种结构方式。分三类:条件判断语句:if语句、switch语句。循环执行语句:for语句、do while语句、while语句。转向语句:break语句、goto语句、continue语句、ret
2、urn语句。,2函数调用语句,函数调用语句由函数名和实际参数加上分号“;”组成。其一般形式为:函数名(实际参数表);例如:printf(C Program);/*调用库函数,输出字符串*/3.表达式语句 形式:表达式;执行表达式语句的含义:计算表达式例如:x=a+b;y+z;i+;,4空语句 只有一个分号的语句,它什么也不做。;5复合语句把多个语句用花括号“”括起来组成的语句称复合语句。在程序中应把复合语句看成是单条语句,而不是多条语句。例如,下面就是一条复合语句。x=y+z;a=b+c;printf(%d%d,x,a);,3.2 赋值语句,赋值语句一般形式为:变量=表达式;功能:将赋值运算符
3、右侧“表达式”的值赋给左侧的变量。例如,以下均为赋值表达式: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(y的值为1)若在赋值表达式后面加上“;”,则构成赋值语句.,说明:,赋值符“=”右边的表达式可以又是一个赋值表达式例如:a=b=c=5;相当于 c=5;b=c;a=b;注意变量说明中给变量赋初值和赋值语句的区别。int a=3,b=4,c=5;相当于 int a,b,c;a=3;b=4;c=5;在变量说明中,不允许连续给多个变量赋初值。如下述说明是错误的:int a=b=c=5;
4、,注意赋值表达式和赋值语句的区别。赋值表达式是一种表达式,可以出现在任何允许表达式出现的地方,而赋值语句则不能。合法的:a=(x=y+5)+6;非法的:a=(x=y+5;)+6;语句中的“=”称为赋值号,它不同于数学中的等号 例如:A=A+1在数学中是不成立的,在C语言中:,6,6、赋值符号“=”左边一定只能是变量名,不能是常量、符号常量、表达式。右边的表达式可以是变量、常量、函数调用等表达式。例如:z=x+y;/*将变量x和变量y的值的和赋值给变量z*/下面的赋值语句都是错的:5=x;/*左边是常量*/sin(x)=20;/*左边是函数调用,即是表达式*/,7.数据类型问题,赋值符号“=”两
5、边的数据类型一般要求应一致。如果两边的类型不同,则以左边变量或对象属性的数据类型为基准例如,有定义 int x;float y;x=3.5415926;/*取其整数赋值给x,x的值为3*/y=123;/*将整数123转换实数123.0,赋值给y,执行后,y的值是123.0*/,3.3 数据格式输入/输出,3.3.1 数据输入/输出的概念 数据输入/输出是相对计算机内存在语言中所有的数据输入输出都是由库函数完成的。因此都是函数语句。使用库函数时,要使用预编译命令:#include“stdio.h”或#include 注:printf()和 scanf()函数不需要头包含文件。,3.3.2 数据格
6、式输出printf()函数,printf()功能:按控制字符串规定的格式,向输出设备输出各输出项基本格式为:printf(“控制字符串”,输出项列表),printf(“s=%dn”,s);,控制字符串由格式说明和普通字符两部分组成。,输出项可以是常量、变量、表达式,其类型与个数必须与控制字符串中格式字符的类型、个数一致、各项之间用逗号分隔。,1.格式字符串,格式说明一般格式为:%格式字符%d%c%s%f 最小宽度与精度修饰符当指定宽度小于数据的实际宽度时:对整数,按该数的实际宽度输出。对浮点数,相应小数位的数四舍五入。长度修饰符(l/h)标志字符:-+#(空格),2普通字符,普通字符包括可打印
7、字符和转义字符。可打印字符是一些说明字符,这些字符按原样显示在屏幕上转义字符是不可打印的字符,它们其实是一些控制字符,控制产生特殊的输出效果。常用的有“t”,“n”,其中t为水平制表符,作用是跳到下一个水平制表位,“n”为回车换行符,遇到“n”,显示自动换到新的一行。,3.3.3 数据格式输入scanf()函数,scanf()的功能:从键盘上输入数据,该输入数据按指定的输入格式被赋给相应的输入项。一般格式为:scanf(控制字符串,输入项地址列表);,scanf(“%d%d”,控制字符串规定数据的输入格式,由格式说明和普通字符两部分组成。,输入项地址列表由变量地址组成,各变量地址之间用逗号“,
8、”分隔。各变量要加地址操作符,表示如下:&变量名,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未赋值,被跳过。*/,2.普通字符,普通字符包括空格、转义字符和可打印字符。空格 scanf(“%d%c”,当输入为:1,2,q 即:a=1,b=2,ch=q,使用scanf函数还必须注意以下几点:,scanf函数中没有精度控制。如:scanf
9、(“%5.2f”,则输入应为 a=5,b=6,c=7,3.4 字符数据非格式输入/输出函数,需要#include 1字符输入函数getchar()格式:getchar();作用:从键盘输入一个字符。从功能角度来看,scanf()函数可以完全代替getchar()函数。若 char c1;则 c1=getchar();可使用等价语句:scanf(%c,说 明:,getchar()函数一次只能返回一个字符,即调用一次只能输入一个字符。程序第一次执行getchar()函数时,系统暂停等待用户输入,直到按回车键确认。如果用户输入了多个字符,则该函数只取第一个字符,多余的字符(包括换行符n)存放在键盘缓
10、冲区中,等待下一个getchar()函数。,2.getch()和getche()函数,作用:从键盘上读入1个字符 与getchar()函数的区别:是输入不需要回车键结束,即输入一个字符就自动结束输入。调用格式为:getch();getche();两者的区别是:getch()函数不将读入的字符回显在显示屏幕上getche()函数将读入的字符回显到显示屏幕上,#include void main()float x;printf(Enter The Number x:);scanf(%f,3字符输出函数putchar(),格式:putchar(ch);功能:是向显示器终端输出一个字符。其中,ch可以
11、是一个字符变量或常量,也可以是一个转义字符。说明:putchar()函数只能用于单个字符的输出,且一次只能输出一个字符。从功能角度printf()函数可以完全代替putchar()函数,其等价形式:printf(%c,ch)。,3.5 应用程序举例,从键盘输入一个大写字母,要求改用小写字母输出#include stdio.hvoid main()char c1,c2;c1=getchar();printf(%c,%dn,c1,c1);c2=c1+32;printf(%c,%dn,c2,c2);,3.5 应用程序举例,输入时间(小时,分和秒)然后使用输出其计多少秒。void main()int hh,mm,ss;long tss;printf(Enter hh:mm:ss=);scanf(%d:%d:%d,