C和C++的区别:
C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。
C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。

C与C++的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!
算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。
其实C语言的话,做出来的东西,各种系统挺多的,需要的是不断地去挖掘,有人说,C语言学了不就是一些简单的语法,函数,数据结构什么的嘛,就一些知识点会了不就行了。
在我看来这个只是大学里面需要掌握的一些,其实C语言很强大的,可以做的东西,项目挺多的,各种小游戏,管理系统什么的,所以说不要说会了那些C语言的知识点就说,C很简单很会了,其实当我们去动手做项目的时候就是一脸懵逼的,大学时候我想问问,有多少人动手去做过什么项目,或许尝试做个推箱子或者贪吃蛇有可能,但是这肯定只局限于百分之十五的大学生吧。
前面有人说,要我用C语言做个火车订票系统,这不很简单麽,主要是好笑的,下面有人说只能Java才能做,这也太逗比了吧,Java本身就是C C++开发出来的好麽。而且这个火车订票系统也是很容易的,下面的话我发一下代码吧,代码的话也有好几百行,我就发一部分,后面的各个点思路我就总结一下在下面吧,
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <dos.h>
#include <Windows.h>
#define HEADER1 \" -------------------------------BOOK TICKET----------------------------------\"
#define HEADER2 \" | number |start city|reach city|takeofftime|receivetime|price|ticketnumber|\"
#define HEADER3 \" |----------|----------|----------|-----------|-----------|-----|------------|\"
#define FORMAT \" |%-10s|%-10s|%-10s|%-10s |%-10s |%5d| %5d |\"
#define DATA p->data.num,p->data.startcity,p->data.reachcity,p->data.takeofftime,p->data.receivetime,p->data.price,p->data.ticketnum
int saveflag = 0;
/定义存储火车信息的结构体/
struct train
{
char num[10];/列车号/
char startcity[10];/出发城市/
char reachcity[10];/目的城市/
char takeofftime[10];/发车时间/
char receivetime[10];/到达时间/
int price;/票价/
int ticketnum;/票数/
};
/订票人的信息/
struct man
{
char num[10];/ID/
char name[10];/姓名/
int bookNum;/订的票数/
};
/定义火车信息链表的结点结构/
typedef struct node
{
struct train data;
struct node next;
}Node, Link;
/定义订票人链表的结点结构/
typedef struct Man
{
struct man data;
struct Man next;
}book, bookLink;
/ 初始界面/
void menu()
{
puts(\"\");
puts(\"|--------------------------------------------------------|\");
puts(\"| Booking Tickets |\");
puts(\"|--------------------------------------------------------|\");
puts(\"|0:退出系统 |\");
puts(\"|1:加入火车信息 |\");
puts(\"|2:查找火车信息 |\");
puts(\"|3:订购火车票 |\");
puts(\"|4:修改火车信息 |\");
puts(\"|5:浏览火车信息 |\");
puts(\"|6:保存火车信息 |\");
puts(\"|--------------------------------------------------------|\");
}
/添加一个火车信息/
void Traininfo(Link linkhead)
{
struct node p, r, s;
char num[10];
r = linkhead;
s = linkhead->next;
while (r->next != NULL)
r = r->next;
while (1)
{
printf(\"请输入车次(0-return)\");
scanf(\"%s\", num);
if (strcmp(num, \"0\") == 0)
break;
/判断是否已经存在/
while (s)
{
if (strcmp(s->data.num, num) == 0)
{
printf(\"车次 '%s'已经存在!
\", num);
return;
}
s = s->next;
}
p = (struct node)malloc(sizeof(struct node));
strcpy(p->data.num, num);/输入车号/
printf(\"请输入出发城市:\");
scanf(\"%s\", p->data.startcity);/输入出发城市/
printf(\"请输入到达城市:\");
scanf(\"%s\", p->data.reachcity);/输入到站城市/
printf(\"请输入出发时间:\");
scanf(\"%s\", p->data.takeofftime);/输入出发时间/
printf(\"请输入到达时间:\");
scanf(\"%s\", &p->data.receivetime);/输入到站时间/
printf(\"请输入票价:\");
scanf(\"%d\", &p->data.price);/输入火车票价/
printf(\"请输入订购数量:\");
scanf(\"%d\", &p->data.ticketnum);/输入预定票数/
p->next = NULL;
r->next = p;/插入到链表中/
r = p;
saveflag = 1;
}
}
/打印火车票信息/
void printheader() /格式化输出表头/
{
printf(HEADER1);
printf(HEADER2);
printf(HEADER3);
}
void printdata(Node q) /格式化输出表中数据/
{
Node p;
p = q;
printf(FORMAT, DATA);
}
/查询火车信息/
void searchtrain(Link l)
{
Node s[10], r;
int sel, k, i = 0;
char str1[5], str2[10];
if (!l->next)
{
printf(\"没有信息!\");
return;
}
printf(\"请选择:1:按车次查询;2:按城市查询\");
scanf(\"%d\", &sel);/输入选择的序号/
if (sel == 1)
{
printf(\"请输入车次:\");
scanf(\"%s\", str1);
r = l->next;
while (r != NULL)
if (strcmp(r->data.num, str1) == 0)/检索是否有与输入的车号相匹配的/
{
s[i] = r;
i++;
break;
}
else
r = r->next;
}
else if (sel == 2)
{
printf(\"请输入到达城市:\");
scanf(\"%s\", str2);
r = l->next;
while (r != NULL)
if (strcmp(r->data.reachcity, str2) == 0)/检索是否有与输入的城市相匹配的火车/
{
s[i] = r;
i++;
r = r->next;
}
else
r = r->next;
}
if (i == 0)
printf(\"没有信息!\");
else
{
printheader();
for (k = 0; k<i; k++)
printdata(s[k]);
}
}
后面的话还有几个功能没发出来,分别是:1、订票子模块 2、修改火车信息 3、保存火车信息 4、保存订票人信息。 下面我发一下界面,效果图。
涉及到的C语言的知识点也不是很多,也就是:C语言的基本语法+三大控制结构+数据结构链表+文件操作,所以说不要小看C语言,它是很强大的,其实什么Java,Python我不是反感它们,当有人说,现在Java很强大,什么做个小小的火车订票系统都不能用C语言,我只想站出来说下自己的观点,最好的改正这个观点就是自己去把这个系统用C语言去做出来,我觉得才是最好的!
这个的话代码也有一些,思路也写了,所以说,希望各位能自己摸索出来吧,实在觉得有难度的,,打手不易,勿喷哈,这个知识点里面有我自己的说法,全属个人的见解,蟹蟹大家。
这些是C/C++能做的
服务器开发工程师、人工智能、云计算工程师、信息安全(黑客反黑客)、大数据 、数据平台、嵌入式工程师、流媒体服务器、数据控解、图像处理、音频视频开发工程师、游戏服务器、分布式系统、游戏辅助等