當前位置:首頁 » 編程軟體 » 如何用c語言編譯圖形

如何用c語言編譯圖形

發布時間: 2022-05-03 01:08:44

A. VisualStudio怎麼用c語言進行圖形編程

新建一個項目、選擇win32項目,應用程序為windows程序,附加選項為空;在源代碼目錄中添加一個後綴為.c的源文件。接下來就可以寫C代碼了。

用c語言中通過調用windows的api函數,來顯示窗口、菜單、滾動條、屏幕輸出。

在《windows程序設計》一書中就有一個例子,顯示一個標準的windows窗口,並在繪圖區顯示一個字元串。代碼如下:

#include<windows.h>

LRESULTCALLBACKWndProc(HWND,UINT,WPARAM,LPARAM);

intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,PSTRszCmdLine,intiCmdShow)
{
staticTCHARszAppName[]=TEXT("HelloWin");
HWNDhwnd;
MSGmsg;
WNDCLASSwndclass;

wndclass.style=CS_HREDRAW||CS_VREDRAW;
wndclass.lpfnWndProc=WndProc;
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=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("ThisprogramrequiresWindowsNT!"),szAppName,MB_ICONERROR);
return0;
}
hwnd=CreateWindow(szAppName,
TEXT("TheHelloProgram"),
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);
}
returnmsg.wParam;
}

LRESULTCALLBACKWndProc(HWNDhwnd,UINTmessage,WPARAMwParam,LPARAMlParam)
{
HDChdc;
PAINTSTRUCTps;
RECTrect;

switch(message)
{
caseWM_CREATE:
//PlaySound(TEXT("C:\WindowsNotify.wav"),NULL,SND_FILENAME|SND_ASYNC);
return0;
caseWM_PAINT:
hdc=BeginPaint(hwnd,&ps);
GetClientRect(hwnd,&rect);
DrawText(hdc,TEXT("Hello,Windows98!"),-1,&rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER);
EndPaint(hwnd,&ps);
return0;
caseWM_DESTROY:
PostQuitMessage(0);
return0;
}
returnDefWindowProc(hwnd,message,wParam,lParam);
}


復制到剛才的.c文件中即可以編譯運行。

B. 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. C語言中如何編寫圖形界面

最關鍵是要頭文件 "graphics.h"
#include<graphics.h>/*列印一個SINX曲線*/
#include<math.h>
void main()
{
int driver,mode,x,y1,y2,i,j,n;
driver=DETECT;
mode=0;
initgraph(&driver,&mode,"");/*初使化必須有*/
setcolor(RED);
for(x=-300;x<=500;x++)
{
if(x%2==0)
{ i=x;
y1=(int)80*sin(0.05*x)+100;
putpixel(i,y1,YELLOW);
}
else{j=x;
y2=(int)80*sin(0.05*x)+100;
putpixel(j,y2,RED);
lineto(i,y1);
}
}
line(0,100,1000,100);
line(0,0,0,1000);
getch();
closegraph();/*關閉*/
}


D. 如何用C語言編出圖形界面,有什麼書或教程

如果
編譯器
是VC或VS,可以參考MFC的教材,如《
深入淺出MFC
》,這本比較深奧,要是想快速上手,建議從視頻教材開始一步步照著做。
除了MFC,還可以找找關於QT的書籍,QT也是專門用來編
圖形界面
的。
希望對你有所幫助

E. 用C語言 編譯組成圖形。。。

#include<stdio.h>
int main()
{
int m,n,i,t,j;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(m=n+1-i;m>1;m--)
{
printf(" ");
}
for(t=2*i-1;t>=1;t--)
{
j=t+n-i;
if((((i%2==0)&&(j%2==0)))||((i%2!=0)&&(j%2!=0)))
printf("*");
else
printf(" ");

}
printf("\n");
}
for(i=n-1;i>=1;i--)

{
for(m=1;m<=n-i;m++)
{
printf(" ");
}
for(t=2*i-1;t>=1;t--)
{
j=t+n-i;
if((((i%2==0)&&(j%2==0)))||((i%2!=0)&&(j%2!=0)))
printf("*");
else
printf(" ");
}
printf("\n");
}
return 0;
}

F. C語言圖形編譯

獨立圖形運行程序的建立
Turbo C對於用initgraph()函數直接進行的圖形初始化程序, 在編譯和鏈接
時並沒有將相應的驅動程序(*.BGI)裝入到執行程序, 當程序進行到intitgraph()
語句時, 再從該函數中第三個形式參數char *path中所規定的路徑中去找相應的
驅動程序。若沒有驅動程序, 則在C:\TC中去找, 如C:\TC中仍沒有或TC不存在,
將會出現錯誤:
BGI Error: Graphics not initialized (use 'initgraph')
因此, 為了使用方便, 應該建立一個不需要驅動程序就能獨立運行的可執行
圖形程序,Turbo C中規定用下述步驟(這里以EGA、VGA顯示器為例):
1. 在C:\TC子目錄下輸入命令:BGIOBJ EGAVGA
此命令將驅動程序EGAVGA.BGI轉換成EGAVGA.OBJ的目標文件。
2. 在C:\TC子目錄下輸入命令:TLIB LIB\GRAPHICS.LIB+EGAVGA
此命令的意思是將EGAVGA.OBJ的目標模塊裝到GRAPHICS.LIB庫文件中。
3. 在程序中initgraph()函數調用之前加上一句:
registerbgidriver(EGAVGA_driver):

