C语言是面向过程的,而C++是面向对象的
C和C++的区别:
C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。
C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。
C与C++的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。
在解释这两个函数之前,为了方便大家更容易理解,我们先来讲讲下面的这幅图。
小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!
这个图中的例子其实很简单,我们就是把题目通过输入设备(例如键盘鼠标)传输到计算机中,然后让计算机进行运算得出结果,再然后把结果通过输出设备(例如显示器)反馈给我们,这是一个简单的人机的交互过程。
在 C 语言中其实也是一样的。在程序的运行中,我们经常会进行一些输入输出的操作,用来实现交互。为此, C语言便给出了 printf() 函数和 scanf() 函数用来实现输入和输出两个动作。
其中,printf()函数用于向控制台输出字符,scanf()函数用于读取用户的输入,下列将分别讲解这两个函数的用法。
1、printf()函数
在前面的举例中,我们会经常使用 printf() 函数输出数据,也就是类似于上面图中的输出设备,只不过它们的输出的形式不相同。它可以通过【格式控制字符】输出多个任意类型的数据。下面列举了printf()函数中常用的格式控制字符。
常用printf()格式字符
常用格式字符含义
%s输出一个字符串
%c输出一个字符
%d以十进制输出一个有符号整型
%u以十进制输出一个无符号整型
%o以八进制输出一个整数
%x以十六进制输出一个小写整数
%X以十六进制输出一个大写整数
%f以十进制输出一个浮点数
%e以科学计数法输出一个小写浮点数
%E以科学计数法输出一个大写浮点数
这个表格中列举了很多格式控制字符,使用这些格式控制符可以让printf()输出指定类型的数据,接下来通过一个具体的案例来演示这些格式控制符的使用,如案例一所示.
案例一:
1 #include
1 void main()
2 {
3 printf("%c %c", 'H', ' ');
4 printf("%s", "Hello, world! ");
5 printf("%d %d %d ", 1, 2, 3);
6 printf("%f %f ", 2.1, 2.2);
7 }
运行结果如下图所示:
小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!
在这个例题中 printf() 函数,通过格式控制字符
“%c”、“%s”、“%d”、“%f”,分别输出了字符、字符串、整数、浮点数。
2、scanf()函数
scanf() 函数负责从控制台上接收用户的输入,你可以理解为它就是一种输入设备,它可以灵活接收各种类型的数据,如字符串、字符、整型、浮点数等, scanf() 函数也可以通过格式控制字符控制用户的输入,其用法与 printf() 函数一样。接下来,通过一个获取字符串的案例讲解 scanf() 函数的用法,如案例二所示。
案例二:
1 #include
8 void main()
9 {
10 char str[256]; // 字符数组保存得到的字符串
11 scanf("%s", str);
12 printf("%s ", str);
13 }
运行结果如图所示:
在案例二中,首先定义了一个长度为256的字符数组str,然后利用 scanf() 函数获得用户从控制台输入的字符,最后使用 printf() 函数将得到的字符串打印在控制台上。本例中用户从控制台上输入了Helloworld,并按回车符,此时scanf()函数会把回车符看做是字符串终止的标志(也称为终止符),将整个Helloworld读取到str字符数组中。
要点留心:C语言中的终止符
在使用 scanf() 函数获取用户输入的信息时,如果输入的信息中包含某个终止符,scanf()函数就认为输入结束,接下来就列举一些常见的终止符,具体下表所示。
scanf()输入字符串的终止符
字符含义
0x20空格
水平制表符(tab键)
换行
垂直制表符
换页
回车
接下来,以案例二为例,当程序运行后,如果输入的字符串包含空格,例如“Hello world”,此时程序的运行结果如图所示:
从此可以看出,尽管输入的字符串是Hello world,但是程序只打印了Hello。这是因为Hello world中包含一个空格,空格也是一个终止符,因此scanf()只能读到空格之前的内容。
小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!
这些是C/C++能做的
服务器开发工程师、人工智能、云计算工程师、信息安全(黑客反黑客)、大数据 、数据平台、嵌入式工程师、流媒体服务器、数据控解、图像处理、音频视频开发工程师、游戏服务器、分布式系统、游戏辅助等