C程序设计实验指导书桂林电子科技大学职业技术学院二零一二年十月实验一C程序的运行环境和程序结构一、实验目的1.了解所用计算机系统的基本操作方法,学会独立使用该系统。
2.了解在该系统上如何编辑、编译、连接和运行一个C程序。
3.通过运行简单的C程序,初步了解C源程序的特点。
二、实验内容1.学习从开机开始的操作,包括如何建立子目录、使用操作命令列目录、打印文件内容、删除文件、复制文件等。
熟悉VC++6.0集成环境的使用①启动VC++6.0集成开发环境选择“开始”→程序→Microsoft Visual Studio6.0打开后显示如下②在VC++6.0主窗口中,选择“文件”→“新建”命令,弹出下图所示“新建”对话框点击“文件”显示如下图对话框③之后在文件编辑窗口开始编写程序文件编辑窗口④程序编辑完成后开始编译→链接→运行2.自己编写一个简单的程序,输出以下信息:****************************C Program****************************3.自己编写一个简单的程序,打印出学号、姓名、性别等学生记录。
4.调用编辑程序,输入教材第一章的程序,并进行编译和运行。
5.完成一个学生信息管理系统登录界面三、实验要求在实验之前,要求同学熟悉main函数、变量的定义、注释、分号的作用、函数的说明、函数体等内容实验二数据类型、运算符和表达式一、实验目的1. 掌握C语言的数据类型,熟悉如何定义一个整型、字符型、实型变量,了解赋值的方法和数据输出的格式。
2. 学会使用C语言的有关算术运算符和表达式,熟练掌握C程序的编辑、编译、连接、运行的过程。
二、实验内容(1) 输入下列程序:void main(){char c1,c2;c1=97;c2=98;printf(“%c,%c”,c1,c2);}a)将上面的“%c”改为“%d”运行程序,输出运行结果;b)将“char”改为“int”运行程序, 输出运行结果;c) 将“c1=97”改为“c1=’a’”运行程序,输出运行结果d) 将“c1=97”改为“c1=500”运行程序, 输出运行结果;根据运行结果说明原因?(2)调试程序:void main(){int i,j,m,n;i=86;j=68;m=++i; //i=i+1=87 ,m=i=87;n=j++; //n=j=68,j=j+1=69printf(“%d, %d, %d,%d”,i,j,m,n);}a)运行上面的程序,结果为:b)将int改为char,运行结果看看;c)添加printf(“%d, %d, %d,%d”,++i,j++,m,n)语句运行程序;并解释原因(3)输入下列程序void main(){int i,j,k;i=3;j=(++i)+(++i);k=(i++)+(i++);printf(“%d %d\n”,j,k);}运行结果为:4)编程编一程序完成如下功能:从键盘上输入学生5门课的成绩,计算出总成绩和平均成绩三、实验要求要求理解int、float、double、char、‘’、“”、=、,++、()的含义实验三数据类型、数据运算及表达式一、实验目的:1、掌握C语言的数据类型及相应的运算,算术运算、逗号运算、移位运算。
熟悉如何定义一个整型、字符型、实型变量,了解赋值的方法和数据输出的格式2、掌握混合运算的规则二、实验内容:(1) 输入下列程序:main(){char c1,c2;c1=97;c2=98;printf(“%c,%c”,c1,c2);}①将上面的“%c”改为“%d”运行程序;②将“char”改为“int”运行程序;③将“c1=97”改为“c1=500”运行程序;(2) 调试程序:main(){int i,j,m,n;i=86;j=68;m=++i;n=j++;printf(“%d, %d, %d,%d”,i,j,m,n);}①分别改变++运算顺序(m=i++;n=++j);②“int”改为“char”;③添加printf(“%d, %d, %d,%d”,++i,j++,m,n)语句运行程序;④体会++和--的使用方法。
(3)输入一个由4位数组成的整数,把它分解成为单个数字,并求各位数字之和,最后输出每一位数字与和。
例如输入了1234,则输出结果1,2,3,4,和为10.提示:分解一个整数,通常使用除运算和求余运算相结合的方法。
某数对10求余可以得到最低位(也就是个位)的数字。
例如:1234%10=4;123%10=3;12%10=2;1%10=1;因此,每次分解之前,需要解决的问题是如何将要分解出的数字放在个位上。
观察下面的运算有如下规律:某整数除以10,可以得到除了最低位以外的数字。
1234/10=123(此时3在个位上)123/10=12(此时2在个位上)12/10=1(此时1在个位上)这样就有了基本的分解思路,如下:①1234%10=4;②1234/10=123,123%10=3;③123/10=12,12%10=2;④12/10=1,1%10=1。
分解之和把分解得到的数字累加到某个临时变量中,用于输出。
假如输入一个四位数x,a是个位数,b是十位数,c是百位数,d是千位数则:a=x%10;x=x/10;b=x%10;x=x/10;c=x%10;x=x/10;d=x%10;(4)编程任意输入一个三位数,判断是否为水仙花数。
比如153=1*1*1+5*5*5+3*3*3.为水仙花数三、实验小结实验四最简单的C语言程序设计实验目的:1.掌握C语言中赋值语句的使用。
2.掌握数据输出、输出的方法,正确使用各种格式的转换。
二、实验内容1. 调试下列程序:main(){int a,b;float d,e;char c1,c2;double f,g;long m,n;unsigned int p,q;a=61;b=61;c1=’a’;c2=’b’;d=3.54;e=-3.54;f=33333.54444;g=0.54444555666;m=600000;n=-600000;p=32768;q=40000;printf(“a=%d, b=%d\n, c1=%c, c2=%c\n, d=%6.3f, e=%6.2f, \n”,a,b,c1,c2,d,e);printf(“f=%15.6f,g=%15.12f\n,m=%ld,n=%ld\n,p=%u,q=%u\n”,f,g,m,n,p,q);}a)运行上面的结果为:b)将上面程序的“%c”改为“%d”、“char”改为“int”、“c1=‘a’”改为“c1=500”、p、q的改用“%o”运行程序;c)在程序中理解printf函数的使用Printf(格式控制,输出列表)格式控制是用双引号括起来的字符串,包含两种信息: 1.格式说明,格式说明有%和格式字符组成。
%d输出十进制整数%o输出八进制整数%x输出十六进制整数%u输出无符号十进制整数%c输出字符(单个字符)%s输出字符串%f输出浮点数(以小数形式输出)%e 输出浮点数(以指数形式输出)%md。
m为指定的输出字段的宽度。
如果数据的位数小于m,则左端补空格,若大于m,则按实际位数输出。
%ld,输出长整形数据。
%mld,输出宽度为m的长整形数据,如果长整形数据长度大于m则按实际输出。
%m.nf,指定输出的数据共占m列,其中有n位小数。
如果数值长度小于m,则左端补空格%-m.nf与%m.nf基本相同,只是输出的数值向左端靠,右端补空格。
2、编写程序:设圆半径r=3,圆柱高h=6。
求圆周长、圆面积、圆球表面面积、圆球体积、圆柱体积;3. 编写程序:用getchar函数输入两字符,用putchar、printf函数输出。
4. 编写程序:输入一个华氏温度,利用5(32)9C F =-求摄氏温度。
三、实验要求实验之前,要求预习getchar 、putchar 、scanf 、printf 函数的内容;实验五逻辑运算和条件控制一、实验目的1. 掌握C语言中逻辑运算的使用。
2. 掌握条件控制if语句使用。
二、实验内容1、写出下列程序的运行结果。
(1)#include <stdio.h>main(){int x=5,y=3;char op;printf(“Enter a operator,+ or - :”);scanf(“%c”,&op);if(op==’+’)printf(“%d+%d=%d”,x,y,x+y);elseprintf(“%d-%d=%d”,x,y,x-y);}当输入’+’时,运行结果为:(2)#include <stdio.h>main(){int magic=456;int guess;scanf(“%d”,&guess);if(guess==magic)printf(“RIGHT!”);elseguess>magic ? printf(“HIGH”) : printf(“LOW”) ; }当输入123时,运行结果为:(3)#include <stdio.h>main(){ int i,j;i=j=2;if(i==1)if(i==2)printf(“%d”,i=i+j);elseprintf(“%d”,i=i-j);printf(“%d”,i);}运行结果为:当输入4时,运行结果为:(4)#include <stdio.h>main(){int a,b,s,t;scanf(“%d,%d”,&a,&b);s=1;t=1;if(a>0) s=s+1;if(a<b) t=2*s;else if(a==b) t=5;else t=s+t;printf(“s=%d,t=%d”,s,t);}当输入-1,-2时,运行结果为2、编写程序用scanf函数接受x的值,然后求出相应的y的值3、给学生写评语,若学生成绩在60~69则打印”及格”,70~89”良好”,90~100”优秀”,60以下”不及格”,请用if-else语句实现。
4、输入四个整数,要求从大到小输出。
5. 给定一个不多于5位的正整数,求它的位数;打印每个位的数字;按逆序打印每个位的数字。
实验六 逻辑运算和多分支选择一、实验目的1. 掌握C 语言中逻辑运算的使用。
2. 掌握条件控制的switch 语句的使用。
二、实验内容1、读程序,分析结果三、编写程序1、将百分制成绩转化为等级成绩,表达式如下,分别用if 、switch 语句的进行编程。
90100809070806070060A xB x yC xD xE x ≤<⎧⎪≤<⎪⎪=≤<⎨⎪≤<⎪≤<⎪⎩2、企业发放的奖金根据利润提成。