C语言初识2

一、关于规范化代码问题 提高代码的可移植性:找vs文件安装路径,commom/idevc/vcprojectltems再找newc++file文件修改

二、常量变量:字面常量;

                        const-常属性 让变量变成常变量(本质还是变量只是不变);

                        #define定义的标识符常量

                        枚举常量 一一列举 枚举关键--enum main函数里面要定义个新的变量;

枚举常量不能改 且从上到下自0开始

 三、字符串:由双引号引起来的一串字符成为字符串字面值,简称字符串。技术标志是一个\0的转义字符,在计算字符串长度的时候算结束标志不算内容。

        strlen-string length-就散字符串长度的(没有\0的得到的会是随机值)

 四、转义字符:转变原来的意思  

        

\?        在书写连续多个问号时使用,防止他们被解析成三字母词

\ddd        ddd表示1-3个八进制的数字。如\130X 如\32 -》十进制为26 对应的ASCII码值代表字符

\xdd dd表示2个十六进制数字。如\x30 0

\0 ASCII码值-数字0   ‘0’字符0 -48

 五、注释:/*C语言的注释风格(缺点是不能嵌套注释 不管前面几个/*只要遇到一个*/就会停止)

            //c++的注释风格但是C语言也可以用

                vs ctrl+k+c ctrl+k+u

六、选择语句:如果就

七、循环语句:有些事必须一直做

        while循环

        for

        do while

八、函数

       库函数

        自定义函数

九、数组

        下标的方式访问元素 arr[下标]

        数组是一组相同类型元素的集合

        数组的下标是从0开始

        数组如果初始化,可以不指定数组的大小

        数组的定义括号内需要为常量

        数组名本质上是一个地址

十、操作符

        算数操作符:+ - * / %(取模)

        移(2进制)位操作符:>>右移 <<左移 

                  0001 0010 0000

                左移右自身移值不变

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

                a=3;b=5;

                011 101

                c=a&b =001(0真1假)

                a^b=110 异或的计算规律:对应的二进制位相同,则为0,对应的二进制为相异则为1

                a|b=111 

        赋值操作符:= 赋值        ==判断相等

                                a+=10 等价于a=a+10

                                -= *= ^= &= /=|= >>= <<=

                                复合赋值符

        单(双、三)目操作符:一/二/三个操作数

        单目操作符:

        !        逻辑反操作         a  !a

        -        负值

        +        正值(一般忽略)

        &        取地址

        sizeof :

             操作数的类型长度(以字节为单位)计算的是变量(可以不加括号)/类型所占空间的大小

                计算数组的元素个数:个数=数组总大小/每个元素的大小

                sizeof(arr)/sizeof(arr[0]);

        ~        对一个数的二进制按位取反

                       1010->>0101

                        int a=0;//4个字节 32bit位

                        int b=~a;//b是有符号的整形

                       第一位为符号位0为正1为负-> 0000000000000000000000000000000

                                                                       111111111111111111111111111111111111

                                                                        11111111111111111111111111111111110

                                                                       1000000000000000000000000000001                                             由于正的有符号,整数取反必定是负数,二负数在内存中存储的时候存储的是二进制的补码,而打印是打印一个数的原码,所以要把补码转化为原码再打印出来                        

                        printf("%d\n",b)//使用的,打印的是这个数的原码

        --        前置、后置--

        ++        前置、后置++

                        int a=10;

                        int b=a++;//后置++,先使用,再++:b=10 a=11

                        int b=++a;//前置++,先++,再使用;b=11,a=11

        *        间接访问操作符(解引用操作符)

        (类型)        强制类型转换

                        int a=(int)3.14--->>让double转换为int

        关系操作符

        >

        >=

        <

        <=

        !=                用于测试“不相等”

        ==                用于测试“相等”

        逻辑操作符:

        &&                逻辑与->并且

                int a=3,b=5;

                int c=a&&b=1

        ||                   逻辑或->

        条件操作符:

                exp1 ? exp2 : exp3;(三目操作符)

                如果其中表达式一的结果为真的话,表达式二要执行,表达式二的结果是整个表达式的结果;如果其中表达式一的结果为假的话,表达式三要执行,表达式三的结果是整个表达式的结果;

                int a=10,b=20,max=0;

                max(a>b ? a : b);

        逗号表达式:

                exp1,exp2,exp3,...expN

        下标引用、函数调用和结构成员:

                []        下标引用操作符 arr[]

                ()        函数调用操作符 add()

                .          

                ->

     

        

Tips:C语言中0表示假 非0为真

        EOF-end of file -文件结束标志- ASCII码值-1

        原码、反码、补码:负数在内存中存储的时候,存储的是二进制的补码

                                        只要是整数,内存中存储的都是二进制的补码

                                        正数---原码,反码,补码相同

原码---------------------------------------------反码------------------------------------------------------补码

直接按照正负写出的二进制序列        原码的符号位不变,其他位按位取反得到        反码+1

                                        反码是计算的中间状态

                                        原码符号位不变,其余取反,得到反码,反码+1得到补码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值