C语言程序设计笔记(浙大翁恺版) 第一周:程序设计与C语言

按照中国大学MOOC上浙江大学翁恺老师主讲的版本所作,B站上也有资源。原课程链接如下:

https://www.icourse163.org/course/ZJU-9001

由于是大三抽空回头整理的,所以可能前五章会记的内容比较简略。此外,作为选学内容的A0:ACLLib的基本图形函数和链表两章也没有做。西电的考试是机试,理论上学到结构体就能够应付考试了,但为了以后的学习考虑建议全学。

 

其他各章节的链接如下:

C语言程序设计笔记(浙大翁恺版) 第一周:程序设计与C语言

C语言程序设计笔记(浙大翁恺版) 第二周:计算

C语言程序设计笔记(浙大翁恺版) 第三周:判断

C语言程序设计笔记(浙大翁恺版) 第四周:循环

C语言程序设计笔记(浙大翁恺版) 第五周:循环控制

C语言程序设计笔记(浙大翁恺版) 第六周:数据类型

C语言程序设计笔记(浙大翁恺版) 第七章:函数

C语言程序设计笔记(浙大翁恺版) 第八周:数组

C语言程序设计笔记(浙大翁恺版) 第九周:指针

C语言程序设计笔记(浙大翁恺版) 第十周:字符串

C语言程序设计笔记(浙大翁恺版) 第十一周:结构类型

C语言程序设计笔记(浙大翁恺版) 第十二周:程序结构

C语言程序设计笔记(浙大翁恺版) 第十三周:文件

其他各科笔记汇总

 

程序设计与C语言

计算机和编程语言

计算机与编程语言

计算机是怎么做事情的,编程语言是什么?

 

 

计算机如何解决问题

在这里插入图片描述
 

 

计算机语言

程序是用特殊的编程语言写出来表达如何解决问题的

不是用编程语言来和计算机交谈,而是描述要求它如何做事情的过程或方法

 

 

计算机的语言

在这里插入图片描述

 

 

计算机-程序-算法
请添加图片描述
 

 

算法

我们要让计算机做计算,就需要像这样找出计算的步骤,然后用编程语言写出来

计算机做的所有的事情都叫做计算

计算的步骤就是算法

 

计算机的思维方式

重复是计算机最擅长的

 

 

程序的执行

解释:借助一个程序,那个程序能试图理解你的程序,然后按照你的要求执行

编译:借助一个程序,就像一个翻译,把你的程序翻译成计算机真正能懂的语言——机器语言——写的程序,然后,这个机器语言写的程序就能直接执行了

 

 

解释语言 vs 翻译语言

语言本身无编译/解释之分,常用的执行方式而已

解释型语言有特殊的计算能力

编译型语言有确定的运算性能

 

C语言

为什么是C

C语言在工业界占有重要地位,在很多领域无可替代

 

 

为什么是C?

请添加图片描述
 

 

其他语言?

在这里插入图片描述

 

简单历史

关于C语言和版本的极其简单的历史

 

 

C语言

在这里插入图片描述

C语言是从B语言发展而来的,B语言是从BCPL发展而来的,BCPL是从FORTRAN发展而来的

BCPL和B都支持指针间接方式,所以C也支持了

C语言还受到了PL/I的影响,还和PDP-II的机器语言有很大的关系

1973年3月,第三版的Unix上出现了C语言的编译器

1973年11月,第四版的Unix(System Four)发布了,这个版本是完全用C语言重新写的

 

 

C的发展与版本-K&R

在这里插入图片描述
 

 

C的发展与版本-标准

1989年ANSI发布了一个标准——ANSI C

1990年ISO接受了ANSI的标准——C89

C的标准在1995年和1999年两次更新——C89和C99

所有的当代编译器都支持C99了

 

编程软件

C语言的编程软件选择太多,课程推荐Dev C ++

 

 

C语言是一种工业语言,用在哪里?

在这里插入图片描述
 

 

编译—>运行

C需要被编译才能运行,所以你需要编辑器和编译器或者IDE(集成开发环境)

 

 

推荐的编程软件

Dev C++(4.9 for Win7,5.0 for Win8)

免费、安装简单、不用建工程

 

 

其他选择

  • MS Visual Studio Express(Windows)
  • Xcode(Max OS X)
  • Eclipse-CDT
  • Geany(和MinGW一起)
  • Sublime(和MinGW一起)
  • vim/emacs(和MinGW一起)

 

第一个程序

第一个C程序

如何在Dev C++中编辑、编译和运行程序

 

 

// hello.c

#include <stdio.h>

int main()
{
    printf("Hello World!\n");

    return 0;
}

 

详解第一个程序

程序框架、printf、出错怎么办

 

 

程序框架

在这里插入图片描述
 

 

输出

printf("Hello Wordld!\n");

""里面的内容叫做“字符串”,printf会把其中的内容原封不动地输出

\n表示要在输出的结果后面换一行

 

 

程序中的错误

在这里插入图片描述

 

 

C语言的编译器不管空格,回车和缩进

在这里插入图片描述
 

 

不要用中文!

中国学生还有一个极其常见的低级错误,就是用了中文输入法来输入程序。那些标点符号,在中文和英文可能看上去相似,但是对于计算机是完全不同的符号,如果你还开了全角标点的话,问题就更严重了

 

做点计算

如何让程序输出算术结果

 

 

做计算

