ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:81.06KB ,
资源ID:13593334      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-13593334.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《C语言实验指导书》.docx)为本站会员(b****6)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

《C语言实验指导书》.docx

1、C语言实验指导书C语言程序设计实验指导书(修订1)张红梅 编著安徽电子信息职业技术学院计算机科学系2006年7 月 1 日目 录实验1 运行简单的C程序 2实验2 练习使用算术运算符 5实验3 使用输入、输出函数 6实验4 循环语句的使用猜数字游戏 7实验5 模拟ATM取款机界面 8实验6 二维数组的应用 9实验7 函数参数的传递 10实验8 嵌套与递归调用的实现 12实验9 结构体和共用体 13实验10 文件 15实验1 运行简单的C程序一 实训目的:1、熟悉TC运行环境2、练习简单C程序的编写3、熟练掌握C程序的上机运行步骤二实训内容:1实验要求:编程求37+29的值,熟悉TC运行环境2

2、分析与设计: 编写一个main()函数,将数据37和29分别用变量保存,然后用另一个变量存放两个变量的和,最后将和变量的值输出。 3 源代码:main() int a,b,sum; a=37; b=29; sum=a+b; printf(“sum=%d”,sum);在TC环境中输入上面的代码后,先编译、连接,再保存,然后再运行。具体操作步骤如下所示:(1)编译(2)连接(3)保存F2(4)运行CTRL+F9(5)运行结果ALT+F5按任意键返回注意:1、第(1)步和第(2)步可以合起来操作,使用快捷键F92、程序比较大时,最好边输入代码,边保存,以防止意外情况的发生。实验2 练习使用算术运算符

3、一 实训目的:1练习使用基本类型的变量进行编程2练习使用C的运算符二实训内容: 1实验要求 :熟练使用运算符 (%,+,-) 2分析与设计 : 求余运算符要求两个操作数都必须是整数;+和- 要看清是先使用还是先自增(减)3源代码:程序1:取出一个三位整数的各个位,并输出main()int x=123; char c1,c2,c3; c1=x%10;c2=x/10%10;c3=x/100;printf(“%d,%d,%dn”,c3,c2,c1);运行结果为:1,2,3程序2:练习自增和自减运算符的使用main()int x=2,y,z;y=(+x)+(x+)+(+x);z=(x-)+(-x)+(

4、x-);printf(“x=%d,y=%d,z=%dn”,x,y,z);运行结果:x=2,y=12,z=12实验3 使用输入、输出函数一 实训目的:熟练使用格式输出函数printf()和格式输入函数scanf() 二实训内容:1 实验要求: 格式输入函数scanf()和格式输出函数printf()的使用2分析与设计: 输入函数中的普通字符需要原样输入,并注意分隔符的使用;输出函数中的格式控制符和输出项数要一一对应。3源代码:程序1:为使得a=1,b=2,c=A,d=5.5,在键盘上如何输入?#include main()int a,b;char c;float d;scanf(“a=%d b=

5、%d”,&a,&b);scanf(“%c %en”,&c,&d);程序在运行时,输入:a=1 b=2A 5.50程序2:判断下面程序的运行结果。 main()int x=3,y=2,z=1;printf(“%d,%dn”,(+x,y+),z+2);运行结果:2,3分析得到此结果的原因。实验4 循环语句的使用猜数字游戏一 实训目的:1熟练掌握各种循环程序设计的方法 2利用循环结构解决一些实际问题二实训内容:1实验要求:先利用randomize()产生一个随机数种子,再利用随机函数random(100)产生的一个0100之间的整数,进行猜数字游戏 2分析与设计:利用循环,不断输入数字,与产生的随机

6、数进行比较,直到猜中为止。3源代码:#include main()int r,x,n=0;randomize();r=random(100);printf(“Please input a number:(0100)”);scanf(“%d”,&x);while(x!=r)if(xr)printf(“nbig,input continue:”);if(xr)printf(“nsmall,input continue:”);scanf(“%d”,&x);n+;if(n5&n10)printf(“nnormal”);实验5 模拟ATM取款机界面一 实训目的:1熟练掌握分支结构if语句及其嵌套 2掌握

