晓庄-C语言程序设计实验报告

合集下载

C语言程序设计上机实验报告

C语言程序设计上机实验报告
2.项目和解决方案
(1)创建新项目
选择“文件”一“新建”一“项目”命令;或者按[Ctrl+Shif+N]组合键;也可以在主窗口的起始页面中单击“新建项目”按钮,进入新建项目向导 在“新建项目”对话框左窗格的已安装的模板中选择"VisualC++”--“ Win32”
在对话框中窗格中选择“Win32控制台应用程序”
②在“添加命令”对话框中(见图2.4),从“类别”列表框中选择类别名称,如“调试”,从“命令”列表框中选择要添加的命令,如“开始执行(不调试)”
③单击“确定”按钮,再单击“关闭”按钮。
单击工具栏右侧的下拉按钮,也可以添加或删除命令按钮。
(4)菜单或工具栏的其他操作
在“自定义”对话框“命令”选项卡的“请选择要重新排列的菜单或工具栏”选项组中,选择要移动的菜单或工具栏,单击“上移”或“下移”按钮移动菜单或命令:单击“删除”菜单成命令,单击“全部重置”按钮将所选的菜单栏、工具栏或上下文菜单恢复为其原单需覆由“键盘”按租,可给选中的命令设定快捷键:单击“修改所选内容”按键可以对菜单或命令进行分组
选中“自动换行”复选框,行中水平方向超出可视编辑器区域的任何部分会自动显示在下一行。
选中“行号”复选框,行号出现在每行代码的旁边。行号不会添加到代码中,也不会打印出来,仅供参考。
制表符相关设置。
在“选项”对话框的左侧窗格中选择“文本编辑器”一“C/C++”或“所有语言”一“制表符”,如图2.20所示。各选项的含义如下:
单击“移除”按钮,将选定的文件从当前项目中移除,文件没有被删除,依然存于该项目单击“删除”按钮,选定的文件将永久删除,该项目文件夹内不再含有此文件。
(3)建立多项目文件

c程序设计 实验报告

c程序设计 实验报告

c程序设计实验报告C程序设计实验报告引言:C程序设计是计算机科学中一门重要的编程语言,广泛应用于软件开发、系统编程等领域。

本实验报告旨在总结并分析我在C程序设计实验中的学习经验和成果。

实验一:基本语法和数据类型C语言作为一门结构化的编程语言,具有丰富的语法和数据类型。

在本实验中,我学习了C语言的基本语法,包括变量的声明和赋值、运算符的使用以及条件语句和循环语句的控制流程。

通过编写简单的程序,我熟悉了C语言的基本语法和数据类型的使用。

实验二:函数和指针函数是C语言中的重要概念,通过函数的封装和调用,可以实现程序的模块化和复用。

在本实验中,我学习了函数的定义和调用,了解了函数的参数传递和返回值的使用。

同时,我还学习了指针的概念和用法,掌握了指针变量的声明和指针运算的基本操作。

通过实验练习,我对函数和指针的使用有了更深入的理解。

实验三:数组和字符串数组和字符串是C语言中常用的数据结构,对于处理大量数据和字符操作非常重要。

在本实验中,我学习了数组的定义和使用,了解了数组的下标和内存分配的原理。

同时,我还学习了字符串的表示和处理方法,掌握了字符串的输入输出和常见操作函数的使用。

通过实验练习,我对数组和字符串的应用有了更深入的认识。

实验四:结构体和文件操作结构体是C语言中用于组织和管理复杂数据的一种方式,文件操作则是处理外部文件的重要技术。

在本实验中,我学习了结构体的定义和使用,了解了结构体成员的访问和结构体数组的操作。

同时,我还学习了文件的打开、读写和关闭操作,掌握了文件指针的使用和文件读写的基本流程。

通过实验练习,我对结构体和文件操作的应用有了更深入的了解。

实验五:动态内存分配和链表动态内存分配和链表是C语言中高级的数据结构和算法,对于处理动态数据和实现复杂逻辑非常重要。

在本实验中,我学习了动态内存分配的方法和使用,了解了malloc和free函数的原理和使用。

同时,我还学习了链表的定义和操作,掌握了链表的插入、删除和遍历等基本操作。

