㈠ 學好c語言可以去做和汽車電子有關的工作嗎待遇怎麼樣呢
可以去做汽車電子有關的工作
待遇的話看你個人能力,還要看你所在的城市,這個沒有一個標准。
㈡ 學C語言 可以控制硬體是嗎例如空調 ,電視機, 汽車 ,機器人之類的
硬體是可以控制的。但一般是 把C語言和嵌入式結合起來做晶元之類的,像掌上PDA,手機晶元之類是可以實現的。汽車和電視機,空調估計不是用C語言寫的吧,機器人還是有可能。反正C語言是很強大的語言的~你學會了C語言別的計算機語言入手就很快,到時候這些問題就算C語言可以寫,如果你是高手你就應該考慮到用哪種語言寫演算法最簡單,效率最高了。
㈢ 汽車與計算機有關系嗎
其實很多東西都是相聯系的,汽車電子化是未來十年的發展方向.計算機的應用無出不在,當然計算機學習不一定和汽車維修聯系一起啊,學的不一定會在以後用到啊,所以興趣是讓自己了解更多的條件啊.
㈣ 汽車ecu編程語言是什麼
汽車ecu是汽車計算機的總稱。目前90%的汽車ecu編程語言基本都是用C語言寫的,汽車ecu中也可能會用到一些匯編語言和一些C語言。目前汽車ecu的關鍵只有16位單片機,所以資源有限,需要具體的驅動代碼和配置。大部分的電腦維修都可以通過重寫軟體和主要參數來完成。如果真的電路板損壞或者其他部件壞了,只能更換新的ecu,然後再寫軟體配置主要參數。電腦維修沒有手機電腦維修復雜,也沒有太多技術含量。但也許用不了多久,汽車就會變成一台大電腦。到時候,維修大概會和修手機、電腦一樣,市場廣闊,利潤巨大。大部分產品都是用C語言編寫,由PICC編譯器編譯成機器碼。在某些情況下,編譯的代碼是冗餘的,執行效率不可能是最優的。為了獲得最佳的執行效率,有時匯編代碼會嵌套在C語言中。例如,遙控信號接收程序使用3E碼對遙控信號進行編碼。接收程序需要以100us為周期檢查中斷程序中輸入的遙控信號。如果用C語言寫,大概100us可能會佔用50us以上,不到一半的時間花在處理其他邏輯上。但是如果處理嵌套匯編,只需要30us語言。遙控數據通過滾動數據號進行加密,防止被空中的人截獲、破解或再次攻擊,而數據解密由於大劑量移位操作,耗時較長,所以解密代碼也是用匯編語言編寫的。這些功能要求都很強,比如帶LIN的調節器,CAN CAN通訊功能。我們選擇資源更豐富,運算速度更快的ROM/RAM,來自飛思卡爾的8位處理器DZ96和16位處理器DZ128。因為性能提升了,所有代碼基本都是C語言開發,沒有嵌入匯編代碼。考慮到實時自可靠性的要求,所有調節器基本都不是基於freeRTOS、linux等操作系統開發的。這基本上是幾年前的事了。近年來,隨著電子技術的飛速發展,32位cortex-Mx單片機以極高的性價比橫掃一切。之前風靡一時的PIC系列處理器應該已經輕輕退出歷史舞台了。我認為CAN CAN,LIN匯流排應該成為目前的標准,汽車的電氣狀況可以很容易地通過診斷儀和行車電腦進行診斷。所謂的汽車電子維修,變成了使用診斷工具,更換部件,越來越沒有技術含量,變成了純手工勞動。
㈤ c語言編程 汽車租賃問題
親測可以運行 自己的課程設計 搞得很累 代碼如下我的課程設計 汽車租賃系統c語言
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MaxNum 20
typedef struct A{
int No; /*車輛編號*/
char Type; /*車類型*/
int Payment;/*租費*/
int fine; /*罰金*/
struct A *next;/*指向下一個結點*/
} car;
typedef struct B{
int No; /*顧客編號*/
char Name[20]; /*顧客姓名*/
char License; /*執照類別*/
int carNo; /*租憑的車輛編號*/
int Day; /*租的天數*/
int DelayDay;/*延遲的天數*/
struct B *next;
} client;
struct C{/*這個結構體是車輛鏈表的頭結點,A,B,C每種類型有一種*/
char Type;/*車輛型號*/
int avl; /*可用數*/
car *head;/*指向車輛結點*/
} headNode[3]={{'A',MaxNum,NULL},{'B',MaxNum,NULL},{'C',MaxNum,NULL}} ;
client *allClien=NULL;
int pay[3]={400,300,200},fine[3]={600,500,400};
void init();/*初始化*/
int menu();/*簡單菜單界面*/
void search();/*查詢*/
void carSc(); /*查詢車輛*/
void clientSc();/*查詢顧客*/
void rent(); /*租車*/
void giveback();/*還車*/
void addCli(client *cli);/*向顧客鏈表增加顧客*/
client* delCli(int clientNo);/*從顧客鏈表刪除一個顧客*/
void addCar(char carType,int carNo);
car* delCar(char type);
void Exit();/*退出*/
void main()
{
init();
while(1)
{
switch(menu())
{
case 1:search();break;
case 2:rent();break;
case 3:giveback();break;
case 4:Exit();
default:;
}
}
}
void init()
{
int i=0;
car *ptr,*pa,*pb,*pc;
headNode[0].head=NULL,headNode[1].head=NULL,headNode[2].head=NULL;
ptr=(car *)malloc(sizeof(car));
ptr->No=100;
ptr->Type='A'
ptr->Payment=400;
ptr->fine=600;
headNode[0].head=ptr;
pa=ptr;
pa->next=NULL;
for( i=1;i<20;i++){
ptr=(car *)malloc(sizeof(car));
ptr->No=100+i;
ptr->Type='A'
ptr->Payment=400;
ptr->fine=600;
pa->next=ptr;
pa=ptr;
pa->next=NULL;
}
free(ptr);
ptr=(car *)malloc(sizeof(car));
ptr->No=200;
ptr->Type='B'
ptr->Payment=300;
ptr->fine=500;
headNode[1].head=ptr;
pb=ptr;
pb->next=NULL;
for( i=1;i<20;i++){
ptr=(car *)malloc(sizeof(car));
ptr->No=200+i;
ptr->Type='A'
ptr->Payment=400;
ptr->fine=600;
pb->next=ptr;
pb=ptr;
pb->next=NULL;
}
free(ptr);
ptr=(car *)malloc(sizeof(car));
ptr->No=300;
ptr->Type='C'
ptr->Payment=200;
ptr->fine=400;
headNode[2].head=ptr;
pc=ptr;
pc->next=NULL;
for( i=1;i<20;i++){
ptr=(car *)malloc(sizeof(car));
ptr->No=300+i;
ptr->Type='A'
ptr->Payment=400;
ptr->fine=600;
pc->next=ptr;
pc=ptr;
pc->next=NULL;
}
free(ptr);
}
int menu()
{
int choice;
printf(" 選擇服務:1.查詢 2.租車 3.歸還 4.退出 ");
scanf("%d",&choice);
while(choice!=1&&choice!=2&&choice!=3&&choice!=4)
{
printf(" 輸入有誤,重新輸入:");
scanf("%d",&choice);
}
return choice;
}
void search()
{
int choice;
printf(" 你想查詢:1.汽車 2.顧客 3.返回 ");
scanf("%d",&choice);
while(choice!=1&&choice!=2&&choice!=3)
{
printf(" 輸入有誤,重新輸入:");
scanf("%d",&choice);
}
switch(choice)
{
case 1:carSc(); break;
case 2:clientSc(); break;
case 3: ;
default:;
}
}
void carSc()
{
printf(" 所有汽車信息: ");
printf(" A類汽車還剩%d輛. B類汽車還剩%d輛. C類汽車還剩%d輛.",
headNode[0].avl,headNode[1].avl,headNode[2].avl);
}
void clientSc()
{
client *ptr=allClien;
printf(" 所有顧客信息: ");
while(ptr!=NULL)
{ printf(" 顧客編號:%d",ptr->No);
printf(" 顧客姓名:%s",ptr->Name);
printf(" 駕照類型:%c",ptr->License);
printf(" 租賃車號:%d",ptr->carNo);
printf(" 租賃天數:%d",ptr->Day);
printf(" 延遲天數:%d",ptr->DelayDay);
ptr=ptr->next;
}
}
void addCli(client *cli)
{
if(allClien==NULL)
allClien=cli;
else
{
cli->next=allClien;
allClien=cli;
}
}
client* delCli(int clientNo)
{
client *ptr,*prePtr;;
ptr=allClien;
while(ptr!=NULL&&ptr->No!=clientNo)
{ prePtr=ptr;
ptr=ptr->next;
}
if(ptr!=NULL)
{
if(ptr==allClien)
{
allClien=NULL;
}
else
{
prePtr->next=ptr->next;
}
}
return ptr;
}
void rent()
{
char name[20],type,Yes_No;
int num,day,No;
car *carPtr;
client *cli;
printf(" 輸入執照類型(A/B/C):");
scanf("%c",&type);
while(type!='A'&&type!='B'&&type!='C')
{
printf("輸入有誤,重新輸入:");
scanf("%c",&type);
}
if(type=='A')
num=headNode[0].avl;
else if(type=='B')
num=headNode[1].avl;
else
num=headNode[2].avl;
printf(" %c類汽車還剩%d輛,是否要租憑(Y/N):",type,num);
scanf("%c",&Yes_No);
while(Yes_No!='Y'&&Yes_No!='N'&&Yes_No!='y'&&Yes_No!='n')
{
printf("Y或N:");
scanf("%c",&Yes_No);
}
/*增加顧客*/
if(Yes_No=='Y'||Yes_No=='y')
{
printf(" 輸入你的名字:");
scanf("%s",name);
printf(" 輸入你的租賃天數:");
scanf("%d",&day);
}
No=rand()%60+200;
carPtr=delCar(type);
cli=(client *)malloc(sizeof(client));
cli->No=No;
strcpy(cli->Name,name);
cli->License=type;
cli->carNo=carPtr->No;
cli->Day=day;
cli->DelayDay=0;
cli->next=NULL;
addCli(cli);
/*移出一輛車*/
printf(" 你的顧客編號是:%d",No);
printf(" 你所租賃的汽車是%c類車,車號是:%d",type,carPtr->No);
printf(" 你的租賃天數是%d天.",day);
}
void giveback()
{
int No;
long int payment;
client *ptr;
printf(" 顧客編號:");
scanf("%d",&No);
if((ptr=delCli(No))==NULL)
printf(" 該顧客不存在,無法歸還!");
else
{
switch(ptr->License)
{
case 1:payment=ptr->Day*400+ptr->DelayDay*600;break;
case 2:payment=ptr->Day*300+ptr->DelayDay*500;break;
case 3:payment=ptr->Day*200+ptr->DelayDay*400;break;
default:;
}
printf(" 顧客姓名:%s",ptr->Name);
printf(" 駕照類型:%c",ptr->License);
printf(" 租賃車號:%d",ptr->carNo);
printf(" 租賃天數:%d",ptr->Day);
printf(" 延遲天數:%d",ptr->DelayDay);
printf(" 所需費用:%ld",payment);
addCar(ptr->License,ptr->carNo);
free(ptr);
}
}
void addCar(char carType,int carNo)
{
car *ptr;
int index=carType-65;
ptr=headNode[index].head;
if(ptr==NULL)
{ptr=(car *)malloc(sizeof(car));
headNode[index].head=ptr;
headNode[index].avl++;
}
else
{while(ptr->next)
ptr=ptr->next;
ptr->next=(car *)malloc(sizeof(car));
ptr=ptr->next;
headNode[index].avl++;
}
ptr->No=carNo;
ptr->Type=carType;
ptr->Payment= pay[index];
ptr->fine=fine[index];
ptr->next=NULL;
}
car* delCar(char type)
{
car *rentcar;
car *pp;
switch(type)
{
case 'A':
rentcar=headNode[0].head;
headNode[0].head=rentcar->next;
headNode[0].avl--;
break;
case 'B':rentcar=headNode[1].head;
headNode[1].head=rentcar->next;
headNode[1].avl--;
break;
case 'C':rentcar=headNode[2].head;
headNode[2].head=rentcar->next;
headNode[2].avl--;
break;
default:;
}
return rentcar;
}
void Exit()
{
printf(" 歡迎使用.....888888888886666....");
exit(0);
}