C++基础知识

1.默认情况下vs下的小数是double类型,但是打印的时候最多显示小数点后5位。
2.隐含转换:基本原则是将低类型数据转换为高类型数据,然后再计算。
由低到高:char---short---int---unsigned---long---unsigned long---float---double
3.水平制表符\t具有对\t后面的内容对齐的作用:\t前面有八个字符。
aaa\t,在aaa后面五个空格;aaaaa\t后面三个空格;
    cout<<"aaa\thellowworld"<<endl;
    cout<<"aaaaa\thellowworld"<<endl;
aaa       hellowworld
aaaaa   hellowworld
4. c++使用字符串需要加头文件#include<string>,对字符串的使用也略有不同;
C语言风格char str[]="hellow world";     c++风格string str2="hellow world";
5.取模运算分母不能为零,且小数不可以进行取模运算。
6.switch缺点,判断的时候只能是整型或者字符型,不可以是一个区间。
优点是结构清晰。
7.(1)int date=rand()%100+1; //生成0+1`99+1随机数 ;(需要加头文件#include<stdlib.h>)
(2)添加随机数种子,作用是利用当前系统时间生成随机数,防止每次随机数都一样,
使用srand((unsigned int)time(0));(需要加头文件#include<ctime>)
8.do...while先执行一次程序再判断条件;
9.break退出当前循环,continue退出本次循环。
10.goto语句的使用:从语句0跳转到语句3,程序中尽量不要使用,以免造成程序混乱。
例:
语句0;
goto flag;
语句1;
语句2;
flag:
语句3;
11.数组的定义:(1)int arr[5];     (2)int arr[5]={1,2,3,4,5};    (3)int arr[]={1,2,3,4,5};
    sizeof(arr)/sizeof(arr[0])=数组个数;
12.二维数组的定义:(行数可以省略,列数不可以省略)
(1)int arr[][];  
(2)int arr[2][3]={{1,2,3},{4,5,6}}; //两行三列,更直观看出数组结构,比较推荐。
(3)int arr[2][3]={1,2,3,4,5,6}; //系统自动识别规划为(2)中的情况。
(4)int arr[][3]={1,2,3,4,5,6}; //系统自动识别规划为(2)中的情况。
13.查看行地址直接(int)arr;    查看单个元素地址用(int)&arr[0][0];
14.如果所写函数在main函数之后,则要在main之前进行函数声明;声明可以写多次,但是函数定义只有一次,
函数定义要包含函数名,返回类型,参数,函数体,但是函数声明不包含函数体,其他都有。
15.函数的分文件编写步骤:
(1)创建.h(swap.h)后缀名的头文件,内容比如
#include <iostream>
using namespace std;
void swap(int a,int b); //函数的声明
(2)创建.cpp(swap.cpp)后缀名的源文件.,内容比如:
#include "swap.h"
void swap(int a, int b) //函数的定义
{
    int temp = a;
    a = b;
    b = temp;
    cout << "a=" << a << endl;
    cout << "b=" << b << endl;
}
(3)在头文件中写函数的声明
(4)在源文件中写函数的定义
(5)常见含有main函数的源文件,文件中可以直接调用swap函数,
但是头文件加上#include "swap.h",其中双引号代表是自己的头文件。
16.指针的使用(伪代码):int a=10;  int *p;  p=&a;  *p=a=10;
指针前加*代表解引用,找到指针指向的内存中的数据。
17.在32位操作系统下,指针是4个字节空间大小,不管是什么数据类型;
在64位操作系统下,指针式8个字节大小空间大小。
18.空指针用于给指针进行初始化,比如:int *p=NULL;  空指针是不可以进行访问的,0-255之间的内存编号
是系统占用的,因此不可以访问。
19.野指针:指针变量指向非法的内存空间。在程序中要尽量避免野指针,否则编译通过,运行失败。
20.const修饰指针,叫常量指针:指针的指向可以改,指向的值不可以改。
    const修饰常量,叫指针常量:指针的指向不可以改,指针指向的值可以改。
    const修饰指针和常量:指针的指向和指向的值都不可以修改。
21.结构体创建:(1)struct 结构体名 变量名;(2)struct 结构体名 变量名={成员1值,成员2值...}
22.通过结构体指针访问结构体中的属性,使用'->'。
23.将函数中的形参改为指针,可以减少内存空间,而且不会复制新的副本出来。
比如:void printstudent(const student *s),加入const之后,一旦这个子函数有修改的的操作就会报错,可以防止我们的误操作。
24.C语言中的strlen() 函数计算字符串 str 的长度,直到空结束字符,但不包括空结束字符。
函数声明如下:size_t strlen(const char *str),注意strlen()函数的参数类型为const char *类型。
C++中的length()函数,使用:string.length()。C++中的size()函数,使用:string.size()。
25.vector<元素类型>数据对象名(数据长度,元素初值)
26.strcpy函数将一个字符串的内容复制到另一个字符串;
    strcmp函数按词典顺序比较两个字符串的大小;
    strcat函数将两个字符串连接起来;
以上都需要cstring的头文件。
27.string常用成员函数:unsigned int length() const; //返回串的长度(字符个数)
             void swap(string &str); //将本串与str中的字符串进行交换
28.cin的>>操作符从键盘输入字符串,空格会被当作输入的分隔符而把下面的输入隔断;
string的getline不以中间的空格作为输入的分隔符,比如getline(cin,s2);
getline还允许在输入字符串时增加其他分隔符,使用方法是把可以作为分隔符的字符作为第三个参数传递给getline,例如getline(cin,s2,',');
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值