c/c++基础内容回顾
1.1基本数据类型
1.1.1 变量的定义
变量类型 变量名
变量类型 变量名=初值;
注意:不能以C语言标识符作为变量名,变量名的第一个字符必须是字母或者下划线,其它位置字符必须是字母、数字、下划线。
1.1.2 变量类型
整型 int ,long long
浮点型 float ,double
字符型 char
布尔型 bool
注:布尔型在c++中可以直接使用,但在c语言中必须添加stdbool.h才能使用
#include<stdio.h>
int main()
{
bool flag1=,flag2=true;
int a=,b=;
printf("%d %d %d\n",flag1,flag2,a==b);
return ;
}
1.1.3 强制类型转换
格式:(新类型名)变量名
#include<stdio.h>
int main()
{
double r=12.56;
int a=,b=;
printf("%d\n",(int)r);
printf("%d\n",a/b);
printf("%.1f\n",(double)a/(double)b);
return ;
}
0.6
1.1.4 符号常量和const常量
#define 标识符 常量
#define 标识符 任何语句或片段
#define ADD(a,b) ((a)+(b))
const 数据类型 变量名=常量
注意:确定值后便无法改变
1.1.5 运算符
算术运算符
+ - * / % ++ --
关系运算符
<,>,<=,>=,==,!=,
逻辑运算符
&&,||,!,(与、或、非)
条件运算符(三目运算符)
(a>b?a:b)
位运算符
<< 左移 整数a按二进制位左移x位 a<<x
>>右移 整数a按二进制位右移x位 a>>x
&位与 整数a与b按二进制对齐,按位进行与运算 a&b(除了11得1,其它均为0)
| 位或 整数a与b按二进制对齐,按位进行或运算 a|b(除了00得0,其它均为1)
^位异或 整数a与b按二进制对齐,按位进行异或运算 a^b(相同为0,不同为1)
~位取反 整数a的二进制位的每一位进行0变1,1变0的操作
1.2 常用的math函数
需要头文件math.h
fabs(double x)取绝对值函数
floor(double x)下取整
ceil(double x)上取整
pow(double r,double p)返回r的p次幂
sqrt(double x)返回x的算术平方根
log(x)返回以e为底的对数
sin(double x),cos(double x),tan(double x) x的正弦,余弦,正切
asin(double x),acos(double x),atan(double x),x的反正弦,反余弦,反正切
round(double x)对x进行四舍五入
1.3 memset——对数组整体进行赋值
memset(数组名,值,sizeof(数组名));
#include<stdio.h>
#include<string.h>
int main()
{
int a[]={,,,,};
//¸³³õÖµ0
memset(a,,sizeof(a));
for(int i=;i<;i++)
{
printf("%d",a[i]);
}
printf("\n");
memset(a,-,sizeof(a));
for(int i=;i<;i++)
{
printf("%d",a[i]);
}
printf("\n");
return ;
}
建议只赋值0或-1
1.4 string.h 头文件
strlen(字符数组)获取字符串长度(得到字符数组中第一个\0前的字符的个数)
strcmp(字符数组1,字符数组2)比较两个字符串的大小
strcpy(字符数组1,字符数组2) 将字符串2的内容复制给字符串1
strcat(字符数组1,字符数组2)将字符串2接到字符串1后面
1.5 全局变量和局部变量
1.6 指针
1.7 结构体
结构体的定义
struct Name{
//一些基本的数据结构类型或自定义的变量类型
}
1.8浮点数的比较
由于计算机中采用有限位的二进制编码,因此浮点数在计算机中的存储并不总是准确的。在经过大量计算后,一个浮点型的数3.14就可能存储成3.140000000000001.或者3.13999999999
进而造成误差,于是要引入一个极小数eps来对这种误差进行修正。
eps取10的-8次幂是合适的。
#include<stdio.h>
#include<math.h>
const double eps=1e-;
#define Equ(a,b) ((fabs((a)-(b)))<(eps))
int main()
{
double db=1.23;
if(Equ(db,1.23))
{
printf("true");
}
else
printf("false");
return ;
}
#define Equ(a,b) ((fabs((a)-(b)))<(eps))
#define More(a,b) (((a)-(b))>(eps))
#define Less(a,b) (((a)-(b))<(-eps))
#define MoreEqu(a,b) (((a)-(b))>(-eps))
#define LessEqu(a,b) (((a)-(b))<(eps)) #define Pi=acos(-1.0)
c/c++基础内容回顾的更多相关文章
- Ruby Rails学习中:Ruby内置的辅助方法,基础内容回顾补充
一. Ruby内置的辅助方法 1.打开文件:app/views/layouts/application.html.erb(演示应用的网站布局) 来咱把注意力放在圈起来的那一行: 这行代码使用 Rail ...
- python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。
本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding: ...
- java基础知识回顾之---java String final类普通方法
辞职了,最近一段时间在找工作,把在大二的时候学习java基础知识回顾下,拿出来跟大家分享,如果有问题,欢迎大家的指正. /* * 按照面向对象的思想对字符串进行功能分类. * ...
- C#基础知识回顾-- 反射(1)
C#基础知识回顾-- 反射(1) 反射(reflection)是一种允许用户获得类型信息的C#特性.术语“反射”源自于它的工作方式: Type对象映射它所代表的底层对象.对Type对象进行查询可以 ...
- JavaWeb开发技术基础概念回顾篇
JavaWeb开发技术基础概念回顾篇 第一章 动态网页开发技术概述 1.JSP技术:JSP是Java Server Page的缩写,指的是基于Java服务器端动态网页. 2.JSP的运行原理:当用户第 ...
- Java基础知识回顾之七 ----- 总结篇
前言 在之前Java基础知识回顾中,我们回顾了基础数据类型.修饰符和String.三大特性.集合.多线程和IO.本篇文章则对之前学过的知识进行总结.除了简单的复习之外,还会增加一些相应的理解. 基础数 ...
- python 全栈开发,Day112(内容回顾,单例模式,路由系统,stark组件)
一.内容回顾 类可否作为字典的key 初级 举例: class Foo(object): pass _registry = { Foo:123 } print(_registry) 执行输出: {&l ...
- scrapy实战1,基础知识回顾和虚拟环境准备
视频地址 https://coding.imooc.com/learn/list/92.html 一. 基础知识回顾 1. 正则表达式 1)贪婪匹配,非贪婪匹配 .*? 非贪婪 . ...
- C#学习笔记(基础知识回顾)之值类型和引用类型
一:C#把数据类型分为值类型和引用类型 1.1:从概念上来看,其区别是值类型直接存储值,而引用类型存储对值的引用. 1.2:这两种类型在内存的不同地方,值类型存储在堆栈中,而引用类型存储在托管对上.存 ...
随机推荐
- Java编程思想里的泛型实现一个堆栈类
觉得作者写得太好了,不得不收藏一下. 对这个例子的理解: //类型参数不能用基本类型,T和U其实是同一类型. //每次放新数据都成为新的top,把原来的top往下压一级,通过指针建立链接. //末端哨 ...
- 回调函数实现类似QT中信号机制
1. 定义回调接口类: class UIcallBack { public: virtual void onAppActivated() = 0; virtual void onShowMore() ...
- 卷积(convolution)与相关(correlation)(matlab 实现)
1. 卷积(convolution) 输出 y(n) 是作为在 x(k) 和 h(n−k)(反转和移位)重叠之下的样本和求出的. 考虑下面两个序列: x(n)=[3,11,7,0,−1,4,2],−3 ...
- 大班模型行为PK(总结)
行为类模式包括责任链模式.命令模式.解释器模式.迭代模式.中介模式.备忘录模式.观察者模式.State模式.策略模式.模板方法.Visitor模式,我去,许多.. .主要有以下挑几个easy混乱和控制 ...
- MySQL更改表的存储引擎
MySQL它提供了多种数据库存储引擎,存储引擎负责MySQL存储和检索数据的数据库.不同的存储引擎具有不同的特性,能须要将一个已经存在的表的存储引擎转换成另外的一个存储引擎.有非常多方法能够完毕这样的 ...
- CefSharp For WPF自定义右键菜单栏
原文:CefSharp For WPF自定义右键菜单栏 初始化 <!--浏览器--> <cefSharpWPF:ChromiumWebBrowser Name="webBr ...
- 【LeetCode】LRU Cache 解决报告
插话:只写了几个连续的博客,博客排名不再是实际"远在千里之外"该.我们已经进入2一万内. 再接再厉.油! Design and implement a data structure ...
- 源码编译路径错误导致的Apache 无法重启问题解决方法
问题现象: 第一次源码编译安装Apache设置路径错误,安装到/usr/local/src/ 目录下了. 删掉该目录下的安装文件,重新编译安装到/usr/local/目录下 重启apache服务时报这 ...
- zendframework 初始化配置
https://framework.zend.com/manual/2.4/en/tutorials/config.advanced.html#environment-specific-system- ...
- 将exe和dll文件打包成单一的启动文件
当我们用 VS 或其它编程工具生成了可执行exe要运行它必须要保证其目录下有一大堆dll库文件,看起来很不爽,用专业的安装程序生成软件又显得繁琐,下面这个方法教你如何快速把exe文件和dll文件打包成 ...