南师大 c语言易错易考点

南师大 c语言易错易考点

ID:15102235

大小:86.00 KB

页数:14页

时间:2018-08-01

南师大 c语言易错易考点_第1页
南师大 c语言易错易考点_第2页
南师大 c语言易错易考点_第3页
南师大 c语言易错易考点_第4页
南师大 c语言易错易考点_第5页
资源描述:

《南师大 c语言易错易考点》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C语言笔试易错考点作者按:虽然了解以下的知识对于你的编程能力基本不会有什么提高,但我们希望体现的是研究一门学问时的细心和专注。作为程序设计的入门语言C,如果你在学习时能很留意这些细节的知识点,那么可以预测你在将来漫长的计算机学习过程中也会很顺利的。1.关于条件表达式。形如:逻辑表达式?表达式1:表达式2。逻辑表达式的值若为非零(真),则条件表达式的值等于表达式1,若逻辑表达值的值为零(假),则条件表达式的值等于表达式2的值。特别要注意的是条件表达式的结合方向是从右向左结合的。例:与y=(x>0?1:x<0?-1:0);的

2、功能相同的if语句是:  if(x>0)y=1;  elseif(x<0)y=-1;      elsey=0;解:y=(x>0?1:x<0?-1:0)与y=(x>0?1:(x<0?-1:0))等价。2.关于赋值表达式,将赋值号"="右侧表达式的值赋给赋值号左边的变量。赋值表达式的值为执行赋值后被赋值的变量的值。形如a=b,b会被转换为符合a的类型,如果不能转换,要么报警告,要么报错。赋值表达式也是从右向左结合的。例:下列选项中,不正确的赋值语句是__C__A)++t          B)n1=(n2=(n3=0))C

3、)k=1=j        D)a=b+c=1解:C选项里先执行的是右结合的1=j显然错误,注意B选项是以赋值表达式赋值,是正确的,其整个表达式最终的值是0。3.关于逗号表达式,顺序求(表达式1,表达式2……表达式n)的值,则整个表达式的类型和值都为表达式n的值。例:设有以下定义:main(){  intx=10,y=3,z;  printf("%d",z=(x%y,x/y));}输出结果是__3__4.关于实型表达式,只要表达式中有一个运算量是实型(float或double),运算过程中所有的运算量都要转换为dou

4、ble型,表达式的结果也为实型。其余类似,即往宽的地方转换。如果两个整形值相除,其结果被截尾取整,如果该操作数是负数,则截断的方向并无规定。例:若已定义X和Y为double型,则表达式:x=1,y=x+3/2的值是__C__A)1                  B)2C)2.0              D)2.5解:'/'的优先级较高,所以先算3/2,这是两个整形相除,结果是1,而不是1.5。然后算x+1,因为x是double型,所以整形的运算量1要转换为double型,最终结果为double型。5.形如a+=x的

5、表达式的等价于a=a+x。例:设inta=12,则执行完语句a+=a-=a*a后,a的值是__-264___解:赋值表达式的结合顺序是从右向左结合的。先执行a-=a*a,即a=a-a*a,在这一步时a=12-12*12,即a=-132再执行a+=,即a=a+a,在这一步时a=-132+(-132),所以a=-2646.常用字符ASCII码:'0'——48,'9'——57,'A'——65,'a'——97,''或'00'——0(代表空操作字符,同时也是字符串的结束标记),小写字母比大写字母的ASCII码大,两者相差3

6、2。例:若有以下定义和语句:  charc1='b',c2='e';printf("%d,%c",c2-c1,c2-'a'+'A');则输出结果是___B___A)2,M    B)3,EC)2,e    D)输出结果不确定7.a++就是将a的值先用作表达式的值,然后a的值再加1,++a是先将a的值加1,然后再将a的值作为表达式的值。例1:main(){  inta=10;  inti;  i=a+++++a+a+++++a;printf("i=%d,a=%d",i,a);}问i=多少,a=多少?解:这题的答案是

7、不确定的,a=14,但i根据编译器的不同或者等于45,或者等于48。例2:两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是__7和5__main(){  intx;  scanf("%d",&x);  if(x++>5)      printf("%d",x);  else      printf("%d",x--);}8.各类运算符的优先级别:详细请看谭老的《C程序设计(第二版)》的P375页。初等运算符(括号加结构体运算符)>单目运算符(注意逻辑非运算符!它是除初等运算符外具有最高优先级别的)>算术运

8、算符(先乘除模,后加减,再移位)>关系运算符>逻辑运算符(&&,

9、

10、,不包括!)>条件运算符(唯一一个三目运算符,即?:)>赋值运算符>逗号运算符>(即顺序求值运算符)例:以下十个运算符+!<

11、

12、%中优先级别最高和最低的分别是____!____和____,____。9.static的作用。l    

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。