在c语言
A. &在c语言中什么意思
主要有两个意思:
取地址符,用在指针表达式或输出变量地址时 例如 int a; &a就是表示变量a在内存中地址
二进制位与位运算符 1&1=1 0&0=0
拓展资料:
C语言主要特点:
C语言是高级语言。它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。
C语言是结构式语言。结构式语言的显着特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。
C语言功能齐全。具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。而且计算功能、逻辑判断功能也比较强大。
C语言适用范围大。适合于多种操作系统,如Windows、DOS、UNIX、LINUX等等;也适用于多种机型。 C语言对编写需要硬件进行操作的场合,明显优于其它高级语言,有一些大型应用软件也是用C语言编写的。
B. 在C语言中
我这程序执行汇报运行时错误,printf("%c\n",(*str)++);printf("%c\n",++*str);这两句答案得不到,因为这个字符串是"abcde"在静态储存区,是无法修改的
修改一下代码
char p[6]={'a','b','c','d','e'};
char *str=p;
printf("%c\n",*str);//str指向的是p的首地址,*str就是a
printf("%c\n",*str++);//str做的是后自加,那么就是当前语句是无效的,str还是首地址,所以是还a,但是这个语句执行后,由于str做了自加,那么str的地址偏移了指向了b
printf("%c\n",*++str);//str地址先偏移指向了c,那么在*的话 打出来的就是c了,自加是在当前语句执行的
printf("%c\n",(*str)++);//括号优先级高,先做括号的*str,也就是得到了字符c,因为是对*str做的后自加,所以当前语句是无效的,但是语句执行后,*str也就是c这个字符做了自加,那么c就变成了d,但是指针不偏移,因为后自加是对*str的操作而不是str
printf("%c\n",++*str)//按照结合律,*先与str结合,那么*str也就成了字符d,在与前自加结合。前自加是在当前语句执行,所以也即是字符的做了自加,变成了e,但是str地址没偏移
所以最后结果是aacce
C. “&”在C语言中是什么意思
“&”在C语言中是指“异”“或”的意思。
D. &在c语言中是什么意思
两个运算符摆放在一起。
“=”是赋值运算符,“!”逻辑非运算符,逻辑操作符一般将其操作数视为条件表达式,返回结果为Bool类型:首先对其操作数求值,若结果为0,则条件为假(false),否则为真(true)
优先级上“!”先于“=”,int i;i=!5;
1.根据运算符优先级,!先于=
2.首先5作为!的操作数,求值!5的结果是bool型的false
3.然后false隐士转换成int型,即0
4.所以i里面的值是整形0
通常我们说话是加&表示“与”,比如Jake & Tom,C语言里&较为基础的一个使用就是“按位与”,它用在数据与数据之间进行运算(注意,它与【逻辑与】“&&”不同),比如十六进制a=0x10&0x01=0x00,而逻辑与的结果则是a=0x10&&0x01=1(TRUE);
第二个就是作为取地址符,这时候他用于数据的前面,比如int a=&b;
C++里还使用&作为引用符,如果你确认程序是标准的C而非C++的话,那么可以排除是引用了。引用也用于数据前面,它只在定义和声明时使用,如int &othername=name;
int &a=b; //定义时使用在等号左侧,是引用
int *a=&b; //在等号右侧,并单独在数据之前,是取地址
int a=(&b) & 0xffff; //第一个&是用于取b的内存中的地址,第二个&是按位与,即保留b地址值的低16位,高16位数值被清零(32位处理器下)。
E. &在c语言中是什么意思
&在C语言中可能表示两种运算符。
1、如果运算对象只有一个,且为右操作数,那么&为取地址运算符,结果为操作对象的地址。例如&a(假设a是一个左值,即具有具体的可访问的地址)结果为a的地址。
2、如果运算对象有两个,那么&表示位与运算。结果中的每一个二进制位等于两个运算数的对应位置的二进制位按位与。每一个位的位与运算法则是,当且仅当运算数都为1时结果为1,即:1 & 1 == 1,1 & 0 == 0 & 1 == 0 & 0 == 0。
c语言运算符号种类:
1、算术运算符
用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(--)共七种。
2、关系运算符
用于比较运算。包括大于(>)、小于(<)、等于(==)、 大于等于(>=)、小于等于(<=)和不等于(!=)六种。
3、逻辑运算符
用于逻辑运算。包括与(&&)、或(||)、非(!)三种。
4、位操作运算符
参与运算的量,按二进制位进行运算。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。
5、赋值运算符
用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<<=)三类共十一种。
6、条件运算符
这是一个三目运算符,用于条件求值(?:)。
7、逗号运算符
用于把若干表达式组合成一个表达式(,)。
8、指针运算符
用于取内容(*)和取地址(&)二种运算。
9、求字节数运算符
用于计算数据类型所占的字节数(sizeof)。
10、特殊运算符
有括号(),下标[],成员(→,.)等几种。
以上内容参考 网络-c语言运算符号
F. “~”在c语言中是什么意思
如下图所示:
G. %在c语言中是什么意思
C语言中%有两种意思,第一表示求余符号 经常会用到判断一个数是不是能被另一个整除。
如:7%3=1(7除以3,余下1,) 1%3=1(1除以3除不尽,余下1);如判断一个m是奇数还是偶数?代码如下:if(m%2==0) print f("偶数")。引导符,用于引导输入输出项表列的格式。
例如:print f("%d%c%f",a,b,c);意思就是a以整型输出,b以字符型输出,c以实型输出。
C语言运算优先级
优先级:C语言中,运算符的运算优先级共分为15 级。1 级最高,15 级最低。 在表达式中,优先级较高的先于优先级较低的进行运算。而在一个运算量两侧的运算符 优先级相同时,则按运算符的结合性所规定的结合方向处理。
结合性:C语言中各运算符的结合性分为两种,即左结合性(自左至右)和右结合性(自右至左)。例如算术运算符的结合性是自左至右,即先左后右。如有表达式x-y+z 则y 应先与“-”号结合,执行x-y 运算,然后再执行+z 的运算。这种自左至右的结合 方向就称为“左结合性”。而自右至左的结合方向称为“右结合性”。
H. %在c语言中是什么意思
1、运算符:取余运算符。
2、格式:
%d是整型,%c是字符型,%%是输出%,%ld是输出长整型。
%f是输出浮点型(小数形式),%e是输出浮点型(指数形式)。
%lf/%le用于输出double型,%g选%e/%f长度小的一种,且不输出多余的零。
%o输出八进制,不会输出负的,%x输出十六进制。
%hd用于输出短整型。
%s用于字符串