printf("%d\n", 23+43);printf("23+43=%d\n", 23+43);

%d说明后面有一个整数要输出在这个位置上

四则运算

在这里插入图片描述

 

命令行编译和执行

Mac OS X如何在命令行编辑、编译和运行C程序

 

 

在这里插入图片描述
在这里插入图片描述

编译快捷键:cmd + B

运行快捷键:shift + cmd + B

 

 

在这里插入图片描述
vi有三种工作方式,刚进入是命令模式,输入i进入插入模式编辑代码,结束后输入Esc回到命令模式,输入:wq保存并退出

 

在这里插入图片描述

  • 2
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
C语言是古老而长青的编程语言,它具备了现代程序设计的基础要求,它的语法是很多其他编程语言的基础,在系统程序、嵌入式系统等领域依然是无可替代的编程语言,在各类编程语言排行榜上常年占据前两名的位置。 本课程是零基础的编程入门课,是后续的操作系统、编译原理、体系结构等课程的基石。 —— 课程团队 课程概述 程序设计是一门基础课程。对于计算机相关专业而言,程序设计是专业基础知识,是进一步学习其他专业知识的第一步阶梯;对于非计算机专业而言,程序设计学习有助于理解计算机的能力所在,理解哪些是计算机擅长解决的问题,怎样的方式方法是计算机擅长的手段,从而能更好地利用计算机来解决本专业领域内的问题。 C语言是古老而长青的编程语言,它具备了现代程序设计的基础要求,它的语法是很多其他编程语言的基础,在系统程序、嵌入式系统等领域依然是无可替代的编程语言,在各类编程语言排行榜上常年占据前两名的位置。 对于非计算机专业的学生,学习本课程的主要目的是掌握程序设计的基本方法,C语言是教学媒介。但是对于计算机专业的学生,本课程是向后续的计算机组成、操作系统、编译原理、体系结构等课程前进的基石,对于C语言本身甚至程序设计语言基础原理的深入理解都是应该掌握的。 本课程是零基础的入门课程,完成本课程之后,就能具有初步的运用C语言编写程序的能力。要想完整的学习C语言,还需要进一步学习本课程的后续课程——《C语言程序设计进阶》。 程序设计是实践性很强的课程,该课程的学习有其自身的特点,听不会,也看不会,只能练会。你必须通过大量的编程训练,在实践中掌握编程知识,培养编程能力,并逐步理解和掌握程序设计的思想和方法。在这里所提供的,只是基础的知识讲解,要想学会编程,还需要更多时间的投入和努力。 为了学习编程,你需要有一台计算机,安装必要的编程软件。无论是MS Windows、Mac OS X还是Linux,都有适合C语言编程的软件。如果搞不定自己电脑上的编程软件,我们也会提供在网页中编写、运行C语言程序的方法。 课程大纲 01 程序设计C语言 课时 1 计算机和编程语言 2 C语言 3 第一个程序 02 计算 课时 1 变量 2 数据类型 3 表达式 4 在线评判系统 03 判断与循环 课时 1 判断 2 循环 04 进一步的判断与循环 课时 1 逻辑类型和运算 2 级联和嵌套的判断 3 多路分支 4 循环的例子 5 判断和循环常见的错误 05 循环控制 课时 1 循环控制 2 多重循环 3 循环应用 06 数组与函数 课时 1 数组 2 函数的定义与使用 3 函数的参数和变量 4 二维数组 07 数组运算 课时 1 数组运算 2 搜索 3 排序初步 08 指针与字符串 课时 1 指针 2 字符类型 3 字符串 4 字符串计算 预备知识 作为第一门编程课,本课程可以零基础学习。大学计算机(大学计算机基础、计算思维导论)等课程对于理解本课程的部分内容有帮助,但这些课程的学习不是必须的。 证书要求 课程的总分达到60分以上,可以获得本课程的合格证书。 课程的总分达到85分以上,可以获得本课程的优秀证书。 参考资料 何钦铭、颜晖,《C语言程序设计(第3)》,高等教育出社,2015年,ISBN 978-7-04-043128-3 颜晖、张泳,《C语言程序设计实验与习题指导(第3)》,高等教育出社,2015年,ISBN 978-7-04-043563-4 常见问题 Q:我需要特殊版本的计算机吗? A:任何计算机都可以用于C语言编程,包括但不限于各个版本的MS Windows、各个版本的Mac OS X、各种发行版本的Linux。有的手机有app也能实现C语言编程,不过我们不推荐那么小的屏幕。 Q:我需要安装特定的软件才能做这门课的作业吗? A:任何C语言的开发工具都可以。课程演示会使用Dev C++及命令行环境,但是你使用任何其他开发工具都不会影响做作业的正确性。可以使用的其他工具包括但不限于MS Visual Studio、C-Free等。 Q:每周会发布多少时间的视频?我需要花多少时间来学习? A:我们按照90分钟的授课时间来设计课程。但是发布的视频肯定小于90分钟,一般在50到70分钟左右。因为在线下上课时,老师可能会回顾一下上周的内容、某些内容会看学生的反应重复几遍、会当堂问做一些提问,以及在各种软件等教学工具之间切换,这些都要花点时间,而这些在线上课程中都不存在了,所以视频的时间不会正好是90分钟。但是一般我们设计课程需要1:1.5到1:2的课后学习时间,这包括预习、作业、练习和复习的时间,所以每周大约需要花费三到五小时的时间。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值