《C语言程序设计》第3章简单的C程序设计.ppt_第1页
《C语言程序设计》第3章简单的C程序设计.ppt_第2页
《C语言程序设计》第3章简单的C程序设计.ppt_第3页
《C语言程序设计》第3章简单的C程序设计.ppt_第4页
《C语言程序设计》第3章简单的C程序设计.ppt_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章 简单的C程序设计,本章要求:,进一步理解C程序的组成,了解C语句的分类 掌握C语言中数据的输入/输出方法,常用输入/输出函数的使用 掌握顺序结构程序设计方法,能编写简单的C程序,本章难点: 数据输出格式控制符的使用,本章重点: 格式输入/输出函数( scanf() /printf())的使用,3.1 C语句概述,一个大型C程序的结构,C语句分为以下五类:,1控制语句 控制语句用于控制程序的流程,以实现程序的各种结构方式。 分三类: 条件判断语句:if语句、switch语句。 循环执行语句:for语句、do while语句、while语句。 转向语句:break语句、goto语句、continue语句、return语句。,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 赋值语句,赋值语句一般形式为: 变量=表达式; 功能:将赋值运算符右侧“表达式”的值赋给左侧的变量。例如,以下均为赋值表达式: 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;,注意赋值表达式和赋值语句的区别。赋值表达式是一种表达式,可以出现在任何允许表达式出现的地方,而赋值语句则不能。 合法的: a=(x=y+5)+6; 非法的: a=(x=y+5;)+6; 语句中的“=”称为赋值号,它不同于数学中的等号 例如: A=A+1在数学中是不成立的,在C语言中:,5+1,6,6、赋值符号“=” 左边一定只能是变量名,不能是常量、符号常量、表达式。 右边的表达式可以是变量、常量、函数调用等表达式。 例如: z=x+y; /*将变量x和变量y的值的和赋值给变量z */ 下面的赋值语句都是错的: 5=x; /* 左边是常量 */ sin(x)=20; /* 左边是函数调用,即是表达式 */,7. 数据类型问题,赋值符号“=”两边的数据类型一般要求应一致。 如果两边的类型不同,则以左边变量或对象属性的数据类型为基准 例如,有定义 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 数据格式输出printf()函数,printf()功能:按控制字符串规定的格式,向输出设备输出各输出项 基本格式为: printf(“控制字符串”,输出项列表),printf(“s=%dn”, s);,控制字符串由格式说明和普通字符两部分组成。,输出项可以是常量、变量、表达式,其类型与个数必须与控制字符串中格式字符的类型、个数一致、各项之间用逗号分隔。,1.格式字符串,格式说明 一般格式为:% 格式字符 %d %c %s %f 最小宽度与精度修饰符 当指定宽度小于数据的实际宽度时: 对整数,按该数的实际宽度输出。 对浮点数,相应小数位的数四舍五入。 长度修饰符(l/h) 标志字符:- + # (空格),2普通字符,普通字符包括可打印字符和转义字符。 可打印字符是一些说明字符,这些字符按原样显示在屏幕上 转义字符是不可打印的字符,它们其实是一些控制字符,控制产生特殊的输出效果。常用的有“t”,“n”,其中t为水平制表符,作用是跳到下一个水平制表位, “n”为回车换行符,遇到“n”,显示自动换到新的一行。,3.3.3 数据格式输入scanf()函数,scanf()的功能:从键盘上输入数据,该输入数据按指定的输入格式被赋给相应的输入项。 一般格式为: scanf(“控制字符串“,输入项地址列表);,scanf(“%d%d”,控制字符串规定数据的输入格式,由格式说明和普通字符两部分组成。,输入项地址列表由变量地址组成,各变量地址之间用逗号“,”分隔。各变量要加地址操作符,表示如下: &变量名,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(“%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)存放在键盘缓冲区中,等待下一个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可以是一个字符变量或常量,也可以是一个转义字符。 说明: putchar()函数只能用于单个字符的输出,且一次只能输出一个字符。 从功能角度printf()函数可以完全代替putchar()函数,其等价形式:printf(“%c“,ch)。,3.5 应用程序举例,从键盘输入一个大写字母,要求改用小写字母输出 #include “stdio.h“ void main() char c1,c2; c1=getchar(); p

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论