当前位置:首页 » 编程语言 » c语言不用库函数可以写图形吗
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言不用库函数可以写图形吗

发布时间: 2023-03-30 08:43:13

A. 现在用c语言编写图形界面程序(软件)都用什么编译环境(工具)

在Windows 操作系统中编写图形用户界面,一般都用 Visual C++(包括 Visual Studio 中的 Visual C++)。如果像楼主所说的,要用C语言,那只能用 Windows API 函数了。如果还允许C++语言,那么还可以用MFC(当然也可以用 Windows API 函数)。
当然,也可以不用微软的库,比如说用Qt之类的库。

==========================================================

在Linux操作系统中编写图形用户界面,就用gcc编译器加上Xlib库或者gtk库或者Qt库。如果允许使用C++语言,那可以用g++编译器,上面三个库都可以用,另外还可以用wxWidgets库。

B. 不用库,如何用C语言画画圆/椭圆几何图形

我只能这样告李腔祥诉你
用*围成哪搏圆芹圆形椭圆形
不用库,就自己编个库(但是程序员都不一定能编出来)

C. C语言游戏程序,要求不使用任何辅助库函数例如graphics.h等,来写一个程序,因为要在Minix这个最简单的操

很简单。那你就用控制台,编写字符输入响应的程序就是了。

不一定要用图形界面的。用字符屏幕也行。printf和scanf的组合就能完成。

你想要什么界面就用printf,输出就是了。

//还有一种方法,就是直接写显存。这种方法不用graphics头文件。但你要弄清楚这个操作系统的显存起始地址,并且算好要写的地址偏移,所有的颜色什么的全用二进制或者16进制的编码赋值,所有的画图,全用对应的画点算法画出,动画效果采用类似桢切换的方式进行(写好一桢的显存,替换掉原来的显存内容)。这种做法咋一看根本就不是什么画图,但实质却是效率最高的画图。 这种做法对C语言的编程技能要求比较高。

D. 高手进:如何在WINDOWS下用C语言编写图形函数

1、图形编程都是用的纯C函数库,
比如Windows的GDI,还有DirectX,以及开源的OpenGL。这些都是纯C库,也就是说会C语言就能开发图形界面和游戏了。C++当然也可以调用这些函数库,但不是必要的。
2、学GDI的话最好的书是《Windows程序设计.chm》这个文档,这东西网上到处都有。
学OpenGL的话,有个网站Nehe有完整的教学。人翻译了这个教程的中文版,google
“Nehe
opengl”
就能找到了。

E. C语言必须包含库函数对不对,为什么

不对,一些非常简单的程序不用库函数也可以通过编译,库函数也是函数,没用到自然不用包含

F. C语言图形界面怎么做出来

这是最简单的界面程序://c++.cpp:定义应用程序的入口点。

//

#include"stdafx.h"

#include"c++.h"

#defineMAX_LOADSTRING100

//全局变量:

HINSTANCEhInst; //当前实例

TCHARszTitle[MAX_LOADSTRING]; //标题栏文本

TCHARszWindowClass[MAX_LOADSTRING]; //主窗口类名

//此代码模块中包含的函数的前向声明:

ATOM MyRegisterClass(HINSTANCEhInstance);

BOOL InitInstance(HINSTANCE,int);

LRESULTCALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);

INT_PTRCALLBACK About(HWND,UINT,WPARAM,LPARAM);

intAPIENTRY_tWinMain(HINSTANCEhInstance,

HINSTANCEhPrevInstance,

LPTSTRlpCmdLine,

intnCmdShow)

{

UNREFERENCED_PARAMETER(hPrevInstance);

UNREFERENCED_PARAMETER(lpCmdLine);

//TODO:在此放置代码。

MSGmsg;

HACCELhAccelTable;

//初始化全局字符串

LoadString(hInstance,IDS_APP_TITLE,szTitle,MAX_LOADSTRING);

LoadString(hInstance,IDC_C,szWindowClass,MAX_LOADSTRING);

MyRegisterClass(hInstance);

//执行应用程序初始化:

if(!InitInstance(hInstance,nCmdShow))

{

returnFALSE;

}

hAccelTable=LoadAccelerators(hInstance,MAKEINTRESOURCE(IDC_C));

//主消息循环:

while(GetMessage(&msg,NULL,0,0))

{

if(!TranslateAccelerator(msg.hwnd,hAccelTable,&msg))

{

TranslateMessage(&msg);

DispatchMessage(&msg);

}

}

return(int)msg.wParam;

}

