c语言中与有何区别,c语言中%c与%s的有什么区别?

2020-11-23 11:45:02 字数 5840 阅读 7624

1楼:匿名用户

在定义变量时 *是定义指针

,&是引用(注:好象c没有引用^_^)

例如:int *pvar=null;//定义一个int类型指针int var=0;

int &pvar=var;//定义一个引用,并且定义时要指定所引用的对象

在使用时 *是解指针(即取其指向的变量的值) ,&是取地址int var=10;

int *pvar=null;

pvar=&var;//取var的地址

printf("%d",*pvar);//取值

2楼:**融岩

*是取值符 &是取地址符

c语言中%c与%s的有什么区别?

3楼:mxx米小夕

c语言中%c格式符表示输出的

是字符,%s格式符表示输出的是字符串。

c语言基本构成:

1.数据类型

c的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。

2.常量与变量

常量其值不可改变,符号常量名通常用大写。

变量是以某标识符为名字,其值可以改变的量。标识符是以字母或下划线开头的一串由字母、数字或下划线构成的序列,请注意第一个字符必须为字母或下划线,否则为不合法的变量名。变量在编译时为其分配相应存储单元。

3.数组

如果一个变量名后面跟着一个有数字的中括号,这个声明就是数组声明。字符串也是一种数组。它们以ascii的null作为数组的结束。要特别注意的是,方括内的索引值是从0算起的。

4.指针

如果一个变量声明时在前面使用 * 号,表明这是个指针型变量。换句话说,该变量存储一个地址,而 *(此处特指单目运算符 * ,下同。c语言中另有 双目运算符 *) 则是取内容操作符,意思是取这个内存地址里存储的内容。

指针是 c 语言区别于其他同时代高级语言的主要特征之一。

指针不仅可以是变量的地址,还可以是数组、数组元素、函数的地址。通过指针作为形式参数可以在函数的调用过程得到一个以上的返回值,不同于return(z)这样的仅能得到一个返回值。

指针是一把双刃剑,许多操作可以通过指针自然的表达,但是不正确的或者过分的使用指针又会给程序带来大量潜在的错误。

5.字符串

c语言的字符串其实就是以'\0'字符结尾的char型数组,使用字符型并不需要引用库,但是使用字符串就需要c标准库里面的一些用于对字符串进行操作的函数。它们不同于字符数组。使用这些函数需要引用头文件。

6.文件输入/输出

在c语言中,输入和输出是经由标准库中的一组函数来实现的。在ansi c中,这些函数被定义在头文件;中。

7.标准输入/输出

有三个标准输入/输出是标准i/o库预先定义的:

stdin标准输入

stdout标准输出

stderr输入输出错误

c语言 &与*的具体区别

4楼:生活

在定义变量时 *是定义指针,&是引用

int *pvar=null;//定义一个int类型指针int var=0;

int &pvar=var;//定义一个引用,并且定义时要指定所引用的对象

在使用时 *是解指针(即取其指向的变量的值) ,&是取地址int var=10;

int *pvar=null;

pvar=&var;//取var的地址

printf("%d",*pvar);//取值

5楼:零点

&是取地址符号,既取得某一个变量的地址;如:&a

而* 是指针运算符(乘号就不说了),可以表示一个变量是指针类型;也可以表示一个指针变量的所指向的存储单元,可以获取某个地址存储的值。

6楼:匿名用户

&取地址,*去地址指向的内容

7楼:大块

&运算符与,*可以是指针,也可以是乘号。

8楼:索隆

&x是对x变量取地址,也就是返回的是x的地址。

int *i;这里面的*说明变量i是一个指针,存的是一个地址。

而printf("%d\n",*i);这里面的*的作用是返回指针i所指的变量。

呵呵,希望仔细看看,然后研究研究吧。

9楼:匿名用户

&运算符,*可以使乘法,另外就是指针,*p就是p所指对象的数值

r语言中,mode和class有何区别

10楼:黑马程序员

mode storage.mode typeof 是一类,检查变量类型,如list integer character等

关系是,从前往后,检查精度越来越细。所以当想看粗类别时,就用mode,看细类别用typeof.

# 此时后两者都能查到最细的程度

mode(1:5) # numeric

storage.mode(1:5) # integer

typeof(1:5) # integer

# 此时只有typeof能查到最细的程度

mode(`+`) # function

storage.mode(`+`) # function

typeof(`+`) # builtin

# 这里稍微解释一下,`+`是一个函数

# 下面两个例子等价

1+2 # 3

`+`(1,2) # 3

class和另外三个不是一个体系

对于有”class”属性的变量,返回的就是这个属性对应的值

对于没有”class”属性的变量,则根据它的类型、维度来确定

# 有"class"属性,只认属性

a <- 1:6

df <-data.frame(a,a+1)

class(df) # data.frame

class(df)<- "abc" # 随便定义一个值

class(df) # abc

#没有属性,根据类型和dim属性

ar <- array(1:4)

attributes(ar) # 数组dim为4

mat <- matrix(1:4)

attributes(mat) # 矩阵dim为4 1 两个值

a <- 1:4 # 没有dim

class(a) # integer

aar <- structure(a,dim=4) # 赋予类似array的dim

class(aar) # array

amat <- structure(a,dim=c(4,1)) # 赋予类似matrix的dim

class(amat) # matrix

class(list(1:4)) # list 不一样类型

c语言中,&和&&有什么区别,|和||有什么区别

11楼:天雨下凡

&和|是针对位的操作,&&与||是逻辑操作符

