2020春C语言程序设计(苏小红)哈尔滨工业大学

王国维在《人间词话》中说:古今之成大事业、大学问者,必经过三种境界:

昨夜西风凋碧树。独上高楼,望断天涯路。

衣带渐宽终不悔,为伊消得人憔悴。

众里寻他千百度,暮然回首,那人却在灯火阑珊处。

成为编程高手的过程中,同样也要经历这样三个境界。

大牛给计算机专业学生的7个建议,告诉你为什么毕业前要学好C语言

来吧小伙伴们,和我们一起踏上爱上程序设计之旅吧。

了解软件开发的基本过程和集成开发环境,具备程序测试和调试的能力;掌握多种程序设计技巧和程序调试方法,具备良好的编程素养,针对具体实际问题能够选择恰当的算法和数据结构,并综合运用所学程序设计语言、方法、技巧和常用问题求解策略设计实现程序的能力。

因疫情防控需要,各位同学不能及时返校,为了减轻各位同学的学业负担,我们重新拟定了本学期的成绩累计方式,减少了考核的环节,尤其是后半学期开展的考核环节,去掉了小班主题研讨和课堂大翻转。具体如下:

(1)自主式作业

由系统随机抽题的自主式作业,占总成绩的25%。

1)根据学生上机测试成绩柔性定制个人作业满分线,使其个人作业满分线与其上机测试总成绩成反比。个人作业满分线=(实验上机随堂测试满分线-实际上机随堂测试总分)*100。若按此公式计算出来的满分线超过了2000分,则2000分封顶,即2000分为个人刷题满分线的上限。

2)若未达到自己的个人作业满分线,则按下面公式计算:个人实际刷题分数/个人满分线*作业满分25分。例如,学生上机测试分数为35分,则其个人刷题满分线为500分,其实际在sse只刷了250分,那么其最终sse作业分为250/500*25=12.5分,如果其实际刷题等于500分或者超过了500分,那么其sse作业分为500/500*25=25。

3)在习题市场中自主设计有创意的题目或找错题,每录用1道题或找到一个错题,可减免作业分20分(相当于降低其个人作业满分线)。

4)多次上机考试的总成绩达到满分或超过满分者,可免自主式作业,成绩按满分计;

5)参加ACM/ICPC、NOI/NOIP竞赛获得省赛一、二等奖或校赛一等奖者,可免自主式作业,成绩按满分计。

(2)开放式实验大作业

开放式实验大作业,占总成绩的30%。

实验程序和实验报告的综合成绩由学生在SPOC里互评,教师对学生互评结果进行随机抽查,对于不合理的分数可以由教师重评,取代学生的互评分。

不做实验大作业者,即使其他项分数累计可以及格,最终的总成绩也一律按0分计。

(3)实验上机随堂测试——返校后进行

实验上机随堂测试,占总成绩的40%。

第1次实验课熟悉系统环境,进行模拟演练,仅安排2个实验学时。

第2次~第4次实验课,利用3学时进行实验上机随堂测试和试卷点评。实验上机测试内容分别覆盖基本控制结构和穷举/递推/迭代/递归等问题求解算法、排序和查找算法、字符串/结构体/链表等内容。

每次上机随堂测试必做题满分为50分(另有附加分2分),总计考3次,取3次测试的平均分作为实验上机测试的总分。

因属于随堂测试,故缺考者不给补考机会,当次考试成绩按0分计。因病不能参加考试者,需出具医院开的病假条,按实际参加测试的次数计算平均分。

参加ACM/ICPC、NOI/NOIP竞赛获得省赛一、二等奖或校赛一等奖者,可免上机测试,成绩按满分计。

占总成绩的5%。

课程最终成绩=(1)+(2)+(3)+(4)

其中,(1)+(2)+(4)合计60分,有电脑和网络条件的同学可以考虑在返校前完成。

课程最终成绩=(1)+(2)+(3)+(4)+(5)

开放式实验大作业互评标准:

报告模版在spoc的“实验互评”里下载。

