《C语言实验指导书》第3版.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《《C语言实验指导书》第3版.doc》由会员分享,可在线阅读,更多相关《《C语言实验指导书》第3版.doc(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言程序设计实验指导书(修订3)张红梅 编著安徽电子信息职业技术学院软件学院2008年6 月 1 日目 录实验1 运行简单的C程序2实验2 练习使用算术运算符5实验3 使用输入、输出函数7实验4 模拟ATM取款机界面8实验5 循环语句的使用猜数字游戏9实验6 一维数组的应用11实验7 函数参数的传递12实验8 嵌套与递归调用的实现13实验9 结构体和共用体15实验10 文件17课程设计:单链表的操作19实验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、程序比较大时,最好边输入代码,边保存,以防止意外情况的发生。选做题:1. 输出字符串main()printf
3、(“C programn”);printf(“Hello World!n”);2. 已知圆的半径,求圆的面积#define PI 3.14main() int r=5; float s; s=PI*r*r; printf(“area=%fn”,s);3. 求任意两个数中的最大值main()int a,b,max; printf(“Input two numbers:”); scanf(“%d,%d”,&a,&b); max=a;if(maxb)max=b; printf(“max=%d”,max);实验2 练习使用算术运算符一 实训目的:1练习使用基本类型的变量进行编程2练习使用C的运算符二实
4、训内容: 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)+(x-);printf(“x=%d,y=%d,z=%dn”,x,y,z)
5、;运行结果:x=2,y=12,z=12选做题:一分析下面程序运行结果产生的原因。1.main()int x, y;char c;x=y=5;ch=a;printf(“%d,%d,%c”,x+,+y,ch);2main()float m,n,k;k=(3.1,m=2.0+2.1);printf(“%f”,k);n=(m=3.8,k);printf(“%f”,n);3.main()int a=2,b=1,c=1,d=6,e=9;b+=a; printf(“%d”,b);c*=a; printf(“%d”,c);d/=a; printf(“%d”,d);e%=a; printf(“%d”,e);4.
6、main()int a1,a2;float b,c;b=5.425;c=52.954;a1=(int)(b+c);a2=(int)b+(int)c;printf(“a1=%d,a2=%d”,a1,a2);二编程题1求1+2+3+4+5+6+7+8+9+10的和。2. 利用中间变量,实现两个变量的值互换。实验3 使用输入、输出函数一 实训目的:熟练使用格式输出函数printf()和格式输入函数scanf() 二实训内容:1 实验要求: 格式输入函数scanf()和格式输出函数printf()的使用2分析与设计: 输入函数中的普通字符需要原样输入,并注意分隔符的使用;输出函数中的格式控制符和输出项
7、数要一一对应。3源代码:程序1:为使得a=1,b=2,c=A,d=5.5,在键盘上如何输入?#include main()int a,b;char c;float d;scanf(“a=%d b=%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分析得到此结果的原因。选做题:1输入一个小写字母,将其改写为大写字母后输出。2设int a,b,c;要使得a=3;b=5;c=6; 问该如何
8、在键盘上输入?并用printf函数输出a,b,c的值。 scanf(“%d,%d%d”,&a,&b,&c);3编程序输出下面的图形* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *实验4 模拟ATM取款机界面一 实训目的:1熟练掌握分支结构if语句及其嵌套 2掌握分析具体问题的方法二实训内容:1实验要求 : 利用if语句和scanf函数模拟简单的ATM取款机界面2分析与设计: 用户先输入密码,密码正确后,可以进行帐户的操作,如查询,取款等。3源代码:#include main()int passwo
9、rd,op,number=0,count=1000,n=0;printf(please input password:);scanf(%d,&password);while(password!=1234)/*有三次输入密码的机会*/n+; if(n=3)printf(you have input 3,can not input again!n); getch();return;printf(password error!please input again:);scanf(%d,&password);loop:printf(nwelcome! Please choice one operate
10、:(1,2,3)n);printf(1:countn2:get moneyn3:returnn);scanf(%d,&op); /*输入一种操作*/switch(op)case 1:printf(nyour count is %d.n,count);goto loop;/*帐户查询*/case 2:printf(n please input count that you want to get:); scanf(%d,&number); if(numbercount|number0)printf(nerror); else printf(nnow ,you can take money!);c
11、ount-=number; goto loop; /*取款*/case 3:break;/*返回*/default:printf(n operate error!);goto loop;选做题:1. 从键盘输入学生成绩分数,输出对应的等级。(100-90分为A, 75-89为B ,60-74为C,小于60为D)2. 从键盘输入一个字符,如果是小写字母,则输出“small”,如果是大写字母,则输出“big”,如果是数字,则输出“number”,其他字符则输出“other”3. 根据输入的x,输出对应y的值。x x02x+1 0x1x-5 x1y=实验5 循环语句的使用猜数字游戏一 实训目的:1熟
12、练掌握各种循环程序设计的方法 2利用循环结构解决一些实际问题二实训内容:1实验要求:先利用randomize()产生一个随机数种子,再利用随机函数random(100)产生的一个0100之间的整数,进行猜数字游戏,最后根据猜的次数给出评语。2分析与设计:利用循环,不断输入数字,与产生的随机数进行比较,直到猜中为止。3源代码:#include main()int r,x,n=0;randomize();r=random(100);printf(“Please input a number(0100):”);scanf(“%d”,&x);n=1;while(x!=r)if(xr)printf(“n
13、big,input continue:”);if(xr)printf(“nsmall,input continue:”);scanf(“%d”,&x);n+;if(n5&n10)printf(“nnormal”);选做题:1. 编程:打印出所有的“水仙花数”。所谓水仙花数是指一个3位数,其各位数字的立方和等于该数本身。例如:153=1+5+3。2. 编程:打印出1000以内所有的“完数”。所谓完数是指一个数恰好等于它的因子之和。 例如:6的因子为1,2,3;而6=1+2+3,因此6是完数。要求:按下面格式输出:6 Its factors are 1,2,33.编写程序输出下面图形 *实验6 一
14、维数组的应用一 实训目的:1 掌握一维数组的定义、赋值和输入输出方法2熟练使用一维数组解决实际问题二实训内容:1实验要求: 从键盘上输入任意10个数,将其按从小到大顺序排列;再输入一个数,将该数插入到数列中,不改变数列的排序规律。2分析与设计: 用一维数组保存输入的数据,然后选择一种排序方法(冒泡排序)进行排序,然后在输入新的数,找到该数在数列中的位置,把从该位置到最后的元素,依次后移一位,再将该数插入数列中。3源代码:#define N 10print(int *a,int n) /*输出数列函数*/int i; printf(n); for(i=0;in;i+) printf(%3d,ai
15、); printf(n);sort(int a)/*冒泡排序函数*/ int i,j,t; printf(n); for(i=0;iN-1;i+)/*比较趟数*/ for(j=0;jaj+1) t=aj;aj=aj+1;aj+1=t;/*交换*/insert(int *a,int x)/*插入函数*/int i,j; for(i=0;ix) break; /*若aix则找到要插入的位置为i*/ for(j=N-1;j=i;j-) aj+1=aj; /*从ai到aN-1的每个元素都后移一位*/ ai=x; /*在i位置上插入x*/ printf(n); main()int a11,i,x; pr
16、intf(please input 10 nums:n); for(i=0;iN;i+) scanf(%d,&ai);/*输入*/ sort(a);/*排序*/ print(a,10);/*输出*/printf(please input insert num:);scanf(%d,&x);/*输入要插入的新数*/ insert(a,x);/*插入新数*/print(a,11); /*输出*/选做题:1编程求一个44矩阵两条对角线上所有元素之和。2.有一串字符串,最多80个字符。要求统计其中英文大写字母、小写字母、数字、空格以及其他字符的个数。3.自己编写下面的函数:strcat()、strcm
17、p()和strlen(),实现相应的功能。实验7 函数参数的传递一 实训目的:1理解函数的形参和实参的概念和应用2掌握函数的值调用和引用调用的含义3掌握简单变量、数组和指针作为函数参数进行传递的形式二实训内容:1实验要求:编写自定义函数:进行两个数据之间的交换 2分析与设计:使用两种参数传递方法,进行数据的交换,比较下面程序的运行结果有何不同。3源代码:程序1:参数的值传递。void swap(int x,int y)int t; t=x; x=y; y=t; printf(“x=%dty=%dn”,x,y);main()int a,b; printf(“please input a,b:”)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言实验指导书 语言 实验 指导书
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内