当前位置:首页 » 编程语言 » c语言可视化训练
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言可视化训练

发布时间: 2022-07-22 17:26:03

① C 语言可视化编程

具体的书倒是真没多少,但是要具体学什么,可以给你条明路:
的确是只要c语言,不要质疑他的能力,只是要学会调用很多别人写出来的函数
要可视化编程,windows系统是最好的平台,而要制作窗口,就要学会WinAPI中关于消息,关于窗口一类的很多函数
而现在就是UI的问题了,两条路,想普通一点,学会WinGDI,这个直接上网查,我记得好像是有书的。
要是想要画面效果好一点的话,就可以学OpenGL,同时学习像素格式。
其他的,就是各种变态精妙的算法,思路了,有待楼主自己研究了。
我的想法是,如果想用C写出好的可视化程序,最好是把画画面和运算分开来,简单地说,最好学会多线程编程,这是我的经验,尤其是时间性比较强的程序。
其他的,多媒体的话,
相关的关键字,有兴趣的话楼主自己网络一下好了

OpenCV
OpenAL
winmm.lib
OpenGL
WinGDI
Windows窗口函数
像素格式
C语言多线程(找和CreateThread 相关的)
多媒体编程的知识两巨大,楼主要耐心吸收啊,最好的学习办法就是疯狂的实验。

② 请问用C语言可以实现可视化编程吗

我想你问的是c语言可不可以写窗口化的程序,因为初学c语言,都是控制台开始的。语言只是一种工具,可视化窗口只是调用了底层的api,不管你用c++写,用c写,用java,用c#只要调用了底层的api,都可以实现窗口的构建显示等,而和特定的语言没有多大关系,c写窗口化程序确实不多,应该说是在应用层不多,在底层用地比较多,写win32是用c的,但是现在用mfc的比较多,

③ 如何用C语言写出可视化程序

可以。。有专门的接口,函数,api,,。。
但现在基本上不用它来写可视化程序,,,十分费劲。。需要了解的东西也更多。。
而写写
控制台的程序还可以。。。。
就像我们熟知的
ping
程序就可以。。用c来写。。。(好像就是它写的吧。。呵呵。。

④ 怎样用c语言在vc上编写可视化

用API函数来编程,完全可以实现可视化的应用。
#include <windows.h>
#include "resource.h"

#define _UNICODE
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
static TCHAR szAppName[] = TEXT ("CommonDlg") ;
HWND hwnd ;
MSG msg ;
WNDCLASS wndclass ;

wndclass.style = CS_HREDRAW | CS_VREDRAW ;
wndclass.lpfnWndProc = WndProc ;
wndclass.cbClsExtra = 0 ;
wndclass.cbWndExtra = 0 ;
wndclass.hInstance = hInstance ;
wndclass.hIcon = LoadIcon (hInstance, MAKEINTRESOURCE(IDI_MYICON)) ;
wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ;
wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ;
wndclass.lpszMenuName = MAKEINTRESOURCE(IDM_MYMENU) ;
wndclass.lpszClassName = szAppName ;

if (!RegisterClass (&wndclass))
{
MessageBox (NULL, TEXT ("This program requires Windows NT!"),
szAppName, MB_ICONERROR) ;
return 0 ;
}

hwnd = CreateWindow (szAppName, // window class name
TEXT ("CommonDlg"), // window caption
WS_OVERLAPPEDWINDOW, // window style
CW_USEDEFAULT, // initial x position
CW_USEDEFAULT, // initial y position
CW_USEDEFAULT, // initial x size
CW_USEDEFAULT, // initial y size
NULL, // parent window handle
NULL, // window menu handle
hInstance, // program instance handle
NULL) ; // creation parameters

ShowWindow (hwnd, iCmdShow) ;
UpdateWindow (hwnd) ;

while (GetMessage (&msg, NULL, 0, 0))
{
TranslateMessage (&msg) ;
DispatchMessage (&msg) ;
}
return msg.wParam ;
}

LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
HDC hdc ;
PAINTSTRUCT ps ;
RECT rect ;
HBRUSH hbrush ;
CHOOSECOLOR cc ; //颜色对话框结构
static COLORREF rgbColorDlg, rgbFontDlg ;
static COLORREF acrCustClr[16];

CHOOSEFONT cf; // 字体对话框结构
static LOGFONT lf; // 逻辑字体的结构
static HFONT hfont, hfontPrev;

