电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

C语言顺序程序设计

40页
  • 卖家[上传人]:zw****58
  • 文档编号:35754280
  • 上传时间:2018-03-20
  • 文档格式:PPT
  • 文档大小:236KB
  • / 40 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、第3章顺序程序设计,程序的三种基本结构1966年,Vohra和Jacopini提出了3种基本程序结构,也就是顺序结构、选择结构和循环结构,只采用这3种结构的程序有良好的可读性。顺序结构:各操作步骤按顺序执行,每个步骤执行且只执行一次,框图如下:,选择结构,又称分支结构,根据是否满足给定的条件去执行两个操作中的一个,循环结构,在一定条件下反复执行一部分操作,C程序结构框图,根据C89标准,C语句是用来完成一定操作任务的,所以数据声明不属于语句,例如“int a;”不属于语句。执行语句由赋值语句和函数调用语句组成。,C语句分为五类,控制语句 用于完成一定的控制功能,例如条件语句if( )else( )实现选择结构,循环语句for( )实现循环结构等,详见P41.函数调用语句 由函数调用加一个分号组成,例如printf(hellon);表达式语句 由任何表达式语句加上分号组成例如“a=3”是一个赋值表达式;“a=3;”是一个赋值语句。“x+y”是一个表达式,“x+y;”是一个语句,但是x+y的结果不赋给任何变量,无实际意义。表达式类型共5类,见P33空语句 由一个分号;组成,不执行任何操作复

      2、合语句 用大括号括起来的若干语句组成复合语句,赋值表达式和赋值语句,赋值表达式赋值运算符用于给变量赋值,例如“a=3”,注意等号左边必须是一个变量,不能是常量,也不能是表达式,例如a+1=5是错误的。赋值表达式的求解过程是:先求等号右边的表达式,然后赋给等号左边的变量。,例如a=3*5,那么先求表达式3*5的值,然后赋给变量a,等号左边的a的值就是整个赋值表达式的值。由于赋值表达式会得到一个值,因此赋值表达式可以有多重赋值的形式,例如“a=b=c=d+1”先计算d+1,得到的值赋给c,c的值就是赋值表达式“c=d+1”的值,再赋给b,最后赋给a,因此“a=b=c=d+1”等价于“a=(b=(c=d+1)”。注意到多重赋值是从右往左赋值的,也就是赋值运算符是右结合的。a=5+(c=6)表达式的值为11,c的值为6,a的值为11。,复合的赋值运算符,在赋值运算符前面加上其他运算符,例如+= *= %=a+=5等价于a=a+5x*=y+8等价于x=x*(y+8)。其他的复合赋值运算符也是类似。,赋值表达式:左侧是一个变量,右边是一个表达式,中间用赋值运算符连接,如a=5作用:把右边表达式的值

      3、赋给左边的变量,赋值后该变量的值为赋值表达式的值赋值表达式也可以包含复合的赋值运算符,例如a+=a-=a*a如果a的初值为12,根据结合性,先计算a-=a*a,相当于a=a-a*a,得到的a的值是-132;然后计算a+=-132,相当于计算a=a+(-132),得到的结果是-264,赋值过程中的类型转换,如果赋值运算符两侧的数据类型一致,赋值不会出现问题;如果类型不同,系统会自动进行类型转换将浮点型赋给整型变量,会舍掉小数部分(不是四舍五入),例如i为整数,执行“i=3.56”的结果是i的值为3将整型数据赋给浮点型变量,整数部分不变,但是会在末尾小数部分加上若干个“0”double类型赋给float类型,只截取前面7位有效数字,造成精度降低,但是要注意不能超过float类型的存储范围,将float赋给double,没有任何问题,不会溢出,也不会造成精度降低将char类型赋给整型,把字符的ascii码赋给整型变量将long类型赋给int/char类型,或者int类型赋给char类型,只将低字节部分赋给该变量,高字节部分会舍掉。例如int类型的数据占用了2个字节,如289在内存中的存储形式

      4、为0000 0001 0010 0001,如果把它赋给char类型的变量c,那么c的值为0010 0001,也就是33,高字节的部分丢失了如果有符号数赋给长度相同的无符号变量,例如unsigned int 赋给 int类型的变量,那么连符号位也一起传送,例3.1有符号整数赋给无符号整型变量,#includevoid main()unsigned a;int b;b=-1;a=b;printf(%un,a);运行结果是4294967295在vc+6.0环境中,int占4字节,-1在内存中是32个1,如果当作无符号数,就是4294967295,将无符号数赋给相同长度的有符号整型变量,如果int占用2个字节,那么unsigned in表示数的范围是065535,而int类型表示数的范围是-3276832767,因此如果将3276865535的数赋给int (2字节int类型)类型,将会出错。类型转换比较复杂,在实际编程中只需要掌握每种数据类型表示数据的范围,在编程时候能估计数的值的大致范围,使用合适类型的变量存储就可以了。,赋值语句,赋值表达式加上分号就成了赋值语句。例如s=2*3.14*r

      5、;执行时先把等号右侧的表达式的值计算出来,然后赋给s。因此赋值语句有计算和赋值双重功能。变量赋初值:变量可以在定义时候进行初始化,也可以在程序中适当的地方进行赋值例如int a=5;相当于int a;a=5;,数据输入输出,计算机默认的输入设备为键盘,输出设备为显示器,本章只讨论键盘输入和显示器输出。C语言本身不提供输入输出语句,只能通过库函数来实现,这是为了简化C编译系统,C程序可移植性高。注意printf,scanf等不是C语言的关键字。在使用输入输出库函数时,要把头文件stdio.h包含进来,文件开头应该有预编译或者成为编译预处理指令#include或者#includestdio.h,从编译器指定的目录,一般是是include目录,或者由设置选项中设置其他目录。例如,在VC6.0中,就可以在tools-Options-Directories中修改默认的文件包含的路径。如果给出了路径,就从指定的路径去找,否则从源文件所在的目录中找。一般用#include即可,字符数据的输入输出,getchar()输入一个字符,例如:ch=getchar(); getchar()不需要参数。putc

      6、har()输出一个字符,例如:putchar(a);或putchar(ch);参数是字符常量或变量putchar()可以输出普通字符,也可以输出转义字符,例如putchar(n),就是输出换行,putchar(101);输出字母A。,简单的格式输入与输出,printf()函数:格式:printf(格式控制)或printf(格式控制,输出表列)格式控制是由双撇号括起来的字符串,称为转换控制字符串(有的书籍称为格式控制字符串),由格式说明和普通字符组成。格式说明有的书籍称为格式转换说明符,例如%d,%c等;输出表列是由若干常量、变量或表达式组成,在输出时,根据格式转换说明符转换成相应格式输出;转换控制字符串里除了格式说明,其他的普通字符按原样输出。例如:printf(%d %d,a,b);,基本的格式字符:%d或%i输出十进制整数;%c输出一个字符;%s输出一个字符串例如printf( hello world);等价于printf( %s, hello world);%f输出浮点数(float或者double型),如果不指定输出域宽,整数部分全部输出,小数部分一般默认为6位,但输出的不一定

      7、全是有效数字。例如:float x=123456.123456;printf(%fn,x);输出结果是123456.125000Press any key to continue,因为float只有67位有效位,从小数点后第2位开始的值是不准确的 但是如果把float x=123456.123456;改为double x=123456.123456;就可以得到输出123456.123456Press any key to continue,%e或%E输出浮点数(指数法输出),详见P55%o(字母o),输出八进制整数%x或%X,输出16进制整数%u,输出无符号整数注意:八进制和十六进制数都是当作无符号数处理。例如int a=-1;printf(%dn%un%on%xn,a,a,a,a);输出结果为-1429496729537777777777ffffffffPress any key to continue,由于-1在内存中的存储形式为32个1,如果当作无符号数,就是4294967295,从最低位往最高位,按3个一组或者4个一组, 就得到8进制或者16进制数的输出。其他格式字符详见P62

      8、,表3-1,scanf()函数,格式:scanf(格式控制,地址表列);作用:输入若干数据并存放到相应的变量中格式控制类似于printf,例如%d用于输入整数,%f用于输入浮点数等。printf(%d,%d,a,b); &是地址运算符,&a是变量a的地址,在输入的时候,要给出变量所在的地址。,如果在“格式控制”字符串中除了格式说明还有其他字符,则在输入数据的时候要在对应的位置输入相应的字符,例如: scanf(%d,%d,则输入a、b的值之间,可以是任意个空白符(空格、制表符、回车);用%c输入字符时,空白符(空格、制表符、回车)和其他转义字符都会作为有效字符接收,char a,b,c;scanf(%c%c%c,输入a b c(a、b、c)之间用一个空格隔开运行结果是:a b c(回车)a, ,bPress any key to continue其实在a之后的那个空格已经被变量b当作有效字符接受了,正确的输入abc之间应该没有空格。,较复杂的输入输出格式控制,printf()的格式修饰符l(字母l)可修饰d,i,u,o,x,输出long型L可修饰f,e,g用于修饰long double

      9、(win TC不支持long double)最小域宽m,指定输出项所占宽度,包括整数和小数点,小数部分。m小于实际宽度,原样输出,大于实际宽度,右对齐,左端补空格,0m,左端补0. -m,左对齐。,如printf(“%7f”,12.3);实际输出12.300000;域宽为9(%f默认输出小数位数6位)printf(“%10f”,12.3);实际输出:空格12.300000;(超出所需列宽左边补空格,右对齐)printf(“%010f”,12.3);输出为012.300000;(左端补零)printf(“%-10f$”,12.3);输出为12.300000空格$(列宽多1,右端补空格,$符号原样输出),显示精度 .n:指定小数位数,或者字符串的长度(从左边截取)输出浮点数时,不管是%f还是%Lf,都是默认小数点后6位(四舍五入)double var=1.23456789;printf(%fn,var);输出为:1.234568(第7位小数四舍五入)如果改为printf(%.10fn,var);则输出1.2345678900,注意:增加输出的域宽并不能增加精度float a=1.23456789;double b=1.234567890123456789;printf(%.20fn%.20fn,a,b);运行结果:1.234567880630493160001.23456789012345669000,scanf()的格式修饰符,小写字母l:加在d,i,o,x,u前,用于输入long数据;加在f,e前输入double大写字母L:加在f,e前输入long doubule(win TC不支持long double)m:指定域宽*:对应的输入项不赋给变量:,#include main() int a,b; printf(please input a and bn); scanf(%2d%2*d%2d,

      《C语言顺序程序设计》由会员zw****58分享,可在线阅读,更多相关《C语言顺序程序设计》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结
     
    收藏店铺
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.