您的位置:首页 > 编程语言 > C语言/C++

【全网最强C语言学习】C语言入门篇(主线)——初识C语言①

2021-10-16 16:22 1001 查看

✨前言✨

        作为一个小白说出标题这样的话看来是有些大言不惭,但博主有心将这个系列做好、做精。实话说博主学习C语言不过两个多月,也很能明白初学者的困惑,所以会尽肯能详细。同时作为一个系统的教程,这个系列会持续推新的,所以关注博主🍻,在学习C语言的路上结伴前行吧!

🐱‍💻作者概况:  就读南京邮电大学努力学习的大一小伙

🐱‍🐉联系方式:2879377052(QQ小号)             [有问题欢迎留言讨论,作者尽力帮忙]✨

🐱‍👤资源推荐:C语言从入门到进阶

🐱‍🚀今日书籍分享:《高质量的c++编程》                                                   提取码:CSDN

🐱‍👓gitee码云链接: Gitee仓库 test

目录

一、工具的选择🎏

二、工具的下载安装🎍

三、如何学习一门语言🕵️‍♂️

四、创建第一个.c文件🎑

五、写下第一段代码🎉

知识点1:main函数

知识点2:库函数

知识点3:int——数据类型

①为什么有类型

②类型的大小

③类型的意义

后记

 一、工具的选择🎏

工欲善其事,必先利其器。相信我,选择VS不会错(推荐版本2013~2019)。

①为什么不选VC6.0?这个编译器是98年的软件,老旧且兼容性差。

②为什么不选Dev c++?这个软件十多年前就停止更新了,敲出的代码不美观,不利于好的代码风格的形成

③为什么不选CodeBlock?不主流,需要配置,不适合初学者

④为什么不选VSCode?需要配置环境,不适合初学者

 VS提供的错误检查和格式缩进对新手很友好🤗

二、工具的下载安装🎍

视频肯定比博文讲的清楚,实践性也更强

VS2019安装教程                VS2013安装教程

三、如何学习一门语言🕵️‍♂️

        作者当然没有资格对这一问题下定断言,只是提供作者这两个月以来的学习经验,帮助新手少走弯路

🌕上课篇:如果是选择视频学习的,不要死揪着不懂的地方,要跟上老师的上课思路。刚开始学肯定都会有很多疑问,但之后肯定都会讲到。所以上课要先试着接受老师所讲的知识

🌕笔记篇:如果说老师讲的知识都在课件上或书本上的话,上课不要急于记笔记,而是在草稿本上记下上课的思路。如果能照着上课思路写成博文那说明掌握的很好,所以也可以说把CSDN当成笔记本来用🤣。同时推荐一些做笔记的软件:有道云笔记    Xmind    印象笔记

🌕实战篇:1.代码一定要敲(敲重点啦),体验自己成功写出代码的快乐。2.看待代码有三个层次——看代码是代码(小白),看代码是内存(高手),看代码是代码(大佬)。所以在学习时要主动加深对内存的理解。3.遇到问题要学会调试(之后会专门提到)——程序员的必修课。

四、创建第一个.c文件🎑

 

至此文件已经创建好了。 

(解决方案资源管理器在这里) 

[相信你对上面没提到的细节有些疑惑,但还是那句话,先接受现有的知识,其他的以后都会懂🙂]

五、写下第一段代码🎉

按下ctrl+fn+f5(或者Ctrl+f5)可以在屏幕上打印hello world。现在我们从三个方面解释这段代码:

知识点1:main函数

✨特点:main函数为函数入口,有且只有一个,即在一个工程下即使有多个文件也只可以有一个main函数,试想一个文件如果有多个入口那到底从哪里进去呢?

✨规范性:1.这里int不写虽然系统默认返回类型为int,但是作为优秀的程序员们,我们要力                       求规范

                   2.return不写虽然也不会报错,但还是上面提到的规范规范问题

知识点2:库函数

✨是什么:库函数是 C语言提供的,使用的时候只需要引用即可。引用的方式是#include< xx.h >这里的printf所对应的库函数位于stdio头文件下,引用这个头文件就可以使用printf函数了

