零基础通关C语言——chapter 1——C语言常见概念 上

特别声明

本章是对C语言的一个初窥,这里的知识点也是点到为止,具体会在后面的博客详细介绍。在接下来的三个月,我将持续更新C语言的模块,从初阶到进阶,层层递进。如果碰到好题目也会与诸位分享,让我们一起学习,一起进步吧!

7dd18a7ef70f4854aa772666bc82747b.jpg

 

 

零.使用的环境

工欲善其事,必先利其器

这里我推荐使用的是VS(Vusual Studio)2022的编译器。

可能学校很多使用的是Dev-C++或者C-free这些环境。这些可能使用的难度比较低  But!!!  它们已经有多年没有更新了!许多功能已经远远无法满足现在编写代码和开发的需求,而且敲出来的代码也不美观,不便于好的代码风格的养成

这些在学校使用的优势是简单操作,便于教师讲解,也可能用于竞赛的使用,但缺点也如上面所言,所以环境的选择留给各位考虑了  我个人是认为VS是我们初学的一个好的编译器。,官网的VS2022社区版是完全免费的,想尽快自己上手写代码的朋友们可以去安装了哦

好,关于环境,我们暂时就说这点

温馨提示:未来所有关于C语言的代码我都将用VS2022进行演示

 

一.写代码的前置准备

众所周知,我们写代码是需要先创建项目的,下面详细讲讲写代码前萌新的我们应该干的事,为写代码做好准备

 

1.创建新项目,选择空项目并创建

908bd7756a314ca8833cc323fba4d843.png

 

747f29c057bf497a92a0a24157528f5f.png

不出意外,我们将 来到以下页面6b64faa16e4b4622a57856c8392c626a.png

 

 

2.源文件右键 添加 新建项

1f4f89f064b747c3bf460df5cf0557ae.png

5651be063135413db86f5e1b9bf38dd3.png

686f2dbf637547b8981f5ae3a4309b6d.png

 

点击显示所有模板

 

3.选择C++文件,修改文件名称为.c后缀并添加

 

经过第2步的操作那么界面应该会变成这样

d7e9fda1d7d2463290b38e9d44de8249.png

 修改名称为 .c     的文件名,点击创建

 

当出现一下界面,我们就可以开始写代码啦

0f84985682e845a0ac63e901d84b2f69.png

 

二.main函数及第一个C语言代码分析上

98d83da91b9349a8a1f9edb3ccd8f0f6.png

让我们来一步步解释吧!main函数是代码的入口,代码从main函数下的第一行开始!大括号是代码块,return是一个返回,至于为什么要返回0呢是因为main函数是int类型,二者形成前后呼应!由于main是一个函数所以会带有一个括号

 

注:数据类型如int ,还有函数的概念等等在之后的博客会仔细讲解这里的int 理解成整数型就可以了,先不要深究,函数的知识也暂时不要深究

学习是一步步递进的,对每一行代码的理解也是如此,我们在这里大概能看懂就行

 

还剩下Printf函数,这就要引出库函数的概念了,我们下面初步了解一番

 

 

三.库函数及第一个C语言代码的分析下

所谓库函数,就是C语言标准规定了一组函数,这些函数被编译器打包好,提供给程序员使用

其诞生就是为了提升写代码的效率,而printf也是一个库函数

一系列的库函数一般会声明一个头文件,直接使用会报错!(注:.c后缀的是源文件  .h后缀的是头文件)

而对于printf这个输出函数,它在使用时要引用头文件stdio.h

这样上面的代码的意义也就清楚了

运行和编译代码直接选择ctrl+f5,不过在某些电脑上要按ctrl+fn+f5也可以运行!调试代码按f10或者fn+f10(更多调试的方法将会在后面的学习中介绍)

通过printf输出  原神,启动!

界面如下

f9f9c78f96bd454fb380788822ace881.png

至于printf里头的 \n ,则是起到换行的作用

 

至此第一个C语言代码解析完毕(鼓掌鼓掌)

 

四.关键字

定义:在C语言中有一批保留的名字的符号,比如: int 、 if 、 return ,这些符号被称为保留字或者关键字

 

以下是三点注意

1.关键字都有特殊的意义,是保留给C语言使用的 

2.程序员自己在创建标识符的时候是不能和关键字重复的 

3.关键字也是不能自己创建的

 

 

C语言中主要的32个关键字如下:

char  double  enum  float  int  long short  signed  struct  union  unsigned void

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

auto  extern register  static

const  sizeof  typedef  volatile

这里先见识一下,这些东西在日后的学习中会频繁用到,最后一定可以理解,并在写代码时融会贯通。

