简单来说,就是编写编定程序,让计算机代码解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。
为了使计算机能够理解人的想法,人类通过某种方式,将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉它,让计算机完成人的指令。
c++是在c语的基础上创建的,它比c的功能更强大,它是一门面向对象程序设计语言,对象程序设计是一种新型的程序设计范型,这种范型的主要特征是:程序=对象+消息。
c语是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。c语能以简单的方式编译、处理低级存储器。c语言拥有一套完整的理论体系经过了漫长的发展历史,在编程语言中具有举足轻重的地位。
课程背景
在早期的C++语言属于多面性语言,即可以像C语言一样进行模块化的面向过程的编程设计,也可以像Java一样进行抽象的面向对象程序设计。教学者考虑的是学生从较为便于理解的面向过程的编程思路入门学习C语言编程,然后在熟练了面向过程的编程方式后再从C语言延伸到C++,转而学习面向对象的程序设计。
可是随着面向对象的程序设计在应用市场上占领了主导地位后,再让学生从面向过程着手就等于是浪费学习时间。加上C++和C两门语言的初级语法思想是完全一致的,开设两门课程浪费了学时,也一定程度上耽误后续核心课程的学习。
这是简单的循环,对于正负号的问题可以记录一个变量来维护该次循环中是正号还是负号,每次循环结束都将这个变量记录的符号反转。以下是样例程序:
int foo(int n){
bool sign = true //true表示正号,false表示负号
int sum = 0
for (int i = 1 i <= n ++i) {
if (sign) sum += i
else sum -= i
sign = !sign
}
return sum
}
当然,n非常大时计算可能需要很久。这时可以考虑利用数学方法简化表达式。当n是奇数时,原式=1+(3-2)+...+(n-(n-1))=1+(n-1)/2=(n+1)/2,当n是偶数时,原式=(1-2)+...+(n-1-n)=-n/2。因此函数可以简单地写成:
int foo(int n){
return n % 2 == 0 ? - n / 2 : (n + 1) / 2
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)