c语言程序设计的实验报告

c语言程序设计的实验报告

目录第1章.课程设计的目的 (3)1.1. 加深学生对高级程序设计的理解和运用 (3)1.2. 掌握运用程序设计解决实际问题 (3)1.3. 培养学生自主学习的能力 (3)第2章.课程设计的要求 (4)2.1. 关于课题及选题 (4)2.2. 关于设计的总要求 (4)2.3. 验收 (4)第3章.设计题目分析 (5)3.1. 题目简介 (5)3.2. 设计要求 (5)第4章.课程设计内容 (6)4.1. 总体设计 (6)4.2. 测试与调试 (25)第5章.设计心得与总结 (26)参考书目: (27)第1章.课程设计的目的1.1. 加深学生对高级程序设计的理解和运用《高级语言程序设计》课程是一门实践性较强的课程,课程设计环节是课程学习的重要组成,是课程教学的必经步骤。

要求学生掌握C语言设计、调试、运行方法,获得用C语言解题的实际体会,加深对C语言的理解,得到C程序设计方法和技巧的训练,掌握C程序设计的全过程。

通过课程设计的教学,使学生巩固和深化已学的理论知识,加强综合应用能力,训练学生掌握分析问题、解决问题的方法,培养较强的动手能力和一定的设计和调试能力。

1.2. 掌握运用程序设计解决实际问题通过课程设计,让学生能自主的解决现实中遇到的问题,而不仅仅只限于理论的学习。

有助于培养学生的动手能力和良好的思维习惯。

进而为社会培养出高素质人才。

1.3. 培养学生自主学习的能力遇到问题,没有学过的知识,能主动的通过查找资料,自主学习来解决。

初步培养工程意识和创新能力。

另外,也培养了学生综合运用所学知识和独立完成课题的能力。

第2章.课程设计的要求2.1. 关于课题及选题在课程设计任务书中列出了多个设计课题,每个课题都有相应的要求或说明。

参加课程设计的学生首先要了解设计的任务,仔细思考各题的设计要求,然后根据自已的基础和能力情况从中选择一题。

一般来说,选择课题应以在规定的时间内能完成,并能得到应有的锻炼为原则。

c语言程序设计实验报告

c语言程序设计实验报告

c语言程序设计实验报告C语言程序设计实验报告。

本次实验是关于C语言程序设计的实验报告,主要内容是对C语言程序设计的学习和实践。

通过本次实验,我对C语言的基本语法和程序设计有了更深入的理解和掌握。

首先,本次实验的主要内容是关于C语言的基本语法和程序设计。

在实验中,我们学习了C语言的基本数据类型、运算符、控制语句、函数、数组、指针等内容。

通过实际的编程练习,我对这些内容有了更加具体和深入的了解。

在实验中,我学会了如何定义变量、使用不同类型的数据、编写循环和条件语句、设计函数和调用函数等基本的程序设计技巧。

其次,本次实验还涉及了C语言的程序设计实践。

在实验中,我们完成了一些简单的程序设计任务,比如实现一个简单的计算器、编写一个简单的学生成绩管理系统等。

通过这些实践,我对C语言的程序设计有了更加具体和深入的理解,也提高了我的编程能力和解决问题的能力。

在实验中,我还遇到了一些困难和问题。

比如在编写程序时,可能会出现语法错误、逻辑错误、运行时错误等。

但是通过仔细分析和调试,我逐渐克服了这些问题,也提高了自己的解决问题的能力。

总的来说,本次实验对我来说是一次很好的学习和锻炼机会。

通过实验,我不仅对C语言的基本语法和程序设计有了更深入的理解,也提高了自己的编程能力和解决问题的能力。

希望在以后的学习和工作中,能够继续努力,不断提高自己的编程水平,为将来的发展打下坚实的基础。

最后,我对C语言程序设计实验报告的编写就到此结束。

希望通过这次实验报告的撰写,能够对C语言程序设计有一个更加全面和深入的了解,也希望能够在以后的学习和工作中,能够更加熟练地运用C语言进行程序设计。

感谢老师和同学们在实验中给予我的帮助和支持,也希望在以后的学习和工作中,能够继续努力,不断提高自己的编程能力和解决问题的能力。

