春节歇了几天之后就不想干活了 果然,人不做事..就会变懒。
惯例先说说上次
把这当成三个语句而不是两个。 虽然说else if
看上去就是else
+if
但else if
占一行
else + if 就要占两行了,自动缩进之后,多级就会变得很臃肿
else if() { ... } else if() { ... }别老用abc xyz了,更不要abc xyz ABC XYZ一起上,我看着都头大,写程序毕竟不是做数学题(而且别学教程啊,教程只是为了方便) 可以有如下替换(用有实际意义的单词): grade credit mark point number(num) result sum temp(temporary) 这种名字怎么起,现阶段原则是,开心就好...
另外,一般见到XY都是坐标 abc做临时变量也是可以的,所以GPA计算器里写abc也将就吧(用来记录临时的值) 介绍一种常用的驼峰命名法:
变量&函数: int i; //或者j,k.用作循环变量或跳出循环条件int temp; //临时记录double chaoChaoLength; //超超身高,注意分成3个语块,第一块首字母小写,其他块首字母大写bool isHeBullShit; //bool型可用“is”开头,同上注意大小写const int MAX_LENGTH;//常量,全大写,用下划线区分语块类:class GayGay //每块首字母都大写{ ...};下面讲正题
顾名思义,就是一组数,可以是任何类型的 这组数有序存储,且可重复(数组与集合概念相对,集合无序且不可重复)
数组的定义:数据类型 数组名[常量]
偷懒贴个教程,请认真阅读 http://c.biancheng.net/cpp/biancheng/view/151.html
有一维数组肯定就有多维数组了,跟一维数组同理,就是数组套数组 http://c.biancheng.net/cpp/biancheng/view/152.html
http://c.biancheng.net/cpp/biancheng/view/31.html 写得挺好的,嗯,请认真阅读
补充: 函数在被调用的时候,它所表示的值就是返回值,可以被当做普通变量,做赋值,判断等操作
#include <iostream>using namespace std;int square(int x) //{ return x*x; }void main(){ if (!square(0)) //square(0)返回值为0(false),!是“非”的意思,!false就是true了 { cout << "hey"; } bool b = square(1); //b被赋值为true了}也就是c++的创造者写好的函数
会用系统函数能节省大量时间 但有时候需要知道那些函数怎么实现的(提升自己or避免因未知原理而可能出现的问题) 遗憾的是c++中貌似不能方便地利用IDE的“转到定义”查看系统函数体。
下面列举一些常用的,请眼熟他们的名字,不仅c++,其他语言的这些函数名字也都大同小异
函数 | 解释 | 头文件 |
---|---|---|
sqrt() | 求平方根 | cmath |
abs() | 求绝对值 | cmath |
sin(),cos(),tan() | Exactly what you think | cmath |
ceil(),floor() | 天花板(地板):不小(大)于该值的最小(大)整数 | cmath |
log(),log10() | 分别表示 | cmath |
tolower(),toupper() | 转换成小写/大写字母 | iostream |
time() | 返回1970/1/1零点到目前的秒数 | ctime |
rand(),srand() | 随机数相关 | iostream |
老生常谈的问题
首先需要知道,c++程序是按顺序执行(编译)的,一句一句,直到条件控制、跳转语句。也就是说下面的一段程序是错误的
int a=b;int b=1;c++中,一对大括号内的区域称为一个作用域,该作用域内声明的变量,对域外不可见 所以,程序执行过一个作用域之后,该域内声明的变量会消失(内存释放) 但是,在域外(特指作用域前)声明的变量,在作用域内做的改变会保留
试试看下面的代码
void main(){ int a = 0; { int b = 1; a = b; } cout << a; cout << b;}在域外已经不存在b
这个变量了,但是域内对a
做的改变仍然保留
函数有一对大括号,然而并不能跟作用域等同 比如
void nega(double x){ x = -x;}void main(){ int x = 6; nega(x); cout << x; //x仍为6}x没有改变,因为在nega()的这个括号里,double x
就是一个新的变量了(简称“新x”),它的值为调用时的6
,也就是“老x”的值 也就是说,调用的时候,仅仅是把x的值传了进去,函数体内的x相当于一个备份,对这个备份做任何操作,无法影响“老x”。
今天就先做对它们做初步的介绍
如“数组怎么作为函数的参数”,“怎么用函数交换两个实参的值”之类的问题,等学习了指针的内容之后就会明白。 (以上两个问题即地址与值问题)
请自己在下面练习一下怎么使用数组与函数。
提示:
void test(int arr[], int length)可以传数组进函数,用length表示数组长度
小作业(不用交):
声明一个 int 型数组(乱序),对其元素进行排序 如 原数组 0 7 9 5 1 3 排序后 0 1 3 5 7 9 整个过程可写在main函数中,不需另写函数把之前的作业“GPA计算器”和“输出质数”变成函数,从main函数里分离出来 要求: GPA计算器:无输入,返回值为计算所得GPA 输出质数:输入整数n,输出从0到n的质数,无返回值 并在main函数中调用上面两个函数新闻热点
疑难解答
图片精选