首页 考试吧论坛 Exam8视线 考试商城 网络课程 模拟考试 考友录 实用文档 求职招聘 论文下载
2011中考 | 2011高考 | 2012考研 | 考研培训 | 在职研 | 自学考试 | 成人高考 | 法律硕士 | MBA考试
MPA考试 | 中科院
四六级 | 职称英语 | 商务英语 | 公共英语 | 托福 | 雅思 | 专四专八 | 口译笔译 | 博思 | GRE GMAT
新概念英语 | 成人英语三级 | 申硕英语 | 攻硕英语 | 职称日语 | 日语学习 | 法语 | 德语 | 韩语
计算机等级考试 | 软件水平考试 | 职称计算机 | 微软认证 | 思科认证 | Oracle认证 | Linux认证
华为认证 | Java认证
公务员 | 报关员 | 银行从业资格 | 证券从业资格 | 期货从业资格 | 司法考试 | 法律顾问 | 导游资格
报检员 | 教师资格 | 社会工作者 | 外销员 | 国际商务师 | 跟单员 | 单证员 | 物流师 | 价格鉴证师
人力资源 | 管理咨询师考试 | 秘书资格 | 心理咨询师考试 | 出版专业资格 | 广告师职业水平
驾驶员 | 网络编辑
卫生资格 | 执业医师 | 执业药师 | 执业护士
会计从业资格考试会计证) | 经济师 | 会计职称 | 注册会计师 | 审计师 | 注册税务师
注册资产评估师 | 高级会计师 | ACCA | 统计师 | 精算师 | 理财规划师 | 国际内审师
一级建造师 | 二级建造师 | 造价工程师 | 造价员 | 咨询工程师 | 监理工程师 | 安全工程师
质量工程师 | 物业管理师 | 招标师 | 结构工程师 | 建筑师 | 房地产估价师 | 土地估价师 | 岩土师
设备监理师 | 房地产经纪人 | 投资项目管理师 | 土地登记代理人 | 环境影响评价师 | 环保工程师
城市规划师 | 公路监理师 | 公路造价师 | 安全评价师 | 电气工程师 | 注册测绘师 | 注册计量师
缤纷校园 | 实用文档 | 英语学习 | 作文大全 | 求职招聘 | 论文下载 | 访谈 | 游戏
您现在的位置: 考试吧(Exam8.com) > 软件水平考试 > 复习资料 > 程序员资料 > 正文

计算机软考程序员备考:程序设计知识点(2)

