收藏 分销(赏)

C语言程序设计实验电子稿.docx

上传人:二*** 文档编号:4518807 上传时间:2024-09-26 格式:DOCX 页数:33 大小:90KB
下载 相关 举报
C语言程序设计实验电子稿.docx_第1页
第1页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、1.3 一、实验目的与要求1. 学会使用Visual C+集成开发环境。2掌握简单C程序的编写、编辑、编译、连接和运行。3初步学会Visual C+环境下简单调试C程序的方法。二、实验内容1翻开VC+6.0环境。2在VC+6.0环境的编辑窗口中,输入如下程序保存为myexp1_1.cpp。3选择 【组建】【编译 myexp1_1.cpp】可按快捷键CTRL+F7命令对程序进行编译。4 选择【组建】【组建】按快捷键F7命令对程序进行连接。5 单击【!】按钮或选择【组建】【执行】菜单项(按快捷键F5),运行程序。6 判断结果正确与否。#include void main() int a, b, s

2、um;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=m/2.0+n*a/b+1.0/2;运行结果将会是什么?2.程序改错题 程序改错1: 输入如下错误的程序,然后进行编译和连接,仔细检查并修改错误,再进行编译

3、连接,直到没有错误为止。 运行程序, #include void mian( ) printf(“We are studying C language!n) 程序改错2输入并运行下面一个需要在运行时输入数据的程序,程序要求从键盘输入三个实数,输出它们的和。#include mian( ) float a,b,c,sum;printf( Input a,b,c: )scanf(%f %f %f,&a,&b, c);sum=a+b+c;printf(n sum=%fn,sum); 输入该程序,然后进行编译和连接,如果出错,仔细检查并修改错误,再进行编译连接,直到没有错误为止。 运行程序,按照输入输

4、出例如提示输入a、b、c三个变量的值,变量值之间用空格分隔,输入完毕按回车键【Enter】。 查看运行结果,判断结果正确与否。输入输出例如:Input a,b,c:3 5 6再次运行程序并按如下的格式输入数据,观察结果是否正确?为什么?Input a,b,c: 3,5,6 sum=?思考: 改正程序的错误后,把printf语句中的%f改成%d,再运行程序,有什么结果?Input 结果: 完整题1二整数整除程序模板如下:#include void main( ) int a,b, div; printf( Input a,b: ); /*提示输入二个数*/scanf(%d%d,&a,&b); /

5、*从键盘输入二个数存储在变量a,b中*/ /*除法运算,相除的结果放在变量div中*/ /*用%d输出结果*/ 输入输出例如: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改成%f,运行程序后,再用前面的数据输入,结果会发生如何变化?为什么有这样的变化?Input a,b:3,5div=Input a,b:5,3div=完整题2仿照教材中例1-2程序,在横线地方填写语句,输入圆柱体的半径和高,计算并输出圆柱体的体积和外表积。

6、#include void main( ) ; /* 定义变量*/ printf(请输入圆的半径和高:n); /*在屏幕上显示提示信息*/ scanf(%f%f, &r,&h); /* 从键盘输入半径和高给变量r*/ ; /* 计算体积*/ ;/* 计算外表积*/ printf(v=%f,s=%fn, v,s) ; /* 输出体积和外表积*/ 输入与输出:请输入圆的半径和高:输出结果?试一试:如果把上述程序中所有的%f改成%d,再次运行程序,仍然输入“,输出结果会是什么?分析结果。把上述程序中的第一个n去掉,再编译运行程序,有什么变化?试说出n的作用。2.5 实验二 编写几个简单的C程序一、实

7、验目的与要求1. 掌握C语言根本数据类型的概念,理解数据类型与运算的关系。2. 掌握简单变量的定义,算术表达式和赋值表达式的使用。3. 掌握根本输出语句的使用。4. 进一步熟悉C程序的编辑、编译、连接和运行的过程。5. 掌握简单C程序查错方法,编写几个简单程序。6. 实验4学时二、实验内容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; 假设把输出语句中的格式控制中的格式说

