C语言程序设计第四次(2.8)实验报告
《C语言程序设计》实验四

电子科技大学计算机学院标准实验报告(实验)课程名称C语言程序设计电子科技大学教务处制表电子科技大学实验报告四学生姓名:学号:指导教师:王瑞锦实验地点:实验日期:年月日一、实验室名称:软件实验室二、实验项目名称:函数的应用及预处理三、实验学时:2四、实验原理:使用Turbo C软件(简称TC),在微型计算机上,对其程序进行编辑、编译、连接与运行。
Turbo C是一个集成环境,它具有方便、直观、易用的界面和丰富的库函数。
通过上机练习掌握在TC环境下编辑、编译、连接、和运行C程序的方法和过程。
五、实验目的1.掌握C语言中定义函数的方法;2.掌握函数传值调用的方法;3.掌握函数传址调用的方法;4.掌握递归函数的设计方法;5.掌握命令行参数的使用方法;6.掌握函数在不同文件中的编译、链接方法。
六、实验内容编程实验,完成以下上机内容,调试运行程序并完成报告1)、教材第七章习题7.4;2)、编写一个实现冒泡法排序的函数,并在主函数中从键盘上输入6个数后进行排序输出;3)、教材第七章习题7.11;4)、教材第七章习题7.15;5)、教材第七章习题7.24;6)、求解汉渃塔(tower of Hanoi)问题。
在一块平板上立有3根立柱,从左到右分别标记为A,B,C。
最初在A柱上放有6个大小不等的圆盘,并且大盘在下面,小盘在上面。
要求将这些盘从A移到C(可以借助B柱)。
条件是:每次只能移动一个盘,并且不允许把大盘放在小盘的上面。
(提示:利用函数的递归调用);七、实验器材(设备、元器件):pc硬件要求:CPU PII 以上,64M 内存,1OOM 硬盘空间即可。
软件要求:DOS3.0以上/Windows98/Me/XP/NT/2000。
八、实验步骤:实验编程与运行结果⑴编写一个求两个整数的最小公倍数的函数,两个整数由键盘输入,用主函数调用这个函数,并输出结果。
程序文件名为7_4.c,源程序清单如下:#include<stdio.h>lcd(int a,int b){int temp,num1,num2;num1=a;num2=b;while(num2!=0){temp=num1%num2;num1=num2;num2=temp;}return(a*b/num1);}main(){int t,x,y;printf("Please input two integers:");scanf("%d,%d",&x,&y);if(x>y){t=x;x=y;y=t;}printf("lcd(%d,%d)=%d\n",x,y,lcd(x,y));}运行结果:⑵编写一个实现冒泡法排序的函数,并在主函数中从键盘上输入6个数后进行排序输出。
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语言程序的设计第四次(2.8)实验报告

C语言程序设计实验报告专业____________________ 班级 ____________ 日期11 月26日_____________________ 成绩_________ 实验组别_______________ 第3(2.7) 次实验______________________________ 指导教师李开学生姓名—学号___________________ 名实验名称______ 实验8指针实验_____________________ 、实验目的(1) 熟练掌握指针的说明、赋值、使用。
(2) 掌握用指针引用数组的元素,熟悉指向数组的指针的使用。
(3) 熟练掌握字符数组与字符串的使用,掌握指针数组及字符指针数组的用法。
(4) 掌握指针函数与函数指针的用法。
(5) 掌握带有参数的main函数的用法。
二、实验任务8.2实验内容及要求1 •源程序改错2 •源程序完善、修改、替换3 •跟踪调试4 •程序设计5 •选做题8.3指定main函数的参数三、实验步骤及结果(要求给出源程序和程序运行结果。
另外,根据实验内容,记录编辑、编译、链接、调试程序的操作过程和实验现象)8.2实验内容及要求1 •源程序改错下面程序是否存在错误?如果存在,原因是什么?如果存在错误,要求在计算机上对这个例子程序进行调试修改,使之能够正确执行。
#in clude<stdio.h>void mai n(void){float *p;sca nf("%f",p);prin tf("%f\n",*p);}存在,错误为指针一开始没有初始化,而sacnf传入的是float型指针指向的地址,我们并不知道系统能给我们分配什么地址,所以说我们输入的地址很有可能使程序崩溃。
修改后代码:#in clude<stdio.h>int mai n(void){float a[10];〃这里可以换成其他数字p=& a[0];sca nf("%f",p);prin tf("%f\n",*p);return 0;2.源程序完善、修改、替换(1 )下面的程序通过函数指针和菜单选择来调用字符串拷贝函数或字符串连接函数,请在下划线处填写合适的表达式、语句、或代码片段来完善该程序。
C语言程序设计实验报告

