c++信息学基础简单易懂(新手福利)

1.#include <iostream>//包含头文件名iostream

2.using namespace std;//使用std命名空间

3.int main() //int,返回值是整数.main,程序的入口函数

4.cout << "Hello,World!" << endl;//cout,输出 .endl,换行

5.int a,b,c;//int,整数类型

6.cin>>a>>b>>c;//cin,输入

7.double a,b,c;//double,双精度浮点型

8.double d =(a+b)/2.0;//在不想改变a,b整数类型的情况下 可使等式一边变成小数类型

9.int z1=b-(a++);//a++或者++a相当于a=a+1

10.cout<<a/b<<" "<<a%b;//%-模,求余

11.n3=n1>n2;//在计算机中0被认为是false(假),任何非零的数都被认为是true(真)

cout<<n3;//所以,因为第上一行上的n1>n2是假的,所以n3==0

12.n3=n1<n2;//在计算机中0被认为是false(假),任何非零的数都被认为是true(真)

cout<<n3;//所以,因为第上一行上的n1<n2是假的,所以n3==任何非零的数

13.sizeof();能算出存储空间的大小。

14.float a;

cin>>a;

int b=int(a);//这就是强制类型转换

char c1='a';

16.char c2='A';

15.printf("%d",c1),用这个式子可以求出a的ASCLL编码

16.c1=c1-32;//因为小写a的ASCLL码大于大写A的ASCLL码32个数,所以减32就可以变成大写A

c2=c2+32;//因为大写A的ASCLL码小于小写a的ASCLL码32个数,所以加32就可以变成小写a

17.cout<<char(ascii);//这也是强制转换

18.getchar();是字符输入函数,一次只能接受单个字符,输入数字也按字符处理,使用时需要包裹头文件<cstdio>

使用方法:char ch;

            ch =getchar();

19.printf可以保留小数,但需要包裹头文件<cstdio>

20.putchar函数是字符输出函数

使用方法:putchar(ch);

21.s=sqrt(p*(p-a)*(p-b)*(p-c));//sqrt();是开平方符

22.#include<cmath>//使用sprt();所要包裹的头文件

23.fabs();是求绝对值函数

24.#Include<cmath>//是使用 fabs();所需的头文件

25.pow(x,y);求x的y次方

26.#Include<cmath>是pow();的头文件  

27.(x1*y2+x2*y3+x3*y1-x1*y3-x2*y1-x3*y2)/2是计算机中计算三角形面积的公式

28.int ans=n-ceil(1.0*y/x);//ceil();是向上取整函数

29.#include<cmath>//是向上取整函数的头文件

30.if(ans<0) ans=0;//判断语句