8、明符的顺序改变一下,会有什么结果? 再把%lf修改为%f,运行会有什么结果?2分析程序,并上机运行验证运行结果 #include “ void main( ) printf(“t*n); printf(“tb* * *n); printf(“tbb * * * * *n); (3) 运行程序,并分析结果。 #include “ 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 “ void main( ) in

9、t 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.程序改错改正下面程序中的多处错误。计算某个数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);编程题1 编写程序,输入二个整数,

10、计算它们的和、差、积、商和余数,并按5+11=16这样的输出格式输出结果。编程题2 编写程序,输入二个实数,计算它们的和、差、积、商,并按32.24=12.2+20.04这样的输出格式输出结果。实数分别定义为单精度实数或双精度实数。编程题3 编写程序,从键盘输入一个大写字母,改用小写字母输出。编程题4 求华氏温度150 对应的摄氏温度。计算公式如下,其中:c表示摄氏温度,f表示华氏温度。要求输出结果为: fahr = 150,celsius = 66思考:如果使用公式计算华氏温度150 所对应的摄氏温度,计算结果是否一样?为什么?编程题5 编写程序,从键盘输入学生的三门课成绩,求其平均成绩保存

11、小数点后1位。4.较难编程题编程题1 当n为三位十进制整数时,分别求出n的个位数字digit1、十位数字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年,存款本金为mo

