c语言知识(1)
用freopen重定向输入
freopen函数以指定模式重新指定到另一个文件,模式用于指定新文件的访问方式。
FILE *freopen(const char * restrict filename, const char * restrict mode, FILE * restrict stream);
filename:文件名或文件路径,mode:文件访问权限字符串("r"只读,“w”只写,“a”追加写入),steam:需要被重定向的文件流。
eg:freopen("c:\\tmp\\test.txt", "r", stdin);
数据存储是以字节(Byte)为单位,数据传输大多是以位(bit)为单位,一个位就代表一个0或1(即二进制),每8个位(bit,简写为b)组成一个字节(Byte,简写为B),是最小一级的信息单位。
ASCII码:一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算为十进制。最小值0,最大值255。如一个ASCII码就是一个字节。
UTF-8编码:一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。
Unicode编码:一个英文等于两个字节,一个中文(含繁体)等于两个字节。
符号:英文标点占一个字节,中文标点占两个字节。
int, long, short, char的最高位是符号位,为1表示负数,为0表示非负数。整型数据转化为字符型数据时,只会留下最右边的一个字节,其余位丢弃
2.1 输入输出进阶
%f:读入输出float/输出double。
%lf:读入double。
%lld:读入输出long long。
%s:读入输出字符串,不需要加“&”。
%u:以无符号整数形式输出整数。
%x:以十六进制形式读入或输出整数
示例1 4 5;按每个整数占8个字符的宽度,右对齐输出它们。 %8d | 1 4 5
按每个整数占8个字符的宽度,右对齐输出它们,不足位用0补齐 %08d |000000001 000000004 000000005
类似的 %.6f 和%.06f 效果相同 float a=2.4 %.6f|2.400000
不要用“a == b”的办法判断两个浮点数是否相等,也不要用“a == 0”的办法判断浮点数 a是否等于0,因为浮点数是有误差的。
应该用“a-b>-eps && a-b<-eps“,即a和b的差的绝对值小于某个很小值 eps的办法来判断a和b是否相等。
如果结果要保留小数点后面n位,那么 eps可以取 10的-(n+2)次方。
3.1 if语句
else总是和离它最近的if配对。
循环控制变量定义在“表达式1”中,则只在for语句内部起作用,可以不用担心循环控制变量重名。
循环结构里的“表达式1”和“表达式3”都可以是用逗号连接的若干个表达式。
“表达式1”“表达式2”“表达式3”都可以不写,但是“;”必须保留。
c语言知识(1)的更多相关文章
- 【转】R语言知识体系概览
摘要:R语言的知识体系并非语法这么简单,如果都不了R的全貌,何谈学好R语言呢.本文将展示介绍R语言的知识体系结构,并告诉读者如何才能高效地学习R语言. 最近遇到很多的程序员都想转行到数据分析,于是就开 ...
- STM32F4 阿波罗 库函数与C语言知识
先聊一聊: 之前使用32都是用的库函数,但是没有理解为什么那么操作,有很多的文件我也不知道要看哪一个,感觉云里雾里,没有学清楚一件东西的感觉不太好,于是就在前几天一直跟着比较详细的视频学习.开始老师讲 ...
- C语言知识汇总,史上最全面总结,没有之一
C语言基础 C语言学习路线 C语言入门笔记 初识C语言 简单的C程序示例 我们编写的C代码是怎样跑起来的? 简单示例,VS2019调试C语言程序 C语言基础-数据类型 深入理解变量,变量的声明,定义, ...
- 老师不讲的C语言知识
老师不讲的C语言知识 导语: 对于工科生,C语言是一门必修课.标准C(ANSI C)这个看似简单的语言在硬件底层编程.嵌入式开发领域还是稳坐头把交椅.在20年5月份,C语言就凭借其在医疗设备上的广泛应 ...
- Go语言知识查漏补缺|基本数据类型
前言 学习Go半年之后,我决定重新开始阅读<The Go Programing Language>,对书中涉及重点进行全面讲解,这是Go语言知识查漏补缺系列的文章第二篇,前一篇文章则对应书 ...
- 关于C语言知识调查
因为上一篇随笔对这一部分写得不够清楚,因此在这篇做一些补充. 你是怎么学习C语言的? 起初,对于C语言的学习主要是通过老师课堂的教学,完成相关的课后作业.与我的技能相比的话,他们都有一个共同点需要去实 ...
- 基础语言知识JAVA
1. 总结: JAVA比较重要的博客: http://www.runoob.com/java/java-tutorial.html (JAVA教程) http://blog.csdn.net/ ...
- [Java面试九]脚本语言知识总结.
核心内容概述 1.JavaScript加强,涉及到ECMAScript语法.BOM对象.DOM对象以及事件. 2.Ajax传统编程. 3.jQuery框架,九种选择器为核心学习内容 4.JQuery ...
- JavaScript语言知识收藏
接触Web开发也已经有一段时间了,对javascript的认识也比以前有了更加深入的认识了,所以觉得应该整理一下. 一.JavaScript不支持函数(方法)的重载,用一个例子证明如下: functi ...
- C语言知识整理(3):内存管理(详细版)
在计算机系统,特别是嵌入式系统中,内存资源是非常有限的.尤其对于移动端开发者来说,硬件资源的限制使得其在程序设计中首要考虑的问题就是如何有效地管理内存资源.本文是作者在学习C语言内存管理的过程中做的一 ...
随机推荐
- 【BZOJ1004】【HNOI20008】cards
看黄学长的代码才写出来的,sro_hzwer_orz 原题: 小春现在很清闲,面对书桌上的N张牌,他决定给每张染色,目前小春只有3种颜色:红色,蓝色,绿色.他询问Sun有多少种染色方案,Sun很快就给 ...
- [codeforces 391D2]Supercollider
这题觉得似乎不难的样子…… 但硬是没有做出来,真是不知说什么好喵~ 注意到没有两条共线的线段具有公共点,没有重合的线段 说明每个十字形最多涉及一个水平线段和一个竖直线段 这说明我们可以二分了:每条线段 ...
- JSBinding + SharpKit / 实战:转换 Stealth
这个例子相对简单,基本上一路顺畅 // JSBindingSettings.classes public static Type[] classes = new Type[] { typeof(Per ...
- 【HACK】破解APK并注入自己的代码
请不要去干坏事! 使用工具: APKTool 提醒:能够正常安装到手机上的APK都是带有签名的(不了解签名的可以百度),APK在破解重新打包后是已经不再拥有签名的,如果想要你破解后的APK能够正常运行 ...
- SET ROWCOUNT,SET NOCOUNT
SET ROWCOUNT (Transact-SQL) 在停止特定查询之前要处理的行数(整数). 重要提示 在 SQL Server 的将来版本中,使用 SET ROWCOUNT 将不会影响 DELE ...
- Cg Programming/Vertex Transformations
https://en.wikibooks.org/wiki/Cg_Programming/Vertex_Transformations
- A javascript library providing cross-browser, cross-site messaging/method invocation. http://easyxdm.net
easyXDM - easy Cross-Domain Messaging easyXDM is a Javascript library that enables you as a develope ...
- morris.js 简单学习
需要添加的引用脚本 <script src="http://cdnjs.cloudflare.com/ajax/libs/raphael/2.1.0/raphael-min.js&qu ...
- Linux-remote change password (more)
1.creat managment Certification on Mangar Serverssh-keygen -t rsa2.creat client Certification on Cli ...
- https和http共存的nginx配置
server { listen 80; listen 443 ssl; server_name test.xx.com; ...