IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 答应我从这篇文章开始你的C语言之旅吧 -> 正文阅读

[C++知识库]答应我从这篇文章开始你的C语言之旅吧

初始C语言(一)


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TXL5jM4I-1665913707347)(D:\gitee仓库\博客使用的表情包\请坐.png)]

🚀1.什么是C语言?

🍉计算机语言

? 就拿人与人的交流举例

  1. 外语–老外和老外交流
  2. 国语–中国人之间的交流
  3. 如果老外要找中国人交流,那么他们要学习国语,或者找个翻译官

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oa3XtnVr-1665913707349)(D:\C_CODE_bit\Preliminary-stage-of-C-language-code-practice\1.0初始C语言(一)]\交流.jpg)

同样的:计算机语言是为了人与计算机“计算机交流”s而产生的语言。


🍉计算机语言的发展

  1. 由于计算机硬件终究还是电运行,他的状态有通路断路两种,还想控制计算机,必须掌控其的通路断路,从而衍生出二进制语言

    但是二进制语言非常地不人性化,要写个程序必须查手册,看对应的01指令是啥,而且很容易出错,当时的程序员或者说会玩计算机的简直是少之又少。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0sD8hN2Z-1665913707349)(D:\C_CODE_bit\Preliminary-stage-of-C-language-code-practice\1.0初始C语言(一)]\二进制语言_.jpg)

  2. 于是人们想出能否用注记符代替指令,例如Add–代表010011101(这个只是举个例子),用Sum来代替求和的二进制指令,从而演示出汇编语言

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jsK56qu0-1665913707350)(D:\C_CODE_bit\Preliminary-stage-of-C-language-code-practice\1.0初始C语言(一)]\汇编语言.jpg)

  3. 随着科技的不断发展,开发出了B语言

  4. B语言之后又是,C语言->C++->Java

    程序的学习变得逐渐容易上手,程序员也越来越多!

? 其中二进制语言汇编语言被算进低级语言的范畴,不人性化,难度大!

? C语言,C++,Java等被算入高级语言的范畴,学习门槛低,人性化!

? 二进制语言是面向机器的语言,而后面的高级语言并不是直接面向机器的,机器也是看不懂C语言的,要通过编译器的一些编译,链接的过程,讲我们写的C语言代码转换成机器指令,然后让计算机识别,而编译器就像我们所说的翻译官

?


🍉C语言

? 这里稍微介绍以下计算机的组成

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h3453ban-1665913707351)(C:\Users\Cherish\AppData\Roaming\Typora\typora-user-images\image-20221016160830853.png)]

  1. 计算机的最底层是硬件,如:鼠标,键盘,芯片,显卡等硬件设备
  2. 操作系统帮助我们进行电脑的操作,如我们双击软件的快捷方式就打开了应用,也是操作系统在帮忙!
  3. 在操作系统与硬件之间的是驱动,操作系统调动驱动来进一步配合硬件,使得硬件效率最大化,有些电脑命名配置很高,却感觉和普通电脑差不多,甚至还比其他电脑更不稳定,也有可能是驱动与硬件不兼容的原因
  4. 在操作系统上层的是软件应用

? 我们将操作系统之上的叫做上层–经常叫做用户层,就算不知道底层原理,也能够正常体验

剩余的就是下层,也叫底层,平时说的底层开发的底层也就是这个!!!


🍇C语言的优势:
  1. 适合底层开始
  2. 系统开发–如linux系统就是拿C语言开发的
  3. 使用游戏引擎的开发
🍇C标准

? 当时的背景:C语言非常流行,可以说是风靡编程界,“老人小孩都说好”

很多企业也是采用C语言进行企业项目的开发,但是很不好的是,企业都有自己的一套,你有你的C语言,我有我的C语言

这样导致了移植性很差,无头苍蝇一个没有同意标准的语言终将走向灭亡

? 二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制 定了一套完整的美国国家标准语法,称为ANSIC,作为C语言最初的标准。目前2011年12月8 日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标 准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉 字编程。

? 其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC(VS系列)、Turbo C等。


🚀2.第一个C语言程序

? 本文章使用的是VS2013环境。大家可以自行下载VS2013,2019,2022均可。操作都大同小异!

vs编译器下载出现的常见问题可以参考下面文章:(下载速度为0之类的)

(94条消息) 解决visual stdio编译器下载速度为0_龟龟不断向前的博客-CSDN博客_vs下载速度为0


🍉写程序的步骤

  1. 创建工程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nJ8SisWk-1665913707352)(C:\Users\Cherish\AppData\Roaming\Typora\typora-user-images\image-20221016163455923.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4AKLql1w-1665913707353)(C:\Users\Cherish\AppData\Roaming\Typora\typora-user-images\image-20221016163600953.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qX5gbEOY-1665913707353)(C:\Users\Cherish\AppData\Roaming\Typora\typora-user-images\image-20221016163741034.png)]


  1. 添加源文件

    注意代码是写在源文件中的,一个工程有一个或者多个源文件构成

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uC2h1kxj-1665913707354)(C:\Users\Cherish\AppData\Roaming\Typora\typora-user-images\image-20221016163919233.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fXxvvyFU-1665913707355)(C:\Users\Cherish\AppData\Roaming\Typora\typora-user-images\image-20221016164129160.png)]


  1. 写代码

    向世界打个招呼

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yvVjF70z-1665913707355)(C:\Users\Cherish\AppData\Roaming\Typora\typora-user-images\image-20221016165022547.png)]

