c语言的;还有, 因该在什么时候加?什么时候不加?不是运算符。

作者&投稿:宫净 (若有异议请与网页底部的电邮联系)
c语言中,scanf语句里面什么时候要加&,什么时候不要加&?~

这里所说的其实就是一个地址
所以当变量是一个指针或者表示一个地址时就不中&
&就是求地址的运算符
如数组名是数组第一权个元素的地址
所以数组名就可以不用加&进行运算
比如
int a;
int *p=&a;
scanf("%d",p);
则不需要使用&运算符

扩展资料:
在C语言中,输入变量的语法是:scanf("格式控制","变量地址")
可以看出,第二个的格式为变量地址。
在C语言中,变量在定义之后,就会在计算机内存中非配一块空间给这个变量,该空间在内存中的地址称为变量的地址。
为了得到变量的地址,需要在变量前加一个&(称为取地址运算符),也就是“&变量名”的写法。
参考资料来源:百度百科-scanf (计算机语言函数)

return是关键字,不是函数,所以加括号不是必须的,但当 return 后面的表达式较长时,增加括号可提高可读性。

算术运算符和算术表达式
1. 基本的算术运算符
 加法运算符“+”:加法运算符为双目运算符,即应有两个量参与加法运算。如a+b,4+8等。具有右结合性。
 减法运算符“-”:减法运算符为双目运算符。但“-”也可作负值运算符,此时为单目运算,如-x,-5等具有左结合性。
 乘法运算符“*”:双目运算,具有左结合性。
 除法运算符“/”:双目运算具有左结合性。参与运算量均为整型时,结果也为整型,舍去小数。如果运算量中有一个是实型,则结果为双精度实型。
〖例3.14〗
main(){
printf("\n\n%d,%d\n",20/7,-20/7);
printf("%f,%f\n",20.0/7,-20.0/7);
}

本例中,20/7,-20/7的结果均为整型,小数全部舍去。而20.0/7和-20.0/7由于有实数参与运算,因此结果也为实型。
 求余运算符(模运算符)“%”:双目运算,具有左结合性。要求参与运算的量均为整型。 求余运算的结果等于两数相除后的余数。
【例3.15】
main(){
printf("%d\n",100%3);
}

本例输出100除以3所得的余数1。
2. 算术表达式和运算符的优先级和结合性
表达式是由常量、变量、函数和运算符组合起来的式子。一个表达式有一个值及其类型, 它们等于计算表达式所得结果的值和类型。表达式求值按运算符的优先级和结合性规定的顺序进行。单个的常量、变量、函数可以看作是表达式的特例。
算术表达式是由算术运算符和括号连接起来的式子。
 算术表达式:用算术运算符和括号将运算对象(也称操作数)连接起来的、符合C语法规则的式子。
以下是算术表达式的例子:
a+b
(a*2)/c
(x+r)*8-(a+b)/7
++I
sin(x)+sin(y)
(++i)-(j++)+(k--)
 运算符的优先级:C语言中,运算符的运算优先级共分为15级。1级最高,15级最低。在表达式中,优先级较高的先于优先级较低的进行运算。而在一个运算量两侧的运算符优先级相同时,则按运算符的结合性所规定的结合方向处理。
 运算符的结合性:C语言中各运算符的结合性分为两种,即左结合性(自左至右)和右结合性(自右至左)。例如算术运算符的结合性是自左至右,即先左后右。如有表达式x-y+z则y应先与“-”号结合,执行x-y运算,然后再执行+z的运算。这种自左至右的结合方向就称为“左结合性”。而自右至左的结合方向称为“右结合性”。 最典型的右结合性运算符是赋值运算符。如x=y=z,由于“=”的右结合性,应先执行y=z再执行x=(y=z)运算。C语言运算符中有不少为右结合性,应注意区别,以避免理解错误。
3. 强制类型转换运算符
其一般形式为:
(类型说明符) (表达式)
其功能是把表达式的运算结果强制转换成类型说明符所表示的类型。
例如:
(float) a 把a转换为实型
(int)(x+y) 把x+y的结果转换为整型
4. 自增、自减运算符
自增1,自减1运算符:自增1运算符记为“++”,其功能是使变量的值自增1。
自减1运算符记为“--”,其功能是使变量值自减1。
自增1,自减1运算符均为单目运算,都具有右结合性。可有以下几种形式:
++i i自增1后再参与其它运算。
--i i自减1后再参与其它运算。
i++ i参与运算后,i的值再自增1。
i-- i参与运算后,i的值再自减1。
在理解和使用上容易出错的是i++和i--。 特别是当它们出在较复杂的表达式或语句中时,常常难于弄清,因此应仔细分析。
【例3.16】
main(){
int i=8;
printf("%d\n",++i);
printf("%d\n",--i);
printf("%d\n",i++);
printf("%d\n",i--);
printf("%d\n",-i++);
printf("%d\n",-i--);
}

