C语言初学者依照自身理解复习知识:第一讲

核心:为什么要学习——解决问题

1.C语言是什么

         C语言是一门服务于人与计算机之间交流的计算机语言,类似的计算机语言有:Java,Go,Python...

程序员通过计算机语言写的程序,对计算机下达指令,解决我们的问题。

2.C语言的可执行文件

        C语言是一门编译型的计算机语言,它的源代码都只是文本文件,我们人看得懂文本,可机器看不懂啊,机器只能看得懂二进制文件,这意味着我们需要通过一定的手段将文本文件转化为可执行程序。

        而这个过程分为两步,我们叫做编译与链接。在编译中使用的工具叫编辑器,在链接中使用的工具叫链接器。

(1)编译:编译器将每个文本文件单独生成相应的目标文件。(.obj作为目标文件后缀)

(2)链接:链接器将所有目标文件统一生成可执行程序。(.exe就是可执行程序文件的后缀)

最终我们得到的这个可执行程序文件是二进制的,这样,我们就可以让机器成功读取我们的命令,执行工作了。

3.编程工具

        常有道:“工欲善其事,必先利其器”,上文提到的编译器和链接器,就是在诸多编程工具之中的两种。常见的C语言编译器还有:微软给出的msvc,苹果的clang....

        但是哈,这边有个编译器,那边又有个链接器,我写个程序就已经很痛苦了,写完还要去挑选用什么,一步一步地把我的文本转化成对应文件,最头痛的是有时这些工具还不一定兼容,到时候竹篮打水一场空,又得重头再来。

        所以呢,为了解决这些杂七杂八的事情,我们的主角——集成开发环境(IDE)就应运而生,它里面把所有你要用到的工具都装在一起,管你什么编译器,链接器,调试器.....No problem! 我这里面什么都有,妈妈再也不用担心我去浪费时间选工具了!

值得一提的是,这其中:有微软给的VS,苹果的clang,devc++....题主使用的呢,就是VS2022。

4.VS2022使用原因

        我为什么要使用VS2022呢?————鹏哥讲的。

好吧,答案当然不能如此肤浅,之所以用VS,原因就在于:

                                 1.社区版免费,开玩笑,免费啊兄弟。

                                 2.企业要用,“HR您看,我已经有打工人的自觉了”。

                                 3.默认中文,起码不用操心语言。

                                 4.一键安装即可食用,不用再对环境动手动脚。

缺点:占用空间多(只要您不是C盘战神,孩子是一定能打赢复活赛的!

5.C语言中基础概念介绍

写程序前:

        项目(工程):与平日使用的意思相同。我们VS中编程写代码就要在项目中写,里面能包含很多文件。

        头文件:    .h 为后缀。

        源文件:    .c 为后缀。

写程序中:

        main函数(主函数):所有程序的唯一入口,程序执行最开始的地方。一个项目有且只有一个主函数!!!


例:梦开始的程序

#include <stdio.h>
int main()
{
    printf("我爱中国");

    return 0;
}

在这个程序中,int 表示结尾要返回一个整型类型的值(我们暂且理解为整数类型),与最后一行的 return 0 相呼应;

printf 正如字面意思,就是用来打印出我们输入的 “我爱中国” 。只要把想输入的字,放在   "  "  (英文双引号)之中就可以了。

写程序中的易错点

                    1. 一定要用英文输入法来打程序!!(虽然有的东西中文也可以打,但是你也不想那么麻烦对吧,为了避免报错,用英文打)

                    2. main 不要敲成 mian;

                    3. int main 之后的小括号不要漏(小括号中没有内容,此处单指一般写法)!

                    4. 中间每一句代码敲完,一定要打英语分号结尾!!


库函数与关键字

        从水下第一个生命的萌芽开始....到石器时代的巨型野兽.....您已经历许多...

        咳咳,C语言最初开发只是为了一个叫UNIX的系统用的,写的特别简单,后面谁知道,这个语言竟然火了,用的人越来越多,但是随之而来,人们使用的需求也越来越广,原先使用的语言已经无法满足这些需求了,每个程序员就要从底层开始编写逻辑,(相当于数学做题,你每次要先用公理把诸多性质先证一遍,真的很爽)。

        为了避免这个麻烦,C语言的开发商就规定了一组函数,把它们交给不同的编译器厂商自己去编,这些函数形成了函数库,这里面的函数就叫库函数(有点绕),但是,编译器厂商会夹带私货(额外拓展函数),有的库函数可能在其他编译器不提供。库函数要想使用,要在使用之前包含头文件(.h),格式就是:#include <    .h>      。

        既然库函数是外来的,关键字就是原本的了。

        关键字就是C语言保留名字的符号,也叫保留字。祖宗之法不可变,所以在自己创建标识符的时候,名字不能与关键字重复的!当然,都是祖宗之法了,自己当然也是不能创建关键字滴。(ps:无论是库函数还是关键字,都可以自己去查)

字符与ASCII编码

        字符,我的理解就是占一个输出格的东西(平常的如一个数字,字母,标点;有些是不可见的,如空格),由于计算机储存数据依靠的是数字,还是二进制;因此我们就需要去用二进制数字指定对应的字符。

        但话又说回来,要对应一堆字符,就先要定个标准。如果你这边搞个标准,他那边又有一套标准,全世界混一起不乱套了吗?所以美国国家标准学会就使用ASCII当作标准,C语言就依照这个标准。

        ASCII码就像字典,要用就查,不过一些特殊的值还是可以记忆方便敲出来:

                                                        大写字母A~Z : 65——90;

                                                        小写字母a~z : 97——122;(每个小写字母与大写字母相差32)

                                                        数字0~9:48——57;

                                                        前32个数字是不可打印的:0——31

字符串:在 "    " (英文双引号)中的内容,字符串的末尾会隐藏   \0   。

转义字符:以 \ (斜杠)为开头的字符,如  \0   (当然,不是 \ 后加任何东西都是转义字符,但转义字符前面是加 \ 的

                                                例: \n   换行;

                                                        \a    警报;

                                                        \123  八进制数字;

                                                        \x12  十六进制数字;

                注:        想打印标点符号时,如在   两个双引号 中间打印 双引号————     "     "     "——此时就可以使用 \" 来防止报错,因为双引号只会识别最近的双引号。

语句:就是写程序过程中,表达一个步骤的句子,如:        printf("  ") ;这就是一条语句

        在此不对语句的内容做过多阐述,因为比起记这种东西,你会用所学知识打出代码解决问题就可以了,不必打完代码说“这是xx语句”

注释:解释代码什么意思,在注释中的内容不会被当作代码读取。

第一种表示方法:        /*               */                        以 /* 开头,*/ 结尾

注:这种注释方法可以 注释一段的内容,但是不能嵌套;也就是说,/* 遇到第一个*/ 就会把这两个中间的内容当作注释。

实例:

int main()
{

/*我家大门常打开

        /*北京欢迎你
        
        有梦想谁都了不起*/

            在黄土地刷新成绩*/


    return 0;

}

在这一段中,“在黄土地刷新成绩”就不会被注释掉,因为第一个 /* 已经遇到了第一个 */

第二种表示方法:    //           在需要被注释内容前加上 //  即可


int main()
{

    迎接另一个晨曦,带来全新空气;
    
    岁月难忘青春笑容 //茶香飘满情谊

    我家大门常打开,开怀拥抱等你    

    return 0;
}

在这里, // 只注释掉了 它后面处于同一行的“茶香飘满情谊”,其他地方不动。

(这是第一讲的内容复习,有些地方自己改动了,因为占位符等内容可以后面再讲,这里提冗余了。)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值