C语言实验指导书全教程_第1页
C语言实验指导书全教程_第2页
C语言实验指导书全教程_第3页
C语言实验指导书全教程_第4页
C语言实验指导书全教程_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 第一部分:C语言程序设计实验教学大纲一、本实验课的性质、任务与目的本实验课目的是使学生掌握C语言编程的常用方法,以任务驱动教学法,重点培养学生的编程能力,为以后学习后继专业课程和进行软件开发打下基础。通过学习能够运用C语言中的各个知识点编写能完成一定功能的程序。训练学生进行复杂程序设计的技能和培养良好程序设计的习惯,实验教学是培养应用型人才的重要环节,其重要程度决不亚于知识的传授。把高级语言的学习与程序设计、上机实践紧密地结合起来,以提高学生能灵活运用新的知识分析问题和解决问题的能力。二、本实验课所依据的课程基本理论本实验课基于C语言的语法和词法规则、数据的表示及算法的处理,而语法及算法正是

2、高级语言程序设计的主要研究对象。C语言程序设计的主要任务是:C 语言是一种应用广泛结构化程序设计语言,本课程介绍C语言的基本概念、基本语法和编程方法,重点描述C语言的结构化的特征,并通过本课程的学习,使学生掌握一定的结构化程序设计的知识,以及用C语言编写程序的能力。三、实验类型与要求在做每个实验之前,让学生对本次实验相关的内容进行预习、算法设计、流程图的设计、编写程序,做好实验的准备工作;写出预习报告,画出流程图,要求独立完成。序号实 验名 称内 容提 要每组人数实验时数实验要求实验类别备注1熟悉C语言运行环境简单的C程序编译、运行12必做验证性2顺序结构程序设计含输入输出语句的简单程序14必

3、做验证性3选择结构程序设计ifswitch语句运用14必做验证性4循环结构程序设计whiledo-whilefor语句的运用16必做验证性5数组的定义及其应用一维、二维、字符数组的定义与运用14必做验证性6函数的定义及其应用函数的定义、调用与使用14必做验证性7结构体的定义及其应用结构体类型及其变量、结构体数组14必做验证性8指针的定义及其应用指针变量的定义及多方面的应用12必做验证性9文件的应用磁盘文件的操作12必做验证性10综合性实验软件系统小程序18必做综合性四、每组人数与实验学时数每组1人,实验共40学时 五、考核方式与评分办法 实验总成绩=出勤情况*10%+实验报告*20%+平时*3

4、0%+实验内容*40%六、本实验课配套教材或实验指导书教材:苏小红主编.C语言大学实用教程,电子工业出版社,十一五国家级规划教材,2008 .7参考书:1何钦铭,颜晖主编.C语言程序设计,高等教育出版社,十一五规划教材,2008 .12颜晖主编.C语言程序设计实验指导,高等教育出版社,2008.13张引,何钦铭等. C程序设计基础课程设计,浙江大学出版社,2007.94谭浩强. C程序设计题解与上机指导.北京:清华大学出版社.2006年3月第3版5谭浩强. C程序设计试题汇编.北京:清华大学出版社.2006年3月第2版6夏宽理. C语言程序设计.北京:中国铁道出版社.2006年2月第1版7夏宽

5、理. C语言程序设计上机指导与习题解答.北京:中国铁道出版社.2006.28王士元. C高级实用程序设计.北京:清华大学出版社.1996年1月第1版9谭浩强. C程序设计.北京:清华大学出版社.2006年3月第3版七、实验报告要求上机实验目的在于:通过验证课本中的内容及自己编写的程序,加深对课本中词法、语法的掌握;熟悉所用的C语言开发环境;上机调试自己的程序,学会编程,重要是能上机调试通过,调试经验是通过自己的直接实践来累积。上机实验的要求:课前准备好上机所要的程序源代码;上机输入和调试自己的程序,努力独立完成调试过程,自行解决编译错误;实验结束,认真编写实验报告在机器上运行程序代码,每次实验

6、成绩分为优、良、及格、不及格,未参加的为0分。要求认真编写实验报告。报告内容应包含以下内容:1实验题目2实验目的和要求3解题思路4调试过程(实验过程出现的问题及解决的方法或尚未解决的问题)5程序代码及运行结果6实验结果分析 7. 教师评语第二部分:C语言程序设计的运行环境VC+6.0-VC+ 6.0集成开发环境的使用在众多的面向对象程序设计语言中,Microsoft公司的VC+6.0 独树一帜,是一个集程序编辑、编译、连接和调试于一体的C语言程序开发环境。在Windows环境下,操作方便。VC环境中运行C语言源程序的步骤1、启动Visual C+6.0开发环境2、创建一个项目(1)在Visua

