初识_C语言小结

计算机语言的发展:人与计算机之间进行交流的语言,从低级语言到高级语言。

首先,机器语言:计算机通电后,计算机对电信号进行存储,由于正电负电之分产生1和0,计算机存储的是1和0的字符串,编程时输入的是二进制语言;其次,汇编语言:将二进制语言封装成助记符,在编程时只需写助记符;现在,高级语言:C语言、Python、Java等

计算机的内存单元:bit:比特,存放一个二进制数,0或1;byte:字节,1 byte = 8 bit

1 kb=1024 byte;1 mb = 1024 kb;1 gb = 1024 mb;1 tb = 1024 gb;1 pb = 1024 tb; 

#include <stdio.h>

int main()

{

        return 0;

}

#include <stdio.h> :stdio:standand input output,C语言提供的头文件,文件内含有C语言提供的输 入输出函数:scanf、printf

int main():main函数,整个程序的入口,整个项目中必须有且只能有一个main函数;int:main函 数在调用后返回的是整型数据

{}:整个实现某功能的代码块

return 0:返回整型0

数据或字符在计算机中都是以二进制的形式存储的,即ASCLL表

数据类型:char、short、int、long、long long、float、double

不同的数据类型更节省、更高效的使用内存

变量:局部变量:定义在代码块之内的变量。作用域:所属代码块之内的范围

           全局变量:定义在代码块之外的变量。作用域:整个项目,同一个文件夹

 注:全局变量名与局部变量名不能相同,如果相同的话,局部变量优于全局变量

         全局变量在同一个文件夹不同的源文件中引用:extern 变量类型 变量名

常量:字面类型的常量:直接写出来的,如3.14

            const修饰的常变量:const 数据类型 变量名 = 值,如:const int num = 2;

            define定义的标识符常量:define 标识符 值,如:#define MAX 10;

            枚举常量:一一列举,enum 

注:const修饰的常变量本质上还是变量,不过具有了常属性

        const int num1 = 5; int arr1[num1] = {0};-->不成立;

        #define num2 = 5;  int arr2[num2] = {0}-->成立

        enum Sex { Female,Male,Secret };其中的Female、Male、Secret是常量       

        enum定义时:enum Sex sex = Female;定义的sex可以修改

字符串:通过 "" 引起来的一串字符 ,"abc"

              char arr1[] = {"abc"}; "abc": 'a' 'b' 'c' '\0' ,'\0'是这个字符串的结束标志,arr1长度为4

              char arr2[] = {'a', 'b', 'c'}; 没有结束标志'\0',在内存中数到 '\0'为止,arr2长度是随机值

注:'\0'仅仅是一个字符串结束的标志,计算长度时并不会把它计入

        '\0':转义字符,作为字符串结束的标志,对应ASCLL中0;字符0:对应ASCLL中的48

转义字符:'\'用来转移其他字符。如:\'  、\''  、\n  、\\  、\t

                   \ddd: ddd表示1~3个八进制的数 ;\xdd: dd表示1~2个十六进制的数

操作符:移位操作符:该数所对应的二进制数向左或向右移动,空出来的用0来补全

               位操作符:两个数的二进制对应位:与&:全一则一;或|:有一则一;

                                 异或^:相同为0,相异为1

                单目、双目、三目操作符:参与该运算的数据个数

                逻辑操作符:0为假,非0为真;逻辑与:&&,全真则真;逻辑或:||,有真则真

               下标引用操作符:[]

                函数调用操作符:()

                取地址操作符:&

                计算所占内存字节:sizeof

                自增(减):++(--),a++:后置++,先执行表达式,后自增;

                                        ++a:先自增,后执行表达式

                强制类型转换 :(类型)数据,如:(int)3.14

                按位取反:~, 按二进制位进行取反。数据在内存中存的都是它的补码

                                 数据对应的二进制序列最高位表示符号,0表示正数、1表示负数

                                 正数:原码=反码=补码

                                 负数:原码:二进制序列;反码:符号位不变,其他取反;补码:反码+1

                条件表达式:exp1 ? exp2 : exp3;

                                      exp1为真时,执行exp2;exp1为假时,执行exp3

关键字:auto:自动变量,auto int num = 2;自动创建,自动销毁;通常省略

              register:寄存器变量,建议把变量存储到寄存器中

              signed、unsigned:定义的变量有正负之分;通常省略

              union:联合体

              typedef:“改名卡” ,如:typedef unsigned int u_int; u_int a = 1;

              static:修饰局部变量,局部变量生命周期变长

                        修饰全局变量,全局变量只能在所在的源文件中使用

                        修饰函数,函数的外部链接属性改变,只能在定义它的源文件中使用

               define:define定义标识符常量

                            define定义宏,#define Max(x,y) (x>y?x:y);

指针:存放变量的地址。int* p = &a; : int*的 * 表示p是指针变量;int:p所指向的变量的数据类型

          *p = 20:* 是解引用的操作符;*p:通过指针找到其所指的对象,相当于替身,替身改变,                           本体也变

           指针变量所占的内存只与操作系统(32位或64位)相关,与其所指的对象数据类型无关

结构体:struct,相当于自定义的数据类型

               struct Book {

                        char name[20];

                        int price;

                };

                struct Book b1 ={"C语言程序设计", 50};

                printf("书名为: %s;价钱为:%d\n", b1.name,b1.price);

                利用指针:struct Book* pb = &b1;

                printf("书名为: %s;价钱为:%d\n", pb->name,pb->price);

          

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值