《C语言学习与应用》教学课件12位运算与文件操作.pdf
《《C语言学习与应用》教学课件12位运算与文件操作.pdf》由会员分享,可在线阅读,更多相关《《C语言学习与应用》教学课件12位运算与文件操作.pdf(58页珍藏版)》请在咨信网上搜索。
C语言学习与应用教学课件学习任务12位运算与文件操作一复制文件任务说明数据在计算机内是以二进制形式存储的,程序设计能够操纵二 进制的位,位运算多用在控制和运算中,将程序的输入和输出与文 件挂钩,悄悄地完成数据处理任务更能显示出程序设计的魅力。本 任务主要讨论流式文件的打开、关闭、读、写、定位等各种操作。本学习任务重点掌握各种位运算符及运算规则,能够从文件读 写数据。学习任务12位运算与文件操作一复制文件微课(&J华暄数肓R l-flUATEIMCiC语言学习与应用教学课件大珅现代班嚎战衔辔疙国家示范性高等职业院校建设成果精品课件任务说明学习任务12位运算与文件操作一复制文件知识要求。掌握各种位运算符。掌握位运算规则。掌握文件的读写知识。了解打开文件的各种方式。了解文件操作的相关函数。学习任务12位运算与文件操作一复制文件能力要求。能够依据要求设计位运算。能够依据规则救出位运算的结果。能够打开 关闭指定文件。能够运用函数正确的操作文件。能够排查文件操作中的错误。学习任务12位运算与文件操作一复制文件位运算位运算的作用很多,效率很高,所以一般能用位运算的 就不用其他运算,程序中的所有数在计算机内存中都是以二 进制的形式储存的,位运算就是直接对整数在内存中的二进 制位进行操作。在c语言中,位运算的对象只能是整型或字符 型数据,不能是其他类型的数据。学习任务12位运算与文件操作一复制文件位运算1 位运算符按优先级由高到低的顺序:(位取反,单目运算符)(右移)&(与)人(异或)I(或)学习任务12位运算与文件操作一复制文件位运算2.位运算符的运算功能(1)按位取反。按位取反()是单目运算符,运算对象位于运算符右边,如a的运算功能是将a的每一位翻转,1变为0,0变为1。学习任务12位运算与文件操作一复制文件应用举例12-1取反,求0115分析:0115就是八进制数115按位取反,先将其转换为二进制数,再按位取反。01001101按位取反为:10110010就是0262即:0115的值为:0262o程序代码:#incIude stdio.h vo i d ma i n()unsigned cha r x=0115,y;用unsigned cha r类型,是 1 个字节均是正数。y 二x;pr intf(%o,y);按八进制形式输出程序输出:262学习任务12位运算与文件操作一复制文件微课cO 项目 12-1-Microsoft Visual Studio.文件(F)编辑(E)视图(V)项目(P)生成(B)调试(D)团队(M)数据(A)工具(T)测试 W(W)帮助(H);上)二/Debug Win32 _|匕A*-窜串二?一 彳解决方案资源管理器 X 13后比D解决方案”项目12-1”(1个项E/邛项目12T3.J外部依赖项口头文件/匕源文件5 1201.cpp-i资源文件1201.cpp x.(全局通围|.日应用举例12-1:取良,求:0115/*X*分析:0115就是八进制数115技位取反,先将其转换为二进制数(001 001 101),用一个字节存储全部数值为(01 001 101)再按位取反 01001101 按位取反为:10110010就是0262即,0115的值为:0262 o*/幸,#include stdio.hHvoid nainOunsigned char x=0U5,y;用unsigned char类型,是1个字节8个位均是正数,无符号位。y=x,printfC%o y);/按八迸制形式输出8个位的二进制数(01 001 101)的取反二进制数(10 110 010)为262。)曰/*H*程序输出;262 I*/端娜描幽 AH)ID曲100%一字符32笠限觥M W力Ins0:13 2020/7/8应用举例 12-1学习任务12位运算与文件操作一复制文件位运算2.位运算符的运算功能(2)左移()。形式:a 2;a 的原码:10000000a 的补码:11111111 a 2 后:11111111a右移两位,右端移出,b 的补码:11111111b 的原码:10000000b的值为:79000000001111111111111111高端补1,11111111 00000000000000001111111111111111010011001011010011101101得到b的补码。11111111 1110110100000000 00010011验证:十进制数79乘以4的值为十进制数-76,即-76右移2位,就是其除以4后的值为-19o学习任务12位运算与文件操作一复制文件问题12-2编写程序验证应用举例12-3的右移功能。运行后输出:.学习任务12位运算与文件操作一复制文件位运算2.位运算符的运算功能(4)位与(&)o按位进行“与”运算,有。出0,全1出1。和。进行 与运算具有屏蔽作用,和1进行与运算具有保留其原值 的作用。学习任务12位运算与文件操作一复制文件应用举例12-4位与分析:cha r a二 12,b=10,c;c=a&b;a:0000 1100b:0000 1010c:0000 1000 跟1“与”其值不变,跟0 与”其值为0。c值为8。用程序实现:#incIude stdio.h vo i d ma i n()cha r a=12,b=10,c;c=a&b;pr i ntf(a=%d,b=%d,c=%dn,a,b,c);getcha r();)运行程序输出:a=12,b=10,c=8学习任务12位运算与文件操作一复制文件微课g 项目 12-4-Microsoft Visual Studio文件(F)编冢E)视图(V)项目(P)生成(B)调试(D)团队(M)数据(A)I(T)测试(S)窗口(W)帮助(H)解决方案资源管理器013恒昌力解决方案”项目12-4”(1个项目,京项目12-4)镇外部依赖项 口头文件/,源文件12O4.cpp*x(全局范围)Debug Win32的 12O4.cpp 口资源文件-/应月举例12-4:与运算/*分析 1 char a=12,b=10,c;c=a&b;a:0000b:0000c 0000*/110010101000 跟1“与”其值不变,跟0与”其值为0。C值为8.9 X和第次爵整呢陶般4 H加苗#include“stdio.hvoid main()(char a=12,b=10,c,c=a&b,printf(wa=%d,b=%d,c=%dn,z,a,b,c);)曰/*运行程序输出:a=12,b=10,c=8*/100%输出显示输出来源(S):IX3八l司代码定义窗口二i输出w|行14列35字符35OVR A 就T 2oS/8应用举例 12-4学习任务12位运算与文件操作一复制文件应用举例12-5获取某位信息问题:cha r a=0322,b;若使b获得a的第5位(从低位向高位计算)信息,应进行怎样的 操作?分析:让a与某数进行“与”运算,这个数只第五位的值是1,其余位的值均为0,则 计算结果只第5位的值由a决定,其余位均为0,这个数是:00010000,即020。a:011010010020:000010000执行:b=a&020后,b的值为020表示a的第5位信息为1;如b的值为0,表示a的第5位 信息为0。学习任务12位运算与文件操作一复制文件问题12-3编写实现功能输入小于256的正整数,输出该数在内存中的第5位值。学习任务12位运算与文件操作一复制文件01位运算2.位运算符的运算功能(5)异或)。相同出0,不同出1,与“0”异或其值不变,与“1”异或,其值翻转。学习任务12位运算与文件操作一复制文件应用举例12-6异或分析:cha r 0152;若使a的高四位不变,低四位按位取反,执行:a=a OxOf;a:01101010OxOf:00001111异或后a的值:01100101与原值相比,高4位不变,低4位翻转了。学习任务12位运算与文件操作一复制文件问题12-4为应用举例12-6编写程序代码。问题12-5分析以下程序片断的作用。#include stdio.h void ma in()cha r a=3,b=4;a=a b;b=ba;a=a b;pr i ntf(a=%d,b=%d n,a,b);)输出.运算a=a b;b=b a;a=a b;作用是.运算后a的值./运算后b的值.运算后a的值.学习任务12位运算与文件操作一复制文件位运算2.位运算符的运算功能(6)或(|)。有1出1,全。出0。与1或具有置1作用,与0或具有 保留原值的作用。学习任务12位运算与文件操作一复制文件问题12-6怎样运算?使字符型变量a的高四位值不变,低四位值置1,如何运算?可进行的操作是:注意:位运算是按位进行的操作,当两个参与运 算的数具有不同的位数,如cha r和i nt型运算,系统自 动进行如下处理:先将两个数右对齐,再将位数少的 数往高位扩充(无符号数和正数左侧用0补全,负数左 侧用1补全),然后就可以按位运算。学习任务12位运算与文件操作一复制文件文件操作1.与文件相关的概念文件是记录在外部存储介质上的数据的集合,便于长久的保存和携带数据。(1)输入与输出。当调用函数从外部文件向程序中的变量赋值时,称为输入或读。当调用函数 把程序中变量的值输出到外部文件时,称为输出或写。(2)数据流。C语言中对输入/输出的数据都按照数据流的形式处理,输出时系统不加任何 信息,输入时逐一读入数据,直到遇到EOF结束标志。(3)存取方式。C语言对文件的输入/输出有两种存取方式:顺序存取和直接存取(随机存取)o(4)文本文件与二进制文件。以整型数123456为例,若以文本文件存储,占六个字节,分别存的是1、2、3、4、5和6的ASCII码,而以二进制文件存储,占一个整型变量的字节数,即四个 字节。当数据以二进制形式输出到文件中时,数据不经任何转换直接存到磁盘,但不能将二进制数据直接输出到终端屏幕,也无法从键盘输入二进制数据。学习任务12位运算与文件操作一复制文件微课学习任务十二 位运算与文件操作 复制文件an年例敦同知识四效传触副文件操作与文件相关的概念文件输入与输出数据流方取方式U文中二进榭记录在外部存储介质上的数据集合 便于长久保存和携带当调用函数从外部文件向程序中的变量赋值 时,称为输入或读。当调用函数把程序中变嫩蹶 输出时系统不加任何信息输入时逐一读其数据 直到遇到EOF结束标志:顺海后取狗直接商取我森行随机存取:I123456以文本存储占6字节存的是各位教 字的ASCII码 二进制文件存储占一个融型变量的字节数四个字节 1文件相关的概念学习任务12位运算与文件操作一复制文件文件操作2.打开文件与关闭文件(1)文件指针。文件指针是指向一个结构体类型的指针变量,此结构体中包含有缓冲区地址,当前存取的位置,是读还是写,是否出错,是否遇到文件结束标志等信息。这一切 已在stdio.h头文件中定义,并称此结构体的类型名为FIL E。文件指针的定义。形式:FIL E*指针变量名;例:FIL E*fp1,*fp2;(2)打开文件的函数。形式:f open(文件名,文件使用方式)函数返回一个指向FIL E类型的指针,如打开文件出错,返回NUL L。例:FIL E*fp;fp=fopen(file_a“,r);以“读”方式打开文件 Mfile_a 常用打开文件的语句形式:if(fp=fopen(Mfile_aM,M r,5)=NUL L)printf(ca nnot open this fiIe!nM);exit(0);/exit(0)是强行终止程序,须包含头文件“stdI ib.h”学习任务12位运算与文件操作一复制文件文件操作(3)打开文件的方式。:为读而打开文本文件,只能读,当文件不存在或不允许读时,返回NUL L。:为读而打开一个二进制文件,其他同“r”方式。:为写而打开文本文件,如文件不存在,会按指定的文件名建一个文件;若文件存 在将从开始位置写,文件原有内容丢失。“wb”:为写打开一个二进制文件,其余功能与”相似,可以指定位置进行写操作。“a”:为在文件后面添加数据而打开文本文件,如文件不存在,会按指定的文件名建一 个文件。“a b”:为在文件后面添加数据而打开一个二进制文件,其余功能与“a”相同。:为读和写而打开文本文件,要求指定的文件已存在。“rb+”:为读和写而打开一个二进制文件,功能与,+”相同。:首先建立一个新文件写,然后可以从头开始读,如指定的文件已存在,原有内具若%+”功能,在读写时可由函数设置读写的起始位置。:具有“a”功能,在添加数据后可以从头开始读。“a b+”:具有“a+”功能,可由位置函数设置开始读的位置。学习任务12位运算与文件操作一复制文件文件操作(4)关闭文件。形式:fclose(文件指针)成功关闭文件时,函数返回。值,否则返回非。值。关闭正在被读 的文件,则指针变量与文件脱离关系,关闭被写的文件,先将缓 冲区的内容写到文件中,然后指针与文件脱离关系。学习任务12位运算与文件操作一复制文件文件操作3.putc(fputc)和getc(fgetc)函数(1)putc(fputc)函数。调用形式:putc(ch,fp);或fputc(ch,fp);功能:将ch写到fp所指的文件中去,ch是字符常量或变量,输出成功,函数返回值为输出的字符,输出失败返回EOF(7)。(2)getc(fgetc)函数。调用形式:ch二getc(fp);或ch=fgetc(fp);功能:从fp所指的文件中读入一个字符赋给变量ch。学习任务12位运算与文件操作一复制文件应用举例12-7:向文件输出信息从键盘输入一些文本存入C:a.TXT中,以作为结束标志。#incIude stdio.h#i ncIude stdIi b.hvo i d ma i n()FIL E*fpout;cha r ch;i f(fpout=fopen(tlc:a.txt,J,uw)=NUL L)反斜杠的转义字符是“pr intf(不能打开文件!n);exit(0);1ch=getcha r();while(ch!=)fputc(ch,fpout);ch=getcha r();1fcIose(fpout);)获取一个输入字符向文件写入字符继续获取输入字符关闭文件输入 TIANJIN XIANDAir后按Enter键,打开c:a.txt文件,文件中的内容正是“TIANJIN XI ANDA I学习任务12位运算与文件操作一复制文件微课oO 项目 12-7-Microsoft Visual Studio文件(F)编箱(E)视图(V)项目(P)生成(B)m(D)团队(M)数据(A)工具(T)测试窗口四帮助(H);上u)-1二6 Debug Win32 二:-3匕a*二,琴理工?:一彳解决方案资源管理器 13后比D解决方案”项目12-7”(1个项目/茅项目12-7球外部依赖项口头文件/匕源文件 12O7.cpp口资源文件Q12O7.cpp X(全局通围j-应用举例12-7,向文件输出宿息/*X*从键盘输入一些文本存入E:A.TXT中,以作为结束标志。*x*/#include stdio.h#include/,stdlib.hSvoid nain 0FILE*fp;char ch;if(fp=fopenC*e:a.txt*,*w*)=NULL)printf(不能打开文件!n);反斜杠的转义字符是:hireturn;)ch=getchar(),while(ch!=)fputc(ch,fp);ch二getchar 0;)fclose(fp);)获取一个输入字符向文件写入字符继续获取输入字符关闭文件臼/*生彳亍程序100%输出显示簿出来源(S):1 正在对“Debug、项目 12-7.lastbuildstate”执行 Touch 任务。11生成成功。11已用时间 00:00:01,48=生成:成功1个,失败0个,最新0个,跳过0个inzi输出InsR代码日窗口行25列9就绪担5日解.二网才23 39 z:用二I 柒邮幅翡4 1加翻Q x,33 一应用举例 12-7学习任务12位运算与文件操作一复制文件问题12-7将代码补充完整将“c:a.txt”文件中的内容输出到屏幕,将程序代码补充完整。#i ncIude.#i ncIude.vo i d ma i n()FIL E pin;cha r ch;if(fpin=fopen(u.,.)二二NUL L)pr i ntf(ca nt open th i s fi le!n);ex i t(0);1ch二fgetc(fp i n);whi Ie(ch!=7)文本文件的结束标志是EOF或7putcha r(.);输出到屏幕ch 二.;1fc I ose(.);1 运行程序,屏幕显示:.学习任务12位运算与文件操作一复制文件文件操作4.feof函数feof函数可用于判断二进制文件和文本文件是否结束。形式:feof(fp)若文件结束,函数返回值为1,否则为0。学习任务12位运算与文件操作一复制文件文件操作5.fsca nf函数和fpr i ntf函数(1)fsca nf函数。调用形式:fsca nf(文件指针,格式控制字符串,输入项表)功能:只能从文本文件中按格式读入数据。如:f sca nf(f p,%d%d”,&a,&b);要求文件中两个整数之间已用空格键或Enter键等断开。(2)fprintf函数。调用形式:fpr intf(文件指针,格式控制字符串,输出项表)功能:将内存中的数据转换成对应的字符,并以ASCII码的形式输出 至 中 o如:fpr intf(fp:d%d”,a,b);为便于以后读入数据将两数之 间用空格隔开。学习任务12位运算与文件操作一复制文件文件操作6.fgets函数和fputs函数(1)fgets函数。调用形式:fgets(str,n,fp)从文件中读入字符串,fp是文件指针,str是存放字符串的起 始地址,n是一个整型的值。函数功能:从fp所指文件中读入丁1个字符,放在以str为起始 地址的内存中。遇EOF结束,最多只能读n-1个字符,读入结束后自动加0 o函数返回值为str。(2)fpiits函数。调用形式:fputs(str,fp)把字符串输出到文件中,str是字符串常量、数组名等,输出 遇0结束,不自动换行。学习任务12位运算与文件操作一复制文件应用举例12-8向文件写入字符串#i ncIude stdio.h#incIude stdI ib.h vo i d ma i n()cha r a 10 80,i;FIL E*fp;if(fp=fopen(c:a a.txt,w)!=NUL L)(for(i=0;i2;i+)gets(a 0);fputs(a 0,fp);fputs(n,fp);1)fcIose(fp);运行程序输入:天津现代职业技术学院回车 笃学立信淬砺成人回车 检查程序执行结果:打开c:a a.txt文件,查看其中内容,正是此输入的内容。学习任务12位运算与文件操作一复制文件问题12-8请将代码补充完整。将c:a a.txt文件中的内容输出到屏幕。#i ncIude.#i ncIude.vo i d ma i n()cha r a 10 80,i;if(fp二.)(for(i=0;i3)pr i ntf(the file na mes too ma ny!n);I _e I se pr i ntf(there a re no file na mes for i nput or、output!n);)学习任务12位运算与文件操作一复制文件编程训练12-2-1补充代码并运行程序。vo i d f i I ecopy(FIL E*fp i n,FIL E*fpout)cha r ch;ch=getc(fp i n);wh i Ie(.)/调用feof(fpin)函数,判断文件是Mputc(ch,fpout);ch=getc(fp i n);)学习任务12位运算与文件操作一复制文件编程训练12-2-2回答以下问题并执行程序。如果源文件名为:mycopy.cpp,生成的可执行文件名是:.运行可执行文件前,需做哪些准备?.将c:a.txt文件复制为:c:b.txt,应在命令提示符下输入:如何检测程序运行情况?.学习任务12位运与文件操作一复制文件祝你进步!谢谢!- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言学习与应用 语言 学习 应用 教学 课件 12 运算 文件 操作
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【曲****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【曲****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【曲****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【曲****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文