OPENFILENAME ofn; // 打开、另存为对话框结构
static TCHAR szFile[MAX_PATH]; //存储路径、文件名的缓冲区
static TCHAR szFilter[] = TEXT ("Common Dialog Files (*.CDF)\0*.cdf\0")
TEXT ("文本文件 (*.TXT)\0*.cdf\0")
TEXT ("All Files (*.*)\0*.*\0\0") ;

switch (message)
{
case WM_COMMAND:
switch(LOWORD(wParam))
{
case IDM_FILE_OPEN: // 创建"打开"通用对话框

ZeroMemory(&ofn, sizeof(OPENFILENAME));
ofn.lStructSize = sizeof(OPENFILENAME);
ofn.hwndOwner = hwnd;
ofn.lpstrFilter = szFilter ;
ofn.nFilterIndex = 1;
ofn.lpstrFile = szFile;
ofn.nMaxFile = MAX_PATH ;
ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;

// 创建对话框,若对话框结束后返回TRUE,则将ofn的lpstrFile域中返回
// 文件名复制到缓冲区szFile

if (GetOpenFileName(&ofn) == TRUE)
{
strcpy(szFile, ofn.lpstrFile );
MessageBox(hwnd, szFile, "打开完毕", MB_OK | MB_ICONINFORMATION) ;
}
return 0 ;

case IDM_FILE_SAVE: // 创建"另存为"通用对话框
ZeroMemory(&ofn, sizeof(OPENFILENAME));
ofn.lStructSize = sizeof(OPENFILENAME);
ofn.hwndOwner = hwnd;
ofn.lpstrFilter = szFilter ;
ofn.nFilterIndex = 1;
ofn.lpstrFile = szFile;
ofn.nMaxFile = MAX_PATH ;
ofn.lpstrDefExt = TEXT(".cdf") ;
ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;

// 创建对话框,若对话框结束后返回TRUE,则将ofn的lpstrFile域中返回
// 文件名复制到缓冲区szFile

if (GetSaveFileName(&ofn) == TRUE)
{
strcpy(szFile, ofn.lpstrFile );
MessageBox(hwnd, szFile, "保存完毕", MB_OK | MB_ICONINFORMATION) ;
}
return 0;

case IDM_FILE_EXIT:
PostMessage(hwnd, WM_QUIT, wParam, lParam);
return 0 ;

case IDM_SET_FONT: // 创建"字体"通用对话框

ZeroMemory(&cf, sizeof(CHOOSEFONT)) ;
cf.lStructSize = sizeof (CHOOSEFONT);
cf.hwndOwner = hwnd;
cf.lpLogFont = &lf;
cf.rgbColors = rgbFontDlg ;
cf.Flags = CF_SCREENFONTS | CF_EFFECTS;

// 对话框结束返回若为TRUE,则以返回的字体信息创建逻辑字体
if (ChooseFont(&cf)==TRUE)
{
hfont = CreateFontIndirect(cf.lpLogFont);
rgbFontDlg = cf.rgbColors;
}

InvalidateRect(hwnd, NULL, TRUE) ;
return 0 ;

case IDM_SET_COLOR: // 创建"颜色"通用对话框

ZeroMemory(&cc, sizeof(CHOOSECOLOR));
cc.lStructSize = sizeof(CHOOSECOLOR);
cc.hwndOwner = hwnd;
cc.lpCustColors = (LPDWORD) acrCustClr;
cc.Flags = CC_FULLOPEN ;

if (ChooseColor(&cc) == TRUE)
{
rgbColorDlg = cc.rgbResult;
hbrush = CreateSolidBrush(rgbColorDlg);
SetClassLong(hwnd, GCL_HBRBACKGROUND, (LONG)hbrush);// 改变客户区的颜色
}
InvalidateRect(hwnd, NULL, TRUE) ;

return 0 ;

}
break;

case WM_PAINT:
hdc = BeginPaint (hwnd, &ps) ;
GetClientRect(hwnd, &rect) ;

if(rgbColorDlg != 0)
SetBkColor(hdc, rgbColorDlg);

if(hfont != 0 )
{
SelectObject(hdc, hfont);
SetTextColor(hdc, rgbFontDlg);
}

DrawText(hdc, TEXT("通用对话框"), -1 , &rect, DT_CENTER | DT_VCENTER | DT_SINGLELINE);

EndPaint (hwnd, &ps) ;
return 0 ;

case WM_DESTROY:
PostQuitMessage (0) ;
return 0 ;
}
return DefWindowProc (hwnd, message, wParam, lParam) ;
}
是否能看懂

⑤ C语言怎么做可视化界面教程

