c语言实验报告(同名3848)
- 格式:doc
- 大小:70.00 KB
- 文档页数:7
c语言的实验报告C语言的实验报告引言:计算机科学领域的学生们通常会在大学的课程中学习C语言。
C语言是一种通用的编程语言,它简洁高效,广泛应用于软件开发、嵌入式系统等领域。
在学习C语言的过程中,学生们通常需要进行一系列的实验来加深对语言特性和编程概念的理解。
本文将介绍几个常见的C语言实验,并总结实验过程中的体会和收获。
实验一:基本数据类型和运算符C语言提供了多种基本数据类型,如整型、浮点型、字符型等。
在这个实验中,我们需要熟悉这些数据类型的使用方法,并掌握基本的算术运算符和逻辑运算符。
通过编写简单的程序,我们可以实现整数相加、浮点数相乘等操作。
这个实验帮助我们了解C语言的基本语法和运算规则。
实验二:控制流程在实际的编程中,我们常常需要根据不同的条件来执行不同的代码块。
C语言提供了多种控制流程语句,如if语句、for循环、while循环等。
通过这个实验,我们可以学习如何使用这些语句来实现条件判断和循环操作。
例如,我们可以编写一个程序来判断一个数是否为素数,或者实现一个简单的猜数字游戏。
这个实验帮助我们掌握程序的流程控制和逻辑思维。
实验三:函数和指针函数是C语言中的重要概念,它可以将一段代码封装成一个独立的模块,方便代码的复用和维护。
指针是C语言中另一个重要的特性,它可以用来处理内存地址和动态分配内存。
在这个实验中,我们需要编写一些函数来实现特定的功能,并学习如何使用指针来操作变量和数组。
通过这个实验,我们可以提高代码的模块化程度,并学会灵活运用指针来解决实际问题。
实验四:文件操作在实际的软件开发中,我们经常需要读写文件来存储和处理数据。
C语言提供了一些函数来进行文件操作,如fopen、fread、fwrite等。
在这个实验中,我们需要编写程序来读取文件内容,进行数据处理,并将结果写入新的文件中。
通过这个实验,我们可以学习如何使用文件操作函数,并了解文件的打开、读写和关闭过程。
实验五:数据结构和算法数据结构和算法是计算机科学的核心内容,也是软件开发中不可或缺的部分。
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语言的数据类型、运算符、循环语句和函数定义等内容,并能够应用这些知识解决实际问题。
三、实验内容本次实验包括以下几个部分:变量的定义与使用、条件语句的应用、循环语句的运用、数组的定义与使用、函数的定义与调用以及实验总结等。
1. 变量的定义与使用在C语言中,可以使用关键字“int”、“float”、“char”等定义不同类型的变量。
变量是计算机程序中存储数据的基本单元。
在本次实验中,我通过定义不同类型的变量,并进行赋值和运算等操作,来加深对变量的理解和掌握。
2. 条件语句的应用条件语句在程序设计中起到了判断和选择不同执行路径的作用。
在C 语言中,可以使用“if”、“else if”、“else”等关键字来实现条件语句的控制。
通过实验,我学会了如何根据不同的条件执行不同的代码块。
3. 循环语句的运用循环语句是程序中重复执行某段代码的结构,能够提高程序的灵活性和效率。
在C语言中,我掌握了“for”、“while”、“do while”等不同类型的循环语句的使用方法,并在实际问题中进行了应用。
4. 数组的定义与使用数组是一种存储相同数据类型多个元素的容器。
在C语言中,可以通过定义数组名和下标位置来访问和操作数组中的元素。
通过实验,我深入了解了数组的索引范围、元素的访问以及数组在程序中的应用。
5. 函数的定义与调用函数是一段封装了特定功能的代码块,可以提高程序的模块化和可维护性。
在C语言中,我学会了如何定义函数并传递参数,以及通过函数调用来实现特定功能。
四、实验过程及结果在实验过程中,我采用了自上而下的方法,先分析问题,再逐步实现代码。
C语言实验报告实验报告实验目的本次实验旨在深入了解和掌握C语言的基础语法和编程思想,同时运用所学知识完成一些常见的C语言编程任务,提高编程能力和解决问题的能力。
实验内容实验1:C语言基础知识练习题目1给定一个整型数组a,数组长度为n,请编写一个函数,返回数组中所有元素的和。
int sum(int a[], int n) {int s = 0;for (int i = 0; i < n; i++) {s += a[i];}return s;}题目2编写一个函数,判断输入的字符串是否为回文。
int is_palindrome(char s[]) {int len = strlen(s);for (int i = 0; i < len / 2; i++) {if (s[i] != s[len - i - 1]) {return0;}}return1;}实验2:C语言中的指针和内存管理题目1给定一个整型数组a,数组长度为n,请编写一个函数,返回数组中最小元素的指针。
int *min(int a[], int n) {int *p = &a[0];for (int i = 1; i < n; i++) {if (a[i] < *p) {p = &a[i];}}return p;}题目2编写一个函数,将字符串s中所有小写字母转换成大写字母。
void to_upper(char s[]) {int i = 0;while (s[i] != '\\0') {if (s[i] >= 'a' && s[i] <= 'z') {s[i] -= 32;}i++;}}实验3:数据结构与算法题目1给定一个有序数组a和一个整数x,请编写一个函数,在数组中查找x,返回其下标。
int binary_search(int a[], int n, int x) {int left = 0;int right = n - 1;while (left <= right) {int mid = (left + right) / 2;if (a[mid] == x) {return mid;} else if (a[mid] < x) {left = mid + 1;} else {right = mid - 1;}}return-1;}题目2编写一个优化排序算法,对长度为n的整型数组a进行排序。
C语言实验报告C语言实验报告在生活中,报告有着举足轻重的地位,报告具有语言陈述性的特点。
相信许多人会觉得报告很难写吧,下面是小编为大家整理的C语言实验报告,仅供参考,欢迎大家阅读。
C语言实验报告1一周的C语言实训,虽然时间略显仓促,但却让我学到了很多实际运用的技能!一、心得与感想首先,在实训中的第一步是编写功能较为单一的小程序,虽然是小程序,但所用的知识却都是我们本学期学习的重点知识。
在做题的过程中让我们把这些知识复习了一遍,强化了知识!其次,这次作中所碰到的题目,在实训中已经接触过,所我们都比较深知这些题目的要求和算法,因次在编写小程序时比较快,而且算法也是比较简化,运算准确。
鉴次我明白很多编程题要经过多次编写修改与调试,才会得到最简略的算法。
再次,平时我们学C语言视乎都是为了考试或者做一些比较常规的题目,而这次实训却给我们的将所学知识运用于解决实际问题的机会,让人更有激情,这就是编写软件的在雏形,也让我们感受到了编写软件程序的乐趣。
但是不仅仅是如此,更为重要的是在运用所学知识的过程中,记住这些知识,并能够广泛的运用!虽然我这次是编写一个菜单的程序,但是如果我么留心的话,我们身边有许多电子设备都是内置有程序的,我们也可以在此次专题实训过后,自行确定其他的专题进行编写程序,这样可以让我们的知识更加深化丰富!这次实训似乎是对我巨大的考验,程序在不慌不忙的进行着,按照我自身的进度,提前完成是没有问题的,但是很多客观条件让我不得不在最后的时间里才上交的作业。
每当我把程序写完以后,却由于每一台电脑的识别格式不一样而导致我所写的文件一次次的被损坏,尽管这样,我仍然没有放弃,最后还赶在截止时间到来之前上交了我的作业!这一次编写大作业的程序又让我感受到学程序可以锻炼缜密的思维了。
因为平时练习的都是小程序,所以句段比较少,一些错误都很容易被检查出来,但是这次实训却是上百段的语句,难以检查,似乎也没有经验去怎么检查,那一刹那感觉到很急,但又不知如何是好,可是又不轻易的向老师询问,因为好像蛮简单,相信自己能够检查出来,所以我一般都是独立思考的完成的,只有少部分是在老师和与同学讨论下完成的。
c语言课程实验报告C语言课程实验报告引言:C语言作为一门广泛应用于计算机科学领域的编程语言,具有简洁高效的特点,被广泛用于系统软件、嵌入式设备等领域。
在C语言课程中,我们进行了一系列的实验,旨在通过实践提升我们的编程能力和理解C语言的各种特性。
本报告将对我们进行的实验进行总结和分析。
实验一:基本语法和数据类型在第一次实验中,我们学习了C语言的基本语法和数据类型。
通过编写简单的程序,我们熟悉了C语言的变量定义、运算符、控制语句等基本概念。
同时,我们也了解了C语言中常用的数据类型,如整型、浮点型、字符型等,并学会了如何进行类型转换和输入输出操作。
实验二:数组和字符串处理在第二次实验中,我们深入学习了C语言中的数组和字符串处理。
通过编写程序,我们掌握了数组的定义、初始化和访问方法,了解了一维数组和多维数组的特点。
同时,我们也学会了使用C语言提供的字符串处理函数,如strlen、strcpy、strcat等,实现字符串的复制、连接和比较等操作。
实验三:函数和指针第三次实验是函数和指针的学习。
我们学习了如何定义和调用函数,了解了函数的参数传递和返回值的相关知识。
同时,我们也深入研究了指针的概念和用法,掌握了指针的声明、初始化和使用方法。
通过实验,我们发现指针在C语言中具有重要的作用,可以提高程序的效率和灵活性。
实验四:文件操作和结构体在第四次实验中,我们学习了C语言中的文件操作和结构体。
通过使用文件读写函数,我们能够实现对文件的读取和写入操作,实现数据的永久存储。
同时,我们也学会了定义和使用结构体,实现对复杂数据的封装和处理。
这些知识对于实际项目的开发非常重要。
实验五:动态内存分配和链表在第五次实验中,我们学习了动态内存分配和链表的使用。
通过使用malloc和free函数,我们能够在程序运行时动态分配和释放内存,提高了内存的利用效率。
同时,我们也学会了使用链表数据结构,实现对数据的动态存储和管理。
链表在数据结构和算法中有着广泛的应用,对于解决实际问题非常有帮助。
C语言实验报告C语言实验报告(精选9篇)在经济发展迅速的今天,我们都不可避免地要接触到报告,通常情况下,报告的内容含量大、篇幅较长。
写起报告来就毫无头绪?下面是小编帮大家整理的C语言实验报告,欢迎阅读与收藏。
C语言实验报告1在这个星期里,我们在专业老师的带领下进行了c语言程序实践学习。
在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,更多的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。
由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。
上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。
对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。
学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。
因为学时所限,课程不能安排过多的统一上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。
个人认为课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:1、加深对课堂讲授内容的理解课堂上要讲授许多关于c语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。
然而要使用c语言这个工具解决实际问题,又必须掌握它。
通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c 语言的语法规定。
对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。
学习c语言不能停留在学习它的语法规则,而是利用学到的知识编写c语言程序,解决实际问题。
C语言实验报告范文1.实验目的本实验的目的是通过C语言编写程序来熟悉C语言的基本语法和编程方法,掌握C语言的基本数据类型、运算符、控制语句等内容,并能够利用C语言完成简单的程序设计。
2.实验内容本实验包括以下四个部分的内容:2.1输入输出通过C语言的输入输出函数,实现从用户处输入数据,再将数据输出到屏幕上的功能。
2.2算术运算通过C语言的算术运算符,实现基本的加减乘除运算,并将运算结果输出到屏幕上。
2.3控制语句通过C语言的条件语句和循环语句,实现对条件的判断和循环控制,并输出满足条件的结果。
2.4函数调用通过C语言的函数定义和函数调用,实现程序的模块化设计和代码的复用。
3.实验过程3.1输入输出首先,使用C语言的输入函数scanf(从用户处输入两个整数,并将其存储在两个变量a和b中。
然后,使用C语言的输出函数printf(将两个变量的值输出到屏幕上。
3.2算术运算定义两个变量c和d,并分别将a和b的值赋给它们。
然后,使用C 语言的算术运算符对c和d进行加、减、乘、除运算,并将运算结果分别存储在变量e、f、g、h中。
最后,使用printf(函数将这四个变量的值输出到屏幕上。
3.3控制语句根据用户输入的值,使用if-else语句判断a和b的大小关系,并输出不同的结果。
然后,使用for循环语句计算1加到100的和,并输出结果。
3.4函数调用首先,在程序中定义一个函数sum,用于计算两个整数的和。
然后,在主函数中调用该函数,并将a和b作为参数传递给该函数。
最后,将函数的返回值输出到屏幕上。
4.实验结果根据实验过程中的步骤,编写C语言程序并进行编译运行。
输入不同的数据值,观察程序的输出结果。
根据所输入的数据和程序逻辑,验证程序运行是否正确。
5.实验总结通过本次实验,我掌握了C语言的基本语法和编程方法。
通过编写程序,我能够熟练使用C语言的输入输出函数、算术运算符、控制语句和函数调用等功能。
通过对实验结果的观察和分析,我对C语言的运行机制和语法规则有了更深入的理解,并且能够独立解决简单的编程问题。
C语言实验报告C语言实验报告9篇随着个人素质的提升,报告的适用范围越来越广泛,我们在写报告的时候要注意语言要准确、简洁。
写起报告来就毫无头绪?以下是小编为大家整理的C语言实验报告,仅供参考,欢迎大家阅读。
C语言实验报告1一、实习目的1.掌握在集成环境中编辑、编译、连接和运行C程序的方法。
(1)运行TC(2)启动TC集成环境,输入一个源程序,编译并运行。
2.掌握单步执行、设置/去除断点,观察变量或表达式的值。
(3)在该程序中按CTRL+F7单步招待并在观察窗口中查看变量和表达式的值。
(4)设置/去除断点,继续调试。
1、熟练掌握if.switch分支语句的使用。
2、熟练掌握for.while.do.while循环语句的使用。
3、熟练掌握函数的定义、说明、参数传递及嵌套和递归调用方法。
4、熟练掌握一维数组、二维数组、字符数组的定义、说明和使用方法。
熟练掌握结构体和指针的综合应用链表的操作二、实习地点北京交通干部管理学院计算机系机房十三号.三、实习成果熟练掌握TC集成环境的使用方法。
认真编写实习报告和实习总结,描述实习操作和心得体会,总结在这次实习中的业务收获,作出自我评价。
熟练掌握并应用TC程序设计的各个知识点。
掌握结构体和指针的联合使用,学会链表的构造和常用操作方法,认真编写实习日志和实习体会。
并通过各种途径查找所需资料,拓宽视野,培养自学能力。
四、实习心得在短短一周的实习期间使我获取了不少新知识也巩固了许多老知识。
我体会到了老师和同学们的热心帮助,无论面对学习中多大的困难,同学们都会帮助你,老师也会帮助你,大家就像兄弟姐妹一样。
老师安排我们有具有的分工:首先,在计算机机房里同学们积极的对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语言实验报告(同名3848)
C语言程序设计实验报告
1实验目的
⑴掌握指针的概念,会定义和使用指针变量;
⑵能正确使用变量的指针和指向变量的指针变量;
⑶能正确使用数组的指针和指向数组的指针变量;
⑷能正确使用字符串的指针和指向字符串的指针变量。
2实验内容
编写函数upCopy(char *new,char *old),将old指针所指向字符串中的大写字母复制到new指针指向的字符串中,并在主函数中调用该函数。
要求:
①画出算法的流程图。
②在主函数中以直接初始化的方式输入一个字符串。
③在主函数中调用upCopy()函数,输出old指针和new指针指向的字符串。
3算法描述流程图
4源程序
#include<stdio.h>
void upCopy(char *new,char *old);
void main()
{
char a[20]=("foiwheEIfjiEfj");
char b[20];
upCopy(b,a);
printf("复制之前的字符串为:"); puts(a);
printf("复制之后的字符串为:"); puts(b);
}
void upCopy(char *new,char *old) {
int i,j;
j=0;
for(i=0;i<20;i++)
{
if(*(old+i)>=65&&*(old+i)<=90)
{
*(new+j)=*(old+i);
j++;
}
}
*(new+j)='\0';
}
5测试数据
无测试数据。
6运行结果
7出现问题及解决方法
出现的问题是:
①在运用scanf()函数时,由于跟printf()混淆,变量地址的位置忘记输取地
址符“&”,解决办法就是加上取地址符“&”。
②在找到该插入的位置后,进行后面的数据向后一个数据为调换的时候,没
有注意到“++”运算和“--”运算全部都作用在q上面,都在改变存储的q
的值。
解决方法就是用加1的运算来代替自增运算,这样就只有自减运算
在改变q的值,程序即可正常运行。
8实验心得
通过这个实验,掌握了如何定义数组的指针和指向数组的指针变量。
同时在程序编写过程中学习到了如何用for循环来寻找数组中某个元素对应的下标。
另外,在自己的错误中我还学到了要牢记C语言中各种函数的语法格式,这样才能避免一些不该犯的错误。
同时在逻辑上要慎重的同时使用自增和自减运算符,这种逆运算会直接影响变量的存储值。
C语言程序设计实验报告
1实验目的
⑴掌握指针的概念,会定义和使用指针变量;
⑵能正确使用变量的指针和指向变量的指针变量;
⑶能正确使用数组的指针和指向数组的指针变量;
⑷能正确使用字符串的指针和指向字符串的指针变量。
2实验内容
输入三个整数,按由大到小顺序输出。
要求:
①画出算法的流程图。
②通过scanf()函数输入三个数据并存入三个变量中。
③利用指针实现从大到小的输出。
3算法描述流程图
4源程序
#include<stdio.h>
void main()
{
int *a,*b,*c;
int d,e,f,g;
a=&e;
b=&f;
c=&g;
printf("请输入三个整数:\n");
scanf("%d",a);
scanf("%d",b);
scanf("%d",c);
if(*a<*b)
{
d=*a;
*a=*b;
*b=d;
}
if(*a<*c)
{
d=*a;
*a=*b;
*b=d;
}
if(*b<*c)
{
d=*b;
*b=*c;
*c=d;
}
printf("%4d%4d%4d\n",*a,*b,*c);
}
5测试数据
测试数据为1,9,6。
6运行结果
当输入1,9,6时
7出现问题及解决方法
出现的问题有:
在定义过程中直接定义指针变量,没有定义数据变量,然后直接把输入的值给了指针变量,结果程序无法正常运行。
解决办法就是定义几个整型数据变量,将指针变量指向数据变量,之后再进行输入。
8实验心得
通过这个实验,掌握了如何定义数组指针和指向数组的指针变量。
通过这次实验与上次实验的对比还能过学到通过指针实现一个问题和不用指针相比在很多地方更具有优越性。
在自己的错误中学会了如何在定义指针变量并将指针变量指向数据变量,另外还更加深刻的理解了指针存储的只是地址。