zoukankan      html  css  js  c++  java
  • C语言笔记

     

    .c是C语言源文件,在编写代码的时候创建

    .o是目标文件,在编译成功的时候产生  .obj

    .out是可执行文件,在链接成功的时候产生


    工具:clang编译器(Xcode3 gcc Xcode4 LLVM (clang))

    指令:cc -c 文件名.c  【Tab键】

    编译 成功,会生成一个.o目标文件

    链接:其实就是把我们的.o目标文件跟系统自带的函数库合并在一起,生成一个可执行文件见

    Touch 02-我的第二个C语言程序.c【创建文件】


    1> %d\%i   整数(int)

    2> %f          小数(float double)

    3> %c         字符(char)

    4>  %p            输出地址    

    5>   &              地址运算符


    Sizeof 作用

    用来计算一个变量或者一个常量,一种数据类型所占的内存字节数

    基本形式

    Sizeof(常量变量)

    Sizeof 变量常量

    Sizeof (数据类型)

    不能是sizeof数据类型

    列:

    Double a;

    Int b=sizeof(a);

    Printf("%d :",b);

    输出b:8  表示8个字节


    scanf接受输入

    这也是在stdio.h中声明的一个函数,因此使用前必须加入#include <stdio.h>

    调用scanf函数时,需要传入变量的地址作为参数,scanf函数会等待标准输入设备

    (比如键盘)输入数据,并且将输入的数据赋值给地址对应的变量

     

    • 注意:数值之间的分隔符是任意的,不一定要用中划线-,可以是逗号、空格、星号*、井号#等等,甚至是英文字母

    // 逗号,

    scanf("%d,%d,%d", &a, &b, &c); // 输入格式:10,14,20 

    // 井号#

    scanf("%d#%d#%d", &a, &b, &c); // 输入格式:10#14#20 

    // 字母x

    scanf("%dx%dx%d", &a, &b, &c); // 输入格式:10 x14x20


    运算符的优先级(从高到低)

    • 关系运算符中==!=的优先级相等,
    • <<=>>=的优先级相等,
    • 且前者的优先级于后者:2==3>1
    • 如果在程序中,要改变运算顺序,可以使用()

     

    优先级

    描述

    运算符

    1

    括号

    ()[]

    2

    正负号

    +-

    3

    自增自减,非

    ++--!

    4

    乘除,取余

    */%

    5

    加减

    +-

    6

    移位运算

    <<>>>>>

    7

    大小关系

    >>=<<=

    8

    相等关系

    ==!=

    9

    按位与

    &

    10

    按位异或

    ^

    11

    按位或

    |

    12

    逻辑与

    &&

    13

    逻辑或

    ||

    14

    条件运算

    ?:

    15

    赋值运算

    =+=-=*=/=%=

    16

    位赋值运算

    &=|=<<=>>=>>>=

     

     

     

     


     

     


    内存-进制

     

     1 // 输出整数的二进制形式
     2 void putBinary(int n)
     3 {
     4     int bits = sizeof(n) * 8;
     5     while (bits-->0) {
     6         printf("%d", n>>bits&1);
     7         if (bits%4==0) printf(" ");
     8     }
     9     printf("
    ");
    10 }

    1. signedunsigned

    1> 首先要明确的:signed int等价于signedunsigned int等价于unsigned;

     

    2> signedunsigned的区别就是它们的最高位是否要当做符号位,并不会像shortlong那样改变数据的长度,即所占的字节数。

     

    • signed:表示有符号,也就是说最高位要当做符号位,所以包括正数、负数和0。其实int的最高位本来就是符号位,已经包括了(正负数和0)了,因此signedint是一样的signed等价于signed int,也等价于intsigned的取值范围是-231 ~ 231 - 1

     

    • unsigned:表示无符号,也就是说最高位并不当做符号位,所 以不包括负数。在64bit编译器环境下面,int占用4个字节(32bit),因此unsigned的取值范围是:0000 0000 0000 0000 0000 0000      0000 0000 ~ 1111 1111 1111 1111 1111 1111 1111 1111,也就是0 ~ 232 - 1
    磨刀不误砍柴工
  • 相关阅读:
    论知识共享平台
    网虫推荐firefox 4.0插件
    solaris下常见文件压缩/解压方式简单小结—待续中
    Nginx的启动,关闭,重启脚本
    怎样将oracle数据库用户锁住和解锁
    【APACHE】如何重启Apache?
    【MYSQL】解决Mysql直接登录问题(删除匿名用户)
    【PHP】关于set和get函数
    【JMAIL】jmail无法收邮件问题
    【PHP】Class ‘mysqli’ not found 问题
  • 原文地址:https://www.cnblogs.com/why168888/p/4278755.html
Copyright © 2011-2022 走看看