C语言程序设计实验报告(一)
《C语言程序设计》实验报告(实验1-12)
《C语⾔程序设计》实验报告(实验1-12)《C语⾔程序设计》实验报告2013~2014学年第⼆学期班级姓名学号指导教师实验⼀实验项⽬名称:C程序的运⾏环境和运⾏C程序的⽅法所使⽤的⼯具软件及环境:Visual C++ 6.0⼀、实验⽬的:1.了解在Visual C++ 6.0环境下如何编辑、编译、连接和运⾏⼀个C程序;2.通过运⾏简单的C程序,初步了解C源程序的特点。
⼆、预习内容:教材《C语⾔程序设计教程》第1章。
三、实验内容:1. 在Visual C++ 6.0环境下输⼊并运⾏下⾯的程序:#includeint main( ){printf("This is a C program.\n");return 0;}2. 在Visual C++ 6.0环境下输⼊下⾯的程序(有语法错误),编译、连接、调试该程序,直⾄程序⽆语法错误,然后运⾏程序,并观察分析运⾏结果。
#includeint main( ){int a,b,suma=3;b=4;sun=a+b;print(“%d+%d=%d\n”,a,b,sum);return 0;}四、实验结果:1. 运⾏结果(或截图):This is a C program.Press any key to continue2. (1) 改正后的源程序:#includeint main( ){int a,b,sum;a=3;b=4;sum=a+b;printf("%d+%d=%d\n",a,b,sum);return 0;}(2) 运⾏结果(或截图):3+4=7五、思考题:1. ⼀个C程序上机的步骤有哪些?答:上级输⼊与编辑源程序—对原程序进⾏编译–与库函数链接–运⾏可执⾏的⽬标程序。
2. 组成C程序的基本单位是函数,⼀个函数包括哪⼏个部分?答:⼀个函数包括两部分:分别为函数头或函数⾸部和函数体。
成绩指导教师签名实验⼆实验项⽬名称:数据类型、运算符和表达式所使⽤的⼯具软件及环境:Visual C++ 6.0⼀、实验⽬的:1.掌握整型、实型与字符型这三种基本类型的概念;2.掌握常量及变量的使⽤⽅法;3. 掌握基本算术运算符及其表达式的使⽤⽅法;4. 掌握++、--运算符、赋值运算符及其表达式的使⽤⽅法。
C语言程序设计实验报告 实验一 简单程序设计
C语言程序设计实验报告实验一简单程序设计班级 2017231 学号 201723128 姓名郭鹏博一、实验目的1、熟悉VC6.0编程环境。
2、掌握使用VC6.0输入源程序、编译连接和运行程序的基本过程。
3、练习C调试程序的方法。
4、熟练使用赋值运算、算术运算等表达式。
5、熟练使用标准输入、输出函数及各种数据类型的格式说明符。
二、实验内容及步骤1、分析程序,根据要求写出结论:课本P83页第4题、第5题;第4题(1)c1=a,c2=bc1=97,c2=98原因:字符变量实质上是一个字节的整形变量,由于它常用来存储字符,所以称为字符变量。
可以把0到127之间的整数赋给一个字符变量。
在输出字符变量的值时,可以选择以十进制整数形式或字符形式输出。
(2)c1=?c2=?c1=-59,c2=-58原因:Visual C++系是把char默认为signed char类型的,而signed char类型的变量允许存储的值为—128~127,但字符的代码不可能为负值,所以在存储字符时实际上只用到0~127这一部分,其第1位都是0。
给字符型变量赋值197和198时,所赋之值超出了字符变量的取值范围,导致无论是以以十进制整数形式输出还是以字符形式输出,输出结果均错误。
(3)c1=a,c2=bc1=97,c2=98原因同(1)第5题2、程序改错下面程序的功能是计算球体的表面积和球体的体积,程序中有多处错误,并且指定必须按下面的形式输入、输出数据。
请对程序做相应的修改。
#include <stdio.h>main{double r,s,v;int pi=3.14;scanf("%d",r);S=4*pi*r*r; /*计算球体的表面积*/V=4.0*pi*r*r*r/3.0; /*计算球体的体积*/printf("%d",r);printf("s=%f\n",s,"v=%d\n",v);}当程序运行时,要求屏幕的显示和指定的输入形式如下:input r:2.0<回车> (此处的2.0是由用户输入的数据)r=2.000000 (此处要求的是输出形式)s=50.24000000,v=33.49333333具体要求:(1)在VC6.0环境中输入上述源程序。
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 语句,学习调试程序。
C语言程序设计实验报告1
C语言程序设计实验报告实验序号:1【实验目的】(1) 熟悉 Microsoft Visual C++ 6.0 或 Code::Blocks 集成开发环境;(2) 掌握不同类型的变量的定义及赋值;(3) 能实现简单的程序结果的屏幕输出;(4) 初步了解 C 程序的基本结构。
【实验内容】打开 Microsoft Visual C++ 6.0 或 Code::Blocks 集成开发环境,熟悉环境界面和有关菜单的使用方法。
完成以下内容: 1. 屏幕输出在 Microsoft Visual C++ 6.0 或Code::Blocks 中编辑、编译、链接和运行程序。
#include <stdio.h>int main() {printf("Hello,World!\n");printf("Hello,China!\n");printf("Hello,Welcome to China!\n");return 0; }操作提示:一个编程任务完成后关闭工作区空间(切记!!!)2. 变量定义及赋值书例 2.1b,体会变量的使用及屏幕输出。
3.不同类型的变量所占内存空间书例 2.2,了解不同类型变量的表数范围,正确进行变量定义4. 程序设计(1)计算半圆弧的周长及半圆的面积。
题目内容:编程并输出半径 r=5.3 的半圆弧的周长及该半圆弧与直经围成的半圆的面积,的取值为 3.14159。
要求半径 r 和必须利用宏常量表示。
输出格式:半圆的面积输出格式: "Area=%f\n"半圆弧的周长输出格式: "circumference=%f\n"输出样例: Area=44.123632 circumference=16.650427(2)计算长方体体积题目内容:编程并输出长 1.2、宽 4.3、高 6.4 的长方体的体积。
c语言程序设计_实验一实验报告
实验项目名称:实验一C 语言的运行环境的使用实验目的及要求:1. 了解 Windows 系统下 C 语言的运行环境,熟悉 C 程序编辑、调试、运行的基本操作方法。
2. 熟练掌握编辑、编译、连接和运行 C 程序的方法。
3. 通过运行简单的 C 程序,初步了解 C 源程序的特点。
4. 初步理解 C 语言的数据类型,了解变量定义、变量赋值以及简单运算方法,了解程序运行结果的基本输出方法。
实验内容(方法和步骤):1、编程实现在屏幕上显示如下三行文字Hello, world !Wolcome to the C language world!Everyone has been waiting for程序代码:#include <stdio.h>int main(){printf("Hello,World!\n");printf("Welcome to the C language world!\n");printf(Everyone has been waiting for.\n");return 0;}运行结果:2、编写程序,将两个整数相加,并输出结果。
程序代码:#include <stdio.h>int main(){int a,b,c;a=12;b=26;c=a+b;printf("c=%d\n",c);return 0";}运行结果:3. 编写程序,要求从键盘输入2 个整数,输出其中较大的数程序代码:#include <stdio.h>int main(){int max(int x,int y);int a,b,c;scanf("%d,%d",&a,&b);c=max(a,b);pintf("max=%d",c);return 0;}int max(int x,int y){ int z;if (x>y) z=x;else z=y;return(z);}运行结果:4.输入并运行下程序,观察运行结果。
《C语言程序设计》实验报告
《C语言程序设计》实验报告学院:专业:学号:姓名:成绩:课程代码: 2001301指导教师:实验中心:电气信息专业试验中心日期:目录实验总体要求实验一………………………………………………C语言的运行环境和运行过程实验二………………………………………………数据类型、运算符与表达式实验三………………………………………………程序结构(顺序、选择和循环) 实验四………………………………………………数组实验五………………………………………………函数实验六………………………………………………指针实验七………………………………………………结构体实验八………………………………………………类和对象实验总体要求C语言程序设计课程是一门实践性很强的课程,为了培养学生的计算机应用能力,除了课堂理论教学外,必须加强程序设计课程实验的教学环节。
1、课程实验教学目的通过C语言程序设计的课程实验教学,学生应具有使用计算机解决相关问题的能力,同时为学生今后学习其他计算机应用课程打下良好的程序设计基础。
⑴分析问题和解决问题能力的训练课程实验教学将课本上的理论知识和实际应用有机地结合起来,达到训练学生分析问题解决实际问题的能力,提高学生应用计算机知识开发应用系统的综合能力。
⑵逻辑思维能力的训练通过课程实验教学,使学生正确地掌握C语言的基本知识,较好掌握基本的程序算法,以及描述方法。
培养学生在程序设计解题思路、算法的描述、编程构思等方面的计算机逻辑思维能力。
⑶程序设计技能的训练通过C语言环境下的应用实例,训练学生编写程序的能力,掌握编程的思路和方法,掌握结构化程序设计的基本概念和基本技能。
通过课程实验教学,使学生掌握C程序设计语言的语法规则,数据结构的应用,掌握算法描述及相应代码描述,掌握结构化程序设计的基本方法,能熟练编写一般的应用程序。
2、课程实验教学要求⑴要求通过解题、程序设计和上机实践,加深对所学概念的理解,提倡理论与实践相结合的学习方法。
周信东主编版C语言程序设计基础实验一实验报告
周信东主编版C语言程序设计基础实验一实验报告实验报告:C语言程序设计基础实验一一、实验目的本实验的主要目的是让学生熟悉C语言的基本语法和数据类型,培养运用C语言进行编程的能力。
通过实验,学生将深入理解C语言的程序结构、变量的定义和赋值、数据类型的转换、运算符的使用等基本知识点,并能够独立编写简单的C程序。
二、实验内容本实验主要包括以下三个部分:1.简单的输入与输出程序:要求用户输入姓名和年龄,然后输出用户的个人信息。
2.简单的数值运算程序:用户输入两个整数,程序计算并输出这两个整数的和。
3.三个整数排序程序:用户输入三个整数,程序对这三个整数进行排序,并输出结果。
三、实验过程与结果1.简单的输入与输出程序:实验过程:首先,我们使用`scanf(`函数从用户输入中获取姓名和年龄,然后使用`printf(`函数输出用户的个人信息。
实验结果:例如,用户输入姓名为“张三”,年龄为18,则程序输出“姓名:张三,年龄:18”。
2.简单的数值运算程序:实验过程:首先,我们使用`scanf(`函数从用户输入中获取两个整数,然后使用`+`运算符将这两个整数相加,并将结果保存在一个变量中。
最后,使用`printf(`函数输出这两个整数的和。
实验结果:例如,用户输入整数1和整数2分别为3和5,则程序输出“整数1+整数2的和:8”。
3.三个整数排序程序:实验过程:首先,我们使用`scanf(`函数从用户输入中获取三个整数,然后使用条件语句和循环语句对这三个整数进行排序。
最后,使用`printf(`函数输出排序后的结果。
实验结果:例如,用户输入的三个整数为2、1和3,则程序输出“排序后的结果为:1、2、3”。
四、实验总结通过本实验,我进一步熟悉了C语言的基本语法和数据类型,并通过实际编写程序来加深对这些知识的理解。
在实验过程中,我遇到了一些问题,例如如何正确使用`scanf(`函数从用户输入中获取数据,如何使用条件语句和循环语句对数据进行处理等。
程序设计基础(C语言)实验报告
程序设计基础(C语言)实验报告课程名称:程序设计基础(C语言)姓名:学号:年级:专业:指导教师:实验地点:目录实验一顺序结构程序设计实验二选择结构程序设计实验三循环结构程序设计实验四数组及其应用实验五函数及其应用实验六指针及其应用实验(一)顺序结构程序设计一、实验目的1.掌握顺序结构程序的设计思想,领会顺序结构的程序执行时顺次执行的特点。
2.掌握赋值语句的特点、功能。
3.掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。
4.掌握编写程序和调试程序的方法。
二、实验内容及要求1.用下面的scanf函数输入数据使a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’。
#include <stdio.h>int main(){int a,b;float x,y;char c1,c2;scanf("a=%db=%d",&a,&b);scanf("%f%e",&x,&y);scanf("%c%c",&c1,&c2);printf("a=%d,b=%d,x=%.1f,y=%.2f,c1=%c,c2=%c\n",a,b,x,y,c1,c2);return 0;}运行时分别按以下方式输入数据,观察输出结果,分析原因(□表示空格,↙表示回车)。
(1)a=3,b=7,x=8.5,y=71.82,A,a↙(2)a=3□b=7□x=8.5□y=71.82□A□a↙(3)a=3□b=7□8.5□71.82□A□a↙(4)a=3□b=7□8.5□71.82Aa↙(5)3□7□8.5□71.82Aa↙(6)a=3□b=7↙8.5□71.82↙A↙a↙(7)a=3□b=7↙8.5□71.82↙Aa↙(8)a=3□b=7↙8.5□71.82Aa↙通过此题,总结输入数据的规律和容易出错的地方。
c语言实验报告详细设计
实验报告:C语言程序设计
一、实验目的
通过本次实验,使学生掌握C语言的基本语法和程序设计思想,培养学生的编程能力和解决问题的能力。
二、实验内容
1. C语言程序的组成和结构
2. 数据类型、运算符和表达式
3. 输入输出函数
4. 控制结构(选择结构和循环结构)
5. 数组和字符串
6. 函数和程序结构
7. 指针和内存管理
三、实验步骤
1. 准备阶段:了解实验内容和要求,准备好所需的资料和工具。
2. 设计阶段:根据实验内容,设计程序结构和算法,编写代码。
3. 调试阶段:运行程序,调试代码,确保程序的正确性和可靠性。
4. 测试阶段:对程序进行各种测试,确保程序的正确性和性能。
5. 总结阶段:总结实验过程和结果,撰写实验报告。
四、实验结果与分析
1. 实验结果:通过本次实验,学生掌握了C语言的基本语法和程序设计思想,能够编写简单的C程序,解决了一些实际问题。
2. 结果分析:在实验过程中,学生遇到了一些问题,如语法错误、逻辑错误等。
通过调试和测试,学生逐渐掌握了C语言的编程技巧和方法,提高了编程能力和解决问题的能力。
五、结论与建议
1. 结论:通过本次实验,学生掌握了C语言的基本语法和程序设计思想,能够编写简单的C程序,解决了一些实际问题。
同时,学生也提高了编程能力和解决问题的能力。
2. 建议:在今后的实验中,应该更加注重学生的实践能力和创新能力的培养,加强实验内容的深度和广度,提高学生的编程能力和解决问题的能力。
同时,应该注重实验过程的规范化和科学化,确保实验结果的准确性和可靠性。
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语言程序设计实验报告实验一
修改:在第5、7末加上分号;
在print后加上字母f。
③输出:sum is 579
结果完全正确
6)
①显示:
max=5
②显示:
Exam1_3.exe - 2 error(s), 0 warning(s)
D:\exam\P1_6.c(8) : error C2143: syntax error : missing ';' before 'if'
实验心得
1.在C中标点符号也非常重要,不能漏掉,也不能写成全角符号;
2.C的编译环境应熟练掌握,各种提示的涵义应了解;
3.编程算法是关键。
1)所用的计算机系统已安装了Visual C++,在C:\Program Files\Microsoft Visual Studio\VC98中。
2)点击“开始”->“程序”->”Microsoft Visual Studio6.0”->”Microsoft Visual c++6.0”进入
3)基本熟悉
6)输入并运行一个需要在运行时输入数据的程序;
输入下面的程序:
#include<stdio.h>
void main()
{
int max(int x,int y);
int a,b,c;
printf("input a & b;");
scanf("%d,%d",&a,&b);
C语言程序设计实验报告
C语言程序设计实验报告一、引言C语言程序设计是计算机科学与技术专业中的一门基础课程。
通过实验学习,我深入了解了C语言的基本语法和程序设计的思想,掌握了一定的编程能力。
本文将详细介绍我在C语言程序设计实验中所进行的实验项目、实验结果和实验心得。
二、实验项目1. 实验一:C语言程序设计基础在这个实验中,我编写了一个简单的C语言程序,实现了对用户输入的两个整数进行相加并输出结果的功能。
在程序设计中,我正确使用了C语言的基本语法,包括变量定义、输入输出函数的调用等。
2. 实验二:条件语句和循环结构这个实验要求我编写一个C语言程序,实现对用户输入的分数进行等级评定的功能。
根据用户输入的分数,程序将输出相应的等级,如优秀、良好、及格等。
为了实现这个功能,我灵活运用了条件语句和循环结构,使程序具有良好的交互性。
3. 实验三:数组和字符串在这个实验中,我学习了C语言中数组和字符串的使用方法,并编写了一个程序,实现了对一个整数数组的排序功能。
通过实验,我进一步掌握了数组的声明、初始化和遍历等操作,提高了我对C语言程序设计的理解。
4. 实验四:函数和指针实验四要求我编写一个C语言程序,实现对一个数组中的元素求和的功能。
在这个实验中,我了解了函数的定义和调用、指针的基本概念以及函数指针的使用。
通过编写程序,我加深了对函数和指针的理解,并提高了程序的运行效率。
三、实验结果通过以上实验项目的设计与实现,我得到了如下实验结果:1. 实验一的结果是可以正确进行数值相加并输出结果。
2. 实验二的结果是根据输入的分数得到相应的等级评定。
3. 实验三的结果是对输入的整数数组进行排序,并输出排序后的结果。
4. 实验四的结果是对数组中的元素进行求和,并输出求和结果。
四、实验心得通过整个实验过程,我深刻认识到了C语言程序设计的重要性和应用广泛性。
C语言不仅是其他高级编程语言的基础,也是培养程序设计思维和逻辑思维的重要工具。
通过实验,我不仅掌握了C语言的基础知识和编程技巧,还培养了自己解决问题和分析问题的能力。
C语言程序设计实验报告
C语言程序设计实验报告一、实验目的本次 C 语言程序设计实验的主要目的是通过实际编写和调试 C 语言程序,加深对 C 语言语法、数据类型、控制结构、数组、指针、函数等核心概念的理解和掌握,提高编程能力和问题解决能力。
二、实验环境本次实验使用的编程环境是 Visual Studio Code,编译器为 GCC。
操作系统为 Windows 10。
三、实验内容及步骤(一)简单数据类型与运算1、定义并初始化不同类型的变量,如整型、浮点型、字符型等。
2、进行基本的算术运算、关系运算和逻辑运算,并输出结果。
(二)控制结构1、编写使用 ifelse 语句进行条件判断的程序,根据不同的条件执行不同的操作。
2、运用 for 循环和 while 循环实现特定次数的重复操作,例如计算1 到 100 的和。
(三)数组1、定义并初始化一维数组和二维数组。
2、实现数组元素的遍历和操作,如查找最大值、最小值等。
(四)指针1、理解指针的概念,定义指针变量并进行赋值。
2、通过指针访问变量和数组元素。
(五)函数1、定义和调用具有不同参数类型和返回值类型的函数。
2、理解函数的参数传递机制,包括值传递和指针传递。
四、实验过程中的问题及解决方法(一)语法错误在编写程序的过程中,经常会出现语法错误,如遗漏分号、括号不匹配等。
通过仔细检查代码,对照 C 语言的语法规则,能够及时发现并修正这些错误。
(二)逻辑错误逻辑错误是比较难以发现和解决的问题。
例如,在循环中可能会出现错误的边界条件,导致结果不正确。
通过打印中间结果和逐步调试,能够帮助找出逻辑错误的所在,并进行修正。
(三)运行时错误运行时错误可能是由于内存访问越界、除数为零等原因引起的。
使用调试工具和异常处理机制,能够有效地处理运行时错误,保证程序的稳定性。
五、实验结果与分析(一)简单数据类型与运算通过实验,对不同数据类型的取值范围、精度以及运算规则有了更清晰的认识。
例如,整型数据在不同的平台上可能具有不同的取值范围,浮点型数据在进行运算时可能会存在精度损失。
c语言程序设计实验报告
c语言程序设计实验报告C语言程序设计实验报告一、引言C语言是一种广泛应用于软件开发的高级编程语言,其简洁、高效和灵活的特性使其成为许多程序员的首选。
在本次实验中,我们将通过编写C语言程序,探索其基本语法和功能,以及如何应用于实际问题的解决。
二、实验目的本次实验的目的是让我们熟悉C语言的基本语法和常用的控制结构,掌握C语言程序的编写和调试技巧。
通过实践,我们将学习如何使用C语言解决简单的问题,并培养编程思维和逻辑思维能力。
三、实验过程1. 程序设计环境的搭建在开始编写C语言程序之前,我们需要先搭建一个合适的开发环境。
通常,我们可以选择使用集成开发环境(IDE)如Code::Blocks或使用文本编辑器和命令行编译器的组合。
在本次实验中,我们选择使用Code::Blocks作为开发工具。
2. 程序的编写在本次实验中,我们将编写一个简单的学生成绩管理程序。
该程序可以实现学生信息的录入、查询和统计功能。
首先,我们需要定义适当的数据结构来存储学生的信息,如姓名、学号和成绩。
然后,我们可以使用C语言的基本输入输出函数来实现信息的录入和查询功能。
最后,我们可以使用循环和条件语句来实现成绩统计功能。
3. 程序的调试和测试在完成程序的编写后,我们需要进行调试和测试以确保程序的正确性。
我们可以通过逐行调试和输入不同的测试数据来验证程序的逻辑和功能。
如果发现错误或异常,我们可以使用调试工具来定位和修复问题。
四、实验结果与分析经过调试和测试,我们成功地完成了学生成绩管理程序的编写。
该程序可以实现学生信息的录入、查询和统计功能,并且在处理异常情况时能够给出相应的提示信息。
通过该程序,我们可以更好地理解C语言的基本语法和常用控制结构,并学会了如何将其应用于实际问题的解决。
然而,我们也发现了一些问题和改进的空间。
首先,程序的界面可以进一步优化,使其更加友好和易用。
其次,我们可以添加更多的功能,如成绩排序和成绩分析等,以满足更多的需求。
《单片机C语言程序设计》实验报告一
《单片机C语言程序设计》实验报告一、实验目的和要求1、熟悉单片机硬件结构及其工作原理。
2、掌握单片机的I/O端口应用。
二、实验内容和原理实验1——P1作为输入端口(1)硬件设计P1端口的高四位P14、P15、P16和P17分别接4个独立按键S01、S02、S03、S04以及4个LED VD5、VD6、VD7、VD8;当独立按键按下时,对应发光二极管亮,比如S01按下时,VD5被点亮,同时P30输出低电平VD17被点亮。
电路原理图如图所示P1端口作为输入端口所需元器件入表所示(2)C源程序实验1:实验2:#include <REGX51.H>#include <Delay10ms.h>unsigned char tab1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff}; unsigned char tab2[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00}; unsigned char tab3[]={0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};int i;void MOD1(void){for(i=0;i<8;i++){P1= tab1[i];Delay10ms();}P1= tab1[8];for(i=0;i<8;i++){P0= tab1[i];Delay10ms();}P0= tab1[8];for(i=0;i<8;i++){P3= tab1[i];Delay10ms();}P3= tab1[8];for(i=0;i<8;i++){P2= tab1[i];Delay10ms();}P2= tab1[8];}void MOD2(void){for(i=0;i<8;i++){P2= tab2[i];Delay10ms();}for(i=0;i<8;i++){P3= tab2[i];Delay10ms();}for(i=0;i<8;i++){P0= tab2[i];Delay10ms();}for(i=0;i<8;i++){P1= tab2[i];Delay10ms();}}void MOD3(void) {for(i=0;i<8;i++){P1= tab3[i];Delay10ms();}for(i=0;i<8;i++){P0= tab3[i];Delay10ms();}for(i=0;i<8;i++){P3= tab3[i];Delay10ms();}for(i=0;i<8;i++){P2= tab3[i];Delay10ms();}}int main (void){while(1){MOD1();MOD2();MOD3();}三、主要仪器设备Protues硬件仿真调试软件Keil编程软件四、操作方法与实验步骤1、根据实验一新建工程操作,新建工程。
c语言程序设计实验报告
c语⾔程序设计实验报告C语⾔程序设计实验报告实验⼀1.⽤scanf函数输⼊数据,a=3,b=7,x=8.2,y=123.22,c1=‘A’,c2=‘a’,⽤printf 函数进⾏输出。
2.输⼊三⾓形的三边长,求三⾓形⾯积。
3..存款利息计算,有10000元,想存5年,按以下⼏种⽅法存。
(1)⼀次存5年。
(2)先存2年期,到期将本息再存3年。
(3)先存3年期,到期后再存2年。
(4)存1年期,到期将本息再存1年,连存5次。
计算各⾃存法5年后的本息是多少?4.设半径r=1.5,圆柱⾼h=3,求圆周长,圆⾯积,圆柱表⾯积,圆柱体积。
⽤scanf 输⼊数据,输出结果,输⼊要有⽂字说明,取⼩数点后2位数字。
5.给出⼀个不多于5位的正整数,要求:(1)求出它是⼏位数?(2)分别输出每个数字?(3)按逆顺序输出。
如(123输出321)实验⼆1.输⼊两个正整数,求其最⼤公约数和最⼩公倍数。
2.⼀个数如果恰好等于它的因⼦之和,这个数就称为完数,例如6=1+2+3,编程找出1000之内的所有完数,并按下⾯格式输出其因⼦。
6its factors are1,2,33.输⼊⼀⾏字符,分别统计出其中英⽂字母、空格、数字和其他字符的个数。
4.⼀个球从100m⾼度⾃由落下,每次落地后反跳回原⾼度的⼀半,再落下,再反弹。
求它在第10次落地式,共经过多少⽶,第10次反弹多⾼。
实验三1.从键盘输⼊⼀个整数,并将其插⼊到其元素已按升序排列的数组中,要求插⼊操作完成后,数组中的元素仍按升序排列。
2.⼀篇⽂章,共有三⾏⽂字,每⾏有80个字符。
要求分别统计出其中英⽂⼤写字母、⼩写字母、数字、空格以及其他字符的个数。
3.从键盘输⼊10个整数,并求出这10个数的最⼤值及出现次数。
4.编写个⼈所得税计算器。
输⼊个税起征点和⽉收⼊,计算应交税款。
(起征点为2000元)不超过500元的部分税率5%超过500元⾄2000元的部分税率10%超过2000元⾄5000元的部分税率15%超过5000元⾄20000元的部分税率20%超过20000元⾄40000元的部分税率25%超过40000元⾄60000元的部分税率30%超过60000元⾄80000元的部分税率35%超过80000元⾄100000元的部分税率40%超过100000元的部分税率45%。
C语言实验报告(全)
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
实验报告填写说明
1.实验报告中的班级写行政班级(如道土1班),学号写完整学号(如20176000101),实
验日期不要漏写,任课教师写全名。
2.设计流程(算法描述)的书写用传统流程图、N-S流程图或伪代码中的任一种方式写出算法。
3.调试和测试结果应有内容,至少是“调试结果正确”,如果遇到错误,则写出错误信息,
及调试解决方法。
要求写出测试用的数据和测试结果,应对所有路径都进行测试。
实验报告 (1)c语言
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);
【作业】
1.参照例题,编写一个C程序,输出以下信息:
****************************
Hello,World!
***************************
2.编写一个C程序,输入a、b、c三个数,输出其中最大者。试想,如果求四个数中的最大者,则程序该如何编写。
(二)C语言的基础知识
scanf("%c",&c);//以字符的形式输入数字就是输入数字字符
a=c-'0';//将数字字符转换为数字或者a=c-48;
printf("a=%d",a);
}
数字和数字字符这是两个不同的概念,如:数字0和数字字符‘0’是不同的,因为他们的ASIIC码值不一样。
(三)一维数组
【目的与要求】
1.掌握一维数组的定义、赋值和输入输出的方法;
printf("Everyone has been waiting for.\n");
}
【例2】输入并运行程序,写出运行结果。
main()
{
int a,b,sum;
a=123;b=456;
C语言实验报告 实验一 参考答案
实验一参考答案1、数据类型、运算符和表达式的应用(1)整型数据的溢出(建立程序文件名为sy1-1.c)# include <stdio.h>void main(){short int a,b;a=32767;b=a+1;printf("a=%d,b=%d\n",a,b);}程序运行结果:a=32767,b=-32768原因:32767是short int型数据的最大值,其二进制为(0111111111111111),在其上加1后产生溢出,变成-32768的补码,其二进制为(1000000000000000)。
整数在内存中以二进制补码形式存放,运算时符号位也要参与运算。
结论:使用整型数据应注意其表示范围,避免产生溢出。
(2)浮点型数据的舍入误差(建立程序文件名为sy1-2.c)# include <stdio.h>void main(){float a,b;a=123456.789e5;b=a+20;printf("a=%f\tb=%f\n",a,b);}程序运行结果:a=1345678848.000000 b=12345678868.000000原因:理论分析a变量的值为12345678900,b的值经计算应为12345678920,结果输出的a和b的值都不对,原因是float型数据的有效数字位数为7位,后几位数字都是不准确的。
结论:应当避免将一个很大的数和一个很小的数直接相加或相减,否则会“丢失”较小的数。
(3)字符型数据和整型数据的混合使用(建立程序文件名为sy1-3.c)# include <stdio.h>void main(){char c1,c2;c1=65; c2=66;printf("%c %c\n",c1,c2);}程序运行结果:A B原因:c1,c2两个变量的类型为char型,在内存中分配1B的存储空间用于存放字符的ASCII码二进制,其存放的数据范围为0~255。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言程序设计实验报告专业:班级:日期:成绩:实验组别:第次实验:指导教师:学生姓名:学号:同组人姓名:实验名称:指针实验一、实验目的(1)熟练掌握指针的说明、赋值、使用。
(2)掌握用指针引用数组的元素,熟悉指向数组的指针的使用。
(3)熟练掌握字符数组与字符串的使用,掌握指针数组及字符指针数组的用法。
(4)掌握带有参数的main函数的用法。
二、实验内容及要求1.源程序改错下面的源程序中是否存在错误?如果存在,原因是什么?如果存在错误要求在计算机上对这个源程序进行调试修改,是之能够正确执行。
源程序:#include <stdio.h>int main(void){float * p;scanf("%f",p);printf("%f\n",*p);return 0;}2.源程序修改替换(1)下面源程序的功能是,通过函数指针和菜单选择来调用字符串拷贝函数或字符串连接函数。
请在程序中的下划线处填写合适的表达式、语句或代码片段来完善该程序。
源程序:#include <stdio.h>#include <string.h>int main(void){____________________________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;_______________________printf("input the second string please!\n");i=0;_______________________result=____(a,b);printf("the result is %s\n",result);down:;return 0;}(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.跟踪调试程序请按下面的要求对所给源程序进行操作,并回答问题和排除错误。
(1)单步执行源程序。
进入strcpy时,watches窗口中s为何值?返回main时,watches窗口中s为何值?(2)排除源程序中的错误,使程序输出结果为:there is a boat on the lake.源程序:#include <stdio.h>char * strcpy(char*,char*);int main(void){char a[20],b[60]="there is a boat on the lack.";printf("%s\n",strcpy(a,b));return 0;}char *strcpy(char*s,char*t){while(*s++=*t++);return (s);}4.程序设计编写并上机调试运行能实现以下功能的程序或函数:(1)已知一个长整形变量占四个字符,其中每个字节又分高四位和低四位。
试编写一个程序,从该长整形变量的高字节开始,依次取出每个字节的高四位和低四位并以数字字符的形式进行显示。
(2)利用大小为n的指针数组指向用gets函数输入的n行,每行不超过80个字符。
试编写一个函数,它将每一行中连续的多个空格字符压缩为一个空格字符。
在调用函数中输出压缩空格后的各行,空行不予输出。
(3)编写一个程序,输入n个整数,排序后输出。
排序的原则由命令行可选参数-d决定,并且有参数-d时按递减顺序,否则按递增顺序排序。
要求将排序算法定义成函数,利用指向函数的指针是该函数实现递增或递减排序。
(4)设每个班有n个学生,每个学生所修的M门课程的成绩,并且都存放到相应的数组中,试编写以下函数:①计算每个学生各门课程平均成绩②计算全班每门课程的平均成绩③分别统计低于全班各门课程平均成绩的人数④分别统计全班各门课程不及格的人数和90分以上(包含90)的人数。
在调用函数中输出结果(要求都用指针操作,不得用下标)5.选做题(1)编写并上机调试运行能实现以下功能的程序:设有N位整数和M位小数(N=20,M=10)的两个数据a,b。
编程计算a+b并输出结果。
如:12345678912345678912.1234567891+98765432109876543210.0123456789(2)编写一个使用复杂声明的“char *(*p[2])(const char*,const char *);”的程序。
提示:p中元素可为strcmp,strstr等函数名。
三、实验步骤及结果1.源程序改错错误:悬挂指针,指针未初始化改后程序:#include<stdio.h>int main(void){float *p,a;p=&a;scanf("%f",p);printf("%f\n",*p);return 0;}2.源程序完善、修改、替换#include<stdio.h>#include<string.h>int 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;while((a[i]=getchar())!='\n')i++;a[i]='\0';printf("input the second string please!\n");i=0;while((b[i]=getchar())!='\n')i++;b[i]='\0';result=(*p)(a,b);printf("the result is %s\n",result);down:;return 0;}3.跟踪调试程序#include <stdio.h>char * strcpy(char*,char*); int main(void){char a[20],b[60]="there is a boat on the lack.";printf("%s\n",strcpy(a,b));return 0;}char *strcpy(char*s,char*t){char *m;m=s;while(*s++=*t++);return (m);}4.程序设计(1)#include<stdio.h>#include<math.h>#define MAX 32int main(){long int n;int i;char s[MAX];printf("please input a number:\n");scanf("%ld",&n);if(n>=-2147483647&&n<=2147483647) ;else{printf("wrong:the number is too large");return -1;}if(n>=0){for(i=0;n!=0;i++){s[i]=n%2+'0';n/=2;}for(;i<=MAX-1;i++)s[i]='0';}else{n=-(n+1);for(i=0;n!=0;i++){s[i]=n%2+'0';n/=2;}for(;i<=MAX-2;i++)s[i]='0';for(i=0;i<MAX-1;i++)if(s[i]=='1')s[i]='0';else if(s[i]=='0')s[i]='1';s[i]='1';}for(i=31;i>=28;i--)putchar(s[i]);putchar('\t');for(i=27;i>=24;i--)putchar(s[i]);putchar('\t');for(i=23;i>=20;i--)putchar(s[i]);putchar('\t');for(i=19;i>=16;i--)putchar(s[i]);putchar('\t');for(i=15;i>=12;i--)putchar(s[i]);putchar('\t');for(i=11;i>=8;i--)putchar(s[i]);putchar('\t');for(i=7;i>=4;i--)putchar(s[i]);putchar('\t');for(i=3;i>=0;i--)putchar(s[i]);putchar('\t');return 0;}(2)#include<stdio.h>#include<stdlib.h>#include<ctype.h>#define N 3void output(char*s);int main(void){int i;char *s[N];printf("please input your massage:\n");for(i=0;i<N;i++){s[i]=malloc(80);gets(s[i]);}printf("your massage has been changed into;\n");for(i=0;i<N;i++){output(s[i]);printf("%s\n",s[i]);}return 0;}void output(char*s){int i,j;for(i=0,j=0;s[i]!='\0';i++,j++){if(isspace(s[i])){for(;isspace(s[i]);i++);s[j++]=' ';s[j]=s[i];}elses[j]=s[i];}s[j]=s[i];}(3)#include<stdio.h>#define MAX 5void swap(int v[],int i,int j);void qsort(int v[],int left,int right);int main(int argc,char *argv[]){int i=0,s[MAX];if(--argc>0&&(*++argv)[0]=='-'){if((*argv)[1]=='d'){while(i<MAX)scanf("%d",&s[i++]);qsort(s,0,MAX-1);for(i=MAX-1;i>=0;i--)printf("%d\t",s[i]);}elseprintf("wrong:\n");}else{while(i<MAX)scanf("%d",&s[i++]);qsort(s,0,MAX-1);for(i=0;i<MAX;i++)printf("%d\t",s[i]);}return 0;}void qsort(int v[],int left,int right) {int i,last;void swap(int v[],int i,int j);if(left>right)return;swap(v,left,(left+right)/2);last=left;for(i=left+1;i<=right;i++)if(v[i]<v[left])swap(v,++last,i);swap(v,left,last);qsort(v,left,last-1);qsort(v,last+1,right);}void swap(int v[],int i,int j){int temp;temp=v[i];v[i]=v[j];v[j]=temp;}(4)#include <stdio.h>#define N 5#define M 3struct course{char *s;int d[N];} sm[M];void saverage(struct course *sm);void caverage(struct course *sm);void summary_below(struct course *sm);void summary_both(struct course *sm);int main(void){int i;printf("Please input the names of the %d courses.\n",M);for(i=0;i<M;i++)if(gets((sm+i)->s=malloc(10))==NULL)printf("ERROR");for(i=0;i<M;i++){int k;printf("Please input the grades of %d students of the %s subject\n",N,(sm+i)->s);for(k=0;k<N;k++)scanf("%d",(sm+i)->d+k);}saverage(sm);caverage(sm);summary_below(sm);summary_both(sm);return 0;}void saverage(struct course *sm){double sum=0,av;int i,k;for(i=0;i<N;i++){printf("This is the %d student's average grade\t",i+1);for(k=0;k<M;k++){sum+=*((sm+k)->d+i);}av=sum/M;printf("%lf\n",av);sum=0;}}void caverage(struct course *sm){double sum=0,av;int i,k;for(i=0;i<M;i++){printf("This is the average grade of %s\t",(sm+i)->s);for(k=0;k<N;k++){sum+=*((sm+i)->d+k);}av=sum/N;printf("%lf\n",av);sum=0;}}void summary_below(struct course *sm){double sum=0,av;int i,k;for(i=0;i<M;i++){for(k=0;k<N;k++){sum+=*((sm+i)->d+k);}av=sum/N;printf("In %s the number of below-average student is\t",(sm+i)->s);for(sum=0,k=0;k<N;k++)if(*((sm+i)->d+k)<av)sum++;printf("%d\n",(int)sum);sum=0;}}void summary_both(struct course *sm){int i,k;int fsum=0,esum=0;for(i=0;i<M;i++){printf("The course is %s\t",(*(sm+i)).s);for(k=0;k<N;k++){if(*((sm+i)->d+k)<60)fsum++;if(*((sm+i)->d+k)>90)esum++;}printf("the failed is %d,while the above 90 is %d\n",fsum,esum);fsum=0,esum=0;}}5.选做题(1)#include<stdio.h>int main(void){int i,t=0;char a[]="12345678912345678912.1234567891";char b[]="98765432109876543210.0123456789";int s[32];s[0]=0;for(i=0;i<32;i++)s[i]=0;for(i=30;i>=0;i--){if(a[i]=='.')i--;int m,n,k;m=a[i]-'0'+t;n=b[i]-'0';k=m+n;if(k>=10){t=k/10;s[i+1]=k%10;}else{s[i+1]=k%10;t=0;}k=0;}s[0]=t;for(i=0;i<32;i++){if(i==21)printf(".");elseprintf("%d",s[i]);}return 0;}(2)#include<stdio.h>#include<string.h>#include<stdlib.h>int main(void){int n;char *(*p[2])(const char*,const char*);char *a;char *b;char *c;printf("please input string one:\n");a=malloc(20);gets(a);printf("please input string two:\n");b=malloc(20);gets(b);printf("please input a number:\n0 to choose the strcpy\n1 to choose the strcat\n");scanf("%d",&n);p[0]=strcpy;p[1]=strcat;if(n>2||n<0){printf("wrong");return -1;}elsec=(*p[n])(a,b);printf("now the string is:\n%s\n",c);return 0;}四、实验体会知道了指向数组的指针的用法,明白了指向函数的指针的用途。