大学生c语言程序设计实训报告总结

大学生c语言程序设计实训报告总结

最新大学生c语言程序设计实训报告总结大学生c语言程序设计实训报告总结C语言是在国内外广泛使用的一种计算机语言。

其语言功能丰富、表达能力强、使用灵活方便,,小编整理了大学生c语言程序设计实训报告总结,希望能帮助到您。

大学生c语言程序设计实训报告总结一C语言是在国内外广泛使用的一种计算机语言。

其语言功能丰富、表达能力强、使用灵活方便、既具有高级语言的优点,又具有低级语言的许多特点,适合编写系统软件。

其功能强大,不仅用在计算机上广泛用在电子,机械等方面上,而且,所有的windows,Unix,Linux,Mac,os/2,无一例外,哪一个不是C语言写的?很多新型的语言如,C++,Java,C#,J#,perl...都是衍生自C语言。

掌握了C语言,可以说你就掌握了很多门语言。

学习C程序这门课一年了,这是我们学的第一门专业课,在大学里C语言不但是计算机专业的必修课程而且也是非计算机专业学习计算机基础的一门必修课程。

所以作为我这个计算机专业的学生来说当然十分重要,老师在第一节课说过,C语言是计算机的基础,大多数软件都需要用C语言来编写,通过一个年的学习,使我由初步掌握简单的应试知识到完成高难度的深入编程,如我们在编写一个较大的程序时应该把它分开成几个小程序来看,这样会容易得多。

同时,我觉得C语言应该是操作和理论相结合的课程,在不断地编写中去思考,两者是不可分割的。

在学习一年C语言的过程中我也在慢慢探索怎样才能学好C语言,并总结了一点经验:要了解C语言就要从语法规为基础来学习起,首先要是要了解它的结构,比如变量,首先要了解变量的定义方式(格式),其意义是什么(定义变量有什么用);其次就是要我要怎么去运用它(我要用什么型式去应用它)。

在C语言的命令行中所有的语句都是有它自己的一定格式和形式出现在我们面前,所以我们在学习某种语句或命令时你首先要了解的就是它的规则是什么、有什么用、怎么实现等。

这些都是语法基础也是C语言的基础如果把它们都了解很好了,那么你编起程序来就很得心应手了。

C语言程序设计实习报告

C语言程序设计实习报告

C语言程序设计实习报告第一篇:C语言程序设计实习报告实习报告题目: C语言程序设计所属系、部 : 电气工程学院班级: 电子商务131 姓名:贺道君学号: 20***5 指导教师: 费玲玲2014年6月一、实习目的加深理解C语言基础知识及其编程技术,了解高级程序设计语言的结构,熟练掌握程序设计方法和技巧,掌握基本的分析和利用计算机求解问题的能力,具备初步的高级语言程序设计能力。

二、实习时间、地点6月16日(星期一)上午:微机室5下午:微机室56月17日(星期二)3、4:微机室5下午:微机室36月18日(星期三)上午:微机室5下午:学校6月19日(星期四)上午:微机室5下午:微机室36月20日(星期五)上午:C101下午:学校三、实习内容综合四、实习总结在学C语言的一个学期后,我们进行了C语言实训阶段,尝试自己编写一个比较复杂的程序系统。

在为期一周周的时间中,我们同组的同学共同的感受是:C语言实训和平时上课所接触的程序是有很大不同的,所经受的考验和克服的困难是平时所无法比拟的。

好在同组的搭档们精诚合作,分工明确,有问题共同解决,攻克了C语言实训的复杂程序。

在这里,我作为其中的参与者,自然感触良多刚开始接触到C的时候,我已经学过一些有关VB的内容,这个在算法和思维上稍微有点帮助。

回想本学期的学习,首先,最基本的,是C的数据格式,让我们知道整数,浮点数以及字符常量在C中的运用。

然后,在学会了数据转化,以及熟练的可以对各种数据处理之后,我开始进行有关数据结构,像数组,结构体等的学习,因为有的东西从现有的知识来看都是非常简单的,还没有联系到指针等等一些复杂的概念。

可是,仅仅学会这些是远远不够的,C语言中,还有很多更加经典、重要、实用的知识。