每个学生至少评5个(爱课程网站要求至少5个)。未参与互评的将给与所得分的50%,未完成互评的将给与所得分的80%,全部完成互评的将给与所得分的100%。若代码涉嫌抄袭或雷同,则整个大作业直接按0分计。

综合应用包括小型信息管理系统和游戏类程序两类开放式题目,供学生自由选择,要求按照算法、数据结构和简单应用的各个知识模块进行组合应用,不同组合具有不同的难度。

1)算法和数据结构的难度——10分

数据结构的起评分:

2分:数组

3分:结构体数组

4分:结构体数组+指针(结构体指针/指针数组/函数指针/动态数组等)

5分:链表等动态数据结构

在以上起评分的基础上,按以下要素累计算法加分,10分封顶。

+1分:枚举/递推/迭代/分类统计

+1分:排序/查找

+1分:模糊匹配

+1分:文件操作

+1分:加入音效

+2分:递归

2)程序设计质量——6分

加分原则:按以下要素累计加分,6分封顶

+1分:模块化设计,模块划分合理,函数接口简洁,独立性和可复用性好

+1分:防御式编程,健壮性好,对错误或非法输入有容错能力,函数有入口参数检查

+1分:代码规范,函数和变量命名见名知意,代码有缩进,代码有注释,可读性好

+1分:用户界面友好

+1分:增加了新颖独特的设计

扣分原则:在以上加分的基础上,按以下要素累计扣分,0分封底

-2分:程序有bug

-1分:代码可读性不好

-1分:代码健壮性不好

-1分:模块独立性不好,使用了大量全局变量

3)实验报告中反思内容的撰写质量——4分

按以下要素累计加分,4分封顶。若实验报告中有雷同内容,本项分数直接按0分计。

+1分:认真,格式规范

+1分:有编程中遇到的问题及分析

+1分:问题的解决过程、方法和反思内容真实可信

+1分:流程图无错误

大学计算机课程中已经学过的二进制、内存、冯诺依曼计算机基本工作原理,基本控制结构以及算法的概念和表示方法等基础知识。

高等数学中有关定积分的基础知识。

线性代数中有关矩阵运算的基础知识。

该网站的服务对象是我们自编教材的读者,提供教材课件、例题源代码、教材勘误表等资源,便于学生浏览和下载后自学,读者也可利用该网站反馈教材使用意见和建议。

该网站的服务对象是使用我们自编教材的读者,在我们编写的由高等教育出版社出版的《C语言程序设计(第3版)》的封底有一个刮刮卡,刮开可以获得一个免费的注册账号,登陆我们开发的C语言作业在线测试系统,在该系统中可以自主选择教材对应章编号中的习题进行自测,提交习题答案后,系统会实时显示评分,另外在习题市场中读者还可以发布题目给其他读者练习。

3.参考教材

(例如codeblocks-16.01mingw-setup.exe,务必选择带mingw的安装包)

Q:如何提问,能得到快速的解答?

A:

1)标题:撰写标题时,要注意把要问的问题的出处和核心词写出来,最好用【】标出来,比如【第1周编程题在线测试的第1题】求解。

2)内容:内容上要把你不懂的地方说出来,最好详细点,把自己尝试修改的过程也说一下。

3)附源代码:把源码贴到讨论区(不要使用图片,因为图片看不清,也不能拷贝),这样大家可以通过你贴出的源码帮你分析错在哪里。

4)附错误提示:把编译出错的提示也贴出来(一般是英文形式),这样大家不用拷贝粘贴和调试程序也能帮你分析出错原因了。

Q:常见的运行结果错误的原因有哪些?

A:程序提交后通常显示三类错误:格式错误、结果错误、运行超时。

对于格式错误,请检查你的程序的输入输出信息是否和题目要求的完全一致。

对于结果错误,请检查你的程序使用的算法和计算公式是否正确,如果涉及浮点运算,可以尝试将float换成double或者反之。

对于运行超时错误,请检查你的程序是否存在死循环,死循环通常由永真的循环控制条件或者while后面添加了不必要的分号引起。注意在本网站提交程序进行测试时,不要使用flush()函数清除缓冲区,输入字符串也不要使用fgets(),原因详见视频讲解。