31.if(b<a){

swap(a,b);//swap();是交换函数,使用时把要交换的两个数在括号里交换位置即可。

32.else{              //这是“其他”的意思

33.if((a<60&&b>=60)||(b<60&&a>=60))//"||"是分隔两种情况的符号,只要符合其中一种,            就执行下面的动作

{

cout<<1;

}

  1.      switch(n)//swich函数

{

case 1://"case"判断n的值是否为1,最后是加冒号。

    cout<<"Monday";

    break;//"break"可使程序跳出switch,而执行switch之后的语句

switch(n)//swich函数

{

34.num4--;//"--"是自减符

num5++;//"+"是自加符  

35.num4-=2;//"-=2"是自减二的意思  

36.for(int i=1;i<=n;i++)//i=1是给i赋的值,i<=n是条件,如果不符合,就会直接终止程序

                   //i++的意思是每循环一次就加一

37. int oddsum=0;//想累加就必须要对被累加数赋值

int evensum=0;//想累加就必须要对被累加数赋值

for(int i=1;i<=n;i++)

{

if(i%2==0)

{

oddsum += i;//累加

38. int bai=a/100;//提取百位数的方法

int shi=a/10%10;//提取十位数的方法

int ge=a%10;//提取个位数的方法

39.cout<<fixed<<setprecision(4);//setprecision();可以保留小数 ,保留位数写在括号里。

40.#include<iomanip>//是运行 setprecision();的头文件

41.一个数对10取整就是删除末位

42.一个数对10取余就是取出末位

43.循环分离法:

取余10取出末位

取整10删除末位

44.while(true);是无限循环的意思

45."1e-8"是1乘以10的-8次方的意思

46.double类型的数不能直接与0进行对比,可与0.00000001进行对比

47. if(n%7==0||ge==7||shi==7||bai==7)//||是或者的意思

48.bool a[1001]={};//bool a[1001]={};的意思是把数组里数初始值全部赋值为零

49.a[j]=!a[j];//a[j]=!a[j]的意思是取反a[j]并把值赋给a[j]  

50.bool a[1001];//在数组被定义为布尔变量时初始值都为零

51.continue;//意思是不进行下面的操作,直接进入新的循环

52.//埃氏筛

//质数的倍数一定不是质数

//所以只要从最小的数开始对质数的倍数进行标记,就可以找出质数

53. for(int i=1;i<=n;i++) //这个方法叫做“遍历”可以取出1-n之间的数据

{

cout<<a[i]<<" ";

}

54.round();是四舍五入函数

55.cin>>s;//cin过滤空格

56.getline(cin,s)是接收一个字符串,可以接受空格并输出的意思

57.s.size()可以计算s的长度

58.string定义的类型是字符串

59.数组定义在int main()之前,可以不占栈的空间,定义的数可以稍微大一些。

60.res.erase();可以删除指定元素  res.erase(被删除元素的位置,要删除的数量)

61.#include<algorithm>是sort();排序函数的头文件

62.bool cmp(string A,string B)//cmp是比较指令,可以对括号里的两个数进行比较,比较规  

{

    return A<B;则在下面括号里

}

63.sort();是排序函数,括号里前面的都是要排序的数或数的范围,最后一个是按照什么规则进行排序

64.void strtolower(string& s)

{

for(int i=0;i<s.size();i++)

{

if(s[i]>='A'&&s[i]<='Z')

{

s[i]+=32;//大写比小写多32

}

}

}

strtolower();函数可以把字符串转换为小写

65.void delSpace(string& s)

{

string tmp;

for(int i=0;i<s.size();i++)

{

if(s[i]!=' ')

{

tmp+=s[i];

}

}

s=tmp;

}

delSpace();函数的功能是删除一个字符串中的所有空格

66.void reverseStr(string& str)

{

  int i=0,j=str.size()-1;

  while(i<j)

  {

  swap(str[i++],str[j--]);

  }

}

reverseStr(str);函数可以把字符串进行反转

67.void verse(string&str)

{

  for(int i=0;i<str.size();i++)

  {

  if(str[i]>='A'&&str[i]<='Z')

     str[i]+=32;

  else if(str[i]>='a'&&str[i]<='z')

     str[i]-=32;

  }

}

verse(s);函数可以把字符串转换为小写

68.struct node//给a[i]定义后缀,如a[i].name

{

int grade;

string name;

}a[101];

67. int n=s.size();

maxx=max(maxx,n);//求最长的字符串的长度

minx=min(minx,n);//就最短的字符串的长度

68.cout<<(s1==s2?"YES":"NO");//意思是如果s1==s2那么输出YES,反之输出NO

69.if(s1.find(s2)!=string::npos)//判断字符串s1是否包含字符串s2

70.s.erase(s.size()-1,1);//erase(int index,int num)删除下标从index开始的num个元素

71.bool isWq(int x)

{

int s=0;

for(int i=1;i<x;i++)

{

if(x%i==0)

{

s+=i;

}

}

return s==x;

}

if(isWq(i))

{

cout<<i<<endl;可以判断一个数是否是完全平方数

}

72.bool isPrime(int x)括号里的是参数,表示参与比较的数的类型是整数类型

{

 for(int i=2;i*i<=x;i++)

 {

 if(x%i==0)return false;

 }

 return true;

}

if(isPrime(i))

{

cnt++;可以判断一个数是否是质数

}

赋值:   int     整数类型    4byte(32bit)   %d

         float   单精度浮点型4byte(32bit)   %f

         double 双精度浮点型8byte(64bit)   %lf

         Char   字符        1byte(8bit)    %c

         Bool   布尔类型(定义真假)  1byte(8bit)

关系运算符:     

              运算符       含义

>     大于

                <          小于

                >=         大于或等于

                <=         小于或等于

                ==         等于

            !=       不等于

逻辑运算符 :

运算符    含义                                 效果

&&       与     将两个表达式连接成一个,两个表达式必须都为ture,整个表达式才为ture。

||       或     将两个表达式连接成一个,必须有一个或两个表达式为ture,才能使整个表达式为ture,只要其中有一个为ture,那么另外一个就变得无关紧要。

!         非     反转一个表达式的真相,它使一个表达式从ture变成了 false,或者从false变成了ture。

四大基础排序算法

  1. 冒泡排序:不断比较相邻元素的大小,把较大或较小值向上浮动
  2. 选择排序
  3. 插入排序
  4. 桶排序

               

               

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值