Skip to content
"Machine intelligence is the last invention that humanity will ever need to make."— Nick Bostrom

C 语言程序设计基础

基本信息

课程名称:C 语言程序设计基础

课程介绍:本课程是计算机科学的基石,旨在通过学习 C 语言的语法逻辑、内存管理与算法实现,培养学生严谨的程序设计思维,为后续学习操作系统、数据结构等核心课程打下坚实基础。

课程画像:

  • 课程类型:平台
  • 学分:3 学分
  • 考核方式:平时编程作业 · 多次机试

课程资料区

课程资料库(往年课程主页):repo

课程教材:

  • 《C语言程序设计:现代方法(第2版•修订版)》,K.N.King 等 著,人民邮电出版社
  • 《程序设计教程 用C++语言编程(第3版)》,陈家骏,郑滔 著,机械工业出版社

经验分享区

课程定位评价:

  • 对于零基础同学,前期的环境配置有一定门槛,建议学会自己搜集资料,多和老师、助教交流
  • 课程整体难度中等,平时需要多加练习提高实际编程能力
  • 进阶期:指针相关内容是整门课的分水岭,理解了内存地址与指针的关系,课程难度会大幅下降

考试情报:

  • 往年考试都是机试的形式,难度一般与平时作业相仿,难度适中
  • 考前复习建议复习重点的算法,复习结构体、指针、链表、函数、递归等基本的概念和操作(例如给定一个链表,对于如何代码实现链表创建、插入、删除等操作要很熟练)
  • 可以去 leetcode洛谷 等网站上寻找相关题目进行练习

高分策略:

  • 机试的通用策略就是简单题尽可能拿满分,难题尽量拿到大部分的分数,在有限的时间内不用过于追求每一道题都回答得完全正确;遇到多次0分的题也可以先跳过,避免卡死在一道题上面。

  • 考前熟悉机试的环境,包括使用的编程软件和编译器等,避免外界因素的干扰

  • 针对平时作业中经常出现的问题去进行总结反思和改进,例如边界条件的选取、链表是否会陷入循环等问题

  • 机试的时候,可以使用断点进行调试,也可以通过多次输出去检查正确性。例如在 scanf 输入之后,可以先打印一下,以判断是否进行了正确的输入

机试常见问题总结

  1. VS 会对 printf 报错,最方便的解决方式是使用 printf_s 代替 printf
  2. 代码的各种字符都要用全英文字符
  3. 注意区分不同的输入读取方式 scanf, getchar 等,尽量使用 %s 读取字符串,而不是循环使用 %c
  4. 浮点数用 double 而不是 float
  5. 需要得到浮点数的除法,尽量两边都强制类型转换,如 (double)x/(double)(2);或直接使用 (double)x/2.0,输出看清保留的小数位数