i的初值为8,第2行i加1后输出故为9;第3行减1后输出故为8;第4行输出i为8之后再加1(为9);第5行输出i为9之后再减1(为8) ;第6行输出-8之后再加1(为9),第7行输出-9之后再减1(为8)。
【例3.17】
main(){
int i=5,j=5,p,q;
p=(i++)+(i++)+(i++);
q=(++j)+(++j)+(++j);
printf("%d,%d,%d,%d",p,q,i,j);
}

这个程序中,对P=(i++)+(i++)+(i++)应理解为三个i相加,故P值为15。然后i再自增1三次相当于加3故i的最后值为8。而对于q 的值则不然,q=(++j)+(++j)+(++j)应理解为q先自增1,再参与运算,由于q自增1三次后值为8,三个8相加的和为24,j的最后值仍为8。

表明语句结束的时候用; for循环的括号里用;切分三个部分

在一个声明语句里声明多个变量的时候用,分割
初始化语句用复合常量的时候用,分隔元素
函数和宏的参数表用,分割

以及我想不起来的...


长岛县19175344206: c语言的;还有, 因该在什么时候加?什么时候不加?不是运算符. -
舟肤普舒: 表明语句结束的时候用; for循环的括号里用;切分三个部分在一个声明语句里声明多个变量的时候用,分割初始化语句用复合常量的时候用,分隔元素函数和宏的...

长岛县19175344206: c语言中return后面什么时候要加(),什么时候不加()? -
舟肤普舒: 加上的时候,一般可以去掉的.如: return (x); //这个等价于:return x;return (x,y); //这个等价于:return x,y;

长岛县19175344206: c语言问题 return后面什么时候加括号 什么时候不加括号呢 return(s)和return -
舟肤普舒: 一般后面有表达式的时候加括号,比如return(a+b);如果后面是变量可打可不打.不过一般不返回什么就会return;或者return 0;代表已经结束

长岛县19175344206: c语言中,对于字符什么时候应该加单引号,什么时候不该加 比如对于图片中第一题就搞不清楚 -
舟肤普舒: 不需要加单引号啊,c语言中用单引号括起来的表示是一个字符.你看到\n加单引号是因为它多多数情况下是用在字符串中的,而字符串是用双引号括起来的,不需要在里面的每一个字符外加单引号.

长岛县19175344206: c语言中while的用法 -
舟肤普舒: 语句a; while(n==1); 语句B; 当n==1时,程序while(1)成立,不断循环,因为后面while()后面直接是分号“;”所以这里n==1直接就是死循环, 当n与等于1时,程序同样是while(1)成立,和上面的情况一样,所以两个都是死循环. 扩展资料...

长岛县19175344206: C语言指针什么时候加星号什么时候不加 -
舟肤普舒: 开始定义的时候加*,比如:int *p;/*这里加*是表示p是一个int型的指针*/ 指向值的时候加*,比如:int *p,a;*p=a; 指向地址的时候不加*,比如:int *p,a[10];p=a;或*p=a[0]; 也就是一开始定义的时候的*是表明p是指针,但是到后面用的时候,p表示地址,*p表示p指向的"地址的值".ok???

长岛县19175344206: c语言:什么时候用'\n',什么时候用\n -
舟肤普舒: 当做单个字符用的时候加''在字符串中就不用''字符串是用""的

长岛县19175344206: C语言什么时候该加;什么时候不能加 -
舟肤普舒: 可以归结为下面的三点: 1、一条语句,结尾加上分好';'. 2、用{}括起来的语句集,在'}'的后面不用加上';',但是语句集中的每条语句结尾加上分好';'. 3、一条语句,可以用多行编写,语句的结尾用';'表示.

长岛县19175344206: C语言中 输入与输出到底哪时要加什么 %d %c %f ...... -
舟肤普舒: 那要看你输入输出的是什么了 是字符 是整形 还是字符串 自己看下边吧 a 读浮点值(仅适用于 C99) A 读浮点值(仅适用于 C99) c 读单字符 d 读十进制整数 i 读十进制、八进制、十六进制整数 e 读浮点数 E 读浮点数 f 读浮点数 F 读浮点数(仅适用于 C99) g 读浮点数 G 读浮点数 o 读八进制数 s 读字符串 x 读十六进制数 X 读十六进制数 p 读指针值 n 至此已读入值的等价字符数 u 读无符号十进制整数 [ ] 扫描字符集合 % 读 % 符号(百分号)

长岛县19175344206: C语言每次都要在结束时加return 0吗 -
舟肤普舒: 在C语言中,return函数有两种原型1、return 1;2、return (1)这两种原型是等价的.关于return的几句话是:1、有些函数确实可以不需要return,自然结束即可,如上面的OutputSomething();2、有些人习惯为return的返回值加一对(),如: return ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网