ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

C语言基础到数组的感知

C语言基础到数组的感知 C语言的类型基础sizeof是一个运算符 格式sizeof类型名称 列如int i等sizeof是一个静止的运算符 不能在括号中间进行运算不同类型的字节大小 char1short2int4float4double8long4。long long8long double8\\一个字节8比特//整数的输入与输出unsigned可以移位,将负数除去,扩大正数int long long. %d:int.%ld:long long.%u:unsigned%lu:unsigned long long\\整数的选择:如果没特别的要求一般都用int//浮点数类型float,4个字节,有效数字为7;32个字长.double,8个字节,有效数字15;字长64.\\浮点数的输入与输出float scanf %f printf %f,%edouble scanf %lf printf %f,%e\\科学计数法列 10000 为1e4; -1200为-1.2e3; 0.0012为1.2e-3\\输出精度在%和f之间加上.n可以保留n位小数,为四舍五入.\\浮点运算的精度带小数点的字面量是double,float需要用f/F来表示身份.//由于浮点数有误差,所以f1f2可能会失败//解决方法\\fabs 浮点数求绝对值 fabs(-a)a\\abs 整数求绝对值abs(-a)a{不能拿来求解浮点数}故当fabs(f1-f2)1e-10一定精度时可满足,一般为1e-8;double的为1e-18;\\选择浮点类型一般都用double.\\字符类型char 是一种整数也是一种字符用单引号表示字符的字面量a, 1。 也是一种字符printf和scanf里有%c来表示输入和输出字符。\\字符的输入与输出scanf“%c”cprintf“%c”c\\特殊的情况//scanf为%d时不能处理char所以要赋值char给int。int cchar i‘1’ciscanf(%d,c)\\字符的计算一个字符加上一个数字得到ASCLL码表那个数之后的字符相减得到两字符之间的距离可用来转化大小写字母。\\逃逸字符定义无法打印的字符字符意义字符意义\b回退一格\双引号\t到下一个表格位\单引号\n换行\\反斜杠本身\r回车\\类型转换//自动类型转换自动向大范围的转换charshortintlonglong longintfloatdouble\\scanf不会自动转换printf会故scanf需要%hd\\强制类型转换一般为大到小转换类型值int10.2注意小的类型不一定能包含大的值所以需要注意//强制类型的优先级高于四则运算\\逻辑类型使用条件:#includestdbool.h定义条件之后可以使用bool和truefalse\\逻辑运算结果只有0和1 0是false 1是ture运算符描述示例非a与ab||或a||b//单目的运算符高于双目的运算符优先级 ||优先级运算符结合性1从左到右2 - --从右到左这里的 -为1 -1这种3% * /从左到右4 -从左到右5 从左到右6 !从左到右7从左到右8||从左到右9 - * / %从右到左\\短路双目会短路单目不会 且· 一错全错|| 或 一对全对\\条件运算列 countcount20? count-10 : count10;可嵌套 优先级在赋值前1个\\逗号运算优先级最低 自己找感觉。函数\\什么是函数 接收零个或多个参数做一件事然后返回零个或一个值\\定义由函数头函数名函数体返回类型参数表组成。egvoid sum(int a,int b){int i;int sum0;}\\函数头:由返回类型函数名参数表组成。\\返回类型 列如void\\函数名 列如sum\\参数表 为括号里的内容\\函数体 为{}里的内容起到了调用的作用\\从函数中返回值return停止函数执行并返回一个值1 return 2 return 表达式省流 eg当cmax(a,b);时就需要将函数值返回给c所以需要return 表达式但不需要返回时可以使用return且返回类型void\\函数的书写一般写在int main之后但此时程序错误故需要在前面加上函数的原型函数原型函数头以分号结尾可构成。c语言会自动转换类型在调用函数时从而使结果被吞掉。变量的生存期和作用域了解一下即可没有参数时void swap(void) 当为void swap时编译器会猜。函数定义不能嵌套int main也是一个函数 return 0有人看用来报错。int fun()与int fun(void)的区别前者可以编译但里的会被丢弃后者里不能有代码不然会报错数组介绍数组相当于一个容器用来存放数据。定义:1格式 类型变量名称[元素数量]2组成 类型 名称 元素数量必须为整数c99之后元素数量可以为变量但确定一次之后就不能改变了特点:所有类型都是相同的数据类型一旦被创建就无法被改变数组元素在内存中是连续依此排列的数组的单位[]中的数字叫做下标 从0开始数有效下标的范围当超出范围时会报错int a[0];可以存在但没有作用。\\数组的运算过程确定数组的大小定义数组初始化数组 for遍历或int count[num]{0};数组参与运算遍历数组输出\\const代表着不能修改\\数组的集成初始化 eg: int a[]{2,3,4,23,45,1,}集成初始化的定位egint a[10]{[0]2,[4]5,9,3,2,}用[n]在初始化数据中给出定位没有定位的数据接在前面的位置后面其他位置的值补零也可以不给出数组大小让编程器算特别适合初始数据稀疏的数组数组的大小sizeof数组可求出数组的大小sizeofa[0]可求出一个位置的大小故数组的长度sizeof(a[]/sizeof(a[0]);数组的赋值有且只有遍历数组作为函数的参数时不能在[]中给出数组的大小不能再用sizeof来计算数组的元素个数了当数组作为函数参数时往往必须在用另一个参数来传入数组的大小二维数组int a[3][5]理解为三行五列的矩阵二维数组的遍历需要两个for循环遍历二维数组的初始化列必须给出来行数可以由编译器来数每行一个{}逗号分隔最后的逗号可以存在有古老的传说如果省略表示补零也可以用定位若有收获就点个赞吧
返回列表