关于 c与c++知识点,你该了解这些 (一)

@关于 c与c++知识点,你该了解这些 (一)

关于 c与c++知识点,你该了解这些 (一)


这是我自己在学习c++基础的过程中,顺便复习了下C语言,然后总结的一些小小知识点,希望对大家的学习能够提供一些帮助吧,一起加油、共同进步哦。

第一节

1.
int a; sizeof(int) = sizeof(a); ---求所储存的字节
2.
float aa = 'A'  cout << (int)aa << endl; //输出A的数值(强制转化为 int) 注意格式
3.
float f2 = 3e2  //3*10^2  float f3 = 3e-2  //3*0.1^2
4.
bool 真或假 bool flag = false/true(0/1); —除了0为假,其余都为真
5.字符串
  (1)
char str[ ] = "hello world"  cout<<str<<endl;    
  (2) string 变量名 =”字符串值” (引用头文件include“string” 有的是在iostream头文件中)
string name[3] = {"张三","李四","王麻子"}; string name=”胖虎”;
6.
int a1 = 10; ++a1*10; //(运算结果为110)先加1后乘以10,
int a1 =10; a1++*10;   //(运算结果为101)先乘以10 后加1,先执行表达式,再增加
7.
-=  /=  %=  
int a=10; int b=5; cout<<(a==b); //输出结果为0(假)
8.
rand() % 80; //生成0-79的随机数   
rand() % 80+1; // 生成0-80随机数  
/* 需要包含头文件 #include “cstdlib” */
//   #include ”ctime“ (伪函数)  srand((unsigned int)time(NULL));  利用系统时钟生成伪数字
9.
int a = 10; int b = 20;  (a<b?a:b)=100;   cout <<a; a=100 cout<<b;  //b=2
10.
int a = 354; //个位   a%10  十位   a%100/10  百位  a/100
11.
 \t   制表符代替空格
12.
goto   flag ;  flag:   //跳转语句 ---读懂就可,不建议使用
13.
/*数组*/   int arr[5] = {1,2,3,4,5} 
/*每个数组占用的内存空间*/  sizeof(arr)
/*每个素占用的内存空间 */   sizeof(arr[0]),
/*数组中元素个数为*/       sizeof(arr) / sizeof(arr[0]) //------重点
14.
/*数组地址 */       int arr[5] = {1,2,3,4,5} 
/*数组首整型地址*/    cout<< (int)arr;  
/*第一个元素整型地址*/ cout<<(int)&arr[0];    //------重点
15.冒泡排序法
void fun(int c[], int d)
{
	int temp=0;
	for (int a = 0; a < d - 1; a++)
	{
		for (int b = 0; b < d - 1 - a; b++)
		{
			if (c[b] <c[b + 1])
			{
				temp = c[b];
				c[b] = c[b + 1];
				c[b + 1] = temp;
			}
		}
	}
}

16.
/*二维数组 总元素*/  sizeof ( arr ) ;
/*  第一行元素  */      sizeof ( arr [0] )  ;
/*     行数    */      sizeof ( arr ) / sizeof ( arr [0] )  
/*     列数    */    sizeof ( arr [0]) / sizeof( arr [0] [0] ) )  
17.
/* 二维数组首地址  */  cout << arr << endl;  
/*  第一行首地址  */ cout << arr [0] << endl; 
/*第一个元素首地址 */ cout << & arr [0] [0] << endl;  //  此三者相等三者相等     
/*  第二行首地址  */    cout << arr[1] << endl;
18.
/*指针就是地址*/   int *p; (p为指针变量) //使用时需要解引用  *p 即可 ( *p解引用)
19.
/*空指针:  用来给指针变量进行初始化,空指针不可以进行访问的*/ int *p = NULL;  
//不可再将地址赋值给  p 输出  
20.
const修饰指针    ---重点

1)const修饰指针---常量指针 

2)const修饰常量---指针常量 

3)const既修饰指针又修饰常量  
21.
—重点—
//1)常量指针  
 const int  * p = &a;       /*指针的指向可以修改,但是指针指向  的值不可修改 */

//2)指针常量  
 int * const p = &a;        /*指针的指向不可以修改,指针的值可以修改        */

//3)既修饰指针又修饰常量  
 const int * const p = &a;  /*指针的指向和指针的值都不可以修改             */

//(如何记忆: const—常量 ,* p —指针     如何用:紧接着 const 的是p / *   紧跟着谁   谁不能操作)
22.
int arr [10], int * p;  p = arr ;  cout << *p;
//(数组的名称为其的首地址)  
23.
值传递,不能修改实参的值,只能修改形参的值。地址传递可以修改实参的值。
24.
结构体
struct student/****  自己创建的结构体类型为 student, 此类型的变量名字为s1, s2    ***/
 {
  string name;

  int age;

  int score;

  };

//1  struct  student  s1;

//2  struct student s2 = { };

//3  创建结构体时顺便创建结构体变量,通过.来访问结构体中的属性
25.
结构体创建自定义类型过程中struct不能省略,但是创建变量的过程c++ struct可以 省略
26.
 //  结构体数组 struct 结构体名字 数组名字{个数}={ { },{ } ,{ } }

 //  结构体指针  利用->可以通过结构体来访问结构体的属性

 student  s1  =  { "李斯",56,99 };

 student * p  =  &s1;

 cout  << "姓名:"   <<  p->name

       <<  "年龄:"  <<  p->age

       <<  "分数"   <<  p->score;
27.结构体嵌套结构体
 struct student
 {

  string  name;

  int  scroe;
 };

 struct teacher
{

   int  id;

   string  name;

   int  age;

   struct   student  s1;//学生  s1
};

    teacher  t;

    t.id  = 10086;

    t.name  =  "老王";

    t.age  = 58;

    t.s1. name  =  "小王";

    t.s1.scroe  =  99;

    teacher * p  =  &t;

    cout  <<  "老师姓名:"  <<  p->name

          <<  "老师工号: "  <<  p->id

          <<  "老师年龄: " <<  p->age

          <<  "老师的学生名字: " <<  p->s1.name

          <<  "老师的学生分数: " <<  p->s1.scroe;
28. 结构体中使用const来防止误操作
29
—重点—
main里面调用函数,形参相当于把参数复制了一遍,增大了储存空间和代码量。将函数的形参变为指针,可以大大减少内存的占用(指针不会复制数据,其只是进行地址传递)
30.
 system( “ pause ” );  //请按任意键继续 

    system( “ cls ” ); //清屏操作

未完待续…

有什么问题欢迎给我留言哦
hexo博客:https:www.ho-brother.ltd
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值