(实验四)符数组与字符串

合集下载

字符数组实验报告分析

字符数组实验报告分析

一、实验背景字符数组是C语言中常用的数据结构,它由一组字符元素组成,用于存储字符串。

通过对字符数组的操作,可以实现对字符串的读取、修改、排序等操作。

本次实验旨在通过一系列的字符数组操作,加深对C语言字符数组处理的理解和应用。

二、实验目的1. 理解字符数组的定义和初始化方法;2. 掌握字符数组的读取和修改操作;3. 熟悉字符串的输入、输出和拼接;4. 学习字符串的查找和替换;5. 掌握字符数组的排序方法。

三、实验内容1. 字符数组的定义和初始化实验步骤:(1)定义一个字符数组;(2)使用字符数组存储字符串;(3)初始化字符数组。

2. 字符数组的读取和修改实验步骤:(1)通过指针访问字符数组的元素;(2)修改字符数组中的指定元素;(3)遍历字符数组,读取所有元素。

3. 字符串的输入、输出和拼接实验步骤:(1)使用scanf和printf函数实现字符串的输入和输出;(2)使用strcpy函数复制字符串;(3)使用strcat函数拼接字符串。

4. 字符串的查找和替换实验步骤:(1)使用strstr函数查找子字符串;(2)使用strcpy函数替换字符串中的指定子串;(3)使用str_replace函数实现字符串的替换。

5. 字符数组的排序实验步骤:(1)使用冒泡排序算法对字符数组进行排序;(2)使用选择排序算法对字符数组进行排序;(3)使用插入排序算法对字符数组进行排序。

四、实验结果与分析1. 字符数组的定义和初始化实验结果显示,字符数组可以正确存储字符串,并且可以对其进行初始化。

2. 字符数组的读取和修改通过指针访问字符数组的元素,可以实现对字符数组的读取和修改。

遍历字符数组,可以读取所有元素。

3. 字符串的输入、输出和拼接使用scanf和printf函数可以实现字符串的输入和输出。

strcpy和strcat函数可以实现字符串的复制和拼接。

4. 字符串的查找和替换使用strstr函数可以查找子字符串,使用strcpy函数可以替换字符串中的指定子串。

c程序设计 实验报告

c程序设计 实验报告

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

C程序设计上机实验报告(完整版)

C程序设计上机实验报告(完整版)

C语言程序设计上机实验报告学院:机械工程学院班级:机自161213姓名:刘昊学号:20162181310实验时间:2017年3月6号任课老师:张锐C语言程序设计上机实验报告实验一一、实验名称: C程序的运行环境和运行C程序的方法二、实验目的:了解在C编译系统上如何编辑、编译、连接和运行一个C程序三、实验内容:(1). 输入并运行一个简单的C程序。

(2). 设计程序,对给定的两个数求和。

(3). 设计程序,对给定的两个数进行比较,然后输出其中较大的数。

四、源程序代码:代码1:运行结果1:程序分析1:该程序用来判断所输入的整数是否为一个素数,如果一个数能被除了1和它本身整除,还能被其它数整除,那么它就不是一个素数,因此,用for 循环来进行整除过程的简写。

代码2:运行结果2:程序分析2:简单的使用printf()和scanf()函数进行简单的数据运算。

代码3:运行结果3:程序分析3:使用if语句进行判断。

五.实验总结C语言程序设计上机实验报告实验二一、实验名称:顺序结构程序设计二、实验目的:正确使用常用运算符(算术运算符、赋值运算符)的用法,熟练掌握算术运算符及其表达式,逻辑运算符和逻辑表达式。

三、实验内容:(1). 编写程序,实现小写字母转大写。

(2). 编写程序,实现输入两个不同类型数据后,经过适当的运算(加、减、乘、除)后输出。

(3). 编写程序,计算三角形面积、立方体的体积和表面积、圆的面积和周长。

(4). 编写程序,实现单字符getchar和putchar输入输出。

(5). 编写程序,实现十进制、八进制、十六进制不同数制的输出。

四、源程序代码代码1:运行结果1:程序分析1:所有的字符都有一个对应的数字与之对应,每一个小写字母对应的数与大写字母对应的数之间总是相差32,所以只需要对所输入的字符进行减法运算就可以转换为与之对应的大写字母。

代码2:运行结果2:程序分析2:简单的数据运算和格式字符的输出。

