C Language Crash Course

声明: 以下内容可能会引起某些读者不适, 请小心阅读. 有些内容并没有详细介绍, 可能简单理解也是错误的, 但是这都是为了尽量简单。

前言: 我自己认为, 对想要学习编程的人而言, C语言是一门必须要学习的语言, 但是其实就现在这个时代的话, 你没有学习C语言的绝对必要。使用别的高级语言(比如python)站在巨人的肩膀上很好, 也很爽。

推荐书目

  • 《C语言程序设计》
  • 《C标准库》
  • 《C primer plus》
  • 《C缺陷和陷阱》
  • 《C专家编程》
  • 《linux程序设计》

编程语言里面有几个概念:

  • 数据类型
  • 变量
  • 流程控制
  • 函数
  • 运算

数据类型

数据类型就是数据的类型. 因为计算机的职能就是操作数据. 而数据肯定是有类型的,比如说听歌用的mp3,看图片用的jpeg, 看片儿用的rmvb. C语言里面有一些她自己的基本的数据类型.例如: 整数类型(顾名思义, 整数类型的变量存放的就是整数) 小数 字符(字符类型就是存放a b c d 这些符号的. 中文我们不用在这里考虑)等

所以, C语言是有这么一些类型能让你在计算机内表示现实的东西. 比如说你要保存一个人的名字的话, 就是字符类型. 你要保存一个人的年龄的话, 就是整数类型.

变量

变量就是用来指代一个特定的数据类型对象的名称. 比如说, 我们在高中数学中学到的变量x, 它可以是1.25, 也可以是100. 我们在数学中用x来代替这个值, 或者指代一个集合, 比如说x属于R 全体实数.

在C语言里面变量是一个数据类型的实例. 简单说, 就是如果你需要一个C语言表示来保存一个人的年龄值, 那么你应该这样做

1
int age;

int是类型的关键字, age是变量的名字. 所以这行代码说. 我要一个叫age的变量. 如果你需要一些别的变量, 你可以这样做:

1
2
double PI;
char ch;


第一行代码说 我要一个叫PI的小数类型的变量.
第二行代码说 我要一个字符类型的变量, 名字叫ch.

变量命名规则 : 变量名称必须以下划线(_)或者英文字母开头, 变量名可以由下划线 英文字母 数字组成.

流程控制


流程控制就是对代码运行的流程进行控制, 一般来说, 代码是从上往下执行的。 但是, 有些特殊的语句能起到特殊的功能, 对代码执行可以进行较好的控制。

C语言里面常用的三种循环控制是

  • if 条件判断
  • while 循环
  • for 循环

If

条件判断的逻辑就是这样的: 如果A成立的话, 就B。 如果不是A而是C, 那就D。
简言之, 看代码:

1
2
3
4
5
6
7
if ( A )
{
B;
} else if ( C )
{
D;
}

while

while循环简单, 先看代码:

1
2
3
4
5
int n = 1;
while(n > 0)
{
n = n - 1;
}


第一行声明了一个变量, 同时给他一个值, 令n为1; 当 n>1 成立的时候,就执行循环体里面的语句, 执行到最后一行的时候, 就继续判断条件是否成立。 在本例中, 在第5行遇到右大括号的时候, 判断n>1是否成立, 此时n = 0; 因为在 n = n - 1; 这一行代码中。 = 这个赋值号(将右边的结果赋给左边的变量)使得n先减去1, 然后把n-1的结果给n。这样的话while条件语句就不成立了。 结束循环, 执行第5行后面的代码。

for

for循环也是一种循环, 但是它是一种特殊的循环。 自身带有一种迭代更新的功能。 初学可以记住有这么一个循环存在, 自己写代码的时候, 参考一下。

1
2
3
for ( int n = 1; n > 0; n = n- 1)
{
}


这个for循环和while循环的功能是一样的, 但是这个循环体({}包括的范围)是空的。
for循环先执行int n = 1; 然后判读条件是否成立, 如果成立的话, 先执行循环体,然后执行for循环语句括号里面第二个分号之后的部分, 在本例中, 就是n = n - 1。

函数

函数就是一个工厂,是一种投入和产出的过程。比如说面包厂原材料是小麦,产出结果是面包。
先学习如何声明一个函数, 有点像工厂在工商部门注册的信息.

1
2
// 函数结果类型 函数名称(参数类型 参数名,...);
int sum(int a , int b);


我们在这里声明了一个函数, 他可以计算出两个整数的和, 参数的个数是可以改变的, 本例中这个工厂需要两个参数。一个叫a, 一个叫b。 而且他们的类型都是整数类型。这个叫sum的函数返回的结果的类型也是整数类型。
这样我们就注册了一个函数。

我们学习如何定义一个函数, 就是说:如何创建函数的实体, 修建工厂的过程。

1
2
3
4
int sum(int a, int b)
{
return (a+b);
}


return是返回的意思, 在这里就是说把a+b的结果返回。

如何使用函数。

1
2
int n = sum(1, 2);
// 函数名(参数1, 参数2) 这个函数的返回值就是这个式子的计算结果


在这里, 我们给n赋值为3。

我们要介绍一个函数叫printf, 这个函数可以把一些字符打印在标准屏幕上面。

1
2
3
4
5
6
7
#include <stdio.h>
 
int main(void)
{
printf("Hello Jack.");
return 0;
}


显然, 我们在这里定义了函数叫main,()里面说void意味着,他不需要参数。在函数体内部,它使用了一个叫printf的函数, 用它在屏幕上打印了Hello Jack.

运算

运算是一个很大的概念。 简单说, 前面的所有都是运算, 毕竟是计算机嘛。 你没必要去关心运算是什么,但是你绝对有必要了解C语言有哪些运算符(就像+,-,=这样的运算符),以便在你需要的时候,能想到它。

这是我百度的一张图片,你也可以百度一下:

指针

指针是C语言的核心内容, 另外讲解。

猜你喜欢

转载自www.cnblogs.com/litran/p/10541138.html