注意事项如下:

1)数据输入输出的格式没有严格按照题目的要求写,直接拷贝粘贴题目中给的格式字符串和提示信息,是最简单和不易出现格式错误的方法。

2)输入输出字符串中的字符大小写有错误,或者空格数量和位置与题目中的要求不一致,或者缺少换行等。

3)仔细审题,例如题目要求计算半圆的周长,就不要加上直径,更不要计算整个圆的周长。

4)如果只有几个测试用例通过,还有没有通过的测试用例,那么说明你没有考虑所有的可能性,甚至是非法输入的情况。

5)检查是否为英文输入,切记切换成英文状态再输入。一些同学误用了中文作为输入法,就会出现不能编译的问题,例如中文状态下输入的分号和英文状态下输入的分号是完全不同的,语句的末尾使用的分号一定要在英文状态下输入。

Q:如果无法正常观看视频,我该怎么办?

A:如果无法正常观看视频,请尝试进行如下操作:

1.确认你使用了支持视频播放的浏览器。切换到flash播放器无法调整播放速度,切换到HTML5播放器可以调整播放速度。建议都切换到HTML5播放器。

2.清除浏览器的浏览数据及缓存。

3.关闭硬件加速。请在浏览器的设置-显示高级设置中,将“使用硬件加速模式”(如果可用)一项取消勾选,并重新启动浏览器。

4.检查你的网速。你可以尝试在其他视频网站播放视频(如优酷、土豆等),如果你在其他网站仍无法观看视频,那么你的网络连接很可能有问题。你需要重新连接你的网络或者切换至网速更快的网络以实现流畅的视频播放。

Q:我想考二级,学完这个课程可以考吗?

Q:上机编写C语言程序使用什么软件好?

Q:使用codeblocks在sources中新建一个file,也就是不在原来默认的main.c里面写代码,那么应该如何调试才能使运行的时候直接运行新建的里面的程序呢?

A:给工程添加完新的文件后,移出旧的文件main.c再重新编译即可,移出文件的方法和添加的方法类似。

Q:为什么安装好软件后创建新项目的时候软件总是说:couldnotsaveprojectmaybethefileiswrite-protected呢?

A:codeblocks要求软件安装的目录最好不要带空格或汉字,不要按默认设置安装到programfile目录下,卸载后再选择安装到根目录下试试。更多注意事项,参见高等教育出版社的《C语言程序设计学习指导(第3版)》

Q:请问为什么我在Code::Blocks里面点开Debug中的watch里面是空白的?

A:按照视频1.2讲的方法新建一个控制台应用程序,不要直接新建一个C文件,直接新建或者打开一个C文件是无法使用调试功能的。

检查一下是不是将CB安装到默认的programfiles目录下了,CB不能安装到中文或者有空格的目录下,请卸载软件,重新安装到根目录下,再试试。

此外,全速运行程序时,是看不到watch窗口内的内容的,必须在单步运行的时候才能看到watch窗口内的内容。

Q:为什么我的程序编译不了?

C语言集成开发环境code::blocks的安装和使用方法见教材《C语言程序设计学习指导(第3版)》

如果不想重装系统,可参考

另一种可能是你用的系统自带了迈克菲杀毒软件,请卸载迈克菲上毒软件即可。

Q:为什么我的程序无法运行,显示cannotopenoutputfilebin\Debug\election.exePermissiondenied.

A:可能是你的文件正在别的程序中使用,或者还有程序的副本正在执行(或者你上次运行没有关闭),因此不能写入election.exe,把副本关闭或者结束election.exe任务应该就能够纠正这个问题。另外,请检查一下你的IDE是不是是不是安装到C盘的默认目录下了,请将IDE安装到D盘,并将你的程序也保存到D盘,不要保存到C盘。

Q:为什么我的程序与网站上的程序运行结果中的小数点最后一位存在差异?

A:这是因为网站的OJ使用的操作系统和编译器与我们自己使用的操作系统和编译器不一样,从而导致浮点运算的精度不一致。