C语言程序设计

C语言程序设计

C语言程序设计上机实验报告实验一一、实验名称: C程序的运行环境和运行C程序的方法二、实验目的:了解在C编译系统上如何编辑、编译、连接和运行一个C程序三、实验内容:(1). 输入并运行一个简单的C程序。

(2). 设计程序,对给定的两个数求和。

(3). 设计程序,对给定的两个数进行比较,然后输出其中较大的数。

四、源程序代码:代码1:#include<stdio.h>int main(){printf("hello world!\n");return 0;}运行结果1:程序分析1:代码2:#include<stdio.h> int main(){int a=5,b=6,c;c=a+b;printf("c=%d\n",c);return 0;}运行结果2:程序分析2:代码3:#include<stdio.h>int main(){int a=5,b=6,c;if(a>b){c=a;}else{c=b;}printf("%d\n",c);return 0;}运行结果3:程序分析3:五.实验总结C语言程序设计上机实验报告实验二一、实验名称:顺序结构程序设计二、实验目的:正确使用常用运算符(算术运算符、赋值运算符)的用法,熟练掌握算术运算符及其表达式,逻辑运算符和逻辑表达式。

三、实验内容:(1). 编写程序,实现小写字母转大写。

(2). 编写程序,实现输入两个不同类型数据后,经过适当的运算(加、减、乘、除)后输出。

(3). 编写程序,计算三角形面积、立方体的体积和表面积、圆的面积和周长。

(4). 编写程序,实现单字符getchar和putchar输入输出。

(5). 编写程序,实现十进制、八进制、十六进制不同数制的输出。

四、源程序代码代码1:#include<stdio.h>int main(){char c1,c2;c1=getchar();printf("%c,%d\n",c1,c1);c2=c1-32;printf("%c,%d\n",c2,c2);return 0;}运行结果1:程序分析1:代码2:#include<stdio.h>int main(){int a=5,c1,c2;double b=3.141592653,c3,c4;c1=a/b;c3=a/b;c2=a+b;c4=a+b;printf("%d,%d,%lf,%lf\n",c1,c2,c3,c4);return 0;}运行结果2:程序分析2:代码3:#include<stdio.h>int main(){here: printf("计算三角形的面积请输入‘1’,立方体的体积和表面积请输入‘2’,圆的面积和周长请输入‘3’.\n");int a;scanf("%d",&a);if(a==1){double l,h,s;printf("请输入三角形的底边长和所在底边的高.");scanf("%lf%lf",&l,&h);s=l*h/2;printf("三角形的面积为%.16f\n",s);}else if(a==2){printf("请输入立方体的长宽高.");double b,c,d,v,s;scanf("%lf%lf%lf",&b,&c,&d);v=b*c*d;s=b*c+b*d+c*d;printf("立方体的体积为%.16f,表面积为%.16f\n",v,s);}else{double r,s,c,m;printf("请输入圆的半径");scanf("%lf",&r);m=3.141592653;s=m*r*r;c=2*m*r;printf("圆的面积为%.16f,圆的周长为%.16f\n",s,c);}goto here;}运行结果3:程序分析3:代码4:#include<stdio.h> int main(){getchar();putchar('b');return 0;}运行结果4:程序分析4:代码5:#include<stdio.h>int main(){int a;printf("请输入任意十进制整数:");scanf("%d",&a);printf("转换为八进制数为:%o\n转化为十六进制数为:%x\n",a,a); return 0;}运行结果5:程序分析5:五、实验总结C语言程序设计上机实验报告实验三一、实验名称:选择结构程序设计二、实验目的:正确使用逻辑运算符和逻辑表达式,熟练掌握if 语句和switch 语句,学习调试程序。

java编程实验报告

java编程实验报告

java编程实验报告Java编程实验报告引言:Java是一种广泛应用于软件开发领域的高级编程语言,具有跨平台、面向对象、安全性高等特点。

本篇文章将介绍我在Java编程实验中的实践和收获。

实验一:Hello World程序在本实验中,我学习了如何使用Java编写一个简单的Hello World程序。

通过这个实验,我了解了Java的基本语法和程序结构。

在编写过程中,我发现Java的语法规范相对严格,需要注意语句的结束符号和代码的缩进。

通过运行程序,我成功输出了"Hello World"这个简单的字符串,这让我对Java编程的基本流程和语法有了更深入的了解。

