Error[8]: Undefined offset: 288, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

快速认识C语言中的字符 (超级详细) 一.转义字符:
*** 作符释义
?在书写连续多个问号时使用,防止他们被解析成三字母词
用于表示字符常量’
"用于表示一个字符串内部的双引号
\用于表示一个反斜杠,防止它被解释为一个转义序列符。


\a警告字符,蜂鸣
\b退格符
\f进纸符
\n换行
\r回车
\t水平制表符
\v垂直制表符
\dddddd表示1~3个八进制的数字。


\xdddd表示2个十六进制数字。


详细介绍几个初学者难以理解的字符:

  1. “?” 三字母词

    int main()
    {
    	//printf("(are you ok??)");
    	//早期编译器打印结果为(are you ok]
    	//防止将"??)"解析成"]"
    	//所以应该这样写
    	printf("(are you ok\?\?)");
    	
    	return 0;
    
    
  2. “\t”-水平制表符=Tab

  3. \ddd:表示1-3个八进制的数字 \xdd:表示两个十六进制的数字

    int main()
    {
    	//    \ddd 
    	printf("%c\n", '0');//打印结果为 X
    	//因为8进制的130转换为10进制为88
    	//所以88对应的ASCII值为 X
    
    	//    \xdd
    	printf("%c\n", '\x63');//打印结果为 c
    	//因为16进制的63转换为10进制为99
    	//所以99对应的ASCII值为 c
    
    	return 0;
    }
    

二.字符串:

1.“hello\n” 由引号引起来的一串字符成为字符串

int main()
{
	char arr1[] = "abcdef";//7个字符,其实后面还有一个"//char arr2[] = { 'a','b','c','d','e','f' };//6个字符"
	char
	[ arr2]= 'a' { ,'b','c','d','e','f','}';printf(
	"%s\n",); arr1printf(
	"%s\n",); arr2//只有arr2加了"//"[]"不放入常量可以自己取用空间,但是不可以放入变量"才跟arr1打印结果一样return0

    ;

	} #include
#


通过对比得出结论:

字符串的结束标志是一个”/0“的转义字符

3.strlen:求字符串长度的一个函数—string length

includeint 
main( 
) int=strlen
{
	( len "abc" );printf("%d\n"
	,);return len0;
	}  *** 作符释义
实例

注:strlen库函数需要引用头文件

三. *** 作符

1.算数 *** 作符:

假设变量 A 的值为 10,变量 B 的值为 20,则:

+把两个 *** 作数相加A + B 将得到 30
-从第一个 *** 作数中减去第二个 *** 作数A - B 将得到 -10
*把两个 *** 作数相乘A * B 将得到 200
/分子除以分母B / A 将得到 2
%取模运算符,整除后的余数B % A 将得到 0
++自增运算符,整数值增加 1A++ 将得到 11
自减运算符,整数值减少 1A-- 将得到 9
*** 作符释义实例

2.关系运算符:

假设变量 A 的值为 10,变量 B 的值为 20,则:

==(A == B) 为 假!=
(A != B) 为真检查两个 *** 作数的值是否相等,如果相等则条件为真。


<
(A < B) 为真检查两个 *** 作数的值是否相等,如果不相等则条件为真。


<=
>检查左 *** 作数的值是否大于右 *** 作数的值,如果是则条件为真。


(A > B) 为假
(A <= B) 为 真检查左 *** 作数的值是否小于右 *** 作数的值,如果是则条件为真。


*** 作符
>=检查左 *** 作数的值是否大于或等于右 *** 作数的值,如果是则条件为 真。


(A >= B) 为 假
释义检查左 *** 作数的值是否小于或等于右 *** 作数的值,如果是则条件为 真。


实例

3.逻辑 *** 作符:

假设变量 A 的值为 1,变量 B 的值为 0,则:

&&(A && B) 为假||
(A||B)为真称为逻辑与运算符。


如果两个 *** 作数都非零,则条件为真。


!
!(A && B) 为真称为逻辑或运算符。


如果两个 *** 作数中有任意一个非零,则条件为真。


p
q称为逻辑非运算符。


用来逆转 *** 作数的逻辑状态。


如果条件为真则逻辑非 运算符将使其为假。


P&q

4.位 *** 作符:

位运算符作用于位,并逐位执行 *** 作。


&、 | 和 ^ 的真值表如下所示:

P|qP^q000
00010
11111
10100
11A = 0011 1100 B = 0000 1101A&B = 0000 1100A|B = 0000 1100

假设如果 A = 60,且 B = 13,现在以二进制格式表示,它们如下所示:

A^B = 0011 0001

~A = 1100 0011
*** 作符
释义
实例

假设变量 A 的值为 60,变量 B 的值为 13,则:

&(A & B) 将得到 12,即为 00001100|
(A | B) 将得到 61,即为 00111101按位与 *** 作,按二进制位进行"与"运算。


运算规则: 0&0=0; 0&1=0; 1&0=0; 1&1=1;

^
(A ^ B) 将得到 49,即为 0011 0001按位或运算符,按二进制位进行"或"运算。


运算规则: 0|0=0; 0|1=0; 1|0=0; 1|1=1;

~
<<异或运算符,按二进制位进行"异或"运算。


运算规 则: 0^0=0; 0^1=1; 1^0=1; 1^1=0;

A << 2 将得到 240,即为 1111 0000
*** 作符取反运算符,按二进制位进行"取反"运算。


运算规 则: ~1=-2; ~0=-1;

(~A ) 将得到 -61,即为 1100 0011,一个有符号二进制数的补码 形式。


释义二进制左移运算符。


将一个运算对象的各二进制位 全部左移若干位(左边的二进制位丢弃,右边补 0)。


实例
>>二进制右移运算符。


将一个数的各二进制位全部右 移若干位,正数左补0,负数左补1,右边丢弃。


A >> 2 将得到 15,即为 0000 1111

5.赋值 *** 作符:

#include#
=简单的赋值运算符,把右边 *** 作数的值赋给左边 *** 作数C = A + B 将把 A + B 的值 赋给 C
+=加且赋值运算符,把右边 *** 作数加上左边 *** 作数的结果赋 值给左边 *** 作数C += A 相当于 C = C + A
-=减且赋值运算符,把左边 *** 作数减去右边 *** 作数的结果赋 值给左边 *** 作数C -= A 相当于 C = C - A
*=乘且赋值运算符,把右边 *** 作数乘以左边 *** 作数的结果赋 值给左边 *** 作数C *= A 相当于 C = C * A
/=除且赋值运算符,把左边 *** 作数除以右边 *** 作数的结果赋 值给左边 *** 作数C /= A 相当于 C = C / A
%=求模且赋值运算符,求两个 *** 作数的模赋值给左边 *** 作数C %= A 相当于 C = C % A
<<=左移且赋值运算符C <<= 2 等同于 C = C << 2
右移且赋值运算符&=按位与且赋值运算符
>>=C &= 2 等同于 C = C & 2C >>= 2 等同于 C = C >> 2
^=按位异或且赋值运算符C ^= 2 等同于 C = C ^ 2
|=按位或且赋值运算符C|= 2 等同于 C = C | 2

6.连接 *** 作符:

includeint 
main( 
) //1.字符串 + 字符串//string str = "Hello" + "World";//logDisplay(str);//输出 "HelloWorld"
{
	//2.字符串 + 数字
		//var str = "P" + 100;
	//logDisplay(str);//输出 "P100"
	//备注:数字 + 数字的情形是当作数学运算处理的
		//例:var num = 100 + 100;
	//logDisplay(num);//输出 200
	return
		0
	;

	} //logDisplay(str);//输出 "HelloWorld"
//2.字符串 + 数字
	//var str = "P" + 100;
//logDisplay(str);//输出 "P100"
//备注:数字 + 数字的情形是当作数学运算处理的
	//例:var num = 100 + 100;
//logDisplay(num);//输出 200

return 0;


[+++]
[+++]

}

[+++]
)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 166, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Error[8]: Undefined offset: 289, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

