首先,你打错了,是printf()然后,不是很多函数后面都有括号,是所有的函数后面都有括号。这是C语言的规定,就像C语言规定除了宏定义和include语句,其他语句一律以分号结尾;include语句必须以#开头一样,就是规定,没有为什么。
你的意思可能是,比如数学里有个表达式: {[(1+2)*2+3]+5}*5,那么()叫小括号、【】叫做中括号、{ }叫大括号,对吧? C语言中是没有中括号这种说法,全部都只用()小括号表示,比如要把上面那个数学表达式表示成C语言的表达式时,只需把所有的中括号和大括号换成小括号:(( (1+2)*2+3 )+ 5 )*5. 程序执行的时候从最里面的小括号开始执行,一个个向外。
简单点说,带括号的是函数调用,直接执行函数;不带括号的是绑定事件,事件触发再执行。
复杂点说,带括号的是把返回值赋值给事件,不带括号的是把函数体所在地址位置赋值给事件。
函数调用需要参数的时候,就在括号中列出来。如果不需要参数,括号也可以做为一种识别标记。。否则,编译器不是分不清变量和函数了么。。int a; //申明一个变量int a(); //申明一个函数int b=a; //变量=变量int b=a(); //变量=函数返回值而且也方便所有的函数统一处理嘛。
括号里是执行循环的条件,while(a>3)这样写没问题的,意思是当a>3的时候执行循环。其实while可以和for循环相互转换的,以斐波那契数列为例,用for循环写:
也可以用while循环来写:
可以理解为大括号包括起来是个区域。for循环大括号内如果是一句代码就只执行一句;如果大括号内是多行代码,就执行大括号内所有代码语句。如下例子:
for循环执行大括号内下面一整个区域。这个区域包括了两个语句:
那么就只执行第一句int i=0;