实验二:变量与运算符在本实验中,我学习了Java中的变量和运算符的使用。

通过编写程序,我实现了对不同类型的变量进行声明和赋值,并进行基本的运算操作。

在这个过程中,我发现Java的变量需要先声明后使用,而且在进行运算时需要注意数据类型的匹配。

通过这个实验,我对Java中的变量和运算符有了更深入的理解。

实验三:条件语句与循环结构在本实验中,我学习了Java中的条件语句和循环结构的使用。

通过编写程序,我实现了对不同条件进行判断,并根据不同的条件执行相应的操作。

同时,我还学习了循环结构的使用,通过循环语句实现了对一段代码的重复执行。

在这个实验中,我发现条件语句和循环结构是Java编程中非常重要的部分,能够帮助程序实现更复杂的逻辑。

实验四:数组和字符串在本实验中,我学习了Java中数组和字符串的使用。

通过编写程序,我实现了对数组和字符串的声明、赋值和操作。

在这个过程中,我发现Java中的数组和字符串是一种非常方便的数据结构,能够帮助程序处理大量的数据。

通过这个实验,我对Java中数组和字符串的使用有了更深入的了解。

实验五:面向对象编程在本实验中,我学习了Java中的面向对象编程的基本概念和使用。

通过编写程序,我实现了对类的定义、对象的创建和方法的调用。

c语言实验报告实验

c语言实验报告实验

c语言实验报告实验C 语言实验报告实验一、实验目的本次 C 语言实验的主要目的是通过实际操作和编程实践,加深对 C 语言基本语法、数据类型、控制结构、数组、指针等重要概念的理解和掌握,提高编程能力和解决实际问题的能力。

二、实验环境本次实验使用的编程环境为 Visual Studio 2019,操作系统为Windows 10。

三、实验内容1、基本数据类型和运算符的使用定义不同类型的变量,如整数型(int)、浮点型(float、double)、字符型(char)等,并进行赋值和运算操作。

熟悉各种运算符的优先级和结合性,包括算术运算符(+、、、/、%)、关系运算符(>、<、>=、<=、==、!=)、逻辑运算符(&&、||、!)、位运算符(&、|、^、~、<<、>>)等。

2、控制结构的应用使用ifelse 语句实现条件判断,根据不同的条件执行相应的代码块。

运用 switch 语句进行多分支选择,处理不同的情况。

利用 for 循环、while 循环和 dowhile 循环实现重复执行的操作,例如计算数列的和、打印特定的图案等。

3、数组和字符串的操作定义和使用一维数组、二维数组,进行数组元素的访问、赋值和遍历。

掌握字符串的存储和处理方式,使用字符数组和字符串函数(如strlen、strcpy、strcmp 等)进行字符串的操作。

4、指针的应用理解指针的概念和指针变量的定义,通过指针访问变量和数组元素。

实现指针与数组、指针与函数的结合使用,体会指针在程序中的灵活运用。

5、函数的定义和调用编写自定义函数,实现特定的功能,如计算阶乘、判断素数等。

掌握函数的参数传递方式(值传递和地址传递),理解函数的返回值。

6、结构体和共用体的使用定义结构体类型,创建结构体变量,访问结构体成员。

了解共用体的概念和使用场景,比较结构体和共用体的区别。

四、实验步骤1、实验准备打开 Visual Studio 2019 开发环境,创建一个新的 C 语言项目。

c语言程序设计实验总结

c语言程序设计实验总结

C语言程序设计实验总结摘要该文档总结了我在C语言程序设计实验中的经验和教训。

通过这些实验,我对C语言编程的基本概念和技巧有了更深入的理解和掌握。

本文将综合分析每个实验的目标、方法和结果,并总结了我在实验中遇到的问题以及解决方法。

引言C语言是一种通用的高级程序设计语言,广泛应用于各个领域。

通过进行C语言程序设计实验,我们可以更好地了解C语言的语法和用法,提高我们的编程能力和问题解决能力。

本文将基于我在实验中的经验,对每个实验进行详细描述和总结。

实验一:基本输入输出程序设计实验一旨在加深对C语言程序设计的理解,熟悉基本的输入输出操作。

我们需要编写程序,实现基本的数据输入和输出,并进行简单的运算。