7、分析具体问题的方法二实训内容:1实验要求 : 利用if语句和scanf函数模拟简单的ATM取款机界面2分析与设计: 用户先输入密码,密码正确后,可以进行帐户的操作,如查询,取款等。3源代码:#include main()int password,p,number,count=1000;printf(“please input password:”);scanf(“%d”,&password);if(password!=0000)printf(“password errorn”);returnprintf(“welcome! Please choice one operate:(1,2,3)n”

8、);printf(“1:count;2:get money,3:returnn”);scanf(“%d”,&p);switch(p)case 1:printf(“n%d”,count);break;/*帐户查询*/case 2:printf(“n please input count that you want to get”); scanf(“%d”,&number);/*取款*/ if(numbercount|number0)printf(“nerror”); printf(“nnow ,you can take money!”); break;case 3:break;return;/*

9、返回*/default:printf(“nNO this operate”);实验6 二维数组的应用一 实训目的:1 掌握二维数组的定义、赋值和输入输出方法2熟练使用二维数组解决实际问题二实训内容:1实验要求: 利用二维数组进行矩阵的乘法运算 2分析与设计: = 3源代码:main() int a22=1,2,3,4, b22=5,6,7,8; int c22=0,i,j,k; for(i=0;i2;i+)for(j=0;j2;j+)for(k=0;k2;k+) cij+=aik*bkj;for(j=0;j2;j+) for(k=0;k2;k+)printf(“%d”,cjk);printf(

10、“n”); 实验7 函数参数的传递一 实训目的:1理解函数的形参和实参的概念和应用2掌握函数的值调用和引用调用的含义3掌握简单变量、数组和指针作为函数参数进行传递的形式二实训内容:1实验要求: 编写自定义函数:求字符串的长度和字符串的查找 2分析与设计: 利用字符数组保存字符串,然后根据下标解决问题3源代码:程序1:自定义函数求字符串长度int length(char string)int index=0; while(stringindex!=0) index+; return(index);main()char string80; int len;printf(“please input

11、a string:n”);scanf(“%s”,string);len=length(string);printf(“%d”,len);程序2:自定义函数字符串的查找int find_string(char string1,char string2)char temp; int index1=0,index2; while(string1index1!=0)index2=0; temp=string1index1+index2; while(string2index2!=0)&(temp=string2index2) temp=string1index1+index2;if(string2in

12、dex2=0) return(index1);index1+;return (-1);main()char string180,string280;int findresult;scanf(“%s”,string1);scanf(“%s”,stirng2);findresult=find_string(string1,string2);if(findresult)printf(“Find!n”);printf(“position is :%dn”,findresult+1);else printf(“Not Find!n”);实验8 嵌套与递归调用的实现一 实训目的:1掌握函数嵌套调用与递归调

13、用的函数的含义2重点掌握函数嵌套调用与递归调用的实现过程3培养和锻炼解决较复杂C程序设计的能力二实训内容:1实验要求: 利用函数嵌套调用与递归调用求两个数的阶乘和2分析与设计: 先分别求出两个数的阶乘值,然后相加3源代码:#include #include long sum(int a,int b)/*求两个数的阶乘和*/long c1,c2;c1=factorial(a);c2=factorial(b);return(c1+c2);long factorial(int n)/* 求一个数的阶乘*/long rtn=1;int i;for(i=1;i=n;i+)rtn=rtn*i;return

14、 rtn;main()int n1,n2;long result; clrcsr();printf(“please input two number:n”);scanf(“%d,%d”,&n1,&n2);result=sum(n1,n2);printf(“Result=%ld”,result);getch();实验9 结构体和共用体一 实训目的:1掌握结构体类型变量的定义及使用2掌握结构体变量的引用形式,结构体数组的应用3理解结构体作为不同数据类型的一个整体在实际编程中的应用二实训内容:1实验要求: 输入6名学生的基本信息,每名学生的基本信息包括:学号、姓名、性别、年龄、语文成绩、数学成绩、物

