前言
此为个人作为新手小白从零开始学习C语言的学习过程,其中我会以资料和个人的理解来尽可能将知识点等解释清楚,既为了复习所学,也尽量为读者创造一个容易理解的阅读环境。
一、选择C语言的理由?
———————————————————————————————————————————
1.设计特性:C语言作为面向过程的语言,编写的程序更易懂可靠,且十分高效。它充分利用了当前计算机的优势,拥有汇编语言才具有的微调控制能力,可以根据具体情况微调程序以获得最大运行速度或最有效地使用内存。(俗称优化)
2.可移植性:C语言编写的程序通常稍作修改(或不修改)就可以在其他系统运行,兼容性很强。
3.强大且灵活:众多语言的编译器和解释器都是用C语言编写的,以及C程序可以用于解决物理和工程学的问题,也可以制作电影的动画特效。
4.面向程序员:程序员利用C可以访问硬件,操控内存,可以通过C中丰富的运算符简洁地表达自己的意图。(但此类的灵活性是一面双刃剑,有时你可能会犯一些莫名其妙的错误)C拥有一个大型的库,包含很多程序员解决问题经常需要用到的一些函数。
C语言是编译型语言,编写的代码需要经过编译环境的编译将源代码转换成计算机可执行代码的程序。
———————————————————————————部分摘自《C Primer Plus》第六版
(我对C语言的理解是十分开源,就像当制作游戏的引擎开源之后,例如《半条命》,就会涌现出各路民间大佬或者专业人士制作的一系列模组,以及以此为基础开发的其他游戏。)
二、一些基本的,常见的数据类型
类型 | X86 | X64 |
char | 1 | 1 |
short | 2 | 2 |
int | 4 | 4 |
unsigned int | 4 | 4 |
long | 4 | 4 |
long long | 8 | 8 |
unsigned long | 4 | 4 |
float | 4 | 4 |
double | 8 | 8 |
char* | 4 | 8 |
int* | 4 | 8 |
C语言规定:short和int型至少为16位,long型至少为32位,并且short型长度不能超过int型,而int型不 能超过long型。这就是在说各个类型的变量长度是由编译器来决定的。
可以使用sizeof();查看各类型所占用的空间大小。
#include<stdio.h>
int main(){
printf("%d",sizeof(int));//打印整型数据类型的大小
return 0;
}
结果如下
其他的同理可以算出。
三、编写第一个C程序
这里我使用的软件是Microsoft Visual Studio 2022 Community,在微软商店可以免费下载使用。
Tips:
由于我们要编写的是C语言的文件,所以在一个工程中新建源文件时,需要将文件扩展名改为.c。 (.cpp是C++的源文件后缀名)
1.整理思路(设计程序)
我们在开始编写一个C程序之前,需要先理清思路:
我要编写的程序需要达到什么效果?
这个程序大致的运行逻辑是什么样的?
这个程序有可能需要用到什么样的选择循环结构?
把人类逻辑如何转换成编程逻辑从而表达?
(总之就是首先要有思路,不能一下子就动手,否则容易思路混乱最后无从下手也忘记了之前的程序是什么效果)
2.开始编写
#include<stdio.h>
int main(){
printf("BiliBili 干杯!");
return 0;
}
1.几乎所有的C程序都要使用C标准库中的函数,所以第一行我们需要引入标准库<stdio.h>(注意不是<studio.h>!!!)
2.C程序有且仅有一个主函数,即 main ,所以当我们在一个工程中创建多个源文件时,记得不要命名多个 main 函数。
3.printf (" ") ;函数即为标准库函数中的一个函数,所以我们引入了标准库才可以使用,切记每一句代码结束后都要加英文分号!
4.第四行是给主函数一个返回值0(初学不用太在意,写上就对了)
3.运行程序
点击本地Windows调试器或按快捷键F5即可运行程序。
恭喜!第一个程序运行成功。(干杯!)
4.测试和调试程序
刚开始设计的程序都比较简单,容易纠错,但是在之后当代码量上去之后,找BUG就变成小白噩梦一般的存在了(有一句话说的好,程序和我,只要有一个能跑的就行.)
1.如果出现明显的报错提示,那就先解决报错,例如使用了中文输入法,没有加分号,少加或者多加括号之类的,都是常见的低级错误。
2.如果显示程序运行时出现错误,但是看起来逻辑并没有什么问题时,我们可以在出错点的附近打断点,用F11逐步调试,用F10模块调试。
(在代码最左边打断点)
总结
以上就是今天要讲的内容,本文仅仅简单介绍了有关C语言的一些知识,以及如何编写第一个C语言程序,之中加一些我个人学习中所遇到的小Tips和观点。