C学习笔记3

1、将一个整数转换成二进制形式,就是其原码。(通俗的理解,原码就是一个整数本来的二进制形式。)

例如short a = 6;a 的原码就是0000 0000 0000 0110

2、反码就区分正负数,因为正负数的反码是不一样的,正数的反码就是原码

例如short a = 6;a 的原码和反码都是0000 0000 0000 0110

负数的反码就不一样了,负数的反码就是在二进制的情况下,符号位不变,其余数据位取反(0和1互换)后,再转换成对应的数据类型

例如short a =-6;a 的原码就是1000 0000 0000 0110,a的反码都是0111 1111 1111 1001

3、正数和负数的补码也不一样,也要区别对待。

       原码------>反码:符号位不变,其他位取反 ;比如 [1000 0001]原 =  [1111 1110]反

  原码------>补码:符号位不变,其他位取反,然后+1;比如 [1000 0001]原 =  [1111 1111]补

   反码------->原码:符号位不变,其他位取反;比如 [1111 1110]反 =  [1000 0001]原

  反码------->补码:+1  ;比如 [1111 1110]反 =  [1111 1111]补

  补码------->原码:符号位不变,其他位取反,然后+1;比如 [1111 1111]补 = [1000 0001]原  

  补码--------->反码:先变为原码,然后变反码;比如 [1111 1111]补 =[1111 1110]反

 4、short、int、long 是C语言中常用的三种整数类型,分别称为短整型、整型、长整型。

5、在操作系统中,short、int、long 的长度分别是 2、4、4 或 8,它们只能存储有限的数值,当数值过大或者过小时,超出的部分会被直接截掉,数值就不能正确存储,我们将这种现象称为溢出。

6、数据的溢出就是超出数据的表示范围。

7、以 unsigned char 类型为例,它的长度是 1字节,占用 8 位的内存,所有位都置为 1 时,它的值为 2的8次方- 1 = 255,所有位都置为 0 时,它的值很显然为 0。由此可得,unsigned char 类型的取值范围是 0~255。

 8、在数据的初始化和赋初值的过程中就需要注意取值范围,会不会造成数据的溢出,如果内存足够多的情况下,可以使用大的数据类型,这样需要注意的也就是有符号和无符号了。

9、变量由英文字母,数字下划线组成,首字母不能是数字,同时区分大小写

10、一般情况变量名小写,变量的数据是可以改变的

比如:int number1=268;//这个268是可以随时改变的,可以改成355,也可以改成其余数。

11、常量的名字一般为大写,常量的数值一般不进行改变,,但是是可以进行人为改变的。

比如:#include PI  3.1415926(需要注意的是常量的宏定义的结尾不用分号)

12、标识符的\0代表着字符串的结束符号

比如:char  string1="abcd is my like  number \0"  //这里的\0代表字符串的结束,方便告知内存需要开辟这么多个字节的空间用来存放这些数据,不然内存一直当作是字符串把其余的数据当作字符串的类型给用了。(输入的字符串需要做到有始有终)

13、在程序运行过程中,值不能被改变的量叫常量

 14、e的后面必须是整数(正数和负数),不能是小数

15、C语言的3种结构(顺序结构、选择结构、循环结构)

16、选择结构(if+switch)

17、循环结构(while、for、do while)

18、if(表达式1)

        语句1;     //如果表达式1成立,则执行语句1,如果表达式1不成立,则什么都不执行

19、if(表达式1)

       语句1;

       else

       语句2;   //如果表达式1成立,则执行语句1,如果表达式1不成立,则执行语句2

20、if(表达式1)

       语句1;      //  当语句1里面有多条语句的时候。需要用括号括起来

       else  if (表达式2)

       语句2;

       else

       语句3; //如果表达式1成立,则执行语句1,如果表达式2成立,则执行语句2, 如果表达式2不成立,则执行语句3,这里的3个语句只能有1个被执行,且有先后顺序,必须先判断语句1,语句1判断后才能判断语句2,语句2判断结束才轮到语句3

21、  数字0表示假,非0表示真

22、代码块等同于多条语句的集合,简单的来说就是 { } 的集合

23、else 和最近的 if 进行匹配

24、用程序判断不同年龄段的人

#include <stdio.h>
#include <stdlib.h>

int main()
{
    printf("Hello world!\n\n");
    printf("请输入您的年龄:\n");
    int age;
    scanf ("%d",&age);
    printf("您的年龄是:%d 岁\n",age);
    if(age<18)
        printf("您是未成年!\n");
    else if (age<=30 && age>=18)
        printf("您是青年!\n");
    else if (age<=60 && age>30)
        printf("您是中年!\n");
    else
        printf("您是老年人!\n");
    return 0;
}

25、判断1到100之间的奇数并输出

#include <stdio.h>
#include <stdlib.h>
int main()
{
    printf("Hello world!\n\n");
    int number=1;
    while (number<=100)
    {
      if(number%2==1)
        printf("%d ",number);
        number++;
    }
   return 0;

26、switch专门用作分支语句,常用于多分支的情况。

27、switch(表达式) 表达式必须为整形表达式

28、break和continue的区别:

      break: 遇到 break 就停止后面的所有循环,相当于直接终止循环。(用于永久终止while循环)

      continue:用于终止本次循环,本次循环中的 continue 后边的代码不会再执行,直接跳转到                             while的语句判断的部分,进行下一次循环的入口判断

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值