c语言:通配符除了逗号还有什么
发布时间:2025-05-18 12:48:55 发布人:远客网络
一、c语言:通配符除了逗号还有什么
1、C语言提供一种特殊的运算符——逗号运算符。用它将两个表达式连接起来。如:
2、称为逗号表达式,又称为“顺序求值运算符”。逗号表达式的一般形式为
3、逗号表达式的求解过程是:先求解表达式1,再求解表达式2。整个逗号表达式的值是表达式2的值。例如,上面的逗号表达式“3+5,6+8”的值为14。又如,逗号表达式
4、对此表达式的求解,读者可能会有两种不同的理解:一种认为“3*5,a*4”是一个逗号表达式,先求出此逗号表达式的值,如果a的原值为3,则逗号表达式的值为12,将12赋给a,因此最后a的值为12。另一种认为:“a=3*5”是一个赋值表达式”,“a*4”是另一个表达式,二者用逗号相连,构成一个逗号表达式。这两者哪一个对呢?赋值运算符的优先级别高于逗号运算符,因此应先求解a=3*5(也就是把“a=3*5”作为一个表达式)。经计算和赋值后得到a的值为15,然后求解a*4,得60。整个逗号表达式的值为 60。
5、一个逗号表达式又可以与另一个表达式组成一个新的逗号表达式,如(a=3*5,a*4),a+5先计算出a的值等于15,再进行a*4的运算得60(但a值未变,仍为15),再进行a+5得20,即整个表达式的值为20。
6、逗号表达式的一般形式可以扩展为
7、表达式1,表达式2,表达式3……表达式n
8、逗号运算符是所有运算符中级别最低的。因此,下面两个表达式的作用是不同的:
9、第①个是一个赋值表达式,将一个逗号表达式的值赋给x,x的值等于18。第②个是逗号表达式,它包括一个赋值表达式和一个算术表达式,x的值为3。
10、其实,逗号表达式无非是把若干个表达式“串联”起来。在许多情况下,使用逗号表达式的目的只是想分别得到各个表达式的值,而并非一定需要得到和使用整个逗号表达式的值,逗号表达式最常用于循环语句(for语句)中.
11、请注意并不是任何地方出现的逗号都是作为逗号运算符。例如函数参数也是用逗号来间隔的。如
12、 printf("%d,%d,%d",a,b,c);
13、上一行中的“a,b,c”并不是一个逗号表达式,它是printf函数的3个参数,参数间用逗号间隔。
14、 printf("%d,%d,%d",(a,b,c),b,c);
15、则“(a,b,c)”是一个逗号表达式,它的值等于c的值。括弧内的逗号不是参数间的分隔符而是逗号运算符。括弧中的内容是一个整体,作为printf函数的一个参数。
16、C语言表达能力强,其中一个重要方面就在于它的表达式类型丰富,运算符功能强,因而c使用灵活,适应性强
二、c语言里*/是什么意思
从运算符来看,*表示乘号,/表示除号,从程序的角度来说,*是通用匹配符,\是转义符。
当查找文件夹时;当不知道真正字符或者不想键入完整名字时,常常使用通配符代替一个或多个真正字符。
星号(*)可以使用星号代替零个、单个或多个字符。如果正在查找以AEW开头的一个文件,但不记得文件名其余部分,可以输入AEW*,查找以AEW开头的所有文件类型的文件。
如AEWT.txt、AEWU.EXE、AEWI.dll等。要缩小范围可以输入AEW*.txt,查找以AEW开头的所有文件类型并.txt为扩展名的文件如AEWIP.txt、AEWDF.txt。
所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。
为了解决这种模棱两可的情况,应用了优先级规则。模式越具体,其优先级也越高。根据这种原则,/usr/local/user1/x.log在与/usr/local/*.log模式相匹配之前先与/usr/local/user1/*.log模式相匹配。由于找到一个匹配项,任何可应用于匹配此模式的对象的策略都将适用。
下表显示了通配符元素的优先级。表中较高位置的元素优先于表中较低位置的元素。
5、重复的字符范围 [Aa]+, [[:digit:]]+
参考资料来源:百度百科-转义字符
三、c语言的“*”是什么意思
从运算符来看,*表示乘号,/表示除号,从程序的角度来说,*是通用匹配符,\是转义符。
当查找文件夹时;当不知道真正字符或者不想键入完整名字时,常常使用通配符代替一个或多个真正字符。
星号(*)可以使用星号代替零个、单个或多个字符。如果正在查找以AEW开头的一个文件,但不记得文件名其余部分,可以输入AEW*,查找以AEW开头的所有文件类型的文件。
如AEWT.txt、AEWU.EXE、AEWI.dll等。要缩小范围可以输入AEW*.txt,查找以AEW开头的所有文件类型并.txt为扩展名的文件如AEWIP.txt、AEWDF.txt。
所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。
为了解决这种模棱两可的情况,应用了优先级规则。模式越具体,其优先级也越高。根据这种原则,/usr/local/user1/x.log在与/usr/local/*.log模式相匹配之前先与/usr/local/user1/*.log模式相匹配。由于找到一个匹配项,任何可应用于匹配此模式的对象的策略都将适用。
下表显示了通配符元素的优先级。表中较高位置的元素优先于表中较低位置的元素。
5、重复的字符范围 [Aa]+, [[:digit:]]+
参考资料来源:百度百科-转义字符