实验一顺序结构程序设计(2学时) 一、实验目的1、熟悉C编译环境、简单C程序结构及书写方式、以及C程序的编辑、编译、连接、运行、调试的步骤; 2、掌握C语言的基本数据类型及其输入输出格式,以及输入输出函数的使用方法; 3、掌握C语言的算术运算符(特别是自增、自减运算符)、赋值运算符、关系运算符、逻辑运算符、条件运算符、逗号运算符的使用; 4、掌握C语言顺序结构程序的执行流程、设计方法,能够根据实际问题灵活使用顺序结构,画出程序的算法流程图,设计出逻辑合理、思路清晰、结果正确的顺序结构程序。 二、实验内容及要求 1、实验内容包括8道题目,分为基本内容和选做内容两部分。要求: (1)基本内容中的实验题目是必须要完成的,选做内容中的实验题目可以根据自己的情况选做或全做(越多越好,适当加分); (2)在实验之前编写出基本内容、选做内容中的所有程序,实验前检查(视未完成情况适当扣分); (3)对于设计型题目,要求画出程序流程图(传统流程图和N-S图); (4)在上机实验过程中,注意总结和体会上机步骤(编辑、编译、连接、运行、调试、结果分析),注意培养观察、分析和排除编译错误、连接错误和程序逻辑错误的初步能力; (5)上机结束后,应按要求认真书写实验报告(格式见附件)。 2、基本内容 (1)[验证型]编辑下列程序,然后进行编译、连接和运行,观察结果,并简要总结简单C程序的结构、书写格式以及上机过程; #includestdio.h intmain() { printf(Hello,world!\n); return0; } (2)[验证型]通过运行下列程序,分析各种格式符的使用方法。 #includestdio.h intmain() { inta=9,b=2; floatx=32.,y=-.; chard=R; longn=; unsignedu=; printf(%d,%d\n,a,b); printf(%3d,%3d\n,a,b); printf(%f,%f\n,x,y); printf(%-10f,%-10f\n,x,y); printf(%8.2f,%8.2\n,x,y); printf(%.4f,%.4f\n,x,y); printf(%3f,%3f\n,x,y); printf(%e,%10.2e\n,x,y); putchar(d); putchar(\n); printf(%c,%d,%o,%x\n,d,d,d,d); printf(%ld,%lo,%x\n,n,n,n); printf(%u,%o,%x,%d\n,u,u,u,u); return0; } (3)[验证型]编辑下列程序,进行编译、连接和运行。观察结果并分析++和--运算符的作用。 #includestdio.h intmain() { inti,j; i=5; j=6; printf(%d,%d\n,i,j); printf(%d,%d\n,i++,j--); printf(%d,%d\n,i,j); printf(%d,%d\n,++i,--j); return0; } (4)[设计型]编程求解表达式m=x+a%3*(int)(x+y)%2/4的值。(设x=2.5,a=7,y=4.7)。 (5)[设计型]编程实现:输入一个数,输出以该值为半径的圆面积,以该值为半径的球体表面积与体积,pi取值3.。 (6)[设计型]编程实现:输入直角三角形的两条直角边的长度,求斜边的长度。 3、选做内容 (7)[设计型]编程求解表达式的值m=(float)(a+b)/2+(int)x%(int)y。(设a=7,b=3,x=3.5,y=2.5)。 (8)[设计型]编程实现:从键盘输入一个小写字母,输出该字母的大小写形式及对应的ASCII码值。 三、相关知识点及实验指导(一)相关知识点1、简单C语言程序的结构、编译与运行的步骤; 2、C语言的基本数据类型(整型,浮点型,字符型)及相互转换; 3、基本运算符及表达式:算术运算符(包括自增、自减运算符),赋值运算符(包括复合赋值运算符),关系运算符,逻辑运算符,条件运算符,逗号运算符及相应的表达式; 4、算法的表示方法:程序流程图(传统流程图和N-S图); 5、C语言中的字符型数据输入输出函数putchar与getchar,格式输入输出函数printf与scanf,常用格式符d/c/s/f/e/g/u/o/x以及附加格式说明符; 6、顺序结构程序的执行流程及设计方法。 (二)实验指导(略) 四、练习题1、求下列表达式的值,并编写程序,上机进行验证。设a=12,n=5。 ①a+=a②a-=2 ③a*=2+3④a/=a+a 2、请同学们思考以如下方式初始化变量会出现什么问题?请编写程序调试说明。 inta=; charb=\; intc=; intd=L; doublei=.; intm=n,n=6; 3、写程序输出字符0、9、A、Z、a、z的ASCII码的十进制、八进制和十六进制形式。 4、编写程序,要求输入一个全部是字母的字符串,将其中的大写字母全部转化为小写字母,小写字母全部转化为大写字母。 5、编程实现:输入一个华氏温度,要求输出摄氏温度。公式为c=5/9*(f-32)。 实验二选择结构程序设计(2学时) 一、实验目的1、进一步掌握C语言中逻辑运算符及逻辑表达式的使用及条件判断; 2、熟练掌握C语言中if语句的使用; 3、熟练掌握C语言中switch及break语句的使用; 4、能够根据实际问题灵活使用选择结构,设计出逻辑合理、思路清晰、结果正确的选择结构程序。 二、实验内容及要求 1、实验内容包括5道题目,分为基本内容和选做内容两部分。要求: (1)基本内容中的实验题目是必须要完成的,选做内容中的实验题目可以根据自己的情况选做或全做(越多越好,适当加分); (2)在实验之前编写出基本内容、选做内容中的所有程序,实验前检查(视未完成情况适当扣分); (3)对于设计型题目,要求画出程序流程图(传统流程图和N-S图); (4)在上机实验过程中,注意培养观察、分析和排除编译错误、连接错误和程序逻辑错误的能力; (5)上机结束后,应按要求认真书写实验报告。 2、基本内容 (1)[设计型]编程实现:输入一个整数,若其为偶数,求其立方值,若其为奇数,求其平方值。 (2)[设计型]编程实现:输入一个5位数,判断它是不是回文数。例如21是回文数,个位与万位相同,十位与千位相同。 (3)[设计型]用switch语句编写程序,实现输入月份,显示季节。 3、选做内容 (4)[设计型]编程实现:输入四个整数,要求按由小到大的顺序输出。 (5)[设计型]编程实现:输入某年某月某日,判断这一天是这一年的第几天。 三、相关知识点及实验指导(一)相关知识点1、为什么要引入选择结构? 2、if语句的一般形式以及最常用的3种if语句形式(简单if语句、if-else语句、多层嵌套的if语句); 3、switch语句与break语句; 4、选择结构程序的执行流程及设计方法。 (二)实验指导(略) 四、练习题1、写一程序,输入一个实数x的值,按照下面的式子计算输出y的值。 2、对一批货物征收税金。价格在一万元以上的货物征税5%,在元以上,1万元以下的货物征税3%,在元以上,元以下的货物征税2%,元以下的货物免税。编写一程序,读入货物价格,计算并输出税金。 3、编写一个程序,实现某服装店售货员日营业额的考评。若日销售量为0件,则输出“E”;若日销售量为1件或2件,则输出“D”;若日销售量为2或3件,则输出“C”;若日销售量为4件或5件,则输出“B”;若日销售量大于5件,则输出“A”。 4、请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。 实验三简单的循环结构程序设计(2学时) 一、实验目的1、熟练掌握for语句的使用; 2、熟练掌握while、do-while语句的使用; 3、能够根据实际问题灵活使用简单的循环结构,设计出逻辑合理、思路清晰、结果正确的简单循环结构程序。 二、实验内容及要求 1、实验内容包括5道题目,分为基本内容和选做内容两部分。要求: (1)基本内容中的实验题目是必须要完成的,选做内容中的实验题目可以根据自己的情况选做或全做(越多越好,适当加分); (2)在实验之前编写出基本内容、选做内容中的所有程序,实验前检查(视未完成情况适当扣分); (3)对于设计型题目,要求画出程序流程图(传统流程图和N-S图); (4)在上机实验过程中,注意总结和体会上机步骤(编辑、编译、连接、运行、调试、结果分析),注意培养观察、分析和排除编译错误、连接错误和程序逻辑错误的能力; (5)上机结束后,应按要求认真书写实验报告(格式见附件)。 2、基本内容 (1)[设计型]编程实现:求S=3+33++3+33。 (要求用循环结构实现) (2)[设计型]编程实现:求出数列2/1,3/2,5/4,8/8,…的前10项之和。 (3)[设计型]编程求解:有一棵树一天长高一倍,最高长到三十天,即三十天之后就不再长高,那么那棵树三十天能长多高?长到一半高需要多少天? 3、选做内容 (4)[设计型]编程实现:计算S=A!+B!+C!的值。其中,A、B、C的值由键盘输入。 (5)[设计型]编程实现:输入两个正整数m和n,求其最大公约数和最小公倍数。 三、相关知识点及实验指导(一)相关知识点1、为什么要引入循环结构? 2、C语言的三种循环语句:for循环;while循环;do-while循环; 3、三种循环语句的比较与互换使用; 4、简单(非嵌套)循环结构程序的执行流程及设计方法。 (二)实验指导(略) 四、练习题1、已知s=6+6.6+6.66+6.+6.6+6.66,求s的值。 2、输出全部的英文字母的大小写。要求:每个字母先输出大写,后输出小写;字母与字母之间用空格可开;每行输出8个字母。 3、求三个数的最小公倍数。 实验四嵌套的循环结构程序设计(2学时) 一、实验目的1、掌握三层以内的各种循环结构相互嵌套的使用方法; 2、掌握三层以内的选择结构和循环结构相互嵌套的使用方法; 3、能够根据实际问题灵活使用嵌套循环结构,设计出逻辑合理、思路清晰、结果正确的嵌套的循环结构程序。 二、实验内容及要求 1、实验内容包括3道题目,分为基本内容和选做内容两部分。要求: (1)基本内容中的实验题目是必须要完成的,选做内容中的实验题目可以根据自己的情况选做或全做(越多越好,适当加分); (2)在实验之前编写出基本内容、选做内容中的所有程序,实验前检查(视未完成情况适当扣分); (3)对于设计型题目,要求画出程序流程图(传统流程图和N-S图); (4)在上机实验过程中,注意总结和体会上机步骤(编辑、编译、连接、运行、调试、结果分析),注意培养观察、分析和排除编译错误、连接错误和程序逻辑错误的能力; (5)上机结束后,应按要求认真书写实验报告(格式见附件)。 2、基本内容 (1)[设计型]输入一个整数k(2≤k≤0),打印它的所有的质因子。例如:输入90,打印出2、3、3、5。 (2)[设计型]编程求解:编写程序,输出从公元年至年所有闰年的年号。要求每输出15个年号换一行。判断公元年是否为闰年的条件是公元年数满足: ①能被4整除,而不能被整除; ②能被整除。 3、选做内容 (3)[设计型]编程计算的值,n由键盘输入。其中,。 三、相关知识点及实验指导(一)相关知识点1、二层嵌套循环结构及其执行流程; 2、三层嵌套循环结构及其执行流程; 3、在嵌套循环结构中break语句和continue语句的作用与使用方法; 4、嵌套循环结构程序的设计方法。 (二)实验指导(略) 四、练习题1、编程求的值。。 2、输入20个有符号整数,分别统计正整数、零、负整数的个数。 实验五数组实验(2学时) 一、实验目的1、熟练掌握一维数组和二维数组的使用; 2、熟练掌握字符数组的使用; 3、能够根据实际问题灵活使用数组,设计出逻辑合理、思路清晰、结果正确的数组应用程序。 二、实验内容及要求 1、实验内容包括6道题目,分为基本内容和选做内容两部分。要求: (1)基本内容中的实验题目是必须要完成的,选做内容中的实验题目可以根据自己的情况选做或全做(越多越好,适当加分); (2)在实验之前编写出基本内容、选做内容中的所有程序,实验前检查(视未完成情况适当扣分); (3)对于设计型题目,要求画出N-S图; (4)在上机实验过程中,注意总结和体会上机步骤(编辑、编译、连接、运行、调试、结果分析),注意培养观察、分析和排除编译错误、连接错误和程序逻辑错误的能力; (5)上机结束后,应按要求认真书写实验报告(格式见附件)。 2、基本内容 (1)[设计型]编程实现:从键盘输入6个数(用一维数组保存),用起泡法对6个数按从大到小排序,并输出结果。运行结果示例如下: (2)[设计型]求一个方阵(例如:3′3方阵)对角线元素之和。运行结果示例如下: (3)[设计型]编程实现字符串的拷贝功能。要求分别使用两种方法实现:使用strcpy函数;不使用strcpy函数。运行结果示例如下: 3、选做内容 (4)[设计型]有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。运行结果示例如下: (5)[设计型]将一个数从一个一维数组中删除。运行结果示例如下: (6)[设计型]从键盘输入一个字符串,将小写字母全部转换成大写字母。运行结果示例如下: 三、相关知识点及实验指导(一)相关知识点1、为什么要引入数组?数组的基本概念; 2、一维数组的定义、初始化和使用; 3、二维数组的定义、初始化和使用; 4、字符串与字符数组; 5、数组应用程序的设计方法。 (二)实验指导(略) 四、练习题(1)用选择法实现一维数组中数据元素的排序输出。 (2)找出一个二维数组的鞍点,即找出这样一个元素,其值在该行上最大,在该列上最小,也可能没有鞍点。 ⑶编写一个程序,比较两个字符串的大小(分别使用两种方法:使用strcmp函数;不使用strcmp函数)。 ⑷输入一个字符串,判断它是不是回文。 实验六函数实验(2学时) 一、实验目的1、熟练掌握函数的定义、调用和参数传递的方法,进一步理解函数调用的整个过程; 2、熟练掌握数组作为函数参数的使用方法; 3、掌握函数的嵌套调用和递归调用; 4、熟练地运用结构化程序设计思想编写具有特定功能、解决特定问题的函数。 二、实验内容及要求 1、实验内容包括5道题目,分为基本内容和选做内容两部分。要求: (1)基本内容中的实验题目是必须要完成的,选做内容中的实验题目可以根据自己的情况选做或全做(越多越好,适当加分); (2)在实验之前编写出基本内容、选做内容中的所有程序,实验前检查(视未完成情况适当扣分); (3)对于设计型题目,要求画出N-S图; (4)在上机实验过程中,注意总结和体会上机步骤(编辑、编译、连接、运行、调试、结果分析),注意培养观察、分析和排除编译错误、连接错误和程序逻辑错误的能力; (5)上机结束后,应按要求认真书写实验报告(格式见附件)。 2、基本内容 (1)[设计型]编程实现输入两个整数,输出其最大公约数和最小公倍数。要求编写一个函数gcd用辗转法求两个数的最大公约数。在主函数中实现:数据的输入,调用gcd函数求最大公约数,在此基础上再求最小公倍数,最后输出结果。 (2)[设计型]编写一个字符串逆序存放的函数reverse(),并由主函数调用实现对字符串的逆序操作。 (3)[设计型]通过函数嵌套调用求(即求)。要求:编写函数fac求n!,编写函数xgm通过调用fac函数求,在主函数中输入n的值并调用xgm函数求并输出结果。 3、选做内容 (4)[设计型]将题目(3)中的fac函数改为递归函数。 (5)[设计型]编写两个函数input()函数和output()函数,分别完成5个学生的三门课程的数据记录的输入输出工作,最后由主函数来调用这两个函数,完成具体的输入输出工作。 三、相关知识点及实验指导(一)相关知识点1、为什么要使用函数? 2、C语言程序的一般结构 3、函数的定义、函数的调用及参数传递 4、数组作为函数参数; 5、函数的嵌套调用与函数的递归调用。 (二)实验指导(略) 四、练习题(1)有n个人围成一圈,顺序排号。从第一个人开始报数(从1到5报数),凡报到5的人退出圈子,问最后留下的是原来第几号的那位。(用函数实现)。 (2)编写函数实现对一个不多于5位的正整数,求它是几位数并逆序打印出各位数字。 (3)编写函数实现对一个已经排好序的数组,按原来的规律插入一个数到数组中不改变原来的排序方式,要求在主函数中输入数据,并调用函数实现插入操作。 (4)要求用函数实现将整数数组中最大值与第一个元素交换,最小值与最后一个元素交换,并在主函数中调用该函数完成操作(该函数要用数组做参数)。 (5)编写一个函数,使给定的一个的二维数组转置,主程序调用此函数。 附录: 实验报告内容填写要求 一、封面内容的填写 专业:软件工程 方向:(不填) 课程名称:C语言程序设计实验 班级:(如) 学号:(要求写完整的学号,如06) 姓名:(自己的真实姓名,不要用网络昵称) 辅导教师:(任课教师姓名) 二、报告正文内容填写 实验时间:按实际实验时间填写。如:年11月18日19时至21时。 学时数:填写本次实验的学时数,如:2学时 1、实验名称 (要求填写准确) 2、实验目的 (按实验指导书填写) 3、实验内容 (按实验指导书填写,写明题目序号) 4、实验原理或流程图 (主要针对基本内容中的设计型实验题目,简要说明解题思路,并画出N-S图;选做内容不要求,也可以给背面简要说明其解题思路,并画出N-S图) 5、实验过程或源代码 (针对基本内容中的验证型题目,分析运行结果及其原因;针对基本内容中的设计型实验题目,写出程序的源代码及运行结果分析;选做内容不要求,但也可以将选做题目的实验结果分析及程序源代码写在背面) 6、实验结论及心得 (简要说明本次实验的主要收获、体会,以及下次实验需要改进之处) 中科白癜风医院好吗根治白癜风的偏方转载请注明原文网址:http://www.gzdatangtv.com/cksc/6176.html |