第4讲 顺序程序设计输入输出_第1页
第4讲 顺序程序设计输入输出_第2页
第4讲 顺序程序设计输入输出_第3页
第4讲 顺序程序设计输入输出_第4页
第4讲 顺序程序设计输入输出_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

1第4讲顺序程序设计

--输入输出email:phone:87935400(office)1引例

引例:从键盘输入一个小写字母,要求在屏幕上输出对应的大写字母

问题分析:输入处理输出键盘输入小写字母到变量lowchar输出大写字母upchar阅读附录A的ASCII字符编码表,总结大小写字母间的关系程序由若干条语句组成,从执行方式上看,从第一条语句到最后一条语句完全按顺序执行。这样的程序就是顺序结构程序2引例—复习变量的类型教材P55例3.3#include<stdio.h>intmain(){charc1,c2;c1=‘A’;c2=c1+32;

printf(“%c”,c2);

printf(“%d”,c2);return0;}输出结果:a9734主要内容顺序结构程序举例4C语言的语句1赋值运算与赋值语句2数据的输入输出3重点C语言的语句,数据的输入输出难点数据的输入输出本讲小结3.3节3.4节41C的语句(1)C语句简单语句复合语句流程控制语句表达式语句空语句函数调用语句选择语句(if,switch)循环语句(while,do…while,for)转移语句(break,continue,return,goto)表达式+分号只有分号的语句用花括号将若干语句括起来注意:复合语句的“}”后面不能出现分号,而“}”前复合语句中最后一条语句的分号不能省略。返回主菜单52赋值运算与赋值语句(1)2.1赋值运算赋值运算的一般形式变量=

表达式赋值运算符赋值运算的含义就是先计算表达式的值,然后将该值传送到变量所对应的存储单元中。变量与确定的内存单元相联系,既具有值属性,也具有地址属性。常量、变量、函数等运算对象用运算赋连接起来的表达式,只有值属性而无地址属性62赋值运算与赋值语句(2)2.1赋值运算—复合赋值运算+=、-=、*=、/=、%=<<=、>>=、&=、|=、^=算术运算符位运算符课堂练习:写出与下面表达式等价的表达式x+=5.0x*=u+va+=a-=b+2x=x+5.0x=x*(u+v)a=a+(a=a-(b+2))总结:xθ=e其等价的表达式为:x=xθ(e)72赋值运算与赋值语句(3)2.1赋值运算—练习课堂练习:分析下面表达式的结果:a=b=c=5a=5+(c=6)a=(b=4)+(c=6)a=(b=10)/(c=2)a=5,b=5,c=5a=11,c=6a=10,b=4,c=6a=5,b=10,c=282赋值运算与赋值语句(3)2.1赋值运算—赋值运算的优先级各种赋值运算都属于同一优先级,且优先级仅比逗号运算符高,比其他运算所有运算符都低。课堂练习:分析下面表达式的结果:x=13<y,7+(y=8)x=(13<y,7+(y=8))x=y=17/2x=0,y=8,表达式的值为15x=15,y=8y=8,x=892赋值运算与赋值语句(4)2.2赋值语句赋值语句的一般形式变量=

表达式;赋值语句与赋值表达式不一样,赋值语句可以作为程序中一个独立的程序行,而赋值表达式是作为一个运算量,可以出现在表达式中。102赋值运算与赋值语句(5)2.3赋值时的数据类型转换当赋值运算符两边的数据类型不一致时,C编译系统自动将赋值运算符右边表达式的数据类型转换成左边变量相同的类型转换规则:①整型变量与实型变量之间的转换②不同精度实型变量之间的转换③不同精度整型变量之间的转换截取有效数字截取低字节数据返回主菜单113数据输入/输出(1)为了实现输入和输出功能,在C的库函数中提供了一组输入输出函数:getchar();putchar(字符变量);printf(“格式控制字符串”,输出表列);scanf(“格式控制字符串”,地址表列);在使用C语言库函数时,要用预编译命令#include将有关“头文件”包括到源文件中#include<stdio.h>#include“stdio.h”123数据输入/输出(2)3.1字符输入/输出函数putchar函数(字符输出函数)getchar函数(字符输入函数)向终端输出一个字符

一般形式putchar(字符变量)一般形式getchar()引例的程序实现从键盘上输入一个字符

133数据输入/输出(3)3.2格式输出函数printf一般形式:

printf(“格式控制字符串”,输出表列);指定输出格式,由格式字符串和非格式字符串两种组成,非格式字符串照原样输出。分析下面程序的执行结果143数据输入/输出(4)3.3格式输入函数scanf一般形式:scanf(“格式控制字符串”,地址表列);

指定输入格式,只有格式字符串。使用格式化输入输出函数对引例进行修改153数据输入/输出(5)3.3格式输入函数scanf(续)格式输入函数的几点说明①scanf函数中要求给出变量地址,而不是变量名。

scanf("%d",a);

×scnaf("%d",&a);

√②在输入字符数据时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。

