高级语言程序设计实验报告5
实验一截图:
实验二截图:
实验三截图:
实验四截图:
四、实验结果及分析
通过字符串与指针的练习,我学会怎么将字符串于指针联系起来,并且掌握了一定的技巧,字符串里一些常用的函数的使用的熟练程度等等,怎么使用恰当的函数实现相关的功能等等。
签名:
年月日
puts(str1);
}
第二种:
#include <stdio.h>
#include <string.h>
void fun(char *s);
void main(void)
{
char s[30];
printf("输入:\n");
gets(s);
printf("输出:\n");
puts(s);
printf("字节数:\n");
for(i=0;*(p1+i)!='\0';i++)
{
*(p2+length++)=*(p1+i++);
}
*(p2+length)='\0';
puts(p2);
}
题三:
输入程序exp7_3.c,分析改程序的输出结果,并上机运行程序,指出最后输出的字符串“*”是程序中那个语句输出的,必要是通过设置断点、单步跟踪方式来帮助分析。
if(strcmp(str1,str2)>=0)
Cat (str1,str2);
else
Cat (str2,str1);
}
void Convert (char *p)
{strupr(p);
puts(p);
}
void Cat (char *p1, char *p2)
{
//char a[40];
int i,length=strlen(p2);
高级语言程序设计实验报告
班级:65姓名:马大鹏学号:********
课程名称
高级语言程序设计
实验项目
初识VC++6.0上机环境
及顺序结构编程练习
实验项目类型验证Fra bibliotek演示综合
设计
指导教师
李养群
成绩
一、实验目的
(1)、掌握字符串的定义、使用及输入输出操作,理解字符串在内存中的保存方式。
(2)、掌握常用字符串函数的使用。
#include<stdio.h>
char s[]={'\t','0','\n','}',';','\n','\n','/','*','\n',0};
int main()
{ int i;
printf("char \ts[]={\n");
for(i=0;s[i];i++)
printf("\t%d,\n",s[i]);
Void Convert( char * p);
2、字符串连接函数,将字符指针p1所指的字符串连接到字符指针p2所指的字符串后面去,无返回值,不得调用strcat()(函数中要求用指针来操作字符串。)
void cat (char * p1,const char *p2);
3、主函数中调用convert()函数将str1中的小写字母转换成大写字母。并输出str1,再比较两个字符串的大小。将值较大的字符串连接到较小的字符串后面,并输出连接后的字符串。
printf("%s\n",s);
printf("%d\n",sizeof(s));
}
题二、
编写程序exp7_2.c,定义字符串str1、str2,str1定义的同时进行初始化(字符个数大于10),str2的值由键盘输入(字符个数大于10)。编写两个函数,原型如下:
1、字母大小写转换函数,将字符指针P所指字符串中的大小写字母转换为大写字母,无返回值(函数中要求用指针操作字符串)。
二、实验步骤
题(1):
编写程序exp7_1.c,从键盘输入一个字符串,用字符数组保存,然后分别用strlen()、sizeof()计算其长度,输出结果并分析。
#include<stdio.h>
#include<string.h>
void main()
{
char s[10];
gets(s);
printf("长度=%d\n",strlen(s));
printf("%d\n",sizeof(s));
fun(s);
puts(s);
}
void fun(char *s)
{
int i,j;
for(i=0,j=0;s[i]!='\0';i++)
{
if(s[i]!=' '){ s[j]=s[i];j++;}
}
s[j]='\0';
}
三、实验过程原始记录(数据、图表、计算等)
void fun(char *str)
{
int i,j;
for(i=0,j=0;str[i]!='\0';i++)
{
if(str[i]!=' '){ str[j]=str[i];j++;}
}
str[j]='\0';
}
void main(void)
{
char str1[30];
gets(str1);
fun(str1);
#include<stdio.h>
#include<string.h>
void Convert (char *p);
void Cat (char *p1, char *p2);
void main()
{
char str1[]="china";
char str2[50];
gets(str2);
Convert (str1);
printf("%s",s);
return 0;
}
最后输出的字符串“/*”是程序中’/’和'*'输出的。
题四:
输入程序exp7_4.c从键盘读入一个字符串,去掉其中的多用空格得到一个新串后在输出(只能定义一个字符串数组,不可以定义两个字符数组,可以根据编程需要定义字符指针以及其他变量)。
第一种:
#include<stdio.h>