一.C语言和C++的区别
- C语言是面向过程,讲究程序内容简练
- C++是面向对象,可能会因为要解决一个问题就把程序给复杂化
二.基本框架
#include<iostream>
using namespace std;
int main()
{
system("pause");
return 0;
}
三.语句
- 输入/出:
#include<iostream> #include<string> using namespace std; int main() { int a=0; cout<<"请给整型变量a赋值"<<endl; cin<<a; cout<<"整型变量a="<<a<<endl; float f=3.14; cout<<"请给浮点型变量f赋值"<<endl; cin>>f; cout<<"浮点型变量f="<<f<<endl; char ch='a'; cout<<"请给字符变量a赋值"<<endl; cin>>ch; cout<<"字符型变量ch为"<<ch<<endl; string str ="hello"; //注意要用到string头文件要包含<string> cout<<"请给字符串ch赋值"<<endl; cin>>ch; cout<<"字符串变量ch="<<ch<<endl; //假设输入两个值,连续,输入即可 cin<<a<<f; }
- 宏定义常量:#denfine(定义的是常量,不可修改)
- 修饰的变量:const(定义的是变量,不可修改)
四.运算
- 取模其实就是取余数,符号:%
- 逻辑运算:非(!)与(&&)或(||)
- 三目运算符(和if...else...语句很像)
- 递增递减
前置递增:先让变量+1,然后进行表达式运算
后置递增:先进行表达式运算,在让变量+1
例子:
a=10;
b1=a++*10;//这个的结果是100
b2=++a*10;//这个的结果是110
五.sizeof关键字
整型 short (2) int (4) long (4) long long (8)
可以利用sizeof求出数据类型的占用空间
语法:sizeof(数据类型/变量)
布尔类型
bool flag=True
就是真为1,假为0的意思
六.函数
1.coord函数的用法:
- 来自<Windows.h>里的一个函数
- 作用:表示文字在控制台的坐标,俗称坐标结构
2.srand函数是随机数发生器的初始化函数
- 原型:void srand(unsigned seed)
- 用法:初始化随机种子,这个种子会对应一个随机数;time函数是为了防止随机数的每次重复出现(因为用同一个种子,后边的rand会出现一样的随机数)即:srand((unsigned) time (&t));另一个常用的用法是 srand((unsigned) time(NULL)) 直接传入一个空指针。
3.fflush()函数
- C 库函数 int fflush(FILE *stream) 刷新流 stream 的输出缓冲区
#include <stdio.h>
#include <string.h>
int main()
{
char buff[1024];
memset( buff, '\0', sizeof( buff ));
fprintf(stdout, "启用全缓冲\n");
setvbuf(stdout, buff, _IOFBF, 1024);
fprintf(stdout, "这里是 runoob.com\n");
fprintf(stdout, "该输出将保存到 buff\n");
fflush( stdout );
fprintf(stdout, "这将在编程时出现\n");
fprintf(stdout, "最后休眠五秒钟\n");
sleep(5);
return(0);
}
4.Kbhit()函数
- 作用:检查是否有键盘的输入
5.getchar()函数
- 读取字符时,读一次就好了
- 读取方向键或功能键时要读取两次,第一次返回的事0或224,第二次才是实际值得
6.getchar() 和 _gethch() 的区别
7.scanf()和scanf_s()的区别
- scanf()不会检查输入边界,可能造成数据的益处
- scanf_s()会检查边界
-
#include<stdio.h> { int name[5]; scanf("%s",name);//如果输入abcdefgh,则会使得fgh溢出进入其他地方,造成程序错误 //scanf_s(%s,name,5);这里的话如果还是输入abcdefgh,那后边3个会被去掉 }
8.sort()函数
-
来自#include<algorithm>函数库
-
有三个参数,第一个是排列数组首地址,第二个是尾地址,第三个是比较函数 complare();一般默认排序是从小到大,如果要从大排到小的话,需要第三个参数。
-
//默认从小排到大 #include<iostream> #include<algorithm> using namespace std; bool complare(int a,int b) { return a>b; } int main() { int a[10]={9,6,3,8,5,2,7,4,1,0}; for(int i=0;i<10;i++) cout<<a[i]<<endl; sort(a,a+10); //sort()只需要两个参数 //假设是从大排到小 //改为sort(a,a+10,compare); for(int i=0;i<10;i++) cout<<a[i]<<endl; return 0;