来源:考试吧Exam8.com) 2010-1-29 15:00:56 考试吧:中国教育培训第一门户 模拟考场
本文为“计算机软考程序员备考:程序设计知识点”以供广大学员参考使用。更多关于计算机软件水平考试资料,请访问考试吧计算机软件水平考试频道。
第 1 页:2.1 C语言的数据类型
第 2 页:2.2 常量
第 3 页:2.3 变量
第 4 页:2.4 运算符1
第 5 页:2.4 运算符2
第 6 页:2.4 运算符3
第 7 页:2.5 表达式
第 8 页:2.6 数据类型转换

  3.逻辑运算符

  用于逻辑运算的逻辑运算符有三个:

  &&(逻辑与)、||(逻辑或)、!(逻辑非)

  其中运算符“&&”和“||”是双目运算符,要求有两个整型或字符型的运算对象,用于连接多个判定条件,构成更复杂的条件判定;运算符“!”是单目运算符,用于描述对给定条件的否定判定。

  逻辑运算产生的结果也只能是1或0。 1表示逻辑运算结果为“真”;用0表示运算结果为“假”。

  在判定一个运算对象的值为“真”或“假”时,以运算对象的值不等于零为“真”,运算对象的值等于0为“假”。

  逻辑运算符中,按优先级排列为:逻辑非运算符!的优先级高于逻辑与运算符&&,逻辑与运算符&&的优先级高于逻辑或运算符||。另外,&&和||的优先级低于关系运算符的优先级;!的优先级高于算术运算符的优先级。逻辑运算符||和&&的结合方向是自左至右,而逻辑运算符!的结合方向是自有至左。

  需要特别指出的是,“逻辑与”和“逻辑或”运算符分别有以下性质:

  a&&b,仅当a为0时,不管b为何值(实际上不再计算b),结果为0。

  a||b,仅当 a为 1时,不管 b为何值(实际上不再计算 b),结果为1。

  上述性质就是说,对于表达式a&&b,仅当子表达式a为非零时,才计算子表达式b;对于表达式a||b,仅当子表达式a为0时,才计算子表达式b。在具体编写程序时,也应利用以上性质。对于两个条件的逻辑与,如当条件1不成立情况下,条件2的值没有意义或不可计算时,逻辑表达式应写成:

  条件l&&条件2

  避免在条件1不成立情况下,计算条件2。如有条件:y/x>2且 x!=0,应写成: x!=0 && y/x>2

  当X为0时,不会计算y/X。而写成:

  y/X>2 && X!=0

  是不正确的,因为当 X为0时,不能计算y/X。对于逻辑或也有类似情况。

  由于上述性质,在计算连续的逻辑与和逻辑或运算时,实际上不分优先级,而是顺序从左至右计算。在计算逻辑与运算时,若有左运算对象的值为0,则不再继续计算逻辑与运算,并立即以0为逻辑与运算的结果;在计算逻辑或运算时,若有左运算对象的值为1,则不再继续计算逻辑或运算,并立即以1为逻辑或运算的结果。在顺序计算逻辑表达式的过程中,一旦确定了表达式的最终结果,就不再继续计算。

  4.赋值运算符

  赋值运算的最简单形式是

  变量=表达式

  其中“=”是赋值运算符。赋值运算的执行过程是:

  (l)先计算赋值运算符右端的表达式;

  (2)如表达式的类型与赋值运算符左边的变量类型不同(仅限于基本类型),将表达式值的类型自动转换成变量的类型;

  (3)将求得的值赋给变量,即存储到由变量所占的内存中。

  简单地说,计算表达式的值,将该值赋给变量。

  赋值运算也有结果,经赋值运算后,赋值表达式具有赋值后赋位运算符左边变量同样的类型和值。因赋位运算有值,所以可以进一步参与运算,特别是可以再赋植给其它变量。赋值运算符的结合性是‘边有至左”的,当连续有多个赋值运算时,则从右至左逐个赋值。如有变量定义:

  int k; double x;

  则赋值表达式:

  x= k= 3.5

  是先将实数3.5自动转换成整数3赋给整型变量k,然后又将整数3自动转换成实数3.0赋给实型变量X。所以,k的值是3,X的值是3.0。

  在程序中,经常遇到在变量当前值的基础上作某种修正的运算。如

  x=x+5.0

  这类运算的特点是:变量既是运算对象,又是赋值对象。为避免对同一存储对象的地址重复计算,C语言弓队复合赋值运算符。它们是

  +=、-=、*=、%=、〈〈=、〉〉= 、&= 、^=、|=

  通常,记日为某个双目运算符,复合赋值运算

  xθ=e

  其等效的表达式为

  x= xθ(e)

  注意,当e是一个复杂表达式时,等效表达式的括号是必需的。如

  y*= a+b

  的等效表达式是y= y*(a+b)

  赋值运算符和所有复合赋值运算符的优先级全相同,并且都是“自右至左”结合,它们的优先级高于远号运算符的优先级,低于其它所有运算符的优先级。

  5.逗号运算符

  逗号运算符“,”用于将若干表达式连接起来顺序地逐个计算。连续返号运算的一般形式为:

  表达式1,表达式2,…,表达式n

  它的计算顺序是从左到右逐一计算各表达式,并以表达式n的值为连续逗号运算的结果。例如,表达式

  x=( i=3, i*2)

  使i等于3,X等于6。其实,逗号运算只是把多个表达式串联起来,在许多情况下,使用逗号运算的目的只是想分别计算各个表达式的值,而并非想使用逗号运算中最后那个表达式的值。逗号运算最常用于for结构中,用于给多个变量登初值,或用于对多个变量的值逐一修改等。逗号运算符的优先级最低,其结合性是“自左向右”的。

上一页  1 2 3 4 5 6 7 8 9 下一页
  相关推荐:计算机软考程序员备考:程序设计知识点(1)
       2009年下半年计算机软考试题答案及解析专题
       2010年计算机软件水平考试工作安排详情(全年)
文章搜索
软件水平考试栏目导航
版权声明:如果软件水平考试网所转载内容不慎侵犯了您的权益,请与我们联系800@exam8.com,我们将会及时处理。如转载本软件水平考试网内容,请注明出处。