欢迎光临散文网 会员登陆 & 注册

【计算机二级】C语言程序设计2022年3月计算机等级考试二级通关课程

2022-03-10 20:34 作者:小白求学家  | 我要投稿



3.2 数据输出 P13 - 14:30

%m.nf

  • %m.nf的含义是对输出值进行位数取舍,具体取舍方式为小数点前面的位数为m-n-1(位数不足时在最高位加上相应数量空格),小数点后面保留n位(不会四舍五入).
  • 需要注意的是,%m.nf中的m必须大于n


3.2 数据输出 P13 - 18:18


scanf函数注意事项

  • scanf函数中的所有非转义字符必须原样输入
  • 例如:对于scanf("input:%d",&a),如果要输入一个值10给a,在输入时就必须加上非转义字符input:,即input:10

四舍五入

  • 要想做到四舍五入,需要用到强制类型转化(int),例如:小数位第3位的取整 (int)(x*1000+0.5)/(double)1000

复合运算符

  • 复合运算符是对符号右边的自变量进行的运算
  • x%=a ==> x=x%a
  • x+=a ==> x=x+a
  • x-=a ==> x=x-a
  • x*=a ==> x=x*a
  • x/=a ==> x=x/a


3.4 程序举例 P15 - 20:33


  • 关于输出格式,允许出现混用的情况即double型数值可以输出为float型,输入则不允许出现混用


3.4 程序举例 P15 - 22:52



  • 注释语句不能嵌套



操作:顺序结构选择题讲解(1) P16 - 05:40


此题易错项为D,因为操作者会误以为x++,y++,++y会先后影响z的取值。实际上,因为赋值运算符的优先级高于逗号运算符,因此将x++赋值给z后z=x++就看成一个整体,y++,++y对z的值不会再产生影响。如果要达到D选项的结果,就需要将程序的第4行改为z=(x++,y++,z++).


操作:顺序结构选择题讲解(1) P16 - 08:21


存储

整型数存放在实型变量中时,会自动将整型数转化为实型数。例如

float a;

a=10;

中的10在储存单元中以实型的形式10.000000存储在实型变量a中

优先级

  • 逗号运算符的优先级最低
  • 赋值运算符仅仅比逗号运算符高一点(需要注意的是复合赋值运算符的优先级和赋值运算符一样)


case是关键字,不能拿来定义




操作:顺序结构选择题讲解(1) P16 - 22:38


这道题的答案选D,关于选项中的空格,老师的解释是在C语言中输入时对空格的管控不是很严格,可以自己再好好看一下相关视频,再加深一下印象


操作:顺序结构选择题讲解(1) P16 - 23:48



操作:顺序结构选择题讲解(1) P16 - 23:49


这个题可以和上面的例题联系在一起看,在上一个例题中老师给出的解释是c语言中输入时对空格的管控不严格,但在下面这道题中老师却说空格影响了最后a,b的值。看似相互矛盾,当我对比这两道题后发现上面的题中scanf函数的双引号中含有逗号,下面的题中的scanf函数中双引号中不含有逗号。以此我推断逗号时分隔数据的关键,当scanf函数中用逗号来分隔时,输入数据时数据的分隔以逗号为准,此时空格不会影响数据的存储;当输入数据时没有逗号等明显的分隔符号时,空格会充当分隔数据的作用


操作:顺序结构选择题讲解(1) P16 - 25:18



%nd的含义是取n位数


scanf的输入问题(以输入数字6和7为例)

  1. scanf("%d,%d",&a,&b) ==> 在输入时应该为 6,7
  2. scanf("%d;%d",&a,&b) ==> 在输入时应该为 6;7
  3. scanf("%d%d",&a,&b) ==> 在输入时应该为 6 7

应该注意的是,对于1和2中的scanf函数中空格不会影响存储的a,b的值,即" 6 , 7 与6,7的效果是一样的".


【计算机二级】C语言程序设计2022年3月计算机等级考试二级通关课程的评论 (共 条)

分享到微博请遵守国家法律