纯C的可视化GUI开发比较简单,win下用
win
32sdk,然后gtk库可以做跨平台,c++的话qt是个强大的跨平台图形库。
如果你是
WIN32
平台,那教程太多了,推荐MSDN和微软技术丛书系列的。

⑥ 如何学习C语言,想过2级。但学不进去,不知道从那抓起该如何训练书籍自学的话需要怎样的学习方式

我大学的教材 谭浩强的 <C语言程序设计> 学习语言如果不是只想写个脚本 还要学习数据结构和算法 等你看完 那本C语言的书 推荐 清华的 <C语言数据结构>作者严蔚敏 同时要学习 离散数学 都学完后买本机械工业出版社的国外教材<算法导论> 最后买本《C primer plus》 把上面的例子都自己调试一边 应该算是精通C语言了 有了数据结构和算法的底子 转其他语言也方便 做程序也要注重数学的学习 因为有算法就是建立在数学模型之上 比如神经网络 粒子群算法等等 没有数学底子 根本看不懂 而且程序=算法+数据结构 祝你学习顺利

⑦ c语言能实现可视化吗

1、可使用微软的Windows API进行可视化编程,实质上C++也没有可视化的东西,只是在VC编C++时用了微软的工具编出了可视化界面 。

2、如果要vb那样拖控件请用LabWindow CVI,C语言可以写窗口程序 ,可以看Window程序设计第五版 、Linux GTK+2.0编程范例 (gtk+开源且跨平台 支持windows的,比windows api 编程要容易上手)。

⑧ 如何用C语言编程出可视化界面

//调用api函数创建窗口

//示例:

#include <windows.h>


LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);//窗口过程函数


int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)

{

static TCHAR szAppName[] = TEXT("MyWindows");//定义窗口类名

HWND hwnd;//窗口句柄

MSG msg; //

WNDCLASS wndclass; //窗口类


wndclass.style = CS_HREDRAW | CS_VREDRAW;//指定窗口类型,各种“类风格”(详见下方↓)可以使用按位或操作符组合起来

wndclass.lpfnWndProc = WndProc;//指定窗口过程(必须是回调函数)

wndclass.cbClsExtra = 0;//预留的额外空间,一般为 0

wndclass.cbWndExtra = 0;//预留的额外空间,一般为 0

wndclass.hInstance = hInstance;//应用程序的实例句柄

wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);//为所有基于该窗口类的窗口设定一个图标

wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);//为所有基于该窗口类的窗口设定一个鼠标指针

wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);//指定窗口背景色

wndclass.lpszMenuName = NULL;//指定窗口菜单

wndclass.lpszClassName = szAppName;//指定窗口类名


if (!RegisterClass(&wndclass))//注册窗口

{

MessageBox(NULL, TEXT("这个程序需要在 Windows NT 才能执行!"), szAppName, MB_ICONERROR);

return 0;

}


hwnd = CreateWindow(szAppName, //创建窗口

TEXT("windows"),

WS_OVERLAPPEDWINDOW,

CW_USEDEFAULT,

CW_USEDEFAULT,

CW_USEDEFAULT,

CW_USEDEFAULT,

NULL,

NULL,

hInstance,

NULL);


ShowWindow(hwnd, iCmdShow); //显示窗口

UpdateWindow(hwnd); //更新窗口,重绘


while (GetMessage(&msg, NULL, 0, 0)) //获得消息

{

TranslateMessage(&msg);

DispatchMessage(&msg);

}


return msg.wParam;

}


LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)//回调函数

{

HDC hdc;

PAINTSTRUCT ps;

RECT rect;


switch (message)

{

case WM_PAINT:

hdc = BeginPaint(hwnd, &ps);

GetClientRect(hwnd, &rect);

DrawText(hdc, TEXT("第一个C语言窗口程序!"), -1, &rect,

DT_SINGLELINE | DT_CENTER | DT_VCENTER);

EndPaint(hwnd, &ps);

return 0;


case WM_DESTROY:

PostQuitMessage(0);

return 0;

}


return DefWindowProc(hwnd, message, wParam, lParam);

}

⑨ 请问高手vc++6.0怎样用c语言可视化编程,最好有详细步骤,谢谢!

VC++不像VB一样,拖放控件就可以制作GUI,一般情况下VC++是通过MFC或者是更复杂的WINDOWS API来制作GUI的,这些内容在这里是说不清楚的,请参阅有关VC++和WINDOWS程序设计的书籍。

⑩ C如何进行可视化编程

C语言一般用于底层的编程,像可视化编程这样的事由更高的高级语言如C++,JAVA等来实现,而且操作简单,构建方便。C语言在操作系统的编写和嵌入式中用的比较多。