• 【C语言从入门到入土】第二章初识


    第二章 初识

    1.代码编译工具

    配置环境变量———-目的是命令终端中的任意文件夹能识别gcc指令

    安装gcc工具———–mingw—下载地址(http://www.mingw-w64.org/doku.php)

    博客参考:https://blog.csdn.net/Leo_LiangXuYuan/article/details/86763735

    使用

    1. 打开命令终端cmd

    2. cd指令跳到代码文件夹

    3. 编译和运行,-o选项,指定生成的程序名字

    4. gcc test.c -o pro
      指令 c文件 生成选项 新程序名字(a.exe)

    5. gcc test.c -g 让你的程序变成可调试(不需要了解那么深了,一般在程序崩的莫名其妙,不知道哪里出了问题可以试一试)

    6. gdb a.exe 之后输入 r 进入待运行状态(之后再运行就可以看到是哪里出现了问题了)

    7. 退出的话输入 q(quit),然后y(yes确认)

      ipconfig(打开局域网配置)

    2.c程序的基础框架

    “最小组成”,写代码前先敲好

    #include 	//编译预处理指令
    int main()			//程序的入口主函数main
    {
        /***你要写的代码*************
        ***********************/
        return 0;		//程序退出前返回给调用者(操作系统)的值
        				//程序(函数,功能)结束标志
    }
    

    3.数据的表现形式

    变量

    1.要先定义后使用(变量名的定义是由自己决定的,一般倾向于顾文生义)

    int a = 3;
    int b ;
    b=a+1;
    

    请添加图片描述

    一个内存空间就像一个蜂巢快递柜一样,里面的快件会变,就像内存的数据会变一样,所以叫做变量

    在这里插入图片描述

    2.那么如何命名变量名,以及命名规则

    1.由字母数字下划线组成,且只能以下划线或者字母开头,不能以数字开头

    int a
    int data
    int Mydata
    int _mydata
    int mydata
    int 1data   错误
    

    2.顾名思义,一看就可以知道是什么意思,这个要考验你的英语水平了哈哈哈哈!不会就写拼音吧,注意要区分大小写

    在这里插入图片描述

    3.驼峰命名法

    int secondsPerYear
    int yiNianDuoShaoMiao
    SecondsPerYear
    second_Per_Year
    _myMarkData
    

    总之总之,比你直接int a;可强太多了

    3.数据类型

    在这里插入图片描述

    计算机在内存中的存储方式是补码。

    原码:符号位加上真值的绝对值,用最高位(第一位)来表示符号位,其余表示数值
    反码:正数的反码是其本身,负数的反码是在其符号位不变的前提下,其余按位取反
    补码:正数的补码是其本身,负数的补码是在反码的基础上+1
    

    在这里插入图片描述

    3.1整型数

    整数,,,int data = 10,

    4个字节(一个字节8位,一共32位)c51(2) 65535 int a = 1000000; for

    3.2字符型,,ASCII码

    char data3 = ‘c’,1个字节,8bit,必须是单字符‘ ‘

    在这里插入图片描述

    3.3浮点类型(小数)

    float data2 = 3.2,,,,,,,4个字节,,,,,32bit

    3.4 变量的存储类型
    1.static

    static变量称为静态存储类型的变量,既可以在函数体内,也可以在函数体外说明情况。(默认为0)

    局部变量使用static修饰有以下特点:

    • 在内存中以固定地址存放,而不是以堆栈形式存放
    • 只要程序还没有结束,就不会随着说明他的程序段的约束而消失,他下次再调用该函数,该存储类型的变量不会重新说明,而且还保留上次调用存储。
    2.extern

    当变量在一个文件中的函数体外说明,所有其他文件中的函数或程序段都可引用这个变量(类似于模块化编程)

    extern称为外部参照引用型,使用extern说明的变量是想引用在其他文件的中函数体外外部声明的变量。

    static修饰的全部变量,其他文件无法使用。

    4.强制转换

    在前面加上(float)

    例子:当两个数相除不能够整除时,需要进行强制转换,来得到后面的小数

    /*****无强制转换********/
    #include
    int main()
    {
        int a =10;
        int b =3;
        float c;
        c =a/b;
        printf("%f",c);
        return 0;
    }
    /******做强制转换*******/
    #include
    int main()
    {
        int a =10;
        int b =3;
        float c;
        c =(float)a/b;
        printf("%f",c);
        return 0;
    }
    

    如果不做强制转换
    会自动把小数点后面的省略

    在这里插入图片描述

    做完强制转换之后,完美!!!

    在这里插入图片描述

    常量

    1.整型常量

    常量是指在程序运行期间其数值不发生变化的数据。整型常量通常简称为整数。

    整数可以是十进制,也可以是八进制,十六进制。例如:

    十进制:15
    八进制:21
    
    • 在程序运行过程中,其值不能改变

    • 符号常量 #define PI 3.14 (宏定义)

    转义字符

    在这里插入图片描述

    介绍几个概念

    C 语言自加 ++ / 自减 -- 运算符实际就是对变量本身做 +1 或者 -1 操作

    1.自加自减运算符

    (自加自减运算符均为单目运算)

    1.只需要一个运算量。若运算符位于运算对象前面时,称为前缀运算,如++a和 - -a;

    2.而运算符位于运算对象后面时,称为后缀运算符,如a++和a- -,自加和自减运算符的功能是将运算对象加1或减1后,再将结果保存到运算对象中。

    前缀和后缀运算分别等价的运算如下:

    前缀:a=2,b=3,b=++a;等价于a=a+1;b=a运算结果:a=3,b=3;
    后缀:a=2,b=3,b=a++;等价于b=a,a=a+1运算结果:a=3,b=2;

    a--		//每一次减1
    a++		//每次自加1
    
    #include 
    int main(){
        int a =5;
        int b =6;
        printf("a=%d,b=%d\n",a,b);
        a++;
    	b--;
        printf("a=%d,b=%d\n",a,b);
    	++a;
    	--b;
        printf("a=%d,b=%d\n",a,b);
        a=a+5;
    	b=b-3;
        printf("a=%d,b=%d\n",a,b);
    	
        return 0;
    }
    

    2.三目运算符

    z = x>y?x:y 这句话的意思是,,x是否大于y,打个问号,如果是的话等于x,不是的话等y

    4.输入输出

    4.1printf–打印

    输出表列中,,可以是数据类型,可以是一个表达式。

    在这里插入图片描述

    格式声明

    1.原样输出,,printf(“hello,world”);

    2.%占位符/格式字符——printf(“a=%d”,a);

    在这里插入图片描述

    d十进制整数
    c单个字符,输出一个字母
    s多个字符
    x以16进制格式输出
    p一般打印内存地址,也是16进制格式输出,输出地址,取变量地址的运算符号&

    f————-重要的一个;

    在这里插入图片描述

    指定位数

    在这里插入图片描述

    在这里插入图片描述

    %-m.nf

    指定位数

    在这里插入图片描述

    以下了解即可

    在这里插入图片描述

    在这里插入图片描述

    4.2 scanf /扫描键盘

    !!!注意有坑,,
    在这里插入图片描述

    需要注意的地方

    1.地址符号&,,不要忘记

    在这里插入图片描述

    也可以分开,3个变量,就3个scanf

    2.原样输入

    在这里插入图片描述

    scanf格式中有什么字符,输入的时候也要输入!!!!!!!!!!比较坑爹的地方就是这里,设想一下如果我们不是写这段代码的人我们又怎么知道,需要原样的输入是什么呢,解决办法就是去掉。。直接%f%f%f

    3.注意字符

    在这里插入图片描述

    4.混合输入,,,,,,,,,主要还是了解输入控制流程

    在这里插入图片描述

    !!!!!!!!!!!!!!涨知识的时候

    在这里插入图片描述

    在这里插入图片描述

    5.其他

    getchar();吸收空格符

    putchar();

    puts();

    gets();//会涉及数组,,,后面再说

    后面的事后面再聊,,,恭喜你已经对C语言有了初步的认识,开启对下一章流程控制的认知

    一个人如果总是太过于在乎他人的评价,就会失去自己。人生最怕的事之一就是把别人的眼光当成自己生活的唯一标准。到最后,既没有活成自己喜欢的样子,也没有活成自己想要的样子。

    学会取悦自己,丰富自己,在努力的路上,美好才会回过头来拥抱你。与其总是感觉时间不够用,不如和时间做朋友,尽全力过好每一天。多点圆满,少些遗憾。

    6.结语:编程案例——了解为主

    在这里插入图片描述

    不要看案例程序,,独立自主编写哈哈哈哈哈哈

    在这里插入图片描述

    如果不加getchar();吸收一下回车符的话,输入完一个字母之后直接跳完程序,,,,以下为改进

    在这里插入图片描述

    输入两个数,获得两个数加减乘除的值

    在这里插入图片描述

    编译一个密码

    printf函数会了,putchar不会用…………

    在这里插入图片描述
    在这里插入图片描述


  • 相关阅读:
    C#【委托/事件篇】跨线程访问窗体控件的方法
    18张图,直观理解神经网络、流形和拓扑
    OpenNebula的配置与应用(二)
    Linux环境下省时省力的线程池代码分享
    1.http和https
    C语言可执行程序到底怎样生成?
    【html5期末大作业】基于HTML+CSS+JavaScript管理系统页面模板
    Linux磁盘分区命令行工具大比拼,你该选哪个?
    JavaEE初阶-网络编程
    最新发布!阿里云卓越架构框架重磅升级
  • 原文地址:https://blog.csdn.net/v13111329954/article/details/139445629