嘉兴有能做网站优化,房屋设计在线设计网站,河南省网站备案,厦门网站建设厦门C1.关系运算符 #xff08;小于#xff09; #xff08;大于#xff09; #xff08;大于等于#xff09; #xff08;等于#xff09;! #xff08;不等于#xff09;关系表达式的值是一个逻辑值#xff0c;即“真”或“假”关系运算符优先级低于算数…C1.关系运算符 小于 大于 大于等于 等于! 不等于关系表达式的值是一个逻辑值即“真”或“假”关系运算符优先级低于算数运算符
关系表达式
ababbc(a3)(b5)a(ab)(ba!(cd)
逻辑运算符
逻辑非 逻辑与 当a和b的值都是非0时结果为1否则为0|| 逻辑或 当a和b的值都是0时结果为0否则为1逻辑表达式的值应该是一个逻辑量“真”或“假” 例如 ab 若ab都为真则为真
逻辑表达式
例如 a4,b5!a 0ab 1a||b 1!a||b 140||2 1
在逻辑表达式的求解中并不是所有的逻辑运算符都要被执行
abc只要a为真时才需要判断b的值只有a和b都为真时才需要判断c的值a||b||c只要a为真时就不必判断b和c的值就不必判断b和c的值只有a为假才判断b。a和b都为假才判断c 例如 mabncd当a1.b2.c3d4m和n的原值为1m1 n0
条件运算符和条件表达式
一般形式为 表达式1表达式2;表达式3 其求值规则为如果表达式1的值为真则以表达式2的值否则以表达式2的值作为整个条件表达式的值条件的运算符的运算优先级低于关系运算符和算术运算符但高于赋值运算符条件运算符和是一对运算符不能分开单独使用条件运算符的结合方向是自右至左
if表达式语句
if语句的嵌套 if表达式1 b else 语句2else if表达式3语句3else 语句4注意else总是与它前面最近的if配对
C2.多分支语句 if表达式1语句1else if表达式2语句2else if表达式3语句3-- -- - -else if表达式m语句melse 语句nSwitch语句 switch表达式{case 常量表达式1语句1case常量表达式2语句2-----case常量表达式n:语句ndefault:语句n1}每一个case的常量表达式的值必须交互相不相同各个case和default的出现次序不影响执行结果在执行swich语句时根据switch后面表达式的值找到匹配的入口表扣就从此标号开始执行下去不在进行判断。应该在执行一个case分支后可以用一个break语句来终止switch语句的执行多个可以共用一组执行语句
do while循环
一般形式do循环体语句while表达式
for循环
一般形式for表达式1表达式2表达式3语句for语句最简单的形式for循环变量赋初值循环条件循环变量增值fori1i 相当于 i1whilei{sumsumiifor循环中的“表达式1循环变量赋初值”“表达式2循环条件”和”表达式3循环变量增量“都是选项即可以缺省“”不能缺省省略了“表达式1循环变量赋初值”表示不对循环控制变量赋初值省略了“表达式2循环条件”则不做其他处理时便成为死循环省略了“表达式3循环变量赋初值”则不对循环控制变量进行操作这时在语句提中加入修改循环控制变量的语句3个表达式都可以省略表达式1可以是设置循环变量的初值的赋值表达式也可以是其他表达式表达式1和表达式3可以是一个简单表达式也可以是逗号表达式表达式2一般是关系表达式或逻辑表达式但可以是数值表达式或字符表达式只要值非零就执行循环体
循环的嵌套
一个循环体内又包含另一个完整的循环结构称为循环的嵌套。内嵌的循环中还可以嵌套循环这就叫多层循环
break语句可以用来从循环体内跳出循环体即提前结束循环接着执行下面的语句或者用来跳出switch语句
一般形式break
C3.一维数组的定义格式
类型说明符 数组名【常量表示式】int a【10】它表示定义了一个整形数组数组名为a此数组为10个元素float b【10】c【20】它表示定义了实型数组b有10个元素实型数组c有20元素 数组名定名规则和变量名相同遵循比较师傅定名规则不能与其它变量名相同。在定义数组时需要指定数组中元素的个数方括弧中的常量表示用来表示元素的个数即数组长度常量表示中可以包括常量和符号常量但不能包含变量。但可以包含变量允许在同一个类型说明中说明多个数组和多个变量 常见错误float a【0】 数组大小0没有意义int b2 不能使用圆括号int k10a【k】 不能用变量说明数组大小
C4.数组元素的引用方式
数组元素的引用方式数组名【下标】 例如 a【0】a【2*3】a【ij】 注意定义数组和引用数组元素区别int a【10】ta【6】
C5.一维数组的初始化
在定义数组时对数组元素赋以初值 例如 int a【10】{0,1,2,3,4,5,6,7,8,8} 经过上面的定义和初始化之后 a【0】0,a【1】1a【2】2---- a【9】9
可以只给一部分元素赋值 例如 int a【10】{01,2,3,4,5} 定义a数组有10个元素但是花括号内只提供5个初值。则前面5个元素付赋初值后5个元素0
如果想使一个数组中全部元素值为0可以写成 int a[10]{0}如果给十个元素全部赋1值只能写 int a【10】{11,1,1,1---1} 而不能写成 int a【10】1
在对全部数组元素赋初值时由于数据的个数已经确定因此可以不指定数组长度 例如 int a【5】{1,2,3,4,5} 也可以写成 int a【】{1.2.3.4.5} int a【10]{1,2,3,4,5}只能初始化前5个元素后5个元素为0
C6.二维数组的定义
二维数组定义的一般形式为 类型说明符 数组名【常量表示式】【常量表达式】 例如 int a【3】【4】表示定义了一个3行4列的数组数组名为a数组元素为3x4个整形变量 例如 定义a为3x4的数列b为5x10的数列 不能写成 float a【3,4】b【5,10】c语言中二维数组中元素排列是以行为主序排列的 例如 int a【3】【4】 错误 a【3】【4】4
A5,二维数组的初始化
分行给二维数组赋初值可以将所有数据写在一个花括号内按数组排列的顺序对各元素赋初值 例如 int a【3】【4】{1---12} 中间无花括号
可以对部分元素赋初值未赋初值的元素自动取0值如果对全部元素都赋初值则定义数组时对第一维的长度可以不指定但第二维的长度不省
C7.字符数组
字符数组的定义 类型说明符 字符名【常量表示式】【常量表达式】对字符数组初始化可逐个字符赋给数组中各元素其余的元素自动定为空字符如果提供的初值个位与预定的数组长度相同在定义时可以省略数组长度系统会自动根据初值个数确定数组长度
字符数组的初始化
c语言规定了一个字符结束标志‘\0’ 例如 定义了如下的字符数组 char c【】{‘c program’}char c【】”c program” 字符串结束多一个‘\0’
字符数组的输入和输出
字符数组的输入输出有两种方法 逐个字符输入输出用格式符“%c”将整个字符串一次输入或输出用格式符“%s”输出字符不包括结束符\0用“%s”格式符输出字符串时候printf函数中的输出项是字符数组名而不是数组元素名如果一个字符数组中包含一个以上‘\0’则遇第一个\0’时输出就结束了可以用scanf函数输入一个字符串如果用scanf函数输出多个字符串则在输入时以空格分隔get函数 一般形式gets字符数组作用从终端输入一个字符串到字符数组并且得到一个函数值puts函数 一般形式puts字符数组作用是将一个字符串以‘\0’结束的字符序列输出到终端 用puts函数输出的字符串可以包含转义字符
字符串处理函数
strcat字符数组1字符数组2 其一般形式strcat字符数组1字符数组2连接两个字符数组中的字符串把字符串2接到字符串1的后面strcpy字符数组1,字符串2 其一般形式为strcpy字符数组1字符串2将字符串2复制到字符数组1中去 字符数组1必须定义的足够大以便容纳被复制的字符串。字符数组1的长度不应该小于第二个数字符数组1必须写成数组名形式如str1字符串2可以是字符数组名也可以是字符串常量。复制时连同字符串后面的‘\0’一起复制到字符数组1中可以用strncpy函数将字符串2中前面若干个字符复制到字符数组1中去str1str2,2不能用赋值语句将一个字符串常量或字符数组直接给一个字符数组可以用strcpy函数将一个字符串复制到另一个字符数组中去strcmp字符串1字符串2 比较字符串1和字符串2.如果字符串1字符串2函数值为0如果字符串1字符串2则函数值为一个正整数如果字符串1strlen字符数组其一般形式strlen字符数组strlen是测试字符串长度的函数。函数的值为字符串中的实际长度不包括‘\0’