当前位置:首页 » 《随便一记》 » 正文

2021-09-18代码_DENGGELADENG的博客

10 人参与  2021年12月02日 07:03  分类 : 《随便一记》  评论

点击全文阅读


//变量分类
//全局变量
//局部变量
#include<stdio.h>


//全局变量-大括号外部定义的变量
int a =100;
int main()
{
    int a = 10;
    int a = 10000;//变量重定义
    //局部变量-大括号内部定义的变量
    printf("a=%d",a);
    //局部变量和全局变量重复的时候选择全局变量
    return 0;


#include<stdio.h>
int main()
{
    int sum1=0;
    int sum2=0;
    int sumk=0;
    scanf("%d %d",&sum1,&sum2);
    sumk=sum1+sum2;
    printf("%d\n",sumk);
    return 0;

}

#include<stdio.h>
int main()
{
    const int a = 1000;
    a=99999;
    printf("%d\n",a);
    return 0;
}

int main()
{
    printf("%d\n",max);
    max=999;
    printf("%d\n",max);
    return 0;
}


//操作符
运算符操作符操
#include<stdio.h>
int main()
{
    int a = 7 / 2;
    int b = 7 % 2;//取余/数
    float c = 7 / 2.0;
    printf("%d\n",a);
    printf("%d\n",b);
    printf("%f\n",c);
    return 0;
}

移位操作符

int main()
{
    int a = 12;//a是整形,4个字节,32bit
    int b = a << 2;//左移操作符
    //00000000000000000000000001100
    //移动的二进制位
    printf("b=%d\n",b);
    return 0;

}

位操作符(& ^ |)
& 按(2进制)位与
| 按(2进制)位或
^ 按(2进制)位异或

int main()
{
    int a = 3;
    int b = 5;
    int c = a&b;//按位与——有0则为0
    int d = a|b;//按位或——对应的二进制位有1则为1
    int e = a^b;//按位异或-相同为0,相异为1
    printf("c=%d\n",c);
    printf("d=%d\n",d);
    printf("e=%d\n",e);
    return 0;
}

//赋值操作符
int main()
{
    int a =10;//初始化
    float score = 0.0;
    score = 95.5;//直接写出来的浮点数默认是bouble类型的
    a = 45;//赋值
    a = a +5;
    a +=5;//复合赋值符
    a -=5;
    a*=5;


    return 0;
}

int main()
{
    3 + 5;//+操作符
    //3 和 5是操作数
    //3是左操作数
    //5是右操作数
    //+双目操作符

    //单目操作符——只有一个操作数的操作符

    int flag =0;
    //C语言是如何表示真假的?
    //0就是假,非0就是真

    if(flag)
    {
        printf("hehe\n");
    }

    if(!flag)//flag为假,打印haha
    {
        printf("haha\n");
    }

    int b =!flag;
    printf("%d\n",b);
    return 0;
sizeof是操作符 不是函数

}
int main()
{
    int a = -10;
    //a=-a

}

int main()
{
    int a = 10;
    int arr[10]={0};
    printf("%d\n",sizeof(int));
    printf("%d\n",sizeof(a));
    printf("%d\n",sizeof a );
    int sz = sizeof(arr)/sizeof(arr[0]);
    printf("%d\n",sz);//4
    return 0;
}


~ - 按(2进制)位取反
如果一个整数存储在内存中的二进制序列是:
00010101001010101000101010100010
111010101101010101110101010111101

计算机识别的是二进制
整数存放在内存中也存放的是二进制
整数的二进制怎么表示?
整数的二进制表示方式有三种:
原码-直接按照数字的正负转换成二进制就是原码
反码-原码的符号位不变,其他位按位取反,就是反码
补码-反码+1,就是补码

正整数的原码,反码,补码是相同的
负整数的原码,反码,补码要计算
规定:对于有符号整数,二进制的最高位是符号位
最高位是0,表示正数
最高位是1,表示负数
int main()
{
    int a = 0;//32bit
    //00000000000000000000000000000000 - 原码
    //00000000000000000000000000000000 - 反码
    //00000000000000000000000000000000 - 补码
    int b = -1;
    //10000000000000000000000000000001 - 原码
    //11111111111111111111111111111110 - 反码
    //11111111111111111111111111111111 - 补码
    printf("%d\n",~a);
    return 0;

}

 ++--
int main()
{
    //++--
    int a = 10;
    //int b = a++;//后置++,先使用,再++
    int b = --a;//前置++,先++,后使用
    printf("%d\n",a);//9
    printf("%d\n",b);//10

    return 0;
}


int main()
{
    int a = (int)3.14;
    printf("%d\n",a);
    return 0;
}


逻辑操作符 && || 逻辑与 逻辑或
int main()
{
    //法定结婚年龄
    //男:22
    //女:20
    //A B
    //&&并且,逻辑与
    //||或者,逻辑或
    if((A>=22)&&(B>=20))
    {

    }


    return 0;
}

int main()
{
    int a = 10;
    int b = 20;
    int max = 0;

//    if(a>b)
//        max=a;
//    else
//        max=b;
    //条件操作符
    max = (a>b) ? (a) : (b);
    printf("%d\n",max);
    return 0;
}


//逗号操作符

int main()
{
    int a =3;
    int b =5;
    int c =6;
    int d =(a -= 2,b=a+c,c=a-b);
    //      a=1,b=7,c=-6
    //逗号表达式--从左向右以此计算,整个表达式的结果是最后一个表达式的结果。
    printf("%d\n",d);
    return 0;
}

int 表示函数调用完成之后返回一个整数
int Add(int x,int y)
{
    int z = x+y;
    return z;
}

void test()
{
    printf("test\n");
}
void是无的意思
函数test调用完成以后无返回

int main()
{
//    int arr[10]={1,2,3,4,5,6};
//    arr[4];//[] - 就是下标引用操作符
    int a = 10;
    int b = 20;
    int sum = Add(a,b);
    //函数调用,()就是函数调用操作符
    //()的操作数是 Add, a, b
    printf("sum=%d\n",sum);


    return 0;
}
C语言规定的关键字
int float for while return

int main()
{
    int a=10;//auto
    return 0;
}

typedef unsigned int uint;

//
int main()
{
    //int a=10;//auto
    unsigned int age = 10;
    unit age2 = 20;
}


static有三种用法
1.static修饰局部变量
2.static修饰全局变量
3.static修饰函数
void test()
{
    static int a = 1;
    a++;
    printf("%d ",a);

}

int main()
{
    int i = 0;
    while(i<10)
    {
        test();
        i++;
    }
    return 0;
}
static修饰局部变量,使得局部变量出了自己的范围也不销毁,实际上是改变了局部标量的生命周期

staric修饰全局变量,会使得全局变量失去外部链接属性,变成内部连接属性,所以static修饰的全局变量,只能在自己所在的.c文件中使用

声明外部符号
int Add(intx,inty);
int main()
{
    int a = 10;
    int b = 20;
    int C = Add(a,b);
    printf("%d\n",C);
    return 0;

}
 


点击全文阅读


本文链接:http://zhangshiyu.com/post/31490.html

操作  反码  补码  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1