//

//函数:MyRegisterClass()

//

//目的:注册窗口类。

//

//注释:

//

//仅当希望

//此代码与添加到Windows95中的“RegisterClassEx”

//函数之前的Win32系统兼容时,才需要此函数及其用法。调用此函数十分重要,

//这样应用程序就可以获得关联的

//“格式正确的”小图标。

//

ATOMMyRegisterClass(HINSTANCEhInstance)

{

WNDCLASSEXwcex;

wcex.cbSize=sizeof(WNDCLASSEX);

wcex.style =CS_HREDRAW|CS_VREDRAW;

wcex.lpfnWndProc =WndProc;

wcex.cbClsExtra =0;

wcex.cbWndExtra =0;

wcex.hInstance =hInstance;

wcex.hIcon =LoadIcon(hInstance,MAKEINTRESOURCE(IDI_C));

wcex.hCursor =LoadCursor(NULL,IDC_ARROW);

wcex.hbrBackground =(HBRUSH)(COLOR_WINDOW+1);

wcex.lpszMenuName =MAKEINTRESOURCE(IDC_C);

wcex.lpszClassName =szWindowClass;

wcex.hIconSm =LoadIcon(wcex.hInstance,MAKEINTRESOURCE(IDI_SMALL));

returnRegisterClassEx(&wcex);

}

//

//函数:InitInstance(HINSTANCE,int)

//

//目的:保存实例句柄并创建主窗口

//

//注释:

//

//在此函数中,我们在全局变量中保存实例句柄并

//创建和显示主程序窗口。

//

BOOLInitInstance(HINSTANCEhInstance,intnCmdShow)

{

HWNDhWnd;

hInst=hInstance;//将实例句柄存储在全局变量中

hWnd=CreateWindow(szWindowClass,szTitle,WS_OVERLAPPEDWINDOW,

CW_USEDEFAULT,0,CW_USEDEFAULT,0,NULL,NULL,hInstance,NULL);

if(!hWnd)

{

returnFALSE;

}

ShowWindow(hWnd,nCmdShow);

UpdateWindow(hWnd);

returnTRUE;

}

//

//函数:WndProc(HWND,UINT,WPARAM,LPARAM)

//

//目的:处理主窗口的消息。

//

//WM_COMMAND -处理应用程序菜单

//WM_PAINT -绘制主窗口

//WM_DESTROY -发送退出消息并返回

//

//

LRESULTCALLBACKWndProc(HWNDhWnd,UINTmessage,WPARAMwParam,LPARAMlParam)

{

intwmId,wmEvent;

PAINTSTRUCTps;

HDChdc;

switch(message)

{

caseWM_COMMAND:

wmId=LOWORD(wParam);

wmEvent=HIWORD(wParam);

//分析菜单选择:

switch(wmId)

{

caseIDM_ABOUT:

DialogBox(hInst,MAKEINTRESOURCE(IDD_ABOUTBOX),hWnd,About);

break;

caseIDM_EXIT:

DestroyWindow(hWnd);

break;

default:

returnDefWindowProc(hWnd,message,wParam,lParam);

}

break;

caseWM_PAINT:

hdc=BeginPaint(hWnd,&ps);

//TODO:在此添加任意绘图代码...

EndPaint(hWnd,&ps);

break;

caseWM_DESTROY:

PostQuitMessage(0);

break;

default:

returnDefWindowProc(hWnd,message,wParam,lParam);

}

return0;

}

//“关于”框的消息处理程序。

INT_PTRCALLBACKAbout(HWNDhDlg,UINTmessage,WPARAMwParam,LPARAMlParam)

