




已阅读5页,还剩82页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
4.1 语句综述 4.2 赋值表达式和赋值语句 4.3 数据输入输出的概念 4.4 字符数据的输入输出 4.5 简单的格式输入与输出 4.6 顺序结构程序设计举例 4.7 提高部分,第4章 最简单的程序设计 顺序程序设计,4.1 语句综述,4.1 语句综述,语句分为以下5类: (1) 控制语句: if、switch、for、while、dowhile、continue、break、return、goto等 (2) 函数调用语句 (3) 表达式语句 (4) 空语句 (5) 复合语句,4.2 赋值表达式和赋值语句,4.2.1 赋值表达式 4. 2.2 赋值过程中的类型转换 4. 2.3 赋值语句 4. 2.4 变量赋初值,4.2.1 赋值表达式,赋值运算符 “”是赋值运算符 作用是将一个数据赋给一个变量 也可以将一个表达式的值赋给一个变量,4.2.1 赋值表达式,复合的赋值运算符 在赋值符“”之前加上其他运算符,可以构成复合的运算符 等价于 ,4.2.1 赋值表达式,赋值表达式 一般形式为: 变量 赋值运算符 表达式 对赋值表达式求解的过程: 求赋值运算符右侧的“表达式”的值 赋给赋值运算符左侧的变量,4.2.1 赋值表达式,赋值表达式 赋值表达式“a=3*5”的值为15,对表达式求解后,变量a的值和表达式的值都是15 “a=(b=5)”和“a=b=5”等价 “a=b”和“b=a”含义不同,4.2.2 赋值过程中的类型转换,两侧类型一致时,直接赋值 两侧类型不一致,但都是数值型或字符型,自动将右侧的类型转换为左侧类型后赋值 定义变量时要防止数据溢出,4.2.3 赋值语句,赋值语句是由赋值表达式加上一个分号构成 赋值表达式的末尾没有分号,而赋值语句有分号 一个表达式可以包含赋值表达式,但决不能包含赋值语句:例,4.2.4变量赋初值,程序中常需要对一些变量预先设置一个初值 设置初值既可以用赋值语句去实现,也可以在定义变量的同时使变量初始化,后者更为方便 int a,b,c=5; 相当于: int a,b,c; c5; int a=b=c=5; int a,b,c; a=b=c; ,4.3 数据输入输出的概念,几乎每一个C程序都包含输入输出 输入输出是程序中最基本的操作之一 从计算机向输出设备输出数据称为输出,从输入设备向计算机输入数据称为输入,4.3 数据输入输出的概念,语言本身不提供输入输出语句 输入和输出操作是由C函数库中的函数来实现的 printf、scanf、putchar、getchar、puts、gets不是关键字 在使用系统库函数时,要在程序中使用预编译命令“#include”,4.4 字符数据的输入输出,4.4.1 用putchar函数输出一个字符 4.4.2 用getchar函数输入一个字符,4.4.1 用putchar函数输出一个字符,从计算机向显示器输出一个字符 putchar函数的一般形式为: putchar(字符常量或变量) 例3.1 先后输出几个字符。,#include void main ( ) char a,b,c; a=B,b=O,c=Y; putchar(a); putchar(b); putchar(c); putchar (n); ,向显示器输出字符B,向显示器输出换行符,BOY,向显示器输出字符O,向显示器输出字符Y,#include void main ( ) char a,b,c; a=B,b=O,c=Y; putchar(a); putchar(b); putchar(c); putchar (n); ,改为int a=66,b=79,c=89;,BOY,putchar(101) (输出字符) putchar() (输出单撇号字符),只能输出单个字符,4.4.2 用getchar函数输入一个字符,向计算机输入一个字符 getchar函数的一般形式为: getchar( ) 例3.2 输入多个字符。,#include void main ( ) char a,b,c; a=getchar(); b=getchar(); c=getchar(); putchar(a); putchar(b); putchar(c); putchar(n); ,输入一个字符,送给变量a,BOY,BOY,B O Y ,B O Y,输入一个字符,送给变量b,输入一个字符,送给变量c,#include void main ( ) char a,b,c; a=getchar(); b=getchar(); c=getchar(); putchar(a); putchar(b); putchar(c); putchar(n); ,putchar(getchar();,#include void main ( ) char a,b,c; a=getchar(); b=getchar(); c=getchar(); putchar(a); putchar(b); putchar(c); putchar(n); ,putchar(getchar();,putchar(getchar();,#include void main ( ) char a,b,c; a=getchar(); b=getchar(); c=getchar(); putchar(a); putchar(b); putchar(c); putchar(n); ,putchar(getchar();,putchar(getchar();,putchar(getchar();,#include void main ( ) char a,b,c; a=getchar(); b=getchar(); c=getchar(); putchar(a); putchar(b); putchar(c); putchar(n); ,putchar(getchar();,putchar(getchar();,putchar(getchar();,4.5 简单的格式输入与输出,4.5.1 用简单的printf函数输出数据 4.5.2 用简单的scanf函数输入数据,4.5.1 用简单的printf函数输出数据,在C程序中用来实现输出和输入的,主要是printf函数和scanf函数 这两个函数是格式输入输出函数 用这两个函数时,必须指定格式,1.printf函数的一般格式 printf(”格式控制”,输出表列) 例如: printf(”i=%d,c=%cn”,i,c);,格式声明,1.printf函数的一般格式 printf(格式控制,输出表列) 例如: printf(”i=%d,c=%cn”,i,c);,普通字符,1.printf函数的一般格式 printf(格式控制,输出表列) 例如: printf(”i=%d,c=%cn”,i,c);,可以是常量、变量或表达式,2. 基本的格式字符 d格式符。按十进制整型数据的实际长度输出,2. 基本的格式字符 c格式符。用来输出一个字符 char ch=a; printf(”%c”,ch);,输出字符:a,2. 基本的格式字符 c格式符。用来输出一个字符 例3.3 用printf函数输出字符数据。 #include void main() char c=a; int i =97; printf(“c=%c,c=%dn“,c,c); printf(“i=%c, i=%dn“,i,i); ,c=a,c=97 i=a,i=97,2. 基本的格式字符 s格式符。用来输出一个字符串 printf(”%s”,”CHINA”); ,输出字符串:CHINA,常量,2. 基本的格式字符 f格式符。用来输出实数,以小数形式输出 例3.4 输出实数时的有效位数。 #include void main() float a,b; a=111111.111;b=222222.222; printf(“%fn“,a+b); ,333333.328125,表达式,2. 基本的格式字符 f格式符。用来输出实数,以小数形式输出 例3.5 输出双精度数时的有效位数。 #include void main() double a,b; a=11111111.11111111; b=22222222.22222222; printf(“%fn“,a+b); ,33333333.333333,2. 基本的格式字符 f格式符。用来输出实数,以小数形式输出 float型数据只能保证67位有效数字 double型数据能保证1516位有效数字 计算机输出的数字不都是绝对精确有效的,2. 基本的格式字符 e格式符。指定以指数形式输出实数 VC+给出小数位数为位 指数部分占5列 小数点前必须有而且只有1位非零数字 printf(”%e”,123.456); 输出:1.234560 e+002,4.5.2 用简单的scanf函数输入数据,1. scanf 函数的一般形式 scanf(格式控制,地址表列),含义同printf函数,P70,4.5.2 用简单的scanf函数输入数据,1. scanf 函数的一般形式 scanf(格式控制,地址表列),可以是变量的地址,或字符串的首地址,4.5.2 用简单的scanf函数输入数据,例3.6 用scanf函数输入数据。 #include void main( ) int a,b,c; scanf(“%d%d%d”, ,P70,3 4 5 a=3,b=4,c=5,4.5.2 用简单的scanf函数输入数据,2. scanf函数中的格式声明 与printf函数中的格式声明相似 以开始,以一个格式字符结束,中间可以插入附加的字符 scanf(“a=%db=%dc=%d“,P70,4.5.2 用简单的scanf函数输入数据,说明 scanf(”%d,%d”,a,b); 错 scanf(”%d,%d”, 12 24 36 错 a=12 b=24 c=36 错 a=12,b=24,c=36 对,P70,4.5.2 用简单的scanf函数输入数据,说明 对于scanf(”%c%c%c”, 若输入 1234a123o.26,P70,4.5.2 用简单的scanf函数输入数据,说明 对于scanf(”%c%c%c”, 若输入 1234a123o.26,P70,4.5.2 用简单的scanf函数输入数据,说明 对于scanf(”%c%c%c”, 若输入 1234a123.26,P70,4.6 顺序结构程序设计举例,P73,例3.7 输入三角形的三边长,求三角形面积。,4.6 顺序结构程序设计举例,解题思路:假设给定的三个边符合构成三角形的条件 找到求三角形面积的公式: 其中s=(a+b+c)/2,P73,#include #include void main ( ) double a,b,c,s,area; scanf(“%lf,%lf,%lf“, ,计算s,计算area,输入a、b、c的值,#include #include void main ( ) double a,b,c,s,area; scanf(“%lf,%lf,%lf“, ,数学函数,计算平方根,调用数学函数加此行,9.89,12.65,8.76 a=9.890000 b=12.650000 c=8.760000 area=43.165683,例3.8 从键盘输入一个大写字母,要求改用小写字母输出。,解题思路: 关键是找到大、小写字母间的内在联系 小写字母的ASCII码=大写字母的ASCII码+32,#include void main ( ) char c1,c2; c1=getchar(); printf(“%c,%dn“,c1,c1); c2=c1+32; printf(“%c,%dn“,c2,c2); ,将大写转小写,A A,65 a,97,#include void main ( ) printf(“%c”,getchar()+32); printf(“%c”,getchar()+32); printf(“%cn“,getchar()+32); ,例:输入3个大写字母,输出相应的3个小写字母。,#include void main ( ) putchar(getchar()+32); putchar(getchar()+32); putchar(getchar()+32); putchar(n); ,例:输入3个大写字母,输出相应的3个小写字母。,例3.9 求 方程的根。a、b、c由键盘输入 设 ,解题思路:首先要知道求方程式的根的方法。 由数学知识已知:如果 0,则一元二次方程有两个实根:,若记,#include #include void main ( ) double a,b,c,disc,x1,x2,p,q; scanf(“a=%lf,b=%lf,c=%lf“, ,程序中调用数学函数sqrt,输入a,b,c的值,#include #include void main ( ) double a,b,c,disc,x1,x2,p,q; scanf(“a=%lf,b=%lf,c=%lf“, ,输入的是双精度型实数,#include #include void main ( ) double a,b,c,disc,x1,x2,p,q; scanf(“a=%lf,b=%lf,c=%lf“, ,a=1,b=3,c=2 x1=-1.00 x2=-2.00,要求输入3个实数,自动转成实数后赋给a,b,c,#include #include void main ( ) double a,b,c,disc,x1,x2,p,q; scanf(“a=%lf,b=%lf,c=%lf“, ,小数点后输出2列,a=1,b=3,c=2 x1=-1.00 x2=-2.00,4.7 提高部分,4.7.2 较复杂的输入输出格式控制 4.7.3 输入函数使用要点 4.7.4 输出函数使用要点,4.7.2 较复杂的输入输出格式控制,1.输出数据时的格式控制 md。用来指定输出数据的宽度,m是指定的宽度,如果数据实际的位数小于,则左端补以空格,若大于,按实际位数输出 printf(“%4d,%4d“,123,12345);,123,12345,4.7.2 较复杂的输入输出格式控制,1.输出数据时的格式控制 %ld。对于int型数据占2字节的系统,在输出长整型数据时要在格式字符d前面加一个英文字母l long a=135790; printf(“%ld“,a); printf(“%8ld“,a);,135790,135790,4.7.2 较复杂的输入输出格式控制,1.输出数据时的格式控制 %o。以八进制整数形式输出。由于是将内存单元中的各位的值(或)按八进制形式输出,因此输出的数值不带符号,即将符号位也一起作为八进制数的一部分输出 int a=-1; printf(%d,%o,a,a);,-1,177777,4.7.2 较复杂的输入输出格式控制,1.输出数据时的格式控制 %x。以十六进制数形式输出整数。同样不会出现负的十六进制数 int a=-1; printf(%d,%x,a,a);,-1,ffff,4.7.2 较复杂的输入输出格式控制,1.输出数据时的格式控制 %u。用来输出无符号型数据,以十进制整数形式输出 一个有符号整数也可用u格式输出;反之,一个无符号型数据也可用d格式输出 无符号型数据也可用o或x格式输出,4.7.2 较复杂的输入输出格式控制,mc。用来指定输出字符数据的宽度 char c=a; printf(“%3c”,c);,a,4.7.2 较复杂的输入输出格式控制,ms。指定输出的字符串占列 若串长大于,则将串全部输出 若串长小于,则左补空格 -ms。如果串长小于,则在列范围内,字符串向左靠,右补空格。,4.7.2 较复杂的输入输出格式控制,例3.13 字符串的输出。 #include void main ( ) printf(“%3s,%7.2s,%.4s,%-5.3sn“, “CHINA“,“CHINA“, “CHINA“, “CHINA“); ,CHINA,CH,CHIN,CHI,4.7.2 较复杂的输入输出格式控制,m.nf。指定输出的实数共占列,其中有n位小数 如果数值长度小于,则左端补空格 m.nf与m.nf基本相同,只是使输出的数值向左端靠,右端补空格,4.7.2 较复杂的输入输出格式控制,例3.15 求3个圆的周长,输出结果时上下按小数点对齐,取两位小数。 #include #define PI 3.1415926 void main ( ) double r1=1.53,r2=21.83,r3=123.71, s1,s2,s3; s1=2.0*PI*r1; s2=2.0*PI*r2; s3=2.0*PI*r3; printf(“r1=%10.2fnr2=%10.2fnr3=%10.2fn“, r1,r2,r3); ,r1= 1.53 r2= 21.83 r3= 123.71,4.7.2 较复杂的输入输出格式控制,m.ne和-m.ne。 m、n和“”字符的含义与前相同。此处指拟输出的数据的小数部分(又称尾数)的小数位数 %g。用来输出实数,它根据数值的大小,自动选f格式或e格式(选择输出时占宽度较小的一种),且不输出无意义的零,4.7.2 较复杂的输入输出格式控制,2.输入数据格式控制 与printf函数中的格式声明相似 以开始,以一个格式字符结束,中间可以插入附加的字符 可以指定输入数据所占的列数,系统自动按它截取所需数据 输入数据时不能规定精度,scanf()函数的使用要点,1、格式符的个数必须与输入项的个数相等,数据类型必须从左至右一一对应。 2、用户可以指定输入数据的域宽,系统将自动按此域宽截取所读入的数据,如: scanf(“%3d%3d”, 假设输入“abcdefg”,则系统将读取的“abc”中的“a”赋给变量ch1;将读取的“def”中的“d”赋给变量ch2,所以printf()函数的输出结果为:ch1=a,ch2=d。 根据用户制定的数据的域宽,读取输入数据中相应的n位,但按需要的位数赋给相应的变量,多余部分被舍弃。,4、输入实型数据时,用户不能规定小数点后的位数。 scanf(“%7.2f”, 若输入246a, 则系统将认为:a=246,ch=a,7、在使用%c格式符时,输入的数据之间不需要分隔符标志;空格、回车符都将作为有效字符读入。 scanf(“%c%c%c”, 若输入1234567 则12赋给a,56赋给b,而34没有赋给任何数据. 系统将读取“12”并赋值给a;读取“34”、但舍弃掉(“*”的作用);读取“567”并赋值给b.。,格式说明:,附加格式说明:,printf( )函数的格式控制,1、格式控制字符是用双引号括起来的字符串,用来确定输出项的格式和需要原样输出的字符串。其组成形式为: “普通字符串 % m .nl格式控制字符” 其中: 输出数据项的顺序一般按从左至右的顺序输出。格式控制中的普通字符串,照原样输出; 如:printf(“a= %d,b= %d”,a,b); %:为C语言规定的标记符; _ :指定输出数据的对齐方式:-为左对齐; 两个连续的“%”表示输出字符“%”。,格式控制字符,printf()中的m.nl格式说明符,习题: 1、以下c程序正确的运行结果是 main() int y=2456; printf(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 药品配送运输管理制度
- 药店中药销售管理制度
- 药店店长培训管理制度
- 莘县食堂安全管理制度
- 设备人员安全管理制度
- 设备借用归还管理制度
- 设备安装流程管理制度
- 设备施工工程管理制度
- 设备点检日常管理制度
- 设备维修现场管理制度
- 妇幼保健机构绩效考核评分细则
- 【高分复习资料】山东大学《244德语》历年考研真题汇编
- (新版)山东省物流工程师职称考试参考试题库-下(多选、判断题)
- 青年兴则国家兴青年强则国家强
- 全国行业职业技能竞赛(电力交易员)考试题库及答案
- DB50-T 1293-2022 松材线虫病疫木除治技术规范
- 山东省青岛市英语中考试题及解答参考(2025年)
- 多功能热洗车热洗清蜡QHSE作业指导书及操作规程
- 2024年北京中考地理试卷
- 液化石油气站规章制度2024
- (安全生产)煤矿安全生产监管检查清单
评论
0/150
提交评论