C语言程序设计实用教程课件:文件
- 格式:ppt
- 大小:762.61 KB
- 文档页数:35


C语言程序设计实用教程 参考答案
1 第2章课后习题参考答案
一、(略)
二、单选题
1、C 2、D 3、C 4、A 5、C 6、D 7、C 8、B 9、D 10、A
三、填空题
1、 1 2、 880 3、 10000010 4、00001111 5、11110000 6、 3 .500000
0
四、写程序运行结果
1、 2,1 2、 0 3、 16 4、3 5、 1
五、编程题
解:设鸡有X只,兔有Y只,根据题意可得方程如下:
x+y=a
2x+4y=b
解方程组可得到:
x=(4*a-b)/2
y=(b-2a)/s
编程如下:
#include
#include
main( )
{
int x,y,a,b;
printf(“Please input two interger numbers:\n”); C语言程序设计实用教程 参考答案
2 scanf(“%d,%d”,&a,&b);
x=(4*a-b)/2;
y=(b-2*a)/2;
printf(“There are %d chicken.\n”,x);
printf(“There are %d rabbit.\n”,y);
}
2、(题意看书上:求三角形面积)
#include
#include
main( )
{int a,b,c;
float s ,area;
printf(“Please input 3 numbers for triangle:\n”);
scanf(“%d,%d,%d”,&a,&b,&c);
s=0.5*(a+b+c);
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf(“area=%f”,area);
}
第3章课后习题参考答案
一、单选题
1、在C语言中,文件存取的基本单位是( )。
A.字节
B.位
C.字
D.回车符
正确答案:A
2、若FILE *fp; 关闭文件的语句是( )。
A.fclose(fp);
B.close(fp);
C.fclose( );
D.close( );
正确答案:A
3、 FILE *fp; 有两个整型变量a和b, 若要从文件把数据读到其中, 正确的形式是( )。
A.fscanf(fp,"%d%d",&a ,&b);
B.fscanf(fp,"%d%d",a ,b);
C.fscanf("%d%d",&a ,&b, fp);
D.fprintf(fp,"%d",a ,b);
正确答案:A
4、定义fp为文件型指针变量,使用fopen只读方式打开一个已存在的二进制文件,以下正确的调用形式为( )。
A.fp=fopen("my.dat", "r");
B.fp=fopen("my.dat", "r+");
C.fp=fopen("my.dat", "rb"); D.fp=fopen("my.dat", "rb+");
正确答案:C
5、若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数feof(fp)的值为( )。
A.非零
B.1
C.0
D.-1
正确答案:C
6、下列关于C语言数据文件的叙述中正确的是( )。
A.文件是由ASCII码字符序列组成的, C语言只能读/写文本文件。
B.C语言只能按格式化的方式读/写文件 。
C.文件是由二进制数据序列组成, C语言只能读/写二进制文件。
D.文件由数据流形式组成,可分为二进制文件和ASCII码字符序列组成的文本文件。C语言可以读/写文本文件和二进制文件。
正确答案:D
二、判断题
1、“文件”一般指存储在外部介质上的数据集合。( )。
正确答案:√
2、C语言中,文件的存取方式可以是随机存取,也可以是顺序存取。( )。
C语言实用程序100例
第一篇 基础与提高
实例1利用库函数编写基本显示程序
实例2变量属性
实例3运算符与类型
实例4关于程序结构
实例5显示函数曲线图
实例6二分法选代的应用
实例7多变的立方体
实例8一维整型数组应用(1)
实例9一维整型数组应用(2)
实例10一维整型数组应用(3)
实例11一维整型数组应用(4)
实例12二维数组应用(1)——显示杨辉三角
实例13二维数组应用(2)——魔方阵
实例14字符数组应用(1)——逻辑判断
实例15字符数组应用(2)——数据模拟
实例16二维数组应用——字符比较
实例17利用指针进行数据处理
实例18指针与字符串
实例19利用指针处理二维数组
实例20一级指针
实例21利用指针传递参数值
实例22结构体的应用
实例23链表的应用(1)
实例24链表的应用(2)
实例25链表的应用(3)
实例26共用体的应用
实例27枚举类型应用
实例28位运算
买例29义件加密
实例30文件的按记录随机读写
第二篇 图形与多媒体
实例31改变文字背景色
实例32及本颜色设置
实例33制作表格
实例34制作多样的椭圆
实例35美丽的透视图形
实例36错位窗口
实例37能移动的矩形
实例38多变的填充矩形
实例39黄黑相间的矩形与圆
实例40六叶图案 实例41特殊图案
实例42国际象棋棋盘
实例43制作楼梯
实例44使用线类型函数设置多个汉字
实例45彩色群点
实例46饼图
买例47产品折线图
实例48直方图
实例49变大变色的拒形与国
实例50多变的填充多边形
实例51流星球
实例52小球动态碰撞
买倒53多,曲线
实例54多变的圆与环
实例55优美的球体
实例56运动的小车
实例57统计动画消失次数
实例58运行的时钟
实例59直升飞机
实例60演绎“生命游戏”
1.绘制余弦曲线
摘要
在屏幕上用“*”显示0~360度的余弦函数cos(x)曲线。关键在于余弦曲线在0~360度的区间内,一行中要显示两个点,而对一般的显示器来说,只能按行输出,即:输出第一行信息后,只能向下一行输出,不能再返回到上一行。
在屏幕上用“*”显示0~360度的余弦函数cos(x)曲线
*问题分析与算法设计
如果在程序中使用数组,这个问题十分简单。但若规定不能使用数组,问题就变得不容易了。
关键在于余弦曲线在0~360度的区间内,一行中要显示两个点,而对一般的显示器来说,只能按行输出,即:输出第一行信息后,只能向下一行输出,不能再返回到上一行。为了获得本文要求的图形就必须在一行中一次输出两个“*”。
为了同时得到余弦函数cos(x)图形在一行上的两个点,考虑利用cos(x)的左右对称性。将屏幕的行方向定义为x,列方向定义为y,则0~180度的图形与180~360度的图形是左右对称的,若定义图形的总宽度为62列,计算出x行0~180度时y点的坐标m,那么在同一行与之对称的180~360度的y点的坐标就 应为62-m。程序中利用反余弦函数acos计算坐标(x,y)的对应关系。
使用这种方法编出的程序短小精炼,体现了一定的技巧。
*程序说明与注释
#include
#include
int main()
{
double y;
int x,m;
for(y=1;y>=-1;y-=0.1) /*y为列方向,值从1到-1,步长为0.1*/
{
m=acos(y)*10; /*计算出y对应的弧度m,乘以10为图形放大倍数*/
for(x=1;x
printf("*"); /*控制打印左侧的 * 号*/
for(;x<62-m;x++)printf(" ");
printf("*\n"); /*控制打印同一行中对称的右侧*号*/
}
return 0;
}
2.绘制余弦曲线和直线