Skip to content
"People worry that computers will get too smart and take over the world, but the real problem is that they are too stupid and they have already taken over the world."— Pedro Domingos

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,输出看清保留的小数位数