G. c語言編程如何實現圖形化

這要看你所使用的系統平台,圖形化編程與系統平台息息相關

對於C語言來說,有許多成熟的框架。比如Windows上可使用Windows的系統API,Linux下有GTK,嵌入式環境下有miniGUI等。

C語言是一門比較特殊的語言,雖然也是高級編程語言的一種,但是為了和其他語言區分開來,部分人也會將C語言稱作中級語言,主要是因為C語言不是面向對象的語言,並且有指針這樣的利器可以直接對底層以及硬體進行操作。

正是因為C語言不是面向對象的語言,在圖形化這樣更偏上層的應用中,一般會使用C++替代C語言,這樣能極大的降低開發的工作量。
比如,Windows下可使用MFC,WPF也支持C++。Linux下一般用跨平台的QT(可在Windows/MAC等多種平台運行)。嵌入式環境下有嵌入式的QT版本。

H. 如何編寫C語言圖形程序

一、打開C程序的方法

方法1.在Turbo C for Windows 集成實驗與學習環境中,依次用滑鼠單擊「文件/打開」菜單(用滑鼠單擊「工具欄」中的「打開」按鈕,打開「打開」對話框,選者你要打開的文件,然後單擊「打開」即可。
圖 1 打開文件

方法2 在Turbo C for Windows 集成實驗與學習環境中的「我的程序」下用滑鼠雙擊你要打開的C程序即可(此處列出最近使用的8個文件)
圖 2 在「我的程序」中打開程序

方法3在Turbo C for Windows 集成實驗與學習環境中,依次用滑鼠單擊「文件/我的程序」菜單,打開「我的程序」對話框,選者你要打開的文件,然後單擊「打開」即可

圖 3

方法 4 在「我的電腦」中打開C程序。在我的電腦」中找到你的程序所在的文件夾,用滑鼠雙擊你要打開圖標中帶「C」的程序即可。
在「我的電腦」中打開C程序

二、新建C程序的方法

注意:C語言的初學者往往在一個C程序文件中輸入幾個C程序,這是錯誤的。一個C程序只能保存在一個文件中。輸入第二程序時必須再新建一個文件來輸入保存。

方法1 Turbo C for Windows 集成實驗與學習環境中,依次用滑鼠單擊「文件/新建」菜單,即可新建一個空白C文件。

I. 如何用c語言編寫圖形

標準的C是沒有圖形庫的 圖形庫都是第3方的擴展的 比如 TC2.0 的graphics.h等等

用C寫一般的Win32應用程序一般都是 VC6.0 (API 或者 MFC 就是你所說的能有按鍵那些的程序), 所以它要很好的C基礎甚至C++基礎才能學好 , 現在不要煩那個 黑不隆冬的dos界面 ,它是你學Win32應用程序的基礎.所以我非常建議你認真把C讀好,它的功能真的很強,一般高級語言能寫的東西,他一般也是行的.

J. 如何用c語言編譯輸出如下圖形

#include "stdio.h"
#include "math.h"
#define N 5
void main()
{
int i,j,r,m=1;
int k = N-1;
int p = (N*(N-1))/2;//最大數為幾位數,輸出j後面空幾格

for(i=1;i<N;i++)
{

for(r=0;r<= 2*k;r++)
{
printf("%c",' ');
}
k--;

for(j=m;j<m+i;j++)
{
printf("%-d ",j);

}
m=j;
printf("\n");
}
getchar();
}
關於p你可以在想想怎麼輸出,數值大了以後後面的輸出就不能顯示金字塔了。VS通過

熱點內容
php花生 發布:2025-05-14 12:54:30 瀏覽:549
java人才 發布:2025-05-14 12:29:10 瀏覽:649
如何打開軟密碼 發布:2025-05-14 12:28:55 瀏覽:427
七牛存儲待遇 發布:2025-05-14 12:27:20 瀏覽:422
C語言a35a4a5 發布:2025-05-14 11:53:48 瀏覽:813
android隱藏item 發布:2025-05-14 11:43:56 瀏覽:328
javawebeclipse編譯 發布:2025-05-14 11:35:24 瀏覽:938
可編程式控制制器試題 發布:2025-05-14 11:25:32 瀏覽:121
dsp混合編程 發布:2025-05-14 11:23:10 瀏覽:250
mysql添加存儲過程 發布:2025-05-14 11:23:01 瀏覽:882