C语言_ch03_3_赋值语句和输入输出

上传人:油条 文档编号:47621912 上传时间:2018-07-03 格式:PPTX 页数:39 大小:485.34KB
返回 下载 相关 举报
C语言_ch03_3_赋值语句和输入输出_第1页
第1页 / 共39页
C语言_ch03_3_赋值语句和输入输出_第2页
第2页 / 共39页
C语言_ch03_3_赋值语句和输入输出_第3页
第3页 / 共39页
C语言_ch03_3_赋值语句和输入输出_第4页
第4页 / 共39页
C语言_ch03_3_赋值语句和输入输出_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《C语言_ch03_3_赋值语句和输入输出》由会员分享,可在线阅读,更多相关《C语言_ch03_3_赋值语句和输入输出(39页珍藏版)》请在金锄头文库上搜索。

1、2011-9-231上一节我们学到了n数据类型nchar,short,int,long,float,double ,long doublensigned,unsignedn算术运算、自增/自减运算n类型转换2011-9-232第三章 最简单的C程序设计-顺序程序设计2011-9-233n3.1 顺序程序设计举例n3.2 数据的表现形式及其运算n n3.3 C3.3 C语句语句n n3.3.1 C3.3.1 C语句作用和分类语句作用和分类n n3.3.2 3.3.2 最基本的语句最基本的语句-赋值语句赋值语句n3.4 数据的输入输出n3.4.1 输入输出举例n3.4.2 有关数据输出输出的概念n

2、3.4.3 用printf函数输出数据n3.4.4 用scanf函数输入数据n3.4.5 字符数据的输入输出内容2011-9-2343.3.1 C语句的作用和分类n语句分为以下5类:(1) 控制语句: if、switch、for、while、 dowhile、continue、break、return、goto等(2) 函数调用语句(3) 表达式语句(4) 空语句(5) 复合语句:花括号括起的多条语句2011-9-235空语句-常见的错误n; / 只有一个分号,什么也不做#include int main(void) int i = 0;while (i #include int main()

3、 double a, b, c, s, area; a = 3.67; b = 5.43; c = 6.21; s = (a + b + c) / 2; area = sqrt(s * (s-a) * (s-b) * (s-c); printf(“三角形三边的值分别为:a=%ftb=%ftc=%fn“, a, b, c); printf(“面积:%fn“, area); return 0; 2011-9-238n语法形式:n变量名 赋值运算符= 表达式na = 0n赋值表达式的结果n被赋值变量赋值后的值n求解过程:n求赋值运算符右侧的“表达式”的值n赋给赋值运算符左侧的变量na = b = c

4、 = 0;n等价于a = (b = (c = 0);赋值表达式2011-9-239复合的赋值运算符n下面两个语句是等价的ni = i + 2;ni += 2;n+、-、*、/、%、2011-9-2311左值(lvalue)n左值:指可以出现在赋值运算符左侧,且值可以改变 的量。n不是任何形式的数据都可以作为左值。n不能作为左值的值n常量n常变量n算术表达式,如a+b2011-9-2312VC6常见错误:error C2106“= : left operand must be l-value“n解释:赋值号(=)左边的操作数必须是一个左值。 通俗的说:左值就是可以改变的值的变量。n原因:把常量(

5、或不可改变值的变量)放到了赋值号 的左边。n例1:(a=b) = 3*4;n例2:const float PI;nPI = 3.14159;nerror C2166: l-value specifies const object2011-9-23132字节整数赋值给4字节整数n低字节原封不动复制,高字节舍弃 例: short int i = 289; char c = a; c = i; / 将2字节的int型赋给char型变量 i=289 c=330 0 0 0 0 0 0 1 0 0 1 0 0 0 0 10 0 1 0 0 0 0 1注意:要避免进行这种赋值,因为赋值后数值可能发生失真。

6、如 果一定要进行这种赋值,应当保 证赋值后数值不会发生变化。2011-9-2314赋值语句n赋值表达式;n分析下面的代码 if (a=b) 0) max = a;nif (a=b;) 0) / 错2011-9-2315变量赋初值n在声明变量的同时赋以初值,也叫初始化。 int i = 0; n相当于 int i; i = 0;n又例:int a, b, c = 5; /不好的形式,a和b中是随机值nint a = b = c = 3; /错n注意:n一般变量的初始化是在运行时赋值的;n静态存储变量和外部变量的初始化是在编译阶段完成 的2011-9-2316n3.1 顺序程序设计举例n3.2 数

7、据的表现形式及其运算n3.3 C语句n3.3.1 C语句作用和分类n3.3.2 最基本的语句-赋值语句n n3.4 3.4 数据的输入输出数据的输入输出n3.4.1 输入输出举例n3.4.2 有关数据输出输出的概念n3.4.3 用printf函数输出数据n3.4.4 用scanf函数输入数据n3.4.5 字符数据的输入输出内容2011-9-2317例3.5 求 方程的根。a、b、c由 键盘输入,设 。n由数学知识已知:如果 0,则一 元二次方程有两个实根:若记 则 2011-9-2318#include #include int main(void) double a, b, c, disc,