15、理成绩、总分、平均分等数据项。根据各科成绩计算总分和平均分,并输出这6名学生的信息。2分析与设计: 利用结构体类型数组元素存放6名学生的信息,并根据要求求出总分和平均分。3源代码:#define N 6#include “stdio.h”struct student char num8; char name20; char sex; int age; float chi_score,math_score,phy_score; float sum; float average;main() int i; struct student studN;/*输入N名学生的基本信息*/ for(i=0;i

16、N;i+) printf(“nThe student_number of number %d is: “,i+1); gets(studi.num); printf(“nThe student_name of number %d is: “,i+1); gets(studi.name); printf(“nThe student_sex of number %d is: “,i+1); studi.sex=getchar(); printf(“nThe student_age of number %d is: “,i+1); scanf(“%d”,&studi.age); printf(“nT

17、he Chinese_score of number %d is: “,i+1); scanf(“%f”,&studi.chi_score); printf(“nThe math_score of number %d is: “,i+1); scanf(“%f”,&studi.math_score); printf(“nThe physics_score of number %d is: “,i+1); scanf(“%f”,&studi.phy_score); /*计算学生的总分和平均分*/for(i=0;iN;i+) studi.sum=studi.chi_score+studi.math

18、_score+studi.phy_score;studi.average=studi.sum/3;/*输出学生的基本信息情况*/printf(“nNumber Name Sex Age Chinese Math Physics Sum Average”);printf(“n-”);for(i=0;iN;i+) printf(n%-8s%-20s%3c%3d”,studi.num,studi.name;studi.sex,studi.age); printf(%6.2f%6.2f%6.2f”,studi.chi_score,studi.math_score, studi.phy_score);

19、printf(“%6.2f%6.2f”,studi.sum,studi.average);printf(“n-”);实验10 文件一 实训目的:1掌握文件以及缓冲文件系统、文件指针的概念2掌握文件的打开、关闭、读、写等操作3学会用缓冲文件系统对文件进行简单的操作二实训内容:1实验要求:有5个学生,每个学生有3门课的成绩,从键盘输入以下数据(包括学号、姓名、三门课成绩),计算出平均成绩,将原有数据和计算出的平均分存放在磁盘文件“student”中。学生原有数据:A2005001 Wang 89,98,67A2005002 Li 70,80,90A2005006 Sun 78,88,80A2005

20、012 Zhang 100,87,91A2005020 Zhao 81,64,922分析与设计: 用结构体数组保存学生的基本信息,利用文件的写操作将学生的基本信息写入文件“student.dat”中。3源代码:#include #dedine SIZE 5struct student_type char name10; int num; int score3; int ave;struct student_type studSIZE;main() void save(); int i,sumSIZE; FILE *fpt; clrscr();for(i=0;iSIZE;I+) sumi=0;f

21、or(i=0;iSIZE;i+) scanf(“%s %d %d %d %d”,studi.name,&studi.num,&studi.score0,&studi.score1,&studi.score2); sumi=studi.score0+studi.score1+studi.score2; studi.ave=sumi/3;save();fpt=fopen(“student.dat”,”rb”);printf(“n 姓名 学号 成绩1 成绩2 成绩3 平均分n”);printf(“-n”);for(i=0;iSIZE;i+) fread(&studi,sizeof(struct st

22、udent_type),1,fpt); printf(“%-10s %3d %5d %5d %5d %5dn”,studi.name,studi.num,studi.score0,studi.score1,studi.score2,studi.ave);fclose(fpt);void save() FILE *fp; int i; if(fp=fopen(“student.dat”,”wb”)=NULL) printf(“本文件不能打开,出错n”); exit(0); for(i=0;iSIZE;i+) if(fwrite(&studi,sizeof(struct student_type),-1,fp)!=1) printf(“文件写入数据时出错!n”); exit(0); fclose(fp);

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2