文章目录

  • 前言
  • 一、必要的说明
  • 二、环境准备与第一个C程序
  • 三、调试

前言

大家好,我是卷卷。今天呢我给大家带来一套C语言图文教程。这个教程呢,也是我在CSDN上传的第一个教程。希望大家多多支持。本教程的名称是10讲学会C语言。没错,10讲。但是每讲的学习量和练习量呢,会比较多。所以希望大家都能坚持。“学会”的含义呢,就是最终大家都能独立写出一个学生管理系统。这就代表你学会C语言啦。好啦,我们进入正题吧!本节课的标题是编程前的准备。本节课主要有3个部分:必要的说明,环境准备与第一个C程序,调试。


一、必要的说明

首先编程语言有很多,为什么要学C语言呢?主要分两个方面,第一个是普遍性。首先大学大部分工科都要学C。其次算法题使用最多的语言是C或C++。C++呢,和C语言的语法基本类似。第二个是很多编程语言如Java,C++,C#等。都包含了面向过程和面向对象部分。而C语言只包括面向过程部分。所以从这点看,C语言要比其它语言的内容少很多。关于面向过程和面向对象的区别,不是本课程的重点。大家可以自行百度,作简单的了解。然后是课程目标。本课程最终要让大家都能独立写出一个规模较小的学生管理系统。做到这点,说明你已经掌握了基本的语法,算法能力和业务逻辑水平。所谓算法,是解决问题的大致思路。是不依赖于编程语言的解决方案。所谓业务逻辑,就是描述系统功能的逻辑。比如学生管理系统,需要增加学生信息,查询学生信息等。图书管理系统,需要借书,还书等。业务逻辑也不依赖于编程语言,但一定是和现实生活,工作相关的。接下来是课程特色,主要有四个方面。第一点是本课程几乎没废话。也就是几乎不会有和本课程不相关的。或者频繁重复的非重点内容。第二点是相对传统教材而言的。它们总会教你相当多的知识,或者一个知识点讲半天。它们也会让你做相当多的题目。其实就C语言而言,没必要搞那么多。本课程尽量用更少的语句讲解知识点和减少不必要的知识。同时也会从教材上挑选值得做的,实用的题目来作为课后作业。以让大家更好,更快地掌握C语言。对于第三点,传统课程喜欢先讲知识后讲例题。而本课程是先讲例题再讲知识,重视实战。第四点,我会教大家一些C++语法。因为C++在有些地方比C语言方便。最后,本课程的课后练习题均来自PTA平台。PTA是一个编程平台,上面有本课程参考教材的题目。关于这个平台,之后会介绍。接着是学习方法,我强烈建议大家使用。首先是看懂,这也是任何一门课程的首要要求。只有看懂了,你才能事半功倍,否则只会事倍功半。其次是少记笔记,多写程序。为什么呢,因为C语言是一门实践性极强的课程。很多知识光记住没用,只有上机实验了才能理解,应用。不怕你多写程序,就怕你记了很多笔记,实操能力却没提升多少。所以宁愿大家一点笔记都不记,只要程序写对,效果也是很好的。第三点的侧重点是“自己”。有的同学可能遇到不会的题,就网搜代码,粘贴到环境中。一运行,发现结果正确,就以为自己会了。其实完全不是这样的。只有在理解的基础上,自己从头敲到尾,代码才是你的。本课程的参考教材是“C语言程序设计颜晖第3版”,课程的所有例题都来自于该教材。
接着是课后资源及讨论。课后资源包括课程的所有作业及答案。由于资源文件很小,所以放在百度云盘上。
链接:课后作业和参考答案
提取码:l2du
本课程还有一个讨论q群:1028887052,课程资源也会在群文件中。

接下来讲下教材的使用方法。


大家看,教材正面长这样。它的背面是这样的,下面有个验证码。用这个验证码可以激活PTA相应的题库。百度搜“PTA”。找到PTA官网,全称是“程序设计类实验辅助教学平台”,如下:


