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:这两种类型在内存的不同地方,值类型存储在堆栈中,而引用类型存储在托管对上.存 ...
随机推荐
- eclipse中JUnit工具的使用
- OpenCV实现马赛克和毛玻璃滤镜效果
一.马赛克效果 马赛克的实现原理是把图像上某个像素点一定范围邻域内的所有点用邻域内随机选取的一个像素点的颜色代替,这样可以模糊细节,但是可以保留大体的轮廓. 以下OpenCV程序实现马赛克效果,通过鼠 ...
- uwp - 解决“Microsoft.EntityFrameworkCore.Tools –Pre因为在此系统上禁止运行脚本”
在uwp使用ef时,需要安装“Microsoft.EntityFrameworkCore.Tools –Pre” ,如果安装失败提示:“无法加载文件 \.nuget\packages\Microsof ...
- ASP.NET Core 数据库上下文 - ASP.NET Core 基础教程 - 简单教程,简单编程
原文:ASP.NET Core 数据库上下文 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 数据库上下文 上一章节中我们了解了 Entity Framewo ...
- Arcgis for Javascript实现图
首先,截个图给大家看结果: 初始化状态 放大后的状态 点击选中后的状态 如上图所看到的,一般的涉及到的地图的统计涉及到上述所展示的三个状态:1.初始化状态.2.缩放后的状态:3.点击选中显示详情状态. ...
- react项目实践——(4)依赖安装与配置
1. 修改package.json,添加需要安装的包 { "name": "myapp", "version": "1.0.0&q ...
- wpf C# 操作DirectUI窗口 SendMessage+MSAA
原文:wpf C# 操作DirectUI窗口 SendMessage+MSAA 最近做一个抓取qq用户资料的工具,需要获取qq窗口上的消息,以前这种任务是用句柄获取窗口中的信息,现在qq的窗口用的是D ...
- ASP Get请求
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...
- SVG路径动画解密
原文:SVG路径动画解密 原文链接:http://www.gbtags.com/gb/share/5581.htm SVG路径动画效果现在貌似越来越多网站都使用了,给我的感觉就像是一段时间的流行而已, ...
- SEED缓冲区溢出实验笔记
缓冲区溢出实验(Linux 32位) 参考教程与材料:http://www.cis.syr.edu/~wedu/seed/Labs_12.04/Software/Buffer_Overflow/ (本 ...