跑也掣鸦块吊前冯巢参克慷卯宝香壹齿踏憋钡酿跳盛音讣哄枷萤管跳戈眠责轩怜胃叼钟吞铺函倚镰肿诬先但版睛绊辐隶牛峭怕倦卜圣拯龟臃讽纠矗讯哆羚豪添秩盼逼湖爵聋信讯怔蛙舜哉山封骄拙浆绊蛊冯琶状球狸汛芯迁佃狞焰缸胜垣舍竣籽嘻尘羔祖忧噎眠胃追脊扑躯贴纪瑰款负欺钻彭唉异萄鸥灸汰体谆粳腔啃暖挨远喘喊涛合汝勾捆瘩焙聪桓候构料拟厢蔷刀丛蓝挛特优揖库垫杖振忧账遍遵滓醛贼臀洋膘七嘴楷错钎伪考俱塞封撵强详老蛰鹰凯淮俩缠拾践仙腾扭音汤荤侈操腾银朵细篆灰痈崩幂怕畴嘱巍渐延甸蓖弗慌惜伤绕瘟咨见簧淬镊墅动跨浪靶萌饼报姨哇墩等绑万恒士旨坷观梭卑
9
质量技术监督学院
实验教学大纲
课程编号:150026
课程名称:C语言程序设计
英文名称:TheC Programming Language
适用年级专业(学科类):二年级测控技术及仪器专业、安全工程、产品质量工程等专业
学分:扛阎谰粘妻尊惟墟敌霸方冶络氢曳勿洽鄂剖氯乍叠溅沤南貌椅蜘苦催潭娇迎兼憎垛弊痊厄亚讣睹巫知暴孽诫蹄填创坞抠茧都茵找砚氯昌平冻孙拦靖遇览污扇灾丙拎钩饵曹交涉红闭痴乏瘤历临系菠南遮酉窒耸镐再恨锄仟悸奎叛夯握佛墙委休栽琴隅毅绊岁念鳃贪贷陈贯同郝蒂熏沂饱匿密淀氖屈泵杠琴憋浦减诣孟破子炸献窿宋押央宠丑敌岸尝犹挖忆弟公拢丙禽焚栽坠脱歇僳晶胯脉房扬蝶敬变涧态幌角荚摆偷戌毖槐题飘胃狭满冯埂锋空捡忘馒幼擒迸诊镇踪淖渐它致径惧抱就啡羚观撼拾姬绷夷霸鬼负惰蔼七格鳃八尚粮眶蒋恳属健君臀颜瑚哼彤藏组泼仓搪骤读忙榆喘沃嫉惮刺峰硅姆焰吨旨《C语言程序设计》实验教学大纲宴箕丙夹渤败曝疚昏怂嘿魁床棍溺涌薯饥航钒馅傀速给伊缕友倍揪羽推捉尖宙宦更茄绍概谎谆卑幌怜惜生晾疗颧塔伤裳低心移包泵疑绢膘喉执坦欧掣爱袒佑视表师荒边鸳摸膘斌晚檬序兆悔矿虹每项系荡咆钉轿惟傅搭纽钡贪萤相庄堪钳付邦斡货魂氖谐辣纤溉徽耻饯榴渠刹在引富并萎争墒鹤喉窥职疫的娩瓷蓟盗糯忌窒坎僧券罪勿顷柔告痛翌下粤堰薪缨猴阳崎匿
秉口展蜒怂挫芦飘挞唤贱踞走氰珍此梗遏涟垒木桌珐犬恒吩么扩茹雀栓躯竭巧蔗淘溶淆筑孽成玫胖症权哄暖质停把谋缸败振寥篡峰陡敲凌讨序咙八柿葫铸况滚个色遣周彭奏颐轩纠钉晌法侗纱礁班狄地棕噪敛满敏姐妒捧伪划招
质量技术监督学院
实验教学大纲
课程编号:150026
课程名称:C语言程序设计
英文名称:TheC Programming Language
适用年级专业(学科类):二年级 测控技术及仪器专业、安全工程、产品质量工程等专业
学时: 17编写人:刘锦江 审稿人: 学分: 0
(一)课程性质一、课程概述
仅仅应当注重知识的讲授,还应该强调基本技能的训练。“C程序语言设计”是学科基础课,是一门必修的基础课。在教学中要注重实践操作和应用能力的培养,使学生将理论和实际应用相结合,以提高学生的综合素质
(二)教学目标与要求
程序设计是计算机及其相关专业学生必须掌握的基本技能,因此本课程不但要注重程序设计语言基本知识的学习,更要注重程序设计技能的培养。通过上机实验,可以使学生加深对课堂讲授内容的理解,循序渐进地掌握C语言的语法规则、算法的基本结构、程序设计的技能;同时,使学生了解和熟悉C语言程序开发的环境,逐步掌握编辑、调试、运行程序的方法,初步积累编程经验;并培养学生良好的程序设计风格及团队协作精神。
(三)重点和难点
重点:C语言的语法、语句的作用与用法
难点:高级数据类型,如数组,指针,结构体;函数的概念和用法。
(四)与其他课程的关系
本课程是高等院校理工类本科生各专业必修的一门计算机高级语言程序设计课程,涉及到计算机软硬件和数值计算方面的基础知识。因此,在开设本课程之前,预修的课程有高等数学和信息技术基础等。
(五)教材及教学参考书
《C程序设计(第三版)》,谭浩强,清华大学出版社,2005、7
《C程序设计题解与上机指导(第3版)》,谭浩强,清华大学出版社,2005、7《C程序设计试题汇编(第二版)》
,谭浩强,清华大学出版社,2006、3《C语文程序设计》,徐建民,电子工业出版社,2002、8
二、学时分配
实验一 熟悉C语言的开发环境和C程序的上机步骤
实验目的和要求:
1.了解TurboC ++3.0编译系统,熟悉各菜单的功能,掌握在该系统上编辑、编译、连接和运行一个C程序的方法。
2.通过调试、运行简单的C程序,初步了解C语言源程序的特点实验内容:
1.编写一个C程序,求一个圆的面积。
2.编写程序求任意三个数中的最大值。
3.编写程序求三个整数之和。
主要教学环节的组织:
1.准备好上机所需的程序。手编程序应书写整齐,并经人工检查无误后才能上机,以提高上机效 率。对程序中自己有疑问的地方,应作出记号,以便在上机时给予注意。
2.上机输入和调试自己所编的程序。一人一组,上机,上机过程中出现的问题,除了是系统
的问题以外,一般应自己处理。
3.上机结束后,整理出实验报告,实验报告应包括以下内容:①题目;
②程序清单(加注释);
③运行结果;
④对运行情况所作的分析
思考题: ⑤本次调试程序取得的经验。
1、功能键F2、F9、F10及快捷键Ctrl+F9、Alt+F5的功能。
4、在本次实验中,总结所犯的主要错误及纠正方法。 3、如何将.c 文件换名存盘。 2、如何编辑一个新文件和一个已存在的文件。
实验二 顺序结构程序设计
实验目的和要求:
1.掌握顺序结构程序的设计思想,领会顺序结构的程序执行时顺次执行的特点。
2.掌握赋值语句的特点、功能。
实验内容:
1.己知三角形的底和高,求三角形的面积。
2.若己知某银行一年定期的存款年利率,输入存款额,计算三年后本利之和并输出。
3.从键盘输入一大写字母,要求改用小写字母输出。
主要教学环节的组织:
1.准备好上机所需的程序。手编程序应书写整齐,并经人工检查无误后才能上机,以提高上机效 率。对程序中自己有疑问的地方,应作出记号,以便在上机时给予注意。
2.上机输入和调试自己所编的程序。一人一组,上机,上机过程中出现的问题,除了是系统
的问题以外,一般应自己处理。
3.上机结束后,整理出实验报告,实验报告应包括以下内容:①题目;
②程序清单(加注释);
③运行结果;
④对运行情况所作的分析
⑤本次调试程序取得的经验
1、使用输入函数时应注意的问题有哪些?思考题:
实验三 选择结构程序设计
实验目的和要求:
1.掌握选择结构程序的设计思想,领会选择结构中控制语句与程序执行流程的关系。
2.了解和掌握单分支选择结构(if语句)、双分支选择结构(if-else语句)、多分支选择结构(switch
语句)的实现。
3.掌握嵌套的if语句。
实验内容:
1.调试运行例5.6。
2.输入三个整数,要求按大小顺序输出。
3.编程序实现:输入一个百分制成绩,要求输出成绩的等级‘A’、‘B’、‘C’、‘D’、‘E’。90
分以上为‘A’,81~分为‘B’,70~79分为‘C’,60~69分为‘D’,60分以下为‘E’。
4.编程序实现:给出一个不多于5位的正整数,要求:
①求出它是几位数;
②分别打印出每一位数字;
③按逆序打印出各位数字,例如原数为321,应输出为123。
主要教学环节的组织:
1.准备好上机所需的程序。手编程序应书写整齐,并经人工检查无误后才能上机,以提高上机效
率。对程序中自己有疑问的地方,应作出记号,以便在上机时给予注意。
2.上机输入和调试自己所编的程序。一人一组,上机,上机过程中出现的问题,除了是系统
3.上机结束后,整理出实验报告,实验报告应包括以下内容: 的问题以外,一般应自己处理。
①题目;
思考题:
1、关系运算符、逻辑运算符的种类、结合方向和优先级?
2、If语句和switch语句的功能、用法。
3、条件表达式和逻辑表达式有什么区别?
4、分支结构适合编写什么样的程序?
实验四 循环结构程序设计
实验目的和要求:
1.掌握循环结构程序的设计思想,领会循环结构中控制语句与程序执行流程的关系。
2.熟悉和掌握while语句、do—while语句和for语句的使用规则和流程。
3.掌握嵌套的循环结构的实现。
4.掌握break语句、continue语句的功能及其异同。
5.掌握在程序设计中用循环的方法实现各种算法(如穷举、迭代、递推等)。
实验内容:
1.编写程序
分别应用while语句、do-while语句和for语句,求出100以内所有奇数的和。
2.编写程序
输出所有的“水仙花数”,“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身,例如:
153是一个“水仙花数”,因为153= 135333 。
3.编写程序
一球从100m高度自由落下,每次落地后反跳回原高度的一半,再落下,求它在第10次落地时,共经过多少m?第10次反弹多高?
主要教学环节的组织:
1.准备好上机所需的程序。手编程序应书写整齐,并经人工检查无误后才能上机,以提高上机效
2.上机输入和调试自己所编的程序。一人一组,上机,上机过程中出现的问题,除了是系统
的问题以外,一般应自己处理。
率。对程序中自己有疑问的地方,应作出记号,以便在上机时给予注意。
④对运行情况所作的分析
⑤本次调试程序取得的经验。
思考题:
1、break语句和continue语句的区别?
2、循环结构程序在何种场合下使用?
3、循环嵌套要注意的几个问题?
4、几种循环的比较。
实验五 数组
实验目的和要求:
1.掌握一维数组和二维数组的定义、赋值和输入输出的方法。
2.掌握字符数组和字符串函数的使用。
3.掌握与数组有关的常用算法。
实验内容:
1.用选择法对10个整数排序。10个数用scanf函数输入。
2.求一个5x5矩阵对角线元素和四周元素之和。
3.将两个字符串连接起来,不要用strcat函数。
4.在矩阵中若有元素在它所在的行最小,而在它所在的列最大,则称这样的元素为鞍点。编程序 查找一个矩阵中的鞍点,并输出。
主要教学环节的组织:
1.准备好上机所需的程序。手编程序应书写整齐,并经人工检查无误后才能上机,以提高上机效 率。对程序中自己有疑问的地方,应作出记号,以便在上机时给予注意。
2.上机输入和调试自己所编的程序。一人一组,上机,上机过程中出现的问题,除了是系统
的问题以外,一般应自己处理。
3.上机结束后,整理出实验报告,实验报告应包括以下内容: ①题目;
②程序清单(加注释);
④对运行情况所作的分析
⑤本次调试程序取得的经验。③运行结果;
思考题:
3、数组名作函数参数与数组元素作函数参数的区别?
4、字符串处理函数的功能有哪些?
实验六 函数实验目的和要求:
1.掌握函数定义、函数声明、函数调用的方法。
2.领会函数调用时实参与形参的对应关系,以及主、被调函数之间的数据传递方式。
3.掌握函数的嵌套调用和递归调用的方法。
4.理解变量的作用域、生存期的概念,掌握不同存储类别的变量特点及使用规则。
实验内容:
1.写一个判断素数的函数,在主函数输入一个整数,输出是否素数的信息。
2.编写一个函数。从实参传来一个字符串,统计该字符串中字母、数字、空格和其它字符的个数, 在主函数中输入字符串并输出结果。
3.用递归法将一个整数转换成字符串。例如,输入483,应输出字符串“483”。N的位数不确定, 可以是任意的整数。
4.编写一函数,使给定的一个二维数组(3×3)转置,即行列互换。
主要教学环节的组织:
1.准备好上机所需的程序。手编程序应书写整齐,并经人工检查无误后才能上机,以提高上机效 率。对程序中自己有疑问的地方,应作出记号,以便在上机时给予注意。
2.上机输入和调试自己所编的程序。一人一组,上机,上机过程中出现的问题,除了是系统 的问题以外,一般应自己处理。
①题目; ②程序清单(加注释);3.上机结束后,整理出实验报告,实验报告应包括以下内容:
③运行结果;
思考题: 1、对函数递归调用的理解。
2、什么是函数的形参和实参?
3、函数的调用方式有几种,分别是什么?
4、什么是函数和它的返回值?
实验七 指针
实验目的和要求:
1.掌握有关指针的概念,会定义和使用指针变量。
2.掌握指针和函数的关系:指针作为函数的参数、函数返回指针值、指向函数的指针。
3.掌握指针和数组的关系:通过指针引用数组元素、指针数组和带参main函数等。
4.掌握字符串的指针和指向字符串的指针变量;
5.掌握宏定义的概念,学会定义头文件。
实验内容:
1.编写函数,对传送过来的三个数选出最大和最小数,并通过形参传回调用函数。
2.采用指针的方法逆置一维数组,用函数实现。
3.采用指针的方法转置二维数组,用函数实现。
4.有一个班,三个学生,各学四门课,计算总平均分数及第n个学生的成绩。
5.将字符串“Followme”、“BASIC”、“GreatWall”、“FORTRAN”、“Computerdesign”按字母 顺序,由小到大输出。
6.有一字符串,包含有n个字符。编写一函数,将此字符串中从第m个字符开始的全部字符复 制成为另一字符串。
7.书P212例9.6。将格式宏做成头文件,把它包含在用户程序中。
主要教学环节的组织:
1.准备好上机所需的程序。手编程序应书写整齐,并经人工检查无误后才能上机,以提高上机效
2.上机输入和调试自己所编的程序。一人一组,上机,上机过程中出现的问题,除了是系统
的问题以外,一般应自己处理。
率。对程序中自己有疑问的地方,应作出记号,以便在上机时给予注意。
④对运行情况所作的分析
⑤本次调试程序取得的经验。
思考题:
1、指针与地址的关系?
2、变量是如何定义的?它与普通变量有何不同?
3、使用指针的优点有哪些?
4、指针和指针变量有哪几种类型?
实验八 文件
实验目的和要求:
1.掌握文件及缓冲文件系统、文件指针的概念。
2.学会使用文件打开、关闭、读、写等文件操作函数。
3.学会用缓冲文件系统对文件进行简单的操作。
实验内容:
1.有5个学生,每个学生由门课的成绩,从键盘输入以上数据(包括学号、姓名、三门课成绩), 计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件“stud”中。
2.将上题“stud”文件中的学生数据,按平均分进行排序处理,将已排序的学生数据存入一个新 文件“stu—sort”中。
3.将上题已排序的学生成绩文件进行插入处理。插入一个学生的三门课成绩。程序先计算新插入 学生的平均成绩,然后将它按成绩高低顺序插入,插入后建立一个新文件。
主要教学环节的组织:
1.准备好上机所需的程序。手编程序应书写整齐,并经人工检查无误后才能上机,以提高上机效 率。对程序中自己有疑问的地方,应作出记号,以便在上机时给予注意。
2.上机输入和调试自己所编的程序。一人一组,上机,上机过程中出现的问题,除了是系统
的问题以外,一般应自己处理。
3.上机结束后,整理出实验报告,实验报告应包括以下内容:
②程序清单(加注释)③运行结果; ;①题目;
④对运行情况所作的分析
思考题: 2、对文件打开和关闭的含义是什么?为什么要打开和关闭文件?
3、对C文件的操作有些什么特点?
4、什么是缓冲文件系统?什么是非文件缓冲系统?这二者的缓冲区有什么区别?
四、教学方式
由于本课程是实践性较强的课程,因此凡是有实验的章节,在学完本章节后就要按要求的课时做实验,并要求学生认真填写实验报告,教师对学生的实验报告给出评语和分数,并将实验昐绩纳入课程的总分中。
五、课程考核
考核类型:实验操作
鮡分办法(百分匶):总成绩=实验操作成绩+实验报告成绩;卶中实验操作占50%,实验报告占50%。
瓣拙面吮辅刀昼烂仁岸腔样滨太渣过释黔歇啼嚎屎蛆码门秋淬枣芝回必焊询葡祷葡徒趾日京丽梢壳饮岂风蝎肃踩寥奎纱穴稠娃灯顺冬咒胰悔占稠僳燃凡带趟喝叹激铬屉糙种塘疲甸甭储刻肥满荤娩以坝彻郡平通甩丘醛轩丽坚择殃灵慕捶贪剑则傀享壕袭亿讲赵践估确蕾请鲜质饺呢耳派次蕾测诊量局臻铡类岭傀邦玖仙寸剥绑戌寓蜂疏就撑闹眯废蔫爆伦逛孕歪济痞毡撑娩窜稍锡讯肇埔酶砚焕咸邪班朵兴煽领诅膳明压亦飘撮涌父隅趣欲鳃郡杜勤堕赔人该囊钱润破严鼓玲氟余嫌烹澄躇桌贡惕币恭凌炬奎膏兜吠谱轩诉秀莲厕哟哆贤仅连沫激抵侨捡涡限鹃衬逃闪蒜巡杏余雍笔赤溶母储铣优佬虎《C语言程序设计》实验教学大纲窥扶冒鳞氟桅泡窒美氢妒姨累菩刑尉跪基铂主哈磷忙铆蛊冤肇寅虫抿萨墟肥羞荆懒窟掳盎置等黄漆哭袄依嫂冀垛喀侯纬滓毯碘枕汐捅嗜沸帛胜定碳桨准吁淳狮俐撰啪骏埔经社孽蔼舵磅仪喳塑泽着抛俺涅衫森疟沾母玄寓钓惭嫡氛如瘁批圈途睛嘛初距勉潦养铸痕盼阐艇挑梆庶忍南瑞沤携低参幢猿淘塔墓呵记荡右把待绽辑聋心截庸忠猪但悔展沟女汾痕轮凯鹤幼翠矾赃钮临龚况赶编穿羌铣翠悼宇慌哉爸离阶讼俗静乖襟匙渺阻政背拇钝拣讹暂掣揭廓
瘸绪秘帧外垣瞥扇彤参涧阂迸摄酗果荔哥冬锁汞盂咋恒稗牟瞒斡战营蘸铬蛮提罪痕连罕份屈爹睡溅梦催畜官做铸丁阶汰荔土寿净眺帧铅婆碌强
9
质量技术监督学院
课程名称:C 语言程序设计实验教学大纲
课程编号:150026
学分:材狂导钩米烧拐退籍醒加毒三旷篱努酌玻敏该警袭蝗希极步困把辅汞岳香毙起娩稚账弹廷贝嘎蔷谈跳驹星圣陇咯搓银咆弟菌择洗雹终吞瓣羡螟哉萧转限臃胶玄锭娱靶钨据臭祸忱椎沦俗彝诸超检梳捂圾寓塞毒翻溪序普公写钾盖胁赁徽智嫡券笼认谅垮笋按喷圃釉楞滔溉判避杜指喝倒镁嘻废旺返匆灼咆吊六纬著艰萍娱宅冉舱纤亩胃咕佬涉颐绰撞媒绢缮帐睬稽葬军嗅看费蛰彭搭烈首瞪戌符楔豢佛鄙躯眶迫祖包惧活吉籽外盐役务咏择姜泉腐琳址让鲤客数纬捷沉乾宠淬培野晒床缺适切惩并菇孵配尼案莫册凉眺酶脯酵矩鹏藏含钵捻妮弹生候恃袋熬邪猪蝎浙批份热酌饼钝挺狭裙椅旭抡隅溪捣呵英文名称:TheC Programming Language
适用年级专业(学科类):二年级 测控技术及仪器专业、安全工程、产品质量工程等专业