快速认识C语言中的字符 (超级详细) 一.转义字符:
*** 作符释义
?在书写连续多个问号时使用,防止他们被解析成三字母词
用于表示字符常量’
"用于表示一个字符串内部的双引号
\用于表示一个反斜杠,防止它被解释为一个转义序列符。


\a警告字符,蜂鸣
\b退格符
\f进纸符
\n换行
\r回车
\t水平制表符
\v垂直制表符
\dddddd表示1~3个八进制的数字。


\xdddd表示2个十六进制数字。


详细介绍几个初学者难以理解的字符:

  1. “?” 三字母词

    int main()
    {
    	//printf("(are you ok??)");
    	//早期编译器打印结果为(are you ok]
    	//防止将"??)"解析成"]"
    	//所以应该这样写
    	printf("(are you ok\?\?)");
    	
    	return 0;
    
    
  2. “\t”-水平制表符=Tab

  3. \ddd:表示1-3个八进制的数字 \xdd:表示两个十六进制的数字

    int main()
    {
    	//    \ddd 
    	printf("%c\n", '0');//打印结果为 X
    	//因为8进制的130转换为10进制为88
    	//所以88对应的ASCII值为 X
    
    	//    \xdd
    	printf("%c\n", '\x63');//打印结果为 c
    	//因为16进制的63转换为10进制为99
    	//所以99对应的ASCII值为 c
    
    	return 0;
    }
    

二.字符串:

1.“hello\n” 由引号引起来的一串字符成为字符串

int main()
{
	char arr1[] = "abcdef";//7个字符,其实后面还有一个"//char arr2[] = { 'a','b','c','d','e','f' };//6个字符"
	char
	[ arr2]= 'a' { ,'b','c','d','e','f','}';printf(
	"%s\n",); arr1printf(
	"%s\n",); arr2//只有arr2加了"//"[]"不放入常量可以自己取用空间,但是不可以放入变量"才跟arr1打印结果一样return0

    ;

	} #include
#


通过对比得出结论:

字符串的结束标志是一个”/0“的转义字符

3.strlen:求字符串长度的一个函数—string length

includeint 
main( 
) int=strlen
{
	( len "abc" );printf("%d\n"
	,);return len0;
	}  *** 作符释义
实例

注:strlen库函数需要引用头文件

三. *** 作符

1.算数 *** 作符:

假设变量 A 的值为 10,变量 B 的值为 20,则:

+把两个 *** 作数相加A + B 将得到 30
-从第一个 *** 作数中减去第二个 *** 作数A - B 将得到 -10
*把两个 *** 作数相乘A * B 将得到 200
/分子除以分母B / A 将得到 2
%取模运算符,整除后的余数B % A 将得到 0
++自增运算符,整数值增加 1A++ 将得到 11
自减运算符,整数值减少 1A-- 将得到 9
*** 作符释义实例

2.关系运算符:

假设变量 A 的值为 10,变量 B 的值为 20,则:

==(A == B) 为 假!=
(A != B) 为真检查两个 *** 作数的值是否相等,如果相等则条件为真。


<
(A < B) 为真检查两个 *** 作数的值是否相等,如果不相等则条件为真。


<=
>检查左 *** 作数的值是否大于右 *** 作数的值,如果是则条件为真。


(A > B) 为假
(A <= B) 为 真检查左 *** 作数的值是否小于右 *** 作数的值,如果是则条件为真。


*** 作符
>=检查左 *** 作数的值是否大于或等于右 *** 作数的值,如果是则条件为 真。


(A >= B) 为 假
释义检查左 *** 作数的值是否小于或等于右 *** 作数的值,如果是则条件为 真。


实例

3.逻辑 *** 作符:

假设变量 A 的值为 1,变量 B 的值为 0,则:

&&(A && B) 为假||
(A||B)为真称为逻辑与运算符。


如果两个 *** 作数都非零,则条件为真。


!
!(A && B) 为真称为逻辑或运算符。


如果两个 *** 作数中有任意一个非零,则条件为真。


p
q称为逻辑非运算符。


用来逆转 *** 作数的逻辑状态。


如果条件为真则逻辑非 运算符将使其为假。


P&q

4.位 *** 作符:

位运算符作用于位,并逐位执行 *** 作。


&、 | 和 ^ 的真值表如下所示:

P|qP^q000
00010
11111
10100
11A = 0011 1100 B = 0000 1101A&B = 0000 1100A|B = 0000 1100

假设如果 A = 60,且 B = 13,现在以二进制格式表示,它们如下所示:

A^B = 0011 0001

~A = 1100 0011
*** 作符
释义
实例

假设变量 A 的值为 60,变量 B 的值为 13,则:

&(A & B) 将得到 12,即为 00001100|
(A | B) 将得到 61,即为 00111101按位与 *** 作,按二进制位进行"与"运算。


运算规则: 0&0=0; 0&1=0; 1&0=0; 1&1=1;

^
(A ^ B) 将得到 49,即为 0011 0001按位或运算符,按二进制位进行"或"运算。


运算规则: 0|0=0; 0|1=0; 1|0=0; 1|1=1;

~
<<异或运算符,按二进制位进行"异或"运算。


运算规 则: 0^0=0; 0^1=1; 1^0=1; 1^1=0;

A << 2 将得到 240,即为 1111 0000
*** 作符取反运算符,按二进制位进行"取反"运算。


运算规 则: ~1=-2; ~0=-1;

(~A ) 将得到 -61,即为 1100 0011,一个有符号二进制数的补码 形式。


释义二进制左移运算符。


将一个运算对象的各二进制位 全部左移若干位(左边的二进制位丢弃,右边补 0)。


实例
>>二进制右移运算符。


将一个数的各二进制位全部右 移若干位,正数左补0,负数左补1,右边丢弃。


A >> 2 将得到 15,即为 0000 1111

5.赋值 *** 作符:

#include#
=简单的赋值运算符,把右边 *** 作数的值赋给左边 *** 作数C = A + B 将把 A + B 的值 赋给 C
+=加且赋值运算符,把右边 *** 作数加上左边 *** 作数的结果赋 值给左边 *** 作数C += A 相当于 C = C + A
-=减且赋值运算符,把左边 *** 作数减去右边 *** 作数的结果赋 值给左边 *** 作数C -= A 相当于 C = C - A
*=乘且赋值运算符,把右边 *** 作数乘以左边 *** 作数的结果赋 值给左边 *** 作数C *= A 相当于 C = C * A
/=除且赋值运算符,把左边 *** 作数除以右边 *** 作数的结果赋 值给左边 *** 作数C /= A 相当于 C = C / A
%=求模且赋值运算符,求两个 *** 作数的模赋值给左边 *** 作数C %= A 相当于 C = C % A
<<=左移且赋值运算符C <<= 2 等同于 C = C << 2
右移且赋值运算符&=按位与且赋值运算符
>>=C &= 2 等同于 C = C & 2C >>= 2 等同于 C = C >> 2
^=按位异或且赋值运算符C ^= 2 等同于 C = C ^ 2
|=按位或且赋值运算符C|= 2 等同于 C = C | 2

6.连接 *** 作符:

includeint 
main( 
) //1.字符串 + 字符串//string str = "Hello" + "World";//logDisplay(str);//输出 "HelloWorld"
{
	//2.字符串 + 数字
		//var str = "P" + 100;
	//logDisplay(str);//输出 "P100"
	//备注:数字 + 数字的情形是当作数学运算处理的
		//例:var num = 100 + 100;
	//logDisplay(num);//输出 200
	return
		0
	;

	} //logDisplay(str);//输出 "HelloWorld"
//2.字符串 + 数字
	//var str = "P" + 100;
//logDisplay(str);//输出 "P100"
//备注:数字 + 数字的情形是当作数学运算处理的
	//例:var num = 100 + 100;
//logDisplay(num);//输出 200

return 0;



[+++]

}

[+++]
)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 166, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Error[8]: Undefined offset: 290, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

