精华内容
下载资源
问答
  • C语言赋值语句

    千次阅读 2019-10-16 12:14:01
    今天学习了C程序中的赋值语句,...在if语句中的a=b不是赋值语句,而是赋值表达式。值得注意的是赋值表达式的末尾没有分号,而赋值语句的末尾必须分号。在一个表达式中可以包含一个或多个赋值表达式,但绝不能包...

    今天学习了C程序中的赋值语句,C语言的赋值语句属于表达式语句,由一个赋值表达式加一个分号组成。在一个表达式中可以包含另一个表达式,赋值表达式是表达式,那么它就可以出现在其他表达式中。例如:if((a=b)>0) max=a;在if语句中的a=b不是赋值语句,而是赋值表达式。值得注意的是赋值表达式的末尾没有分号,而赋值语句的末尾必须有分号。在一个表达式中可以包含一个或多个赋值表达式,但绝不能包含赋值语句。
    赋值运算符 级别倒数第二 结合性:自右至左
    基本的赋值运算符:= 将右侧的值赋给左侧的变量
    复合的赋值运算符:+=、-=、*=…
    a+=b等价于 a=a+(b) 其中a只能是变量,b可以是任意的表达式(变量是最简单的一种表达式)赋值表达式的值是左侧变量的值,要注意在定义变量的时候,不能用连等为多个变量赋初值。
    可以用赋值语句对变量赋值,也可以在定义变量时对变量赋以初值,也可以使被定义的变量的一部分赋初值。
    为变量赋值:定义的同时赋值 (赋初值) int a=9;
    先定义后赋值 int a; a=9;
    以上两种方式等价
    赋值过程中的类型转换:1.两侧类型一致时,直接赋值2.两侧类型不一致,但都是算术类型时,自动将右侧的类型转换为左侧类型后赋值
    定义变量时要防止数据溢出
    输入
    scanf(“字符串”,输入项的地址)
    字符串包含两部分:普通字符 和以%开头的格式控制字符 ,普通字符,需要在键盘原样输入,通常不写普通字符
    输入项的地址,如果有多个输入项,用逗号隔开,每个输入项和之前的格式控制符按顺序相对应
    输出
    printf(“字符串”,输出项)
    字符串包含两部分:普通字符 和以%开头的格式控制字符 ,普通字符,需要在屏幕原样输出,通常用来提示
    输出项,如果有多个输出项,用逗号隔开,每个输出项和之前的格式控制符按顺序相对应
    double a,b,c;
    scanf(“a=%lf,b=%lf,c=%lf”,&a,&b,&c);
    print(“a=%f,b=%f,c=%f”,a,b,c);在这里插入图片描述

    展开全文
  • c语句及赋值语句

    千次阅读 2019-07-14 00:23:29
    C语言及赋值语句 与其他高级语言一样,C语言的语句也是用来向计算机系统发出操作命令,c程序的执行部分是由语句组成的,所以一个程序应当包含若干语句,程序的功能也是由执行语句实现的。 表达式语句 表达式语句由...

    C语言及赋值语句

    与其他高级语言一样,C语言的语句也是用来向计算机系统发出操作命令,c程序的执行部分是由语句组成的,所以一个程序应当包含若干语句,程序的功能也是由执行语句实现的。

    表达式语句
    表达式语句由表达式加上分号;组成,一般形式如下
    表达式;
    例如;
    X=x+1
    是一个表达式,而不是语句
    X+x+1;
    则是一个语句。比较表达式来看,语句多了一个分号。

    2.函数调用语句
    函数调用语句由函数名,实际参数加上分号组成。其一般形式如下
    函数名 (实际参数);
    执行函数调用语句就是调用函数体并把实际参数赋予函数定义中的形式参数,然后执行被调函数体中的语句,求函数值如
    Printf(“hello world”);
    就是一个函数调用语句,printf函数是库函数中已有的函数,不需要用户自定义

    3控制语句
    C语言从执行方式上来看,可以分为顺序,选择、循环这三种基本结构,一般情况下,程序都不会是简单的顺序结构,通常会是顺序选择循环这三种结构的复杂组合。C语言中规定了9种控制语句,用以实现选择结构与循环结构
    条件判断语句 if 语句iswitch语句
    循环执行语句 do while语句 while 语句for语句
    转向语句i;break语句,goto语句、continue语句、return语句i

    4。复合语句
    把多条语句用大括号{}括起来,组成一条语句,成为复合语句,在程序中应该把复合语句看成单条语句,而不是多条语句
    例如
    {

    A=b;
    B=c;
    C=d;

    }
    是一条复合语句复合语句内的各条语句都必须以分号;结尾,在大括号”}“外不能加扽好

    5.空语句
    只有一个:的语句称为空语句。
    空语句是什么都不执行的语句
    1.2
    赋值语句是由赋值表达式加上一个分号构成的表达式语句。一般形式如下
    变量(复合)赋值表达式 表达式
    赋值语句的功能和特点都与赋值表达式相同,。
    对于赋值语句,需要强调一下几点

    ⑴由于在(复合)赋值运算符右边的表达式也可以是一个赋值表达式,所以就会形成嵌套的情形,展开后的一般形式为
    变量(复合)赋值运算符 变量(复合)赋值运算符…(复合)赋值运算符 表达式
    例如
    A=b=c=3;
    C=3;
    B=c;
    A=b;

    ⑵C语言中的赋值号或者复合赋值号都是一个运算符,在其他语言中他们不是运算符的一种

    ⑶注意在变量声明中给变量赋初值和赋值语句的区别。给变量赋初值是变量声明的一部分

    ⑷在应用中要注意赋值表达式和赋值语句的概念的不同,赋值表达式可以包括在其他表达式中例如
    If((x=y;)<=0);
    Z=y;
    上面语句中的x=y,就是一个表达式而不是语句,若在该表达式后面加上分号;,变成语句,既
    If((x=y);<=0)
    Z=y;
    是很不合法的,因为在if条件中不能出现语句

    ⑸在变量声明中,不允许连续给多个变量赋初值。
    Int a=b=c=5;错误
    必须写为
    Int a=5,b=5,c=5;
    赋值语句允许连续赋值

    ⑹赋值表达式和赋值语句的区别。赋值表达式是一种表达式,它可以出现在任何允许表达式出现的地方,而赋值语句不行
    Eg
    If(a>b)
    B=a;
    因为a>b是表达式而且if(内要求是表达式),如果改成
    If(a>b;)
    B=a;
    a>b;是语句不合法

    展开全文
  • C/C++ if语句中出现赋值语句

    千次阅读 2020-03-06 11:34:29
    我们习惯了向if里面传递布尔值,如果为true就进入if语句;或者传入一个判断语句(表达式a==表达式b);或者传入数值,0为false,其他都为true。等等 初学者很容易在传入判断语句的时候将==写成=,而导致代码失误...

    我们习惯了向if里面传递布尔值,如果为true就进入if语句块中;或者传入一个判断语句(表达式a==表达式b);或者传入数值,0为false,其他都为true。等等

    初学者很容易在传入判断语句的时候将==写成=,而导致代码失误,这时会有什么情况发生呢?

    编译器在编译代码的时候是不会报错的,程序可正常运行
    程序如何运行
    来看一下这段代码:

    #include<stdio.h>
    int main()
    {
        int a;
        scanf("%d",&a);  
        if(a=1) {
    		printf("if---%d\n",a);
    	} else { 
    		printf("else---%d\n",a);
    	}
        return 0;
    }
    

    如果我输入2,程序会输出什么?
    2
    if—1
    如果我输入0,程序会输出什么?
    2
    if—1

    不管输入什么都会进入if,而且输出的a最后都是if语句中赋值的值了,这是怎么回事?
    很明显,如果if语句里面是赋值语句的话,是执行赋值语句,再将赋值语句的最后结果作为判断条件,看是否要进入if语句。

    看一下下面的代码:

    #include<stdio.h>
    int main()
    {
        int a;
        scanf("%d",&a);  
        if(a=0) {
    		printf("if---%d\n",a);
    	} else { 
    		printf("else---%d\n",a);
    	}
        return 0;
    }
    

    赋值为0后,不论你输入什么都是进入else语句了~

    例题:

    #include<stdio.h>
    int main()
    {
    	int a=0,y=10;
    	if(a=0)
    		y--;
    	else if(a>0)
    		y++;
    	else
    		y+=y;
    	printf("%d",y);
    	scanf("%d",&a);
    
    }
    

    这道题答案为20,代码执行else语句

    展开全文
  • 3.2 赋值语句;3.2 赋值语句;PowerPoint 演示文稿;PowerPoint 演示文稿;PowerPoint 演示文稿;3.3.1 printf函数;2. printf函数常用的;2数据类型修饰符;例3.2 在printf函;输出实型数据所占的宽度; 输出数据的精度;4...
  • C/C++中赋值语句的返回值问题

    千次阅读 2015-06-17 09:18:51
    一直以为C/C++中赋值语句的返回值是1(成功赋值)或者0(赋值出错),刚才在看书时发现书中有如下语句: while ((len = getline(line, MAXLINE)) > 0)  意思是将(输入)行的长度赋给变量len...

    C/C++中赋值语句的返回值问题


    一直以为C/C++中赋值语句的返回值是1(成功赋值)或者0(赋值出错),刚才在看书时发现书中有如下语句:


    1. while ((len = getline(line, MAXLINE)) > 0)  


    意思是将(输入)行的长度赋给变量len,然后判断该长度是否大于0(即是否有正确的行输入,这里把仅有换行符的行长度定义为1),如果大于0则进入while循环体内,我感觉这样的语句会出错,因为赋值语句:


    1. (len = getline(line, MAXLINE))  


    可能会恒返回1,但是程序却正常执行了,并显示了正确的结果,于是我发现自己对赋值语句的返回值问题有误解,于是写了如下几行代码:


    1. #include <stdio.h>  
    2. int main()  
    3. {  
    4.     int a;  
    5.     printf("%d\n",(a = 3));  
    6.     printf("%d\n",a);  
    7. }  


    才发现原来赋值语句的返回值是所赋的值,于是在C/C++中,就可以有如下的连续赋值语句:


    1. b = a = 10;  




    ====================================

    C语言赋值语句执行后返回数值不?

    2008-07-31 16:05 文刀舍予 分类:C/C++ | 浏览 2860 次
    比如b=(c=3)
    有没有意义?
    我也试验了,都是3,你俩是干什么吃的?我晕~~~~~~~~~~~
    2008-07-31 16:56 提问者采纳
    赋值运算返回左值
    即A=(表达式),返回值为A
    所以c=3返回值为c,此时c为3
    然后再b=c,因此b也为3
    参考:

    赋值语句 返回值 谷歌

    展开全文
  • #c语言if条件可不可以使用赋值语句

    千次阅读 2019-09-11 16:17:57
    #include<stdio.h> int main(void) { int a; scanf("%d",&a); if(a=1) printf(“赋值语句可以用在if条件”); }
  • 第2讲 C语言 赋值语句

    千次阅读 2019-05-19 13:34:43
    第2讲 赋值语句 一、赋值语句 1、一般赋值语句 语法:〈变量名〉=〈表达式〉 例如:x=b*b-4*a*c BookPrice=128/5.6 功能:将右边的表达式的值赋给左边的变量。 2、特殊赋值语句 语法:〈expr1〉〈op〉=...
  • C++赋值语句和输入输出语句

    千次阅读 2018-11-27 08:37:45
    赋值语句=  “=”符号跟数学上的“等于”是不同的  a=a+5 数学上是不成立的,意思是将变量a+5的值赋值给a   =作用是把等号右边的值或者表达式的值赋给左边的变量 输入输出语句: cin,cout:  cin从键盘上...
  • 【教程】C++-赋值语句

    千次阅读 2019-11-10 10:14:27
    赋值语句的使用,要注意以下几点: 由于赋值变量符(=)右边的表达式也可以是赋值表达式。因此,下述形式 变量=(变量=表达式); 是成立的,从而形成嵌套的情形。展开后的一般形式为 变量=变量=···=表达...
  • if语句里面如果是赋值语句

    万次阅读 多人点赞 2018-10-09 21:39:23
    我们习惯了向if里面传递布尔值,如果为true就进入if语句;或者传入一个判断语句(表达式a==表达式b);或者传入数值,0为false,其他都为true。等等 初学者很容易在传入判断语句的时候将==写成=,而导致代码失误...
  • 赋值语句的返回值为永真?

    千次阅读 2017-05-06 00:18:44
    今天别人在敲代码时遇到了一点小问题,来问我: for(int i = 10 ; i=10;i++) ... printf(" ");... = = "写成了赋值语句" = "。...以前一直以为是“赋值语句的返回值总为真”。...所以,事实上赋值语句并没有所谓
  • 赋值语句的运用

    2017-11-13 16:56:00
    ``` #include main() { int i,sum=0; for (i=1;i;i=i+2) sum=i; printf("sum=%d\n",sum);} ```知识点:1.for语句后面不能跟分号 2.可以在定义时赋值 心得:写代码是一件需要想太多的事
  • 简单赋值语句

    2015-12-29 10:00:37
    printf("请输入赋值语句:\n"); while((ch = getchar())!='\n') { string[m++]=ch; if(ch=='='||ch=='+'||ch=='-'||ch=='*'||ch=='/') count++; else if(ch=='(') { p[++c]=m-1; } ...
  • 逗号表达式与赋值语句

    千次阅读 2018-06-08 17:03:38
    两种逗号表达式与赋值语句的区别,例如:a=b,c;这个式子的最后的结果a的值是b,因为此时因为逗号低于赋值运算,故b先赋值给a,然后再计算逗号表达式。a=(b,c);这个式子的最后结果a的值是c,因为先算括号内的此时逗号...
  • 当if()语句的()的表达式是赋值语句时,如何判断赋值语句的真假? 解:只有当括号的表达式型为t=0,表达式的值才为假。赋值语句,给变量赋的值是几就返回几。例如,if(t=3),给变量t赋的值是3,则表达式t=3的...
  • 今天碰到了这样的情况,在通过一个类的public方法给它的private成员赋值,结果赋值失败。af和addressfamily都是int型,不存在类型不匹配的问题 class ScanOps{ public: //too many other items void setaf(int af)...
  •  将一个整型变量值赋值给一个布尔型变量,再将一个布尔型变量赋值给整型变量 输入:  一个整型范围内的整数 输出:  一个整数,经过转换后的结果 #include &lt;iostream&gt; using namespace std; ...
  • printf语句也可以给变量赋值

    千次阅读 2007-12-04 21:01:00
    一比较特殊的格式串"%n",使用它可以在printf语句中给变量赋值,示例如下:int len;printf("hello%n", &len);该语句则会给变量len赋上值,其值为%n之前出现的字符数目,即hello的长度。 不过看起来好像没有什么...
  • if()括号里的表达式如果是赋值语句。 非零即真 ,例如 if(a=5) { b=3; c=5; } else d=3; 这个表达式永远没有执行else的机会。将5赋值给a,此时a=5,逻辑表达式为真,执行if语句。 if(a=0) { b=3; c=5; } else d=...
  • 简单判断赋值、条件、循环,代码块开始,结束 二、 实验要求 1.待分析的简单语言的语法 用扩充的EBNF表示如下: 程序块>::= begin{;} end. ::= || ::= IDENT:= ::= if then ::= while do ::= [+|-]{(+|-)} ::= {...
  • 短路运算 赋值永远为真,除了0。
  • if()里面的赋值语句

    千次阅读 2018-12-24 19:00:15
    在javaif里面最终结果必须要是boolean类型,所以可以有赋值语句,但必须是布尔类型之间的赋值,如果是其他类型则会报错。 public class ife { static boolean a ; // 静态方法不能访问非静态变量 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 79,587
精华内容 31,834
关键字:

printf中有赋值语句