这就是登录后的界面,大家可以看到这个题目集:浙大版C语言程序设计题目集。点击进入:
如果你没有输入验证码,这里会提示你输入。输入激活后的页面就是这样。本课程的作业中有例题和练习题,其中例题只出现在教材上,练习题在PTA上都能找到。作业的练习题对应平台的“习题”。比如编程题的习题2-1,习题2-2:
开头的数字是章节序号,从第二讲开始就会布置教材第2章的习题。大部分章节的习题都在编程题里。有些章节的题是在函数题里,比如第5章。接下来我们看看怎么练习,我们随便点一个:
左边是题目介绍,输入输出样例等。右边是输入框,需要你输入写好的代码。注意,这个题目集的语言只能用C语言哦。我们点击提交:
大家看,这就是提交后的界面,它会提示你正确与否。这里还要注意一点:
下边是时空限制,其实够用,大家不用担心。这就是PTA平台的简单介绍啦。至于教材该不该买,个人建议买。因为通过平台的测试,能够暴露编程者更多的不足。当然不买认真对答案也不差。买了的同学建议在学习本课程期间只将教材用于PTA。接下来介绍下课程大纲:
总共有10章,每节课讲一章。第7讲是指针。这也是C语言中最难,最重要的部分,希望大家到时认真理解。如果你掌握了指针,那C语言就没什么难的了。第10讲是教大家如何写一个学生管理系统。到时我会作一些介绍,然后大家课后去做这个系统。同时,也会包括文件操作。程序是在内存中运行的。如果程序结束,输入程序的所有数据就会被释放。如何将程序运行时的数据保存到硬盘上?这就要用到C语言的文件操作。另外,从第二讲开始,每讲都会有作业。希望大家每节课听完后,认真对待作业。

二、环境准备与第一个C程序

本课程要用的编程工具是这个,devcpp:
由于“++”的英文是plus,plus,所以c++又称为cpp。首先为什么要用它?主要是容量小,大小只有几十兆。然后是功能简洁,使用起来方便。devcpp仅用于本课程或刷算法题的话,是足够的。如果要做一个规模较大的系统,还是建议用visual studio。大家可以百度搜devcpp,找到devcpp的官方下载地址,认准“softonic.com”:
点进去,点击右边的绿色按钮:
然后再点下面的绿色按钮:
这样,浏览器就会弹出下载框,下载安装即可。接下来我们简单介绍下这个工具。主要包括常用按钮,分辨率,补全,快捷键,查找替换等。首先在打开之前,你需要调整分辨率,否则会字体模糊。右击-属性-兼容性-更改所有用户设置-更改高DPI设置:


把最下面的勾打上。然后不断点确定就好啦。注意主界面也有一个“更改高DPI设置”:
这个设置有时会失效,比如复制cpp文件的时候。所以还是建议按我说的去设置。这就是devcpp的主界面:
点击新建-文件-源代码,或者点击文件下第一个按钮-源代码。然后我们就创立了一个空白文件:
我们键入一些字符,Ctrl+s保存:

大家可以看到保存类型默认是cpp。因为cpp兼容c的语法,所以无需改动。选择要保存的位置,写好名称,点击保存即可。下面这三个按钮是常用按钮:
第一个是编译,检查程序是否有语法错误。如果有语法错误,则会报错。所以一个程序在运行前,它的语法必须是正确的。第二个是运行按钮,能运行程序。点击运行后,会提示你是否编译:
如果你选择no,就不会运行。如果你选择yes,会先编译。所以建议大家用第3个按钮,编译运行。会先自动编译,后运行。接下来介绍下代码自动补全。工具-编辑器选项-代码补全,按这样设置:
“完成符号”设置:
为了提高编程效率,我们还需要设置一个快捷键。工具-快捷键选项,拉到下面,选中code completion:
然后你需要键入字符来改变快捷键。这里建议shift+enter或ctrl+enter,最后点击确定即可。我们来试一下,输入pr,按ctrl+enter:
大家看,这里就弹出可选框。由于是第一个,直接按回车即可,这样就能显示全部的名称了:
关于怎么写一个简单的程序,马上就会讲。关于缩进,我们可以选中一行或多行。点击编辑,选择缩进或取消缩进都可以。或者按快捷键也可以。这就是devcpp的简单介绍啦。接下来我先写一个最简单的程序:
编译一下:
显示错误和警告都是0,说明语法完全正确。如果只有警告呢,也能运行。不过大家在以后的编程中。最好减少警告的次数,这样程序会更加完善。我们运行下:
看,这就是运行结果啦。很多学过编程的人的第一个程序也是这个。大家可以课后动手去写一下,感受编程的魅力。至于这段代码是什么意思呢,下一节会讲。