快速认识C语言中的字符 (超级详细) 一.转义字符:
*** 作符释义
?在书写连续多个问号时使用,防止他们被解析成三字母词
用于表示字符常量’
"用于表示一个字符串内部的双引号
\用于表示一个反斜杠,防止它被解释为一个转义序列符。


\a警告字符,蜂鸣
\b退格符
\f进纸符
\n换行
\r回车
\t水平制表符
\v垂直制表符
\dddddd表示1~3个八进制的数字。


\xdddd表示2个十六进制数字。


详细介绍几个初学者难以理解的字符:

  1. “?” 三字母词

    int main()
    {
    	//printf("(are you ok??)");
    	//早期编译器打印结果为(are you ok]
    	//防止将"??)"解析成"]"
    	//所以应该这样写
    	printf("(are you ok\?\?)");
    	
    	return 0;
    
    
  2. “\t”-水平制表符=Tab

  3. \ddd:表示1-3个八进制的数字 \xdd:表示两个十六进制的数字

    int main()
    {
    	//    \ddd 
    	printf("%c\n", '0');//打印结果为 X
    	//因为8进制的130转换为10进制为88
    	//所以88对应的ASCII值为 X
    
    	//    \xdd
    	printf("%c\n", '\x63');//打印结果为 c
    	//因为16进制的63转换为10进制为99
    	//所以99对应的ASCII值为 c
    
    	return 0;
    }
    

二.字符串:

1.“hello\n” 由引号引起来的一串字符成为字符串

int main()
{
	char arr1[] = "abcdef";//7个字符,其实后面还有一个"//char arr2[] = { 'a','b','c','d','e','f' };//6个字符"
	char
	[ arr2]= 'a' { ,'b','c','d','e','f','}';printf(
	"%s\n",); arr1printf(
	"%s\n",); arr2//只有arr2加了"//"[]"不放入常量可以自己取用空间,但是不可以放入变量"才跟arr1打印结果一样return0

    ;

	} #include
#


通过对比得出结论:

字符串的结束标志是一个”/0“的转义字符

3.strlen:求字符串长度的一个函数—string length

includeint 
main( 
) int=strlen
{
	( len "abc" );printf("%d\n"
	,);return len0;
	}  *** 作符释义
实例

注:strlen库函数需要引用头文件

三. *** 作符

1.算数 *** 作符:

假设变量 A 的值为 10,变量 B 的值为 20,则:

+把两个 *** 作数相加A + B 将得到 30
-从第一个 *** 作数中减去第二个 *** 作数A - B 将得到 -10
*把两个 *** 作数相乘A * B 将得到 200
/分子除以分母B / A 将得到 2
%取模运算符,整除后的余数B % A 将得到 0
++自增运算符,整数值增加 1A++ 将得到 11
自减运算符,整数值减少 1A-- 将得到 9
*** 作符释义实例

2.关系运算符:

假设变量 A 的值为 10,变量 B 的值为 20,则:

==(A == B) 为 假!=
(A != B) 为真检查两个 *** 作数的值是否相等,如果相等则条件为真。


<
(A < B) 为真检查两个 *** 作数的值是否相等,如果不相等则条件为真。


<=
>检查左 *** 作数的值是否大于右 *** 作数的值,如果是则条件为真。


(A > B) 为假
(A <= B) 为 真检查左 *** 作数的值是否小于右 *** 作数的值,如果是则条件为真。


*** 作符
>=检查左 *** 作数的值是否大于或等于右 *** 作数的值,如果是则条件为 真。


(A >= B) 为 假
释义检查左 *** 作数的值是否小于或等于右 *** 作数的值,如果是则条件为 真。


实例

3.逻辑 *** 作符:

假设变量 A 的值为 1,变量 B 的值为 0,则:

&&(A && B) 为假||
(A||B)为真称为逻辑与运算符。


如果两个 *** 作数都非零,则条件为真。


!
!(A && B) 为真称为逻辑或运算符。


如果两个 *** 作数中有任意一个非零,则条件为真。


p
q称为逻辑非运算符。


用来逆转 *** 作数的逻辑状态。


如果条件为真则逻辑非 运算符将使其为假。


P&q

4.位 *** 作符:

位运算符作用于位,并逐位执行 *** 作。


&、 | 和 ^ 的真值表如下所示:

P|qP^q000
00010
11111
10100
11A = 0011 1100 B = 0000 1101A&B = 0000 1100A|B = 0000 1100

假设如果 A = 60,且 B = 13,现在以二进制格式表示,它们如下所示:

A^B = 0011 0001

~A = 1100 0011
*** 作符
释义
实例

假设变量 A 的值为 60,变量 B 的值为 13,则:

&(A & B) 将得到 12,即为 00001100|
(A | B) 将得到 61,即为 00111101按位与 *** 作,按二进制位进行"与"运算。


运算规则: 0&0=0; 0&1=0; 1&0=0; 1&1=1;

^
(A ^ B) 将得到 49,即为 0011 0001按位或运算符,按二进制位进行"或"运算。


运算规则: 0|0=0; 0|1=0; 1|0=0; 1|1=1;

~
<<异或运算符,按二进制位进行"异或"运算。


运算规 则: 0^0=0; 0^1=1; 1^0=1; 1^1=0;

A << 2 将得到 240,即为 1111 0000
*** 作符取反运算符,按二进制位进行"取反"运算。


运算规 则: ~1=-2; ~0=-1;

(~A ) 将得到 -61,即为 1100 0011,一个有符号二进制数的补码 形式。


释义二进制左移运算符。


将一个运算对象的各二进制位 全部左移若干位(左边的二进制位丢弃,右边补 0)。


实例
>>二进制右移运算符。


将一个数的各二进制位全部右 移若干位,正数左补0,负数左补1,右边丢弃。


A >> 2 将得到 15,即为 0000 1111

5.赋值 *** 作符:

#include#
=简单的赋值运算符,把右边 *** 作数的值赋给左边 *** 作数C = A + B 将把 A + B 的值 赋给 C
+=加且赋值运算符,把右边 *** 作数加上左边 *** 作数的结果赋 值给左边 *** 作数C += A 相当于 C = C + A
-=减且赋值运算符,把左边 *** 作数减去右边 *** 作数的结果赋 值给左边 *** 作数C -= A 相当于 C = C - A
*=乘且赋值运算符,把右边 *** 作数乘以左边 *** 作数的结果赋 值给左边 *** 作数C *= A 相当于 C = C * A
/=除且赋值运算符,把左边 *** 作数除以右边 *** 作数的结果赋 值给左边 *** 作数C /= A 相当于 C = C / A
%=求模且赋值运算符,求两个 *** 作数的模赋值给左边 *** 作数C %= A 相当于 C = C % A
<<=左移且赋值运算符C <<= 2 等同于 C = C << 2
右移且赋值运算符&=按位与且赋值运算符
>>=C &= 2 等同于 C = C & 2C >>= 2 等同于 C = C >> 2
^=按位异或且赋值运算符C ^= 2 等同于 C = C ^ 2
|=按位或且赋值运算符C|= 2 等同于 C = C | 2

6.连接 *** 作符:

includeint 
main( 
) //1.字符串 + 字符串//string str = "Hello" + "World";//logDisplay(str);//输出 "HelloWorld"
{
	//2.字符串 + 数字
		//var str = "P" + 100;
	//logDisplay(str);//输出 "P100"
	//备注:数字 + 数字的情形是当作数学运算处理的
		//例:var num = 100 + 100;
	//logDisplay(num);//输出 200
	return
		0
	;

	} //logDisplay(str);//输出 "HelloWorld"
//2.字符串 + 数字
	//var str = "P" + 100;
//logDisplay(str);//输出 "P100"
//备注:数字 + 数字的情形是当作数学运算处理的
	//例:var num = 100 + 100;
//logDisplay(num);//输出 200

return 0;



 

}

[+++]
)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 166, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
快速认识C语言中的字符 (超级详细)_C_内存溢出

