c语言小括号的用法
C语言的小括号里面表示一条语句,返回值是多条语句中最靠右的语句的返回值,比如(a=2,b=3,c=a+b),返回值就是c的值。下面小编就为大家介绍c语言小括号的用法。
c语言小括号的用法如下:
1、单小括号 ()
①命令组。括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用。括号中多个命令之间用分号隔开,最后一个命令可以没有分号,各命令和括号之间不必有空格。
②命令替换。等同于`cmd`,shell扫描一遍命令行,发现了$(cmd)结构,便将$(cmd)中的cmd执行一次,得到其标准输出,再将此输出放到原来命令。有些shell不支持,如tcsh。
③用于初始化数组。如:array=(a b c d)
2、双小括号 (( ))
①整数扩展。这种扩展计算是整数型的计算,不支持浮点型。((exp))结构扩展并计算一个算术表达式的值,如果表达式的结果为0,那么返回的退出状态码为1,或者 是"假",而一个非零值的表达式所返回的`退出状态码将为0,或者是"true"。若是逻辑判断,表达式exp为真则为1,假则为0。
②只要括号中的运算符、表达式符合C语言运算规则,都可用在$((exp))中,甚至是三目运算符。作不同进位(如二进制、八进制、十六进制)运算时,输出结果全都自动转化成了十进制。如:echo $((16#5f)) 结果为95 (16进位转十进制)
③单纯用 (( )) 也可重定义变量值,比如 a=5; ((a++)) 可将 $a 重定义为6
④常用于算术运算比较,双括号中的变量可以不使用$符号前缀。括号内支持多个表达式用逗号分开。 只要括号中的表达式符合C语言运算规则,比如可以直接使用for((i=0;i<5;i++)), 如果不使用双括号, 则为for i in `seq 0 4`或者for i in {0..4}。再如可以直接使用if (($i<5)), 如果不使用双括号, 则为if [ $i -lt 5 ]。
下面的程序给多维数组初始化,注意初始化时花括号和小括号的区别
[cpp] view plain
#include
intmain()
{
inta[2][2]={(1,2),(3,4),};//如果把小括号换成花括号,结果就不一样了,小括号(1,2)返回2(3,4)返回4,另外两个元素默认是0
inti,j;
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
printf("%d",a[i][j]);
printf("");
}
int*p=a[0];
printf("%d",p[0]);
return0;
}
/*
运行结果:
24
00
2
*/
-
计算机c语言基础知识
C语言程序设计是高效计算机专业学生必修的一门基础课程,那么你对计算机c语言了解多少呢?下面是小编整理的计算机c语言基础知识,欢迎大家阅读参考。计算机c语言的特性C语言是世界上最流行、使用最广泛的高级程序设计语言之一。在操作系统和系统使用程序以及需要对...
-
C语言中的整数(short,int,long)
整数是编程中常用的一种数据,C语言使用int来定义整数(int是integer的简写)。欢迎大家阅读!更多相关信息请关注相关栏目!现代操作系统中int一般占用4个字节内存,共计32位(Bit)。如果不考虑正负数,当所有的位都为1时它的值最大,为232-1=4,294,967,295≈43亿,这是一个很大的...
-
c语言如何控制硬件
你们知道在C语言中如何控制计算机的硬件吗?下面是应届毕业生小编带来的关于c语言如何控制硬件的内容,欢迎阅读!c语言如何控制硬件?C语言是没办法控制硬件的首先,C语言不能够直接对硬件进行操作。从本质上来说,连汇编语言都不可以。只有机器语言能够直接操作硬件。...
-
内部排序之堆排序的实现
堆排序(HeapSort)只需要一个记录大小的辅助空间,每个待排序的记录仅占有一个存储空间。下面小编为大家整理了内部排序之堆排序的实现,希望能帮到大家!(1)基本概念a)堆:设有n个元素的序列:{k1,k2,...,kn}对所有的i=1,2,...,(int)(n/2),当满足下面关系:ki≤k2i,ki≤k2i+1或ki...