精华内容
下载资源
问答
  • 对于++、--运算符,我们应注意以下几点:(1)++、--运算符只能用于变量,而不能用于常量或表达式,例如8++,(x+y)--均是不合法的。(2)++、--运算符是单目运算符,优先级高于双目基本算术运算符,而低于括号( ( ) )...

    对于++、--运算符,我们应注意以下几点:

    (1)++、--运算符只能用于变量,而不能用于常量或表达式,例如8++,(x+y)--均是不合法的。

    (2)++、--运算符是单目运算符,优先级高于双目基本算术运算符,而低于括号( ( ) )运算符,结合性为从右到左。

    (3)++、--运算符的运算对象为字符型、整型、指针型变量或数组元素,运算结果的数据类型同运算对象的类型一致。

    (4)当出现难以区分的若干个“+”或“-”组成运算符串时,C语言规定:从左到右取尽可能多的符号组成运算符。例如,设整型变量a、b的值均为5,则:

    a+++b   应理解为(a++)+b,结果为10,运算后a为6,b不变。

    a---b   应理解为(a--)-b,结果为0,运算后a为4,b不变。

    但如果出现如下形式:

    (a++)+(a++)+(a++)

    表达式的值是多少呢?有的系统按照从左到右顺序求解括弧内的运算,求完第一个括弧的值后,实现a的自加,a值变为6,再依次求第二个、第三个括弧的值,结果表达式相当于5+6+7,即18。而另一些系统(如Turbo c)把5作为表达式中所有a的值,因此3个a相加,得表达式的值为15,在求出整个表达式的值后再实现自加3次,a的值变为8。应该避免出现这种岐义,程序中尽量不要出现这种现象。

    (5)在printf( )函数中,实参数的求值顺序,各系统不一样。在多数系统中对函数的求值顺序是从右到左。例如,i初值为5。

    printf("%d,%d",i,i++);

    输出结果为:

              6,5

    (6)请不要在一个表达式中对同一个变量进行多次诸如i++或++i等运算,例如写成:i++*i++-++i,这种表达式不仅可读性差,而且不同的编译系统对这样的表达式将作不同的处理,因而得到的结果也各不相同。


    简洁的C语言字符串复制函数:

    char *strcpy(char *strDest, const char *strSrc);
    {
    assert((strDest!=NULL) && (strSrc !=NULL));
    char *address = strDest;
    while( (*strDest++ = * strSrc++) != ‘/0’ )
    NULL ;
    return address ;
    }


    assert是当括号里的内容为假时程序报错。
    先*,后++,然后赋值,然后while里面的循环判断比较。
    将*strSrc赋值给*strDest,然后判断是不是已经到达/0(即字符串结尾),同时,执行完赋值后strSrc和strDest指针均后移一位。总的结果即是:将strSrc指向的内容复制到strDest,直到strSrc指向/0.
    /0代表字符串的结束符。

    展开全文
  • (1)++、--运算符只能用于变量,而不能用于常量或表达式,例如8++,(x+y)--均是不合法的。 (2)++、--运算符是单目运算符,优先级高于双目基本算术运算符,而低于括号( ( ) )运算符,结合性为从右到左。 (3)++、--...

    对于++、--运算符,我们应注意以下几点:

    (1)++、--运算符只能用于变量,而不能用于常量或表达式,例如8++,(x+y)--均是不合法的。

    (2)++、--运算符是单目运算符,优先级高于双目基本算术运算符,而低于括号( ( ) )运算符,结合性为从右到左。

    (3)++、--运算符的运算对象为字符型、整型、指针型变量或数组元素,运算结果的数据类型同运算对象的类型一致。

    (4)当出现难以区分的若干个“+”或“-”组成运算符串时,C语言规定:从左到右取尽可能多的符号组成运算符。例如,设整型变量a、b的值均为5,则:

    a+++b   应理解为(a++)+b,结果为10,运算后a为6,b不变。

    a---b   应理解为(a--)-b,结果为0,运算后a为4,b不变。

    但如果出现如下形式:

    (a++)+(a++)+(a++)

    表达式的值是多少呢?有的系统按照从左到右顺序求解括弧内的运算,求完第一个括弧的值后,实现a的自加,a值变为6,再依次求第二个、第三个括弧的值,结果表达式相当于5+6+7,即18。而另一些系统(如Turbo c)把5作为表达式中所有a的值,因此3个a相加,得表达式的值为15,在求出整个表达式的值后再实现自加3次,a的值变为8。应该避免出现这种岐义,程序中尽量不要出现这种现象。

    (5)在printf( )函数中,实参数的求值顺序,各系统不一样。在多数系统中对函数的求值顺序是从右到左。例如,i初值为5。

    printf("%d,%d",i,i++);

    输出结果为:

              6,5

    (6)请不要在一个表达式中对同一个变量进行多次诸如i++或++i等运算,例如写成:i++*i++-++i,这种表达式不仅可读性差,而且不同的编译系统对这样的表达式将作不同的处理,因而得到的结果也各不相同。


    简洁的C语言字符串复制函数:

    char *strcpy(char *strDest, const char *strSrc);
    {
    assert((strDest!=NULL) && (strSrc !=NULL));
    char *address = strDest;
    while( (*strDest++ = * strSrc++) != ‘\0’ )
    NULL ;
    return address ;
    }


    assert是当括号里的内容为假时程序报错。
    先*,后++,然后赋值,然后while里面的循环判断比较。
    将*strSrc赋值给*strDest,然后判断是不是已经到达\0(即字符串结尾),同时,执行完赋值后strSrc和strDest指针均后移一位。总的结果即是:将strSrc指向的内容复制到strDest,直到strSrc指向\0.
    \0代表字符串的结束符。

    源地址:http://hi.baidu.com/lechie/blog/item/469c54101a6420fdc3ce79eb.html

    转载于:https://www.cnblogs.com/weihai2003/archive/2009/10/13/1582602.html

    展开全文
  • 软件编程规范培训实例练习 软件编程规范培训实例练习  问题分类 1 逻辑类问题(A类)-指设计、编码中出现的计算正确性和一致性、程序逻辑控制等方面出现的问题,在系统中起关键作用,将导致软件死机、功能...
  • 设有指向整型变量的指针变量p,如要把整型变量a 的地址赋予p可以有以下两种方式: (1)指针变量初始化的方法 int a; int *p=&a; (2)赋值语句的方法 int a; int *p; p=&a; 不允许把一个数赋予指针变量,故下面的赋值是...
  • 整型变量a和b可以进行求余运算,而实型变量则不允许进行“求余”运算。 3.将字符常量字符串常量混淆。 char c; c="a"; 在这里就混淆了字符常量字符串常量,字符常量是由一对单引号括起来的单个字符,字符串常量...
  • 2-16 已知x、y两个变量,写一条简单的if语句,把较小的的值赋给原本值较大的变量。 解: if (x > y) x = y; else // y > x || y == x y = x; 2-17 修改下面这个程序中的错误,改正后它的运行结果是什么? #include ...
  • 基本信息 原书名:Programming in Objective-C, Fourth Edition ... 对于那些打算将Objective—C作为第一门程序设计语言的初学者来说,本书是非常好的学习资源,这样的书太缺乏了!  ——Pat Hughes  
  • 7、 const的用法,以及声明const变量与宏的区别? 答: const的用法有四种: a): const对象和const类型的对象; b): const指针 和 指向const的指针 及两者结合; c): const 参数修饰 和 参数返回类型的const修饰; ...
  • 17.2.2 引用计数实例变量 337 17.3 自动释放池示例 342 17.4 内存管理规则摘要 344 17.5 垃圾回收 344 17.6 练习 345 第18章 复制对象 347 18.1 copy和mutableCopy方法 347 18.2 浅复制深复制 350 18.3...
  • 但是,算法仅仅给出了一个笼统的实现策略,对于具体的数据类型、运算操作符及优先级情况、怎样支持函数调用、自定义内存变量如何实现等具体问题并无现成的解决方案,需要开发人员自己实际设计相应的算法解决,而这也...
  • 程序经常需要执行重复性操作,为此C++提供了3种循环结构:for循环、while循环和dowhile循环。这些循 环必须知道何时终止,C++的关系操作符使程序员能够创建测试来引导循环。本章还将介绍如何创建逐字符 地读取和...
  • 程序经常需要执行重复性操作,为此C++提供了3种循环结构:for循环、while循环和dowhile循环。这些循 环必须知道何时终止,C++的关系操作符使程序员能够创建测试来引导循环。本章还将介绍如何创建逐字符 地读取和...
  • 程序经常需要执行重复性操作,为此C++提供了3种循环结构:for循环、while循环和dowhile循环。这些循 环必须知道何时终止,C++的关系操作符使程序员能够创建测试来引导循环。本章还将介绍如何创建逐字符 地读取和...
  • 《数据结构 1800题》

    热门讨论 2012-12-27 16:52:03
    WHILE i<n BEGIN FOR j:=1 TO n DO x:=x+1;i:=i*2 END; 13. 下面程序段中带有下划线的语句的执行次数的数量级是( ) 【合肥工业大学 2001 三、1(2分)】 i:=n*n WHILE i<>1 DO i:=i div 2; 14. 计算机执行下面的...
  • while ((sum) & (x)) { x++; sum+=x; } string s2=Convert.ToString(x); MessageBox.Show(s2); } 运行显示 14。 第9页 C#(WINFORM)学习 如果改为 while ((sum) | (x)) 运行显示 20。 多重选择 switch (i) { case ...
  • 1.31 对于没有显式初始化的变量的初始值可以作怎样的假定?如果一个全局变量初始值为“零”,它可否作为空指针或浮点零? 1.32 下面的代码为什么不能编译? intf(){char a[]="Hello, world!";} 1.33 下面的初始化有...
  • 1.31 对于没有显式初始化的变量的初始值可以作怎样的假定?如果一个全局变量初始值为“零”,它可否作为空指针或浮点零? 1.32 下面的代码为什么不能编译? intf(){char a[]="Hello, world!";} 1.33 下面的初始化有...
  • 1.31 对于没有显式初始化的变量的初始值可以作怎样的假定?如果一个全局变量初始值为“零”,它可否作为空指针或浮点零? 47 1.32 下面的代码为什么不能编译? intf(){char a[]="Hello, world!";} 47 *1.33 下面的...
  • 1.31 对于没有显式初始化的变量的初始值可以作怎样的假定?如果一个全局变量初始值为“零”,它可否作为空指针或浮点零?  1.32 下面的代码为什么不能编译?intf(){chara[]="Hello,world!";}  *1.33 下面的初始...
  • 初始化 1.31 对于没有显式初始化的变量的初始值可以作怎样的假定?如果一个全局变量初始值为“零”,它可否作为空指针或浮点零? 1.32 下面的代码为什么不能编译?intf(){chara[]="Hello,world!";} *1.33 下面...
  • 1.31 对于没有显式初始化的变量的初始值可以作怎样的假定?如果一个全局变量初始值为“零”,它可否作为空指针或浮点零? 1.32 下面的代码为什么不能编译?intf(){chara[]="Hello,world!";} *1.33 下面的初始化有...
  • 《你必须知道的495个C语言问题》

    热门讨论 2010-03-20 16:41:18
    1.31 对于没有显式初始化的变量的初始值可以作怎样的假定?如果一个全局变量初始值为“零”,它可否作为空指针或浮点零? 18  1.32 下面的代码为什么不能编译? intf(){char a[]="Hello, world!";} 18 *1.33 ...
  • 1.31 对于没有显式初始化的变量的初始值可以作怎样的假定?如果一个全局变量初始值为“零”,它可否作为空指针或浮点零? 18  1.32 下面的代码为什么不能编译? intf(){char a[]=Hello, world!;} 18 *1.33 下面...
  • 数据结构(C++)有关练习题

    热门讨论 2008-01-02 11:27:18
    9、 已知f为单链表的表头指针,链表中存储的都是整型数据,试写出实现下列运算的递归算法: a. 求链表中的最大整数; b. 求链表的结点个数; c. 求所有整数的平均数; 告要求: 写出能运行的完整...
  • c# 加密和解密相关代码

    热门讨论 2011-09-06 11:04:59
    文件加密可以避免造成重要信息的泄漏,复杂的加密算法可以将信息加密得非常繁杂,但是对于一般的应 用,没有必要作类似于PGP、RSA 或DES 等复杂的加密算法。本实例介绍如何使用ROT13 算法加密和解密数 C#开发实战...

空空如也

空空如也

1 2
收藏数 26
精华内容 10
关键字:

对于整型变量x与while