7、l C+6.0开发环境主窗口,单击File菜单中的New选项,显示一个New对话框,如下: (2)单击Projects,选择Win32 Console Applocation,并在右侧相应的文本框中填入项目的路径和名称 (3)在弹出的Win32 Console Applocation-Step 1 of 1对话框中选择An empty project单选项,然后单击Finish.(4)最后在New Project Information对话框中单击OK。3、建立C源程序文件 (1)选择菜单命令Project | Add to Project | New,弹出New对话框。(2)在New对话框的

8、Files中选择C+ Source File ,并写入文件名,单击OK4、编辑C语言源程序 (1)在文件编辑窗口中输入源代码(2)选择File | Save,保存程序 5、建立并运行可执行程序 (1)选择菜单命令Build | Build Filename.ext建立可执行文件 (2)选择菜单命令Build | Execute Filename.exe运行程序,观察显示的内容 6、关闭工作空间 选择菜单命令File | Close Workspace关闭工作空间。 例:从键盘上输入两个整数,输出两者中的较大数。 1、新建一CPP文件后,在编辑窗口输入源代码如下: 2、编译、连接后,从键盘上输入

9、12,34 ,则可查看程序运行结果: 第三部分:实验内容实验一:熟悉VC+6.0运行环境【目的与要求】 1、了解VC环境下C语言的运行环境,熟悉编译系统的操作环境。2、了解在该系统上如何编辑和运行一个C程序。3、通过运行简单的C程序,初步了解运行C语言程序的操作过程。【实验内容】1、题目:由键盘输入两个整数,计算并输出两个数之和。2、程序代码: #include “stdio.h” void main() int a,b,sum;printf(“Please input two integer numbers:n”);scanf(“%d%d”,&a,&b);sum=a+b;printf(“%d

10、+%d=%d”,a,b,sum); 3、具体操作: (1)输入程序,按Ctrl+F9。若在运行后有词法或语法错误,则根据提示进行修改,再进行调试,直到没有语法错误。 (2)运行后,依下列不同的方式输入数据,查看程序执行结果。 1234 12 34 1234 【实验分析与讨论】 1、总结C程序的基本结构和书写规则。2、分析调试过程中常见的错误提示和解决策略。3、掌握调试过程中问题解决的方法和思路【DIY】一、 改错:实现求三个数的平均值。#include void main() float a,b,c,sum; float average; a=10; b=20; c=35; average=s

11、um/3; printf(“the average is %4d”,average);二、 填空:实现从键盘中读取两个浮点型数据,相乘之后输出结果,要求结果须保留4位小数。#include“stdio.h”void main() _1_ a,b,c; printf(“please enter two numbers”); scanf(“%f%f”,&a,&b);c=_2_; printf(“c=_3_”,c);三、 编程 1、编写程序,实现对两个整数进行求和。2、编写程序,在屏幕上显示如下图案。 * * * * * * * *3、菜单制作。请在屏幕上显示下列菜单信息。 =Main Menu=

