1.endl等对于cout来说有特殊含义的特殊符号被称为控制符;
2.面向对象编程(OOP);
3.一些关键字:
auto | break | case | char | const | continue | default | do | double | else |
enum | extern | float | for | int | inline | if | goto | long | register |
return | short | signed | struct | static | sizeof | switch | typedef | unsigned | union |
volatile | while | void |
4.C++命名规则:① 在名称中只能使用字母字符、数字、下划线;② 第一个字符不能是数字;③ 区分大小写;④ 不能使用C++关键字;⑤ 以两个下划线或下划线和字母开头的名称被保留给实现(编译器及其使用的资源)使用,以一个下划线开头的名称被保留给实现,用作全局标识符;⑥ C++对于名称的长度没有限制,但有些平台有限制。
5.提醒自己:养成命名的一致性,整体性;
6. <climits> 定义了各种限制的符号名称;如INT_MAX、CHAR_BIT 课本P41(待补充)
7.新的初始化语法:int wrens(432);
int a={24};
int a{24};
int a{}; //这种情况下,a将被初始化为0
8.
int ch;//为了和EOF比较,最好不定义为char int cnt=0; while ((ch=cin.get())!=EOF) { cout.put(char(ch)); cnt++; } cout<<endl<<cnt<<" characters read\n";
9.
int i=020,j=04; cout<<i+j<<endl; //输出20 cout<<i&j<<endl; //编译时报错!注意运算符的优先级
10.cin使用空白(空格、制表符和换行符)来确定字符串的结束位置,(面向单词);
面向行(结束符:换行符):getline()丢弃换行符
get() 保留换行符
#include<iostream> using namespace std; int main(){ char ch1[10],ch2[10]; cin.getline(ch1,10); cin.getline(ch2,10); cout<<ch1<<endl<<ch2; }
思考以上程序,如果第一行输入15个字符会怎么输出?为什么?
如果输入行包含的字符数比指定的多,getline()和get()将把余下的字符留在输入队列中,而getline()会设置失效位,并关闭后面的输入;但可以用cin.clear()命令来恢复输入;
cin.get()不丢弃换行符,实现连续输入两行可以采用下述方法:
cin.get(ch1,10); cin.get(); cin.get(ch2,10); //可以写成: cin.get(ch1,10).get(); cin.get(ch2,10);
11.
cin>>year; cin.getline(adr,80);
cin读取年份之后,将回车生成的换行符留在了输入列中,所以用户根本没有输入地址的机会。
解决:
cin>>year; cin.get(); //也可以将调用合并 (cin>>year).get(); cin.getline(...);
12.string类 string str1,str2="abc",str3="def";
赋值:str1=str2;
运算符合并:str1=str2+str3;
str2+=str3;
计算长度:int len1=str2.size(); (str2是一个对象,而size()是一个类方法)
将一行输入读取到string中:getline(cin,str1);
13.结构
struct myst{ string str; int num; }; int main(){ myst a1,a2; a2={ "hhq", 15 }; a1=a2; cout<<a1.num; }
发现可以将结构赋给另一个同类型的结构
14.int * 是一种符合类型,是指向int 的指针;
15.一定要在对指针应用解除引用运算符*之前,将指针初始化为一个确定的、适当的地址;
16.new和delete
int *p=new int[10]; delete [] p;
17. 对数组用sizeof得到数组长度,而对指针用则得到指针的长度;
18. 数组名->第一个元素的地址
对数组名应用&->整个数组的地址
short tell[10]; cout<<tell<<endl; //tell是一个2字节内存块地址 cout<<&tell<<endl; //&tell是一个20字节内存块地址
19.
char ch[10]="innocent"; char *p; p=ch; cout<<p<<" address: "<<(int *)p; //(int *)p 显示为该字符串的地址
20. 创建动态结构时,不能使用成员运算符句点;
21. C++中允许为函数提供默认参数,又名缺省参数
22.获取系统的当前时间
void showCurTime(){ const char *wday[7]={"星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日" }; time_t ptime; struct tm *p; time(&ptime); //获取当前日期和时间 p=localtime(&ptime); //取得当地时间 cout << "当前日期、时间 : " << p->tm_year+1900 << "." << p->tm_mon+1 << "." << p->tm_mday; cout << " <" << wday[p->tm_wday] << "> "; cout << p->tm_hour << ":" << p->tm_min << ":" << p->tm_sec << endl; }
23.
#include<cmath.h> int a = 1, b = 2; int f = abs(a-b);
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
@lalalala 谢谢^_^
@验题君 谢谢君!
潜力十足!
很棒!