构造函数是成员函数的一种名字与类名相同,可以有参数,不能有返回值,void也不行。作用的对对象进行初始化,给成员变量赋初值如果定义是没写构造函数,则编译器默认生成一个无参的构造函数(默认生成的构造函数无参数,不做任何操作)对象生成时,构造函数自动被调用,对象一旦生成,就再也不能在其上执行构造函数一个类可以有多个构造函数构造函数执行必要的初始化工作,有了构造函数就不必在专门写初始化函数,也不用调用复
类的访问范围可以用关键字来定义类可以被访问的范围private:私有成员,只能在成员函数中访问public:公有成员,可以在任何地方protected:保护成员,以后再说若没有设置私有的目的是隐藏,隐藏的目的是强制对成员变量的访问一定要通过成员函数,好处是成员变量的类型修改后,只需要更改成员函数即可也要避免重载缺省的二义性比如
面向对象的程序=类+类+类+...+类;面向对象的程序的四个基本特点:“抽象”+“封装”+“继承”+“多态”:和结构体变量一样,对象所占内存空间大小,等于所有成员变量的大小之和成员函数也会占用内存空间,但是不会被放到成员对象里面,他是占一块空间被共享的每个对象都有自己的存储空间,一个对象的某个成员变量被改变了,不会影响到另一个成员对象对象可以用“=”赋值,但是不能用“==”之类的进行比较,除非进行
使用new关键字开辟内存new关键字,动态分配数组(同理malloc)int main() { int* pn; int i = 5; pn = new int[i * 20]; pn[0] = 20; pn[99] = 100; delete []pn;//释放数组 //delete pn 释放指针 delete []pn;//错误 return 0; }用delete运算符
int a = 1,b=2; int& r1 = a; cout << r1 << endl;引用作为函数的返回值----把返回值本为常量做变量-不产生被返回值的副本,节省内存空间int n = 4; int& SetValue() { return n; } int main() { SetValue() = 40; cout <&l
粗心错题#include <stdio.h> void main() { int a=0; int b=30; do{ b-=a; if(b<5); { break; } a+=5; }while(a); printf("%d,%d\n", a,b); } 没看清if后面是 ; 后面的代码块照样执
自我介绍我来自武汉晴川学院,是一名大三学生,到九月开学就大四了,专业学的计算机科学与技术,但是三年的学习并没有让我掌握真多的计算机的专业知识,由于种种原因,导致我们的业务能力非常匮乏,所以大三才开始学习一些必要的计算机知识,目标是考研,利用研究生的两年时间再次丰富自我。编程目标熟练的掌握c语言的内部原理,我考研的专业课是C语言,因此足够应对这次考试,其次为c++打下坚实基础,往c++后台开发进军怎
c语言对标识符的命名具有以下的规则,其主要有以下三条:1.标识符必须以大小写英文字母或者下划线作为首字母。2.标识符中只能包含大小写英文字母、数字、下划线,不允许出现如“ ! 、@、#、¥、%、^、&、*、(、)、/、?等其他标点,而且C语言中的标识符不能使用任何中文字符,包括汉字、中文标点。3.标识符不能与c语言的保留字或者库函数名相同。除以上三条外,在命名标识符时,还需要注意C语言对大
简述C语言程序的开发步骤及各步的作用编辑,编辑源程序。一般会得到一个扩展名为.c的文件编译,生成二进制的目标代码,即机器代码,由众多个0和1组成的机器指令链接,链接程序,其结果是生成可执行文件运行,程序运行,其结果可能是达到了目的或者出错。简述动态存储变量和静态存储变量的特点静态存储 静态变量,全局动态变量都是静态存储, 存储在全局数据区,在变量定义时就分定存储单元并一直保持不变,直至整个程序结束
C语言基本数据类型--整形,字符型,实行(浮点型) 指针:存放地址值的变量或常量,或者答地址。 & 取运算对象的地址。 * 取指针变量所指的内容break语句的作用,终止循环语句,在多重循环中,只能退出靠近多重循环的那个语句21.在函数中默认存储类型说明符的变量应该是____c____存储类型。 A.内部静态  
程序的翻译环境test.c ------编译--链接------>test.exe---------->运行 |------翻译环境--------| |-----运行环境-----|翻译环境:指的是源代码被转换为可执行的机器指令运行环境:用于实际执行代
什么是文件磁盘上的文件就是文件,但是在程序设计中,我们一般谈的文件有两种:程序文件,数据文件程序文件包括源程序文件(后缀为.c),目标文件(windows环境后缀为.obj),可执行程序文件(windows环境下后缀名为.exe)数据文件文件的内容不一定是程序,而是程序运行时候写的数据,比如程序运行需要从中读取文件或者是输出内容文件文件名一个文件要有一个唯一的文件标识,以使用户识别和引用,文件名包
动态内存分配的存在意义 我们掌握的开辟空间的方式有:int val =20; char arr[10]={0};但是这种方法开辟的空间有两个特点空间开辟的大小是固定的数组在声明的时候必须指定数组的长度,它所需要的内存在编译时分配。 C语言是可以创建变长数组的,在C99中增加了这一项,但是,许多
内置类型---int short char double flaot---C语言自己的类型复杂类型---结构体,枚举,联合体---自己创造的类型结构体结构体类型引用声明结构体是一些值的集合,这些值可以是不同类型。struct Stu//如果不屑Stu就是匿名结构体类型 { member-list;//--成员列表 }Variable-list;//变量列表 //声明一个结构体类型 struct
指针-指针得到的是指针之间的元素个数,不是字节个数字符串追加 strcat 和strncat自己给自己追加的时候,strcat会崩溃因为首字母是把\0替换掉strncat就可以strcat(Den , Sour);strncat(Den,sour,count);strstr(Den,Sour)找子串的 如果找到了返回Den字符的地址,找不到返回空指针字符串---常量字符串,
int main() { int a[5][5]; int(*p)[4]; p = a; printf("%p,%d\n", &p[4][2] - &a[4][2], &p[4][2] - &a[4][2]);//p[4][2]== *(*(p+4)+2) return 0; }C语言运算符优先级优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组
Segmentation fault---段错误segmentfault.comwww.stackoverflow.comchar* p="abcdef"; *p='w';此时p是不能被改的,能编译但是不能运行,会报段错误;因为“abcdef”是常量字符串。int main() { char* arr[5]; char* (*pc)[5] = &arr; return 0; }&nb
数据在内存中,有int short char 等等---他们在limit.h中定义而double float long double 在float.h中定义 IEEE S(符号位) E(指数) M(有效数字) (-1) ^ s * M * 2
数据在内存中的存储 1 ---整形和浮点型
函数
数组
C语言是一门结构化的程序设计语言顺序结构、选择结构、循环结构语句:由分号(;)隔开if else语句中,else和最近未匹配的if进行匹配switch只能定义为整形(int)getchar获取一个字符(从键盘上打一个字母)ctrl+z等于EOF,能让getchar停下来,不在接受字符。EOF=end of fileputchar输出一个字符=print(“%c\n”,x)getchar和scanf
Video4回顾define不是关键字,只是一种指令。while循环中不能出现continue,但是可以出现if 指针&-取地址操作符int* 或者 double*等代表后面的变量为指针变量比如:int a=10,int* p=&a;*p和*int p中的*代表的含义不同*p中的代表的是解引用操作符,也叫间接访问符*p=20 ,输出a可得出结果就为20输出地址用%p, 输
video 3~指的是按位取反。此时“位”值的还是二进制位;++k和k++的区别,前置++是先++再使用,后置++是先使用在++;强制类型转换:在想要转换类型的前面加上括号然后给与相应的类型名称,进行强制类型转换。三元操作符 ? :-----------a?b:c 指的是,a?b要为真的话输出的值为b,若为假的话输出的值为c ,举例,a>b?a:b,当a>b的时候输出为a相反输出
video2scanf;strcpy;strlen;strcat等函数是不安全的,在vscode内会自动提供一个更安全的函数如scanf_s,但是这样就扼杀了程序的兼容性,所以我们一般不采取这样方式来解决,而是在第一排声明,加入#define _CRT_SECURE_NO_WARNINGS 1这样一句话,使其失效,可以在vs的vsprojectitems文件夹中找到newc++file.cpp文件
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号