zoukankan      html  css  js  c++  java
  • 运算符与格式输出输入4

    格式化输入输出:
    printf("hello world!");
    printf("期望薪资:%d ",salary); //%站位符
    格式化传分为两种:
    1.普通字符,原样输出
    2.转换说明:从%开始,%-0m.nl|h+转换说明
    % 站位符,转换说明的开始,不能省略
    - 左对齐,缺省是右对齐
    0 可以是任意字符,表示空位补零
    m.n 控制域宽只对应的输出内容在输出设备上所站的位数
    n 表示精度,用于输出浮点数,小数点后面的位数
    l或者h l 表示整数long %ld 浮点数double %lf
    h 表示short %hd 将int格式修正成short

    转换说明符:
    i/d 输出十进制整数在printf函数中一样使用
    o 输出无符号的八进制整数
    x 输出一个十六进制
    u 输出无符号十进制

    c 输出一个字符
    s 输出一个字符串
    f 输出浮点 只包含float
    e 以科学计数法输出一个浮点数
    g 不输出无意义的0,在f和e之间选一个最短的输出
    p 输出内存当中的地址 一个32位的整数

    ps:格式字符串里面的转换说明要和后面的表达式--对应


    格式化输入:

    scanf(); stdio.h中的函数
    scanf("格式字符串",地址列表);
    scanf("%f,%f,%f",&f1,&f2,&f3); //可变长参数
    段错误:程序段,数据段,bss段,堆和栈
    scanf 访问了非法的地址
    scanf 空白 回车 制表符 统统忽略
    %d
    scanf
    1、 在寻找数据的时候,会跳过空白字符
    2、 当遇到不属于格式转换的字符时,会把这个字符放回原处。
    3、 最后一个回车scanf并不会读取;
    4、 用户输入的内容放在输入缓冲区中
    * scanf("%*c");从缓冲区忽略一个字符
    scanf("%*[^ ]");scanf("%*c") //作用清除
    缓冲区 清除所有^ 的字符
    scanf("%c",&c); //只写转换说明


    set cindent 以c文件缩进
    set smartindent 智能缩进
    ab stdio
    vi .vimrc 在这里添加set cindent
    set smartindent
    ab stdio #include <stdio.h>
    //把后边的字符串简写成前面这种


    2、sizeof();
    只检查类型在内存中占得字节数
    类型名sizeof(int);
    变量名 int i;sizeof(i);
    表达式 sizeof(5.0);sizeof(5.0f);
    sizeof()不会对表达式进行计算
    详细,把所有的知识的来源,所有的过程都要弄明白
    算数运算符:
    + - * / % (取余,求摸)
    a+b a-b a*b a/b a%b
    1、求摸操作必须为整数。
    2、0不能作除数 也不能对0进行取余运算
    3、两个整数相除,取结果的整数部分
    4、c89 中对负数的操作没有具体规定,
    -9/7 为 -1huozhe -2
    可以向上取等,具体根据编译器的实现。
    c99 结果向0靠近
    练习:逆序打印一个两位数
    91 19

    80 08
    赋值运算符= 左值 和 右值(右值可为表达式)
    C语言中唯一一个可以作为左值的就是 变量。
    int a=10;
    i=k=j=0;也合法
    5=8 不合法
    -i=k
    自增 和 自减运算符
    ++ --
    前++: ++i 后++:i++
    前--: --i 后--:i--
    ++i i=i+1 i+=1

    关系运算符:
    < <= > >=
    10<11:逻辑结果 成立(真1) 不成立(假 0)
    判断一个数是正数还是负数


    i=10,0<i<100 在计算机中恒为真,这中表达式是错误的。
    0<i:逻辑结果成立为1,1<100恒成立。
    必须改成 i>0 && i<10;
    判等运算符 == 等于
    != 不等于
    逻辑运算符:
    && 逻辑与 短路与
    || 逻辑或 短路或
    ! 逻辑非
    结果: 真或假 1或0
    表达式1 && 表达式2

    如果表达式中有逻辑运算,那么运算顺序是从左往右运算
    才有了短路概念
    如果表达式1为假,则表达式2不做运算
    多买几本数,同种类型相比较着学
    2.
    表达式1 || 表达式2
    如果表达式1位真,则表达式2不做运算,
    整个表达式的结果就为真
    3
    三目运算符:
    条件?表达式1:表达式2
    如果条件表达式为真,则运行表达式1,否则运行表达式2.

    5.优先级与结合性
    作为通用规则,C语言允许在所有表达式中用圆括号进行分组
    由实现定义中:所谓的实现:
    实现:程序在特定的平台上编译、链接和执行所需要的软件。
    4.地址运算符
    &取地址
    *根据地址取变量
    printf中的%p用来输出地址。
    取地址取得是一个变量的开始地址。
    地址是按字节编号的。(如汇编当中十六进制按字节编号)

  • 相关阅读:
    TCP/IP 13学习笔记
    代码注入的三种方法
    一个简单的GTK的例子程序
    打印同样一个数据,竟然出现不同的结果,解决方法。
    解决multiple definition of的方法
    anjuta的安装、配置以及第一个hello程序
    rhythmbox中文乱码的解决方法
    Windows 和 Linux开发工具对比
    debian(包括ubuntu)命令行下的中文支持
    如何解决warning: no newline at end of file?
  • 原文地址:https://www.cnblogs.com/fanhongshuo/p/3886611.html
Copyright © 2011-2022 走看看