zoukankan      html  css  js  c++  java
  • 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”都可以不写,但是“;”必须保留。

                                             

  • 相关阅读:
    Delete 语句带有子查询的sql优化
    标量子查询SQL改写
    自定义函数导致的sql性能问题
    Oracle 11G RAC For ASM 利用RMAN COPY进行存储迁移
    WPF 如何控制右键菜单ContextMenu的弹出
    将字符串以用二进制流的形式读入XML文件
    WPF 将数据源绑定到TreeView控件出现界面卡死的情况
    WPF如何实现TreeView节点重命名
    Azure一个Cloud Service支持多个公网地址
    Azure上部署Barracuda WAF集群 --- 2
  • 原文地址:https://www.cnblogs.com/wshyj/p/6032367.html
Copyright © 2011-2022 走看看