導航:首頁 > 編程語言 > c語言系統編程pdf

c語言系統編程pdf

發布時間:2025-09-25 18:01:37

① C語言編程

C直接提供了strrev函數,在string.h中。

#include <stdio.h>
#include<string.h>
void main(){
char s[]="abc";
printf("%s\n",strrev(s));
}

② 我需要 《新編51單片機C語言教程_從入門到精通實例詳解全攻略》,幫一下!急需教材!求!

網路網盤《新編51單片機C語言教程_從入門到精通實例詳解全攻略》高清在線觀看

https://pan..com/s/1i4AkBKVA4tNoPBCh033VdQ pwd=1234

pdf" data_size="42.69M" data_filelogo="https://gss0.bdstatic.com//yun-file-logo/yun-logo.png" data_number="1" data_sharelink="https://pan..com/s/1i4AkBKVA4tNoPBCh033VdQ" data_code="1234">

提取碼:1234

內容簡介

《新編51單片機C語言教程》是一本以實例詳解方式介紹51單片機與C語言編程的圖書,主要內容有單片機入門、51單片機的硬體系統、Keil C51編程軟體的使用、單片機驅動LED與LED數碼管的電路及編程、中斷的使用及編程、定時器/計數器的使用及編程、獨立按鍵與矩陣鍵盤輸入電路及編程、點陣和液晶顯示屏的使用及編程、步進電動機的使用及編程、串列通信的使用及編程、I2C匯流排通信的使用及編程、AD(模數)與DA(數模)轉換電路及編程。 《新編51單片機C語言教程》起點低、由淺入深、語言通俗易懂,並且內容結構安排符合學習認知規律。本書適合作為初學者學習51單片機及編程的自學圖書,也適合作為職業院校電類專業的單片機教材。

③ c語言編寫路線

#include <stdio.h>
#include <malloc.h>
#include<stdlib.h>
#define MAX 100
#define MAXNUM 10000000
int previous[MAX-1];// 求路徑需要
int pp[MAX-1];// 記錄最短路徑
typedef struct graphnode
{
int vexnum; //頂點
int arcnum; //弧
int gra[MAX][MAX]; //鄰接矩陣表示0或1
}Graph;
int dist[MAX]; // 最短距離
int arc[MAX][MAX]; // 權

int main()
{
void Dijkstra(Graph *g,int v);
int i,j,n,m;
int v; //源點
Graph *G;
G=(Graph *)malloc(sizeof(Graph));
printf("vexnum:\n");
scanf("%d",&G->vexnum);
printf("arcnum:\n");
scanf("%d",&G->arcnum);
printf("graph:\n");
for(i=0;i<G->vexnum;i++)
for(j=0;j<G->vexnum;j++)
{
scanf("%d",&G->gra[i][j]);
}
for(i=0;i<G->vexnum;i++)
for(j=0;j<G->vexnum;j++)
{
if(G->gra[i][j]==1)
{
printf("請輸入%d到%d的權值:",i,j);
scanf("%d",&arc[i][j]);//若有弧 則輸入i到j直接的權
}
else
arc[i][j]=MAXNUM;
}
printf("請輸入源點v的值:");
scanf("%d",&v);
Dijkstra(G,v);
printf("請輸入源點所要到達的點:\n");
scanf("%d",&n);
pp[0]=0;
i=1;
m=n;// 記錄n的值
while(n!=0)// 求0到其他點路徑
{
pp[i]=previous[n];
i++;
n=previous[n];

}
printf("Path:0 -> ");
for(j=G->vexnum-1;j>=0;j--)
if(pp[j]!=0)
printf(" %d -> ",pp[j]);
printf("%d\n",m);
return 0;

}
void Dijkstra(Graph *G,int v)
{
int previous[MAX-1];
int newdist;
bool sign[MAX];
if(v<0||v>MAX-1)
{
printf("該源點不存在!\n");
return;
}

for(int i=0;i<G->vexnum;i++) //初始化
{
dist[i]=arc[v][i];
sign[i]=false;
if(dist[i]==MAXNUM)
previous[i]=0;
else
previous[i]=v;
}

dist[v]=0;
sign[v]=true;

for(i=0;i<G->vexnum;i++) // i<n-1 待定
{
float temp=MAXNUM;
int u=v; //u 中間變數
for(int j=0;j<G->vexnum;j++)
if((!sign[j])&&(dist[j]<temp))
{
u=j;
temp=dist[j];
}
sign[u]=true;
for(j=0;j<G->vexnum;j++)
if((!sign[j])&&(arc[u][j]<MAXNUM))
{
newdist=dist[u]+arc[u][j];
if(newdist<dist[j])
{
dist[j]=newdist;
previous[j]=u;
}

}
}
for(i=0;i<G->vexnum;i++)
if(dist[i]!=MAXNUM)
printf("從%d到%d的最短路徑是 %d\n",v,i,dist[i]);
else
printf("從%d到%d無最短路徑\n",v,i);
printf("\n");

}
這是Dijkstra演算法求單源最短路徑演算法 上程序中 假定頂點從0開始,搜索整個圖,然後求出0到其他各點的最短距離,存放在dist數組中,main函數後面幾行是求0到其他各點的路徑 基本上能滿足你的要求了

閱讀全文

與c語言系統編程pdf相關的資料

熱點內容
三菱plcfx1s編程手冊 瀏覽:94
優摩手環app叫什麼 瀏覽:504
抖音1314520的演算法介紹 瀏覽:460
php刪除所有空格 瀏覽:83
ug編程有幾種加工模式 瀏覽:426
如何隱藏安卓機密 瀏覽:371
linuxsocket描述符 瀏覽:394
程序員學習做飯 瀏覽:143
c語言系統編程pdf 瀏覽:266
新建文件夾是放在哪裡的 瀏覽:823
ios編程入門教程 瀏覽:121
c語言製作相冊源碼 瀏覽:423
linuxrvm安裝 瀏覽:910
程序員三十歲如何做規劃 瀏覽:365
c開頭的編程軟體 瀏覽:81
如何搭建自己的物理伺服器 瀏覽:669
匯編有哪些命令 瀏覽:673
加密文檔如何導入 瀏覽:112
貴州遵義app找工作哪個靠譜 瀏覽:574
小度小程序員 瀏覽:620