C语言程序设计实验报告实验报告:C语言程序设计一、实验目的本实验旨在通过学习C语言程序设计,培养学生的编程思维和解决问题的能力,掌握C语言的基本语法和常见的数据结构,为以后的编程工作打下坚实的基础。
二、实验内容1.C语言基础知识的学习和理解2.C语言程序设计的实践3.编写简单的C语言程序,如输入输出、循环、条件判断等基本操作4.使用C语言实现常见的数据结构,如数组、链表、栈、队列等三、实验过程1.学习C语言的基础知识,包括变量、常量、算术运算、逻辑运算、关系运算等。
2. 通过编写简单的程序来熟悉C语言的基本语法,如输出“Hello World”、计算两个数的和等。
3. 学习C语言的控制结构,如if语句、for循环、while循环等。
4.实现常见的数据结构,如数组、链表、栈、队列,并编写相应的操作函数。
5.在编写程序的过程中,加入适当的注释,提高代码的可读性和可维护性。
四、实验结果通过实验,我掌握了C语言的基本语法和常用的数据结构。
在实践过程中,我能够独立完成简单的C语言程序的编写,能够正确地使用各种控制结构来解决实际问题。
同时,我也学会了如何使用调试工具来找出程序中的错误并进行修正,提高了编程效率。
五、实验总结通过本次实验,我对C语言的程序设计有了进一步的了解和掌握。
C 语言是一门广泛应用于计算机领域的编程语言,掌握好C语言的编程技巧对于提高编程效率和代码质量非常重要。
在实验过程中,我发现编写注释对于代码的可读性和可维护性非常重要,因此在以后的编程过程中,我会养成良好的注释习惯。
同时,我还发现了一些自己在编程过程中常见的错误,如缺少分号、拼写错误等,以后会更加谨慎地避免这些错误的发生。
此外,我还会继续深入学习C语言的高级特性,如指针和动态内存分配等,不断提升自己的编程水平。
通过本次实验,我还学会了如何利用互联网资源解决编程问题,如查阅帮助文档、相关问题的解决方案等。
这为我今后在编程过程中遇到问题时寻找解决办法提供了极大的便利。
c程序设计的实验报告

c程序设计的实验报告C程序设计的实验报告介绍:C程序设计是计算机科学与技术专业中最基础、最重要的一门课程之一。
通过学习C语言,我们可以理解计算机底层的工作原理,培养编程思维和解决问题的能力。
本篇实验报告将介绍我在C程序设计实验中所进行的实验内容、过程和结果。
实验一:基本语法和数据类型在第一次实验中,我们学习了C语言的基本语法和数据类型。
通过编写简单的程序,我了解了C语言中的变量声明、赋值和运算符的使用。
同时,我还学习了整型、浮点型、字符型等不同的数据类型,以及它们在内存中的存储方式。
实验二:控制语句和循环结构在第二次实验中,我们学习了C语言中的控制语句和循环结构。
通过编写条件语句和循环语句,我可以实现程序的分支和循环执行。
这让我能够更好地控制程序的流程,实现不同的功能。
实验三:函数和指针在第三次实验中,我们学习了C语言中的函数和指针。
函数是C语言中的重要概念,通过函数的封装和调用,我们可以提高代码的复用性和可读性。
指针则是C语言中的难点,通过指针的使用,我们可以直接操作内存,实现高效的数据处理。
实验四:数组和字符串在第四次实验中,我们学习了C语言中的数组和字符串。
数组是一种存储相同类型数据的集合,通过数组,我们可以方便地存储和访问大量数据。
字符串则是字符数组的特殊形式,通过字符串的操作,我们可以实现对文本数据的处理。
实验五:文件操作和结构体在第五次实验中,我们学习了C语言中的文件操作和结构体。
通过文件操作,我们可以读写外部文件,实现数据的持久化存储。
结构体则是一种自定义的数据类型,通过结构体,我们可以将不同类型的数据组合在一起,形成更复杂的数据结构。
实验六:动态内存分配和链表在第六次实验中,我们学习了C语言中的动态内存分配和链表。
动态内存分配通过malloc和free函数,我们可以在程序运行过程中动态地申请和释放内存。
链表则是一种非常重要的数据结构,通过链表,我们可以实现高效的数据存储和操作。
实验七:综合实验在最后一次实验中,我们进行了一次综合实验,将之前学习的知识综合运用。
C语言实验报告(精选9篇)