快速认识C语言中的字符 (超级详细)

快速认识C语言中的字符 (超级详细),第1张

快速认识C语言中的字符 (超级详细) 一.转义字符:
*** 作符释义
?在书写连续多个问号时使用,防止他们被解析成三字母词
用于表示字符常量’
"用于表示一个字符串内部的双引号
\用于表示一个反斜杠,防止它被解释为一个转义序列符。


\a警告字符,蜂鸣
\b退格符
\f进纸符
\n换行
\r回车
\t水平制表符
\v垂直制表符
\dddddd表示1~3个八进制的数字。


\xdddd表示2个十六进制数字。


详细介绍几个初学者难以理解的字符:

  1. “?” 三字母词

    int main()
    {
    	//printf("(are you ok??)");
    	//早期编译器打印结果为(are you ok]
    	//防止将"??)"解析成"]"
    	//所以应该这样写
    	printf("(are you ok\?\?)");
    	
    	return 0;
    
    
  2. “\t”-水平制表符=Tab

  3. \ddd:表示1-3个八进制的数字 \xdd:表示两个十六进制的数字

    int main()
    {
    	//    \ddd 
    	printf("%c\n", '0');//打印结果为 X
    	//因为8进制的130转换为10进制为88
    	//所以88对应的ASCII值为 X
    
    	//    \xdd
    	printf("%c\n", '\x63');//打印结果为 c
    	//因为16进制的63转换为10进制为99
    	//所以99对应的ASCII值为 c
    
    	return 0;
    }
    

二.字符串:

1.“hello\n” 由引号引起来的一串字符成为字符串

int main()
{
	char arr1[] = "abcdef";//7个字符,其实后面还有一个"//char arr2[] = { 'a','b','c','d','e','f' };//6个字符"
	char
	[ arr2]= 'a' { ,'b','c','d','e','f','}';printf(
	"%s\n",); arr1printf(
	"%s\n",); arr2//只有arr2加了"//"[]"不放入常量可以自己取用空间,但是不可以放入变量"才跟arr1打印结果一样return0

    ;

	} #include
#


通过对比得出结论:

字符串的结束标志是一个”/0“的转义字符

3.strlen:求字符串长度的一个函数—string length

includeint 
main( 
) int=strlen
{
	( len "abc" );printf("%d\n"
	,);return len0;
	}  *** 作符释义
实例

注:strlen库函数需要引用头文件

三. *** 作符

1.算数 *** 作符:

假设变量 A 的值为 10,变量 B 的值为 20,则:

+把两个 *** 作数相加A + B 将得到 30
-从第一个 *** 作数中减去第二个 *** 作数A - B 将得到 -10
*把两个 *** 作数相乘A * B 将得到 200
/分子除以分母B / A 将得到 2
%取模运算符,整除后的余数B % A 将得到 0
++自增运算符,整数值增加 1A++ 将得到 11
自减运算符,整数值减少 1A-- 将得到 9
*** 作符释义实例

2.关系运算符:

假设变量 A 的值为 10,变量 B 的值为 20,则:

==(A == B) 为 假!=
(A != B) 为真检查两个 *** 作数的值是否相等,如果相等则条件为真。


<
(A < B) 为真检查两个 *** 作数的值是否相等,如果不相等则条件为真。


<=
>检查左 *** 作数的值是否大于右 *** 作数的值,如果是则条件为真。


(A > B) 为假
(A <= B) 为 真检查左 *** 作数的值是否小于右 *** 作数的值,如果是则条件为真。


*** 作符
>=检查左 *** 作数的值是否大于或等于右 *** 作数的值,如果是则条件为 真。


(A >= B) 为 假
释义检查左 *** 作数的值是否小于或等于右 *** 作数的值,如果是则条件为 真。


实例

3.逻辑 *** 作符:

假设变量 A 的值为 1,变量 B 的值为 0,则:

&&(A && B) 为假||
(A||B)为真称为逻辑与运算符。


如果两个 *** 作数都非零,则条件为真。


!
!(A && B) 为真称为逻辑或运算符。


如果两个 *** 作数中有任意一个非零,则条件为真。


p
q称为逻辑非运算符。


用来逆转 *** 作数的逻辑状态。


如果条件为真则逻辑非 运算符将使其为假。


P&q

4.位 *** 作符:

位运算符作用于位,并逐位执行 *** 作。


&、 | 和 ^ 的真值表如下所示:

P|qP^q000
00010
11111
10100
11A = 0011 1100 B = 0000 1101A&B = 0000 1100A|B = 0000 1100

假设如果 A = 60,且 B = 13,现在以二进制格式表示,它们如下所示:

A^B = 0011 0001

~A = 1100 0011
*** 作符
释义
实例

假设变量 A 的值为 60,变量 B 的值为 13,则:

&(A & B) 将得到 12,即为 00001100|
(A | B) 将得到 61,即为 00111101按位与 *** 作,按二进制位进行"与"运算。


运算规则: 0&0=0; 0&1=0; 1&0=0; 1&1=1;

^
(A ^ B) 将得到 49,即为 0011 0001按位或运算符,按二进制位进行"或"运算。


运算规则: 0|0=0; 0|1=0; 1|0=0; 1|1=1;

~
<<异或运算符,按二进制位进行"异或"运算。


运算规 则: 0^0=0; 0^1=1; 1^0=1; 1^1=0;

A << 2 将得到 240,即为 1111 0000
*** 作符取反运算符,按二进制位进行"取反"运算。


运算规 则: ~1=-2; ~0=-1;

(~A ) 将得到 -61,即为 1100 0011,一个有符号二进制数的补码 形式。


释义二进制左移运算符。


将一个运算对象的各二进制位 全部左移若干位(左边的二进制位丢弃,右边补 0)。


实例
>>二进制右移运算符。


将一个数的各二进制位全部右 移若干位,正数左补0,负数左补1,右边丢弃。


A >> 2 将得到 15,即为 0000 1111

5.赋值 *** 作符:

#include#
=简单的赋值运算符,把右边 *** 作数的值赋给左边 *** 作数C = A + B 将把 A + B 的值 赋给 C
+=加且赋值运算符,把右边 *** 作数加上左边 *** 作数的结果赋 值给左边 *** 作数C += A 相当于 C = C + A
-=减且赋值运算符,把左边 *** 作数减去右边 *** 作数的结果赋 值给左边 *** 作数C -= A 相当于 C = C - A
*=乘且赋值运算符,把右边 *** 作数乘以左边 *** 作数的结果赋 值给左边 *** 作数C *= A 相当于 C = C * A
/=除且赋值运算符,把左边 *** 作数除以右边 *** 作数的结果赋 值给左边 *** 作数C /= A 相当于 C = C / A
%=求模且赋值运算符,求两个 *** 作数的模赋值给左边 *** 作数C %= A 相当于 C = C % A
<<=左移且赋值运算符C <<= 2 等同于 C = C << 2
右移且赋值运算符&=按位与且赋值运算符
>>=C &= 2 等同于 C = C & 2C >>= 2 等同于 C = C >> 2
^=按位异或且赋值运算符C ^= 2 等同于 C = C ^ 2
|=按位或且赋值运算符C|= 2 等同于 C = C | 2

6.连接 *** 作符:

includeint 
main( 
) //1.字符串 + 字符串//string str = "Hello" + "World";//logDisplay(str);//输出 "HelloWorld"
{
	//2.字符串 + 数字
		//var str = "P" + 100;
	//logDisplay(str);//输出 "P100"
	//备注:数字 + 数字的情形是当作数学运算处理的
		//例:var num = 100 + 100;
	//logDisplay(num);//输出 200
	return
		0
	;

	} //logDisplay(str);//输出 "HelloWorld"
//2.字符串 + 数字
	//var str = "P" + 100;
//logDisplay(str);//输出 "P100"
//备注:数字 + 数字的情形是当作数学运算处理的
	//例:var num = 100 + 100;
//logDisplay(num);//输出 200

return 0;



 

}

					
										


					

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/langs/606972.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-14
下一篇 2022-04-14

发表评论

登录后才能评论

评论列表(0条)

保存