C语言实验报告册-2016.3a

合集下载

c语言的实验报告

c语言的实验报告

c语言的实验报告C语言的实验报告引言:计算机科学领域的学生们通常会在大学的课程中学习C语言。

C语言是一种通用的编程语言,它简洁高效,广泛应用于软件开发、嵌入式系统等领域。

在学习C语言的过程中,学生们通常需要进行一系列的实验来加深对语言特性和编程概念的理解。

本文将介绍几个常见的C语言实验,并总结实验过程中的体会和收获。

实验一:基本数据类型和运算符C语言提供了多种基本数据类型,如整型、浮点型、字符型等。

在这个实验中,我们需要熟悉这些数据类型的使用方法,并掌握基本的算术运算符和逻辑运算符。

通过编写简单的程序,我们可以实现整数相加、浮点数相乘等操作。

这个实验帮助我们了解C语言的基本语法和运算规则。

实验二:控制流程在实际的编程中,我们常常需要根据不同的条件来执行不同的代码块。

C语言提供了多种控制流程语句,如if语句、for循环、while循环等。

通过这个实验,我们可以学习如何使用这些语句来实现条件判断和循环操作。

例如,我们可以编写一个程序来判断一个数是否为素数,或者实现一个简单的猜数字游戏。

这个实验帮助我们掌握程序的流程控制和逻辑思维。

实验三:函数和指针函数是C语言中的重要概念,它可以将一段代码封装成一个独立的模块,方便代码的复用和维护。

指针是C语言中另一个重要的特性,它可以用来处理内存地址和动态分配内存。

在这个实验中,我们需要编写一些函数来实现特定的功能,并学习如何使用指针来操作变量和数组。

通过这个实验,我们可以提高代码的模块化程度,并学会灵活运用指针来解决实际问题。

实验四:文件操作在实际的软件开发中,我们经常需要读写文件来存储和处理数据。

C语言提供了一些函数来进行文件操作,如fopen、fread、fwrite等。

在这个实验中,我们需要编写程序来读取文件内容,进行数据处理,并将结果写入新的文件中。

通过这个实验,我们可以学习如何使用文件操作函数,并了解文件的打开、读写和关闭过程。

实验五:数据结构和算法数据结构和算法是计算机科学的核心内容,也是软件开发中不可或缺的部分。

c语言实验报告(附答案版)

c语言实验报告(附答案版)

c语言实验报告(附答案版)实验一、这个实验需要4学时才能完成。

2、目标1。

阅读程序问题1简单确定性问题解决(1)掌握c语言数据类型,熟悉如何定义一个整型、字符型的变量,以及对它们赋值的方法;(2)掌握不同类型数据之间的分配规律;(3)掌握存储器中数据的存储方式;(4)学会输入、输出函数的基本格式和使用方法;(5)学习使用算术运算符、逻辑运算符、关系运算符以及包含这些运算符的表达式。

2、编程题(1)如何使用if-else决策结构进行编程;(2)如何使用开关决策结构进行编程。

3.调整试题(1)熟悉c程序的编辑、编译、连接和运行的过程。

三、实验指导为了达到最佳的实验效果,以下提供了几种适合编程的指南供参考。

1、阅读程序题应先运用自己在课堂所学的知识,推导出结果,在上机时输入计算机,印证自己推导的结果,注意观察数据在内存中的存储方式、含不同种运算符表达式的输出结果。

2.编程问题必须先画流程图,反复思考,判断程序设计的正确性,完成程序设计。

应注意简单确定性问题的结构选择。

3、调试题应明确程序的调试、测试是一项非常烦琐的工作,也是非常重要的工作。

对于初学者来说应该建立良好的习惯,在调试程序的时候,应该尽可能考虑到程序运行时各种可能情况。

