㈠ 用c語言程序編出漂亮的圖畫
我有個花的.
呵呵.
#include <dos.h>
#include <graphics.h>
/*花兒*/
void hua(int x,int y)
{
register i;
setcolor(12);
arc(x+65,y-60,150,350,8);
arc(x+66,y-54,300,470,8);
arc(x+65,y-56,30,230,10);
arc(x+64,y-57,300,460,17);
ellipse(x+73,y-30,250,450,27,40);
ellipse(x+59,y-30,100,290,27,40);
ellipse(x+65,y-40,140,270,20,30);
setfillstyle(SOLID_FILL,5);
floodfill(x+65,y-20,12);
arc(x,y,150,350,12);
arc(x+1,y+8,280,470,12);
arc(x,y+2,30,230,16);
arc(x,y+3,80,240,28);
arc(x+2,y+8,180,330,22);
arc(x-2,y+2,310,460,25);
ellipse(x-12,y+30,120,300,30,40);
ellipse(x+10,y+28,250,423,30,42);
ellipse(x-4,y+10,290,393,30,40);
setfillstyle(SOLID_FILL,4);
floodfill(x+5,y+31,12);
ellipse(x+120,y+5,0,360,15,25);
setfillstyle(SOLID_FILL,15);
floodfill(x+120,y,12);
ellipse(x-70,y+10,0,360,14,20);
setfillstyle(SOLID_FILL,14);
floodfill(x-70,y+10,12);
setcolor(10);
ellipse(x-15,y+32,190,310,30,35);
ellipse(x+16,y+32,235,355,26,35);
ellipse(x,y+35,190,350,43,50);
arc(x,y+82,190,350,6);
setfillstyle(SOLID_FILL,2);
floodfill(x,y+75,10);
ellipse(x+50,y-48,190,320,22,50);
ellipse(x+80,y-48,220,350,22,50);
ellipse(x+65,y-28,180,360,36,50);
floodfill(x+65,y+18,10);
for(i=0;i<3;i++)
{
ellipse(x-98,y+100+i,255,371,100,80);
ellipse(x-20,y+30+i,260,358,140,140);
ellipse(x+233,y+20+i,180,218,160,140);
}
ellipse(x+70,y+34,180,233,140,140);
ellipse(x,y+40,205,255,100,120);
ellipse(x+135,y-30,209,249,72,120);
ellipse(x,y+20,263,301,100,120);
ellipse(x+85,y-10,278,305,100,120);
ellipse(x+100,y-62,282,308,90,120);
ellipse(x-50,y-10,277,314,30,120);
ellipse(x+70,y+80,222,266,52,120);
ellipse(x-60,y-45,229,266,52,120);
ellipse(x+79,y-45,229,266,52,120);
ellipse(x+84,y,224,273,52,120);
ellipse(x+110,y+40,240,282,100,120);
ellipse(x+120,y-6,200,340,17,25);
ellipse(x+120,y+7,160,380,17,27);
ellipse(x-70,y+15,140,380,17,20);
}
/*主程序*/
main()
{
int driver=VGA,mode=2;
initgraph(&driver,&mode,"");
cleardevice();
hua(480,90);
setcolor(10);
rectangle(0,0,639,479);
getch();
closegraph();
}
必須是TC編譯
㈡ 用C語言能把程序的界面做的很漂亮嗎
c 語言 可以做出非常漂亮的界面。理論上界面只不過是計算機對每一個像素的控制而已。c 完全有這種能力,只不過較復雜。
這個例子看起來就很漂亮嘛。
#include<math.h>
#include<dos.h>
#include<graphics.h>
#define CENTERX 320 /*表盤中心位置*/
#define CENTERY 175
#define CLICK 100 /*喀嗒聲頻率*/
#define CLICKDELAY 30 /*喀嗒聲延時*/
#define HEBEEP 10000 /*高聲頻率*/
#define LOWBEEP 500 /*低聲頻率*/
#define BEEPDELAY 200 /*報時聲延時*/
/*表盤刻度形狀*/
int Mrk_1[8]={-5,-160,5,-160,5,-130,-5,-130, };
int Mrk_2[8]={-5,-160,5,-160,2,-130,-2-130, };
/*時針形狀*/
int HourHand[8]={-3,-100,3,-120,4, 10,-4,10};
/*分針形狀*/
int MiHand[8]={-3,-120,3,-120,4, 10,-4,10};
/*秒針形狀*/
int SecHand[8]={-2,-150,2,-150,3, 10,-3,10};
/*發出喀嗒聲*/
void Click()
{
sound(CLICK);
delay(CLICKDELAY);
nosound();
}
/*高聲報時*/
void HighBeep()
{
sound(HEBEEP);
delay(BEEPDELAY);
nosound;
}
/*低聲報時*/
void LowBeep()
{
sound(LOWBEEP);
}
/*按任意角度畫多邊形*/
void DrawPoly(int *data,int angle,int color)
{
int usedata[8];
float sinang,cosang;
int i;
sinang=sin((float)angle/180*3.14);
cosang=cos((float)angle/180*3.14);
for(i=0;i<8;i+=2)
{
usedata[i] =CENTERX+ cosang*data[i]-sinang*data[i+1]+.5;
usedata[i+1]=CENTERY+sinang*data[i]+cosang*data[i+1]+.5;
}
setfillstyle(SOLID_FILL,color);
fillpoly(4,usedata);
}
/*畫表盤*/
void DrawClock(struct time *cutime)
{
int ang;
float hourrate,minrate,secrate;
setbkcolor(BLUE);
cleardevice();
setcolor(WHITE);
/* 畫刻度*/
for(ang=0;ang<360;ang+=90)
{
DrawPoly(Mrk_1,ang,WHITE);
DrawPoly(Mrk_2,ang+30,WHITE);
DrawPoly(Mrk_2,ang+60,WHITE);
}
secrate=(float)cutime->ti_sec/60;
minrate=((float)cutime->ti_min+secrate)/60;
hourrate=(((float)cutime->ti_hour/12)+minrate)/12;
ang=hourrate*360;
DrawPoly(HourHand,ang,YELLOW);/*畫時針*/
ang=minrate*360;
DrawPoly(MiHand,ang, GREEN);/*畫分針*/
ang=secrate*360;
DrawPoly(SecHand,ang, RED);/*畫秒針*/
}
main()
{
int gdriver=EGA,
gmode=EGAHI;
int curpage;
struct time curtime ,newtime ;
initgraph(&gdriver,&gmode,"c:\\tc");
setbkcolor(BLUE);
cleardevice();
gettime(&curtime);
curpage=0;
DrawClock(&curtime);
while(1)
{
if(kbhit())
break; /*按任意鍵退出*/
gettime(&newtime); /*檢測系統時間*/
if(newtime.ti_sec!=curtime.ti_sec)/*每1秒更新一次時間*/
{
if(curpage==0)
curpage=1;
else
curpage=0;
curtime=newtime;
/*設置繪圖頁*/
setactivepage(curpage);
/*在圖頁上畫表盤*/
DrawClock(&curtime);
/*設置繪圖頁為當前可見頁*/
setvisualpage(curpage);
/*0分0秒高聲報時*/
if(newtime.ti_min==0&&newtime.ti_sec==0)
HighBeep();
/* 59分55至秒時低聲報時*/
else if(newtime.ti_min==59&&
newtime.ti_sec<=59)
LowBeep();/*其他時間只發出喀嗒聲*/
else
Click();
}
}
closegraph();
}
㈢ 2個C語言
第二個題的意思是:首先n=4,while成立,此時n由於n--變成3,
又因為--n所以這時的n值為2,即輸出的第一個值為2
繼續執行循環當n=2,while成立,此時n變成1,又因為--n,即輸出第二個值為0
繼續執行循環當n=0,while不成立,但是此時n變成了-1,但是因為while此時不成立,就不能夠執行while所包含的語句printf輸出,即就不能輸出-2
㈣ 計算機2級C語言
b=(++b)+(a++);
這句的意思是:b先+1,然後+a,結果賦給b,完了之後,a+1
這道題答案有錯誤。
如果b是全局變數,初始值是0。答案是:a = 7,b = 7
如果b是局部變數,那麼b的值是未知的。
㈤ c語言中的美麗圖案的代碼
敲出來是一個我愛你的圖形。
for(double y=2.5;y>=-1.6;y=y-0.2)
{
for(double x=-3;x<=4.8;x=x+0.1)
((x*x+y*y-1)*(x*x+y*y-1)*(x*x+y*y-1)<=3.6*x*x*y*y*y
|| (x>-2.4 && x<-2.1 && y<1.5 && y>-1)
|| (((x<2.5 && x>2.2) || (x>3.4 && x<3.7)) && y>-1 && y<1.5)
|| (y>-1 && y<-0.6 && x<3.7 && x>2.2))?printf("*"):printf(" ");
printf("\n");
}
㈥ C語言和C++有什麼區別么
vc,全稱為Microsoft Visual C++,Microsoft Visual C++(簡稱Visual C++、MSVC、VC++6.0或VC6.0)是Microsoft公司推出的以C++語言為基礎的開發Windows環境程序,面向對象的可視化集成編程系統。
一、性質不同
1、Visual C++:Microsoft Visual C++(簡稱Visual C++、MSVC、VC++6.0或VC6.0)是Microsoft公司推出的以C++語言為基礎的開發Windows環境程序,面向對象的可視化集成編程系統。
2、C++:C++是C語言的繼承,進行C語言的過程化程序設計。
二、作用不同
1、Visual C++:適合用來編寫各種復雜軟體。
2、C++:可以進行以抽象數據類型為特點的基於對象的程序設計,還可以進行以繼承和多態為特點的面向對象的程序設計。
三、特點不同
1、Visual C++:有高級語言簡單易用的特性,又可以完成匯編語言才能做的許多工作。
2、C++:支持數據封裝和數據隱藏;支持繼承和重用;支持多態性。
㈦ '2'在c語言中表示什麼
你說的應該是printf函數吧:
通俗的說%m.n中m標示寬度,n標示小數點後顯示幾位。你的就是顯示5個寬度,其中顯示2位小數。
如果你想了解詳細和根本的,看下面的(來自網路文庫):
int printf(const char *format,[argument]);
format 參數輸出的格式,定義格式為:%[flags][width][.perc][F|N|h|l]type
2.flags 規定輸出格式,取值和含義如下:
無 右對齊,左邊填充0和空格
- 左對齊,右邊填充空格
+ 在數字前增加符號 + 或 -
0 將輸出的前面補上0,直到占滿指定列寬為止(不可以搭配使用-)
空格 輸出值為正時冠以空格,為負時冠以負號
# 當type=c,s,d,i,u時沒有影響
type=o,x,X時,分別在數值前增加'0',"0x","0X"
type=e,E,f時,總是使用小數點
type=g,G時,除了數值為0外總是顯示小數點
3.width 用於控制顯示數值的寬度,取值和含義如下
n(n=1,2,3...) 寬度至少為n位,不夠以空格填充
0n(n=1,2,3...) 寬度至少為n位,不夠左邊以0填充
* 格式列表中,下一個參數還是width
4.prec 用於控制小數點後面的位數,取值和含義如下:
無 按預設精度顯示
0 當type=d,i,o,u,x時,沒有影響
type=e,E,f時,不顯示小數點
n(n=1,2,3...) 當type=e,E,f時表示的最大小數位數
type=其他,表示顯示的最大寬度
.* 格式列表中,下一個參數還是width
希望有用。
㈧ - - C語言是什麼
C語言是一種計算機程序設計語言。它既具有高級語言的特點,又具有匯編語言的特點。它由美國貝爾研究所的D.M.Ritchie於1972年推出。1978後,C語言已先後被移植到大、中、小及微型機上。它可以作為工作系統設計語言,編寫系統應用程序,也可以作為應用程序設計語言,編寫不依賴計算機硬體的應用程序。它的應用范圍廣泛,具備很強的數據處理能力,不僅僅是在軟體開發上,而且各類科研都需要用到C語言,適於編寫系統軟體,三維,二維圖形和動畫。具體應用比如單片機以及嵌入式系統開發。
C語言的祖先是BCPL語言。 1967年,劍橋大學的 Martin Richards 對CPL語言進行了簡化,於是產生了BCPL(Basic Combined Programming Language)語言。 1970年,美國貝爾實驗室的 Ken Thompson。以BCPL語言為基礎,設計出很簡單且很接近硬體的B語言(取BCPL的首字母)。並且他用B語言寫了第一個UNIX操作系統。 在1972年,美國貝爾實驗室的 D.M.Ritchie 在B語言的基礎上最終設計出了一種新的語言,他取了BCPL的第二個字母作為這種語言的名字,這就是C語言。 為了使UNIX操作系統推廣,1977年Dennis M.Ritchie發表了不依賴於具體機器系統的C語言編譯文本《可移植的C語言編譯程序》。 1978年由美國電話電報公司(AT&T)貝爾實驗室正式發表了C語言。同時由B.W.Kernighan和D.M.Ritchie合著了著名的《The C Programming Language》一書。通常簡稱為《K&R》,也有人稱之為《K&R》標准。但是,在《K&R》中並沒有定義一個完整的標准C語言,後來由美國國家標准化協會(American National Standards Institute)在此基礎上制定了一個C語言標准,於一九八三年發表。通常稱之為ANSI C。 K&R第一版在很多語言細節上也不夠精確,對於pcc這個「參照編譯器」來說,它日益顯得不切實際;K&R甚至沒有很好表達它所要描述的語言,把後續擴展扔到了一邊。最後,C在早期項目中的使用受商業和政府合同支配,這意味著一個認可的正式標準是必需的。因此(在M. D. McIlroy的催促下),ANSI於1983年夏天,在CBEMA的領導下建立了X3J11委員會,目的是產生一個C標准。X3J11在1989年末提出了一個他們的報告[ANSI 89],後來這個標准被ISO接受為ISO/IEC 9899-1990。 1990年,國際標准化組織ISO(International Organization for Standards)接受了89 ANSI C 為I SO C 的標准(ISO9899-1990)。1994年,ISO修訂了C語言的標准。 1995年,ISO對C90做了一些修訂,即「1995基準增補1(ISO/IEC/9899/AMD1:1995)」。1999年,ISO又對C語言標准進行修訂,在基本保留原來C語言特徵的基礎上,針對應該的需要,增加了一些功能,尤其是對C++中的一些功能,命名為ISO/IEC9899:1999。 2001年和2004年先後進行了兩次技術修正。 目前流行的C語言編譯系統大多是以ANSI C為基礎進行開發的,但不同版本的C編譯系統所實現的語言功能和語法規則又略有差別。 2011年12月8日,ISO正式公布C語言新的國際標准草案:ISO/IEC 9899:2011,即C11。 新的標准修提高了對C++的兼容性,並將新的特性增加到C語言中。新功能包括支持多線程, 基於ISO/IEC TR 19769:2004規范下支持Unicode,提供更多用於查詢浮點數類型特性的宏定義和靜態聲明功能。這些新特性包括: ● 對齊處理(Alignment)的標准化(包括_Alignas標志符,alignof運算符, aligned_alloc函數以及<stdalign.h>頭文件。 ● _Noreturn 函數標記,類似於 gcc 的 __attribute__((noreturn))。 ● _Generic 關鍵字。 ● 多線程(Multithreading)支持,包括:_Thread_local存儲類型標識符,<threads.h>頭文件,裡麵包含了線程的創建和管理函數。 ● 增強的Unicode的支持。基於C Unicode技術報告ISO/IEC TR 19769:2004,增強了對Unicode的支持。包括為UTF-16/UTF-32編碼增加了char16_t和char32_t數據類型,提供了包含unicode字元串轉換函數的頭文件<uchar.h>. ● 刪除了 gets() 函數,使用一個新的更安全的函數gets_s()替代。 ● 增加了邊界檢查函數介面,定義了新的安全的函數,例如 fopen_s(),strcat_s() 等等。 ● 增加了更多浮點處理宏。 ● 匿名結構體/聯合體支持。這個在gcc早已存在,C11將其引入標准。 ● 靜態斷言(Static assertions),_Static_assert(),在解釋 #if 和 #error 之後被處理。 ● 新的 fopen() 模式,(「…x」)。類似 POSIX 中的 O_CREAT|O_EXCL,在文件鎖中比較常用。 ● 新增 quick_exit() 函數作為第三種終止程序的方式。當 exit()失敗時可以做最少的清理工作。 ● _Atomic類型修飾符和<stdatomic.h>頭文件。
編輯本段特點
1. C是高級語言。它把高級語言的基本結構和語句與低級語言的實用性結合起來。C 語言可以像匯編語言一樣對位、位元組和地址進行操作,而這三者是計算機最基本的工作單元。 2.C是結構式語言。結構式語言的顯著特點是代碼及數據的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。這種結構化方式可使程序層次清晰,便於使用、維護以及調試。C 語言是以函數形式提供給用戶的,這些函數可方便的調用,並具有多種循環、條件語句控製程序流向,從而使程序完全結構化。 3.C語言功能齊全。具有各種各樣的數據類型,並引入了指針概念,可使程序效率更高。而且計算功能、邏輯判斷功能也比較強大,可以實現決策目的的游戲。 4. C語言適用范圍大。適合於多種操作系統,如Windows、DOS、UNIX等等;也適用於多種機型。 C語言對編寫需要硬體進行操作的場合,明顯優於其它高級語言,有一些大型應用軟體也是用C語言編寫的。
編輯本段特色
指針是C語言的一大特色,可以說是C語言優於其它高級語言的一個重要原因。就是因為它有指針,可以直接進行靠近硬體的操作,但是C的指針操作不做保護,也給它帶來了很多不安全的因素。C++在這方面做了改進,在保留了指針操作的同時又增強了安全性,受到了一些用戶的支持,但是,由於這些改進增加語言的復雜度,也為另一部分所詬病。Java則吸取了C++的教訓,取消了指針操作,也取消了C++改進中一些備受爭議的地方,在安全性和適合性方面均取得良好的效果,但其本身解釋在虛擬機中運行,運行效率低於C++/C。一般而言,C,C++,java被視為同一系的語言,它們長期占據著程序使用榜的前三名。
㈨ C語言編出美麗的蝴蝶
下面代碼是的簡單試了一下
圖形規律明顯,輸出 2n - 1行,每行,前後為 * 號,第 i 行 前後 i 個 為 * 號,上下對稱的 在 i > n 時候 轉換一下就可以了,每行的輸出的時候也是這樣,左右對此的,在 列號 j 轉換一下就可以
#include <stdio.h>
int main()
{
int n;
scanf("%d",&n);
int i,j;
int k,l;
for (i = 1;i < 2*n;i++)
{
//轉換 索引 便於後面的比較判斷
k = i;
if (k >n)
{
k = 2*n -i;
}
for (j = 1;j<= 2*n;j++ )
{
//轉換 索引 便於後面的比較判斷
l = j;
if ( j > n)
{
l = 2*n - j+1;
}
if (l <= k)
{
printf("*");
}
else
{
printf(" ");
}
}
printf("\n");
}
return 0;
}
㈩ 2級C語言
fun是個遞歸函數,遞歸很難理解,而且很耗資源,你自己查下關於遞歸的吧