三、调试

接下来教大家如何进行简单的调试。所谓调试,就是debug。bug是臭虫,程序漏洞的意思。debug就是修复程序漏洞。我们在编程中,难免出现运行结果与预期不符的时候。这时就需要调试来确定bug位置并修复bug。为了更好地演示,我先定义一个函数和变量:
关于变量和自定义函数,以后会讲解。大家现在只要知道怎么调试就行。好了,我们开始调试。首先要打断点,比如这样。在某行(f()那行)左边点击一下,会出现打勾按钮:
然后查看上方下拉框里,是不是debug模式。如果不是就改成debug模式:
然后再点击上方的打勾按钮。这样,程序就会执行到断点处停下:

双击变量aaa。我们可以点击下方的添加查看,也可以右击-添加查看:
这样,左边的调试窗口就可以观察变量在程序运行时的变化啦:
右击,可以选择清除选项:
点击单步进入,就进入到我们定义好的函数里啦,蓝色箭头跳转到了函数里:

同时也可以看到,aaa的值发生了变化:
点击跳过函数,就跳出当前执行的函数了:

点击下一步,就会直接执行下一行,不会进入printf函数:
常用的按钮也就“添加查看”和“下一步”。所以这两个按钮大家要非常熟悉。我们来看下运行窗口:
可以看见,程序执行完了输出语句。点击上方的红叉或者“停止执行”,就结束调试了:

这就是调试的基本介绍了。除了调试,还有种方便的方式可以进入函数。按住ctrl键。然后会出现一个“小手”,点击左键即可进入:

好了,这就是本节课的全部内容啦。最后再提醒一下:
课程作业和答案都在讨论q群或者如下链接:
链接:课后作业和参考答案
提取码:l2du

感谢大家的阅读,我们下讲见,Bye bye~。