-1-四、实验内容1、阅读程序题(1)main(){/*定义字符变量*/charc1,C2;/*为字符变量分配整数*/C1=97;C2=98;printf(\/*以字符形式输出*/printf(\/*以整数形式输出*/}该程序的输出结果是ab(换行)9798。

思考:可以改成intc1、C2吗;输出是什么?完全相同的(2)main(){inta=7,b=5;printf(\}该程序的输出结果是0。

思考:如果将printf语句中的%d更改为%F,可以输出分数的值吗?当然(3)main(){inta=9;a+=a-=a+a;/*包含复合赋值运算符*/printf(\}该程序的输出结果是-18。

c语言大实验报告

c语言大实验报告

c语言大实验报告C 语言大实验报告一、实验目的本次 C 语言大实验的主要目的是通过实际的编程项目,深入巩固和应用 C 语言的基础知识,提高编程能力和解决实际问题的能力。

具体而言,包括熟练掌握数据类型、控制结构、函数、数组、指针等核心概念,并能够运用它们构建较为复杂的程序逻辑。

二、实验要求1、完成一个具有一定规模和功能的 C 语言程序,例如学生成绩管理系统、图书管理系统等。

2、程序应具备良好的代码结构和可读性,遵循编程规范。

3、实现数据的输入、处理和输出功能,能够进行数据的存储和查询。

4、对程序进行充分的测试,确保其稳定性和正确性。

三、实验环境1、操作系统:Windows 102、编程工具:Visual Studio 2019四、实验内容本次实验我选择开发一个学生成绩管理系统,该系统能够实现学生成绩的录入、查询、修改、删除以及成绩统计分析等功能。

(一)数据结构设计为了存储学生的信息,我定义了一个结构体`Student` ,包含学生的学号、姓名、各科成绩等字段:```ctypedef struct {int id;char name50;float score3; //假设存储三门课程的成绩} Student;```同时,使用一个动态数组来存储多个学生的信息:```cStudent students;int numStudents = 0; //记录学生数量```(二)功能模块实现1、成绩录入通过循环让用户输入学生的信息,包括学号、姓名和各科成绩,并将其添加到动态数组中:```cvoid inputStudent(){Student newStudent;printf("请输入学号:");scanf("%d",&newStudentid);printf("请输入姓名:");scanf("%s", newStudentname);printf("请输入三门课程的成绩:");for (int i = 0; i < 3; i++){scanf("%f",&newStudentscorei);}students =(Student )realloc(students, (numStudents + 1) sizeof(Student));studentsnumStudents++= newStudent;}```2、成绩查询根据用户输入的学号,在动态数组中查找对应的学生信息并输出:```cvoid queryStudent(){int id;printf("请输入要查询的学号:");scanf("%d",&id);for (int i = 0; i < numStudents; i++){if (studentsiid == id) {printf("学号:%d\n", studentsiid);printf("姓名:%s\n", studentsiname);printf("成绩:");for (int j = 0; j < 3; j++){printf("%2f ", studentsiscorej);}printf("\n");return;}printf("未找到该学号的学生信息!\n");}```3、成绩修改先查询要修改的学生信息,然后让用户输入修改后的成绩:```cvoid modifyStudent(){int id;printf("请输入要修改的学号:");scanf("%d",&id);for (int i = 0; i < numStudents; i++){if (studentsiid == id) {printf("请输入修改后的三门课程成绩:");for (int j = 0; j < 3; j++){scanf("%f",&studentsiscorej);printf("修改成功!\n");return;}}printf("未找到该学号的学生信息!\n");}```4、成绩删除根据学号删除指定的学生信息,并重新调整动态数组:```cvoid deleteStudent(){int id;printf("请输入要删除的学号:");scanf("%d",&id);int found = 0;for (int i = 0; i < numStudents; i++){if (studentsiid == id) {found = 1;for (int j = i; j < numStudents 1; j++){studentsj = studentsj + 1;}numStudents;students =(Student )realloc(students, numStudents sizeof(Student));printf("删除成功!\n");return;}}if (!found) {printf("未找到该学号的学生信息!\n");}}```5、成绩统计分析计算所有学生的平均成绩,并输出最高和最低成绩:```cvoid statistics(){float totalScore = 0;float maxScore = students0score0;float minScore = students0score0;for (int i = 0; i < numStudents; i++){float sum = 0;for (int j = 0; j < 3; j++){sum += studentsiscorej;}totalScore += sum / 3;if (sum / 3 > maxScore) {maxScore = sum / 3;}if (sum / 3 < minScore) {minScore = sum / 3;}}printf("平均成绩:%2f\n", totalScore / numStudents);printf("最高成绩:%2f\n", maxScore);printf("最低成绩:%2f\n", minScore);}```(三)主函数在主函数中,通过菜单的方式让用户选择要执行的操作:```cint main(){int choice;while (1) {printf("1、录入成绩\n");printf("2、查询成绩\n");printf("3、修改成绩\n");printf("4、删除成绩\n");printf("5、成绩统计分析\n");printf("6、退出\n");printf("请选择操作:");scanf("%d",&choice);switch (choice) {case 1:inputStudent();break;case 2:queryStudent();break;case 3:modifyStudent();break;case 4:deleteStudent();break;case 5:statistics();break;case 6:free(students);return 0;default:printf("无效的选择,请重新输入!\n");}}return 0;}```五、实验结果经过多次测试,本系统能够稳定运行,实现了预期的各项功能。

c语言实验报告

c语言实验报告

c语言实验报告C语言实验报告一、引言C语言作为一种高级程序设计语言,具有简洁、高效、灵活的特点,在计算机科学领域得到广泛应用。

本实验报告旨在总结我对C语言实验的学习和理解,并介绍实验过程中遇到的问题和解决方法。

二、实验目的本次实验的主要目的是通过实践掌握C程序设计的基本语法和常用操作,培养编程思维和解决问题的能力。

具体实验要求包括熟悉C语言的数据类型、运算符、循环语句和函数定义等内容,并能够应用这些知识解决实际问题。

三、实验内容本次实验包括以下几个部分:变量的定义与使用、条件语句的应用、循环语句的运用、数组的定义与使用、函数的定义与调用以及实验总结等。

1. 变量的定义与使用在C语言中,可以使用关键字“int”、“float”、“char”等定义不同类型的变量。

变量是计算机程序中存储数据的基本单元。

在本次实验中,我通过定义不同类型的变量,并进行赋值和运算等操作,来加深对变量的理解和掌握。

2. 条件语句的应用条件语句在程序设计中起到了判断和选择不同执行路径的作用。

在C 语言中,可以使用“if”、“else if”、“else”等关键字来实现条件语句的控制。

通过实验,我学会了如何根据不同的条件执行不同的代码块。

3. 循环语句的运用循环语句是程序中重复执行某段代码的结构,能够提高程序的灵活性和效率。

在C语言中,我掌握了“for”、“while”、“do while”等不同类型的循环语句的使用方法,并在实际问题中进行了应用。

4. 数组的定义与使用数组是一种存储相同数据类型多个元素的容器。

在C语言中,可以通过定义数组名和下标位置来访问和操作数组中的元素。

通过实验,我深入了解了数组的索引范围、元素的访问以及数组在程序中的应用。

5. 函数的定义与调用函数是一段封装了特定功能的代码块,可以提高程序的模块化和可维护性。

在C语言中,我学会了如何定义函数并传递参数,以及通过函数调用来实现特定功能。

四、实验过程及结果在实验过程中,我采用了自上而下的方法,先分析问题,再逐步实现代码。

c语言实验报告

c语言实验报告

c语言实验报告实验报告一、实验目的本实验旨在通过实践,加深对C语言的理解,掌握C语言的基本语法和常用函数,并能够运用所学知识完成相应的编程任务。

二、实验环境本实验的开发环境为Windows系统,使用的集成开发环境为Dev-C++。

三、实验内容1. 实验项目一:输入输出编写一个程序,要求从键盘输入两个整数,将它们相加并输出结果。

2. 实验项目二:控制结构编写一个程序,要求从键盘输入一个整数,如果该数为正数,则输出“正数”,如果是负数,则输出“负数”,如果是零,则输出“零”。

3. 实验项目三:循环结构编写一个程序,要求从键盘输入一个正整数n,然后计算并输出1加到n的和。

4. 实验项目四:数组编写一个程序,要求定义一个长度为5的整型数组,从键盘输入五个整数,并按照输入的顺序输出。

五、实验步骤1. 实验项目一:输入输出步骤一:定义两个整型变量a和b步骤二:使用scanf函数从键盘接收两个整数a和b步骤三:定义一个整型变量sum,将a与b相加,结果存放在sum中步骤四:使用printf函数输出sum的值2. 实验项目二:控制结构步骤一:定义一个整型变量num步骤二:使用scanf函数从键盘接收一个整数num步骤三:使用if语句判断num的值如果num大于0,则输出“正数”如果num小于0,则输出“负数”如果num等于0,则输出“零”3. 实验项目三:循环结构步骤一:定义一个整型变量n步骤二:使用scanf函数从键盘接收一个正整数n步骤三:定义一个整型变量sum,并初始化为0步骤四:使用for循环将1到n的数相加,并将结果累加到sum中步骤五:使用printf函数输出sum的值4. 实验项目四:数组步骤一:定义一个长度为5的整型数组arr步骤二:使用for循环,从键盘输入五个整数,并将其依次存放在arr中步骤三:使用for循环,遍历数组arr,并使用printf函数依次输出数组中的元素六、实验结果经过编程运行验证,以上四个实验项目都能按照要求正确输出结果。

c语言实验报告

c语言实验报告

c语言实验报告实验目的:1. 熟悉C语言编程环境的搭建和基本操作;2. 掌握C语言基本语法与数据类型的使用;3. 理解并能应用C语言的控制结构;4. 实现简单的算法和逻辑。

实验内容:本次实验要求编写一个简单的C语言程序,可以实现以下功能:1. 输入两个整数,并计算它们之和、差、积以及商和余数;2. 输入半径,计算圆的面积和周长。

实验步骤:1. 搭建C语言编程环境,打开编译器;2. 新建一个C语言源文件,代码如下:#include <stdio.h>int main(){int a, b, sum, difference, product, quotient, remainder;float radius, area, circumference;printf("Enter two integers:");scanf("%d %d", &a, &b);sum = a + b;difference = a - b;product = a * b;quotient = a / b;remainder = a % b;printf("Sum = %d\n", sum);printf("Difference = %d\n", difference);printf("Product = %d\n", product);printf("Quotient = %d\n", quotient);printf("Remainder = %d\n", remainder);printf("Enter radius:");scanf("%f", &radius);area = 3.14159 * radius * radius;circumference = 2 * 3.14159 * radius;printf("Area = %f\n", area);printf("Circumference = %f\n", circumference);return 0;}3. 编译运行程序,输入两个整数和一个半径,观察程序输出结果。

C语言实验报告

一、实验目的1.熟悉C语言的上机环境,进一步掌握C语言的结构特点。

2.熟练掌握在Turbo C系统上编辑、编译、连接和运行C 程序的方法。

3.掌握C语言运算符的优先级和结合方向。

4.熟练掌握数据的输入输出格式。

5.掌握各种基本操作。

二、实验内容1、若有定义int x,a,b,c,*p=&x;,写出顺序执行下列表达式后x的值,然后通过程序验证。

要求:先写出运算结果,然后利用程序验证。

① x=a=b=10② x=25%(c=3)③ *p+=2+3④ x/=(x+(*p%=2),(a&&5+3))⑤ x*=x+=x-=x⑥ x=((a=4%3,a!=1),++*p>10)源代码:main() /*定义主函数main()*/{ int x,a,b,c,*p=&x; /*定义整型变量*/x=a=b=10; /*对变量x,a,b,赋值*/printf("x=%d\n",x); /*调用printf()函数输出结果*/x=25%(c=3); /*变量赋值*/printf("x=%d\n",x); /*调用printf()函数输出结果*/*p+=2+3; /*赋值运算*/printf("x=%d\n",x); /*调用printf()函数输出结果*/x/=(x+(*p%=2),(a&&5+3)); /*赋值运算*/printf("x=%d\n",x); /*调用printf()函数输出结果*/x*=x+=x-=x; /*赋值运算*/printf("x=%d\n",x); /*调用printf()函数输出结果*/ x=((a=4%3,a!=1),++*p>10); /*赋值运算*/printf("x=%d\n",x); /*调用printf()函数输出结果*/ }2.若有定义int a=2,b=-3,c=4,*p=&a,*q=&b;,计算下列各表达式的值,然后通过程序验证。

c语言实验报告完整版

c语言实验报告HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】丽水学院计算机实验报告丽水学院计算机实验报告一、实验目的1.熟悉Visual C++和C-Free等集成环境,掌握运行一个C程序的基本步骤,包括编辑、编译、连接和运行。

2.掌握算术表达式和赋值表达式的使用。

3.掌握基本输入、输出函数的使用。

4.能够编程实现简单的数据处理。

二、实验环境硬件:Pentium以上的计算机。

软件:Windows XP操作系统、Visual C++和C-Free等集成环境。

三、实验内容和结果1.编程题1在屏幕上显示一个短句“What is a computer?”思考:(1)如何在屏幕上显示你自己的学号,姓名和班级?(2)如何在屏幕上显示数字、英文字母和汉字等信息?例如:“你在机房吗?”编程题1源程序:#include<>void main(){printf("What is a computer?\n");}程序运行结果:What is a computer?思考题(1):#include<>void main(){printf(",小王,班级\n");}思考题(2):#include<>void main(){printf("英文字母abcdefgABCDEFG\n");printf("汉字:哇哈哈啊哈和\n");}2.编程题2在屏幕上显示下列图形。

* * * ** * ** **思考:如何在屏幕上显示下列图形?AA AA编程题2源程序:#include<>void main(){int i,j;for(j=1;j<5;j++){for(i=5;i>j;i--)printf("*"); printf("\n");}}程序运行结果:* * * ** * ** **思考题:#include<>void main(){printf(" A \n");printf("A A\n");printf(" A \n");}3.编程题3已知小明的数学,英语和计算机课程的成绩分别是87分,80分和95分,求小明3门课程的平均分。

C语言实验报告册_2016.3a

学生实验报告册(理工类)课程名称:C语言程序设计实验专业班级: 15自动化 2班学生学号: 1517011063 学生姓名:王启涛所属院部:智能科学与控制工程学院指导教师:王预2015——20 16学年第 2 学期金陵科技学院教务处制实验报告书写要求实验报告上交电子稿,标题采用四号黑体,正文采用小四号宋体,单倍行距。

实验报告书写说明实验报告中实验目的和要求、实验仪器和设备、实验内容与过程、实验结果与分析这四项内容为必需项。

教师可根据学科特点和实验具体要求增加项目。

填写注意事项(1)细致观察,及时、准确、如实记录。

(2)准确说明,层次清晰。

(3)尽量采用专用术语来说明事物。

(4)外文、符号、公式要准确,应使用统一规定的名词和符号。

(5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。

实验报告批改说明实验报告的批改要及时、认真、仔细,一律用红色笔批改。

实验报告的批改成绩采用五级记分制或百分制,按《金陵科技学院课堂教学实施细则》中作业批阅成绩评定要求执行。

实验项目名称:初级程序设计实验学时: 6实验地点:工科楼实验日期: 2016.3.29 实验成绩:批改教师:王预批改时间:实验1 初级程序设计一、实验目的和要求(1)熟悉Visual C++集成环境,进行编辑、保存、编译、连接及运行,并能进行简单程序调试;(2)掌握C语言中各种运算符的使用;(3)掌握C语言中各种数据类型的区别与应用;(4)熟练掌握C语言中变量的定义、赋值和使用,表达式语句、输入/输出语句的使用;(5)掌握C语言中输入/输出函数的使用;(6)掌握C语言中控制语句的使用,含if-else、for、while、do-while语句的使用。

二、实验仪器和设备奔腾以上计算机,装有windows XP以上版本操作系统和Visual C++ 6.0软件。

三、实验内容与过程1、程序调试(1)#include <stdio.h>main(){ int s,t,p,sum;scanf(“%d%d%d”,&s,&t,&p);sum=s+t+p;printf(“sum=%d\n”,sum);}(2)#include <stdio.h>main(){ int k=3;if(k=3) printf(“***”);else printf(“###”);}(3)#include <stdio.h>main(){int k=0;do{ printf(“k=%d\n”,k);}while(k++>0);}2、程序改错下面是判断一个学生考试成绩及格与否的程序(成绩A,或B,或C者为及格;成绩为D者不及格),调试并改进如下程序使其能满足上述输出的需要。

c语言实验报告

C语言实验报告说明1;所有程序均用VC6.0编译运行;文件名命名为姓名+日期;因为实验存在补做;所以并不是按照日期先后排列的..2;为了使截图清晰;手动将运行窗口由“黑底白字”改为了“白底黑字”..实验2 数据类型、运算符和表达式一、实验目的:1掌握C语言数据类型;熟悉如何定义一个整型、字符型、实型变量、以及对它们赋值的方法..2学会使用C的有关算术运算符;以及包含这些运算符的表达式;特别是自加++和自减――运算符的使用..3掌握C语言的输入和输出函数的使用4进一步熟悉C程序的编辑、编译、连接和运行的过程..三、程序调试与问题解决:1输人并运行下面的程序include<stdio.h>void main{char c1;c2;c1='a';c2='b';printf"%c %c\n";c1;c2;}错误!运行此程序..错误!在上面printf语句的下面再增加一个printf语句.. printf"%d %d\n";c1;c2;再运行;并分析结果..输出结果如图;编译成功;无错误..错误!将第3行改为int c1;c2;再运行;并分析结果..错误!再将第4、5行改为c1=a;c2=b;再运行;并分析结果..a;b没有定义;编译报错..错误!再将第4、5行改为c1=‘’a‘’;c2=‘’b‘’;再运行;并分析结果..错误!再将第4、5行改为c1=300;c2=400;再运行;并分析结果..以字符型输出时;输出的将是300;400对应的字符.. 2输人并运行教材第3章习题3. 6给出的程序include<stdio.h>main{char c1='a';c2='b';c3='c';c4='\101';c5='\116'; printf"a%c b%c\tc%c\tabc\n";c1;c2;c3;printf"\t\b%c %c\n";c4;c5;}include<stdio.h>void main{int a;b;unsigned c;d;long e;f;a=100;b=-100;e=50000;f=32767;c=a;d=b;printf"%d;%d\n";a;b; printf"%u;%u\n";a;b; printf"%u;%u\n";c;d; c=a=e; d=b=f;printf"%d;%d\n";a;b;printf"%u;%u\n";c;d;}请对照程序和运行结果分析:①将一个负整数斌给一个无符号的变t;会得到什么结果..画出它们在内存中的表示形式..②将一个大于32767的长整数斌给整型变t;会得到什么结果..画出它们在内存中的表示形式..③将一个长整数赋给无符号变量;会得到什么结果分别考虑该长整数的值大于或等于65535以及小于65535的情况..画出它们在内存中的表示形式..错误!得到的是原来正数取存的数错误!将一个大于32767的长整数斌给整型变t;造成溢出;数据丢失..错误!可能会溢出;也可能正常..4输人习题3. 10include<stdio.h>void main{int i;j;m;n;i=8;j=10;m=++i;n=j++;printf"%d;%d;%d;%d\n";i;j;m;n; }①运行程序;注意i;j;m;n各变量的值..分别作以下改动并运行:②将第6;7行改为:m=i++; n=++j;再运行..③将程序改为:include<stdio.h>void main{int i;j;i=8;j=10;printf"%d;%d\n";i++;j++;}④在③的基础上;将printf语句改为:printf"%d;%d;%d;%d\n";i;j;++i;++j;⑤再将printf语句改为:printf"%d;%d;%d;%d\n";i;j;i++;j++;⑥将程序改为:include<stdio.h>void main{int i;j;m=0;n=0;i=8; j=10;m+=i++;n-=--j;printf"i=%d;j=%d;m=%d;n=%d\n";i;j;m;n; }②将第6;7行改为:m=i++; n=++j;再运行..以上程序结果的不同均是由于自增自减运算符引起的;考虑到一个判断技巧;看自增自减运算符时;先将它们从原程序中拿出来;如果++或—在后;就先把值放回去;然后自增自减;如果在前;先自增自减;再把结果放进去..printf"%d;%d;%d;%d\n";i;j;++i;++j;include<stdio.h>void main{int i;j;m=0;n=0;i=8; j=10;m+=i++;n-=--j;printf"i=%d;j=%d;m=%d;n=%d\n";i;j;m;n; }实验5 循环控制一、实验目的:1熟练掌握for 语句、while 语句、do-while 语句实现循环的方法;2理解循环嵌套及其使用方法;3掌握break 语句与continue 语句的使用;4掌握用循环实现一些常用算法如穷举、迭代、递推等..二、实验内容:1.输入两个正整数;求其中最大公约数和最小公倍数..2. 输入一行字符;分别统计出其中的英文字母、空格、数字和其它字符的个数..3.用牛顿迭代法求方程 2X3- 4X2+ 3X- 6=0在 1.5附近的根..4. 猴子吃桃问题..猴子第一天摘下若干个桃子;当即吃了一半;还不过痛;又多吃了一个..第二天早上又将剩下的桃子吃掉一半;又多吃了一个..以后每天早上都吃了前一天剩下的一半零一个..到第10天早上想再吃时;见只剩一个桃子了..求第一天共摘了多少桃子..三、程序调试与问题解决:1.输入两个正整数;求其中最大公约数和最小公倍数..编译无错误;运行如上图所示;使用了最简单的算法;清晰易理解;同时注意了编程的格式;在以往编程序时;往往不注意上下对齐等问题;容易出现缺标点等现象;将大括号一级一级对齐后;可以有效地避免出错..发现一个技巧;打括号时一次打出一对括号;可以减少括号不配对的错误..2. 输入一行字符;分别统计出其中的英文字母、空格、数字和其它字符的个数..编译无误;测试正确;写该程序时特意加了注释;以便阅读..3.用牛顿迭代法求方程 2X3- 4X2+ 3X- 6=0在 1.5附近的根..该程序缺少include<stdio.h>;是截图原因;原程序中是存在的..最开始不知道fabs函数的用法;通过百度查询..4. 猴子吃桃问题..猴子第一天摘下若干个桃子;当即吃了一半;还不过痛;又多吃了一个..第二天早上又将剩下的桃子吃掉一半;又多吃了一个..以后每天早上都吃了前一天剩下的一半零一个..到第10天早上想再吃时;见只剩一个桃子了..求第一天共摘了多少桃子..实验7 函数一、实验目的:1 掌握定义函数的方法..2 掌握函数实参与形参的对应关系及值传递的方式..3 掌握函数的嵌套调用和递归调用的方法..4 掌握全局变量和局部变量;动态变量和静态变量的概念和使用方法..5 学习对多文件程序的编译和运行..二、实验内容:1.写一个判别素数的函数;在主函数输入一个整数;输出是否素数的信息..本程序应当准备以下测试数据:17、34、2、1、0..分别运行并检查结果是否正确..2.用一个函数来实现将一行字符串中最长的单词输出..此行字符从主函数传递给该函数..1把两个函数放在同一个程序文件中..2将两个函数分别放在两个程序文件中;作为两个文件进行编译、连接和运行..3.用递归法将一个整数n转换成字符串..例如输入483.应输出字符串“483”..n的位数不确定;可以是任意的整数..4.求两个整数的最大公约数和最小公倍数..用一个函数求最大公约数用另一个函数根据求出的最大公约数求最小公倍数..分别用下面的两种方法编程..1不用全局变量;在主函数中输入两个数和输出结果..2用全部变量的方法;数据的传递通过全部变量的方法..5.写一个函数;输入一个十六进制数;输出相应的十进制数..三、程序调试与问题解决:1.写一个判别素数的函数;在主函数输入一个整数;输出是否素数的信息..本程序应当准备以下测试数据:17、34、2、1、0..分别运行并检查结果是否正确..该例编译时出现错误;原因是误将sushua==1写为sushua=1..改正后编译无误..2.用一个函数来实现将一行字符串中最长的单词输出..此行字符从主函数传递给该函数..子函数中第二个while考虑到了多种标点符号的情况;但是该程序可能存在的问题是;如果有两个单词的长度是相同的3.用递归法将一个整数n转换成字符串..例如输入483.应输出字符串“483”..n的位数不确定;可以是任意的整数..4.求两个整数的最大公约数和最小公倍数..用一个函数求最大公约数用另一个函数根据求出的最大公约数求最小公倍数..分别用下面的两种方法编程.. 1不用全局变量;在主函数中输入两个数和输出结果.. 2用全部变量的方法;数据的传递通过全部变量的方法..使用了两个子函数;我认为应该还有更简单的算法5.写一个函数;输入一个十六进制数;输出相应的十进制数..程序运行时出现错误;后检查发现在scanf格式字符串的双引号是中文符号;改成英文双引号后成功..实验9 指针一、实验目的:错误!通过实验进一步掌握指针的概念;会定义和使用指针变量;错误!能正确使用数组的指针和指向数组的指针变量;错误!能正确使用字符串的指针和指向字符串的指针变量;错误!能正确使用指向函数的指针变量;错误!了解指向指针的指针的概念及其使用方法..二、实验内容:1. 输入三个整数;按由小到大的顺序输出;然后将程序改为:输入三个字符串;按由小到大顺序输出..2. 将一个3X3的矩阵转置;用一函数实现之..l 3 57 9 1113 15 19将数组名作为函数实参;在执行函数的过程中实现矩阵转置;函数调用结束后在主函数中输出已转置的矩阵..3.有n个人围成一圈;顺序排号..从第1个人开始报数从1到3报数;凡报到3的人退出圈子;问最后留下的是原来第几号的那位..4. 用一个函数实现两个字符串的比较;即自己写一个strcmp函数;函数原型为:int strcmp char p1; char p2;设p1指向字符串s1;p2指向字符串s2;要求当s1=s2时;函数返回值为 0; 如果sl≠s2;则返回它们二者第一个不相同字符的ASCII码差值如“BOY”与“BAD”的第二个字母不相同;“O”与“A”之差为79—65=14;如果sl>s2;则输出正值;如果sl<s2则输出负值..两个字符串s1、s2由main函数输入;strcmp函数的返回值也由main函数输出..5.用指向指针的指针的方法对n个整数排序并输出..要求将排序单独写成一个函数..n和各整数在主函数中输入;最后在主函数中输出..三、程序调试与问题解决:1. 输入三个整数;按由小到大的顺序输出;然后将程序改为:输入三个字符串;按由小到大顺序输出..2. 将一个3X3的矩阵转置;用一函数实现之..l 3 57 9 1113 15 193.有n个人围成一圈;顺序排号..从第1个人开始报数从1到3报数;凡报到3的人退出圈子;问最后留下的是原来第几号的那位..5.用指向指针的指针的方法对n个整数排序并输出..要求将排序单独写成一个函数..n和各整数在主函数中输入;最后在主函数中输出..实验12 文件一、目的要求:1.掌握文件以及缓冲文件系统、文件指针的概念;2.学会使用文件打开、关闭、读、写等文件操作函数..3.学会用缓冲文件系统对文件进行简单的操作..二、实验内容:1. 有5个学生;每个学生有3门课的成绩;从键盘输入以上数据包括学生号、姓名、三门课成绩;计算出平均成绩;将原有数据和计算出的平均分数存放在磁盘文件“Stud”中..三、程序调试与问题解决:1. 有5个学生;每个学生有3门课的成绩;从键盘输入以上数据包括学生号、姓名、三门课成绩;计算出平均成绩;将原有数据和计算出的平均分数存放在磁盘文件“Stud”中..。

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

学生实验报告册(理工类)课程名称:C语言程序设计实验专业班级: 15自动化 2班学生学号: ********** 学生姓名:王启涛所属院部:智能科学与控制工程学院指导教师:王预2015——20 16学年第 2 学期金陵科技学院教务处制实验报告书写要求实验报告上交电子稿,标题采用四号黑体,正文采用小四号宋体,单倍行距。

实验报告书写说明实验报告中实验目的和要求、实验仪器和设备、实验内容与过程、实验结果与分析这四项内容为必需项。

教师可根据学科特点和实验具体要求增加项目。

填写注意事项(1)细致观察,及时、准确、如实记录。

(2)准确说明,层次清晰。

(3)尽量采用专用术语来说明事物。

(4)外文、符号、公式要准确,应使用统一规定的名词和符号。

(5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。

实验报告批改说明实验报告的批改要及时、认真、仔细,一律用红色笔批改。

实验报告的批改成绩采用五级记分制或百分制,按《金陵科技学院课堂教学实施细则》中作业批阅成绩评定要求执行。

实验项目名称:初级程序设计实验学时: 6实验地点:工科楼实验日期: 2016.3.29 实验成绩:批改教师:王预批改时间:实验1 初级程序设计一、实验目的和要求(1)熟悉Visual C++集成环境,进行编辑、保存、编译、连接及运行,并能进行简单程序调试;(2)掌握C语言中各种运算符的使用;(3)掌握C语言中各种数据类型的区别与应用;(4)熟练掌握C语言中变量的定义、赋值和使用,表达式语句、输入/输出语句的使用;(5)掌握C语言中输入/输出函数的使用;(6)掌握C语言中控制语句的使用,含if-else、for、while、do-while语句的使用。

二、实验仪器和设备奔腾以上计算机,装有windows XP以上版本操作系统和Visual C++ 6.0软件。

三、实验内容与过程1、程序调试(1)#include <stdio.h>main(){ int s,t,p,sum;scanf(“%d%d%d”,&s,&t,&p);sum=s+t+p;printf(“sum=%d\n”,sum);}(2)#include <stdio.h>main(){ int k=3;if(k=3) printf(“***”);else printf(“###”);}(3)#include <stdio.h>main(){int k=0;do{ printf(“k=%d\n”,k);}while(k++>0);}2、程序改错下面是判断一个学生考试成绩及格与否的程序(成绩A,或B,或C者为及格;成绩为D者不及格),调试并改进如下程序使其能满足上述输出的需要。

#include <stdio.h>main(){ char mark=“A”;switch(mark){ case “A”:case “B”:case “C”: printf(“>=60\n”);case “D”: printf(“<60\n”);default: printf(“Error \n”);}}3、程序设计(1)功能:编程实现使一任意实型正数保留2位小数,并对第三位进行四舍五入。

例如:实型数为 1234.567,则函数返回 1234.570000;实型数为 1234.564,则函数返回 1234.560000。

#include <stdio.h>main(){ float a,; int b;scanf("%f",&a);b=a*100+0.5;a=b/100.0;printf("a=%7.2f",a);}(2)功能:从键盘输入一个大写字母,要求改用小写字母输出。

说明:可分别利用格式化及字符专门的输入输出函数两种方法实现。

(3)功能:编写函数计算下列分段函数的值:⎪⎩⎪⎨⎧--<≤+-<++=其它11006506)(222x x x x x x x x x f(4)假设工资税率如下,其中s 代表工资,r 代表税率:s<500 r=0%500<=s<1000 r=5%1000<=s<2000 r=8%2000<=s<3000 r=10%3000<=s r=15%编一程序实现从键盘输入一个工资数,输出实发工资数。

要求使用switch 语句。

(5)功能:功能:计算正整数n 的所有因子(1和n 除外)之和并输出。

n 的值由键盘输入。

例如:n=120时,输出239。

(6)功能:计算并输出下列多项式的值 S = 1 + 1/1! + 1/2! + 1/3! + ... + 1/n!例如:键盘给n输入15,则输出为:s=2.718282。

注意:要求n的值大于1但不大于100。

(7)功能:从低位开始取出长整型变量s奇数位上的数,依次构成一个新数放在t中。

例如:当s中的数为:7654321时,t中的数为:1357。

五、实验注意事项1、赋值号“=”与关系运算符“==”的区别;2、if-else语句中else后无条件表达式;3、while与do-while的区别;4、复合语句必须用{}括起来。

六、思考题1、功能:判断一个三位数是否"水仙花数"。

在main函数中从键盘输入一个三位数,并输出判断结果。

说明:所谓"水仙花数"是指一3位数,其各位数字立方和等于该数本身。

例如:153是一个水仙花数,因为153=1+125+27。

2、功能:计算并输出3到n之间所有素数的平方根之和。

例如:键盘给n输入100后,输出为:sum=148.874270。

3、功能:输出Fibonacci数列中大于s的最小的一个数。

其中Fibonacci数列F(n)的定义为:F(0)=0,F(1)=1 F(n)=F(n-1)+F(n-2)例如:键盘输入s=1000时,输出1597。

4、功能:判断整数x是否是同构数。

若是同构数,输出"是";否则输出"不是"。

x 的值由主函数从键盘读入,要求不大于100。

说明:所谓“同构数”是指这样的数,这个数出现在它的平方数的右边。

例如:输入整数5,5的平方数是25,5是25中右侧的数,所以5是同构数。

程序清单:3(1)#include <stdio.h>main(){ float a; int b;scanf("%f",&a);b=a*100+0.5;a=b/100.0;printf("a=%7.2f",a);}(2)#include <stdio.h>main(){ char ch;pintf("press a key and then press enter");ch=getchar();if(ch>'A'&&ch<'Z');ch=ch+32;putchar(ch);printf(“\n”);}(3)#include <stdio.h>main(){ float x,y;scanf("%f",&x);if(x<0)y=x*x+x+6;else if(x<10&&x!=2.0&&x!=3.0) y=x*x-5*x+6;elsey=x*x-x-1;printf("%f",y);}(4)#include <stdio.h>main(){ int n,s;scanf("%d",&s);if(s<500)n=1;else if(s<1000)n=2;else if(s<2000)n=3;else if(s<3000)n=4;elsen=5;switch(n){case ‘1':printf("%d",s);break;case ‘2':s=s*(1-5%);printf("%d",s);break;case ‘3':s=s*(1-8%);printf("%d",s);break;case ‘4':s=s*(1-10%);printf("%d",s);break;case ‘5':s=s*(1-15%);printf("%d",s);break;default:print("invalid operator!\n");}}四、实验结果与分析(程序运行结果及其分析)1 (1)输入 12 2Sum=5(2)***(3)k=0五、实验体会(遇到问题及解决办法,编程后的心得体会)实验项目名称:中级程序设计实验学时: 8实验地点:实验日期:实验成绩:批改教师:批改时间:实验2 中级程序设计一、实验目的和要求(1)掌握函数的定义、调用及返回、声明的应用;(2)熟练掌握一维数组的定义、初始化及使用;(3)掌握二维数组的定义、初始化及应用;(4)熟练掌握向函数传递一维数组的方法和应用;(5)掌握向函数传递一维数组的方法和应用。

二、实验仪器和设备奔腾以上计算机,装有windows XP以上版本操作系统和Visual C++ 6.0软件。

三、实验内容与过程1、程序调试#include <stdio.h>int func(int a,int b){return(a+b); }main(){int x=3,y=8,z=4,r;r=func(func(x,y),z);printf(“r=%d\n”,r);}2、程序改错要求:1、改错时,只允许修改现有语句中的一部分内容,不允许添加和删除语句。

2、提示行下一行为错误行。

(1) 功能:判断m是否为素数,若是返回1,否则返回0。

#include <stdio.h>/**********FOUND**********/void fun( int n){int i,k=1;if(m<=1) k=0;/**********FOUND**********/for(i=1;i<m;i++)/**********FOUND**********/if(m%i=0) k=0;/**********FOUND**********/return m;}void main(){int m,k=0;for(m=1;m<100;m++)if(fun(m)==1){printf("%4d",m);k++;if(k%5==0) printf("\n");}}(2)功能:在一个已按升序排列的数组中插入一个数,插入后,数组元素仍按升序排列。

相关文档
最新文档