此外,使用float和double定义变量得到的计算结果也可能在结果的最后一位小数上有所不同。

由高教社联手网易推出,让每一个有提升愿望的用户能够学到中国知名高校的课程,并获得认证。

THE END
1.下列分数中,最接近“1”的是()A.B.C.1D.发布:2024/12/10 18:30:5组卷:35引用:11难度:0.9 解析 3.巧手包装活动中,一条彩带分两次用完。第一次用了 5 6米,第二次用了全长的 5 6,两次用的彩带长度相比较,( )用的长。 A.第一次 B.第二次 C.无法比较 D.一样长 发布:2024/12/10 6:30:2组卷:77引用:1难度:0.8 解析把https://www.jyeoo.com/shiti/c02b6d10-1524-4158-5a3e-ab7d25f93cfd
2.一年级数学训练题100道,深度数据应用实施2D99.59.15摘要:本内容主要涉及一年级数学训练题共100道,旨在提高一年级学生的数学能力。还涉及深度数据应用实施的方面,可能是将这些数学题目与数据分析相结合,以更有效地实施数学教学和评估。具体细节如实施时间等标注为2D99.59http://hbpdxcl.com/post/33264.html
3.Python每日一练:算法的使用指南我们使用一个while True循环来不断尝试不同的鱼的数量,直到找到一个符合条件的数量。 在每次循环中,我们模拟五个人依次分鱼的过程。每个人分鱼时,都会扔掉多余的1条鱼,然后将剩余的鱼平均分成5份,自己拿走一份。 我们使用一个标志变量enough来记录当前的鱼的数量是否满足条件。如果在某次分鱼时不能平均分成5份,https://yun.zjer.cn/space/index.php?r=space/person/blog/view&sid=172778&id=39543787
4.《中国在线开放课程发展报告》刊发山东大学推动在线课程建设创新山东大学致力于加强数学、物理等基础学科精品慕课建设,共享优质教育资源,促进教育公平。山东大学《物理学》被评为国家精品资源共享课、《大学物理》被评为国家精品在线开放课,系列MOOC课程在爱课程中国大学慕课、学堂在线和智慧树平台在线开放授课,构建了具有山东大学特色的“大学物理—医学物理学—物理与文化”系列在线https://www.view.sdu.edu.cn/info/1022/147966.htm
5.热力工程设计范文12篇(全文)热力工程中管线主要受力由工艺专业提供, 有轴向力和侧向力。轴向力主要有热膨胀力、内力和热应力。侧向力由分支管产生。本文主要讨论轴向力作用下的墙式固定墩。墙式固定墩在外力 ( 热管的轴向力) 作用下, 会产生位移, 推动土体, 使固定墩承受被动土压力, 摩擦力来抵抗以上供热管道传来的轴向力, 固定墩的位移https://www.99xueshu.com/w/ikeyeaje6iw1.html
6.国家高等教育智慧教育平台国家高等教育智慧教育平台是由教育部委托、高等教育出版社有限公司建设和运行维护、北京理工大学提供技术支持的全国性、综合性在线开放课程平台。本网站致力于汇聚优质高等教育在线课程等资源,并推进广泛传播与共享,面向高校师生和社会学习者提供全面、优质、便利的课程搜https://www.chinaooc.com.cn/search?keyword=%E9%87%91%E7%8E%B2
7.中国式教学(精选十篇)这两三年来,不仅高校,互联网企业也纷纷加入在线教育产业中来。各网络媒介也陆续推出在线教育共享平台,如网易视频公开课和网易云课堂、淘宝同学等。爱课程网携手云课堂打造的在线学习平台“中国大学MOOC”,在线数字资源供应商超星集团推出“超星慕课”,卓越睿新数码公司联合东西部高校课程共享联盟共同推出的“智慧树”等慕https://www.360wenmi.com/f/cnkeyc2unnrm.html
8.信息素养大赛(三)腾讯课堂、百度传课、网易云课堂、淘宝大学等课 程平台分别有腾讯、百度网易、阿里巴巴公司开 发,这些系统积累了大量的视频课程资源。由于这 平台由商业公司开发,所以里面的课程都是收费 的。 判断题 错误. 音乐网站一般不提供专门的音效资源,查找音效资 https://www.bilibili.com/read/cv13663066/
9.数字素养专题培训数字素养专题培训中,以下哪项不是提升数字素养的关键技能? A.数据分析能力 B.编程技能 C.书法技艺(正确答案) D.信息检索能力 在数字素养培训中,关于数据安全的哪项内容最为重要? A.数据备份技巧 B.数据恢复方法 C.数据保护意识(正确答案) D.数据传输速度 数字素养培训中,以下哪项是提升工作效率的有效工具? Ahttps://wenku.baidu.com/view/484fb991677d27284b73f242336c1eb91b37332f.html
10.微信公众平台共同进步:通过资源共享和经验交流,帮助你的数学成绩稳步提升。 自助互助:在这里,得到帮助是幸运的,但主动寻求和提供帮助才是我们的核心价值观。 【高斯课堂】 广东省广州天省实验学校2024-2025学年高一上学期中段质量检测数学试题 广东省名校联盟2024-2025学年高一上学期期中联合质量https://mp.weixin.qq.com/s?__biz=MzU0MjEyMDU2Mg==&mid=2247601784&idx=8&sn=61d0b2d3a294f8e6ae834e032ec19d1e&chksm=fad8590187362e26d15b1165a5628bade947cc8c2ec4d9a3f1630d2703f726185568ecc544c9&scene=27
11.线上课程如何达到高质量教学效果——中国青年网从2012年开始跟上国际慕课大潮,到2018年教育部提出一流本科课程“双万计划”(1万门国家级和1万门省级一流课程),再到2020年11月推出首批5118门国家级一流本科课程中的1875门线上、728门虚拟仿真类课程,通过十年建设,我国数字化学习和在线课程取得了举世瞩目的成效。但在实际应用中,线上课程要真正达到高质量的教学效https://t.m.youth.cn/transfer/index/url/news.youth.cn/hotnews_41880/202205/t20220503_13662639.htm
12.心理学自学简明指南诸葛梦宇,主要来来源“爱课程”,这部分课程在网易公开课,哔哩哔哩都有相当多的视频,可以挑选自己喜欢的课程进行学习。 2.国外课程 国外课程同理,搜索XXX+online,会出现许多免费的课程,不怕找不到,就怕你不找。例如coursera的上的课程:https://www.coursera.org/browse/health/psychology https://www.douban.com/note/857157708/
13.采用贷款人受托支付的,贷款人应要求借款人在使用贷款提出(),并爱课程平台里的“资源共享课”栏目按照“本科、高职高专、教师教育和网络教育”进行了课程分类。 A. 正确 B. 错误 查看完整题目与答案 快速标注的命令为( ) A. QDIM B. XDIM C. ADIM D. ZDIM 查看完整题目与答案 Bankart损伤包括哪两种分型 A. 纤维性损伤 B. 软骨性损伤 C. 骨性损https://www.shuashuati.com/ti/a4eeb3064e1641f8979b6cf864b20198a2.html
14.高等数学学习方法(7篇)在高等教育自学考试的很多专业中,很多都有高等数学课程。很多考生反映,高等数学(一)通过非常难,林士中老师所教授的高等数学课程一直受到广大网校学员的好评。在授课之余,林教授传授了通过高数的诀窍。他说,在学习高数(一)之前,首先你要打好基础,把初中的数学补回来,再参加这两门课程的考试就好的多。 https://www.yjbys.com/xuexi/fangfa/3455308.html
15.控制理论导论自动控制类资源汇总第四期:网络课程课程体系: 【导论性质课程】 自动化专业导论 视频公开课播放页?www.icourses.cn 【数学基础课】 高等数学 爱课程?www.icourses.cn 线性代数 爱课程?www.icourses.cn 概率论与数理统计 爱课程?www.icourses.cn 复变函数 爱课程?www.icourses.cn https://blog.csdn.net/weixin_39533280/article/details/111328936