说说函数。

虽说很多程序语言都有函数这一内容,但我觉得C语言的函数是最有魅力的了。

学习函数的方法是比较简单的,只有两个字“牢记”,即:牢记函数的功能,牢记函数的用途以及如何输入输出。

《C语言程序设计》实验报告

《C语言程序设计》实验报告学院:专业:学号:姓名:成绩:课程代码: 2001301指导教师:实验中心:电气信息专业试验中心日期:目录实验总体要求实验一………………………………………………C语言的运行环境和运行过程实验二………………………………………………数据类型、运算符与表达式实验三………………………………………………程序结构(顺序、选择和循环) 实验四………………………………………………数组实验五………………………………………………函数实验六………………………………………………指针实验七………………………………………………结构体实验八………………………………………………类和对象实验总体要求C语言程序设计课程是一门实践性很强的课程,为了培养学生的计算机应用能力,除了课堂理论教学外,必须加强程序设计课程实验的教学环节。

1、课程实验教学目的通过C语言程序设计的课程实验教学,学生应具有使用计算机解决相关问题的能力,同时为学生今后学习其他计算机应用课程打下良好的程序设计基础。

⑴分析问题和解决问题能力的训练课程实验教学将课本上的理论知识和实际应用有机地结合起来,达到训练学生分析问题解决实际问题的能力,提高学生应用计算机知识开发应用系统的综合能力。

⑵逻辑思维能力的训练通过课程实验教学,使学生正确地掌握C语言的基本知识,较好掌握基本的程序算法,以及描述方法。

培养学生在程序设计解题思路、算法的描述、编程构思等方面的计算机逻辑思维能力。

⑶程序设计技能的训练通过C语言环境下的应用实例,训练学生编写程序的能力,掌握编程的思路和方法,掌握结构化程序设计的基本概念和基本技能。

通过课程实验教学,使学生掌握C程序设计语言的语法规则,数据结构的应用,掌握算法描述及相应代码描述,掌握结构化程序设计的基本方法,能熟练编写一般的应用程序。

2、课程实验教学要求⑴要求通过解题、程序设计和上机实践,加深对所学概念的理解,提倡理论与实践相结合的学习方法。

c语言程序设计实验报告

c语言程序设计实验报告一、实验目的本次实验旨在通过设计C语言程序来加深对于C语言的理解和掌握,同时也可以掌握一些实用的编程技巧和方法。

通过编写程序实现对于输入输出的处理、循环语句和条件语句的运用以及函数调用等内容的练习。

二、实验内容本次实验涉及以下三个方面的内容:1. 程序的的输入输出我们通过编写程序来实现一个简单的输入输出功能,即用户输入任意一个整数,程序输出该整数的两倍。

2. 循环语句和条件语句的运用我们通过编写程序来实现以下两个功能:(1)输入一个正整数,计算该数的阶乘。

(2)输入一个正整数n,输出n行的杨辉三角形。

3. 函数调用我们通过编写程序来实现以下两个功能:(1)输入三个整数a、b和c,求其中最大的一个数。

(2)输入一个字符串,程序输出该字符串中每个字母在字符串中出现的次数。

三、实验过程1. 程序的输入输出我们通过使用scanf函数来实现输入一个整数的功能:int n;scanf("%d", &n);然后我们可以通过printf函数来输出该整数的两倍的值:printf("%d", n*2);2. 循环语句和条件语句的运用(1)计算阶乘我们可以利用for循环语句来实现计算阶乘的功能:long long ans = 1;for(int i = 1; i <= n; i ++){ans *= i;}printf("%lld", ans);(2)输出杨辉三角我们可以利用嵌套的for循环语句来实现输出杨辉三角的功能:for(int i = 1; i <= n; i ++){for(int j = 1; j <= i; j ++){if(j == 1 || j == i)printf("1 ");elseprintf("%d ", a[i-2][j-2]+a[i-2][j-1]);}printf("\n");}3. 函数调用(1)求最大值我们可以利用函数调用来实现求最大值的功能:int max(int a, int b, int c){int temp = a > b ? a : b;return temp > c ? temp : c;}然后我们可以通过调用该函数来求解三个数中的最大值:int a, b, c;scanf("%d%d%d", &a, &b, &c);printf("%d", max(a, b, c));(2)计算字符次数我们可以利用一个数组来记录每个字母出现的次数,然后通过遍历输入的字符串来对应更新数组。