12、ney元,具体的数字由键盘输入,编程计算n年后的本金与利息之和(提示,利用pow函数)。3.5 实验三 选择结构程序设计一、实验目的与要求1. 理解C语言表示逻辑量的方法,学会正确使用逻辑运算符和逻辑表达式。2. 掌握利用if结构实现选择结构的方法。3. 掌握利用switch结构实现多分支选择结构。4 结合程序掌握一些简单的算法,学习调试程序5 实验4学时二、实验内容1程序改错题改正下面程序中的错误。输入实数x,计算并输出以下分段函数f(x)的值保存1位小数。 输入输出例如1改正后程序的运行结果Enter x:100输入输出例如2改正后程序的运行结果Enter x:23f(23.00= 23.

13、0源程序有错误的程序#include#includevoid main(void)double x;printf(Enter x: n);scanf(=%f, x);if(x = 100) y = 1/sqrt(x)else (x != 100) y = x;printf(f(%.2f) = %.1fn,x,y);2一般编程题编程题1 输入任意三个整数a,b,c,求3个数中的最大值和最小值。编程题2输入x,计算并输出下面分段函数f(x)的值保存2位小数。请调用sqrt函数求平方根,调用pow函数求幂。 输入输出例如共运行3次Enter x:10Enter x:Enter x:0本钱 编程题3有

14、一函数: x -5x0 y= x-1 (x=0) x+1 (0x10)编写程序,要求用scanf函数输入x的值,输出y的值。具体要求如下:1用if语句实现分支,自变量和函数值均用实数类型。2自变量用scanf函数输入,给一些输入提示。3运行程序,输入x的值分别为-5x0,x=0,0x10三种情况,检查输出的y值是否正确。编程题4 某服装店经营成套服装的买卖,同时也允许单件销售。假设一次购置不少于70套,那么每套90元;假设缺乏70套,那么每套110元;只买上衣每件70元;只买裤子每条60元。请编写程序假设用户买入x件上衣和y条裤子,请编写程序计算相应的应付款是多少?编程题5编写程序实现:输入一

15、个整数,判断它能否被3 、5 、7整除,同时输出如下信息。(1) 能同时被3 、5 、7整除;(2) 能同时被其中的哪二个数整除;(3) 能被其中的哪一个数整除;(4) 不能被3 、5 、7任一个数整除。3较难编程题编程题1请用switch语句编程计算员工每月的薪水。(exph3_1.cpp) 某公司员工的保底薪水为500,某月所接工程的利润profit整数与提成的关系如下计量单位:元: profit1000 没有提成;1000profit2000提成10%;2000profit5000提成15%;5000profit10000提成20%;10000profit 提成25%。分析:为使用swi

16、tch语句,必须将利润profit与提成的关系,转换成某些整数与提成的关系。分析此题可知,提成的变化点都是1000的整数倍1000、2000、5000、,如果将利润profit整除1000,那么相邻两个区间的重叠。为解决相邻两个区间的重叠问题,最简单的方法就是:利润profit先减1最小增量,然后再整除1000即可: profit1000 对应0 1000profit2000对应1 2000profit5000对应2、3、4 5000profit10000对应5、6、7、8、910000profit对应10、11、12、编程题2编写程序实现如下功能:输入二个运算数exp1,exp2和一个运算符

17、(op),计算表达式exp1 op exp2的值,其中OP可以为+、-、*、/、%五个符号中的任一种提示:用switch语句实现。 4.5 实验四 循环结构程序设计一、实验目的与要求1 熟练掌握用while语句,do-while语句实现循环的方法。2 熟练掌握用for语句实现循环的方法。3 对循环语句的三种形式进行分析、比拟,以掌握各种形式的共同之处与其特点。4 掌握循环结构的嵌套,掌握break语句和continue语句在循环体中的作用。5 实验4学时二、实验内容1. 程序验证题与改错题1程序验证从键盘输入一个整数,在屏幕上将其逆序数输入,例如输入8193,输出3918。#includevo

18、id main() int x,number; printf(请输入一个整数:); scanf(%d,&x); do x=number%10; number=number/10; printf(%d, x); while(number!=0); printf(n);如果输入的是一个负整数,程序应该如何改?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); printf(“%dt %d, a,

19、b);思考:为什么a,b的值没有交换? 调用函数fun计算:m=1+2+3+4+9+10,并输出结果。请验证下面的程序是否符合题目要求。#includestdio.hint fun(int n) int m, i;for (i=1; i=n; i+) m+=i;return m;void main() printf(m=%dn, fun(10);在上面程序的根底上,修改程序. 计算m=1-2+3-4+9-10。2程序改错题 以下程序的功能是利用自定义函数计算一无符号的整数各位数字的乘积。#includeunsigned f(unsigned num) unsigned k=0; do k*=n