{

UNREFERENCED_PARAMETER(lParam);

switch(message)

{

caseWM_INITDIALOG:

return(INT_PTR)TRUE;

caseWM_COMMAND:

if(LOWORD(wParam)==IDOK||LOWORD(wParam)==IDCANCEL)

{

EndDialog(hDlg,LOWORD(wParam));

return(INT_PTR)TRUE;

}

break;

}

return(INT_PTR)FALSE;

}

G. 弱弱的问句:C语言能进行图形界面(GUI)开发吗

可以的 我现在就在用呢

1.可以用 winC ,就是直接在windows下编程。这个比较麻烦,因为所有的东西都必须自己写(如创建窗口,初始化等一些基本的)以前老师上课的时候讲过,理解了之后,感觉其实很简单,而且都是一个套路,看个例子就能明白的

2.可以用MFC创建界面,里面要具体实现的东西,直接用C语言写就可以了,很方便,其实MFC就是对winC的一种封装,就是第一点说的你要写的那些基本的东西(创建窗口,初始化之类的),他都给你弄好了,不用自己写,直接创建一个工程就OK了

3.可以创建C#工程,用C#创建界面(直接拖控件就行,像VB那样),然后,你要实现的东西用C语言写。或者,你先将要实现的东西,用C语言写好,编译成动态链接库DLL,然后在C#工程中调用该DLL。C#工程实际上就起到一个界面封装的目的,也比较方便

个人建议用 MFC

H. C语言中的图形函数是必须学的吗

你好!

不是必需的!

标准C语言里面并不包括图形库,如果要用C语言编写图形程序的话,就需要支持这些函数的第三方库。

我们常辩或局用的
C语言图形函数
一般包含在
<graphics.h>
头文件中。是由TC编译环境支持的。

这个编译器,团逗以及<graphics.h>图形库文件是由Borland公司开发的携让。

不过使用C做图形的话很复杂,而且界面做的也不是太好。这个我亲身体验过!

建议LZ使用C++的第三方公共图形接口来做图形,比如OPENCL和Direcit
x,这些是当前的主流。

其他的,比如键盘、鼠标、声音等,虽然C语言也可以做,但对于这些比较靠近底层的东西,建议还是多看看windows
的API函数。

I. C语言可以做成图形界面吗

C语言可以做图形界面。
C语言中要做图形见面,首先需要设置为图形模式,确定显卡类型,对屏幕进行初始化等等。相关的函数如下:
1. detectgraph() 显示卡检测函数
2. initgraph() 图形初始化函数
3. getdrivername() 获取图形驱动程序名的指针
4. getgraphmode() 获取图形模式函数
5. getmoderange()获取模式值范围函数
6. getmaxmode()获取最大显示模式函数
7. getmodename()获取显示模式名函数
8. graphdefaults()图形设置复位缺省值函数
9. setgraphmode() 设置图形模式函数
10. restorecrtmode() 恢复文本显示模式函数
11. graphresult() 图形操作结果函数
12. grpaherrormsg() 图形错误信息函数
13. setgraphbufsize()设置图形缓冲区大小函数
14. setactivepage() 设置可输出显示页函数
15. setvisualpage() 设置可见显示页数
16. closegraph()关闭图形模式函数
希望以上回答对你有帮助,谢谢。

J. C语言中的图形函数是必须学的吗

你好!不是必需的!标准C语言里面并不包括图形库,如果要用C语键前言编写图形程序的话,就需要支持这些函数的第三方库。我们常用的C语言图形函数一般包含在<graphics.h>头文件中。是由TC编译环境支持的。这个编译器,以及<graphics.h>图形库文件是由Borland公司开发桥亮纳的。不过使用C做图形的话很复杂,而且界面做的也不是太好。这个我亲身体验过!建议LZ使用C++的第三方公共图形接口来做图形,比如OPENCL和Direcit x,这些是当前的主流。其他的,比如键盘、鼠标、声音等,虽然C语言也可以做,敏没但对于这些比较靠近底层的东西,建议还是多看看windows 的API函数。