Bootstrap

单价多少元一千克在c语言中怎么表示_学习CUDA最少需要多少C语言知识?

c83cad492d86712d3fc88f877065e2c2.png

最近在阅读《C Primer Plus》这本书,复习一下C语言的基础知识(多年没用忘光光了),目的是想学习CUDA和DeepStream。《C Primer Plus》总共有730页,看完全部再去学CUDA是不现实的,因此得先看最基础的部分,第一步以能看懂CUDA示例代码为准,以下列向量相加的CUDA代码为例:

#include 

C语言新手读者看不懂没关系,上面这部分代码主要实现的是把两个含有50000个随机数字的数组,对应位置相加的功能,里面涉及到变量初始化、指针初始化、if判断、for循环、内存申请、字符串格式化输出等等C语言的基础概念,换言之我们学完这些部分就能看懂上面这份代码了。

d8f2fc3eaff0f7c67b16deac7390c3f5.png

《C Primer Plus》这本书一共有17章。第1、2章介绍了C语言编程的预备知识。第3~15章详细讲解了C语言的相关知识,包括数据类型、格式化输入/输出、运算符、表达式、语句、循环、字符输入和输出、函数、数组和指针、字符和字符串函数、内存管理、文件输入输出、结构、位操作等。第16章、17章介绍C预处理器、C库和高级数据表示。

笔者的阅读顺序是:

  • 第1章 初识C语言
  • 第2章 C语言概述
  • 第3章 数据和C
  • 第4章 字符串和格式化输入/输出
  • 第5章 运算符、表达式和语句
  • 第6章 C控制语句:循环
  • 第7章 C控制语句:分支和跳转
  • 第8章 字符输入/输出和输入验证
  • 第9章 函数
  • 第10章 数组和指针
  • 第12章 存储类别、链接和内存管理
  • 第14章 结构和其他数据形式

哈哈,看到这里的时候你可能会问,17章的内容你让我看了12章,还说不多???实际上每一章里面的内容不需要逐字逐句的看完,看工具书的关键是,先把概念理清了,比如什么是long类型的变量,它有什么作用,而至于它能表示多少位数,不必记住,需要用到的时候回来查一下就好。假如你学过其它的语言,比如python,里面有些内容本质是相通的,比如for循环、while循环,只是表达的方式不一样而已,所以这类概念通过类比学习,能很快地理解是怎么用的了。如果看得快的话,一小时看几十页也不是问题。

这本书的特点在于,它不会死板地介绍完一个内容再到另一个内容,而是在一个主线中,穿插一些别的内容一起介绍。比如在讲字符串的时候,可能会穿插一些函数的内容;在第一二章介绍C语言的时候,也会教你什么是编译器,怎么编译你的代码并执行(很多教材往往教完你编程之后,你会发现连怎么执行它都不知道)。书本的内容比较多(整整730页),但会在段落中介绍一些经验之谈,例如写代码的好习惯、有哪些需要注意的坑等等,看这本书会有一种作者在与你聊天、手把手教学的感觉!

快速了解完上面的内容,你基本能看懂开头的代码了。事实上,你需要在看书的间隙中,时不时回来看看这段代码,看你读懂了多少,哪些还不了解,这样才能给你一个很好的学习反馈,让你知道你的进度到哪了。能看懂代码之后,就跟着教程一段一段代码抄一下吧,在抄代码的过程中你会慢慢巩固所学的知识,任何一种编程语言都是抄多了就会写了。

技术之路漫漫长,大家互勉。

学习资料:

  • CUDA文档:https://docs.nvidia.com/cuda/cuda-c-best-practices-guide/index.html
  • 《C Primer Plus》豆瓣书评:https://book.douban.com/subject/26792521/
  • Nvidia官方视频CUDA教学:https://www.nvidia.cn/developer/online-training/dli-community-training/

本文首发于我的个人博客-铁人贾斯廷的基地:

https://ijst.me/wp/2020/02/24/学习cuda最少需要多少c语言知识?

博客里面有更多有趣的技术内容、IronMan相关、B站视频等等,欢迎来玩:

铁人贾斯廷的基地 | 技术宅的碎碎念​ijst.me

06f5d278bcf5152e2bd5bd79f33dda13.png
;