很多人出入大学都会学《计算概论》这一门课(因为现在很多专业都要求要掌握编程的基本知识),但对于很多大一新生,特别是很多没有接触过变编程的人来说,想要学好一门编程语言是不太容易的,而且如果身边有信息竞赛的大神,那就会产生一种对编程不好的印象。但其实只要对自己有信心,好好学,到以后很多人都会比身边曾经的大神学得好。为让初学者能安全的度过适应期下面我总结了一些c++语言中很基本的几种算法和一些基本语言。
1.cin和cout
cin和cout在c++中是很基本但最常用的输入输出方法,用cin >> 输入,cout << 输出,可以接收或输出字符和字符串(字符可以是数字,也可以是字母)例如:
#include <iostream>
using namespace std;
int main()
{
int a, b;//表示两个整形变量
cin >> a >> b;
cout << a + b << endl;
cout << a * b << endl;
return 0;
}
上面是一个给定两个整数算它们的和的小程序,int a, b;代表定义两个整形变量,endl表示此行结束(即如果下面还有输出,则下面输出的结果会和这个结果不在一行),即如果输入3【空格】5,那么就会输出
8
15
而如果cout << a + b << endl;改写成cout << a + b;那么输出就会变成815;
这里要注意cin在输入时,遇到空格和回车都会结束。比如下面一个程序:
#include <iostream>
using namespace std;
int main()
{
char a[5];//定义一个字符数组,大小为5
cin >> a;
cout << a;
return 0;
}
如果输入ab cd,那么输出就会变成ab.
2.数组
在运用数组时(比如上面那个程序),一定要注意数组的越界问题比如int a[5];那么这个数组中有五个元素a[0],a[1],a[2], a[3], a[4],而没有a[5],但我们在很多情况下都会出现越界的问题,这是一个非常严重的错误,因此我们平时要用数组时,可以将数组适当的开大一点,比如需要1000,你可以开1100甚至更大(当然适当大最好),这样就可以有效的避免这个问题。另外数组中还会经常遇到一些初始化的问题比如int a[5];你输出时只需输出a[0],a[1];但编的时候却编成了输出a[0],a[1],a[2],而你又没有将数组初始化,这时候编译时不会报错,但输出来的值除了a[0],a[1]的值,还会输出一个不可预知的值
a[3],因此 在定义数组时最好将数组初始化即 int a[5] = {};(关于数组初始化下面还会讲)这时候输出的a[3]就会是0,这样输出结果之后一看多出个0,你就知道自己错在哪(当然好处不仅仅是这些)。最后定义数组时最好不要这样定义 int a[n];这样定义很容易出错。
以上是我们在运用数组十三个非常好的习惯。数组的初始化是一个很重要的问题,尤其是在一些比较大的程序数组必须初始化,下面就讲解一下初始化的几种方法。
比如int a[5] = {};这里的大括号里可以什么都不写,那么数组内的所有值都是0,
int a[5] = {0};大括号里只有一个0,那所有值也都是0(如果是int a[5] = {1}, 那数组中除了第一个数是1, 其余都是0)
int a[5] ={1, 1};这样前两个值就分别是1和2,其余的值都为0.
3.循环(循环必须熟练掌握)
循环是语言中一个很重要很基本的算法主要有for循环和while循环
for循环格式为for(变量;判断条件;变量的关系式 )
例如for(int i = 0; i < 3; i++)
{ 。。。。。。。。。}
这里i < 3,即如果i < 3,就执行这个循环。i++是指每执行一次循环都将i的值加1.如果前面已经定义过i这个变量并且已经附过值,那就可以直接写成for(i; i < 3; i++)
while循环格式为while(判断条件)
比如while(n < 3)
{.......................}
do ...........while循环,格式为
do
{。。。。。。。。。。。。}while(判断条件)
while循环和do。。。。while循环的区别是while循环的次数可能为零,而do。。。while循环必做一次循环。
根据字面意思就很容易理解;循环里经常用到break来打破最近的循环,用continue来打破本次循环,进行下一次循环。
4.条件语句(和循环语句同样重要)
if条件语句,格式为if(判断条件)
例如if(n >= 3)
{.......................}
当然如果需要多个if,推荐用
if(判断条件)
{。。。。。。。}
else if(判断条件)
{。。。。。。。。。。。。。。。}
else if(判断条件)
{。。。。。。。。。。。。。。。}
当然此时也可以用switch语句,格式为
switch(表达式)
{
case 常量表达式1:语句;
case 常量表达式2:语句;
default:语句;
}
注意:在循环中可以套用循环,也可以在条件语句中套用条件语句。这一部分不做细讲,老师会详细讲解的。
最后,c++语言中有很多小的细节需要注意,例如i++和++i的区分,在写程序是别把1打成i,别把0打成o,这些小东西不起眼,但一旦出错却很难发现,需要新人们从开始就养成好的习惯。以后还会陆续出其他编程的知识。比如各种输入的区别,代码的格式,函数等。请继续关注吧。