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语言的核心内容, 另外讲解。

转载于:https://www.cnblogs.com/litran/p/10541138.html

Author: Josh Lospinoso Pub Date: 2019 ISBN: 978-1593278885 Pages: 792 Language: English Format: PDF Size: 10 Mb A fast-paced, thorough introduction to modern C++ written for experienced programmers. After reading C++ Crash Course, you’ll be proficient in the core language concepts, the C++ Standard Library, and the Boost Libraries. C++ is one of the most widely used languages for real-world software. In the hands of a knowledgeable programmer, C++ can produce small, efficient, and readable code that any programmer would be proud of. Designed for intermediate to advanced programmers, C++ Crash Course cuts through the weeds to get you straight to the core of C++17, the most modern revision of the ISO standard. Part 1 covers the core of the C++ language, where you’ll learn about everything from types and functions, to the object life cycle and expressions. Part 2 introduces you to the C++ Standard Library and Boost Libraries, where you’ll learn about all of the high-quality, fully-featured facilities available to you. You’ll cover special utility classes, data structures, and algorithms, and learn how to manipulate file systems and build high-performance programs that communicate over networks. You’ll learn all the major features of modern C++, including: Fundamental types, reference types, and user-defined types The object lifecycle including storage duration, memory management, exceptions, call stacks, and the RAII paradigm Compile-time polymorphism with templates and run-time polymorphism with virtual classes Advanced expressions, statements, and functions Smart pointers, data structures, dates and times, numerics, and probability/statistics facilities Containers, iterators, strings, and algorithms Streams and files, concurrency, networking, and application development With well over 500 code samples and nearly 100 exercises, C++ Crash Course is sure to help you build a strong C++ foundation.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值