1.回文数字判断方法(逆过来数值相等):y=y*10+x%10; x /= 10; return(x==y)

2.int rand(void)函数,所需头文件<cstdlib> ,功能是求出并返回一个伪随机数

为了使伪随机数每次产生的不同,每次需要输入一个seed,void srand(unsigned int seed),功能是将种子传递给rand()

想要产生的随机数有范围在1~6; x = 1+ rand()%6;

3.switch() case语句,可以将两个或多个case共用一个语句,在最后的case用break即可,default 用来表示其他的case情况,也需要加break:

4.递归 自身调用自身,然后逐级回退,从未知到已知,然后从已知回退到未知。。应用组合问题,结成问题,汉诺塔问题

5.由n个人里选k个人的组合数=由n-1个人里选k个人的组合数+由n-1个人里选k-1个人的组合数  nCk = n!/[(n-k)!k!]

6.汉诺塔问题

  public void hanoi(int n, char A, char B, char C) {

    if (n == 1) {
      move(A, C);
        }

    else {
      hanoi(n - 1, A, C, B);//步骤1 按ACB数序执行N-1的汉诺塔移动        把A上的n-1个盘子借助C移动到B
      move(A, C);
//步骤2 执行最大盘子移动
      hanoi(n - 1, B, A, C);
//步骤3 按BAC数序执行N-1的汉诺塔移动       把B上的n-1个盘子借助A移动到C
      }

7.函数的参数传递:引用传递可以实现双向传递(将实参和形参绑定在一起 int& a = x;),常引用作参数可以保证实参数据的安全。

8.initializer_list 与类有关 ,未完待续..........................................................

9.内联函数inline:为了解决一些频繁调用的小函数大量消耗栈空间(栈内存)的问题

inline的使用是有所限制的,inline只适合涵数体内代码简单的涵数使用,不能包含复杂的结构控制语句例如while、switch,并且不能内联函数本身不能是直接递归函数(即,自己内部还调用自己的函数)。

inline函数仅仅是一个对编译器的建议,所以最后能否真正内联,看编译器的意思,它如果认为函数不复杂,能在调用点展开,就会真正内联,并不是说声明了内联就会内联,声明内联只是一个建议而已。

10.常量表达式constexpr函数.......................................

11.带默认参数值的函数:void delay(int loops=1000);  delay(); //ok:loops采用默认值1000  。

默认参数在函数声明中提供,当又有声明又有定义时,定义中不允许默认参数。如果函数只有定义,则默认参数才可出现在函数定义中。

如果一个函数中有多个默认参数,则形参分布中,默认参数应从右至左逐渐定义。当调用函数时,只能向左匹配参数。

12.函数重载:功能类似的多个函数用同一个名字,类型和形参个数 不同

13.常用系统函数:

数学<cmath><math.h>:

1 三角函数 
double sin (double); 
double cos (double); 
double tan (double); 
2 反三角函数 
double asin (double); 结果介于[-PI/2, PI/2] 
double acos (double); 结果介于[0, PI] 
double atan (double); 反正切(主值), 结果介于[-PI/2, PI/2] 
double atan2 (double, double); 反正切(整圆值), 结果介于[-PI/2, PI/2] 
3 双曲三角函数 
double sinh (double); 
double cosh (double); 
double tanh (double); 
4 指数与对数 
double exp (double x); e的x次幂
double pow (double x, double y); x的y次幂
double sqrt (double); 
double log (double x); 以e为底的对数,即ln x
double log10 (double x);log10(x)   以10为底。

没有以2为底的函数但是可以用换底公式解 决:log2(N)=log10(N)/log10(2) 
5 取整 
double ceil (double); 不小于x的最小整数
double floor (double); 不大于x的最大整数
6 绝对值

int abs(int);整型
long labs(long);长整型
double fabs (double);浮点型

7 标准化浮点数 
double frexp (double f, int *p); 标准化浮点数, f = x * 2^p, 已知f求x, p ( x介于[0.5, 1] ) 
double ldexp (double x, int p); 与frexp相反, 已知x, p求f 
8 取整与取余 
double modf (double, double*); 将参数的整数部分通过指针回传, 返回小数部分 
double fmod (double, double); 返回两参数相除的余数

9.平方根

double sqrt(double x);

字符<iostream><ctype.h>:

int isalpha(int c);c是否为字母
int isdigit(int c);c是否为数字
int tolower(int c);将c转换为小写字母
int toupper(int c);将c转换为大写字母

字符串<iostream><string.h>:

char *strcpy(char *sl,char *s2);将字符串s2复制给s1,即覆盖
unsigned strlen(char *sr);求字符串str长度

内存操作<iostream><memory.h>:

void *memcpy(void *d,void *s,int c);将s指向的内存区域的c个字节复制到d指向的区域

类型转换<iostream><stdlib.h>:

int atoi(char *s);将字符串转化为整数
char *itoa(int v,char *s,int x);将整数v按x进制转成字符串s

时间<ctime><time.h>:

time_t time(time_t *timer);返回1970/1/1零点到目前的秒数

其他<iostream><stdlib.h>:

srand(unsigned seed);设置随机数的种子
int rand();产生0-RAND_MAX的随机数
exit(int);终止正在执行的程序

C++ 语言程序设计(清华大学)1的更多相关文章

  1. 中国大学MOOC-翁恺-C语言程序设计习题集-解答汇总

    中国大学MOOC-翁恺-C语言程序设计习题集 PAT 习题集 02-0. 整数四则运算(10) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standar ...

  2. 2019年春季学期《C语言程序设计II》助教注意事项

    本学期<C语言程序设计II>课程安排 理论课时24(1-12周),实验课时8(13周),课程设计课时16(14-15周) 理论课教学内容 附:教学进度表 本学期实验课和课程设计参考教材 & ...

  3. 《C++语言程序设计》初学者必备教材

    很多刚开始学习C++语言的同学,都会遇到一个问题:很多教材都不适合零基础的初学者.它们有的枯燥乏味,让人难以消化吸收,有的层次结构混乱,很难理清楚知识点,有的更是难度太大,没有代码的过渡,就开始讲解算 ...

  4. 资深程序员推荐必备书籍 《C语言程序设计》

    当下,IT行业发展日趋迅猛,产值成倍增长,高薪的诱惑更是驱使许多人想要进入IT行业发展.为了使大家更全面理解C语言程序设计,由千锋教研院高教产品研发部编著.清华大学出版社倾情出版的<C语言程序设 ...

  5. C语言程序设计入门学习五步曲(转发)

    笔者在从事教学的过程中,听到同学抱怨最多的一句话是:老师,上课我也能听懂,书上的例题也能看明白,可是到自己动手做编程时,却不知道如何下手.发生这种现象的原因有三个: 一.所谓的看懂听明白,只是很肤浅的 ...

  6. 160809208沈昊辰c语言程序设计实验选择结构设计

    <C语言程序设计>实验报告 学 号 160809208 姓 名 沈昊辰 专业.班 计科16-2班 学    期 2016-2017 第1学期 指导教师 黄俊莲 吴喆 实验地点 C区二层机房 ...

  7. C语言程序设计第4堂作业

    大家注意:本次作业稍有增加,由于放假期间大家空闲时间比较充足,将之前学习过程中遗留的问题必须在假期解决.   本次课学习主要内容: 分支结构中的二分支结构.多分支结构和else-if语句 掌握字符型数 ...

  8. 《VB语言程序设计(第3版)》总结

    我之前因学习昆仑通态的组态软件MCGS,用并学习过VB,还买了一本书<VB语言程序设计(第3版)>.现在在某公司实习,最近接触老的项目,又要用到VB.我就又把那本书大体看了一遍,并对其进行 ...

  9. 160809209_李梦鑫_C语言程序设计实验3 循环结构程序设计

    <C语言程序设计>实验报告 学 号 160809209 姓 名 李梦鑫 专业.班 计科16-2班 学    期 2016-2017 第1学期 指导教师 黄俊莲 吉吉老师 实验地点 C05 ...

  10. 160809209_李梦鑫_C语言程序设计实验2+选择结构程序设计_进阶

    <C语言程序设计>实验报告 学 号 160809209 姓 名 李梦鑫 专业.班 计科16-2班 学    期 2016-2017 第1学期 指导教师 黄俊莲 吴喆 实验地点 C05 机 ...

随机推荐

  1. 在abp core中出现运行项目时EF获取到的appsetting.json或者appsettings.Production.json中的连接字符串为空

    原因:有可能是生成的bin或者debug文件夹下没有将appsetting.json或者appsettings.Production.json文件生成过去 解决方法:手动拷贝过去,或者设置成自动生成过 ...

  2. 关于程序状态字寄存器PSW(Program Status Word)与多核多线程

    内核态(Kernel Mode)与用户态(User Mode) CPU通常有两种工作模式即:内核态和用户态,而在PSW中有一个二进制位控制这两种模式. 内核态:当CPU运行在内核态时,程序可以访问所有 ...

  3. 第1节 Scala基础语法:14、15、list集合练习

    package cn.itcast.collect /** *作业题 */object ListTest { def main(args: Array[String]): Unit = { //创建一 ...

  4. C++11常用特性介绍——nullptr关键字及用法

    一.nullptr关键字及用法 1)NULL的二义性 void func(int) {} void func(int*) {} 当函数调用func(NULL)时会执行哪个函数呢? 先看C++对NULL ...

  5. python学习 —— 使用QRCode包生成二维码

    我使用的是python3,最简单的方法就是使用QRCode,如果没有安装QRCode package,那么可以使用下面命令进行安装: pip3 install QRCode 然后,测试一下: from ...

  6. webpack配置文件里loader的执行顺序:从下到上,从右到左; css-loader开启css模块化modules: true,

    注释: options:{ importLoaders: 2 } 解决样式文件里使用@import 'xxx.xxx' 的问题 module: { rules: [{ test: /\.scss$/, ...

  7. kubernetes 1.17.2 kubeadm部署 证书修改为100年

    [root@hs-k8s-master01 ~]# cd /data/ [root@hs-k8s-master01 data]# ls docker [root@hs-k8s-master01 dat ...

  8. UniGUI的SQLite数据库(04)

    1]放FDConnection1和FDQuery1到界面上 一定要 放一个  FDPhysSQLiteDriverLink1到ServerModule上 2]在OnFormCreate事件里写 FDQ ...

  9. 笔记||Pyhthon3进阶之多线程操作共享数据

    # 多线程操作共享数据--------------------------------------------------------------- # import threading# 使用锁# ...

  10. 搭建springboot的ssm(spring + springmvc + mybatis)的maven项目

    最终项目目录结构 创建过程 1.创建开关SpringBootApplication 为了创建快速.我们使用idea自带的创建springboot来创建结构,当然创建普通的web项目也是可以的.(使用e ...