这个实验让我对C语言中的输入输出和基本数据类型有了更深入的理解。

实验二:条件语句和循环语句的应用实验二要求我们掌握条件语句和循环语句的使用方法,并能够通过这些语句解决实际问题。

我学会了使用if语句进行条件判断,以及使用for和while循环进行迭代操作。

通过这个实验,我可以更好地掌握程序流程控制和代码逻辑。

实验三:一维数组的应用实验三着重让我们学会使用一维数组来存储和处理大量的数据。

在这个实验中,我学会了声明和初始化数组,以及使用循环结构遍历数组元素。

这个实验对我后续的数据处理有了很大的帮助。

实验四:字符串处理实验四主要教我们如何处理字符串和字符数组。

在实验中,我学会了使用字符数组来存储和操作字符串,同时,了解了一些常见的字符串处理函数,如strlen、strcpy等。

这个实验让我更加熟悉字符串的处理方法。

实验五:结构体的应用实验五要求我们学会使用结构体类型来定义自定义数据类型,并通过结构体变量来访问结构体成员。

在实验中,我学会了如何定义和使用结构体类型,并能够通过结构体变量操作结构体成员。

结构体的灵活性和可扩展性让我在实际编程中受益匪浅。

实验六:指针的应用实验六是C语言程序设计实验中最重要的一部分。

通过实验,我对指针的概念和用法有了更深入的理解。

四《C语言程序设计》实验四选择结构程序设计实验目的1、掌握分支

四《C语言程序设计》实验四选择结构程序设计实验目的1、掌握分支

四《C语言程序设计》实验四选择结构程序设计一、实验目的1、掌握分支语句的格式和功能。

2、掌握选择结构的程序设计。

3、掌握分支结构的嵌套。

二、实验内容与要求1、编程,计算下列分段函数值:x2+3x-4,x<0且x≠-4f(x)= x2-6x+5,0=x<10且x≠1及x≠5x2-4x-1,其他要求如下:(1)用if语句实现分支。

自变量x与函数值均采用双精度类型。

(2)自变量x值从键盘输入,且输入前要有提示信息。

(3)数据的输出格式采用以下形式:x=输入值,f(x)=计算值(4)分别以-3.0,-1.0,0.5,1.5,2.5,3.5,4.5,5.5为自变量,运行该程序。

记录结果。

(5)源程序以sy4_1.c存盘。

2、编程,将一个百分制成绩转换成等级制成绩。

具体要求如下:(1)百分制与等级制的对应关系如下:(3)用键盘输入百分制成绩,输入前要有提示信息。

(4)要能判断输入数据的合理性,对于不合理的数据应输出错误信息。

(5)输出结果中应包含百分制成绩和成绩等级。

(6)分别输入成绩-10,99,60,85,70,101,45,运行该程序。

记录结果。

(7)源程序以sy4_2.c存盘。

三、思考题1、实现选择结构程序设计的方法有哪几种?各有什么特点?适用条件是什么?2、如何设置选择结构中的判断条件?它在程序设计中的意义何在?实验五循环结构程序设计(1)一、实验目的1、掌握循环的概念。

2、掌握三种常用的循环语句的格式和功能。

3、初步掌握循环结构的编程方法。

二、实验内容与要求1、编程,分别利用三种循环语句,求1+2+3+…50之和。

要求如下:(1)输出计算结果;数据的输出格式采用以下形式:1+2+3+…50=计算值(2)源程序分别以sy5_1.c、sy5_2.c、sy5_3.c存盘。

2、编程,穷举算法解百马百担问题(有100匹马驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,问有大、中、小马各多少?)要求如下:(1)输出计算结果;在数据输出之前应有提示信息。

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

实验四字符数组与字符串
一、实验目的
●了解并掌握一维数组与二维数组的定义方法
●了解并掌握一维数组与二维数组的初始化方法及元素的引用方法
●了解并掌握字符串、字符串数组以及字符串函数的使用方法
二、实验环境
●个人计算机一台,PIII500(或同等性能)以上CPU,128MB以上内存,500MB以
上硬盘剩余空间。

●Windows2000、Windows XP或Win 7操作系统
●Code::Blocks(版本12.11或近似版本,英文版)
三、实验内容
1. 冒泡排序
编写程序,实现如下功能:从键盘上输入整数n(n<=100),再输入n个整数,以冒泡排序算法将n个整数按从小到大的顺序进行排序。

