C语言基础学习记录

        C语言基础方面的知识有很多,此文章用来记录一下我在学习C语言过程中的理解与思路。话不多说,正文开始。

1.编译工具以及常用命令介绍

        1.1ubuntu

        C语言可以使用很多很多的软件进行编程,但我建议初学者还是在ubuntu虚拟机中使用linux操作系统进行编写代码。主要原因只有两个:开源、功能齐全。

        1.2常用命令

        常用的命令其实不多,安装好linux系统我们要先创建一个文件夹吧,所以引出我们的第一个常用命令:mkdir 文件夹名回车后就在当前文件夹下创建了一个新文件夹了。创建好文件夹我们是不是现在就需要进入文件夹呢?所以第二条命令:cd 文件夹名回车进入文件夹后我们是不是应该想到:该怎么退出当前文件夹呢?还是用我们的cd命令:cd ..来退出。创建学会了下来就是删除:rm -rf文件夹名,会删除文件夹及文件夹下的所有内容。创建文件命令:vim 文件名.c因为我们学习的是C语言基础,所以文件后缀.c。编译文件命令:gcc 文件名。运行:编译完成后会生成一个./a.out文件,直接./a.out就可以运行编译好的代码了。我们也可以使用gcc -o来对文件进行编译并且可以取名。

2.关键字及常量

        关键字分为好几类,我们所使用最多的是存储类型、数据类型、控制语句

        2.1存储类型

       char(1字节)、int(4字节)、float(4字节)、long(4字节32os)(8字节64os)、double(8字节)、short(2字节)、 struct、enum、union、void

        2.2存储类型

        auto、static、extern、register

        auto:修饰的变量存储在栈区,只能修饰局部变量

        static:修饰的变量存储在静态区,即可以修饰全局变量,也可以修饰局部变量,用static修饰的变量叫做静态变量。

        extern:修饰的变量存储在静态区,只能修饰全局变量

        register:修饰的变量存储在寄存器中,只能修饰局部变量

        变量在第三个标题下会讲。

        2.3控制语句

        if、else、switch、case、default、for 、do、while、break、continue、goto

        2.4常量

        2.4.1 字符常量

        ‘a’ ‘A’

        2.4.2 整型常量

        二进制:1010

        八进制:066

        十六进制:0xaf5

        十进制:99,-2

        注意:默认情况下,整形常量为有符号数;

        无符号的int类型:98U

        Long类型:76L

        无符号的长整型:78UL

        2.4.3浮点型常量

        小数:3.14   0.00001   10000(浮点型常量包含整形常量)

        指数:1e+5 == 100000  1e-5 == 0.00001

        2.4.4 字符串常量

        “hello”占几个字节

        ‘h’‘e’‘l’‘l’‘o’‘\0’。

        2.4.5 标识常量(宏)

        宏只是一个单纯的替换!

        #define  宏名  表达式

        注意:1、宏名一般用大写,为了和普通的变量区分开来吗,当然小写也可以

                   2、宏后没有分号

 3.变量以及运算符

        3.1定义一个变量

        存储类型 +数据类型 +变量名;例:auto int a。存储类型决定开辟空间的位置,数据类型决定开辟空间的大小,变量名决定开辟的空间名。

        3.2局部变量和全局变量

        局部变量:定义在函数(任何)体内的变量

        全局变量:定义在函数(任何)体外的变量

        3.3变量的初始化

        初始化:定义变量的时候就给他一个初始值!1.Int a = 10; //初始化

                                                                                2.Int a;  a = 10;//赋值

        1.全局变量如果没有初始化值为0;

        2.局部变量没有初始化置为随机值。

        3.4运算符

                3.4.1算术运算符

        +、-、*、/、++、--、%

        注意:%不能用于浮点数

        ++在前:先自加,在赋值

        ++在后:先赋值,在自加

        注意:如果++a和a++单独成立一条语句,那么都相当于给a+1。

                3.4.2关系运算符

        >  <   >=  <=  ==   !=

                3.4.3逻辑运算符

        &&、||、!

        &&:

        表达式1  && 表达式2

        截断法则:有一个为假,结果就为假,前一个为假,后面就不在进行运算了

                3.4.4sizeof运算符

        计算变量或数据类型开辟的内存空间大小。

                3.4.5三目运算符

        表达式1 ? 表达式2 :表达式3

        先去判断表达式1是否成立,如果成立,就将表达式2的值作为整个表达式的值,如果表达式1不成立,则将表达式3的值作为整个表达式的值。

                3.4.6逗号运算符

        表达式1,表达式2,表达式3,表达式4,.........,表达式n

        从左往右依次去计算每个表达式的值,最后,将表达式n的值作为整个表达式的值

4.输入输出

        函数:具有独立功能的模块

        标准输入输出函数:scanf、printf(对变量的类型没有限制)

        输入:从键盘拷贝数据到内存中

        输出:将内存中的数据拷贝到终端

        4.1输出

        printf(“格式控制串”,输出表);

        格式控制串:原样输出的内容 + 格式化符

        输出表:输出的内容

        注意:输出的内容要和格式化符一一对应!!!

        整型:

        %d:十进制的整数

        %o:八进制     

        %x  %X:十六进制

        #:自动在八进制和十六进制前加上前缀

        %u:以无符号的整型

        %hd:short类型

        %ld:long类型

        浮点型:

        %f:float类型

        %lf:double类型

        %g:选择小数和指数中比较合适的一种情况进行输出

        %e:指数形式

        .nf:保留小数点后n为进行输出

        %m.nf

        m:指定我们输出的域宽,默认(m>0)右对齐,m的值大于数据的实际长度时,左边补空格,m的值小于数据的实际长度时,原样输出!(反之:m<0----左对齐:右边补空格)

        4.2输入

        scanf(“格式控制串”,地址表);

        格式控制串:原样输入的内容+格式化符

        地址表:&+变量名(你要给哪片空间去输入)

        1.scanf的格式控制串中,不要去加多余的修饰语,如果要加,原样输入

        2.如果输入“%d%d”时要给多个变量进行赋值,在格式控制串之间没有多余的修饰语时,以空格,回车,tab作为第一个变量输入结束的标志

        3.全部输入结束后,必须以回车作为结束符

        4.如果是“%c%c”时,在输入时,不能有空格回车tab键,因为空格回车tab也是字符;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值