8、 x1, x2, p, q;printf(“请输入一元二次方程的三个系数,以空格隔开:n“);scanf(“%lf %lf %lf“, disc = b * b - 4 * a * c;if (disc 和 “*.h“n; 用户自己定义的头文件, 用“2011-9-2320printf()n输出表列n可以是常量、变量、表达式、带返回值的 函数调用格式字符串2011-9-2321一般习惯用%d2011-9-2322printf()举例nprintf.c2011-9-2323nint a = -1;printf(“%dt%ot%xn“, a, a, a);n输出:n-1 3777777777 ff

9、ffffffprintf()举例-%d%o%x2011-9-2324printf()举例-%en%e,以指数形式输出实数n小数点前必须有而且只有1位非零数字nVC6给出小数位数为位n指数部分占5列nprintf(”%e”,123.456);n输出:1.234560 e+0022011-9-2325scanf()n格式:scanf(格式控制,地址表列)n注意nscanf(“%f%f%f”, a, b, c); 对吗?n错,scanf(“%f%f%f“, nscanf(“a=%f, b=%f, c=%f”, 输入?n输入必须为:a=1, b=3, c=2Entern如果输入为:1 3 2Enter

10、 输出?n输出:a、b、c原有的值nscanf(“%d%c%f”, 输入用什么隔开?n用空白字符(包括空格、tab或Enter)隔开都可n如果输入为:1234a123o.26Enter 输出?n输出为:1234 a 123.000000n输入double型数据,一定要用%Lf2011-9-2326n3.1 顺序程序设计举例n3.2 数据的表现形式及其运算n3.3 C语句n3.3.1 C语句作用和分类n3.3.2 最基本的语句-赋值语句n3.4 数据的输入输出n3.4.1 输入输出举例n3.4.2 有关数据输出输出的概念n3.4.3 用printf函数输出数据n3.4.4 用scanf函数输入数

11、据n n3.4.5 3.4.5 字符数据的输入输出字符数据的输入输出内容2011-9-23273.4.5 字符数据的输入输出nchar c;nc = getchar();n从键盘读入一个字符,赋值给变量cnputchar(c);n把c输出到屏幕2011-9-23283.4.5 字符数据的输入输出/ 3_8.c - 例3.8 先后输出BOY三个字符 #include int main() char a = B, b = O, c = Y; putchar(a); / 向显示器输出字符Bputchar(b); putchar(c); putchar(n); / 向显示器输出换行符return 0;

12、改为int a=66, b=79, c=89;也可2011-9-23293.4.5 字符数据的输入输出/* 3_9.c - 例3.9 从键盘输入BOY三个字符,然后把它 们输出到屏幕 */ #include int main() char a, b, c; a = getchar(); b = getchar(); c = getchar(); putchar(a); putchar(b); putchar(c); putchar(n); return 0; 输入:BOYEnter 输出:BOY输入: BEnter OEnter 输出: B O2011-9-2330键盘缓冲区n用键盘输入字符时

13、,并不是敲一个字符就将其立即送 给主机。这些字符先暂存在键盘的缓冲区中,只有按 了Enter键才能把这些字符一起送给主机,按先后顺 序分别赋给相应的变量。n作用:n使命令行的输入可以编辑,即输错了还能回退。2011-9-2331/* 3_9.c - 例3.9 从键盘输入BOY三个字符,然后把它 们输出到屏幕 */ #include int main() putchar(getchar(); putchar(getchar(); putchar(getchar(); putchar(n); return 0; 例3.9的更简洁的版本2011-9-23323.4.5 字符数据的输入输出n拷贝的基本

14、思想:读一个字符 while (该字符不是文件结束指示符) 输出刚读进的字符 读下一个字符伪代码读数据 while (输入没有结束) 处理刚读进的数据 读下一个数据扩充2011-9-2333拷贝(Copy)/* charcopy.c - 用于将输入复制到输出的程序;第1个版本 */ #include int main(void) int c;c = getchar();while (c != EOF) putchar(c);c = getchar();return 0; 行首按Ctrl+Z或F6(有时需按两次)2011-9-2334一个更好的版本/ charcopy.c - 用于将输入复制到输出的程序;第2个版本 #include int main() int c;while (c=getchar() != EOF) putchar(c); return 0; 2011-9-2335优先级n( ) - .n! + - + - * & (类型) sizeofn* / %n+ -nn =n= !=n&nn|n&n|n? :n= += -= *= /= %= &= = |= =n,2011-9-2336优先级n能背下优先级表的人凤毛麟角

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号