C程序设计教程第8章
- 格式:ppt
- 大小:610.00 KB
- 文档页数:45


第1章 计算机语言及C语言概述
1.1 计算机语言和计算机程序
1.2 C语言概述
1.2.1 C语言的产生和发展
1.2.2 C语言的特点
1.2.3 C程序的结构
/*第一个C程序*/
#include
void main( )
{
printf("This is the first C program.\n");
}
/*本程序实现从终端输入两个整数并求和*/
#include
void main( )
{
int a,b,sum; /*变量定义语句*/
scanf("%d%d",&a,&b); /*从终端输入两个整数分别赋给变量a和b*/
sum=a+b; /*求a、b的和并赋给变量sum*/
printf("sum=%d\n",sum); /*将sum值输出*/
}
C语言程序设计教程
2
#include
/*求面积函数*/
float CircleArea(float r) /*CircleArea函数的首部*/
{ float s; /*定义浮点型变量s*/
s=3.14159*r*r; /*给s赋值为半径为r的圆的面积*/
return s; /*将s的值返回,带回至main函数中的被调用位置*/
}
/*主函数*/
void main( )
{ float r, Area; /*变量r用来存储半径值,Area用来存储面积值*/
printf("Input r:"); /*输出提示信息*/
scanf("%f",&r); /*输入一个实型数据赋给r,%f为浮点型数据格式控制符*/
Area=CircleArea(r); /*调用CircleArea函数,将返回值赋给Area*/
printf("r=%f, Area=%f\n",r,Area); /*输出半径及面积*/
第8章习题
一、选择题
1 2 3 4 5 6 7 8
C C C C C A C D
9 10 11 12 13 14 15
C A B D A C C
二、 填空题
1. 2
2. 6 7 200C
3.p[5]
4. 定义p1为指向整型数据的指针变量
定义p2为指针数组,其数组元素均为指针
定义p3为指向一维数组的指针,其数组元素均为整型数
5. 5,3
6. 20
7. r+b[k] *x
8. SecondLiFirstWang
9. 25
10. 12 12
三 程序分析题
1.7
2. 1 5 3
3 9 7
3. 2 4
4. abcDDfefDbD
5. 53
四、编程题
1.输入2个字符串,每个字符串的长度均不超过80字符,用自己实现的cmpstr()函数完成这两个字符串的大小比较,cmpstr()函数的功能和字符串比较函数strcmp()的功能相同
#include
#include
int cmpstr(char *s1, char *s2)
{
char *p, *q;
p=s1;
q=s2;
while(*p!='\0' && *q!='\0')
{
if(*p==*q)
{
p++;
q++;
} else
break;
}
return *p-*q;
}
void main()
{
char str1[81], str2[81];
int c;
printf("请输入第1个字符串:");
gets(str1);
printf("请输入第2个字符串:");
gets(str2);
c=cmpstr(str1,str2);
if(c>0)
printf("字符串%s 大于 字符串%s\n",str1,str2);
else if(c<0)
C++程序设计实践上机指导书
(第八次)
专业 计算机科学与技术
班级
学号
姓名
沈阳工程学院信息学院
2 实践成绩评价说明
1) 上机前充分准备实践材料,对上机内容有程序草稿。(10分)
2) 独立完成实践任务,对实践过程非常清晰。(30分)
3) 认真理解知识点,能够与理论知识相结合。(10分)
4) 在机房遵守上机守则,接受实践指导教师的监督与管理。(20分)
5) 认真填写实践指导书,写出实践小结。(10分)
6) 在实践中具备一定的创新思想,能够主动与指导教师探讨。(5分)
7) 加大实践工作量,主动完成实践指导书中的选做题目。(5分)
8) 掌握程序调试的方法,认真完成程序调试工作,使程序能够运行(10分)。
3 上机八 类与对象(四)
一、目的
1、学习类的组合;
2、体会类的组合的构造函数的使用方式;
3、理解利用友元关系实现数据共享的机制
4. 掌握类的友元函数以及友元类的实现方法;
二、要求:
1. 在上课之前,每一个同学必须将题目、程序编写完毕,做好充分的准备。
2. 所有环节均由每位同学独立完成,严禁抄袭他人结果。
三、步骤和内容
1、定义点类,使用友元函数计算两点间的距离,体会友元函数的使用
2、在题目1的基础上,设计一个类Trig,给定三角形的三个定点的坐标(平面直角坐标系)要求:a) 用一个友元函数计算三角形面积。
b) 将友元函数存放在一个类中,并将该类修改为类Trig的友元类
注:三角形的面积公式为:已知三角形三边a,b,c,则
(海伦公式)(p=(a+b+c)/2)
S=()()()ppapbpc
3. 设计一个类Sample,它有两个私有数据成员a[]和n(a中元素的个数)。请对a[]中数据进行排序,并将排序函数作为友元函数或者放在类process中。
第8章 指针
【练习8-1】如果有定义”int m, n = 5, *p = &m;”与m = n等价的语句是
B 。
A.m = *p; B. *p = *&n; C. m = &n; D. m = **p;
解答:
A:p是指向m的指针变量,所以*p等价于m。即m=m。
B:&n是n的地址,*&n是n的值,即把n的值赋给p指向的值m。即m=n。
C:&n是n的地址。即把n的地址赋给m。
D:**p是指p指向的指针所指向的值,在此无意义。
故选B。
【练习8-2】调用函数求两个数的和与差:计算输入的两个数的和与差,要求自定义一个函数sum_diff(float op1,float op2, float *psum, float *pdiff),其中op1和op2是输入的两个数,*psum 和*pdiff 是计算得出的和与差。
解答:
#include
void sum_diff(float op1,float op2,float *psum,float *pdiff);
int main(void)
{
float op1,op2,sum,diff;
printf("Input op1 and op2: ");
scanf("%f%f",&op1,&op2);
sum_diff(op1,op2,&sum,&diff);
printf("%f+%f=%f;%f-%f=%f \n",op1,op2,sum,op1,op2,diff);
return 0;
}
void sum_diff(float op1,float op2,float *psum,float *pdiff)
{
*psum=op1+op2;
*pdiff=op1-op2;