接下来我们认识一下学习到的第二个函数printf 

 printf函数功能是是将特定格式的数据输出到屏幕上,没有加格式就原封不动的打印

控制符说明
%d按十进制整型数据的实际长度输出。
%ld输出长整型数据。
%mdm 为指定的输出字段的宽度。如果数据的位数小于 m,则左端补以空格,若大于 m,则按实际位数输出。
%u输出无符号整型(unsigned)。输出无符号整型时也可以用 %d,这时是将无符号转换成有符号数,然后输出。但编程的时候最好不要这么写,因为这样要进行一次转换,使 CPU 多做一次无用功。
%c用来输出一个字符。
%f用来输出实数,包括单精度和双精度,以小数形式输出。不指定字段宽度,由系统自动指定,整数部分全部输出,小数部分输出 6 位,超过 6 位的四舍五入。
%.mf输出实数时小数点后保留 m 位,注意 m 前面有个点。
%o以八进制整数形式输出,这个就用得很少了,了解一下就行了。
%s用来输出字符串。用 %s 输出字符串同前面直接输出字符串是一样的。但是此时要先定义字符数组或字符指针存储或指向字符串,这个稍后再讲。
%x以十六进制形式输出整数

我们实践一下加深理解:具体结果请大家实践操作

int main()//\n表示换行,即切换到下一行
{
char a = 'b';    //char表示字符类型,‘’单引号内放一个字符。
int b = 1000;     //int表示整数
long  c = 100000;//长整形
float d = 3.14f; //没有f 3.14默认是double类型,将double类型的数据放入float不妥
double e = 3.14;
char str[] = "bit";//字符串之后会细讲
printf("%c\n",a);
printf("%d\n", b);
printf("%ld\n", c);
printf("%f\n", d);
printf("%lf\n", e);//注意区分“1”和“l(L)”
printf("%s\n", str);
printf("%3d\n",b);//演示md效果,只打印前三位
printf("%.1f",d);//演示只打印小数点后一位
printf("c=%c");//演示没有格式的打印
return 0;
}

知识点3:int——数据类型

这个int是什么东西,有什么用呢?🤔

🌛是什么:int表示是一种数据类型

前面说过main是一个函数,函数前面加类型表示这个函数的返回值(函数的知识之后会讲)

 这里重点讲一下数据类型

【short=short int         long =long int   (在这里int被省略了没写而已)】 

 ①为什么有类型

试想一下我们描述超市里的一件商品,总得有名字吧,也总得有编号吧,价格肯定也不能少吧,所以我们怎么可能用一种类型就描绘出所有的内容呢。不同类型代表不同的含义,他们向内存申请的空间可是不同的,这很好理解。现在我们分析一下不同类型的大小。

②类型的大小

我们首先介绍一个关键字sizeof(他也是一个运算符。敲重点!!!sizeof不是函数,也不能认为关键字和运算符一样),他的作用是返回某个类型的大小。

 认识了sizeof之后我们用他来求各个类型的大小(单为字节B)

🌈 <关于long的大小等于int的理解>C标准只规定了long的大小>=int即可,具体的大小由编译器决定。

🌈常见 计算机单位换算:1B(Byte)=8b(bit)

                                          1Kb=1024B

                                          1Mb=1024Kb

                                          1Gb=1024Mb

🌈之前提到,不同的类型决定了向计算机申请的内存大小,那内存的单位是怎么理解的?

一个b可以看成是一个小格子,一个B则是八个小格子组成。计算机中采用二进制存储,也就是说一个格子可以表达两种信息(0 或者 1,很好理解,计算机是很多“开关”组成的,开关要么开要么关,于是就有了0 1),那么一个B可以表示的信息则有2^8种。

③类型的意义

根据前面提到的我们可以算出1个int大小可以表达的信息有2^32(看成是有序的),而一个short表示的信息有2^16,差别还是很大的。假设我们要存储一个人的年龄,总不会超过四位数吧,用int表示的话岂不是大材小用。虽然short也大很多,但浪费的内存更少。所以从中我们可以看出类型的意义在于合理的向内存分配空间。

后记

写到这里已经三千多字了,感谢你的耐心阅读,关注我🎈,我们下期继续学习。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: