C 语言程序设计实验指导书电子工程学院2012-2实验一 C程序的运行环境和编辑、调试、运行简单C程序一、实验目的1.了解 Turbo C 的基本操作方法,学会独立使用该系统。
2.掌握在该系统上如何编辑、编译、运行一个C程序。
二、实验内容及步骤1.进入C的工作环境1)在Windouws环境下:“开始”→“程序”→“MS-DOS”屏幕上进入 MS-DOS窗口2)在Dos环境下:键入命令c:\> cd c:\tc↙c:\tc> tc↙屏幕上出现Turbo C的工作环境2.熟悉Turbo C的工作环境了解Edit窗口与Message窗口了解主菜单的8个菜单项File Edit Compile Project Option Debug break/watch 3.输入并运行一个简单的程序File→New输入源程序:main(){printf("This is a C program.\n");printf("OK\n");}按F9进行编译和连接,观察屏幕上显示的编译信息。
如果出现出错信息,则应找出原因并改正。
按Run→Run(或按Ctrl+F9) 编译、连接、运行一起完成。
按Run→User screen(或按Alt+F5) 察看运行结果。
按任一键从用户屏切换回TC窗口。
4.输入并编辑第二个C程序File→New输入源程序:main ( ){int a,b,sum;a=123; b=456;sum=a+b;printf("sum is %d\n", sum);}编辑、运行、调试该程序。
5.编辑、运行、调试自己编写的程序(至少一个程序)如:输入上底、下底和高,计算梯形面积。
观察屏幕上显示的编译信息。
如果出现出错信息,则应找出原因并改正。
用File→Save (或F2)保存程序(程序名为a1.c)三、实验报告要求写明:1.实验目的2.实验内容与步骤3.编写的程序(题目,经调试、运行后正确的程序)4.编译过程中出现的错误信息。
5.总结讨论本次实验的结果和收获。
实验二数据类型、运算符和表达式一、实验目的1.掌握C语言的各种类型及其定义方法,赋值方法。
2.掌握不同类型之间赋值的规律。
3.学会使用各种算术运算符,特别是自加自减运算符。
4.进一步熟悉C程序的编辑、编译、连接和运行的过程。
二、实验内容及实验步骤1.练习一个有关字符和整型的程序。
main(){char c1,c2;c1=97;c2=98;printf("%c %c\n",c1,c2); /*以字符形式输出*/printf("%d %d\n",c1,c2); /*转换为整数形式输出*/ }2.转义字符的练习。
main(){printf("---------------*\r*\n");printf("\tOA\bK\n");printf("#---------------#\n");printf("\tABC\tDEF\tGHI\n");printf("\t123\t456\t789\n");}对照输出,理解转义字符的含义。
3.自加自减程序的练习。
main(){int a=5,b=3,c1,c2;a++;--b;c1=++a+b;c2=c1---a/b;b=++a+b+c1--+c2;printf("a=%d\nb=%d\nc1=%d\nc2=%d\n",a,b,c1,c2); }4.各种类型混合运算的例子main(){int a=7,b=3; char c1=’a’,c2=66;float x=12.25;double y=1.3333333333;long d=5432789;a=x+b*x+y/2-d%(c1-c2);printf("a=%d, b=%d,c1=%\n",a,b,c1);printf("d=%ld, x=%f, y=%10.2f\n",d,x,y);}5.上机改错题:请指出以下C程序的错误所在(1)main();float r,s;r=5.0;s=3.14159*r*r;printf("%f\n",s)(2)main{float a,b,c,v;a=2.0; b=3.0; c=4.0v=a*b*c;printf("%f\n",v)}6.调试、运行自己编写的程序。
(1)已知圆半径r=1.5,圆柱高h=3, 求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积。
(2)输入一个华氏温度,要求输出摄氏温度。
公式为c=5/9*(f-32).三、实验报告要求写明1.实验目的2.实验内容及步骤3.编写的程序(题目,经调试、运行后正确的程序)4.编译过程中出现的错误信息。
5.总结讨论本次实验中的问题和收获i++和 ++ i的区别,i--和 --i的区别各种类型混合运算时的类型转换实验三顺序和分支结构的程序设计一、实验目的1.掌握C语言中使用最多的一种语句——赋值语句的使用方法。
2.掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。
3.熟练掌握if语句和switch语句。
二、实验内容及实验步骤1.掌握各种格式转换符的正确使用方法(1)输入程序main(){int a, b;float d, e;char c1, c2;double f, g;long m, n;unsigned int p, q;a = 61;b = 62;c1 = ’a’; c2 = ’b’;f = 3157.890121;g = 0.123456789;d = f;e = g;p = a = m = 50000; q = b = n = -60000;printf("a=%d, b=%d\nc1=%c, c2=%c\nd=%6.2f, e=%6.2f\n", a, b, c1, c2, d, e);printf("f=%15.6f, g=%15.12f\nm=%ld, n=%ld\np=%u, q=%u\n", f, g, m, n, p, q);}(2)运行此程序并分析结果。
(3)改用scanf 函数输入数据而不用赋值语句,scanf 函数如下:scanf("%d,%d,%c,%c,%f,%f,%lf,%lf,%ld,%ld,%u,%u",&a,&b,&c1,&c2,&d,&e,&f,&g,&m,&n,&p,&q);输入的数据如下:61,62,a,b,3.56,-6.87,3157.890121,0.123456789,50000,-60000,37678,40000↙(说明:lf和ld格式符分别用于输入double型和long型数据)分析运行结果。
(4)在(3) 的基础上将printf语句改为:printf("a=%d, b=%d\nc1=%c, c2=%c\nd=%15.6f, e=%15.12f\n",a, b, c1, c2, d, e);printf("f=%f, g=%f\nm=%d, n=%d\np=%d, q=%d\n", f, g, m, n,p, q);运行程序。
2.字符的输入输出#include<stdio.h>main(){char a,b;a=’g’;b=getchar();putchar(a);putchar(b);}3.以下程序多处有错。
若指定必须按下面的形式输入数据,并且必须按下面指定的形式输出数据,请对该程序做相应的修改。
main{ double a,b,c,s,v;printf(input a,b,c: \n);scanf("%d %d %d",a,b,c);s=a*b;v=a*b*c;printf("%d %d %d",a,b,c);printf("s=%f\n", s, "v=%d\n",v);}当程序执行时,屏幕的显示和要求输入形式如下:input a,b,c:2.0 2.0 3.0 此处的2.0 2.0 3.0是用户输入的数据a=2.000000,b=2.000000,c=3.000000 此处是要求的输出形式s=4.000000,v=12.0000004.编辑、运行、调试自己编写的程序给出一个百分制成绩,要求输出成绩等级A、B、C、D、E。
90分以上为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。
事先编好程序,要求分别用if语句和switch语句实现。
运行程序,并检查结果是否正确。
三、实验报告要求写明:1.实验目的2.实验内容与步骤3.编写的程序(题目,经调试、运行后正确的程序)4.编译过程中出现的错误信息。
5.总结讨论本次实验的结果和收获。
实验四循环结构的程序设计一、实验目的1.熟练掌握while循环语句的应用。
2.熟练掌握do—while循环语句的应用。
3.熟练掌握for循环语句的应用。
4.理解三者的区别和联系。
二、实验内容及实验步骤1.求5!main(){int n,t;n=1;t=1;while(t<=5){n=n*t;t=t+1;}printf("%d",n);}2.将以上程序用do—while语句改写。
3.求和s=1!+3!+5!main(){int s=0,t,i,j;for(i=1;i<=3;i++){t=1;for(j=1;j<=2*i-1;j++)t=t*j;s=s+t;}printf("%d",s);}4.求和s= 3+33+333main(){int s=0,t=3,i;for(i=1;i<=3;i++){s=s+t;t=10*t+3;}printf("%d",s);}5.打印下列图案****************main(){int i,j;for(i=1; i<=4;i++){for(j=1;j<= 4-i;j++)printf("");for(j=1;j<=2*i-1;j++)printf("*");printf("\n");}}6.测试、运行自己编写的程序。
(1)编写程序,求1-3+5-7+…-99+101的值。