时间:2017-3-12来源:本站原创作者:佚名

实验一顺序结构程序设计(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
------分隔线----------------------------