C语言实验报告C语言实验报告(精选9篇)在经济发展迅速的今天,我们都不可避免地要接触到报告,通常情况下,报告的内容含量大、篇幅较长。
写起报告来就毫无头绪?下面是小编帮大家整理的C语言实验报告,欢迎阅读与收藏。
C语言实验报告1在这个星期里,我们在专业老师的带领下进行了c语言程序实践学习。
在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,更多的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。
由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。
上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。
对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。
学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。
因为学时所限,课程不能安排过多的统一上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。
个人认为课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:1、加深对课堂讲授内容的理解课堂上要讲授许多关于c语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。
然而要使用c语言这个工具解决实际问题,又必须掌握它。
通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c 语言的语法规定。
对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。
学习c语言不能停留在学习它的语法规则,而是利用学到的知识编写c语言程序,解决实际问题。
C语言程序设计实验报告

C语言程序设计实验报告一、实验目的增强学生对C语言函数的理解和应用能力,提高编程能力。
二、实验要求利用C语言函数实现对一些文件中的数据进行读取、处理和输出,并设计函数完成相应的功能。
三、实验内容和方法本次实验将设计一个程序,实现对一个文本文件中的数据进行读取、处理和输出的功能。
设计思路:1.打开指定的文件,并判断文件是否能够成功打开。
2.读取文件中的数据,并存储到相应的变量中。
3.根据需要进行数据的处理和计算。
4.将处理后的数据输出到文件或屏幕上。
具体步骤:1.首先定义一个函数,用于打开文件,并判断文件是否成功打开。
函数的参数为文件名,返回一个文件指针。
2.定义一个函数,用于读取文件中的数据,并将数据存储到相应的变量中。
函数的参数为文件指针和数据存储变量。
3.定义一个函数,根据需要进行数据的处理和计算,并将结果存储到相应的变量中。
函数的参数为输入数据和输出数据的变量。
4.定义一个函数,将处理后的数据输出到指定的文件或屏幕上。
函数的参数为要输出的数据和输出文件的指针。
四、实验过程1.实验环境准备确保系统中已安装C语言的编程环境,如Code::Blocks等。
2.创建源文件在编程环境中创建一个源文件,命名为experiment.c。
3.编写源代码```c#include <stdio.h>FILE* openFile(char* filename)FILE* fp = fopen(filename, "r");if (fp == NULL)printf("Open file failed.\n");return NULL;}return fp;void readFile(FILE* fp, int* data)for (int i = 0; i < 3; i++)fscanf(fp, "%d", &data[i]);}void processData(int* input, int* output) for (int i = 0; i < 3; i++)output[i] = input[i] * input[i];}void printData(int* data, FILE* fp)for (int i = 0; i < 3; i++)fprintf(fp, "%d ", data[i]);}fprintf(fp, "\n");int maiFILE* inputFile = openFile("input.txt"); int input[3];int output[3];if (inputFile != NULL)readFile(inputFile, input);processData(input, output);FILE* outputFile = fopen("output.txt", "w");if (outputFile != NULL)printData(output, outputFile);fclose(outputFile);} elseprintf("Open output file failed.\n");}fclose(inputFile);}return 0;```五、实验结果与分析程序运行后,会打开一个名为input.txt的文件,从文件中读取3个整数,并将它们的平方结果写入output.txt文件中。
c语言 程序设计实验报告