c语言实习报告3篇

c语言实习报告3篇c语言实习报告1在这个星期里,我们专业的学生在专业老师的带领下进行了c语言程序实践学习。

在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,更多的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。

由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。

包括了程序模块处理.简单界面程序.高级界面程序.程序的添加修改.用程序做一元线性回归处理以及用c语言程序来画粒度分布图等这几样比较重要的时间操作。

上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。

对于程序设计语言的.学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。

学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。

因为学时所限,课程不能安排过多的上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。

为此,我们结合课堂讲授的内容和进度,安排了12次上机实验。

课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:1.加深对课堂讲授内容的理解课堂上要讲授许多关于c语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。

然而要使用c语言这个工具解决实际问题,又必须掌握它。

通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c语言的语法规定。

对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。

学习c语言不能停留在学习它的语法规则,而是利用学到的知识编写c语言程序,解决实际问题。

c程序设计实验报告

c程序设计实验报告C程序设计实验报告实验目的:1. 掌握C语言的基本语法和结构。

2. 理解并实践数组、指针、结构体等数据结构的使用。

3. 学会使用C语言进行基本的输入输出操作。

4. 培养编程思维和问题解决能力。

实验环境:- 操作系统:Windows 10- 编译器:GCC 9.3.0- 开发工具:Visual Studio Code实验内容:本次实验要求编写一个C程序,实现以下功能:- 定义一个结构体,包含学生姓名、学号、年龄和成绩。

- 从键盘输入若干学生的信息,并存储到结构体数组中。

- 对输入的学生成绩进行排序,并输出排序后的结果。

- 计算并输出所有学生的平均成绩。

实验步骤:1. 定义结构体:创建一个名为`Student`的结构体,包含`char name[50]`, `int id`, `int age`, 和 `float score`。

2. 输入学生信息:使用`scanf`函数从键盘读取学生信息,并存储到`Student`结构体数组中。

3. 排序学生成绩:使用冒泡排序算法对学生的成绩进行排序。

4. 输出排序后的学生信息:遍历排序后的数组,使用`printf`函数输出每个学生的详细信息。

5. 计算平均成绩:遍历学生信息数组,累加所有学生的成绩,然后除以学生数量得到平均成绩,并输出。

实验代码:```c#include <stdio.h>// 定义学生结构体typedef struct {char name[50];int id;int age;float score;} Student;// 冒泡排序函数void bubbleSort(Student students[], int n) {int i, j;for (i = 0; i < n - 1; i++) {for (j = 0; j < n - i - 1; j++) {if (students[j].score < students[j + 1].score) { Student temp = students[j];students[j] = students[j + 1];students[j + 1] = temp;}}}}int main() {int n, i;printf("请输入学生数量:");scanf("%d", &n);Student students[n];// 输入学生信息for (i = 0; i < n; i++) {printf("请输入第%d个学生的信息:\n", i + 1); printf("姓名:");scanf("%s", students[i].name);printf("学号:");scanf("%d", &students[i].id);printf("年龄:");scanf("%d", &students[i].age);printf("成绩:");scanf("%f", &students[i].score);}// 对成绩进行排序bubbleSort(students, n);// 输出排序后的学生信息printf("\n排序后的学生信息:\n");for (i = 0; i < n; i++) {printf("姓名:%s, 学号:%d, 年龄:%d, 成绩:%.2f\n", students[i].name, students[i].id, students[i].age,students[i].score);}// 计算平均成绩float sum = 0;for (i = 0; i < n; i++) {sum += students[i].score;}float average = sum / n;printf("\n所有学生的平均成绩是:%.2f\n", average);return 0;}```实验结果:运行上述程序,根据提示输入学生信息后,程序将输出排序后的学生信息以及所有学生的平均成绩。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言程序设计实验报告实验1 简单程序设计1.实验目的(1)熟悉C语言开发环境并掌握在该环境下如何编辑、编译、连接和运行一个C程序。

