C++笔记(一)之C与C++的区别

一.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;
     
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值