㈠ c語言用什麼軟體編寫
不同的編程環境會造就出不同思維的程序員。Windows的程序員大多依賴集成開發環境,比如Visual Studio,而Unix程序員更加鍾愛Makefile與控制台。顯而易見,集成開發環境更容易上手,在Windows上學習C語言,只需要會按幾個基本的Visutal C++工具欄按鈕就可以開始寫Hello, World!了,而在Unix下,你需要一些控制台操作的基本知識。有人也許認為Unix的環境更簡潔,但習慣的力量是很大的,大家都很熟悉 Windows的基本操作,而為了學習C語言去專門裝一個Unix系統,似乎有點不劃算。
對於一個只懂得Windows基本操作、連 DOS是什麼都不知道的新手而言,盡快做一些有趣而有意義的事情才是最重要的。用C語言寫一個小程序遠比學習ls、cat等命令有趣,況且我們要專注於C 語言本身,就不得不暫時忽略一些東西,比如編譯鏈接的過程、Makefile的寫法等等等等。
所以我建議初學者應該以Visual C++ 6.0(不是VisualC++ .NET)或者Dev C++作為主要的學習環境,而且千萬不要在IDE的使用技巧上過多糾纏,因為今後你一定要轉向Unix環境的。Visual C++ 6.0使用很方便,調試也很直觀,但其默認的編譯器對C標準的支持並不好,而Dev C++使用gcc編譯器,對C99的標准都支持良好。使用順帶提一下,很多大學的C語言課程還在使用Turbo C 2.0作為實驗環境,這是相當不可取的,原因其一是TC 2.0對C標准幾乎沒有支持,其二是TC 2.0編譯得到的程序是16位的,這對今後理解32位的程序會造成極大的困擾(當然,用djgpp之類的東西可以使TC 2.0編譯出32位程序,不過那過於復雜了)。
㈡ 請C語言高手幫我編寫幾個數據結構的小程序~(一定要用C++編寫噢~)謝啦~
#include"stdio.h"
#include"malloc.h"
#define MaxSize 10
typedef char ElemType ;
typedef struct
{
ElemType data[MaxSize]; int front,rear;
}SqQueue;
void InitQueue(SqQueue *&q) //初始化隊列
{
q=(SqQueue *)malloc(sizeof(SqQueue));
q->front=q->rear=0;
}
void ClearQueue(SqQueue *&q) //銷毀隊列
{ free(q); }
int QueueEmpty(SqQueue *q) //判斷隊列是否為空
{ return(q->front==q->rear); }
int enQueue(SqQueue *&q,ElemType e) //入隊列
{
if((q->rear+1)%MaxSize==q->front) return 0;
q->rear=(q->rear+1)%MaxSize;
q->data[q->rear]=e; return 1;
}
int deQueue(SqQueue *&q,ElemType &e) //出隊列
{
if(q->front==q->rear) return 0;
q->front=(q->front+1)%MaxSize;
e=q->data[q->front]; return 1;
}
void numQueue(SqQueue *q) //輸出隊列元素個數
{
if(q->rear>=q->front)
printf("這個隊列的元素個數為:%d\n",q->rear-q->front);
else
printf("這個隊列的元素個數為:%d\n",MaxSize-q->front+q->rear);
}
void DispQueue(SqQueue *q) //輸出隊列
{
int i=0,f=q->front+1;
while((f+MaxSize)%MaxSize!=q->rear)
{
printf("%c\t",q->data[f]);
f++; i++;
if(i%5==0)printf("\n");
}
printf("%c\n",q->data[f]);
}
void main()
{
SqQueue *q;
ElemType e;
InitQueue(q);
if(QueueEmpty(q))printf("這個隊列是空的!\n");
else printf("這個隊列不是空的!\n");
enQueue(q,'a'); enQueue(q,'b'); enQueue(q,'c');
if(deQueue(q,e)==1)
printf("出對元素為:%c\n此時",e);
numQueue(q);
enQueue(q,'d'); enQueue(q,'e'); enQueue(q,'f');
printf("def進隊列後,");
numQueue(q);
printf("它的元素有:\n");
DispQueue(q);
ClearQueue(q);
}
這是我以前的作業,你自己組織下,應該可以解決你的問題