您好,欢迎来到帮我找美食网。
搜索
您的当前位置:首页浙江科技学院 C语言实验报告

浙江科技学院 C语言实验报告

来源:帮我找美食网


《程序设计基础》(c语言)实践报告

专 业 : 班 级 : 姓 名 : 学 号 : 教 师 :

《程序设计基础》(c语言)课程组

1

教师寄语

课程简介

《程序设计基础》是计算机相关专业的专业基础课,其目的是为了培养学生程序设计的技能,使学生掌握程序设计的基本思想和方法,培养学生用计算机解决实际问题的能力。该课程是后续理论和实践教学的基础和重要工具,将直接影响到专业兴趣的培养,后续专业课程教学内容的实施。

课程内容

本课程教学的主要内容包括:

1、程序与程序设计的基本概念;算法与算法的表示;结构化程序设计方法等。

2、C语言的基本组成,C程序的基本结构;C程序的上机过程;C语言的数据类型和各类运算规则。

3、顺序程序设计;选择结构程序设计;循环控制;函数;指针;结构体和文件等。 4、C程序的模块化结构;函数的定义与调用,包括函数的递归调用;变量存储属性;工程文件的建立和使用;编译预处理;库函数简介;文件的概念;文件的建立、打开与关闭;各种文件的读写方法。

补充说明

1、本课程作为一种与计算机“沟通”的语言工具,在某种程度上讲,和普通话、英语有一些类似。对初学者而言,最好的学习方式就是在基本的语法规则框架下,不断的模仿和重复训练,最畏惧和担心的就是灵活与多变。只有不畏惧,才能敢模仿,敢写、敢调试。才能避免掉入语法漩涡止步不前。

2、课程共设8个单元,对于每个单元的实践内容,按照基础训练和差异化训练相结合的思想,设置了多道编程题目,同学们在每个单元可以根据实际情况,可选做3道,鼓励在有精力的情况下尽可能多练习。

3、课程的源码可以手写也可以打印出来粘贴,对程序运行结果打印粘贴。 4、单元内容即是平时基本功的训练,也可当做理论考试的复习。

2

实验1 顺序结构程序设计

一、实验目的

1. 熟悉C语言的编程环境,掌握C程序运行的一般步骤; 2. 掌握C语言中数据的输入输出方法,常用输入/输出函数的使用; 3. 掌握顺序结构程序设计方法,能编写简单的C程序; 二、实验内容

1、编写程序,输入一个四位数,打印输出其个位数、十位数、百位数和千位数。 2、 编写程序,从键盘上输入两个电阻的值,求它们并联和串连的电阻值,输出结果保留两位小数。 3、编写一个程序,从键盘上输入学生的三门课程成绩,求总成绩和平均成绩。 4、输入一元二次方程的三个系数,求根。 5、输入三角形的三个边长a,b,c,输出面积s。 6、打印 5 2 0 + 1 3 1 4 1 8 3 4 * 1 0 三、实验源码及测试数据 3

4

5

四、 调试运行结果

五、 实验体会

6

实验2选择结构程序设计

一、实验目的

1、了解C语言表示逻辑量的方法(以0代表“假”,以非0代表“真” )。 2、学会正确使用逻辑运算符和逻辑表达式。 3、熟练掌握if语句和switch语句。 4、结合程序掌握一些简单的算法。 二、实验内容

1.有一个函数 x1xy2x11x103x11x10 用scanf函数输入x的值(分别为x<1、1~10、≥10三种情况),求y值。 2、输入3个整数,要求按由小到大的顺序输出。 3、根据输入的三角形的三边判断是否能组成三角形,若可以则输出它的面积。 4、有y=ax*x+bx+c,输入a,b,c。当a=0,b=0时,输出不是方程。当a=0,b≠0时,输出是一元一次方程,x=-c/b。当a≠0,△>0,输出方程X1,X2的解。当a≠0,△<0,输出无实根。 5、键盘输入一个至多五位数,判断它是几位数,并将该数逆序输出。例:输入1456,输出结果是:四位数,逆序后:61。 7、编写程序,要求从键盘输入成绩,输出对应的等级(100分为A,90-99为B,80-为C,70-79为D,60-69为E,小于60为F)。 8、设计一个简单的计算机程序,用户输入运算数和四则运算符(+、-、*、/),输出计算结果。 三、实验源码及测试数据

7

8

9

四、 调试运行结果

四、 实验心得体会

10

实验3循环结构程序设计

一、实验目的

1、掌握用while语句,do-while语句和for语句实现循环的方法。 2、掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)。 3、调试程序的技巧。 二、实验内容