scanf(“%c%c%c”,&c1,&c2,&c3);则把‘a’赋予c1,‘

’赋予c2,‘b’赋予c3︺如输入abc︺︺返回主菜单164顺序结构程序举例(1)例5:鸡兔同笼问题。已知鸡兔总头数为H,总脚数为F,求鸡兔各有多少只?解题思路:先作为一个数学问题考虑。设鸡有x只,兔有y只,可得方程组解得:174顺序结构程序举例(2)例5:鸡兔同笼问题。(续)编程思路流程图:编写程序代码#include<stdio.h>main(){intH,F,x,y;scanf(“%d,%d”,&H,&F);x=(4*H-F)/2;y=(F-2*H)/2;printf(“chicken=%d\n”,x);printf(“rabbit=%d\n”,y);}18364顺序结构程序举例(3)例6:输入整数a和b,交换a和b后输出。ab15解题思路:如何完成交换过程?abtemp1536temp=a;a=b;b=temp;194顺序结构程序举例(4)例6:输入整数a和b,交换a和b后输出。(续)编程思路流程图:编写程序代码返回主菜单20本讲小结了解C语句的分类掌握输入/输出语句的使用掌握输入/输出语句格式控制字符串的使用掌握顺序结构程序设计的方法21作业作业练习册第3章没有做过的题目上机实验2(书面完成)2223谢谢23引例的程序实现

引例:从键盘输入一个小写字母,要求在屏幕上输出对应的大写字母#include<stdio.h>main(){}charlowchar,upchar;putchar(字符变量)getchar()lowchar=getchar();upchar=lowchar-32;putchar(upchar);返回24输出格式字符串(1)一般形式:%[标志][输出最小宽度][.精度][长度]类型

类型:用以表示输出数据的类型格式字符意义d,i以十进制形式输出带符号整数(正数不输出符号)o以八进制形式输出无符号整数(不输出前缀0)x,X以十六进制形式输出无符号整数(不输出前缀Ox)u以十进制形式输出无符号整数f以小数形式输出单、双精度实数e,E以指数形式输出单、双精度实数g,G以%f或%e中较短的输出宽度输出单、双精度实数c输出单个字符s输出字符串25输出格式字符串(2)一般形式:%[标志][输出最小宽度][.精度][长度]类型

标志:标志字符为-、+、#、空格四种

标志意义-结果左对齐,右边填空格+输出符号(正号或负号)空格输出值为正时冠以空格,为负时冠以负号#对c,s,d,u类无影响;对o类,在输出时加前缀o;对x类,在输出时加前缀0x26输出格式字符串(3)一般形式:%[标志][输出最小宽度][.精度][长度]类型

输出最小宽度:用十进制整数来表示。精度:以“.”开头,后跟十进制整数。长度:格式符为h,l,L三种,h表示按短整型量输出,l和L表示按长整型量输出。若实际位数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0。如果输出数字,则表示小数的位数;如果输出的是字符,则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。返回27格式输出函数练习(1)分析下面程序的输出结果(例1)main(){unsignedinta=65535;intb=-2;printf(“a=%d,%o,%x,%u\n”,a,a,a,a);printf(“b=%d,%o,%x,%u\n”,b,b,b,b);}%[标志][输出最小宽度][.精度][长度]类型

输出(Turbo2.0):a=-1,177777,ffff,65535b=-2,177776,fffe,65534输出(VC++6.0):a=65535,177777,ffff,65535b=-2,37777777776,fffffffe,429496729428格式输出函数练习(2)分析下面程序的输出结果(例2)main(){charc=‘a’;inti=97;printf(“%c,%d\n”,c,c);printf(“%c,%d\n”,i,i);}%[标志][输出最小宽度][.精度][长度]类型

输出:a,97a,9729格式输出函数练习(3)分析下面程序的输出结果(例3)main(){floatx=1234.789012f;doubley=123456789012.123456;printf(“x=%f,y=%f\n”,x,y)}输出结果:1234.789063,y=123456789012.123460float型有7位有效数字double型有16位有效数字30格式输出函数练习(4)分析下面程序的输出结果(例4)#include<stdio.h>main(){floatf=123.456;printf(“%f,%10.2f,%10.4f\n",f,f,f);printf("%e,%10.2e,%10.4e\n",f,f,f);}输出结果:123.456001,123.46,

123.45601234560e+002,1.23e+002,1.2346e+002返回31输入格式字符串(1)一般形式:%[*][输入数据宽度][长度]类型类型:表示输入数据的类型格式字符意义d,i输入十进制整数o输入八进制整数x输入十六进制整数u输入无符号十进制整数f或e输入实型数(用小数形式或指数形式)c输入单个字符s输入字符串32输入格式字符串(2)一般形式:%[*][输入数据宽度][长度]类型“*”符:用以表示该输入项,读入后不赋予相应的变量,即跳过该输入值。宽度:用十进制整数指定输入的宽度(即字符数)。长度:长度格式符为l(L)和h,l表示输入长

温馨提示

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

评论

0/150

提交评论