c语言程序设计实验报告C语言程序设计实验报告引言:C语言是一种广泛应用于计算机科学领域的高级编程语言,其简洁、高效的特性使其成为程序员们的首选。
本实验报告旨在总结和讨论我们在C语言程序设计实验中的学习和实践经验,以及遇到的挑战和解决方法。
一、实验目的本次实验的主要目的是通过编写C语言程序,加深对C语言基本语法和程序设计原理的理解。
实验内容包括变量定义、条件语句、循环语句、函数定义等基本知识点的应用。
二、实验过程1. 变量定义在实验中,我们学习了如何定义不同类型的变量,并掌握了它们的使用方法。
通过实际编写程序,我们发现合理的变量命名和类型选择对程序的可读性和性能有着重要影响。
2. 条件语句条件语句是C语言中常用的控制结构之一,它使得程序可以根据不同的条件来执行不同的代码块。
我们在实验中学习了if语句和switch语句的使用方法,并通过实例程序加深了对它们的理解。
3. 循环语句循环语句可以使程序重复执行某一段代码块,从而简化程序的编写和管理。
我们在实验中学习了for循环、while循环和do-while循环的使用方法,并通过实例程序掌握了它们的灵活运用。
4. 函数定义函数是C语言中组织和重用代码的一种重要方式,通过函数的封装和调用,我们可以提高程序的模块化和可维护性。
在实验中,我们学习了函数的定义和调用方法,并通过编写多个函数协同工作的程序来实践。
三、实验结果与分析通过实验,我们成功编写了多个C语言程序,并得到了相应的运行结果。
我们发现,良好的程序设计和代码组织可以提高程序的可读性和可维护性。
同时,我们也遇到了一些问题,例如变量的作用域、循环的控制条件等,但通过仔细分析和调试,我们最终解决了这些问题。
四、实验心得通过本次实验,我们深入了解了C语言的基本语法和程序设计原理,掌握了一些常用的编程技巧。
实验中的实践让我们更加熟悉了C语言的使用,并培养了我们解决问题的能力。
同时,我们也认识到编程是一项需要不断学习和实践的技能,我们将继续努力提升自己的编程水平。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言程序设计实验报告专业班级日期11月26日成绩实验组别第3(2.7) 次实验指导教师李开学生姓名学号同组人姓名实验名称实验8 指针实验一、实验目的(1)熟练掌握指针的说明、赋值、使用。
(2)掌握用指针引用数组的元素,熟悉指向数组的指针的使用。
(3)熟练掌握字符数组与字符串的使用,掌握指针数组及字符指针数组的用法。
(4)掌握指针函数与函数指针的用法。
(5)掌握带有参数的main函数的用法。
二、实验任务8.2 实验内容及要求1.源程序改错2.源程序完善、修改、替换3.跟踪调试4.程序设计5.选做题8.3 指定main函数的参数三、实验步骤及结果(要求给出源程序和程序运行结果。
另外,根据实验内容,记录编辑、编译、链接、调试程序的操作过程和实验现象)8.2 实验内容及要求1.源程序改错下面程序是否存在错误?如果存在,原因是什么?如果存在错误,要求在计算机上对这个例子程序进行调试修改,使之能够正确执行。
#include<stdio.h>void main(void){float *p;scanf("%f",p);printf("%f\n",*p);}存在,错误为指针一开始没有初始化,而sacnf传入的是float型指针指向的地址,我们并不知道系统能给我们分配什么地址,所以说我们输入的地址很有可能使程序崩溃。
修改后代码:#include<stdio.h>int main(void){float *p;float a[10];//这里可以换成其他数字p=&a[0];scanf("%f",p);printf("%f\n",*p);return 0;}2.源程序完善、修改、替换(1)下面的程序通过函数指针和菜单选择来调用字符串拷贝函数或字符串连接函数,请在下划线处填写合适的表达式、语句、或代码片段来完善该程序。
#include<stdio.h>#include <string.h>void main(void){char*(*p)(char a[],char b[]);char a[80],b[80],c[160],*result=c;int choice,i;do{printf("\t\t1 copy string.\n");printf("\t\t2 connect string.\n");printf("\t\t3 exit.\n");printf("\t\tinput a number (1-3) please!\n");scanf("%d",&choice);}while(choice<1 || choice>5);switch(choice){case 1:p=strcpy;break;case 2:p=strcat;break;case 3:goto down;}getchar();printf("input the first string please!\n");i=0;gets(a);printf("input the second string please!\n");i=0;gets(b);result= p(a,b);printf("the result is %s\n",result);down:;}(2)请上机运行第(1)题程序,使之能按要求输出下面结果:((输入)表示该数据是键盘输入数据)1 copy string.2 connect string.3 exit.input a number (1-3) please!2 (输入)input the first string please!the more you learn, (输入)input the second string please!the more you get. (输入)the result is the more you learn,the more you get.3.跟踪调试#include<stdio.h>char *strcpy(char *,char *);void main(void){char a[20],b[60]="there is a boat on the lake.";printf("%s\n",strcpy(a,b));}char *strcpy(char *s,char *t){while(*s++=*t++);return (s);}(1)单步执行。
进入strcpy时watch窗口中s为何值?返回main时, watch窗口中s为何值?进入strcpy时:返回main时:(2)排除错误,使程序输出结果为: there is a boat on the lake.#include<stdio.h>void *strcpy(char *,char *);int main(void){char a[30],b[60]="there is a boat on the lake.";strcpy(a,b);printf("%s\n",a);return 0;}void *strcpy(char *s,char *t){while(*t!='\0'){*s++=*t++;}*s='\0';//将函数类型设置为void型,然后不再返回直接打印a字符串即可}4.程序设计(1)一个长整型变量占4个字节,其中每个字节又分成高4位和低4位。
试从该长整型变量的高字节开始,依次取出每个字节的高4位和低4位并以数字字符的形式进行显示。
#include<stdio.h>int main(void){int n,i;scanf("%x",&n);char *p=(char *)&n;int high_half,low_half;for(i=3; i>=0; i--){low_half = p[i] & 0x0f;if (low_half < 10)low_half += '0';elselow_half += 'A' - 10;high_half = ( p[i] & 0xf0 ) >> 4;if (high_half < 10)high_half += '0';elsehigh_half += 'A' - 10;printf("%c %c\n",high_half,low_half);}return 0;}(2)利用大小为n的指针数组指向用gets函数输入的n行,每行不超过80个字符。
编写一个函数,它将每一行中连续的多个空格字符压缩为一个空格字符。
在调用函数中输出压缩空格后的各行,空行不予输出。
#include <stdio.h>#define N 10void reducespace(char *p,int n);int main(){int i;char *p[N],arr[N][81];printf("Input %d-line strings:\n",N);for (i = 0; i < N; i++){*(p + i) = arr[i];printf("the %d line:", i + 1);gets(*(p + i));}printf("\n\nafter compression:\n");for (i = 0; i < N; i++){reducespace(*(p + i),i);}putchar(10);return 0;}void reducespace(char *p,int n)//削减空格的函数,将多行空格压缩成一个空格{int flag = 1, i, j = 0, sum = 0;char temp[81];for (i = 0; *(p + i) != '\0'; i++){if (*(p + i) != ' '&&flag){temp[j++] = *(p + i);sum++;}if (*(p + i) == ' '&&flag)flag = 0;if (*(p + i) != ' '&&!flag){temp[j++] = ' ';temp[j++] = *(p + i);flag = 1;sum++;}temp[j] = '\0';}if (sum)printf("The %d line:%s\n", n+1,temp);elseprintf("Of the %d line there are all spaces\n", n + 1);}(3)输入n个整数,排序后输出。
排序的原则由命令行可选参数-d决定,有参数-d时按递减顺序排序,否则按递增顺序排序。
要求将排序算法定义成函数,利用指向函数的指针使该函数实现递增或递减排序。
(main函数参数的处理见8.3节)#include <stdio.h>#include <stdlib.h>#include <string.h>int main(int argc,char *argv[]){void downsort(char* *p,int m);void upsort(char * *q,int k);int n=0;while(n<argc){printf(" %s",argv[n]);n++;}printf("\n");if(!strcmp(argv[1],"-d"))downsort(&argv[2],n-2);else upsort(&argv[1],n-1);return 0;}void downsort(char * *p,int m){int i,j;char t;for(i=0;i<m-1;i++)for(j=0;j<m-1;j++)if(*p[j]<*p[j+1])t=*p[j],*p[j]=*p[j+1],*p[j+1]=t;for(i=0;i<m;i++){*p[i]=*p[i]-'0';printf(" %d",*p[i]);}}void up_sort(char * *q,int k){ char t;int i,j;for(i=0;i<k-1;i++)for(j=0;j<k-1;j++)if(*q[j]>*q[j+1])t=*q[j],*q[j]=*q[j+1],*q[j+1]=t;for(i=0;i<k;i++){*q[i]=*q[i]-'0';printf(" %d",*q[i]);}}注:我的电脑总是缺少一个插件,当我把这个插件安装到C盘指定目录下仍然没有效果,所以只能无法得知写的程序是否正确。