【说明】
这是真题分类解析,比较经典。为了节省时间,提高效率,希望大家按这样一种方式阅读
这份资料:
直接做例题
不懂,看解析
再不懂,看知识点介绍,书本,课堂笔记
再不懂,留着下次课问我
不要从头开始,一个字一个字地读
全国计算机等级考试二级C语言考前复习资料
第二章 运算符与表达式
1.知识点:C运算符简介
算术运算符: +、—、*、/、%
赋值运算符: =、+=、—=、*=、/=、%=、<<=、>>=、 &=、 ^=、 |=
关系运算符: >、>=、
逻辑运算符: !、&&、||
条件运算符: ?:
逗号运算符: ,
2.知识点:运算符的结合和优先级
3.知识点:强制类型转换运算符
一般形式:(类型说明符)(表达式)
功能:把表达式的运算结果强制转换成类型说明符所表示的类型
例1:(2009-04-06)表达式(int)((double)(5/2)+2.5)的值是4。
【解析】(int)((double)(5/2)+2.5)→ (int)((double)2)+2.5)→ (int)(2.000000+2.5)→
(int)(4.500000) →4。
4.知识点:算术运算符: +、—、*、/、%
%:参与运算的量均为整型。
/:当除号左右两边都是整数的时候,商也要是整数,如果不是整数则舍弃小数部分。当参
与运算量有一个为实型,则商为double型。
例1:(2010-09-14)有以下定义:int ;longb;doublex,y;则以下选项中正确的表达式
是(A)
A)a%(int)(x-y) B)a=x!=y; C)(a*y)%b D)y=x+y=x
【解析】参与%运算的左右操作数均为整型,故A项正确,C项错误。B项是赋值语句,不
是表达式。赋值运算符左边必须是变量,而不是表达式,而D项中x+y=x,错误。
5.知识点:逗号表达式
一般形式:表达式1,表达式2
嵌套形式:表达式1,表达式2,表达式3,…表达式n
求值过程:先求解表达式1,再求解表达式2,以表达式2的值为整个逗号表达式的值。
例 1:(2009-04-14)设有定义:int x=2;以下表达式中,值不为6的是(D)
A)x*=x+1 B)x++,2*x C)x*=(1+x) D)2*x,x+=2
【解析】A项x=x*(x+1)=2*(2+1)=6;B项x++后,x 的值为3,2*x 的值为6,整个逗号表达
式的值为6;C项x=x*(1+x)=2*3=6;D项x=x+2=2+2=4,整个逗号表达式的值为4。故答
案是D。
6.知识点:自增自减运算符
++i i 自加1后再参与运算
i++ i参与运算后再自加1
--i i 自减1后再参与运算
i-- i参与运算后再自减1
++和- -的运算对象只能为变量,不能是常量或表达式。
例 1:(2009-09-06)若有定义语句:int a=5;则表达式:a++的值是 5 。
【解析】表达式a++的值是 未加1之前的值,即5。.
7.知识点:赋值表达式
一般形式:变量名=表达式
赋值运算符左边必须是变量,而不是表达式。
例 1:(2010-03-14)若有定义:double a=22;int i=0,k=18;则不符合C语言规定的赋值
语句是( C)
A)a=a++,i++; B)i= (a+k)<=(i+k); C)i=a%11; D)i=!a;
【解析】为double型,参与%运算的操作数均为整型,故C项错误。
复合赋值运算符和表达式
+=、—=、*=、/=、%=、<<=、>>=、 &=、 ^=、 |=
例2:(2010-09-16)表达式a+=a-=a=9的值是(D)
A)9 B)-9 C)18 D)0
【解析】赋值运算符的结合性是从右到左,a=9→a=a-9=0→a=a+0=0+0=0。故答案是D。
第三章 顺序结构
1.知识点:格式输入函数printf()
(1)一般形式:printf(“格式控制字符串”,输出列表);
(2)遇到控制字符,按照控制字符的规定输出,遇到非格式字符串按原样输出。
例1:(2009-04-07)若变量x,y 已定义为int类型且x 的值为