C语言 第二张图画三角龙图画的那一行是什么意思? 能不能解释一下?第一张图是题目

《C语言的科学和艺术》自定义库cslib在Win7和Linux下的编程环境配置详细图文教程
《C语言的科学和艺术》是一本优秀的经典教材,著译皆佳。
无奈本书成于1994年,其与本书配套的库文件安装成了问题,在学习的过程中如果手痒想试一下自定义库的使用,许多人按照帮助文件是无法实现的。尤其是在Windows系统下,帮助文件显示使用的是Borland
C 4.0 和Turbo C 2.0 ,在Win7系统下更是连安装都成问题。更不用提在64位Windows 7操作系统了。
现有的网上资料大多语焉不详, 且错漏较多。
虽然本人是个不折不扣的菜鸟,且是业余的,在数天摸索下,终于编译成功,现在奉上详细图文步骤,以献给有需要的人。 有不当之处,欢迎指出。
Win7环境下的配置
0. 准备。VC6.0安装文件、本书配套源代码(可从下载);操作系统为Win7
1. 安装VC++6.0,
本人安装的是VC6.0绿色版。在Win7下运行时会提示存在兼容性问题,不用管它,直接勾选“不再显示此消息”,运行程序即可。
复制所有standard文件夹下的.h文件到vc安装目录下的include文件夹内,譬如我的目录是“D:\VC6.0green\VC98\Include”。
3. 将standard文件夹下的这些源文件编译成.lib静态库文件。具体步骤为:
(1)点击VC的“文件”→“新建”,打开“新建”对话框,选择“Win32 Static
Library”,工程名称为cslib,点击“确定”按钮。如下图:
(2) 不用勾选,点击“完成”。
(3)点击“确定”。
(4) 在VC中点击“FileView”,展开“cslib files”。
(5) 在“Source Files”上点右键, 选择“添加文件到目录”。
(6) 选择standard文件夹下的所有.c文件,点确定。
(7) 同理,在“Header Files”上点右键,将standard下的所有.h文件添加进去。
(8)点击“组建”→“组建【cslib.lib】”,就完成了组建静态库的工作了。
找到编译组建生成的lib静态库,我的是在“D:\VC6.0green\MyProjects\cslib\Debug”目录下。
将cslib.lib重命名为cslibcs.lib,拷贝到VC的lib文件夹下。为什么要重命名呢?因为include文件夹中已经有一个CSLIB.LIB文件了。我的lib路径为“D:\VC6.0green\VC98\Lib”。
6. &至此我们就完成了大半工作,下面我们可以试验一下库是否可以正常使用。
(1)点击“文件”→“关闭工作空间”。点击“文件”→“新建”,选择“Win32 Console
Application”,工程名称设为“helloworld”。
(2)选择“一个空的工程”,单击“完成”。并在下一对话框中单击“确定”。
不要选第二个选项,否则在编译时可能出现错误:fatal error
C1010: unexpected end of file while looking for precompiled
head。此错误与stdafx.h有关,需要在工程设置里将C/C++的“预编译的头文件”设置成“不使用预补偿页眉”,等于走了弯路。
(3)再次单击“文件”→“新建”,选择“C++Source File”,文件名为hello.c
,注意后缀名为c。
(4)双击“hello.c”,输入代码如图,
(5)依次单击“组建”菜单中的“编译”,“组建”,“执行”
(6)运行结果如下,0错误0警告信息,说明成功编译、连接genlib.h库文件。
7,我们试试第七章的图形库是否能成功运行,同前一步一样,新建graphictest工程,将\programs\07-Graphics中的house.c文件加入到工程源文件中(在Source
Files上点右键,选择“添加文件到目录”)。
编译、连接,显示有一个错误。不用担心,我们有解决办法,单击“工程”→“设置”菜单项,点击“graphictest”,选择“连接”选项卡,在“对象/库模块”的最后添加“
cslibcs.lib”,点击“确定”。
重新编译、连接,这次没有错误,但运行后并没有出现我们预期的房子图形。检查一下,可以在项目的目录下发现一个graphics.ps文件,我估计你的电脑中没有打开这种文件格式的程序。
这其实是一种PostScript格式,需要使用GhostView打开,如果你用UltraEdit打开的话会是这幅模样
下载并安装ghostview
+ ghostscript这两个程序就可以查看ps文件格式了。下载地址如下:
打开后的效果如下:
至此,大功告成。
二、在Linux系统中编译环境的配置
我是用虚拟机安装的乌班图系统15.10版,安装试验成功。
详细步骤如下,以下参考扩充自.cn/s/blog_149evtn4.html
1. standard文件夹下的standard.shar下载到HOME文件夹,
2. 按Ctrl+Alt+T打开TERMINAL,默认当前为HOME目录,输入命令显示所有文件:
3. 其中有个叫standard.shar的压缩文件,用以下命令解压:
sh standard.shar
在当前目录生成cslib文件夹,其中包含了库里的各种头文件.h和实现文件.c,输入以下命令跳转到cslib目录:
5. 接着编译库的源文件,输入:
生成gccx文件和cslib.a以及其他一些.o目标文件。
6. 用超级用户操作把gccx复制到/bin/gccx (该文件夹同时被生成):
sudo cp gccx /bin/gccx
7. 回到HOME文件夹输入:
到这一步,库已经安装好了,要注意,使用库时,编译需要用gccx命令,而不是gcc命令。
---------------------------------------------------------------------------------------------------&
8. 以下是如何编辑和编译并运行第一个简单C语言程序
首先是编辑,用nano编辑器写一个hello.c的C语言程序,在TERMINAL输入:&
nano hello.c
按图输入以下C程序&
打完后按CTRL+ X退出,按Y保存,并按Enter键确认文件名,退出nano回到TERMINAL。
9. 用以下命令来编译c源文件,生成hello文件。
gccx hello.c -o hello
注意:如果出现以下错误:
/bin/csh: bad interpreter: No such file or
directory&
&那是因为缺了C-SHELL
可以输入以下命令安装:
sudo apt-get install csh
10. 成功生成hello输出文件后,打以下指令运行它:
11. 同样,用图形库时也是在当前目录生成graphics.ps文件, 可以用GV查看,输入以下命令安装:
sudo apt-get install gv
按SUPER键(指Win键或苹果电脑的Command键)打开Dash面板,搜索gv打开gv程序,找到graphics.ps文件打开。也可以在其上点击右键,选择“打开方式”,以“Print
Preview”方式打开。
效果如下图:
至此,基本问题解决。
PS:用新版的Dev编辑器是不能成功编译lib库的,毕竟这种94年编写的库许多语法特性与现在的gcc大相径庭。比如,库中的genlib自己实现了bool类型,而现在bool已经是一种内置类型,有冲突了。如果心有余力,可以改写一下库的实现,以使之可以在最新编译器上使用。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。获取验证码
暂停使用,请使用开发者账号登录!
秒之内仍未收到,请
积分576&学分5 &来自云南-曲靖市&
【趣味c编程系列】用c语言打印一个会变色闪烁的爱心图
部分代码:int main()
if((fp=fopen(&爱心.txt&,&w&))==NULL)
{
& &printf(&File open error!\n&);
& &exit(0);
}
& & int i,j,e;
//爱心的上半部分 为两个实心半圆
& & for(i=1,a=I;i&I/2;i++,a--)
{
& && &&&for(j=(int) (& &I-sqrt((double)(I*I-(a-i)*(a-i)))& &);j&0;j--)
& &{
& && && && &printf(& &);
& & fprintf(fp,&%s&,& &);
& &}
& && &&&for(e=1;e&=2*sqrt((double)(I*I-(a-i)*(a-i)));e++)
& &{
& && && && &printf(&\3&);
& & fprintf(fp,&%s&,&*&);
& &}
& && &&&for(j=(int) (& &2*( I-sqrt((double)(I*I-(a-i)*(a-i))) )& &);j&0;j--)
& &{
& && && && &printf(& &);
& & fprintf(fp,&%s&,& &);
& &}
& && &&&for(e=1;e&=2*sqrt( (double) (I*I-(a-i)*(a-i)) );e++)
& &{
& && && && &printf(&\3&);
& & fprintf(fp,&%s&,&*&);
& &}
& && &&&printf(&\n&);
& &fprintf(fp,&%s&,&\n&);
& & }
//爱心的中间一行 可以打印一些标记
& & for(i=1;i&80;i++)
& & {
& && &&&if(i==25)
& &&&{
& && && && &printf(&& & I LOVE YOU!O(∩_∩)O~& & &);
& & fprintf(fp,&%s&,&& & I LOVE YOU!O(∩_∩)O~& & &);
& && && && &i+=30;
& && &&&}
& && &&&printf(&\3&);
& &fprintf(fp,&%s&,&*&);
& & }
& & printf(&\n&);
fprintf(fp,&%s&,&\n&);
& &
//爱心的下半部分 以R为半径的左右两条圆弧曲线 R设置为比较大
& & for(i=1;i&=R/2;i++)
{
& && &&&if(i%2||i%3)//因为R很大 两条曲线应该删去中间的一些点 这样就会更像爱心
& && &&&for(j=(int) (& &R-sqrt( (double) (R*R-i*i) )& &);j&0;j--)
& &{
& && && && &printf(& &);
& & fprintf(fp,&%s&,& &);
& &}
& && &&&for(e=1;e&=2*( sqrt( (double)(R*R-i*i) ) - (R-2*I) );e++)
& &{
& && && && &printf(&\3&);
& & fprintf(fp,&%s&,&*&);
& &}
& && &&&printf(&\n&);
& &fprintf(fp,&%s&,&\n&);
& & } 复制代码[hide][/hide]
附件: 您所在的用户组无法下载或查看附件
积分9295&学分592 &来自重庆-重庆市&
谢谢参与,祝好
天行健,君子以自强不息;
地势坤,君子以厚德载物。
积分576&学分5 &来自云南-曲靖市&
颖哥儿 呵呵谢谢鼓励~
积分16&学分3 &来自湖北-武汉市&
xiexie.....
积分97&学分9 &来自安徽-滁州市&
积分57&学分0 &来自广东-广州市&
看看。。。。
积分11&学分0 &来自河南-郑州市&
积分50&学分27 &来自广东-广州市&
对你从来就不会假装。
积分8&学分0 &来自陕西-咸阳市&
E:\Program Files\Microsoft Visual Studio\MyProjects\de\123.cpp(9) : error C2065: 'exit' : undeclared identifier
E:\Program Files\Microsoft Visual Studio\MyProjects\de\123.cpp(15) : error C2065: 'I' : undeclared identifier
E:\Program Files\Microsoft Visual Studio\MyProjects\de\123.cpp(17) : error C2065: 'sqrt' : undeclared identifier
E:\Program Files\Microsoft Visual Studio\MyProjects\de\123.cpp(56) : error C2065: 'R' : undeclared identifier
E:\Program Files\Microsoft Visual Studio\MyProjects\de\123.cpp(72) : fatal error C1004: unexpected end of file found
执行 cl.exe 时出错.
积分33&学分0 &来自广东-广州市&
很黄很强大
积分46&学分0 &来自广西-柳州市&
积分103&学分1 &来自浙江-杭州市&
积分66&学分3 &来自山东-潍坊市&
回帖看看。不用客气:)
积分66&学分3 &来自山东-潍坊市&
显示出来的挺好看的。
特地回来再回帖:)
积分6&学分0 &来自北京-北京市&
sfasdfasw fasdf awe sx
积分6&学分0 &来自福建-厦门市&
你的等级:
来自:四川省成都市
拿走~Happy下~
你的等级:
来自:吉林省
哈哈哈哈哈哈&&谢谢呐
你的等级:
来自:吉林省
哈哈哈哈哈哈&&谢谢呐
积分7&学分0 &来自广东-珠海市&
我是被这贴吸引来的
开发者社区网站地址:
或分享到:您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
《01--C语言教程之绘制图形》.pdf18页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
文档加载中...广告还剩秒
需要金币:168 &&
《01--C语言教程之绘制图形》.pdf
你可能关注的文档:
··········
··········
第二章 绘制图像基础 页码,1/18 第2章 绘制图形 【本章学习目标】 掌握设置与关闭图形模式的函数。 能正确调用颜色函数设置图形的颜色。 掌握使用 语言绘制图形的基本步骤。 C 掌握基本绘图函数。 了解图形模式下输出字符的函数。 C语言不仅可以处理字符和数值,还可以绘制图形。C语言的图形函数可以方便地绘制直线、圆和圆弧等基本图形,这
些基本图形又可以组合出复杂的图形。本章简要介绍 语言的绘图功能和常用图形函数。学完本章内容后,您也能使用 语 C C
言绘制出美丽的图形。 2.1
设置屏幕显示模式 字符和图形是两类不同的显示对象,它们对屏幕的要求是不同的。屏幕通常使用不同的显示模式显示这两类对象。要使
用C语言正确处理字符和图形,就需要先掌握屏幕显示模式的基础知识,掌握设置屏幕显示模式的方法。 2.1.1 屏幕显示模式概述 屏幕显示模式就是数据在屏幕上的显示方式。C语言把屏幕显示模式分为文本模式和图形模式两种。文本模式通常用于
显示文本,图形模式则用于显示图形。 语言默认屏幕显示模式为文本模式。 C 1.
屏幕坐标系 显示器的工作原理与电视机的工作原理相似,其屏幕上规则地排列着许多细小的发光点。这些发光点的明暗和色彩的不
同组合,就组成了屏幕上绚丽多姿的画面。 O x y 图2-1 屏幕坐标系
为了便于指定屏幕上显示内容的位置,我们取屏幕左上角为坐标原点,第一行所在位置为 轴,第一列所在位置为 轴,建立 x y
如图2-1所示的屏幕直角坐标系。 建立屏幕直角坐标系后,就可以用有序数对
表示屏幕上点的位置。在点的坐标
中, 指定点的列坐标, 指 x y x y
定点的行坐标。例如,屏幕左上角点的坐标即为
正在加载中,请稍后...我想问一下图中的两个分支语句有什么区别,好像一样,可是书中把一个分类为if的嵌套,一个分为else if语句!为什么不一样两个语句,
<img onerror="imgDelByClass('comimg_box');" class="piczoom mpic" alt="我想问一下图中
else-if语句:意思是有多个条件语句,根据不同的条件语句得到的不同的结果执行不同的循环体。
例如:int a = 1;
if(a & 0){
printf("a & 0\n");
}else if(a & 0){
printf("a & 0\n");
printf("a = 0\n");
意思就是a&0时打印a&0,a&0时打印a&0,a=0时打印a=0。实际上也相当于:
if(a & 0){
printf("a & 0\n");
if(a & 0){
printf("a & 0\n");
if(a == 0){
printf("a = 0\n");
if-else语句肯定可以分为多个if语句,细心点的话得到的结果是相同的,只是if-else语句的效率高点。就像上边的例子,if-else语句只要执行到第一个if,后边的就不再进行,而多个if...
else-if语句:意思是有多个条件语句,根据不同的条件语句得到的不同的结果执行不同的循环体。
例如:int a = 1;
if(a & 0){
printf("a & 0\n");
}else if(a & 0){
printf("a & 0\n");
printf("a = 0\n");
意思就是a&0时打印a&0,a&0时打印a&0,a=0时打印a=0。实际上也相当于:
if(a & 0){
printf("a & 0\n");
if(a & 0){
printf("a & 0\n");
if(a == 0){
printf("a = 0\n");
if-else语句肯定可以分为多个if语句,细心点的话得到的结果是相同的,只是if-else语句的效率高点。就像上边的例子,if-else语句只要执行到第一个if,后边的就不再进行,而多个if的则每个都要进行判断。
至于if语句的嵌套,其实就相当于一个if-else,或者if。
你就把外层的当判断,里层的当循环体,依次类推。
例如:int a = 1,b = 2,c = 3;
if(a & 0){
if(b & 0){
if(c & 0){}
其实也就是一个if(a & 0){
其中的循环体是:
if(b & 0){
if(c & 0){}
也相当于if(a & 0 && b & 0 && c & 0){
区别现在可以看出来了吗?
else-if等效于多个if,if嵌套其实是一个if
其他答案(共5个回答)
会判断一次;下面一个对应的是如果第一个if对了,才能经过第二个if判断,如果第一个不满足条件第二个if就没有机会了。
第一张图片所示为if (...) ...
else if (...) ....;
表示if语句判断为假时,执行else部分,只是else部分恰好又是一个if判断语句而已;
第二张图片所示,其实为 if (...)
if (...) ....
if (...) {....}
{.....}就行了
顺便说一句,else总与前一个且未匹配的if配对,使用合理的缩排会使代码的可读性增强。
刚好跟飞机舱位有关
tough 痛苦的,flying coach 经济舱
“坐惯了头等舱,再坐经济舱,这太痛苦了”
有些深奥。
欢乐到来,欢乐又归去:
人人都可能拥有欢乐,但欢乐不会长久,有它到来的一天,就会有它离你而去的时候。
这是天地间欢乐的内容:
--a是先把a自减1,然后再调用,此时a=9
++b是先把b自加1,然后再调用,此时b=12
printf(&#034;%d%d&#034;,--a,...
大家还关注
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区}

我要回帖

更多关于 贪心三角形绘本的图画 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信