




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计实验 实验指导实验一 Visual C+6.0开发环境使用大气科学专业 实验日期 4月 18日 姓名:学号1实验目的(1)熟悉Visual C+6.0集成开发环境。(2)掌握C语言程序的书写格式和语言程序的结构。(3)掌握C语言上机步骤,了解C程序的运行方法。(4)能够熟练地掌握C语言程序的调试方法和步骤2. 实验内容输入如下程序,实现两个数的乘积。#include (stdio.h);int main()x=10,y=20p=prodct(x,t)printf(The product is : ,p)int prodct(int a ,int b )int c c=a*breturn c(1)在编辑状态下照原样键入上述程序。(2)编译并运行上述程序,记下所给出的出错信息。(3)再编译执行纠错后的程序。如还有错误,再编辑改正,直到不出现语法错误为止。3分析与讨论(1)记下在调试过程中所发现的错误、系统给出的出错信息和对策。分析讨论成功或失败的原因。(2)总结程序的结构和书写规则。实验心得: 通过本次实验,我了解到C语言的特点,初步认识程序设计方法和程序设计一般步骤,掌握C语言程序编译、链接和运行过程,为我进一步学好C语言打下了基础。 实验二 数据类型、运算符和表达式大气科学专业 实验日期4 月 25日 姓名:刘园园 学号201513013271实验目的(1)理解常用运行符的功能、优先级和结合性。(2)熟练掌握算术表达式的求值规则。(3)熟练使用赋值表达式。(4)理解自加、自减运算符和逗号运算符(5)掌握关系表达式和逻辑表达式的求值2实验内容(1)整数相除#includeint main()int a=5,b=7,c=100,d,e,f;d=a/b*c;e=a*c/b;f=c/b*a;printf(d=%d , e=%d ,f=%dn,d,e,f);return 0;(2)自加、自减运算#includeint main()int a=5,b=8;printf(a+=%dn,a+);printf(a=%dn,a);printf(+b=%dn,+b);printf(b=%dn,b);return 0;(3)关系运算和逻辑运算#includeint main()int a=5,b=8,c=8;printf(%d,%d,%d,%dn,a=b&a=c,a!=b&a!=c,a=b&a=c,a=b&a=c);printf(%d,%dn,a=c,a=b|b=c);printf(%d,%d,%d,%dn,!(a=b),!(a=b),!(a=c),!(a=b);return 0;(1)在编辑状态下输入上述程序。(2)编译并运行上述程序。3分析与讨论(1)整数相除有什么危险?应如何避免这种危险?(2)分析a+和+a的区别。(3)条件表达式和逻辑表达式的意义是什么,它们取值如何?(4)如何比较两个浮点数相等?为什么?实验心得:1.理解了C语言的基本数据类型(占用内存、数据范围)2.掌握了变量定义的方法3.掌握了常用的运算符的使用(功能、运算对象数目、优先级和结合性)4.掌握了混合运算的数据转换方法 为后面进一步学习C语言及其相关的运算储备了知识。实验三 格式化输入输出函数的使用大气科学专业 实验日期 5月 2日 姓名:刘园园 学号201513013271实验目的(1)掌握格式字符使用的方法。(2)掌握printf()进行格式化输出的方法。(3)掌握scanf()进行格式化输入的方法。2实验内容(1)输入如下程序,观察运行结果#includeint main() int x=1234; float f=123.456;double m=123.456; char ch=a; char a=Hello,world!;int y=3,z=4; printf(%d %dn,y,z); printf(y=%d , z=%dn,y,z); printf(%8d,%2dn,x,x); printf(%f,%8f,%8.1f,%.2f,%.2en,f,f,f,f,f);printf(%lfn,m); printf(%3cn,ch); printf(%sn%15sn%10.5sn%2.5sn%.3sn,a,a,a,a,a);return 0;(2)输入下面程序,观察调试信息#includeint main()double x,y;char c1,c2,c3;int a1,a2,a3;scanf(%d%d%d,a1,a2,a3);printf(%d,%d,%dn,a1,a2,a3);scanf(%c%c%c,&c1,&c2,&c3);printf(%c%c%cn,c1,c2,c3);scanf(%f,%lf,&x,&y);printf(%f,%lfn,x,y);return 0; (1)在VC+6.0集成开发环境中输入上述程序,观察调试结果。(2)如果有错误,请修改程序中的错误。3分析与讨论(1)分析程序错误及运行结果错误的原因。(2)总结printf()中可使用的各种格式字符。(3)总结转移字符的使用和功能。实验心得: 在这个实验中,我掌握了输入输出函数的用法,明白它不是语句,而是函数以及控制字符串的类型等,为进一步学习后面的知识有了一定了解,慢慢读懂程序。实验四 分支结构程序设计大气科学专业 实验日期 5月 9日 姓名:刘园园 学号201513013271实验目的(1)了解条件与程序流程的关系(2)了解用不同的数据使程序的流程覆盖不同的语句、分支和路径。(3)掌握if语句和if else语句的用法(4)掌握switch语句的用法2实验内容1从键盘上输入三个数,让它们代表三条线段的长度,请写一个判断这三条线段所组成的三角形属于什么类型(不等边,等腰,等边或不构成三角形)的C程序。 请分别设计下列数据对自己的程序进行测试:(1)找出各条语句中的错误。(2)找出各分支中的错误。(3)找出各条件中的错误。(4)找出各种条件组合中的错误。(5)找出各条路径中的错误。2.用scanf函数输入一个百分制成绩(整型量),要求输出成绩等级A,B,C,D,E。其中90-100分为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。具体要求如下: (1)用if语句实现分支或switch分支。(2)在输入百分制成绩前要有提示。(3)在输入百分制成绩后,要判断该成绩的合理性,对于不合理的成绩(即大于100分或小于0分)应输出出错信息。(4)在输出结果中应包括百分制成绩与成绩等级,并要有文字说明。(5)分别输入百分制成绩:-90,100,90,85,70,60,45,101,运行该程序。3.编程找出5个整数中的最大数和最小数,并输出找到的最大数和最小数。3分析与讨论(1)总结分支程序设计的方法。(2)复合语句的使用。(3)switch语句的注意事项。实验心得: 在这个实验中,我掌握了分支结构的程序设计,理解了分支语句的嵌套以及break在分支语句中的作用,了解了三种基本结构之一。实验五 循环结构程序设计大气科学专业 实验日期 5月16 日 姓名:刘园园 学号201513013271实验目的(1)掌握在程序设计条件型循环结构时,如何正确地设定循环条件,以及如何控制循环的次数。(2)了解条件型循环结构的基本测试方法。(3)掌握如何正确地控制计数型循环结构的次数。(4)了解对计数型循环结构进行测试的基本方法。(5)了解在嵌套循环结构中,提高程序效率的方法。2实验内容(1)输入一个正整数,并将其颠倒过来。如12345对应为54321。(2)将一个长整型数s的每一位数位上的偶数依次取出来,构成一个新的数t中,高位仍在高位,低位仍在低位,例如:s=87653142时,t中的数为:8642。#include#includeint main()long int a,b,c=0;scanf(%d,&a);if(a=0)printf(wrongn);exit(0);while(a!=0)b=a%10;if(b%2=1)b=0;exit(0);c=c*10+b;a=a/10;printf(反位数为:%dn,&c);return 0;(待修改)(3)判断101200之间有多少个素数。 (4)编写程序,输出杨辉三角。3分析与讨论(1)总结条件循环结构的一般方法。(2)如何测试计数型循环结构的控制表达式中的错误?(3)从实验中你得到了哪些提高嵌套循环程序效率的启示?实验心得:1.三种循环型while,dowhile,for语句各种运行方法2.循环语句的嵌套的执行流程 因此,学好三大基本结构中的复杂的循环结构,为学好C语言打下了基础。实验六 函数大气科学专业 实验日期 5月 23日 姓名:刘园园 学号201513013271实验目的(1)掌握C语言函数定义及调用的规则。(2)理解参数传递的过程。(3)掌握函数返回值的大小和类型确定的方法。(4)理解变量的作用范围2实验内容(1)上机调试下面的程序,记录系统给出的出错信息,并指出出错原因。#includeint main()int x,y;printf(%dn,sum(x+y);int sum(a,b)int a,b;return(a+b);return 0;未声明变量类型,未声明外部函数(2)编写一个程序,输入系数a、b、c,求一元二次方程的根,包括主函数和如下函数。j判断a是否为零。k计算判别式l计算根。m输出根。#include#includeint main ( ) double a,b,c,delta,x1,x2,p,q;scanf(%d,%d,%d,&a,&b,&c);if(a=0)printf(不是一元二次方程n);elsedelta=b*b-4*a*c;if(delta=0)printf(有两个相等的实数根n);x1=-b/(2*a);x2=x1;printf(%.2lf , %.2lfn,x1,x2);else if(delta0)printf(两个不等的实数根n);x1=-b/(2*a)+sqrt(delta)/(2*a);x2=-b/(2*a)-sqrt(delta)/(2*a);printf(%.2lf , %.2lfn,x1,x2);elseprintf(两个不等的复数根n);p=-b/(2*a);q=sqrt(-delta)/(2*a);printf(%.2lf + %.2lfn,p,q);printf(%.2lf - %.2lfn,p,q);return 0;(3)输入下面程序,分析运行结果#includeint func (int ,int );int main ( ) int k=4,m=1,p1,p2; p1=func(k,m) ; p2=func(k,m) ; printf(%d,%dn,p1,p2) ;return 0;int func (int a,int b) static int m=0,i=2; i+=m+1; m=i+a+b; return (m);3分析与讨论(1)针对以上实验内容写出相应的参数传递过程并分析结果。(2)函数在定义时要注意什么?(3)讨论静态局部变量的继承性?实验心得:C语言是由函数组成的,所以学好函数对C语言非常重要。1.掌握了函数的声明和定义规范。2.掌握了函数的形式参数和实际参数的定义和用法。3.掌握了函数的返回值的大小和类型。4.掌握了函数的调用方法和参数传递。5.了解了函数的嵌套调用。6.掌握了函数的递归调用及其程序规范。7.了解变量储存类型的基本概念。8.掌握了局部变量与全局变量的概念。实验七 数组及其应用大气科学专业 实验日期 5月 30日 姓名:刘园园 学号201513013271实验目的(1)掌握数组定义的规则。(2)掌握C语言数组的基本用法。(3)掌握数组名作为函数参数传递的方法2实验内容(1)运行下面的C程序,根据运行结果,可以说明什么?#include int main( ) int num5=1,2,3,4,5;inti i;for(i=0;i=5;i+) printf(%d ,numi);return 0;(2)为一个冒泡排序程序设计测试用例,并测试之。(题设答案)#includemain()int a10,i,j,k;for(i=0;i10;i+)scanf(%d,&ai);for(j=0;j10;j+)for(i=0;iai+1)k=ai;ai=ai+1;ai+1=k;for(i=0;i10;i+)printf(%d,ai);return 0;(3)操作符&用以求一个变量的地址,这在函数scanf中已经使用过了。现在要你设计一个程序,返回一个3 5 的二维数组各元素的地址,并由此说明二维数组中各元素是按什么顺序存储的。3分析与讨论(1)通过实验,分析定义与引用数组的区别。(2)数组的作用是什么?(3)数组名作为参数有什么特点?实验心得: 数组是C语言最常用也最为重要的数据结构。1.掌握了数组的声明和存放,初始化和数组元素的引用方法。2.掌握了数组下标的使用方法。3.了解了多维数组声明和操作。4.掌握了字符串定义及使用方法。5.初步理解了排序和查找等基本方法。 实验八 指针及其应用大气科学专业 实验日期6 月 6日 姓名:刘园园 学号201513013271实验目的(1)掌握变量的指针及其基本用法。(2)掌握一维数组的指针及其基本用法。(3)掌握指针变量作为函数的参数时,参数的传递过程及其用法。2实验内容(1)对以下程序进行运行,并从中了解变量的指针和指针变量的概念。 # include int main() int a=5,b=5,*p; p=&a; printf(%d ,%udn,a,p);*p=8; printf(%d ,%udn,a,p);p=&b;printf(%d ,%udn,a,p);b=10;printf(%d ,%udn,a,p);return 0;(2)运行以下程序,观察&a0,&ai)和p的变化,然后回答以下问题:1)序的功能是什么? 2)在开始进入循环体之前,p指向谁?3)循环每增加一次,p的值(地址)增加多少?它指向谁?4)退出循环后,p指向谁? 5)你是否初步掌握了通过指针变搔引用数组元素的方法?# include int main() int i,*p,s=0,a5=5,6,7,8,9; p=a; for(i=0;i5;i+,p+) s+=*p;printf(s=%dn,s);return 0;(3)先分析以下程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 早教色彩画画课件
- 汉语四声八调的发音规则与运用技巧:汉语语音知识教学教案
- 早产儿知识培训总结
- 2025年三支一扶考试公共基础知识详解试卷
- 强基联盟数学试卷
- 全国竞赛物理数学试卷
- 去年江西中考数学试卷
- 2024年保定市博物馆招聘笔试真题
- 南阳市批改初中数学试卷
- 庆元教师招聘数学试卷
- GB/T 26520-2011工业氯化钙
- GB/T 18983-2017淬火-回火弹簧钢丝
- GB/T 15972.1-1998光纤总规范第1部分:总则
- GB/T 14691-1993技术制图字体
- 《夯实法治基石》设计 省赛一等奖
- 食材配送服务及应急保障方案
- 常见婚姻家庭纠纷及调解技巧课件
- 中国老年人功能性消化不良诊治共识解读专家版
- 2023年8月17日云南省临沧市遴选公务员笔试真题及解析
- 飞机火灾教案课件
- ISO37000-2021组织治理-指南(雷泽佳译2022)
评论
0/150
提交评论