转专业后补修C语言的一些体会(4)
1.对于文件的打开和关闭操作:首先了解到,C语言将文件分成了两种类型:文本文件和二进制文件.针对这两种文件,各有不同的文件读写方式。在C语言中,文件的操作要借助一个文件指针 即FILE 类型,定义了一个文件指针后才能够对文件进行各种操作。之后我们使用fopen函数来打开一个文件,对于fopen函数,有很多种的打开方式,其中: 文件使用方式由r,w,a,t,b,+六个字符拼成,各字符的含义是:r(read): 只读 w(write): a(append): 追加 t(text): 文本文件,可省略不写 b(binary): 二进制文件,用r打开文件时,该文件必须存在,且只能读出,当用w打开文件时,若打开的文件不存在,则新建一个文件。若已存在,则删除后新建一个新的文件。如果打开文件成功,fopen函数会返回一个文件指针,如果打开失败,则会返回一个NULL(空指针)。当对文件的各种操作使用完后,必须将文件关闭。可以使用fclose(文件指针)函数。
2.对于文件的读写操作:fgetc(文件指针)从文件中读取字符。fputc(char,FILE)将字符输出到文件中。fputs(s,文件指针)将字符串输出到文件中。fgets(字符串存放的字符数组,字符数组长度,字符指针)从文件中读取字符串.fprintf(文件指针,格式,变量)格式化输出到文件中。fscanf(文件指针,格式,变量)从文件中格式化读取内容。 fread和fwrite函数,即二进制文件的读写。fwrite(要放入的内容,长度,次数,文件指针) fread(读取后内容放置的地方,长度,次数,文件指针)。
3.位运算
运算规则
1、&与运算:对应两个二进位均为1时,结果位才为1,否则为0。(有假为假==0)
2、|或运算:对应的两个二进位有一个为1时,结果位就为1,否则为0。(有真为真==1)
3、^ 异或运算:对应的二进位不同时为1,否则为0。(不同为真==1,相同为假==0)
注意:(1)相同整数相^的结果是0.
(2)一个数^另一数两次结果不变
(3)整数相^跟顺序无关
4、~ 取反运算:对整数的各二进位进行取反,包括符号位(0变1,1变0,真假互换)
5、<< 左移:把整数的各二进位全部左移n位,高位丢弃(包括符号位),低位补0。
左移n位其实就是乘以2的n次方(但移动后符号位变化除外,符号位改变则正负改变)
6、>> 右移:把整数的各二进位全部右移n位,符号位不变。高位的空缺是正数补0;
是负数高位是补0或是补1 取决于编译系统的规定;右移n位其实就是除以2的n次方
位运算的优先级:~、<<、>>、&、^、|、&=、^=、|=、<<=、>>=。
本文参考网址:https://www.jianshu.com/p/a220eb392383 https://blog.csdn.net/Jiajikang_jjk/article/details/89041324
转专业后补修C语言的一些体会(4)的更多相关文章
- 转专业后补修C语言的一些体会(3)
1.指针:指针是C语言最为强大的工具之一,有着很多优点,比如可以改善子程序的效率,为动态数据结构提供支持,为C的动态内存分配系统提供支持,为函数提供修改变量值的手段.但指针的使用十分困难.会出现很多意 ...
- 转专业后对于C语言补修的一些体会(1)
在转入软件工程后,原来的C语言程序设计只有三学分,而信息学院的C语言程序设计有四学分.迫于无奈的我只能再补修一遍C语言,自我认为大一对于C语言的学习已经基本足够,但我发现信息学院用的是不一样的书后,对 ...
- 关于转入软件工程专业后第二次java课上作业的某些体会
今天是第二周的java课. 自从转入了软件工程专业后,在我没有学习c++的基础上,直接开始了学习java的过程.不得不说过程很艰辛.今天下午老师让编写一个随机产生作业的软件.而我的基础差到都不知道如何 ...
- 转专业后对于C语言补修的一些体会(2)
第三章,有以下几个比较重要的点: 1. 强制类型转换. 强制类型转换是C语言中一个十分重要的工具,在C语言的使用中,有很多需要用到强制类型转换的地方,比如在除法中,如果想要得到正确的浮点结果,一般要确 ...
- 使用ML.NET实现情感分析[新手篇]后补
在<使用ML.NET实现情感分析[新手篇]>完成后,有热心的朋友建议说,为何例子不用中文的呢,其实大家是需要知道怎么预处理中文的数据集的.想想确实有道理,于是略微调整一些代码,权作示范. ...
- wpf RadioButton控件的一个bug,onpropertychanged后会修改旧属性的值
测试代码下载:http://files.cnblogs.com/djangochina/RadioButtonBug.zip 从上面列表选择不同的行,再设置下面不同的radiobutton看看结果 b ...
- Java 吃金币游戏设计与制作,下载版后补,代码没问题
package com.swift; import java.awt.Color; import java.awt.Point; import java.awt.event.KeyEvent; imp ...
- JMeter - 后处理器/脚本语言 - 比较
当我们使用JMeter / Response数据处理进行密集负载测试时,我们可能会非常小心我们选择的后处理器/脚本语言的类型.在这篇文章中,我想说明这些后处理器/脚本语言如何影响测试的整体性能. 我们 ...
- 为什么90%的大学都要求计算机专业学习C语言?
编程语言是编程的工具,计算机相关专业的学生必须具备足够的编程能力.当然,关于"最好语言"的争论从来没有休止过,这里要强调一下:语言的选择真的没那么重要,学习语言的过程最重要是语言的 ...
随机推荐
- selenium定位方法-iframe元素定位方法
在自动化测试中,如果无法定位到一个元素,那么最大的可能是定位的元素是在iframe框架中,iframe对象代表一个HTML的内联框架,在HTML中,iframe每出现一次,一个iframe对象就会被创 ...
- Wordpress里提示警告信息creating default object from empty value in *** 的解决方法
PHP里提示 Creating default object from empty value 的问题,一般是由于PHP版升级的原因,PHP 5.4 以上的版本一般会报这个错误.PHP的解决方法:找到 ...
- bugku 宽带信息泄露
首先下载文件 下载完成后发现是一个后缀名为 bin 的文件 然后找百度查一下这是什么文件的后缀名 看一下题目 然后用软件routerpassview打开(搜的教程) 然后打开文件 搜索username ...
- Codeforces Round #624 (Div. 3) A. Add Odd or Subtract Even(水题)
You are given two positive integers aa and bb . In one move, you can change aa in the following way: ...
- 自定义控件之绘图篇(四):canvas变换与操作
具体操作见下面链接: http://blog.csdn.net/harvic880925/article/details/39080931/
- mybatis会自动把字段名中的下划线转为驼峰命名法?
先看一下转化的调用堆栈: 代码如下: 上面代码只是去掉了下划线,并没有首字母小写变大写的代码.再跟进findProperty方法可以找到获取驼峰结果的代码如下: 可以看出通过reflector.fin ...
- SOA架构设计
架构是—套构建系统的准则,通过这套准则,把—个复杂的系统划 分为一套更简单的子系统的集合,这些子系统之间保持相互独立,并与 整个系统保持一致,而且每—个子系统还可以继续细分下去,从而构成 —个企业级架 ...
- gRPC Learning Notes
简介 更多内容参考:https://www.grpc.io/docs/guides/ gRPC 是一个高性能.开源和通用的 RPC 框架,面向移动和 HTTP/2 设计.目前提供 C.Java 和 G ...
- Linux下载安装
博客及下载 https://www.cnblogs.com/nongzihong/p/10475753.html centos镜像 下载 https://blog.csdn.net/sinat_365 ...
- C++(MFC)踩坑之旅 ------- 新建项目弹出“发生一个或多个错误”
结束隔离,回公司上班,把在家办公的程序考回公司的电脑,结果出错了,每当我新建项目时,都会弹出"发生一个或多个错误",点确定后回到新建项目的设置上面,折腾了两天时间才解决,以下是我的 ...