c语言学习记录:第二天

//下面是对移位操作符的学习
//移位操作符——移的是二进制位。
//<<表示 左移
//>>表示 右移
//简单举个例子进行理解
#include<stdio.h>
#define _CRT_SECURE_NO_WARNINGS 1
//int main()
//{
//    int a = 3;// 整形3 一个占用 4字节的空间,也就是32个bit位。
//    //整数3用2进制表示为“011”
//    //在内存中,显示为“00000000000000000000000000000011”
//    int b = a << 2;/*表示将a在内存中所储存的2进制整体向左平移2个bit位,多出的部分去掉,缺少的部分*/
//    //则用0补齐,最终结果为“00000000000000000000000000001100”——即十进制的12。
//    printf("%d\n",b);/*对结果进行验证----b的值为12,正确。*/ 
//    /*那么变量a的值经过移位操作符进行操作后,是否有发生变化呢?打印变量a,查看结果。*/
//    printf("%d\n",a);/*发现a的值打印结果为3,并未发生变化。——类似于进行了4则运算(猜想)*/
//
//    return 0;
//}


//下面继续学习符号“%”,读作“模”,意思与数学上的除数求余差不多。
//例如:
//int main()
//{
//    int a = 5 % 2;/*意为求 5/2的余数,用变量a接走这个余数,结果很明显是1。*/
//    printf("%d\n",a);
//    return 0;
//}

//接下来,是对“&,|,^”三个符号的学习;
//&——之前在scanf函数中遇到过,这次学习它的另一个身份。“按位与”--意思就是数学中p^q的意思,
//1假全假,2真才真(其中,非0表示真,0表示假)

//“|”——按位或,数学中的p v q,一真全真,两假全假
// 
//“^”——按位异或,长得很像幂方,但不是。我是按字面意思理解的,两者相异时,为或关系,
//因为两者相异,必有一0一1,此时按照或关系处理,得到的值为1,而2者相同时反之。。。。
//下面,用一个简单例子进行测试
//int main()
//{
//    int a = 7;/*7用2进制表示为“0111”*/
//    int b =11;/*用2进制表示为“1011”,那么根据上面的规则,预测结果应该为“1100”,转化为10进制为12*/
//    int c = a ^ b;
//    printf("%d\n",c);
//    return 0;
//}

//接下来学习单目操作符“sizeof”意为 操作数的类型长度(以字节为单位)。
//int main()
//{
//    
//    int arr[10] = { 0 };//先建立一个大小为10的数组
//    int a = 0;
//    printf("%d\n", sizeof(a));
//    printf("%d\n", sizeof(int));//通过打印得知“a”,“int”  大小均为4。
//    printf("%d\n", sizeof(arr));//打印数组的大小,根据数组含有10个整数,猜测大小为40。
//    /*那么我们在得知数组大小的情况下,如何得知数组的元素个数呢 ?*/
//    return 0;
//}

//int main()
//{
//    int szys = 0;/*先设置一个变量,待命用于存储数组元素个数*/
//    int arr[10] = { 0 };//建立一个大小为10的数组
//    printf("%d\n", sizeof(arr));
//    printf("%d\n", sizeof(arr[4]));//打印数组中下标为4的元素的大小。
//    szys = sizeof(arr) / sizeof(arr[4]);//数组元素个数=数组总大小/单个元素大小
//    printf("数组元素个数为:%d\n",szys);
//    return 0;
//}

//今天的最后一个知识点:单目操作符中的逻辑反操作符号----"!",将非0变为0,将0变为1。
//已知c语言中,真为非0,假为0
//int main()
//{
//    int a = 3;
//    printf("%d\n",a);//打印值为3
//    printf("%d\n",!a);//打印值为0
//    return 0;
//}
int main()
{
    int a = 0;
    printf("%d\n", a);//打印值为0
    printf("%d\n", !a);//打印值为1
    return 0;
}
that all

今天的学习到此为止了。。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值