一认识C语言程序上机环境.docx
《一认识C语言程序上机环境.docx》由会员分享,可在线阅读,更多相关《一认识C语言程序上机环境.docx(18页珍藏版)》请在冰豆网上搜索。
![一认识C语言程序上机环境.docx](https://file1.bdocx.com/fileroot1/2023-1/24/7b600264-17f9-4723-82c3-6d976148c45e/7b600264-17f9-4723-82c3-6d976148c45e1.gif)
一认识C语言程序上机环境
山东信息职业技术学院
a
语言程序设计与数据结构
实验一认识C语言程序上机环境
一、实验目的
1、认识C程序的上机环境:
TurboC,win-tc,vc++6.0;
2、熟练掌握在vc++6.0环境下运行程序的步骤。
二、实验内容
HelloWorld.c
1、认识三种不同的编译环境,分别在三个环境下调试HelloWord.c的源程序的源程序代码如下:
2、实现课本P12页的三个程序。
三、上机步骤
1、TurboC开发环境的认识参见课本P6o
2、Vc++6.0集成开发环境运行程序的步骤:
熟悉以上四步后考虑以下问题:
1、每步执行后得到的文件扩展名是什么?
2、若编辑源程序时出错怎么办?
3、若要将本次上机的源程序进行保存,去哪里查找源程序文件?
4、如何重新打开一个已经存在的源程序?
四、实验总结
1、实验中遇到的问题及解决方法。
2、实验体会。
实验二数据类型、运算符与表达式
实验目的
山东信息职业技术学院
岛C语言程序设计与数据结构
1.掌握基本数据类型的使用。
2.掌握运算符的使用方法、优先级及表达式的书写规则。
二、实验内容
1、验证课本相关例题例2.1-2.11。
2、课本P36上机实训的内容
3、验证课后习P39题第4题。
4、分析下列程序的结果并上机验证:
1)以下程序运行后的输出结果是。
mainC)Inla,h,(■;a=25;b=025;c=0x25:
\n',a,b,c);}
程序运行后的输出结果是
2)数字字符0的ASCII值为48,若有以下程序
LtiaiiL{):
冷盯a-T,h-2':
DTintfh+-);printf\n",b-a);}
程序运行后的输出结果是
3)有以下程序
main0
ini[[1=3,11=4,x;
x=-fl
x_x+R/in;
printf("%d\n",x);
}
程序运行后的输出结果是
4)若有语句
-\n",j);
则输出结果是
实验步骤
编写源程序进行调试、运行。
记下实验中遇到的问题及解决方法。
四、实验总结
山东信息职业技术学院
鳥C语言程序设计与数据结构
实验三数据的输出
一、实验目的
1、单个字符的输入。
2、格式输出函数的使用。
二、实验内容和要求
1、验证课本相关例题。
2、验证课本P60的第3,4.1题。
3、有以下程序
maIn
■inLHF0256,ii=256;
'kAn",m,n);
j
程序运行后的输出结果是
4、有以下程序
maIn
I:
ini沪班迅b二处&
尹幻」\n",a,b);
j
程序运行结果是:
5、验证以下程序段的输出结果:
intx=2002,y=2003;
p-^itl'(^i.l\n",(x,y));
运行结果:
&根据三角形的三边长计算三角形的面积。
四、实验总结
实验四数据的输入及顺序程序设计
、实验目的
◎
山东信息职业技术学院
汕C语言程序设计与数据结构
1、单个字符的输入。
2、格式输入函数的使用。
3、顺序程序设计。
二、实验内容和要求
1、验证课本相关例题。
2、实现课本P58上机实训和P60的第4题。
3、编写程序,读入三个整数给a、b、c,然后交换他们的值,要求把a的值给b,b的值给c,c的值给a。
源程序:
4、以下程序的功能是:
给r输入数据后计算半径为r的圆面积s,程序在编译时出错。
main()
:
intr;floats;
scanf("%d",&r);
s=*p*r*r;printf("s=%f\n",s);
}
请写出出错原因:
修改后运行结果:
5、从终端输入一个三位数,将其百位、十位、个位分三行显示。
例如,从键盘输入153,则显示
1
5
3
三、实验总结
实验五选择结构程序设计
(一)
一、实验目的
1、了解C语言表示逻辑量的方法(以0代表”假”,以1代表”真”)
山东信息职业技术学院
a
语言程序设计与数据结构
2、学会正确使用逻辑运算符和逻辑表达式。
3、熟练掌握if语句。
二、实验内容及步骤
1、验证课本相关例题4.1-4.10o
2、课后题4,5o
3、编写程序实现,输入某学生的成绩,经处理后给出学生的等级,等级分类如下:
90
分以上(
包括5
90):
A
80
至90分
(包括
80):
B
70
至80分
(包括
70):
C
60
至70分
(包括
60):
D
60
分以下:
E
源程序:
三、实验总结:
山东信息职业技术学院
a
语言程序设计与数据结构
实验六选择结构程序设计
(二)
一、实验目的
1、熟练掌握if语句和switch语句。
2、结合程序掌握一些简单的算法。
3、进一步熟悉VC集成环境的使用方法。
二、实验内容
1、验证课本相关例题4.11-4.13.
2、上机实训P7&
3、阅读下面的C30111.C程序,要求对输入的数字1~7转换成文字星期几,对其它数字不转换。
例如,输入5时,程序应该输出Friday。
程序如下:
#include
voidmain()
{intday;
scanf("%d",&day);
switch(day)
case1:
printf("Monday,");
case2:
printf("Tuesday,");
case3:
printf("Wednesday,"
case4:
printf("Thursday,");
case5:
printf("Friday,");
case6:
printf("Saturday,");
case7:
printf("Sunday,");
}
}
1编译、连接和运行该程序,然后输入4。
其输出结果是什么?
为什么是这样的结果?
2该程序有哪些错误?
如何修改?
4、输入一个三位的正整数,判断它是否是水仙花数。
(“水仙花数”是指一个3位数,其各位数字
的立方和等于该数本身。
例如:
153是一个“水仙花数”,因为153=13+53+33。
)
源程序:
四、实验总结:
山东信息职业技术学院
a
语言程序设计与数据结构
实验七循环结构程序设计
(一)
一、实验目的
1、掌握循环的三种基本结构,重点掌握while语句和do-while语句的使用
2、掌握在程序设计中用循环的方法实现各种算法。
二、实验内容
1、验证课本例题5.1-5.8.
2、实现课后3,4.1,424,4.
3、若输入12345,分析输出结果是多少?
上机验证。
#include
voidmain()
{longdata;
scanf("%ld",&data);
while(data)
{printf("%ld,",data%10);
data=data/10;
}
}
4、有一分数序列:
2/1,3/2,5/3,8/5,13/8,21/13,…,求出这个序列的前20项之和
三、实验总结
山东信息职业技术学院
a
语言程序设计与数据结构
实验八-九循环结构程序设计
(二)
一、实验目的
1、掌握用for语句,while语句和do〜while语句实现循环的方法。
2、掌握嵌套循环结构的执行过程。
3、理解循环结构程序段中语句的执行过程,进一步练习程序的跟踪调试技术。
4、掌握continue与break在循环结构中的作用与区别。
二、实验内容
1、验证课本例题5.9-5.14.
2、实现课后4.3,4.5,46
3、课本P102实训。
4、写出以下程序结果并上机验证。
(验证)
#include
voidmain()
{inti,j,x;
for(i=0,x=0;i<2;i++)
{x++;
for(j=0;j<3;j++)
{if(j%2)continue;
x++;
}
x++;
}
printf("x=%d\n",x);
}
思考:
用一句话概括if(j%2)语句的作用。
三、实验总结
山东信息职业技术学院
a
语言程序设计与数据结构
实验十一维数组的应用
一、实验目的
1、掌握数组的含义
2、掌握定义一维数组的方法。
3、学会用一维数组进行编程。
二、实验内容
1.验证课本例题6.1-6.5。
2.验证课后P141的3.1,3.2并编程实现4.1,4.2。
3、P135上机实训6.4。
3,要求改为3,2,1.
4、将一个数组中的值按逆序重新存放。
例如,原来顺序为1,2,源程序:
5.用数组处理Fibonacci数列问题
已知Fibonacci数列:
132134
源程序:
三、实验总结:
实验^一-十二二维数组、字符数组及函数的应用
山东信息职业技术学院
a
语言程序设计与数据结构
一、实验目的
1、掌握二维数组元素的引用。
2、掌握字符数组和字符串函数的使用
二、实验内容
1、验证课本相关例题。
2、编程实现课后练习3.3,4.4,4.5.
3、定义一个二维数组来存放一个矩阵,然后将矩阵转置输出源程序:
4、编写一密码验证程序。
原始密码由用户在程序中定义。
若用户输入的密码和原始密码一致,则显示:
“Youareright!
”,否贝U显示”Youarewrong!
”
源程序:
三、实验总结:
实验十三函数的声明及调用
、实验目的
10
◎
心曲C语言程序设计与数据结构
山东信息职业技术学院
1、掌握定义函数的方法。
2、掌握函数形参与实参的对应关系,以及“值传递”的方式。
3、掌握函数的嵌套调用和递归调用的方法。
二、实验内容
1、验证课本例题7.1-7.9.
2、课本P176上机实训一.
3、编程实现课后练习5.1.
4、下面的程序的功能是:
输入三个整数,输出其中最大的数,补足所缺语句
#include
/*函数max的声明*/
/*函数max3的声明*/
voidmain()
{
inta,b,c,m;
/*从键盘接收3个整数*/
m=max3(a,b,c);printf("Maxis%d\n",m);
}
intmax(intx,inty)/*
{
return(x>y?
x:
y);
}
intmax3(intx,inty,intz)
{
intm;
函数功能:
返回x、y的最大值*/
/*函数功能:
返回x、y、z的最大值*/
returnm;
}
五、实验总结:
实验十四函数
(二)一、实验目的
1、学习递归程序设计,掌握递归函数的编写规律。
2、掌握参数的传递过程。
11
山东信息职业技术学院
岛C语言程序设计与数据结构
3、局部变量与成员变量
、实验内容
1、验证课本例题7.10-7.18.
2、课本P176上机实训二和综合实训
3、编程实现课后练习5.2,5.4,5.5.
4、编写程序,实现由主函数输入mn,按下述公式计算并输出V的值
提示:
定义一个求阶层的函数,然后在主函数中调用三次即可求得。
实验总结:
源程序:
三、实验总结
实验十五指针应用
(一)
一、实验目的
1、了解指针与地址的概念,准确使用地址算符&和*.
2、掌握指针与一维数组的关系及使用方法。
二、实验内容
12
山东信息职业技术学院
a
语言程序设计与数据结构
1、验证课本相关例题8.1-8.4o
2、为了实现输出数组的全部元素,可以使用几种表示数组元素的方法?
3、将数组中的元素按逆序重新存放(借助指针实现)
源程序:
4、想使指针变量pt1指向a和b中的大者,pt2指向小者,以下程序能否实现此目的?
swap(int*p1,int*p2)
{int*p;
p=p1;p仁p2;p2二p;}
main()
{inta,b;
int*pt1,*pt2;
scanf("%d,%d",&a,&b);
pt1=&a;pt2二&b;
if(a
printf("%d,%d\n",*pt1,*pt2);
}
上机调试此程序.如果不能实现题目要求,指出原因并修改之。
5、从键盘输入三个整数,要求设三个指针变量p1,p2,p3,使p1指向三个数的最大者,p2指向次大者,p3指向最小者,然后按由小到大的顺序输出这三个数。
三、实验总结:
13
山东信息职业技术学院
◎
2c语言程序设计与数据结构
实验十六指针应用
(二)
一、实验目的
1、掌握指针与二维数组的运用。
2、掌握指向字符串的指针的使用。
二、实验内容
1、验证课本例题8.5,8.6。
2、课后上机实训。
3、编程实现课后3.
4、填空题
str是全部由小写字母字符和空格字符组成的字符串,由num传入字符串的长度。
请补充函数fun(),该函数的功能是:
统计字符串str中的单词个数,结果由变量num传回。
每个单词之间都由空格隔开,并且字符串str开始不存在空格。
例如:
str="howdoyoudo",结果为:
num=4
注意:
部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达
式或语句。
试题程序:
#include
#defineN80
voidfun(char*s,int*num)
{
inti,n=0;
for(i=0;【1】;i++)
{
if(s[i]>='a'&&s[i]<='z'&&(s[i+1]==
''||s[i+1]=='\0'))
;
}
【3】;
}main()
{
charstr[N];
intnum=0;
14
山东信息职业技术学院
a
竺c语言程序设计与数据结构
printf("Enterastring:
\n");
gets(str);
while(str[num])
num++;
fun(str,&num);
printf("Thenumberofwordis:
%d\n\n",num);
}
5、编程题
请编写函数fun(),它的功能是:
求出1到1000之内能被5或13整除、但不能同时被5和13整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数。
注意:
部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#includevconio.h>
#include
voidfun(int*a,int*n)
{
}
main()
{
intaa[1000],n,k;
clrscr();
fun(aa,&n);
for(k=0;k{
行写10个数*/
printf("%5d",aa[k]);
printf("\n");/*
}
else
printf("%5d",aa[k]);
15
山东信息职业技术学院
a
语言程序设计与数据结构
三、实验总结:
16
山东信息职业技术学院
a
语言程序设计与数据结构
2、掌握结构体类型数组的概念和使用。
3、掌握共用体的使用方法。
二、实验内容
1、验证课本相关例题。
2、上机实训一、二。
3、编程实现实现课后习题。
4、读入五位学生的信息(学号,姓名,成绩),输出最高分学生的信息。
(通过函数实现)源程序:
5、编程题
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数
fun(),它的功能是:
按分数的高低排列学生的记录,低分在前。
注意:
部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include
#defineN16
typedefstruct
{
charnum[10];
ints;
}STREC;
intfun(STRECa[])
{
}main()
{
17
山东信息职业技术学院
a
语言程序设计与数据结构
STRECs[N]={{HGA005H,88},{HGA003H,64},{HGA002H,77},{HGA004H,89},{"GA001",54},{"GA007",72},{"GA008",72},{"GA006",65},
{"GA015",83},{"GA013",95},{"GA012",55},{"GA014",68},{"GA011",78},{"GA017",53},{"GA018",92},{"GA016",82}};
inti;
FILE*out;
fun(s);
printf("Thedataaftersorted:
\n");
for(i=0;i{
if((i)%4==0)/*每行输出4个学生记录*/
printf("\n");
printf("%s%4d",s[i].num,s[i].s);
}
printf("\n");
out=fopen("out21.dat","w");
for(i=0;i{
if((i)%4==0&&)
fprintf(out,"\n");
fprintf(out,"%4d",s[i].s);
}
fprintf(out,"\n");
fclose(out);
}
三、实验总结:
18
山东信息职业技术学院
a
语言程序设计与数据结构
实验十八文件
一、实验目的
掌握文件以及缓冲文件系统、文件指针的概念学会使用文件打开、关闭、读、写等文件操作函数
二、实验内容和要求
1、验证课本相关例题。
2、上机实训。
3、编程实现课后习题。
为止(要求文件名统一用
4、从键盘输入一些字符,逐个把它们送到磁盘上去,直到输入一个filel,不包含路径)
源程序:
、实验总结:
19