所以千万不要对因为有32个关键字感到恐惧!扎实的学下去就行

ce59fdf854a1435693f388cd483feb9e.jpg

 

 

 

五.ASCII编码和字符

在键盘上可以敲出各种字符,如:a,q,@,#等,这些符号都被称为字符,C语言中字符是用单引号 括起来的,如:'a','b','@'

 

我们知道在计算机中所有的数据都是以二进制的形式存储的,那这些字符在内存中分别以什么样的二进制存储的呢?

 

如果我们每个人自己给这些字符中的每个字符编一个二进制序列,这个叫做编码

 

为 了方便大家相互通信,不造成混乱,后来美国国家标准学会(ANSI)出台了⼀个标准 ASCII 编码,C语言中的字符就遵循了ASCII编码的方式

                 ASCII码表如下

05c3eabbe90e40c88cdf3f8719623307.png

 

字符

 

在C语言中单个字符的打印使用

 

比如 printf("%c\n",字符)

 

注:%c是个占位符,我们在以后详细讲解 这里大概能理解就行

 

六.字符串和\0

C语言中如何表示字符串呢?使用双引号括起来的⼀串字符就被称为字符串,如:"abcdef",就是⼀个 字符串。

字符串的打印格式可使用%d   比如  printf(“%c\n”,“hello C”);

 

C语言字符串有一个特殊的知识点 就是在字符串的末尾隐藏着 \0 字符

这个字符 是字符串的结束标志

看下图

022e45e6ce4048cfb07ce6819f29bd53.png

 

对于字符串"abcdef",我们实际上看到了6个字符:a,b,c,d,e,f,

但是实际上在末尾还隐藏⼀个 \0 的 转义字符, \0 是字符串的结束标志。所以我们在使用库函数 printf() 打印字符串或者 strlen() 计算字符串长度的时候,遇到 \0 的时候就自动停止了

\0标志着字符串的结束,这很重要!!!

 

七.转义字符

也许在前面的代码中你看到 \n , \0 很纳闷时啥。其实在字符中有一组特殊的字符是转义字符,转义 字符顾名思义:转变原来的意思的字符

比如n, 它本来是个普通的字符,但在加上\后意思就完全不同了

这就是转义字符的作用,它使得本来的n有了换行的作用

下面是C语言常见的一些转义字符

307adb67208d4f6bacbcc33b3944d12d.png

还有一些特殊的

\ddd :d d d表⽰1~3个八进制的数字。如:\130表示字符X 

\xdd :d d表示 2个十六进制数字。如:\x30表示字符0 

注:这里用到的知识与上面的ASCII编码息息相关

关于转义字符我们首先要了解,然后要能在字符串中识别出来

所以千万不要对其数目之多感到恐惧!总之扎实的学下去就行

ce59fdf854a1435693f388cd483feb9e.jpg

*一些有关C语言/编程闲聊

到了这个part,本篇博客的正文也就结束了,如果您愿意,可以看看下面关于计算机语言,比如C语言及编程方面的一个闲聊

 

1.C语言是什么?

答:它是一种计算机语言

使用计算机语言,可以完成人与计算机的一个交流。 目前已知已经有上千种计算机语言,人们是通过计算机语言写的程序,给计算机下达指令,让计算机工作的。 C语言就是众多计算机语言中的⼀种

当然C++/Java/Go/Python都是计算机语言。

2.C语言在编程中所处的定位

其实呢,我在自己的第一篇博客中提到过自己的目标,这就说明了编程学习的线路

 

a.从一门语言入门(比如C语言),把这门语言学的尽量扎实并从中领悟到计算机语言的程序思维共性

b.数据结构和算法的学习(这能大幅度提升自身的编程思维),这尤为重要,可能也是大部分朋友感觉的难点。

c.计算机网络

d.操作系统

e.数据库

f.通过项目的检验自己是否真的掌握知识,并利用知识实现一些有价值的,富有现实意义的功能

当然它们之间有着千丝万缕的联系而非孤立

所以我们在学习是也是穿插着进行,这种知识的错综复杂也预示着对于编程的学习是一遍又一遍才能在最后做到融汇贯通的

 

结语

 

以上就是我理解的编程需要学习的路线

在开始的特别声明中,我提到自己大概会花3个月学习C语言

而编程的学习,我认为至少需要两年半

所以在接下来的时光里,我将陪大家一起学习,一起进步

 

那么今天的博客就写到这里,希望大家多多三连支持一下这个萌新博主,感谢感谢

d70e317b1f914a3d8ded6d637a3b2abd.jpg

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不吃肉的Humble

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值