栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言学习记录2022.5.14

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言学习记录2022.5.14

1、关于按位取反操作符“~”的说明:

//由于计算机在存储负数的时候内存中是以补码的形式存储的,所以
//以下例子与常识不一样
int main()
{
    int a = 0;
    int b = ~a;
    printf("%dn", b);       //在打印按位取反的a即b时,并不是常识中            
                             //00000000000000000000000000000000变为
                             //11111111111111111111111111111111即2^32
                             //而是-1
                             //因为此时计算机内存中存储的32位“1”是以补码的形式存储的
                             //而打印的是原码,要求出原码需经过“补码-1再除了最高位符号位不变取反”
                             //即补码11111111111111111111111111111111
                             //反码11111111111111111111111111111110
                             //原码10000000000000000000000000000001
                             //原码转为十进制就是-1
    return 0;
}

2、关于强制类型转换:

int main()
{
    int a = 3.14;

    return 0;            //此时编译器会出现一个警告,因为3.14是double类型的,int为整型
                         //如果想消除这个警告则要进行强制类型转换,即int a = (int)3.14;
}

3、逻辑与“&&”和按位与“&”要分清,逻辑或“||”和按位或“|”也要分清。

4、“a? b : c”称为三目操作符或条件操作符,此操作符的运行规则是,如果a为真那么表达式的值为b;如果a为假,那么表达式的值为c。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/883205.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号