12、1-Input 2-Calculate 3-Display Result实验二:顺序结构程序设计【目的与要求】 1、掌握三种基本数据类型(int、float、char)变量的定义。2、掌握算术运算符、赋值运算符及其表达式的应用。3、掌握C语言中的语句及顺序结构程序设计【实验内容】一、求出含有两个实根(b2-4ac=0)的一元二次方程ax2+bx+c=0的解。1、程序分析:(1)定义变量:a,b,c,x1,x2,delta(2)输入a,b,c(3)计算delta= b2-4ac (设delta=0) x1=(-b+sqrt(delta)/(2*a) x2=(-b-sqrt(delta)/(2*a

13、)2、程序代码:#include “stdio.h” #include “math.h”void main() float a,b,c,x1,x2;float delta; printf(“Please input the three coef.:n”); scanf(“%f%f%f”,&a,&b,&c); delta=b*b-4*a*c;x1=(-b+sqrt(delta)/(2*a);x2=(-b-sqrt(delta)/(2*a);printf(“The roots are:nx1=%4.2f,x2=%4.2f”,x1,x2);3、具体操作: (1)输入程序,按Ctrl+F9。若在运行后

14、有词法或语法错误,则根据提示进行修改,再进行调试,直到没有语法错误。 (2)运行后,根据提示输入方程的三个系数值,键入回车,查看程序执行结果。注:输入浮点型系数方法同实验一。二、输出特殊图案,请在c环境中运行,看一看,Very Beautiful!1、程序分析:字符共有256个。不同字符,图形不一样。2、程序代码:#include stdio.h void main( ) char a=176,b=219;printf(%c%c%c%c%cn,b,a,a,a,b); printf(%c%c%c%c%cn,a,b,a,b,a);printf(%c%c%c%c%cn,a,a,b,a,a);prin

15、tf(%c%c%c%c%cn,a,b,a,b,a);printf(%c%c%c%c%cn,b,a,a,a,b); /*运行程序,观察结果*/【实验分析与讨论】 1、总结C程序的顺序结构程序的编写及调试方法。2、分析调试过程中常见的错误提示和解决策略。【DIY】一、改错#include void main() int a,b,ab,ac,c;,printf(“pleasse enter 3 numbers:”)scanf(“%d,%d,%f”;&a,&b,&c);ab=a+b;ac=a*c;printf(“a+b+c=%dn”,&ab+c);printf(“a*b*c=%dn”,&ac*b);二

16、、请写出下面程序的运行结果 #include stdio.hvoid main() int a=10; long int b=10; float c=10.0; double d=10.0;printf(%dn%ldn%fn%lfn,a,b,c,d);printf(%dn%ldn%fn%lfn,b,a,d,c);printf(%dn%fn%lf,c,c,c);三、编程1、定义两个float类型数据,求和并将结果分别以“sum=?”和”?+?=?”形式输出。 如:float a=3.4,b=9.0; 结果显示: (1)sum=12.40 (2)3.4+9.0=12.402、输入两个数num1和n

17、um2,计算并输出它们的和、差、积、商与余数。3、计算银行存款的本息。输入存款金额 money、存期 year 和年利率 rate,根据公式计算存款到期时的本息合计sum(税前),输出时保留2位小数。公式:sum = money ( 1 + rate)year提示:幂函数ax用库函数pow(a,x)来计算。实验三:选择结构程序设计【目的与要求】 1、了解分支结构的两条语句if和switch语法。2、掌握关系运算符和逻辑运算符的运用3、熟练掌握if语句和switch语句的应用【实验内容】一、 给出下列分段函数的计算程序代码。根据输入的x的值,计算出y的值,并输出。 (x+5)2+3x (x0)

18、y= 0 (x=0)(x-5)2-3x (x0) y=(x+5)*(x+5)+3*x;else if(x=0) y=0; else y=(x-5)*(x-5)-3*x; printf(“x=%.2f y=%.2fn”,x,y);二、判断方程ax2+bx+c=0有几个解,若有,则输出其解。 1、程序分析:对于方程ax2+bx+c=0的解,存在以下情况:a=0,不是一元二次方程;b2-4ac=0,有两个相等的实根;b2-4ac0,有两个不等的实根;b2-4ac0) x1=(-b+sqrt(delta)/(2*a); x2=(-b-sqrt(delta)/(2*a); else x1=(-b+sqr

19、t(-delta)i)/(2*a); x2=(-b-sqrt(-delta)i)/(2*a);2、程序代码:#include “stdio.h” #include “math.h”void main() float a,b,c,x1,x2,d; float q,p; printf(“Please input the three coef.:n”); scanf(“%f%f%f”,&a,&b,&c); if (a=0) printf(“Error!n”); else delta=b*b-4*a*c;if (delta=0) printf(“The two equal roots are:x1,x

20、2=%4.2f”,-b/(2*a);else if(delta0) x1=(-b+sqrt(d)/(2*a);x2=(-b-sqrt(d)/(2*a);printf(“The two actual roots are: x1=%4.2f,x2=%4.2f”,x1,x2);else /* sqr(b)-4*a*cb)&(ac)if(bc) printf(“min=%dn”,b);else printf(“min=%dn”,c);if(ab)&(ac) printf(“min=%dn”,a);二、程序填空#includevoid main()int year,month,days;printf(“

21、enter year and month:”);scanf(“%d%d”,&year,&month);switch(_1_) case 1: case 3: case 5: case 7: case 8: case 10: case 12: days=31;break;case 4: case 6: case 9: case 11: days=30;break; case 2: if(_2_) days=29;else days=_3_;_4_;default:printf(“input error!n”); days=0;if(_5_) printf(“%d,%d is %d days n”

22、,year,month,days);三、编程1、(1)输入一个数,判断其是否为5的倍数。 (2)输入一个数,判断它的奇偶性。 (3)输入一个数,显示它的绝对值。2、输入2个数(3个数),按从小到大的顺序显示到显示器。3、输入5个数,找出其中最大的数,并输出到显示器。4、出租车收费。某城市普通出租车收费标准如下:起步里程3公里,起步费用10元;超起步里程后10公里内,每公里租费2元;超过10公里以上的部分加50%的回空补贴费,即每公里租费3元。营运过程中,因路阻及乘客要求临时停车的,每5分钟按1公里租费计收。运价计费尾数四舍五入,保留到元。编写程序,输入行驶里程(公里)与等待时间(分钟),计算并

23、输出乘客应支付的车费(元)。5、输入学生的百分制成绩score,按下列定义输出等级。等级划分:A(90100)、B(7089)、C(6069)、D(059)实验四:循环结构程序设计【目的与要求】 1、掌握三种循环语句在编程中的使用。2、理解break语句和continue语句在循环结构中的不同作用。3、了解循环的嵌套调用过程。4、掌握分支、循环嵌套在程序设计中的应用。【实验内容】一、 求下列表达式的值。 1/3+3/5+5/7+n/(n+2) /n为任意一个奇数1、程序分析:从上述表达式的形式看,当n确定下来之后,我们就从1/3开始,按照式子中给出的规律,一直累加到n/(n+2)2、 程序代码

24、:#include “stdio.h”void main()float i,n,sum=0.0; printf(“Please input an odd:n”); scanf(“%f”,&n); for(i=1;i=n;i=i+2)sum=sum+i/(i+2); printf(“%.2f”,sum);二、输入两个正整数,求出它们的最大公约数与最小公倍数。1、算法分析: 辗转相除法对于两个数m和n,用n去除m,若余数为0,则n为最大公约数,否则将n作为m,余数作为n,再用n去除m,直到余数为0,则n为最大公约数。2、程序代码: #include “stdio.h” #include “math

25、.h” void main() int m,n,t,max,min;printf(“Please input two integer numbers:n”);scanf(“%d%d”,&m,&n); min=m*n;while(n!=0) t=m%n;m=n;n=t;printf(“最大公约数为:%dn”,m);printf(“最小公倍数为:%dn”,min/m);三、将一张100元钱,换成10元,20元,50元零钱,问有多少种不同的换法(假设三种零钱每种都可不出现)。1、算法分析 运用穷举算法实现:考虑到三种零钱各种可以不出现,则各自的张数范围如下: 10元-0张 到 10张 20元-0张

26、到 5张 50元-0张 到 2张 并且要考虑到共数只有一张100元票子。2、程序代码: #include stdio.h void main() int Tencount,Twecount,Fifcount,i=0; for(Tencount=0;Tencount=10;Tencount+) for(Twecount=0;Twecount=5;Twecount+) for(Fifcount=0;Fifcount=2;Fifcount+) if (Tencount*10+Twecount*20+Fifcount*50=100) printf( No-%d:10%d 20%d 50%dn,+i,T

27、encount,Twecount,Fifcount); 【实验分析与讨论】 1、分析总结for语句,while语句,do-while语句的用法。2、巧用break语句和continue语句。3、 三种结构的程序嵌套设计。4、 多完成小综合性实验。【DIY】一、改错#include “stdio.h”void main() int t,s,i,n; scanf(“%d”,&n); for(i=1;i=n;i+) t=1/I; s=s+t; printf(“s=%fn”,s);二、程序填空有以下程序: s=1.0; for(k=1;k=n;k+) s=s+1.0(k+1); printf(“%fn

28、”,s);填空完成下述程序,使之与上述程序的功能完全相同。s=0.0;_1_k=0;do s=s+d; _2_ d=1.0/(k*(k+1); while(_3_) printf(“%fn”,s);三、编程1、输出2100之间的所有质数(两种方法)。 *2、求1100之间,能被5整除的数之和。 * * *3、输出一有规则的图形,如右图。 * * * * * 4、求下列表达式的值: * * *(1) 1/2-2/3+3/5-+n/(n+1) (n为奇数) * 1/2-2/3+3/5-n/(n+1) (n为偶数)(2)a+aa+aaa+aaaa+ (如:a=3,n=4 则表达式为:3+33+333

29、+3333)(3)1!+2!+3!+4!+n!5、Fibonacci数列的输出,Fibonacci数列中的每项数据定义的规则如下: 即:1 1 2 3 5 8 13 21 请输出前20项数据,并每行显示5个数。6、(1)输入一个整数,输出它的位数。如:输入126,输出3。 (2)输入一个整数(long),从高位开始逐位分割并输出(或反序输出)。例如:输入123456,逐位输出:1、2、3、4、5、6。 (3)请输出所有三位数中的“水仙花数”,“水仙花数”为每位数字的立方和等于它的本身。如:13+53+33=153 (4)将一个正整数分解质因数。如:输入90,输出90=2*3*3*5。7、一个球

30、从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?实验五:数组的定义及其应用【目的与要求】 1、掌握一维数组与二维数组的定义。2、掌握一维数组的应用(排序、查找、插入和删除)3、掌握字符数组与字符串的区别与使用。4、掌握运用数组(含菜单)编写小系统【实验内容】一、定义一个一维数组,可以存放10位同学的成绩,对成绩进行初始化,计算出总分和平均成绩,并输出到显示器上。1、 程序分析:定义一个长度为10的数组s10,运行循环对其进行初始化(输入),定义另变量sum和ave存放总分和平均分。2、 程序代码: #include stdio

31、.h void main()float s10,sum=0,ave; int i=0; printf(“Please input 10 studentsscore:n”); while(i10) scanf(“%f”,&si);sum+=si;i+; ave=sum/10; printf(“sum=%.2f ave=%.2fn”,sum,ave); 二、输入一个整数,将其插入一含有9个数的有序序列中,确保插入后其仍然有序,。1、 算法分析:将待插入的数与序列中的每个数进行比较,找到其插入的具体位置i; 将从第i个数组元素开始,一直到原数组中的最后一个元素,整体往后移,空出一空间来存储待插入的整

32、数。 2、程序代码: #include stdio.h void main() int a10=2,5,7,11,14,19,21,33,67;int i,k,m; printf(“Array :”); for(i=0;i9;i+) printf(“%4d”,ai); printf(“nPlease input the keyword:”); scanf(“%d”,&m); for(i=0;i9;i+) if (m=i;k-) ak=ak-1; /移位,准备插入新的整数ai=m; printf(“The new array:”); for(i=0;i10;i+) printf(“%4d”,ai

33、);三、编程实现:将字符串str2连接到字符串str1 后,构成新的字符串str1。 1、算法分析: 本程序即实现字符串处理函数strcat()的功能。两字符串str1和str2进行连接,要注意的是字符串的结束标志。 2、程序代码: #include stdio.h #include string.h void main() char str140,str220;int i,j,len1,len2; printf(Enter a string:n); gets(str1); len1=strlen(str1); printf(Enter the other string:n); gets(st

34、r2); len2=strlen(str2); for(i=len1,j=0;jlen2;i+,j+) str1i=str2j;str1i=0; printf(The new string:); puts(str1); 【实验分析与讨论】1、 分析两种基本排序算法的核心与两者的不同之处。2、 对有序数组进行插入、删除、查找操作的实现。3、 在实现字符串处理函数时的一些注意事宜及其实现方法。4、 讨论二维数组解决矩阵与行列式。【DIY】一、改错:往一个递增的数列中插入一个数。#include stdio.hvoid main()int a11,i=0,key,j;printf(please en

35、ter ten numbersn);for(i=0;i10;i+)scanf(“%d”,ai);printf(“please enter a numbern”);scanf(“%f”,&key); for(i=0;iai-1|keyi;j-)aj=aj-1;ai=key;for(i=0;i11;i+)printf(“%d”,&ai);二、程序填空:下面程序的功能是将字符串s中的每个字符按升序的规则插到数组a中,字符串a已排好序。#include void main() char a20=“cehiknqtw”; char s10=“fbla”; int i,k,j; for(k=0;sk!=0

36、;k+) j=0; while(sk=ai&aj!=0) j+; for(_1_) _2_;puts(_3_);三、编程1、 输入10位同学的成绩,输出其中的最高分maxscore和最低分minscore。2、 (1)输入一行文字(含空格),统计其中的大写字母、小写字母、空格、数字以及其他字符的个数。(2)编程判断输入的一串字符是否为“回文”。所谓“回文”是指顺读和倒读都一样的字符串。如:level.(3)实现两个字符串拷贝(strcopy(str1,str2)的功能。3、 运行折半查找法,在一个有序序列中查找某一特定的数。4、 判断一个(33)方阵是不是对称矩阵。实验六:函数的定义及其应用【

37、目的与要求】 1、掌握C中函数的定义、调用及设计。2、掌握函数嵌套调用、递归调用的设计。3、掌握变量、函数的作用域及存储类。【实验内容】一、设计一个子函数对n个整数进行排序,由主函数从键盘接收若干个数,调用子函数进行排序,并在主函数中进行输出显示。1、算法分析: 子函数的设计 以两个参数来实现,一个是接收主函数传来的数组首地址,另一个是持排序的整数个数,如fun(int a,int n); 主函数的实现 定义一整型数组,从键盘上接收若干个整数,调用子函数fun,再将最后的结果输出。2、程序代码:#include stdio.hvoid fun(int a,int n) / 选择排序算法 int

38、 i,j,t; for(i=0;in-1;i+) for(j=i+1;jaj) t=ai;ai=aj;aj=t;void main() int a10,i; for(i=0;i10;i+) scanf(%d,&ai); printf(输入的数值序列为:); for(i=0;i10;i+) printf(%4d,ai); printf(n); fun(a,10); printf(输入的数值序列为:); for(i=0;i10;i+) printf(%4d,ai); 二、输入任意两数m,n的值,输出下列表达式的值。S= 1、算法分析 编写一函数fac(n), 返回n!的值。 编写主函数,从键盘输入

39、m,n的值,调用上述fac()函数,计算表达式的值,并将其输出。 2、程序代码 #include “stdio.h” long fac(int n) if (n=1) return 1; else return n*fac(n-1);void main()int m,n,t; float s;printf(“please input 2 integer numbers:”);scanf(“%d%d”,&m,&n);if(mn)return 0;else if(n=k&k=0)return 1;else return A(n-1,k)+A(n-1,k-1);void main()int n,k;

40、int A(int n,int k);printf(please enter 2 numbers!);scanf(%d%d,&n,&k);printf(%d,A);二、程序填空:用递归实现一个正整数的倒序输出。如输入12345,则输出54321.#include stdio.hr(int m) printf(%d,_1_);m=_2_;if(_3_) _4_;voidmain() int n;printf(input:);scanf(%d,_5_);r(n);printf(n);三、编程1、 若正整数A恰好出现在其平方数的右侧,则称A为一个同构数。如:5,6,76。求100以内的所有同构数。要

41、求:(1)编写一子函数int fun(int n),判断给定正整数n是不是同构数,若是,返回1,否则,返回0。(2)编写主函数,调用函数fun(),寻找并输出100以内的所有同构数。(3)在输出同构数的同时,要输出其平方的值。2、 运用递归,求任一个字符串的长度。实验七:指针的定义及其应用【目的与要求】 1、了解指针的定义与应用。2、掌握使用指针变量的程序设计。3、 了解使用函数指针的程序设计。4、 了解使用指针数组的程序设计。【实验内容】一、先输入一个正整数n,再输入任意n个整数,计算并输出这n个整数的和。要求使用动态内存分配方法为这n个整数分配空间。 程序代码: #include “std

42、io.h” #include “stdlib.h” void main() int n,sum=0,i,*p; printf(“Enter n:”); scanf(“%d”,&n); if(p=(int *)calloc(n,sizeof(int)=NULL) printf(“Not able to allocate memory.n”); exit(1); printf(“Enter %d integers:n”,n); for(i=0;i10;i+) scanf(“%d”,p+i); sum+=*(p+i); printf(“sum=%dn”,sum); free(p);二、设计一程序,将

43、两个变量的值进行交换。1、 算法分析:(1)编写一个函数swap(int *p,int *q),交换两个参数指针所指的数据。(2)编写主函数,调用函数swap,将两个变量的值进行交换。2、 程序代码:#include “stdio.h”void swap(int *p,int *q);void main()int a,b;printf(“Enter two integers:n”);scanf(“%d%d”,&a,&b);printf(“Before Swap:a=%d,b=%d”,a,b);swap(&a,&b);printf(“After Swap:a=%d,b=%d”,a,b);void swap(int *p,int *q)int t;t=*p;*p=*q;*q=t;二、编程实现:运用指针将字符串str2连接

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论