(2)通过运行一个简单的C程序过程,初步了解C程序的基本结构及特点。

2.实验要求将主菜单输出在屏幕上。

运行程序后,其结果如下:图1-1 成绩管理系统主菜单3.实验步骤(1)编写头文件sgms1.h,对menu函数进行声明。

(2)将sgms1.c源文件补充完整4.实验重点和难点(1)C程序是由一个个函数构成,当一个函数调用另一个函数时,需要对被调函数作声明。

(2)用户自定以的函数最好写在一个头文件中,在需要的地方用文件包含命令即可。

(3)system(“cls”)函数的作用是清屏,它的声明在头文件stdlib.h中。

如果是在Linux操作系统的gcc环境下,清屏用system(”clear”)。

5.常见错误(1)数据声明或语句后面缺少分号。

(2)对被调函数没有声明。

(3)没有main函数或者有多个main函数。

6.程序代码Sgms1.h代码如下:void menu(){printf(" The Students' Grade Management System \n");printf(" ***********************Menu***************************\n");printf(" * 1 add record 2 display record *\n");printf(" * 3 sort record 4 find record *\n");printf(" * 5 modify record 6 delete record *\n");printf(" * 7 count record 8 save record *\n");printf(" * 0 qui system *\n");printf(" *********************************************************\n");}Sgms1.c代码如下:#include"stdio.h"#include"sgms1.h"main(){menu();}运行结果如图所示:8.心得体会试验一比较简单,学到的东西主要是通过包含头文件来调用相应的函数:比如试验中的menu函数是写在sgms1.h中,而主函数写在sgms1.c中要想在main函数中调用menu函数只要在main函数头部写入#include”sgms1.h”要注意sgms1.h存放的路径.否则要指定具体的路径.实验2 顺序结构程序设计1. 实验目的(1)掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量。

(2)掌握数据的输入输出的方法,能正确使用各种格式控制符。

(3)掌握算术运算符和赋值运算符。

2.实验要求(1)当用户选择0后,在屏幕上输出“You will quit, thank you for using the system!”信息,然后结束程序运行。

(2)当用户选择1后,进入输入记录,输入完后,显示输入结果。

运行程序后,其结果如下:首先出现主菜单界面图2-1 主菜单界面当用户输入0回车后,出现退出系统界面当用户在主菜单界面上输入1回车后,出现输入记录界面图2-3 输入记录界面3.实验步骤(1)将quit和addRecord函数的声明添加到实验提供的头文件sgms2.h中。

(2)将实验提供的sgms2.c文件的main函数和addRecord函数补充完整。

(3)运行由sgms2.h和sgms2.c构成的程序。

4.实验重点和难点(1)用scanf和printf对数据进行输入输出时,不同的数据类型用不同的格式控制符。

(2)scanf函数中的格式控制后面应当是变量地址,而不是变量名。

5.常见错误(1)变量没有定义,直接使用。

(2)企图利用整数除以整数得到精确结果。

例如1/4结果不是0.25而是0,1/4.0结果才是0.25。

(3)printf和scanf函数中格式控制符的个数与变量或变量地址的个数不一致。

(4)scanf函数的地址表列因该是变量地址,而不是变量名。

(5)scanf函数在格式控制字符串中除了格式说明以外还有其他字符时,在输入数据(6)没有在对应的位置输入与这些字符相同的字符。

