⑴ c语言图形编程 请写清楚点 最好解释一下关键步骤
#include<stdio.h>
int main()
{
int i,m,n;
for(i=1;i<7;i++) //i取多少就有多少行
{ m=2*i-1;//输出*的个数和行数的关系,和数学里的找规律差不多
for(n=1;n<=m;n++)
{
printf("*");
}
printf("\n");
}
return 0;
}
⑵ C语言如何画图
framebuffer(帧缓冲)。
帧的最低数量为24(人肉眼可见)(低于24则感觉到画面不流畅)。
显卡与帧的关系:由cpu调节其数据传输速率来输出其三基色的配比。
三基色:RGB(红绿蓝)。
在没有桌面和图形文件的系统界面,可以通过C语言的编程来实现在黑色背景上画图!
用下面的代码,在需要的地方(有注释)适当修改,就能画出自己喜欢的图形!
PS:同样要编译运行后才能出效果。
#include <stdio.h>
#include <sys/mman.h>
#include <fcntl.h>
#include <linux/fb.h>
#include <stdlib.h>
#define RGB888(r,g,b) ((r & 0xff) <<16 | (g & 0xff) << 8 | (b & 0xff))
#define RGB565(r,g,b) ((r & 0x1f) <<11 | (g & 0x3f) << 5 | (b & 0x1f))
int main()
{
int fd = open("/dev/fb0", O_RDWR);
if(fd < 0){
perror("open err. ");
exit(EXIT_FAILURE);
printf("xres: %d ", info.xres);
printf("yres: %d ", info.yres);
printf("bits_per_pixel: %d ", info.bits_per_pixel);
size_t len = info.xres*info.yres*info.bits_per_pixel >> 3;
unsigned long* addr = NULL;
addr = mmap(NULL, len, PROT_WRITE|PROT_READ, MAP_SHARED, fd, 0);
if(addr == (void*)-1){
perror("mmap err. ");
⑶ C语言编辑图形
for函数解释:
例如for(i=1;i<=n-1;i++)这个循环条件,i=1是循环开始状态,i<=n-1是维持循环条件,i++是每次循环后改变的状态,i=1循环到i=n-1,每次i的值自加,即i=1,i=2,i=3.....i=n-2,n=n-1依次循环,共循环n-1次
主函数代码注释:
#include <stdio.h>
main()
{
int i,j,n; //定义整形参数i,j,n
scanf("%d",&n); //输入整形参数n的值
for(i=1;i<=n-1;i++) //从i=1循环到i=n-1,每次i的值自加(即i=1,i=2,i=3...i=n-1),循环n-1次
{
for(j=1;j<=i;j++) printf("#"); //从j=1循环到j=i,每次j的值自加,循环i次,每次循环输出一个“#”,这行代码功能是输出i个#,以下类似
for(j=1;j<=2*(n-i)-1;j++) printf(" "); //这行代码功能是输出2(n-i)-1个空格
for(j=1;j<=i;j++) printf("#"); //这行代码功能是输出i个#
printf("\n"); //换行
}
for(i=1;i<=2*n-1;i++) printf("#"); //这行代码功能是输出2(n-1)个#
printf("\n"); //换行
}
分析:
以输入5为例,首先我们输入n的值为5
for(i=1;i<=n-1;i++) 此循环循环n-1次,即循环4次
每个循环输出i个#,2(n-i)-1个空格,再输出i个#,之后换行
4次循环i的值分别为1,2,3,4,这便输出了前4行,循环退出
之后for(i=1;i<=2*n-1;i++) printf("#");输出2(n-1)个#,即是9个#,形成第五行
之后换行,主函数结束
⑷ C语言图形编程
数组的调用,给你一例子:
传一维数组和二维数组的:
#include<iostream>
using namespace std;
int* min(int*array,int*s) //传一维数组和二维数组
{
for(int i=0;i<5;i++)
{
for(int j=5*i;j<5*i+4;j++)
{
if(array[j]<array[j+1])
{
int temp;
temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
s[i]=array[j];
}
return s;
}
void main()
{
int a[5][5]={{1,2,3,4,5},{6,7,8,9,1},{6,5,7,6,4},{6,7,8,6,6},{9,7,3,5,4}};
int b[5];
for(int i=0;i<5;i++)
{
for(int j=0;j<5;j++)
{
cout<<a[i][j];
}
cout<<endl;
}
int*ss=min((int*)a,b);
cout<<"各行的最小值分别是:"<<endl;
for(int k=0;k<5;k++)
{
cout<<ss[k]<<',';
}
cout<<endl;
}
只有在主函数中创建数组,在将指向数组的指针传给函数,返回值才能体现全部数组的变化。
如果在函数中创建数组再返回给主函数的话,只能得到数组的第一个值。
⑸ 如何用c语言作出有图形界面的小程序
那需要学VC。确切的说是要学MFC。
MFC编图形化程序也是很麻烦的,难学,繁琐。
其实你可以再学Java或者C#。
Java本身也不适合做图形化应用程序,但是比MFC要简单得多。
C#则是当前做图形化程序最简单高效的了,不需要编程单靠鼠标拖拽就能做出图形界面。特别是C#的WPF图形框架更是把图形化编程简化到了极限。
所以强烈建议学C#。
C#语言综合Java和C++的优点。Java和C++都源自C语言。所以学C#之前最好先学一下C++,C、C++、C#可以说是一脉相承,向下兼容的。
总之,学图形化编程比较好的顺序是:
C(结构化语言,入门)-> C++(面向对象语言,铺垫) -> C# (享受快速图形化开发吧)
忘解释那几个名词了,补上:
集成开发环境:就是IDE,一类开发工具。
你的代码本来可以直接在记事本里写完,然后命令行下调用编译器编译就能执行了。
集成开发环境将代码编辑、代码编译执行、代码调试功能集成在一起(甚至集成更多功能),使开发人员的开发变得更加高效。比如Visual C++ 6.0就是一个集成开发环境,还有Eclipse、CodeBlocks、Visual Studio等都是。
图形API:进行图形化编程的应用程序编程接口(application programming interface:API)
你的程序通过调用这些接口来直接生成标准的图形控件,比如按钮、文本框之类的,不需要你手动写实现这些控件的方法,只需要调用图形化API的方法就能自动生成。这些API都是将有关图形化的具体实现类封装在类库中向开发者提供,简化图形化开发。MFC就是为C和C++提供的图形化API,确切的说是Windows系统的图形化API。而WinForm和WPF就是为C#提供的图形化API。这些API都是微软提供的。当然Linux等其他系统有自己的图形化API。
GUI:图形用户接口(Graphical User Interface)
这个其实就是应用程序界面的意思。命令行下输入命令的方式来进行操作那叫命令行接口,有了应用程序界面后,可以通过鼠标进行操作。这些界面就是GUI了。由于图形界面只是方便用户操作,具体的内部实现还是命令行方式完成的,因此称界面为接口。
⑹ C语言 画图形
initgraph(&gdriver, &gmode, "c:\\tc");
这句c:\\tc 是指向图形驱动所在位置的,如果你TC安装在c盘跟目录下才这样写,否则需要自己改路径。
还有bar3d这个函数参数不对
函数名: bar3d
功 能: 画一个三维条形图
用 法: void far bar3d(int left, int top, int right, int bottom,
int depth, int topflag);
要6个参数
⑺ c语言图形编程
我试了一下,发现两个问题
第一个呢是我个人机器上的devcpp没有graphics.h文件,自然也没有对应的库。这个会报DETECT未定义。
第二个呢,"C:\Program Files\WINYES\TC20H\BGI"这里,斜杠都要写成双斜杠。这应该是你的问题所在了~
希望有帮助
⑻ 高手进:如何在WINDOWS下用C语言编写图形函数
1、图形编程都是用的纯C函数库,
比如Windows的GDI,还有DirectX,以及开源的OpenGL。这些都是纯C库,也就是说会C语言就能开发图形界面和游戏了。C++当然也可以调用这些函数库,但不是必要的。
2、学GDI的话最好的书是《Windows程序设计.chm》这个文档,这东西网上到处都有。
学OpenGL的话,有个网站Nehe有完整的教学。人翻译了这个教程的中文版,google
“Nehe
opengl”
就能找到了。
⑼ C语言图形解析
struct fillsettingstype save;gdriver=DETECT; //?(DETECT是什么意识)
initgraph用到gdriver变量,意思是,自己在当前目录下找图形驱动程序。
initgraph(&gdriver,&gmode,"c:\\tc"); //? 初始化图形驱动程序
cleardevice(); //? 清屏
setcolor是设定前景色啊
closegraph(); //? 是退出图形模式
getch(); //? 让你输入一个字符,
setfillpattern(str, RED); //? 设定填充模式,你不是画条形图了吗。
⑽ C语言图形处理代码解释
解释什么? 很清楚啊!