1、 输入一行字符,分别统计出其中的英文字母、空格、数字和其它字符的个数。 2、猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩一个桃子了。求第一天共摘了多少桃子。 3、用for 语句求1 到100中是 3的倍数的数的和。 n 2 k 2 4、求 ∑ 2j^2 + ∑ i!(-1)^i j = n 1 i = k 1 其中n1、n2键盘输入, 输错重输(如:n1>n2),k1>k2同上。 100 5、求 ∑ n!+(n^3-3n^2+2)(-1)^n n=1 6、找出5000以内所有完数。完数:一个数是它所有的因子的和。 7、任意输入10个数,分别算出其中负数和正数的个数。 8、.键盘输入字符串,遇‘#’结束,分别统计字母、数字和其它字符个数。 9、计算1-100内所有含有6的数的和。 10、输出所有3位水仙花数。所谓水仙花数是指所有位的数字的立方和等于该数。例:153=1^3+5^3+3^3。 b 11、梯形法求数值积分。F(x)=∫ (4-X*X)^0.5dx。 a 12、用二分法求3X^3+2X^2-4X=6的解。 13、用牛顿迭代法求3X^3+2X^2-4X=6的解。 14、利用循环嵌套,输出九九乘法表。 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 2 4 6 8 10 „„ 15、观察数列,输出其前20项,每4个数一行,每个数占8列。 2 ,2, 4, 4, 6, 16, 8„ 16、编写程序输出下面图形。 1 2 3 4 5 6 7 8 9 0 11

三、实验源码及测试数据

12

13

14

四、 调试运行结果 五、 实验心得体会

15

实验4数组

一、实验目的

1、掌握一维数组和二维数组的定义、赋值和输入输出的方法; 2、掌握字符数组和字符串函数的使用; 3、掌握与数组有关的算法(特别是排序算法)。 二、实验内容

1、用冒泡排序法对10个整数排序。10个整数用scanf函数输入。 2、 有15个数存放在一个数组中,输入一个数,要求查找该数是数组中第几个元素的值。如果该数不在数组中,则输出“无此数”。 3、 将两个字符串连接起来,不要用strcat函数。 4、编写程序输出下面矩阵: 1 2 3 4 5 2 3 4 5 1 3 4 5 1 2 4 5 1 2 3 5 1 2 3 4 5、输入10个数,逆序输出(折半)。 6、键盘输入7个评委对选手的打分,去掉最高分,去掉最低分,输出平均分,要求左对齐,保留到小数点后两位。 7、对某同学的作业记录作处理,输入作业每题的批改结果(对或错),遇#号结束,输出错题的题号。 8、键盘读入7个选手的编号与得分,要求输出优秀率(>=90),及格率(>=60),和平均分。输出排行榜(编号+成绩)。 9、输入一个矩阵,找出所在行上最大,列上最小的数。(可能没有) 10、读入下列数字存放在数组a[5][4]中,分别求各行、各列元素之和。将结果补在最后1行和最后1列后,输出整个矩阵。 12 4 6 _ 8 23 3 _ 15 7 9 _ 2 5 17 _ _ _ _ _ 11、键盘输入7个评委对7个选手的打分,算出平均分,要求去掉最低分,最高分,输出成绩排行榜。 12、输入某游戏大赛10个队伍的名称(以字符串:如good good study),队伍过关数(整数),耗时数(如:90分钟)。输出排行榜(包括过关数、耗时,队伍名称)。 排行规则:①先以过关数为标准。 ②过关数一样的以时间为标准。 ③过关数、时间一样的以队伍名称的首字母为标准。 16

三、实验源码及测试数据

17

18

19

20

四、 调试运行结果 五、 实验心得体会 21

实验5函数

一、实验目的

1、掌握定义函数的方法; 2、掌握函数实参与形参的对应关系以及“值传递”的方式; 3、掌握函数的嵌套调用和递归调用的方法; 4、掌握全局变量和局部变量动态变量、静态变量的概念和使用方法。 二、实验内容

1、编写三个函数分别求某学生三门课程总成绩和平均成绩和及格率。 2、 用一个函数来实现将一行字符串中最长的单词输出。此行字符串从主函数传递给该函数. 3、 用递归法将一个整数n转换成字符串。例如,输入483,应输出字符串“483”。n的位数不确定,可以是任意的整数。 4、输入三个字符串,按由小到大的顺序输出这些字符串。要求,对于三个字符串进行两两比较,将最小的串放在str1中,将最大的串放在str3中。设计一个函数,对两个字符串进行交换。提示:使用strcmp(str1,str2)函数。 5、已知abc+bcc=1333,其中 a、b、c均为一位整数,编写一个函数,求出a、b、c分别代表什么数字。 6、编写一个程序,包括主函数和如下子函数。(1) 输入10个无序的整数;(2) 用起泡方法从大到小排序;(3) 要求输入一个整数,用折半查找法找出该数,若存在,在主函数中输出其所处的位置,否则,插入适当位置。 7、定义一个函数,功能是计算n个学生的成绩中,高于平均成绩的人数,并作为函数值。用主函数来调用它,统计50个学生成绩中,高于平均成绩的有多少人? 8、编写函数 n 2 k 2 求 ∑ 2j^2 + ∑ i!(-1)^i j = n 1 i = k 1 9、写函数实现2分法求方程x35x216x800的根 10、写函数求求5000以内的完数。 11、写函数求输出数列2、2、4、4、6、16、8„前20项。 12、求函数 1 n=0 Hn= x-2x+7 n=1 hn-1(x)*(x^3+2)+hn-2(x)*(x^2-7x)。n>1 13、比较数组a和数组b,得出a中的数(每一个)比b中的几个数大,并输出。 14、投票选班长,5个候选人,10个人每人投一票,输入投票结果,输出每个候选人的得票数。 2 22

