C语言是面向过程的,而C++是面向对象的
C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。
C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。
C与C++的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。
阅读须知:
小编推荐一个学C语言/C++的学习裙【 二六三,六八八,二七六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!
1.如何比较
生活中我们常常会做比较,通过比较我们知道6大于5,那么C语言中又是怎么来比较的呢?
C语言是通过>(大于)、=(大于等于)、<=(小于等于)、!=(不等于),这些运算符来进行比较的,比如:
像上面的表达式叫做关系表达式,关系表达式的值为"真"或者"假",像上面a < b就为真,a > b就为假。
注意当比较两个变量是否相等时是使用==来比较的,是两个等号连着用哦,如果只是一个等号=这是赋值的意思,比如a = 4是把4赋值给a这个变量,而不是a是不是等于4的意思。
2.如何判断真假
C语言除了会做比较运算外还有一种新的运算叫做逻辑运算,那什么叫逻辑运算呢?就是用"真"和"假"这两个值来做运算。逻辑运算的值也是"真"和"假",用"0"表示假,用非0数字表示"真",一般使用"1"表示"真"。
首先我们先来介绍三种符号:&&与运算,规则:"真&&真"为真,"真&&假"为假,"假&&真"为假,"假&&假"为假||或运算,规则:"真||真"为真,"真||假"为真,"假||真"为真,"假||假"为假 ! 非运算,规则:"!真"为假,"!假"为真
举个例子:
(a < b) && (b < c) 为真 (a < b) || (a < c) 为真 a < b 为真, !(a < b) 为假
3.判断是正数还是负数
一个非0整数不是正数就是负数,如果我们想判断一个数字是不是负数,用C语言该怎么解决呢?
我们知道小于0的数就是负数,现在用C语言来判断一个数是不是负数,如果是就让它自己说出来"我是负数":
这里出现一个新的用法--if语句,它就是C语言中的判断语句。
if语句括号中的句子就是条件,条件可以是关系表达式也可以是逻辑表达式,比如a < 0就是一个条件。 if语句后面都会跟着一对花括号{},在这个花括号的里面的内容就是满足if条件后的一些处理,在这里可以写任意的C语言的语句。
当if语句中只有一个C语言的语句时可以不适用花括号,所以
if (a < 0)
printf("我是负数!");
也是合法的,只不过为了代码的可读性考虑,一般都会加上花括号。
4.如何判断是奇数还是偶数
一个整数不是奇数就是偶数,现实中我们判断偶数的依据是看这个数是否能被2整除,也就是看看这个数字除以2之后的余数是否为0,如果不为0那肯定就是奇数。现在我们把这个想法转化为C的语句吧!
在C语言中求余数是用%这个符号的,运用上个练习中我们学习的if()语句来试试吧。
嘿嘿,这里我们又使用了一个新的语句else,其实else就是它英文字面的意思,就是除了符合if条件之外的它都接收。比如上面的例子中如果不是偶数那剩下的肯定是奇数。
else的使用方法和if类似,也要在后面加上{}这对花括号,所有符合else条件的处理都要包含在花括号中。
5.分数等级查询小系统
我们知道老师一般会把分数进行分级,学生可以根据自己的考试分数来查询自己的成绩是哪个等级:
80 < score <= 100 为优秀 60 <= score <= 80 为良好 score < 60 为不及格
既然我们知道了分等级的规则就帮着老师来做一个分数等级查询的小系统吧。
优秀等级对应的C语言的语句是:
if (score <= 100 && score >80)
{
printf("你的成绩是优秀! ");
}
良好等级对应的C语言的语句是:
if(score <= 80 && score >=60)
{
printf("你的成绩是良好! ");
}
不及格等级对应的C语言的语句是:
if (score < 60)
{
printf("你的成绩是不及格! ");
}
上面写这么多的if语句是不是有点儿烦,C语言中有一种方法可以把上边所有的if语句连起来,看清楚哦:
小编推荐一个学C语言/C++的学习裙【 二六三,六八八,二七六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!
这个代码看起来有点儿长,但是非常好理解。如果不符合第一个条件的分支我就走到else里面,结果else里面还有条件判断,再跟这个条件进行匹配,直到匹配到合适的条件为止。使用这么一层一层的if和else就叫条件语句的嵌套。使用时一定要注意格式对齐,这样你的代码看起来才清楚。
6.星期查询小系统
我们已经学习了if和else的嵌套使用,当多层的嵌套使用时出错的可能性就增加了。C语言中还有一种新的语句能解决这个问题,我一直叫它开关语句:switch,下面我们来讲一下怎么使用switch语句:
switch (weekday)
{
case1:
printf("Today is Monday ");
break;
case2:
printf("Today is Tuesday ");
break;
… …
case7:
printf("Today is Sunday ");
break;
default:
printf("You write number is wrong!");
break;
}
小编推荐一个学C语言/C++的学习裙【 二六三,六八八,二七六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!
上面的代码就是switch的使用方法,switch后面的括号()里是一个变量,上面的例子中weekday就是个变量,用来存数字的,我们希望这个数字是1-7之间的整数。
case后面跟着的数字就是用来跟weekday进行匹配的,如果是weekday中存1,就进入case 1中,进行相应的处理,否则就不会进去。
case后面不只能写数字,也可以是一个字母,但是不能是变量,每个case后面跟的不能重复。
default是用来处理异常的,比如weekday中存的不是1-7的数字而是别的,这时就会进入到default这个语句中进行相应的处理。
每个case后面必须有一个break,是跳出的意思。
7.打赌输赢机
生活中我们经常会打赌,赌你赢了怎么样我赢了怎么样,C语言中有一个跟这个非常类似的语句,叫条件运算符:
(表达式 ? 值1 : 值2)
"表达式"就是赌注的内容,值1和值2就是赌赢的奖励。
y = (x == 2 ? 100 : 50) ;
如果x等于2,那么y就等于100,如果x不等于2,那么y就等于50.
以上是基础篇,更有思维篇,编程篇,那么今天分享就到这里结束了,谢谢大家