C语言指针实验报告
- 格式:doc
- 大小:32.50 KB
- 文档页数:4
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语言的语法结构、变量和数据类型的使用、运算符和表达式的应用等。
通过编写简单的程序,如打印"Hello, World!"等,我们熟悉了C语言的基本语法和编译运行的过程。
在实验过程中,我们还掌握了如何使用编译器进行错误调试,提高了我们的程序设计和调试能力。
实验二:C语言数组和字符串的应用实验二主要涉及C语言中数组和字符串的应用。
通过练习,我们掌握了数组的定义和声明,以及数组与指针的关系。
我们还学习了如何使用数组进行排序、查找等操作,并通过编写程序实现了几个经典的排序算法,如冒泡排序、插入排序等。
此外,我们还学习了字符串的表示和处理方法,并实现了字符串的拼接、复制等功能。
实验三:C语言函数和指针的应用在实验三中,我们学习了C语言中函数和指针的应用。
通过编写函数来实现特定的功能,我们掌握了函数的定义和调用方法。
同时,我们还了解了函数的参数传递机制,包括按值传递和按引用传递。
在实验过程中,我们还学习了指针的基本概念和用法,包括指针变量的定义和使用,指针与数组的关系等。
通过实验,我们强化了对函数和指针的理解,并在编程实践中加深了对其应用的熟练度。
实验四:C语言文件处理实验四是关于C语言文件处理的实验。
我们学习了如何使用C语言读写文件,并实现了文件的复制、合并等操作。
通过实验,我们了解了文件指针的概念和使用方法,并熟悉了文件操作函数,如fopen、fread、fwrite等。
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‘’;再运行,并分析结果。
○6再将第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,会得到什么结果.画出它们在内存中的表示形式。
C语⾔程序设计实验实验报告《C语⾔程序设计实验》实验报告实验九⽂件编程(⼀)班级:_07某某专业1班_学号:______姓名:___实验样例_____⽇期:___2008.6.10_____台州学院数信学院计算机系制作⼀、实验⽬的和要求综合使⽤基本结构、基本算法、函数、指针、结构体、链表等知识设计程序。
⼆、实验指导1、注意:本次实验为综合性实验,需要综合本课程以前所学内容,完成编制⼀个⼩型应⽤程序。
需要复习课本以前所学内容,浏览上课讲解的相关内容。
2、实验时间安排:准备实验⽅案,上课时上机编程,课余完成整个设计并完成实验报告。
3、实验具体要求:以⼀张假想的学⽣期中成绩表为实验对象,编制⼀个⼩型应⽤程序,可以考虑实现以下功能:(1)成绩修改;(2)成绩查询;(3)成绩统计;(4)成绩输⼊。
也可以实现其他⾃定义的功能。
界⾯采⽤简易菜单形式,可以分级显⽰。
实验需要进⾏以下步骤:需求分析、程序设计、程序调试、程序运⾏,并对程序运⾏效果进⾏分析,提出改进⽅案。
初步锻炼学⽣的程序设计能⼒、程序调试能⼒、对实验结果进⾏综合分析的能⼒。
4、实验成绩评价标准:参见成绩评定表。
四、实验报告内容(参见样本,请另附页)实验报告必须包含以下内容:1、对你设计的程序功能进⾏的较详细描述。
2、画出程序测试⽤的学⽣期中成绩表(包含:表头、若⼲⾏包含学⽣成绩等信息的数据⾏)。
3、给出程序清单(包含结构体的声明与定义、所有的函数声明、所有的全局变量、所有的函数定义、必要的注释。
注:如果程序过长,可以不⽤给出所有的函数定义,只给出主要的函数定义)。
4、运⾏结果(写出运⾏时的主界⾯、各模块的实现界⾯等,不作具体要求,但要求能清晰地体现出程序的功能)。
5、对你的设计作⼀个评价(可以包含你所花的时间、精⼒,你遇到的困难及如何解决的,你的设计过程所遇到的其他事情;必须包含你对设计的客观评价,以及提出的改进⽅案)。
1、程序功能描述:(略)2、成绩表样表:3、程序清单:(红⾊部分是和上⼀个程序的区别之处)#includestruct student /*期中成绩表的结构声明*/{int num;char name[20];char sex;float YuWen;float ShuXue;float YingYu;float totle;};#define MAX_STU_NUMBER 100 /*宏定义最⼤学⽣数为100⼈*/struct student Stu[MAX_STU_NUMBER]; /*⼀次性定义100个学⽣的存储空间*/int STU_NUMBER; /*存放学⽣数*/char *FileName = "chengji.txt"; /*成绩存放的⽂件*//*所有的函数声明:*/int SelectMainMenu(); /*显⽰并选择主菜单。
c语言实验报告总结在计算机科学领域,C语言是一种非常重要的编程语言。
它是一种通用的高级语言,广泛应用于系统软件开发和应用软件开发。
在诸多计算机科学专业的学生中,学习C语言是必不可少的一部分。
在学习过程中,学生们需要进行一系列的实验来加深对C语言的理解和掌握。
本文将总结我在C语言实验中的收获和体会。
首先,我学会了如何使用C语言编写简单的程序。
在实验课上,我们学习了C语言的基本语法和数据类型,比如变量、常量、运算符、控制语句等等。
通过实际操作,我掌握了如何在C语言中声明变量、进行算术运算、编写条件语句和循环语句等。
这些基本知识为我后续的学习打下了坚实的基础。
其次,我学会了如何使用函数和数组。
在C语言中,函数是一种非常重要的概念,它可以帮助我们将程序分解为若干个模块,提高程序的可读性和可维护性。
在实验课上,我学习了如何声明函数、调用函数以及函数的参数传递等。
同时,我还学习了如何声明和使用数组。
数组是一种非常常用的数据结构,它可以帮助我们更方便地处理大量的数据。
通过实验,我掌握了如何声明数组、使用数组下标访问元素以及数组的初始化和遍历等操作。
另外,我学会了如何使用指针。
在C语言中,指针是一种非常重要的概念,它可以帮助我们直接操作内存中的数据。
在实验课上,我学习了如何声明指针、使用指针访问变量的地址以及指针和数组之间的关系等。
通过实际操作,我深刻体会到了指针在C语言中的重要性和灵活性。
最后,通过C语言实验,我还学会了如何进行文件操作。
在实际的软件开发中,文件操作是一种非常重要的技能。
在实验课上,我学习了如何打开文件、读写文件以及关闭文件等操作。
通过这些实验,我对文件操作有了更深入的理解,为我以后的学习和工作打下了坚实的基础。
总的来说,通过C语言实验,我不仅掌握了C语言的基本语法和数据类型,还学会了如何使用函数、数组、指针和文件操作等。
这些知识和技能对我以后的学习和工作都有着非常重要的意义。
通过实验,我不仅提高了对C语言的理解和掌握,还培养了自己的动手能力和解决问题的能力。
《C语言程序设计》实验报告实验六使用指针的程序设计学号姓名一、实验目的1、掌握指针的概念,会定义和使用指针变量;2、能正确使用数组的指针和指向数组的指针变量;3、熟悉指针作为函数参数的定义和调用方法;4、能正确使用字符串的指针和指向字符串的指针变量。
二、实验内容1.分析下面的程序并上机运行程序,要求写出3组以上程序的运行结果。
#include <stdio.h>void main(){int *p1,*p2,*p;int a,b;printf("Input a b please");scanf("%d%d",&a,&b);p1=&a;p2=&b;if(a>b){ p=p1;p1=p2;p2=p;}printf("*p1=%d, *p2=%d\n",*p1,*p2);printf("a=%d, b=%d\n",a,b);}『运行结果:』输入1,2得:*p1=1,*p2=2a=1,b=2输入2,1得:*p1=1,*p2=2a=2,b=1输入56,123得:*p1=56,*p2=123a=56,b=1232.下列程序的功能是分别求出数组中所有奇数之和以及所有偶数之和。
形参n给了数组中数据的个数,利用指针odd返回奇数之和,利用指针even 返回偶数之和。
请在下面空白处将实现这一功能的函数完善,并且调试运行出结果。
#include <stdio.h>#define N 10void fun(int *a,int n,int *odd,int *even){int m;*odd=0; *even=0;for(m=0;m<n;m++)if(*(a+m)%2==0)*even+=*(a+m);else*odd+=*(a+m);}void main(){int a[N]={1,10,2,3,19,6},i,n=6,odd,even;printf("The original data is:\n");for(i=0;i<n;i++)printf("%5d",*(a+i));printf("\n\n");fun(a,n,&odd,&even);printf("The sum of odd numbers:%d\n",odd);printf("The sum of even number:%d\n",even);}『运行结果:』3.编程实现从键盘输入一个字符ch和一个字符串str,利用字符指针实现删除字符串str中和字符ch相等所有字符,然后输出字符串str。
C语言程序设计实验报告一、引言C语言程序设计是计算机科学与技术专业中的一门基础课程。
通过实验学习,我深入了解了C语言的基本语法和程序设计的思想,掌握了一定的编程能力。
本文将详细介绍我在C语言程序设计实验中所进行的实验项目、实验结果和实验心得。
二、实验项目1. 实验一:C语言程序设计基础在这个实验中,我编写了一个简单的C语言程序,实现了对用户输入的两个整数进行相加并输出结果的功能。
在程序设计中,我正确使用了C语言的基本语法,包括变量定义、输入输出函数的调用等。
2. 实验二:条件语句和循环结构这个实验要求我编写一个C语言程序,实现对用户输入的分数进行等级评定的功能。
根据用户输入的分数,程序将输出相应的等级,如优秀、良好、及格等。
为了实现这个功能,我灵活运用了条件语句和循环结构,使程序具有良好的交互性。
3. 实验三:数组和字符串在这个实验中,我学习了C语言中数组和字符串的使用方法,并编写了一个程序,实现了对一个整数数组的排序功能。
通过实验,我进一步掌握了数组的声明、初始化和遍历等操作,提高了我对C语言程序设计的理解。
4. 实验四:函数和指针实验四要求我编写一个C语言程序,实现对一个数组中的元素求和的功能。
在这个实验中,我了解了函数的定义和调用、指针的基本概念以及函数指针的使用。
通过编写程序,我加深了对函数和指针的理解,并提高了程序的运行效率。
三、实验结果通过以上实验项目的设计与实现,我得到了如下实验结果:1. 实验一的结果是可以正确进行数值相加并输出结果。
2. 实验二的结果是根据输入的分数得到相应的等级评定。
3. 实验三的结果是对输入的整数数组进行排序,并输出排序后的结果。
4. 实验四的结果是对数组中的元素进行求和,并输出求和结果。
四、实验心得通过整个实验过程,我深刻认识到了C语言程序设计的重要性和应用广泛性。
C语言不仅是其他高级编程语言的基础,也是培养程序设计思维和逻辑思维的重要工具。
通过实验,我不仅掌握了C语言的基础知识和编程技巧,还培养了自己解决问题和分析问题的能力。
C语言实验报告实验一:c语言环境的开发与使用1.实验目的:上机编写简单的c语言程序,逐步了解c语言运行的程序步骤2.实验内容:在turboc3.0的环境下调试简单的c语言3.实验清单:输入一行字符(如“hello!”)Ex513_11.c#include<stdio.h>Int main(){printf(“hello!\n”);return 0;}从键盘输入两个整数,将其平方和输出(用函数关系求平方和)Ex513_12.c#include<stdio.h>#include<math.h>int main(){int a,b,c;printf(“\n input a=”);scanf(“%d”,&a);printf(“\n input b=”);scanf(“%d”,&b);c=sqre(a,b);printf(“sqre=%d”,c);return 0;}int sqre(x,y)int x,y;{return x*x+y*y;}从键盘输入三个整数,将其最大值输出。
(用函数求最大值)Ex513_13.c#include<stdio.h>int main(){int a,b,c,d;printf(“\n input a=”);scanf(“%d”,&b);printf(“\n input c=”);scanf(“%d”,&c);d=max(a,b,c);printf(“max=%d”,d);return 0;}int max(x,y,z);int x,y,z,t;{if(x>y) t=x;else t=y;if(z>t) t=z;return t;}输入三角形三边的长度,将其面积输出(用函数求面积) Ex513_14.c#include<stdio.h>#include<math.h>Int main(){double a,b,c,s,area;a=3.67;b=5.43;c=6.21;s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c));printf(“a=%f\tb=%f\t%f\n”,a,b,c);printf(“area=%f\n”,area)return 0;}4运行结果及分析程序:Ex513_11.c结果:输出hello!分析:掌握输出一行字符的写法程序:Ex513_12.c结果:输入1,2输出5分析:编写正确,但不够简洁程序:Ex513_13.c结果:输入-3,1,2输出2分析:程序运用了函数程序:Ex513_14.c结果:输入3,4,5输出6分析:编写不够简洁实验二:顺序结构设计1.实验目的:了解什么是常量和变量及种类掌握整型,实型,字符型变量的定义和使用及输出规律掌握七个运算符的运算法则及其混合运算规律2.实验内容:假如我国国民生产总值的年增长率为百分之九,计算十年后我国国民生产总值与现在相比增长多少?Ex513_21.c#include<stdio.h>#include<math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}用编好的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’Ex513_22.c#include<stdio.h>int main(){int a,b;float x,y;char c1,c2;scanf("a=%d b=%d",&a,&b);scanf("%f%e",&x,&y);scanf("%c%c",&c1,&c2);printf("a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n",a,b,x,y,c1,c2);return 0;}设圆半径r=1.5,圆柱高h=3,求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积。
《C语言程序设计》实验报告2012~2013学年第二学期班级姓名学号指导教师实验一实验项目名称:C程序的运行环境和运行C程序的方法所使用的工具软件及环境:Visual C++ 6.0一、实验目的:1.了解在Visual C++ 6.0环境下如何编辑、编译、连接和运行一个C程序;2.通过运行简单的C程序,初步了解C源程序的特点。
二、预习内容:教材《C语言程序设计教程》第1章。
三、实验内容:1. 在Visual C++ 6.0环境下输入并运行下面的程序:#include <stdio.h>int main( ){printf("This is a C program.\n");return 0;}2. 在Visual C++ 6.0环境下输入下面的程序(有语法错误),编译、连接、调试该程序,直至程序无语法错误,然后运行程序,并观察分析运行结果。
#include <stdio.h>int main( ){int a,b,suma=3;b=4;sun=a+b;print(“%d+%d=%d\n”,a,b,sum);return 0;}四、实验结果:1. 运行结果(或截图):2. (1) 改正后的源程序:(2) 运行结果(或截图):五、思考题:1. 一个C程序上机的步骤有哪些?答:2. 组成C程序的基本单位是函数,一个函数包括哪几个部分?答:成绩指导教师签名实验二实验项目名称:数据类型、运算符和表达式所使用的工具软件及环境:Visual C++ 6.0一、实验目的:1.掌握整型、实型与字符型这三种基本类型的概念;2.掌握常量及变量的使用方法;3. 掌握基本算术运算符及其表达式的使用方法;4. 掌握++、--运算符、赋值运算符及其表达式的使用方法。
二、预习内容:教材《C语言程序设计教程》第2章。
三、实验内容:1. 在Visual C++ 6.0环境下输入下面的程序,编译、连接、调试该程序。
实验6 指针一、实验目的1.掌握指针的基本概念和基本用法。
包括:变量的地址和变量的值,指针变量的说明、指针变量的初始化、指针的内容与定义格式、指针的基本运算等;2.掌握数组与指针的关系并能够利用指针解决数组的相关问题;3.掌握字符串与指针的关系并能够利用指针处理字符串的问题;4.掌握指针与函数的关系并能够利用指针处理函数问题;5.了解指向指针的指针的概念及其使用方法;6.能够使用指针进行程序设计。
二、实验环境PC微机Windows 操作系统Visual studio 2019三、实验内容与步骤1.实现:将一个任意整数插入到一个已排序的整数数组中,插入后数组中的数仍然保持有序。
要求:(1)整数数组由初始化方式输入。
任意整数由scanf函数输入;(2)实现过程采用指针处理;(3)输出原始数组数据以及插入数据后的数组数据并加以相应说明。
代码实现:#include<stdio.h>int main(){int num[11], * p = &num[10];//预先指向末尾for (int i = 0; i < 10; i++) {scanf("%d", &num[i]);}//输入已排序的数据printf("原始数组:");for (int i = 0; i < 10; i++) printf("%d ", num[i]);printf("\n");int newnum;scanf("%d", &newnum);//输入待插入的数bool flag = true;//判断是否是插入末尾for (int i = 0; i < 10; i++) {if (newnum <= num[i]) {//找到插入位置flag = false;for (int j = 9; j >= i; j--) {//插入数据并将其他数据后移*p = num[j];p--;if (j == i) {num[j] = newnum;}}break;}}if (flag) *p = newnum;printf("插入后的数组:");for (int i = 0; i < 11; i++) printf("%d ", num[i]);return 0;}实验结果:①插入最左边②插入最右边:③插入中间:④插入相同的数:实验分析:结果和预期一致。
C语言程序设计实验报告
1实验目得
(1)掌握指针得概念,会定义与使用指针变量;
(2)能正确使用变量得指针与指向变量得指针变量;
(3)能正确使用数组得指针与指向数组得指针变量;
(4)能正确使用字符串得指针与指向字符串得指针变量;
2实验内容
将一个任意整数插入到已排序得整形数组中,插入后,数组中得数仍然保持有序; 要求:
(1)整形数组直接由赋值得方式初始化,要插入得整数有scanf()函数数入; (2)算法实现过程采用指针进行处理;
(3)输入原始数据以及插入整数后得数据,并加以说明;
3算法描述流程图
4源程序
#include<stdio、h>
main()
{
int a[100],m,i,*p,n,w;
printf("请输入要输入得数组得元素个数:\n");
scanf("%d",&n);
printf("请输入已排好序得数组:\n");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
printf("请输入要插入得数:\n");
scanf("%d",&m);
p=a;
while(*p<m)
p++;
w=*p;
for(i=n-1;a[i]>=w;i--)
{
a[i+1]=a[i];
}
a[i+1]=m;
for(i=0;i<=n;i++)
{
printf("%-4d",a[i]);
}
printf("\n");
}
5测试数据
“1,3,5,7,9,11,13,15,17,19······10”
6运行结果
7出现问题及解决方法
在编写过程中,
for(i=n-1;a[i]>=w;i--)
{
a[i+1]=a[i];
}
a[i+1]=m;
这一步没有注意a[i++]=m与a[i+1]=m中i++与i+1不同,a[i++]=m就是先将得值赋给a[i],然后在执行自增;而在实验过程中忽略了这一点,造成了不必要得麻烦;
8实验心得
通过这次指针实验掌握了指针得概念,会定义与使用指针变量,并且能利用指针来简单化一些问题,给以后得编程带来了很大得便利;。