LAB0目标:
- 了解本门课程内容以及课程常用工具
- 环境搭建以及运行第一个C程序
- 其它编程工具及资源介绍(FTP,IDE,浏览器,网站等等)
联系方式:chenrh@fudan.edu.cn
- 张逸涵17302010076@fudan.edu.cn zhyh0916
- 黄蕙茹 17302010080@fudan.edu.cn hhr1035048971
- 俞继涛 17302010024@fudan.edu.cn 18717972612
注意:加入课程群请备注 姓名+学号+专业,未实名的账户将在一周后被清理。课程群主要用于课程通知、课程讨论等与课程相关的事物,切勿用于其他用途。
软件工程,大一必修专业课 周五6-8 课堂上课 周四 8-9 为实践课,每周基本上会有一个lab,期中期末会有一个PJ需要提交
- 遇到问题请先自我思考。其次,考虑使用Google/Bing/Baidu(
可能有些问题你问助教助教也是Google/Bing/Baidu)最后,再询问周围的同学和助教。 - 在完成Lab后,可以和周围的同学进行语言上的交流和代码上的交流(Code Review),积极地参与讨论。我们鼓励大家利用互联网资源进行学习,提倡同学间进行沟通交流。但是课程作业和PJ中严禁抄袭,一旦发现抄袭将会判定0分!!! (一旦确认真的会给
- 按时、按说明递交作业,如有情况请及时向TA通过邮件说明。
- 如果你不是大牛,请亲自来Lab课并当堂完成。当你抄了一个lab,会根本停不下来,起码学长学姐的历史上经常是这样的。程序设计有五学分,而且是编程生涯的启蒙课程,请大家务必认真对待,真的也不难!是最最简单的几门专业课之一。
获取:通过 https://github.com/fdu-20ss-programming-A/labX,获取(建议通过Download ZIP方式下载)。
本次文档在 https://github.com/fdu-20ss-programming-A/lab0 下载
提交物:按照具体实践要求完成并压缩。 本次要求将配置环境的过程、运行环境的测试结果、第一个C程序的运行结果截图并整理(格式为word或者pdf,页数不超过5页)。文档中也可以记录LAB遇到的问题或者对课程的想法。
提交:将提交物文档命名为学号_姓名 (如20302010000_王明),提交至超星学习通对应的作业中。
截止时间:每次需在规定时间内完成,超过时间提交按比例扣分 本次作业提交截止时间为:北京时间 2020年9月19日 23:59:59
github是程序员必须知道了解的重要合作平台,我们主要用它进行协作编程与代码托管,我们可以将自己的代码托管到平台中,这样就不用担心自己本地代码的丢失、污染,除此以外,这还是一个交流社区,其社交化编码的理念伴随着开源运动改变着整个开发社区的生态,无数优质项目依托GitHub在全球开源开发者的参与下蓬勃发展,在这里,你可以轻松的找到实现各种功能的代码。当你为了实现一个功能冥思苦想良久而不得后,不妨来这里找找灵感。大家可以进入该网站并完成账号的注册。(点击查看GitHub使用教程)
**再次强调:我们鼓励大家利用互联网资源进行学习,提倡同学间进行沟通交流。但是课程作业和PJ中严禁抄袭,一旦发现抄袭将会判定0分!!! **
在本学期我们可能用不到GitHub什么功能,但是在之后比如web课程的教学中大家就会对GitHub有更多的了解和使用。
超星学习通是本课程的重要教学辅助工具。它可以用作课程学习、课堂互动、作业发布与收取、资源共享等。下面将对学习通APP进行简单的介绍。
1、登录选项处选择其他登录方式:
2、在机构栏输入并选中复旦大学:
3、选中复旦大学后会弹出复旦大学统一身份认证页面,输入用户名和密码登录:
这样就通过使用复旦的认证平台登录了学习通(为了方便下一次登录,可以完善账户信息,绑定手机号以方便通过手机号登录)。
1、在APP首页的右上角存在“邀请码”,点击邀请码后通过输入邀请码方式加入课程:
2、这里输入程序设计课程的邀请码-78355980,以加入课程:
1、加入课程后点击该课程可以进入课程内容页面:
学习通中会在此处通知主题讨论的发布,课堂选人等。
2、点击“作业/考试”可以查看作业完成情况:
3、点击“章节”可以查看课程章节资源(主要是视频教学资源):
-
学邮 mail.fudan.edu.cn
校园中相对严肃、重要的事务大多是通过邮箱进行通知的,这其中包括课程信息、社团信息、留学信息等。除此以外,它也将是同学与导师之间沟通的重要途径。希望大家能够养成定时查看学邮的习惯,重要信息一旦错过可能会比较麻烦。
因为邮箱大小有限,大家也可以选择使用其它邮箱服务器代收学邮邮件,这样你的学邮一旦收到了信件,比如这里是QQ邮箱代收教程点击查看设置教程
-
校园WiFi
-
校园网: fduwireless 会有跳出来的网页,需要登录 fduwireless.1x 设置好账号和密码后一般不需要重复设置,推荐使用。账号为学号,密码为URP密码(或者邮箱密码) iFudan.1x 同上
-
eduroam 世界统一教育网,账号为复旦学邮,密码为URP密码(或者邮箱密码)
-
-
学校正版软件
复旦大学花高价买了很多正版软件造福学生,请参考以下链接: http://www.ecampus.fudan.edu.cn/2442/list.htm
http://baishitong.fudan.edu.cn/wiki/正版软件
请注意根据指示下载,部分软件可能只能在校园网环境下使用
-
想在寝室或者家里连接校园网,也是有办法滴!(PS:但是lab课还是要来的)下载Easy Connect软件,输入URP信息,连接后,相当于你处于校园网环境中。
课程学习的编程语言为C语言。C语言是一种高级语言,由高级语言编写的程序为源代码。计算机不能直接运行源代码,必须将源代码翻译为机器可执行的机器代码后计算机才能运行程序。从上述过程可知,完成编程过程需要两个重要工具:代码开发环境以及编译器。
代码开发环境是开发者的工作平台,开发者直接在代码编辑器中编写代码完成特定的程序。除了编辑功能,代码开发环境一般也包括了代码补全、代码静态检查等功能。
编译器将高级语言编写的源程序翻译为机器可执行的格式。主流的C语言编译器包括GCC以及Clang。GCC是最通用的编译器,对标准支持比较好,所以一般推荐GCC编译器。
除了以上两者,调试器也是编码中常用到的工具。调试器让程序在希望的地方停下,此时支持查看变量、寄存器、内存及堆栈。更进一步能够修改变量及内存值。GDB是主流的C、C++调试器,功能强大,特别方便开发者调试程序寻找bug。
不同的操作系统对软件的支持程度不一样,所以配置各种操作系统的过程有所差异。主流的操作系统为Windows,MAC OS,Linux。个人电脑主要为Windows以及MAC OS,所以我们将分别介绍Windows和MAC OS配置环境的过程。
MinGW(Minimalist GNU For Windows)是个精简的Windows平台C/C++编译器。MinGW提供了一个完整的开源编程工具集,方便开发者进行C/C++运行库的管理。通过MinGW我们能够很快安装GCC以及GDB等编码环境。
点击链接后,浏览器将会自动下载MinGW,等待下载完成即可。
超星课程中我们已经准备了相应的文件,同学们可以直接在课程资源中找到本次lab的所有安装包。具体路径为:超星主页->C语言程序设计->资料->C编译环境。
注意:安装时请保证网络能够正常使用。
打开下载好的mingw-get-setup.exe安装程序,按照默认选项进行安装。
安装路径默认在C盘,我们也可以自定义安装位置。
注意:安装的位置将会在后面使用到,所以请务必记住安装的路径。
MinGW安装结束后,我们将会看到MinGW的包管理页面。
在MinGW包管理页面中,找到mingw32-gcc-g++-bin,点击选择Mark for Installation。
点击MinGW包管理工具左侧All Packages,再点击MinGW Base System。在右侧列表中寻找mingw32-gdb-bin,点击选择Mark for Installation。
点击左上角的 Installation 菜单中的 Apply changes 选项,然后管理器将开始在线安装或更新被选中的组件。
安装完成后关闭包管理器,如果由于某种原因安装未能成功,在退出程序前程序将给予提示,选择 review changes 选项重新安装即可。
这一步如果出现GDB无法安装的问题,请去掉第二步的GDB选项,先下载GCC编译器。之后从超星资源中下载gdb-7.6.1-1-mingw32-bin.tar.lzma文件,解压后放入MinGW/bin文件夹中。
环境变量是指操作系统运行环境的参数,一般是文件夹路径。当我们输入gcc命令时,我们希望操作系统在我们指定的位置上寻找gcc文件。
打开 控制面板 -> 系统和安全 -> 系统 -> 高级系统设置 -> 环境变量。
在系统变量中寻找Path,点击编辑。
点击新建,在尾部插入MinGW安装的路径,点击确认。
注意,这里使用默认路径,如果你修改了MinGW的安装路径,请使用你自己配置的MinGW安装路径下的bin文件位置。
之前的工作完成后,我们测试一下已经配置好的环境。
键盘输入win+r,打开的页面中输入cmd,点击确定。
完成后,将打开命令行终端。
在终端中输入gcc -v查看GCC的版本信息,输入gdb -v查看gdb版本。
如果出现以上结果,则说明安装成功。如果出现gcc命令不存在的提示说明过程有误,建议检查环境变量的路径是否正确。
Code::Blocks是轻量级的C/C++的集成开发环境。本课程主要以Code::Blocks为例讲解代码,希望大家都能准备Code::Blocks开发环境。
点击链接,下载Code::Blocks安装包。Code::Blocks安装包相对比较大,下载时请耐心等待。
打开安装包codeblocks-20.03-setup.exe,按照提示,使用默认配置即可。
Code::Blocks安装位置可以根据自身情况自由选择。
Code::Blocks是代码开发平台,我们需要为其指定gcc编译器以及gdb调试器。
安装完成后,打开Code::Blocks。
打开 Settings->Compiler->Global compiler settings->Toolchain executables。修改Compiler's installation directory 为MinGW/bin的路径。
打开Settings -> Default,修改executable path为MinGW/bin/gdb.exe的路径。
至此,Code::Blocks开发环境准备完毕,同学们可以根据课程内容尝试在Code::Blocks上运行程序。
command + 空格 打开聚焦搜索,在搜索框中输入 terminal,点击下方 “终端” 或直接回车,即可打开终端
在终端中输入:
$ gcc -v
若终端返回以下内容,则说明你已经安装好 gcc 了,若没有返回类似内容,你需要在 App Store 内下载 Xcode 软件,再重新打开终端尝试。
MAC OS安装Code::Blocks相对比较繁琐,具体参考链接。
编程工具是次要的,在MAC OS上我们更加推荐Clion,具体安装过程请点击这里。
Clion是商业软件,学生可以进行学生身份认证获取一年的免费使用权限。
Hello World是著名的贝尔实验室提出的范式了,学任意编程语言,Hello World都是起始代码。在集成编译环境中,很多必要的工作被IDE(集成开发环境)隐藏,所以第一次LAB我们希望大家先学习最经典的程序运行方式。这里我们将学习如何在命令行中编译运行helloworld.c。
在桌面新建文件helloworld.c,将以下代码复制至文件中,保存文件。
#include <stdio.h>
int main(){
/* 注意这里是\n不是/n,ORZ */
printf("Hello World\n");
return 0;
}
这里只需要用简单的文本编辑器编辑文件即可。Windows可以使用记事本,MAC OS可以使用文本编辑器。
helloworld.c文件的位置可以自由选择。
使用配置环境中提到的方法打开命令行终端,输入以下命令:
# Windows用户
$ cd desktop
# MAC OS用户
$ cd ~/desktop
因为我们创建的文件在桌面上,所以我们能够在当前位置找到helloworld.c。
cd是命令行中常用命令,用于切换工作目录。这里我们使用cd命令寻找helloworld.c的父目录。
在helloworld.c所在文件夹中输入以下命令编译程序:
$ gcc helloworld.c -o helloworld.exe
编译成功后将在桌面产生helloworld.exe可执行文件,然后输入以下命令运行我们编译输出的文件:
# windows用户
$ .\helloworld.exe
# MAC OS用户
$ ./helloworld.exe
看看能否输出Hello World?
如果成功输出Hello World,那么恭喜,编程生涯正式开启!
已经是时代的眼泪
FTP 站点类似于云盘,在FTP上可以下载软件学院的课程资料
进入FTP之前必须连上学校内网
源地址:ftp://10.12.5.33
- 使用ftp客户端或者Windows资源管理器,在学校内网下访问,用户名与密码都是学号,登入之后请改密码。
- 还有一个无门槛的账户(用户名
ss密码ss),提供紧急使用。 - Mac端推荐使用fileZilla作为客户端,地址在学院文件夹里。
-
集成开发环境(Intergreated Development Environment)是辅助程序员开发的应用软件的一个总称
在实际开发中,除了运行程序必须的工具外,我们往往还需要很多其他辅助软件,例如语言编辑器、自动建立工具、除错器等等。这些工具通常被打包在一起,统一发布和安装,例如 Clion、code::blocks等,它们统称为集成开发环境(IDE)
- Visual Studio (for Windows)
- Xcode (for Mac)
-
- Visual Studio Code (强力推荐)
- Atom
- Sublime Text
























