C++初级学习笔记

#include<iostream>
#include "namesp.h"
using namespace std;
cout << "int: \t\t" << "所占字节数:" << sizeof(int);  
    cout << "\t最大值:" << (numeric_limits<int>::max)();  
    cout << "\t最小值:" << (numeric_limits<int>::min)() << endl; 
int:         所占字节数:4    最大值:2147483647    最小值:-2147483648

输出C:std::cout << “C”<< endl ;(end1可省,cout可为cerr 、clog)
输入name与age:char name[50];char age[50],cha;cin >> name >> age;
cin.get(字符数组名,接收字符数目)用来接收一行字符串,可以接收空格(get后面括号为空时,可输入多个字符,但只存储一个)
cin.get(cha)读取cha下一个字符
cin.getline("name",20);输入一行内容(最大20字符),存储到name中,回车结束
cin.get("name",20).get()与上面作用相同(意义:读取下一个字符,数字最后一个字符皆为换行符)
getline(cin,name);//当string name时,输入一行内容到name中

“aaa”==》\"aaa\"==》"+*(aaa)+*"字符串中添加双引号
cout.put(‘!’);//输出!

函数内部全局变量用static定义,函数外部变量,在外部函数中用extern定义

在理论上来说可以是自由命名的,但每个头文件的这个“标识”都应该是唯一的。标识的命名规则一般是头文件名全大写,前后加下划线,并把文件名中的“.”也变成下划线,如:stdio.h   
#ifndef   _STDIO_H_   
#define   _STDIO_H_   
......   
#endif  (防止重定义错误,一个程序,多个文件,头文件可能重复时使用)

#include<cmath>
a=sqrt(9.0)计算出9的平方根并赋值给a
a=atan2(x,y)根据坐标x、y计算角度

#include<cctype>
isspace(a)测试字符a是否为空白
isalpha(a)检查字符a是否为字母
ispunct(a)测试字符a是否为标点符号

#include<array>

#include<string>
字符与字符串的使用
字符串string使用时需要进行引用#include <string>
char ch="s";
static _cast<int>(ch)//将字符强转为int类型
char a[4];a="cc";
strlen(a);确定字符串a实际的长度(2)
sizeof(a);确定字符串a声明时的长度(4)
字符串赋值给数组只能用strcpy与strcnpy;
char a[20]="asdad";
strcpy(a,"str")将str赋值给字符串a
strncpy(a,"str",19)将str赋值给字符串a("str"最多为19个字符,另需加上food[19]="\0")
string str="hate";
strcmp(str,"mate");比较str与mate是否相同,相同返回0,不相同返回非0(前面大为正,后面大为负)

字符数组转化成string类型
char ch [] = "ABCDEFG";
string str(ch);//也可string str = ch;
或者
char ch [] = "ABCDEFG";
string str;
str = ch;//在原有基础上添加可以用str += ch;

将string类型转换为字符数组
char buf[10];
string str("ABCDEFG");
length = str.copy(buf, 9);
buf[length] = '\0';
或者
char buf[10];
string str("ABCDEFG");
strcpy(buf, str.c_str());//strncpy(buf, str.c_str(), 10);

auto n=1;//根据变量的初值来设定n的类型

整数常量

1、可以是十进制、八进制或十六进制的常量。前缀指定基数:0x 或 0X 表示十六进制,0 表示八进制,不带前缀则默认表示十进制。

2、也可以带一个后缀,后缀是 U 和 L 的组合,U 表示无符号整数(unsigned),L 表示长整数(long)。后缀可以是大写,也可以是小写,U 和 L 的顺序任意。

浮点常量

由整数部分、小数点、小数部分和指数部分组成。您可以使用小数形式或者指数形式来表示。
1.23E3 ==》1.23*1000	1.23E+3 ==》1.23*1000(小数点右移三)	1.23E~3 ==》1.23/1000(小数点左移三)


 常量定义的方式:1、#define a 5; 2、const int  a= 10;(const用于指针时:只能用于指向基本数据类型的指针,不能用于指向指针的指针)

 让C++控制台程序停下来,实现暂停功能:(1)system( "PAUSE "); (2)第二种方式getchar(); (3)第三种方式Sleep();  (4)cin.get();(有时要用两次才有效)

随机数生成:int i,j;
 
 #include<cstdlib>
   // 设置种子
   srand( (unsigned)time( NULL ) );
 
   /* 生成 10 个随机数 */
   for( i = 0; i < 10; i++ )
   {
      // 生成实际的随机数
      j= rand();
      cout <<"随机数: " << j << endl;
   }

 setw() 函数来格式化输出

// 基于当前系统的当前日期/时间
   time_t now = time(0);
   
   // 把 now 转换为字符串形式
   char* dt = ctime(&now);

tm *ltm = localtime(&now);
 
使用结构 tm 格式化时间
   // 输出 tm 结构的各个组成部分
   cout << "年: "<< 1900 + ltm->tm_year << endl;
   cout << "月: "<< 1 + ltm->tm_mon<< endl;
   cout << "日: "<<  ltm->tm_mday << endl;
   cout << "时间: "<< ltm->tm_hour << ":";
   cout << ltm->tm_min << ":";
   cout << ltm->tm_sec << endl;
}

typedef 关键字:取别名typedef long int *pint32;pint32 x, y, z;//x, y 和 z 都是指向长整型 long int 的指针。
decltype只是为了推断出表达式的类型而不用这个表达式的值来初始化对象.

指针: int  var = 20;   // 实际变量的声明
   int  *ip;        // 指针变量的声明
   ip = &var;       // 在指针变量中存储 var 的地址
   cout << var << endl;//20
   cout << ip << endl;// 0xbfc601ac
   cout << *ip << endl;//20


#if 0
  a=0;
#else
  a=1;
#endif//其实就等同于if,else的判断语句,1为true,0为flash;



继承:class D{......};
class B: virtual public D{......};
class A: virtual public D{......};
class C: public B, public A{.....};

虚继承--(在创建对象的时候会创建一个虚表)在创建父类对象的时候

A:virtual public D
B:virtual public D

杨辉三角形:
void YhSan(){
const int n = 15;//常量定义,n恒定为15
    const int m = 2 * n-1;
    int arr[n + 1][m] = { 0 };
    for (int i = 0; i < n; i++)
    {
        arr[i][n - i- 1] = 1;
        arr[i][n + i -1] = 1;
 
    }
    for (int i = 2; i < n; i++)
    {
        for (int j = n - i + 1; j < n-2+i; j = j + 2)
            arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j + 1];
    }
    int p;
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n - i - 1; j++)
            cout << "    ";
        p = 1;
        for (int j = n - i - 1; p < i + 2; j = j + 2)
        {
            cout << setw(4) << arr[i][j] << "    ";
            p = p + 1;
        }
        cout << endl;
    }
	system( "PAUSE ");}
	

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值