? 点击ctrl + fn + f5,有些电脑是直接ctrl + f5即可,即可运行程序!

🍉程序解释

int main()
{
    
    return 0;
}
  1. 这个是main函数,程序的入口,程序是由很多个函数组成的,但是是从main开始,main函数结束的,通过main调用其他函数来实现新功能。

    工程中只能存在一个main函数,就算是一个工程的不同文件,总共也只能写一个main函数,不然编译器无法知道,程序从哪里开始执行

  2. printf–print format–格式化输出,就是一个输出函数,括号()–告诉编译器我们使用了printf函数,括号里面放了"hello world\n",就会将hello world打印在屏幕上

  3. #include<stdio.h>包含头文件,我们上面使用的printf,我们根本没有写,这个函数其实是库里面的,而且放在了stdio.h这个头文件里面了,如果我们要使用,就包含一样这个头文件即可(就很类似于,你要借以下你朋友的东西,要先跟他打个招呼)


🚀3.数据类型

🍉常见的数据类型

? 生活当中存在着,整数,小数,字符这些数据,那么程序中也要使用这些数据的话,就要有相对应的数据类型来对数据进行存储

其中常见的数据类型有:

整型(整数):

  1. short
  2. int
  3. long
  4. long long

其中从上往下,存储整型数字的范围也越大!

浮点型(小数)

  1. float
  2. double

字符型

  1. char

🍉常见数据类型的存储范围:

? 不需要死记硬背,我们使用程序测试即可:

#include<stdio.h>

int main()
{
	printf("%d\n", sizeof(short));//sizeof可以用来计算类型,变量的内存存储大小的操作符
	printf("%d\n", sizeof(int));
	printf("%d\n", sizeof(long));
	printf("%d\n", sizeof(long long));
	printf("%d\n", sizeof(float));
	printf("%d\n", sizeof(double));
	printf("%d\n", sizeof(char));
	return 0;
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8xknIZfi-1665913707356)(C:\Users\Cherish\AppData\Roaming\Typora\typora-user-images\image-20221016171025388.png)]

? 运行结果是一堆数字,数字很简单,那么他们的单位是什么呢?,答案是1字节(byte)


🍉内存大小单位

  1. bit–比特位
  2. byte–字节
  3. KB
  4. MB
  5. GB
  6. TB
  7. PB

他们之间的换算是

1Byte = 8 bit

1KB = 1024Byte

1MB = 1024KB

1GB = 1024MB

1TB = 1024MB

1PB = 1024PB


🚀4.变量

? 既然有了数据类型,那我们就可以存储数据了

#include<stdio.h>

int main()
{
	int a = 3;
	char ch = 'w';
	printf("变量a = %d\n", a);
	printf("变量ch = %c\n", ch);

	printf("常量%d\n", 5);
	printf("常量%c\n", 'z');
	return 0;
}

? 上述代码中,我们将一个整型变量a赋值了3,将一个字符变量ch赋值了w

而赋值给他们的常量3和w在内存中也是有相应的存储空间的,只是变量和常量存储的位置不一样!


🍉局部变量

#include<stdio.h>

int main()
{
	int global = 1;
	printf("%d\n", global);
	return 0;
}

? 放在{},这个区间里面的叫做局部变量

🍉全局变量

? 放在{},这个区间外面的叫做全局变量

#include<stdio.h>

int global = 100;

int main()
{
	printf("%d\n", global);
	return 0;
}

🍉局部变量和全局变量同名情况

? 大家可以记一下就近原则,局部优先,在编程的很多地方都存在着就近原则,例如我们以后要学的if-else,C++的隐藏里面都有

#include<stdio.h>

int global = 100;

int main()
{
	int global = 1;
	printf("%d\n", global);
	return 0;
}

? 根据就近原则,输出的是1


🍉变量的命名规则

  1. 只能由字母(包括大写和小写)、数字下划线( _ )组成。
  2. 不能以数字开头
  3. 长度不能超过63个字符。 变量名中区分大小写的。
  4. 变量名不能使用关键字

下面就是几个典型的错误样例:

#include<stdio.h>

int main()
{
	int a = 0;
	float b = 2.2f;
	double c = 3.3;
	char ch = 'w';

	int a%b = 4;  //error
	char 12whi = 'a';  //error
	int char = 3;    //error

	return 0;
}

? 欲速则不达,只要每天都进步一点点坚持下去就行了,宁愿当一只走得慢但不停下来乌龟,也不当一只飞快地三分钟热度兔子。

我们下期再见!

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ebcxACXX-1665913707357)(D:\gitee仓库\博客使用的表情包\给点赞吧.jpg)]

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-10-17 12:13:42  更:2022-10-17 12:13:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 8:04:11-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码