当前位置:首页 » 编程语言 » c语言与汽车有关系吗
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言与汽车有关系吗

发布时间: 2023-02-21 08:31:40

㈠ 学好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);
}