zoukankan      html  css  js  c++  java
  • C基础02天——笔记

    1.宏替换,完全展开替换,注意带来副作用

    #include <stdio.h>
    #define  打印语句 printf(“hello”);

     

    Void main(void)

    {

          If (1)

               打印语句;;

          Else

               ….;

    }

    Void main(void)

    {

          If (1)

               printf(“hello”);

          ;

          Else

               ….;

    }

    2.程序编译链接的过程

    .c 经过预处理,编译,汇编,链接,最终生成可执行程序(.exe/ELF)

     

    3.常量,定义以后其值不能改变的数

    宏定义一个常量

    #define  PI   3.14

    C语言关键字const

    const int TIEMS = 10;

     

    例题:

    Const  int  b;

    b = 10;

    4.变量,拥有固定大小的存储空间,里面存放的数值可以修改

     

    5.标识符命名规则

     

    6.变量的基本类型

    char      

    short

    Int

    Long

    Long long

     

    float

    Double

    隐式类型转换规则

    小字节向大字节类型转换,低级别向高级别类型转换

     

    例题:

    double  result;

    result = 3 * 5 -2 + ‘a’ * 1.1

     

    强制类型转换

    Char ch = ‘a’;

    Int b = 3 + (long)ch;

     

    什么是表达式?

    3

    3+5

    b-a

    (int)(3*4-5+6/7+2.3)

     

     

     

     

     

     

     

    精度丢失

    void main(void)

    {

          int  num = 0x12345678;

          char ch;

          ch = num;

          printf(“%x”, ch);

          printf(“%d”, num);

    }

    笔试题:测试当前电脑是大端存储还是小端存储数据。

     

    小字节向大字节类型赋值时

    无符号类型,高位直接填充0

    有符号类型,高位填充符号位

    -1  -》 1000  0001  -》1111 1110 –》1111  1111

    例题:

    Char b = 3;    ->0000 0011

    Short c = b;    ->0000 0000  0000 0011

    char b = -3;   ->1000 0011 -> 1111 1100  -> 1111 1101

    Short c = b;   ->1111 1111 1111 1101

     

    习题

    1.  65543转换为2进制,8进制,16进制

    65543  …  1

    32771  …  1

    16385  … 

    字节单位转换

    1KB          =   1024B

    1MB         =   1024KB

    1GB          =    1024MB

    1TB           =    1024GB

     

    操作数, 运算符, 表达式,语句

    4 + 7;

    ;空语句

    If (表达式) 

       语句;

    Else

          语句;

    While(表达式)

          语句;

     

     

    Int fun(void)

    {

          Return 5;

    }

    Main()

    {   

          Int num = 4+ fun();

          printf(“%d”, num);

    }

    小括号应用

    (4+5)*(9-2)

     

    5%1.2   4.5%2

    C语言当中1表示真,0表示假

    关系运算符只有真和假(1和0)两种结果

    3 ==5   -》 0

    5 > 1   ->   1

    1 > 5   ->   0

     

    输入:1234

    输出:4321

    1234%10  =》4

    1234 /10 =》123

    123 % 10 =》3

    123/10  =》 12

    12%10  =》2

    12/10  =>  1

    1 % 10  => 1

    1/10  =》  0

     

    自增自减运算符

    Int i = 3;

    Int a ;

    a = i++;  a =3;  i= 4;

    a = ++i;  a=4;   i=4;

    5++; ?

    (i+2)++;   ?

    i = 3;

    Printf(“%d, %d, %d, %d, %d”, i++, ++i, ++I, i++, --i);

    i = ++i - ++i;

     

    int num;

    num = 5;

    num = i+3;

    double item = 3.1415926;

    num = item;

    =与==

    num = 5;

    if (num = 8)

          语句1;

    else

          语句2;

     

    左值,可以看成是一个变量,左值是一个可以改变里面存储数据的变量。

    int a;

    a = 4;

    const int b;

    b = 5;

    3+4 = 1;

    int a;

    a = 123;

    &a = 123;    &a è 0xffff8000

    a += 3;  => a = a+3;   =>  3+=a;   3 = 3 + a;

     

     

    短路操作

    int  a = 5;

    if (4 < 3 &&  a = 2)

          语句1;

    else

          语句2;

    printf(“%d ”, a);

     

    计算数123的各位相加和。如1+2+3=6

    123%10   = 3

    123/10     = 12

    12%10      =2

    12/10        =1

    1%10        =1

    1/10          =0

     

     

    加密字典,所有字符+10.,当相加和超过127,从32‘ ’空格字符从新开始排序。

    I love you  =》   s*vy o*#y口

     

    ‘0’   ‘’

  • 相关阅读:
    C语言 · 猜算式
    C语言 · 2n皇后问题
    数据结构 · 二叉树遍历
    C语言 · 滑动解锁
    出现Exception in thread "main" java.lang.UnsupportedClassVersionError: org/broadinstitute/gatk/engine/CommandLineGATK : Unsupported major.minor version 52.0问题解决方案
    linux提取指定列字符并打印所有内容(awk)
    mapping生成sam文件时出现[mem_sam_pe] paired reads have different names错误
    出现“java.lang.AssertionError: SAM dictionaries are not the same”报错
    Linux运行Java出现“Exception in thread "main" java.lang.OutOfMemoryError: Java heap space”报错
    Linux:echo中,>和>>的区别(保存结果和追加结果)
  • 原文地址:https://www.cnblogs.com/zhuyaguang/p/4823734.html
Copyright © 2011-2022 走看看