20、um/10; num/=10; while(k); return k; void main() int x; printf(“input x=:n); scanf(“%d, x); printf(“%d, f(x);2一般编程题编程题1 编写一函数,把输入的4个数字字符转换成一个int数据存放,如输入4123这字符转换为4123这个整数,并通过主函数验证结果。编程题2 编写程序求:1*1*1+2*2*2+3*3*3+4*4*4+5*5*5提示:主函数用来现实结果,f1( )函数用来求一个数的立方,f2( )函数用来求和。#include int f1(int n)int f2(int m)vo

21、id main() 编程题3 定义两个带参数的宏,将两个参数的值相加和相减,并写出程序,输入两个数作为使用宏时的实参。输出相加和相减后的和与差。编程题4 编程输出2到10000之间的所有完数。所谓完数是指因子之和与它本身相等的数。如6=1+2+3,6是一个完数。要求:定义函数 factor(m) 判断m是否为完数;由主函数调用它,来对所有2到10000之间的所有数进行判断。#include #include int factor(int m) int i,s=0; void main() int i,m,sum; 3较难编程题编程题1 用函数调用实现求两个数的最大公因子和最小公倍数编程题2 用

22、递归方法求1+2+3+并将其中素数去除后之和。#include #include int isprime (int number) long fact(int n) void main() int m,sum; 实验六 数组一、 实验目的与要求1. 掌握一维数组的定义、赋值和输入输出的方法。2. 理解一维数组的存储方法及下标的表示方法。3. 掌握与数组有关的算法(特别是排序算法)。4. 掌握二维数组的定义、赋值和输入输出的方法。5. 理解二维数组的存储方法及下标的表示方法。6. 实验4学时。这里有改动二、实验内容1程序验证题与改错题1程序验证题 给定一个整型数组a,要求求出其中小于0的元素的个

23、数。请验证下面的程序是否符合题目要求。#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); 给定一个整型二维数组a(3,3),要求求出对角线元素的和。请验证下面的程序是否符合题目要求。#include #define N 3void main() int aNN=1,2,3,

24、4,5,6,7,8,9; int i,j; /*变量i,j用于for循环*/ int sum=0; /*变量sum用于求和,初始化为0*/ for (i=0;iN;i+)for(j=0;jN;j+) if (i=j)sum+=aij; /*如果是对角线元素,sum+aij*/ printf(%dn,sum); return 0;注1:在程序验证题的根底上,修改程序,求出数组a中大于a0的元素之和。注2:对上述程序进行优化,消除内循环,实现同样的效果。在 的根底上,修改程序,求出数组a中反对角线元素之和。提示:内循环用逆序;i+j=N-1。2程序改错题2一般编程题编程题1:从键盘输入10个整型数

25、据,放入数组a 中,求其最大值、最小值及其所在元素的下标位置,并输出。程序提示:定义10个元素的数组,用for循环语句逐一输入数据;定义最大值变量和最小值变量,用for循环语句遍历所有数组元素,逐一比拟查找最大值和最小值。编程题2:给定一个字符数组a,要求将数组的内容倒置。如:执行前数组的内容为1,2,3,4,5,6,7,8执行后数组的内容为8,7,6,5,4,3,2,1提示:用i表示数组的第一个元素的下标;用j表示数组最后一个元素的下标。 交换ai和aj,当ie。假设找到相等元素,那么返回元素下标,否那么返回-1表示无此数。7.4 实验七 字符与字符串处理一、实验目的与要求1. 掌握C语言字

26、符型数据的概念,理解字符型与整型数据之间的关系。2. 掌握字符的输入与输出。3. 掌握转义字符常量、字符串常量的使用。4. 掌握字符、字符串与字符数组的输入与输出。5. 掌握字符串函数的使用字符串数组的使用。6. 实验课时2学时二、实验内容1程序改错题 调试以下程序,使之具有如下功能:任意输入两个字符串(如:ningbo和china),并存放在a,b两个数组中。然后把较短的字符串放在a数组,较长的字符串放在b数组。并输出。程序中的strlen是库函数,功能是求字符串的长度,它的原型保存在头文件string.h中。调试时注意库函数的调用方法,不同的字符串输入方法,通过错误提示发现程序中的错误。#

27、include #includevoid main()char a10,b10,ch;int c,d,k;scanf(%s,&a);scanf(%s,&b); /* error */printf(a=%s,b=%sn,a,b);c=strlen(a);d=strlen(b);if(cd)for(k=0;kd;k+) /* error */ch=ak;ak=bk;bk=ch;ak=0; /* error */printf(a=%sn,a);printf(b=%sn,b); 以下给定程序中,函数fun的功能是:依次取出字符串中所有数字字符,形成新的字符串,并取代原字符串。请改正函数fun中的错误,

28、使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include void fun(char *s) int i,j; for(i=0;j=0;sj!=0;i+) /* error */ if(si=0 & si=9) sj+=si; sj=0”; /* error */void main() char item80; printf(nEnter a string :); gets(item); printf(nnThe string is : %sn,item); fun(item); printf(nnThe string of changing is : %sn,item);编程题1请编一个函数fun(char*s),该函数的功能是把字符串中的内容逆置。例如:字符串中原有的字符串为abcdefg,那么调用该函数后,串中的内容为gfedcba。注意:局部源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的假设干语句。#include string

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服