C语言程序设计实验电子稿.pdf
《C语言程序设计实验电子稿.pdf》由会员分享,可在线阅读,更多相关《C语言程序设计实验电子稿.pdf(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1.31.3实验一实验一 熟悉熟悉 C C 语言的语言的 VC+6.0VC+6.0 编程环境编程环境一、实验目的与要求1.学会使用 Visual C+集成开发环境。2掌握简单 C 程序的编写、编辑、编译、连接和运行。3初步学会 Visual C+环境下简单调试 C 程序的方法。二、实验内容1.1.程序运行题程序运行题(1)打开 VC+6.0 环境。(2)在 VC+6.0 环境的编辑窗口中,输入如下程序保存为myexp1_1.cpp。(3)选择【组建】【编译 myexp1_1.cpp】(可按快捷键 CTRL+F7)命令对程序进行编译。(4)选择【组建】【组建】(按快捷键 F7)命令对程序进行连接
2、。(5)单击【!】按钮或选择【组建】【执行】菜单项(按快捷键 F5),运行程序。(6)判断结果正确与否。#include void main()int a,b,sum;a=123;b=456;sum=a+b;printf(“a+b=%dn”,sum);填写运行结果:关闭上面的程序,按上面的步骤再次输入如下的程序,进行编译、连接和运行,写出运行结果。#include void main()int m=7,n=4;float a=38.4,b=6.4,x;x=m/2+n*a/b+1/2;printf(“%fn”,x);填写运行结果:思考思考:把前面的语句 x=m/2+n*a/b+1/2;改为 x=
3、m/2.0+n*a/b+1.0/2;运行结果将会是什么?2.2.程序改错题程序改错题程序改错程序改错 1 1:输入如下错误的程序,然后进行编译和连接,仔细检查并修改错误,再进行编译连接,直到没有错误为止。运行程序,#include void mian()printf(“We are studying C language!n)程序改错程序改错 2 2输入并运行下面一个需要在运行时输入数据的程序,程序要求从键盘输入三个实数,输出它们的和。#include mian()float a,b,c,sum;printf(Input a,b,c:)scanf(%f%f%f,&a,&b,c);sum=a+b
4、+c;printf(n sum=%fn,sum);输入该程序,然后进行编译和连接,如果出错,仔细检查并修改错误,再进行编译连接,直到没有错误为止。运行程序,按照输入输出示例提示输入a、b、c 三个变量的值,变量值之间用空格分隔,输入完毕按回车键【Enter】。查看运行结果,判断结果正确与否。Input a,b,c:3 5 6sum=14.0再次运行程序并按如下的格式输入数据,观察结果是否正确?为什么?Input a,b,c:3,5,6 sum=?输入输出示例输入输出示例:思考思考:改正程序的错误后,把 printf 语句中的%f 改成%d,再运行程序,有什么结果?Input a,b,c:3.5
5、,5.5,6.5结果:3.3.程序完整题程序完整题完整题完整题 1 1二整数整除程序模板如下:#include void main()int a,b,div;printf(Input a,b:);/*提示输入二个数*/scanf(%d%d,&a,&b);/*从键盘输入二个数存储在变量 a,b 中*/*除法运算,相除的结果放在变量 div 中*/输入输出示例输入输出示例:Input a,b:3 5div=0Input a,b:5 3div=1思考思考:把上述 int a,b,div;改成 float a,b,div;scanf(%d%d,&a,&b);中的%d 改成%f,同时把输出语句中的%d
6、改成%f,运行程序后,再用前面的数据输入,结果会发生如何变化?为什么有这样的变化?Input a,b:3,5div=Input a,b:5,3div=完整题完整题 2 2仿照教材中例仿照教材中例 1-21-2 程序,在横线地方填写语句程序,在横线地方填写语句,输入圆柱体的半径和高,计算并输出圆输入圆柱体的半径和高,计算并输出圆柱体的体积和表面积。柱体的体积和表面积。#include void main();/*定义变量*/printf(请输入圆的半径和高:n);/*在屏幕上显示提示信息*/scanf(%f%f,&r,&h);/*从键盘输入半径和高给变量 r*/*计算体积*/*计算表面积*/;p
7、rintf(v=%f,s=%fn,v,s);/*输出体积和表面积*/输入与输出输入与输出:请输入圆的半径和高:试一试试一试:如果把上述程序中所有的%f 改成%d,再次运行程序,仍然输入“5.0 8.0”,输出结果会是什么?分析结果。5.0 8.0输出结果?把上述程序中的第一个n 去掉,再编译运行程序,有什么变化?试说出n 的作用。2.52.5实验二实验二编写几个简单的编写几个简单的 C C 程序程序一、实验目的与要求一、实验目的与要求1.2.3.4.5.6.掌握 C 语言基本数据类型的概念,理解数据类型与运算的关系。掌握简单变量的定义,算术表达式和赋值表达式的使用。掌握基本输出语句的使用。进一
8、步熟悉 C 程序的编辑、编译、连接和运行的过程。掌握简单 C 程序查错方法,编写几个简单程序。实验 4 学时二、实验内容二、实验内容1.程序验证或填空(1 1)编译和运行下面程序,查看执行的结果:#includeint main(void)int si=-1;float f=5;double df=3;printf(si=%d,f=%f,f=%lfn,si,f,df);return 0;若把输出语句中的格式控制中的格式说明符的顺序改变一下,会有什么结果?再把%lf 修改为%f,运行会有什么结果?(2)分析程序,并上机运行验证运行结果#include“stdio.h”void main()pri
9、ntf(“t*n”);printf(“tb*n”);printf(“tbb*n”);(3)运行程序,并分析结果。#include“stdio.h”void main()int a=10,x=5,y=6;a+=a*=6;x=y+;y=+x;a=x+y;printf(“%d,%d,%dn”,a,x,y);(4)不用第 3 个变量,实现将二个数进行对调,请填空。#include“stdio.h”void main()int a,b;scanf(“%d%d”,&a,&b);printf(“a=%d b=%dn”,a,b);a=;b=;a=;printf(“a=%d b=%dn”,a,b);2.程序改错
10、改正下面程序中的多处错误。计算某个数x 的平方 y,并分别以“y=x*x”和“x*x=y”的形式输出 x 和 y 的值。x 的值由键盘输入。输出示例输出示例(假设 x 的值为 3):9=3*33*3=9源程序源程序(有错误的程序)#includeint main(void)int y;y=x*x;printf(%d=%d*%d,x);/*输出printf(d*%d=%d,y);3.一般编程题编程题 1编写程序,输入二个整数,计算它们的和、差、积、商和余数,并按 5+11=16 这样的输出格式输出结果。编程题 2编写程序,输入二个实数,计算它们的和、差、积、商,并按 32.24=12.2+20.
11、04 这样的输出格式输出结果。实数分别定义为单精度实数或双精度实数。编程题 3编写程序,从键盘输入一个大写字母,改用小写字母输出。编程题 4求华氏温度 150 对应的摄氏温度。计算公式如下,其中:c 表示摄氏温度,f 表示华氏温度。c 55 f 3299要求输出结果为:fahr=150,celsius=66思考:思考:如果使用公式c 5(f 32)计算华氏温度 150 所对应的摄氏温度,计算结果是9否一样?为什么?编程题 5编写程序,从键盘输入学生的三门课成绩,求其平均成绩(保留小数点后 1 位)。4.较难编程题编程题 1当 n 为三位十进制整数时,分别求出 n 的个位数字(digit1)、十
12、位数字(digit2)和百位数字(digit3)的值。这 里 增加 了 一个题目输出示例:输出示例:n 为整数 152 时,它的个位数字是 2,十位数字是 5,百位数字是 1提示:提示:n 的个位数字 digit1 的值是 n%10,十位数字 digit2 的值是(n/10)%10,百位数字 digit3 的值是 n/100。编程题 2将从键盘输入的实型十进制数分离为整数部分和小数部分后输出。如输入 233.55,输出为:233.55=233+0.55。编程题 3计算定期存款的本金与利息之和。设银行定期存款的年利率rate 为 2.25%,存款期为 n年,存款本金为 money 元,具体的数字
13、由键盘输入,编程计算n 年后的本金与利息之和(提示,利用 pow 函数)。3.53.5 实验三实验三 选择结构程序设计选择结构程序设计一、实验目的与要求一、实验目的与要求1.理解 C 语言表示逻辑量的方法,学会正确使用逻辑运算符和逻辑表达式。2.掌握利用 if 结构实现选择结构的方法。3.掌握利用 switch 结构实现多分支选择结构。4 结合程序掌握一些简单的算法,学习调试程序5 实验 4 学时二、实验内容二、实验内容1 1程序改错题程序改错题改正下面程序中的错误。输入实数x,计算并输出下列分段函数f(x)的值(保留 1 位小数)。1x(x 100)y f(x)x(x 100)输入输出示例输
14、入输出示例1 1(改正后程序的运行结果)Enter x:100f(100.00)=0.1输入输出示例输入输出示例2 2(改正后程序的运行结果)Enter x:23f(23.00)=23.0源程序源程序(有错误的程序)#include#includevoid main(void)double x;printf(Enterx:n);scanf(=%f,x);if(x=100)y=1/sqrt(x)else(x!=100)y=x;printf(f(%.2f)=%.1fn,x,y);2 2一般编程题一般编程题编程题编程题 1 1输入任意三个整数 a,b,c,求 3 个数中的最大值和最小值。编程题编程题
15、 2 2输入 x,计算并输出下面分段函数f(x)的值(保留 2 位小数)。请调用 sqrt 函数求平方根,调用 pow 函数求幂。(x1)22xf(x)1x(x 0)x(x 0)输入输出示例输入输出示例(共运行 3 次)Enter x:10f(10.00)=3.16Enter x:0.5f(0.50)=2.75Enter x:0f(0.00)=0.00成本编程题编程题 3 3有一函数:x(-5x0)y=x-1(x=0)x+1(0 x10)编写程序,要求用 scanf 函数输入 x 的值,输出 y 的值。具体要求如下:(1)用 if 语句实现分支,自变量和函数值均用实数类型。(2)自变量用 sc
16、anf 函数输入,给一些输入提示。(3)运行程序,输入 x 的值(分别为-5x0,x=0,0 x10)三种情况,检查输出的 y 值是否正确。编程题编程题 4 4某服装店经营成套服装的买卖,同时也允许单件销售。若一次购买不少于70 套,则每套 90 元;若不足70 套,则每套110 元;只买上衣每件70 元;只买裤子每条60 元。请编写程序假设用户买入 x 件上衣和 y 条裤子,请编写程序计算相应的应付款是多少?编程题编程题 5 5编写程序实现:输入一个整数,判断它能否被3、5、7 整除,同时输出如下信息。(1)能同时被 3、5、7 整除;(2)能同时被其中的哪二个数整除;(3)能被其中的哪一个
17、数整除;(4)不能被 3、5、7 任一个数整除。3 3较难编程题较难编程题编程题编程题 1 1请用 switch 语句编程计算员工每月的薪水。(exph3_1.cpp)已知某公司员工的保底薪水为 500,某月所接工程的利润 profit(整数)与提成的关系如下(计量单位:元):profit1000没有提成;1000profit2000提成 10%;2000profit5000提成 15%;5000profit10000提成 20%;10000profit提成 25%。分析:为使用 switch 语句,必须将利润 profit 与提成的关系,转换成某些整数与提成的关系。分析本题可知,提成的变化点
18、都是1000 的整数倍(1000、2000、5000、),如果将利润profit 整除 1000,则相邻两个区间的重叠。为解决相邻两个区间的重叠问题,最简单的方法就是:利润 profit 先减 1(最小增量),然后再整除 1000 即可:profit1000对应 01000profit2000对应 12000profit5000对应 2、3、45000profit10000对应 5、6、7、8、910000profit对应 10、11、12、编程题编程题 2 2编写程序实现如下功能:输入二个运算数(exp1,exp2)和一个运算符(op),计算表达式 exp1 op exp2 的值,其中 OP
19、 可以为+、-、*、/、%五个符号中的任一种(提示:用 switch 语句实现)。4.54.5 实验四实验四循环结构程序设计循环结构程序设计一、实验目的与要求一、实验目的与要求1 熟练掌握用 while 语句,do-while 语句实现循环的方法。2 熟练掌握用 for 语句实现循环的方法。3 对循环语句的三种形式进行分析、比较,以掌握各种形式的共同之处与其特点。4 掌握循环结构的嵌套,掌握break 语句和 continue 语句在循环体中的作用。5 实验 4 学时二、实验内容二、实验内容1.程序验证题与改错题(1)程序验证从键盘输入一个整数,在屏幕上将其逆序数输入,例如输入8193,输出
20、3918。#includevoid main()int x,number;printf(请输入一个整数:);scanf(%d,&x);dox=number%10;number=number/10;printf(%d,x);while(number!=0);printf(n);如果输入的是一个负整数,程序应该如何改?(2 2)程序改错)程序改错计算表达式 1+2!+3!+10!的值,改正下面程序中的多处错误。源程序源程序(有错误的程序)#includevoid main(void)int sum1,sum2,i,j;for(i=1;i10;i+)for(j=1,jb)swap(a,b);prin
21、tf(“%dt%d”,a,b);思考:为什么 a,b 的值没有交换?调用函数 fun 计算:m=1+2+3+4+9+10,并输出结果。请验证下面的程序是否符合题目要求。#include”stdio.h”int fun(intn)intm,i;for(i=1;i=n;i+)m+=i;returnm;void main()printf(m=%dn,fun(10);在上面程序的基础上,修改程序.计算 m=1-2+3-4+9-10。(2)程序改错题下列程序的功能是利用自定义函数计算一无符号的整数各位数字的乘积。#includeunsigned f(unsigned num)unsigned k=0;d
22、ok*=num/10;num/=10;while(k);return k;void main()int x;printf(“input x=:n”);scanf(“%d”,x);printf(“%d”,f(x);2 2一般编程题一般编程题编程题编程题 1 1编写一函数,把输入的 4 个数字字符转换成一个int 数据存放,如输入 4123 这字符转换为 4123 这个整数,并通过主函数验证结果。编程题编程题 2 2编写程序求:1*1*1+2*2*2+3*3*3+4*4*4+5*5*51*1*1+2*2*2+3*3*3+4*4*4+5*5*5提示:主函数用来现实结果,f1()函数用来求一个数的立方
23、,f2()函数用来求和。#include int f1(int n)int f2(int m)void main()编程题编程题 3 3 定义两个带参数的宏,将两个参数的值相加和相减,并写出程序,输入两个数作为使用宏时的实参。输出相加和相减后的和与差。编程题编程题 4 4编程输出 2 到 10000 之间的所有完数。所谓完数是指因子之和与它本身相等的数。如6=1+2+3,6 是一个完数。要求:定义函数 factor(m)判断 m 是否为完数;由主函数调用它,来对所有 2 到 10000 之间的所有数进行判断。#include#include int factor(int m)int i,s=0
24、;void main()inti,m,sum;3较难编程题编程题编程题 1 1 用函数调用实现求两个数的最大公因子和最小公倍数编程题编程题 2 2 用递归方法求 1+2+3+并将其中素数去除后之和。#include#include int isprime(int number)long fact(int n)void main()int m,sum;6.46.4实验六实验六 数组数组一、一、实验目的与要求实验目的与要求1.掌握一维数组的定义、赋值和输入输出的方法。2.理解一维数组的存储方法及下标的表示方法。3.掌握与数组有关的算法(特别是排序算法)。4.掌握二维数组的定义、赋值和输入输出的方法
25、。5.理解二维数组的存储方法及下标的表示方法。6.实验 4 学时。二、实验内容二、实验内容1程序验证题与改错题这里有改动(1)程序验证题 给定一个整型数组 a,要求求出其中小于 0 的元素的个数。请验证下面的程序是否符合题目要求。#define N 10void main()int aN=11,2,4,-1,5,-3,-66,0,10,-5;int i;/*变量 i 用于 for 循环*/int count=0;/*变量 count 用于技术,初始化为 0*/for(i=0;iN;i+)if(ai0)count+;/*如果元素 ai0,count 计数+1*/printf(%dn,count)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 实验 电子
限制150内