首页 考试吧论坛 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 数据类型转换

  6.条件运算符

  条件运算是一个三目运算,有三个运算对象。条件运算的一般形式为

  表达式1?表达式2:表达式3

  条件运算的计算规则是:

  (1)计算表达式1的值;

  (2)如果表达式1的值非0(真),则计算表达式2,并以表达式2的值为条件运算的结果(不再计算表达式3);

  (3)如果表达式1的值为0(假),则计算表达式3,并以表达式3的值为条件运算的结果(不再计算表达式2)。

  例如,表达式

  X>y?X:y

  如果x>y条件为真,则条件运算取x值,否则取y值。

  条件运算符(?:)的优先级高于赋值运算符,低于逻辑运算符,也低于关系运算符和算术运算符。例如,表达式

  max= X> y?X: y+ l

  等效于表达式

  max=((x>y) ?x:( y+l))

  条件运算符的结合性为“自右至左”。例如,表达式X>y?X:u>V?u:V

  等效于表达式

  X>y?X:(u>V?u:V)

  7.长度运算符

  长度运算以字节为单位给出其运算对象所需(或所占)的字节数,运算对象可以是任何类型的数据对象或数据类型。它是根据对象的类型来确定对象(所需)的字节数的。

  长度运算有两种书写形式:

  sizeof变量名或sizeof(类型名)

  如果有某种类型为江的变量V,其中t可以是系统提供的类型或用户自己定义的类型,可以是简单的,也可以是数组、结构等。则 sizeof V就是变量 V所占的字节数。如有

  int j;

  double x;

  表达式sizeof j和sizeOf x分别是变量j和x所占的字节数。

  sizeof(t)是系统为分配一个类型为t的数据对象所需的字节数。如sizeOf(int)和sizeof(dou-ble)分别是系统为分配一个类型为int和double变量所需的字节数。

  8.位运算符

  位运算的运算对象只能是整型或字符型数据,位运算把运算对象看作是由二进位组成的位率信息,按位完成指定的运算,得到位串信息的结果。位运算符又可分成两类:一类是位逻辑运算符,另一类是位移位运算符。

  位逻辑运算符有:&(按位与)、|(按位或)、^(按位异或)、~(按位取反)

  位移位运算有:<<(位左移)和>>(位右移)

  其中按位取反运算符是单目运算符。其余均为双位运算符。位逻辑运算符的优先级从高到低,依次为~、&、^、|、,其中的结合方向自右至左,且优先级高于算术运算符,其余运算符的结合方向都是自左至右 ,且优先级低于关系运算符。位移位运算符的优先级低于算术运算符,高于关系运算符,它们的结合方向是自左至右。

  按位与运算符(&)

  按位与运算将将两个运算对象的对应位按位遵照以下规则进行计算:

  0&0=0, 0&l=0,1&0=0,1&l=1

  即同为一的位,结果为1,否则结果为0。

  例如,设 3的内部表示为00000011,5的内部表示为00000101,则3&5的结果为00000001 按位与运算有两种典型用法。一是取一个位率信息的某几位,如以下代码截取。的最低7位、&0177t二是让某变量保留某几位,其余位设置成0,如以下代码让X只保留最低6位:x=X&077、以上用法都先要设计好一个常数,该常数只有需要的位是互,不需要的位是 0。用它与指定的位串信息按位与。

  按位或运算符(|)

  按位或运算将两个运算对象的对应位按位遵照以下规则进行计算:

  0|0=0, 0|l=1, 1|0=l, 1|1=1

  即只要有五个是1的位,结果为1,否则为0。

  例如,023|035结果为037。

  按位或运算的典型用法是将一个位串信息的某几位设置成1。如将要获得最右4位为1,其它位与变量j的其它位相同,可用逻辑或运算 017|j。若要把这结果赋给变量 j,可写成:

  j=017|j

  按位异或运算符(^)

  按位异或运算将两个运算对象的对应位按位遵照以下规则进行计算:

  0^0= 0, 0^1=l, l^0=l, 1^l=0

  即相应位的值相同的,结果为0,不相同的结果为l。

  例如,013^035的结果为026。

  异或运算的意思是求两个运算对象相应位值是否相异,相异的为1,相同的为0。按位异或运算的典型用法是求一个位串信息的某几位信息的反。如欲求整型变量j的最右4位信息的反,用逻辑异或运算017^j,就能求得j最右4位的信息的反,即原来为1的位,结果是0;原来为0的位,结果是1。

  按位取反运算符(~)

  按位取反运算是单目运算,用来求一个位串信息按位的反,即那些为0的位,结果是1;而那些为1的位,结果是几例如,~7的结果为0xfff8。取反运算常用来生成与系统实现无关的常数。如要将变量X最低6位置成0,其余位不变,可用代码 X= X&~077实现。以上代码与整数 X用 2个字节还是用 4个字节来实现无关。

  当两个长度不同的数据进行位运算时(例如 long型数据与 int型数据),将两个运算对象的右端对齐进行位运算。如果短的数为正数,高位用0补满;如果短的数为负数,高位用1补满。如果短的为无符号整数,则高位总是用0补满。

  位运算用来对位串信息进行运算,得到位串信息结果。如以下代码能取整型变量k的位串信息的最右边为亚的信息位:((k-l)^k)&k。

  位左移运算符(<<)

  位左移运算符用来将左运算对象(整型或字符型数据)作为二进位信息串作整体向左移动,移动的位数由右运算对象指定,右端空出的位用0补充,得到新的位申信息。例如014<<2,结果为060,即48。

  位右移运算符(>>)

  位右移运算将一个位串信息向右移指定的位,右端移出的位的信息被丢弃。例如12>>2,结果为3。与左移相反,对于小整数,每右移1位,相当于除以人在右移时,需要注意符号位问题。对无符号数据,右移时,左端空出的位用0补充。对于带符号的数据,如果移位前符号位为刚正数),则左端也是用0补充;如果移位前符号位为1(负数),则左端用0或用1补充,这取决于计算机系统。对于负数右移,称用0补充的系统为“逻辑右移”,用1补充的系统为“算术右移”。以下代码能说明读者上机的系统所采用的右移方法:

  printf(”%d\n\n\n”,-2>>4);

  者输出结果为一l,是采用算术右移;输出结果为一个大整数,则为逻辑右移。

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