10讲学会C语言之第一讲:编程前的准备相关推荐

  1. 大学 C语言程序设计第一讲,c语言程序设计1第一讲(第一章上).ppt

    c语言程序设计1第一讲(第一章上).ppt 知识可以改变命运! 高级语言程序设计 主讲教师:贾彩燕 计算机与信息技术学院 计算机科学与技术系 cyjia@bjtu.edu.cn 计算机与人沟通 计算机 ...

  2. C语言数据结构-第一讲-数据结构基础概念-电大

    第一讲数据结构基础概念内容简介 数据是表征客观事物的可记录可识别的符号集合.数据是信息处理的核心基础. 本讲主要介绍了与数据结构有关的基本概念术语: l       数据 l       数据元素 l ...

  3. 写一篇C语言入门第一讲

     嗨~大家好~  我是小白,最近才使用这个博客,我是一个计算机系的学生,我会在这里发一些我给我们班其他同学讲C语言入门的博文,希望大家能共享这些资料,当然了,我也很希望大家给我提出好的意见或建议.(P ...

  4. c语言编程入门教程+网易,人话讲编程·C语言入门:第一讲,Hello World

    //前言 "凡是能够说的,都可以说清楚;凡是不能说的,就应该保持沉默." 维特根斯坦的这一教诲,令人深思--教育乃至生活,人生中的许多问题,都坏在这一点上--本来能够说清楚的,结果 ...

  5. c语言程序设计在哪讲,《C语言程序设计》讲.doc

    <C语言程序设计>讲 <C语言程序设计>讲稿 目 录 第一讲 C语言概述1 第二讲 C语言程序介绍2 第三讲 算法8 第四讲 数据类型(1)20 第五讲 数据类型(2)21 第 ...

  6. c语言 malloc_C语言数据结构 | 第一讲

    你凭什么不努力,又什么都想要. 数据结构是本学期开设的关于C语言升级进化课程.想必有上过这门课的同学都有体会到这门课的难度,如果你也是在这门课上受挫,那么接下来可以和我一起好好捡起C语言的知识,迎难而 ...

  7. 北京大学Cousera学习笔记--3-计算导论与C语言基础-第一讲.计算机的基本原理-计算机怎么计算-数的二进制...

    思考问题 1."数"在计算机中是如何表示的? 2.逻辑上"数"是怎么运算的? 3.物理上"数"的计算是怎么实现的? 从图灵机计算问题得出: ...

  8. 10分钟学会 SQL 语言核心知识点!

    在Java Web开发中必不可少的就是 SQL 语言!万能的 SQL 语言可以使你自由的徜徉于各种数据库的海洋中.而学习 SQL 语言一点都不困难,小编整理了整理了 SQL 语言常用的语法和命令,要让 ...

  9. c语言程序第一章编程,c语言程序的设计第一章 C语言编程入门.ppt

    c语言程序的设计第一章 C语言编程入门 第1章 C语言编程入门 本章是本书的入门篇,专为初学者熟悉编程过程.掌握程序结构而准备的. 本章学习目标 ? 1)? 能够通过模仿与改变来构造带有测试函数的C语 ...

最新文章

  1. 香港电影黄金配角,虽其貌不扬,演技却吊打小鲜肉,你认识几个
  2. Tool之Bazel:Bazel的简介、安装、使用方法之详细攻略
  3. 复制内存时检测到可能的io争用条件_这篇高并发服务模型大科普,内部分享时被老大表扬了...
  4. 【Python】import xxx 文件的加载顺序分析
  5. 职场提醒:面试失败n次以后
  6. python是动态_Python中的对象和动态性 [菜鸟的理解,高手莫入]
  7. 百度08年网页搜索份额73.2% 创历史新高
  8. 设计模式(一)单例模式:1-饿汉模式(Eager)
  9. 游戏玩家的留存率统计实现
  10. 在windows下安装Linux双系统共存不需要改引导(U盘安装版本)
  11. 智慧金融管理系统提供个性化的智能客户服务
  12. excel冻结窗格参与排序_冻结窗格以在Excel中隐藏行
  13. gophp解释器_golang底层用什么语言实现的
  14. 数据挖掘学习路线【转知乎某人的观点】
  15. 微信小程序实现锚点效果 scroll-view的scroll-into-view属性
  16. 网络安全:六种常见的网络攻击手段
  17. win10远程登录Ubuntu14.04图形化界面
  18. 双心ping GUI工具1.0
  19. 计算机及处理器温度要求国标,【国家标准】GB 4967-1995电子计算器通用技术条件.pdf...
  20. what?spring已经解决循环依赖了,为啥还报循环依赖错误?

热门文章

  1. 利用python提取视频中的字幕
  2. 利用 画图 快速给图片添加文字
  3. iOS 图片捏合放大缩小 点击放大缩小
  4. 浅谈软件可视化分析内存消耗综述中的识别方法
  5. PrivateKey私匙获取,签名生成
  6. Odoo 16 企业版手册 - 库存管理之库存调拨
  7. Python concurrent.futures 的 map 函数解释
  8. TCP的三次握手和四次断开
  9. html5以图片为背景的代码,HTML5画布背景图片
  10. canvas-绘制背景