设有变量x和y,则x&y,是先把x与y转换成二进制,再对每一位进行&运算,都为1,则结果为1,否则为0,x|y也是先把x与y转换成二进制,再对每一位进行|运算,只要有一个为1,则结果为1,二个都为0,结果才为0

x&&y,如果x与y都为真(非0),则结果为1,否则为0,x||y,只要x与y中有一个为真(非0),则结果为1,只有两都同时为0,结果才为0

12楼:my缪宇

&:是与的意

思&&:是且的意思

|:是或的意思

||:也叫或

&: 两个数字位操作 and。或者取某个变量的地址,或声明引用。

对 bit:(0 & x ) = 0; ( 1 & x ) = x;

&&:两个 bool 值的“并且”。( false && x ) = false; (true && x)= x;

|:两个数字 位操作 or。对 bit: ( 0 | x ) = x; ( 1 | x ) = 1;

||:两个bool 值的“或”。( true || x ) = true; ( false || x ) = x;

逻辑运算与按位运算,不一样的两种运算。

按位运算是把整数的每个二进制位与另一个整数对应的每个二进制位进行运算,是整数到整数的运算。逻辑运算其实是布尔值到布尔值的运算,只不过在c当中,所有非零整数都理解true,所有0都理解为false。所以4 && 2 == 1,其实是4是true,2也是true,与的结果是true,所以是1。

而按位操作,4是0b0100, 2是0b0010,它们没有重叠的二进制位,所以结果是4 & 2 == 0

13楼:匿名用户

&& 是条件判断,返回结果只有1或0(即真或假)& 是与运算符,就像+-×÷一样可以返回任意位数的结果假设x,y,z都是8位数

则x&&y=0;

x||y=1;

y&&z=1;

y||z=1;

x&y=0000 0000&1111 1110=0;

x|y=0000 0000|1111 1110=1111 1110;

14楼:他de生活

区别:1.运算符

性质不同。

&是一个位运算符。

&&是一个逻辑运算符。

2.作用不同。

&是将两个二进制的数逐位相与,结果是相与之后的结果。

&&就是判断两个表达式的真假性,只有两个表达式同时为真才为真,有一个为假则为假,具有短路性质。

3.用途限制。

&除了是一个位运算符,也是取地址符。

&&就是一个单纯的逻辑运算符,没有任何其他含义。

15楼:匿名用户

&要计算表达式1个小时表达

式2,而&&计算表达式1若此时表达式1是false则&&就不会再计算第二个表达式,而直接输出&&运算的结果是false。同理||运算的第一个表达式是true则||运算会直接输出逻辑结果而不在计算第二个表达式。

16楼:恋_心坊

&是位运算的与,每一位都要进行,&&是表达式的与,操作整个逻辑式,|(或)同理。

c语言中//和/*的用法的区别有哪些?

17楼:

//只能注释本行后面的内容

/* */注释中间包过的所有内容,可以跨行

c语言中//与/* */的区别

18楼:爱抹茶幂语

c语言中//与/* */的区别如下:

①是否为单行注释

//是用于多种语言的单行注释语句。/**/是注释语句,不限制行数,在“/*”和“*/”之间的即为注释。

②实用性的区别

//是用于多种语言的单行注释语句,适用方便快捷,但是实用性不如多行注释

/**/是注释语句,不限制行数,在“/*”和“*/”之间的即为注释,实用性大,但是符号键盘敲打麻烦。

程序编译时,不对注释内容作任何处理。注释一般可出现在程序中的任何位置。注释用来向用户或程序员提示或解释程序的功能作用。

扩展资料

c语言的注释符一般分为两种,一种是以“/*”开头,在中间加上注释内容,并以“*/”结尾的段落注释符。在“/*”和“*/”之间的即为注释。

另一种是以“//”开头,后面加注释内容的单行注释符。在“//”之后的即为注释。

c语言的注释符是以“/*”开头并以“*/”结尾的串。在“/*”和“*/”之间的即为注释。程序编译时,不对注释作任何处理。注释可出现在程序中的任何位置。

注释用来向用户提示或解释程序的意义。在调试程序中对暂不使用的语句也可用注释符括起来,使翻译跳过不做处理,待调试结束后再去掉注释符。

C语言中的“行指针”与“元素指针”有什么区别

1楼 键盘雀跃 int a 4 1 2 3 4 a 0 a 1 a 2 a 3 a是一维数组名,代表数组的首地址 也就是a 0 a 1 指针移动2个字节,指向下一个数组元素,就是a 1 int a 3 4 a 4 或a 4 或a 3 4 都可以表示行指针 操作a是二维数组名,代表二维数组的首地址,也...

c语言中数组名和指针变量的区别,C语言中数组名和指针的区别

1楼 销 数组名除了sizeof会返回数组大小,其他的实况下是相当于一个指针常量无区别的 指针常量也就是说,不能改变数组名的值,比如int a 10 a a a a 10等都是非法的 c语言中数组名和指针的区别 2楼 匿名用户 数组在当作参数传递时,可以当作指针 当然,参数传递相当于赋值操作,所以用...

c语言中的和两个运算符有什么区别

1楼 匿名用户 在c语言中,运算符 和运算符 所表示的意义不同。 是赋值运算符,它的含义是将右侧表达式的值赋给左侧的变量。 是关系运算符,如果两侧表达式的值相等,则其值为1,否则为0。 2楼 匿名用户 一个等号是赋值运算符,用于把等号右边的结果赋值给左边的变量 两个等号是判等运算符,用于判断等号左右...