三、实验源码及测试数据

23

24

25

26

四、 调试运行结果 五、 实验心得体会 27

实验6指针

一、实验目的

1、掌握指针的概念、会定义和使用指针变量 2、掌握指向数组的指针变量 3、掌握字符串指针的使用 二、实验内容

1、用指针实现,输入3个数,按从小到大输出。 2、编一个程序,打入月份号,输出该月的英文月名,要求用指针数组处理。 3、编写递归函数,将输入的以“?”结束的字符串按与输入相反的顺序输出。 4、编写函数,在n个元素的一维数组中,统计比相邻元素大的数组元素个数并将统计数返回(不考虑a[0]和a[n-1]),要求以指针变量作函数参数。 5、用指向指针的指针的方法对5个字符串进行排序。 6、用指针的方式实现,3×3矩阵转置。 7、设有一个单项链表,现欲将其倒置,试编写一函数实现此功能 三、实验源码及测试数据

28

29

30

四、 调试运行结果 五、实验心得体会 31

实验7结构体和共用体

一、实验目的

1、掌握C语言中的变量、数组、函数、指针、结构体等主要知识点。 2、掌握C程序的结构化程序设计方法,能使用C语言开发简单的应用程序。 3、掌握C程序的运行、调试方法等。 二、实验内容

1、定义一个结构体变量,其成员包括:职工号、职工名、性别、年龄、工龄、工资、地址。 2、对上述定义的变量,从键盘输入所需的具体数据,然后用printf函数打印出来。 3、按上述的结构体类型定义一个结构体数组,从键盘输入每个结构体元素所需的数据,然后逐个输出这些元素的数据(为简化起见,可设数组只有三个元素)。 4、建立一个包括学生姓名,性别,年龄,一门课成绩的结构体,输出考分最高的学生个人信息。 5、一个45人班级有两门课,求所有成绩中的最高成绩,及对应的姓名,学号课程编号,分别求两门课的平均成绩,并找出两门课都低于平均分的学生信息,按1课程成绩从高到低排序。 6、已知一个无符号的整数占4个字节内存,现欲从低位存储地址开始,将其每个字节作为单独的一个ASCII码字符输出,使用共用体实现上述转换 三、实验源码及测试数据

32

33

34

35

四、调试运行结果

五、实验心得体会 36

实验6 文件

一、实验目的

1.掌握文件以及缓冲文件系统、文件指针的概念; 2.学会使用文件打开、关闭、读、写等文件操作函数。 3.学会用缓冲文件系统对文件进行简单的操作。 二、实验内容

编程序并上机调试运行: 1、编程序求100以内的素数,分别将它输出到显示器和x.txt文件中,要求每行5个数。 2、有5个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学号、姓名、3门课成绩),计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件stud中。 设5名学生的学号、姓名和3门课成绩如下: 99101 Wang ,98,67.5 99103 Li 60,80,90 99106 Fun 75.5,91.5,99 99110 Ling 100,50,62.5 99113 Yuan 58,68,7l 在向文件stud写入数据后,应检查验证stud文件中的内容是否正确。 3、将上题stud文件中的学生数据,按平均分进行排序(由高到低)处理,将已排序的学生数据存入一个新文件stu_sort中. 在向文件stu_sort写入数据后,应检查验证stu_sort文件中的内容是否正确。 4、对上题已排序的学生成绩文件进行插入处理,插入一个学生的3门课成绩。程序先计算新插入学生的平均成绩,然后将它按成绩高低顺序插入,插入后建立一个新文件。(BX12.7) 要插入的学生数据为: 99108 Xin 90,95,60 在向新文件stu_new写入数据后,应检查验证stu_new文件中的内容是否正确。 37

三、实验代码及测试数据

38

39

四、 调试运行结果 五、 实验心得体会

40

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- banwoyixia.com 版权所有 湘ICP备2023022004号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务