程序设计C语言(1)-创新互联
- C的常量和变量
- 整数 的范围是负无穷到正无穷,C语言标准并不限制各类型数据所占的存储字节数,但是在计算机中由机器硬件的限制,不同计算机软件系统对数据的存储有具体的规定。
- 整数 在计算机内部使用二进制补码(例:2字节有符号数,最高位1表示负数,低15位表示数值部分,-32768-32767;2字节无符号数,16位全部表示数值,0-65535)
- 浮点数 在计算机中用指数形式存储,符号位、指数(数的表示范围越大)、尾数(有效位越多,精度越高)
- 浮点数 是近似值,存在误差。引入双精度型目的是增加实数的长度减少累积误差,改善计算精度。
- 常量 运行过程中其值不改变,不占用内存。数值常量、字符型常量、符号常量。
浮点型常量:两种表现形式——十进制小数形式、指数形式。
创新互联建站是一家集网站建设,大英企业网站建设,大英品牌网站建设,网站定制,大英网站建设报价,网络营销,网络优化,大英网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
十进制小数形式:必须有小数点如:0.0、3.14、.56、300.
指数形式:[±] [整数部分] [.] [小数部分] [ (e,E) ± n] [后缀]如:-1.23456e+4
浮点数常量:两条规则——对于十进制小数形式可以无整数部分或小数部分,但不能二者全部都没有;对于指数形式可以无小数点或指数部分,但不能全部都没有。
字符型常量:单引号括起来的字符;单引号内部不可以是双引号、单引号、反斜线;值为该字符的ASCII值;在内存中只占用一个字节。
字符型常量:转义字符;以 “ \ ” 开头后跟几个字符;C语言字符集中的任何一个字符均可用转义字符表示。如:字符表示——‘\a’;字符含义——鸣铃; \ddd表示——\007;\xhh表示——\x07
字符串常量: 双引号括起;如: “CHINA”;在内存中所占字节为 长度+1,结束符 ’ \0 ’
符号常量: #define 标识符 常量 (后面不能再加其他符号 如 ; ) 。用标识符代替常量如:#define PI 3.14 ;含义清楚,一改全改;习惯上符号常量用大写字母 - 变量:随着执行可以改变;实质为存储数据的容器;取值 与 赋值
- 变量定义格式:[存储类型] 数据类型 变量名 [=初值]; 或 [存储类型] 数据类型 变量名表; 如:int i; int j=2; float f1=1.0,f2=0.0;
- 变量命名规则:必须以英文字母、下划线开头的由字母、数字、下划线组成的字符序列;C语言区分大小写;但最好不用下划线开头;
- C的运算符和表达式
运算符分类:对象——单目、双目、三目;功能——算术、赋值、关系、逻辑、位运算、自增自减、条件、逗号运算符。
表达式分类:算式、关系、逻辑、赋值、条件、逗号、混合表达式。
求余运算:X % Y
数学定义:自然数A、B,B非零,存在两个唯一的整数Q、R,使得A = Q * B +R 且 0 ≤ R<B,其中Q为商、R为余数。余数总为正数,更符合人们的理解。
计算机定义:整数A、B,B非零,存在余数满足A = Q * B +R ,Q为整数,且 0 ≤ |R|<|B|。例:5%(-3) = (-3)(-1)+2 = (-3)(-2)-1;正负取决于A。++ – 运算符
前置式:先变后用、后置式:先用后变(下面的括号为方便区分三个加号,实则还是单目运算变量)
只能用于变量、字符型和指针型变量,不能用于常量和表达式。关系运算符:>、<、≥、≤、 ==、 !=,表达式结果为 1 或 0 。
逻辑运算符:&&、||、!,其中&&、|| 的短路运算
条件运算符:表达式1 ? 表达式2 : 表达式3,
逗号运算符:表达式1,表达式2,…,表达式n;顺序求值
- C的位运算
- & 按位与:实现特定位的清零与读取
- | 按位或:实现特定位的 置 1 与 二进制串的拼接
- ^ 按位异或:实现特定位的取反(异或1) 与 不变(异或0)
- << 左移:高位丢失,低位补0;变量左移未溢出的前提下,左移 等价于 乘2
- >>右移:无符号数高位补0,低位丢失;有符号数高位 补符号,低位丢失,等价于 除2
- ~ 按位取反:逐位取反
- 类型转换
两种类型:运算过程中产生、调用函数的方式产生
自动类型转换:又叫隐式转换,双目运算左右类型不相同、赋值不同类型
强制类型转换:又叫显示转换,人为操作;形式为 (类型名)表达式;
调用函数实现类型转换:
C语言的函数架构和结构化设计
- 注释:函数最上端说明函数的功能、输入、输出、限制;/注释/ 或 //注释
- 预处理模块、全局变量说明、函数声明
- 函数定义:函数类型、函数名、参数表
- 变量说明:对所用的各种变量都要进行说明
- 数据输入
- 执行部分:核心;流程控制转移
- 信息输出
- 结构化程序设计:1966年科学家证明了任何单输入单输出无二义性的模块都可以用顺序、选择、循环三种结构来描述。
C语言的选择语句
- if - else:else可无;可嵌套;
- switch case break (default):switch后的表达式返回值必须是整数值;case后的判断值必须是整形常量;
C语言的循环控制语句
- while :循环变量的初始化应在while()之前进行,不可以在( )内进行。
- do while :
- for:
for(表达式1;表达式2;表达式3) {循环体;}
1用于初始化;2循环条件;3控制条件
注意:1、2、3可以全部省掉,但是分号不能省去且循环体中必须用break结束循环,等价于for( ; ; ),等价于for( ;1; );循环体可以为空,用于延迟
- break:只能用于循环体内或者switch语句,只能跳出一层的整个循环,所求结果唯一
- continue:跳出本次循环体中还未执行的语句,直接进行下次循环的判定
- goto 语句与对应标号:不利于维护和结构化设计;goto语句没有错,错在人
C语言的编程规范
- 标识符命名要有意义
- 版式缩进、空行、划分、左对齐
- 注释放在代码上方且与上面的空行,头文件、函数头要注释,详细中文但不宜过多
- 结构化程序的开发过程
先自顶向下,将问题分解。然后自底向上将小问题归纳整合为完整的软件架构
函数的定义、原型、调用
函数头、函数体:存储类型、返回类型、函数名、参数表
存储类型只有static、extern 两种,static实现对函数的调用局限于所在文件;extern外部函数,可省略,供其他文件调用
函数原型:
函数调用:实参与形参的个数、顺序、参数类型相同,形参的生命周期和作用域与函数内的自动变量相同
作用域:变量从分配空间、使用、释放的过程称为变量的生存期。在生存期内,该变量可以被使用的范围称为作用域。作用域是空间概念,由语句定义的位置决定。
存储类型:变量的生存期是时间概念,由存储类型决定。分为静态存储方式、动态存储方式。
C语言变量:
auto变量:默认缺省为auto,函数内部 ,每次调用都重新分配栈
register变量:
①CPU通用寄存器,存取速度很快!
②只有自动变量和形参可以定义为寄存器变量,所以存在于函数内部。 所以基本和auto变量的相同。
③调用函数时分配,调用结束释放。
④若变量个数超过寄存器个数,则编译器会强制转换为auto变量
静态变量:编译时完成在静态存储区的内存分配,直到整个源程序运行结束。
静态全局变量(不能被外部文件访问)、静态局部变量(函数运行结束后仍保留不被释放)
全局变量:可以被外部其他文件访问,使用extern在文件头下面申明。或者要在定义语句之前使用该变量,使用extern 进行引用。函数间的数据传递
使用参数:实参与形参的个数、顺序、类型对应相同;参数可以为变量、数组、指针、结构、函数等
①值传递:复制数据、存储单元不同、单向传递、
②地址传递:复制地址、形参指针使用地址读取实参、双向传递
使用返回值:通过return 返回一个确定类型的值;执行return后停止执行后续代码。
使用全局变量:少数公共数据使用,破坏程序模块相对独立性;全局变量与局部变量冲突时,就近选择局部变量递归函数
定义:一个函数直接或间接地调用自身
关键:结束条件(true or false)、递归主体
- void main( ) :无参数,表示不处理命令行参数
- int main(int argc, char *argv[]):接受命令行参数,参数间用空格隔开
- argc:参数个数(包括可执行程序名)
- argv[]:指针数组,数组元素分别指向命令行的参数。argv[0]为命令行中的可执行程序名,argv[1]为第一个参数的内容 ,依此类推。
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
分享文章:程序设计C语言(1)-创新互联
分享链接:http://azwzsj.com/article/cegpii.html