#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 ");}
C++初级学习笔记
最新推荐文章于 2024-07-22 23:59:01 发布