6.程序代码Sgms2.c:#include"stdio.h"#include"sgms2.h"#include"stdlib.h"main(){void addRecord(int choice);void quit();int choice;menu();printf("\n");printf("Please Enter your choice<0-8>:");scanf("%d",&choice);system("cls");if(choice==0)quit();if(choice==1)addRecord(choice);}void quit(){printf("You will quit,think you for using the system!");}void addRecord(int choice){float cScore,mathScore,engScore,aver;printf("==========>add record\n");printf("Input the number:%d\n",choice);printf("Input cLanguage score<0-100>:");scanf("%f",&cScore);printf("Input math score<0-100>:");scanf("%f",&mathScore);printf("Input english score<0-100>:");scanf("%f",&engScore);aver=(cScore+mathScore+engScore)/3;printf("number:%d\t",choice);printf("cLanguage:%2.1f\t",cScore);printf("math:%2.1f\t",mathScore);printf("english:%2.1f\t",engScore);printf("aver:%2.1f\t",aver);}Sgms2.hvoid menu(){printf(" The Students' Grade Management System \n");printf("***********************Menu******************************\n");printf(" * 1 add record 2 display record *\n");printf(" * 3 sort record 4 find record *\n");printf(" * 5 modify record 6 delete record *\n");printf(" * 7 count record 8 save record *\n");printf(" * 0 quit system *\n");printf("*********************************************************\n");}7.实验结果当用户选择0后:当用户选择1后,进入输入记录,输入完成后,显示输出结果:8.心得体会本试验主要通过if语句来控制输入不同的数实现不同的功能,但是如果分支过多使用if语句就使代码过于冗长.实验3 选择结构程序设计1. 实验目的(1)了解C语言表示逻辑变量的方法(2)学会正确使用关系运算符和逻辑运算符。

(3)熟练掌握if语句和switch语句。

2.实验要求(1)将sgms3.c文件中main函数中的用于功能选择的if语句改为switch语句。

(2)在输入分数时,如果输入的分数在0到100之外,则输出提示信息,并等待重新输入。

输入记录界面如下:图3-1 输入记录界面3.实验步骤(1)将sgms3.c文件中main函数中的用于功能选择的if语句改为switch语句。

(2)将sgms3.c文件中的addRecord函数补充完整。

(3)运行由sgms3.h和sgms3.c构成的程序。

4.实验重点和难点(1)注意关系运算符==和复制运算符=的区别。

(2)if和else的匹配原则。

(3)在switch语句中正确使用break。

5.常见错误(1)赋值运算符=和关系运算符等号=搞混。

(2)在if语句为复合语句时,忘记写{}。

(3)if语句出现嵌套时,没正确配对。

(4)switch语句中,没正确使用break。

6.程序代码Sgms3.c#include"stdio.h"#include"sgms3.h"#include"stdlib.h"main(){void addRecord(int choice);void quit();int choice;menu();printf("\n");printf("Please Enter your choice<0-8>:");scanf("%d",&choice);system("cls");switch(choice){case 0:quit();break;case 1:addRecord(choice); break;}}void quit(){printf("You will quit,think you for using the system!");}void addRecord(int choice){float cScore,mathScore,engScore,aver;printf("==========>add record\n");printf("Input the number:%d\n",choice);printf("Input cLanguage score<0-100>:");scanf("%f",&cScore);if(cScore>100||cScore<0){printf(" cLanguage score must be<0-100>,Please input again:");scanf("%f",&cScore);}printf("Input math score<0-100>:");scanf("%f",&mathScore);if(mathScore>100||mathScore<0){printf(" math score must be<0-100>,Please input again:");scanf("%f",&mathScore);}printf("Input english score<0-100>:");scanf("%f",&engScore);if(engScore>100||engScore<0){printf(" english score must be<0-100>,Please input again:");scanf("%f",&engScore);}aver=(cScore+mathScore+engScore)/3;printf("number:%d\t",choice);printf("cLanguage:%2.1f\t",cScore);printf("math:%2.1f\t",mathScore);printf("english:%2.1f\t",engScore);printf("aver:%2.1f\t",aver);}Sgms3.hvoid menu(){printf(" The Students' Grade Management System \n");printf("***********************Menu******************************\n");printf(" * 1 add record 2 display record *\n");printf(" * 3 sort record 4 find record *\n");printf(" * 5 modify record 6 delete record *\n");printf(" * 7 count record 8 save record *\n");printf(" * 0 quit system *\n");printf(" *********************************************************\n");}7.实验结果8.心得体会用switch case语句代替了if语句明显使代码更加清晰明了.在控制分数必须在(0-100)之间使用do-while循环更加方便.更加深入体会了在何种情况下是使用switch case在何种情况下使用do-while在何种情况下使用if语句.另外在使用switch…case不能忘记break;实验4 循环结构程序设计1. 实验目的(1)熟练掌握循环语句中的for语句、while语句和do while语句的使用方法,以及这三种循环语句之间的转换方法。

相关文档
最新文档