/*example-14.c*/
#include "stdio.h"
int main()
{
int num[100], n, i, j, t;
/*输入整数的数量n*/
printf("Input n(<=100):");
scanf("%d", &n);
/*输入n个整数*/
printf("Input %d numbers:\n", n);
for(i=0; i<n; i++)
scanf("%d", &num[i]);
/*排序前先输出n个整数,检查输入是否有误*/
printf("Before sorting:\n");
for(i=0; i<n; i++)
printf("%d ", num[i]);
printf("\n");
/*按从小到大的顺序进行冒泡排序*/
/*输出排序后的数据*/
printf("After sorting:\n");
for(i=0; i<n; i++)
printf("%d ", num[i]);
return 0;
}
2. 选择排序
编写程序,实现如下功能:从键盘上输入整数n(n<=100),再输入n个整数,选择泡排序算法将n个整数按从小到大的顺序进行排序。

/*example-15.c*/
#include "stdio.h"
int main()
{
int num[100], n, i, j, t;
/*输入整数的数量n*/
printf("Input n(<=100):");
scanf("%d", &n);
/*输入n个整数*/
printf("Input %d numbers:\n", n);
for(i=0; i<n; i++)
scanf("%d", &num[i]);
/*排序前先输出n个整数,检查输入是否有误*/
printf("Before sorting:\n");
for(i=0; i<n; i++)
printf("%d ", num[i]);
printf("\n");
/*按从小到大的顺序进行选择排序*/
/*输出排序后的数据*/
printf("After sorting:\n");
for(i=0; i<n; i++)
printf("%d ", num[i]);
return 0;
}
3. 矩阵
在以下程序的横线中填上适当的语句或表达式,并上机运行。

下列程序定义了N×N的二维数组,并已在主函数中复制,如下所示。

请求出该二维数组周边元素的平均值。

0 1 2 7 9
1 9 7 4 5
2 3 8 3 1
4 5 6 8 2
5 9 1 4 1
该矩阵的周边元素是第0行、第4行、第0列和第4列上的所有元素。

其平均值为3.375。

/*example-16.c*/
#include <stdio.h>
#define N 5
main()
{
/*二维数组赋初值*/
int a[N][N] = {{0,1,2,7,9}, {1,9,7,4,5}, {2,3,8,3,1},
{4,5,6,8,2}, {5,9,1,4,1}};
int i, j;
/*sum存放累加和,ave存放平均值*/
float sum, ave;
/*清零*/
/*累加第0行的元素*/
for(i = 0; i < N; i++)
/*累加第N-1行的元素*/
for(i = 0; i < N; i++)
/*累加第0列的元素*/
for(i = 1; i < N - 1; i++)
/*累加第N-1列的元素*/
for(i = 1; i < N - 1; i++)
/*求平均值*/
printf("The average is: %f\n", ave);
}
【解题提示】
注意四个角上元素,a[0][0]既属于第0行又属于第0列,a[0][N-1]既属于第0行又属于第N-1列,a[N-1][0]既属于第N-1行又属于第0列,a[N-1][N-1]既属于第N-1行又属于第N-1列,不要累加两次。

4. 字符串操作
从键盘上输入两个字符串str1和str2,若str1>str2,则将str2连接到str1的后面;若相
等,则将str2复制到str1中;若str1<str2,则将str1连接到str2的后面。

最后将结果输出。

例如,输入abcde和abcda,则输出abcdeabcda;若输入abcde和abcdf,则输出abcdfabcde;若输入abcde和abcde,则输出abcde。

/*example-17.c*/
#include "stdio.h"
#include "string.h"
int main()
{
char str1[100], str2[100];
printf("Input one string:");
/*消除输入上一个字符串时最后的回车*/
getchar();
printf("Input another string:");
if( >0)
{
;
printf("%s", str1);
}
if( ==0)
{
printf("%s", str1);
}
if( <0)
{
printf("%s", str2);
}
return 0;
}
四、总结与思考
数组是程序设计当中最常用到的数组结构,它可以模拟各种线性结构以及矩阵。

掌握数组,可以大大地提高程序设计能力,解决许多实践当中的问题。

字符串是文本处理问题当中经常要用到的,对于字符串的问题一定要把握好字符数据的本质以及字符串的结束标记。

相关文档
最新文档