• 2017-2018-1 20179226 《从问题到程序》第3周学习总结


    教材学习知识点总结

    • 变量的命名除了不能用关键字作为变量外,可以用任何标识符作为变量名。
    • 将关键字void放在函数头部写返回值类型的位置,就表示定义的是一个不返回值的函数。
    • 关系表达式成立时求出的值是1,关系不成立时值是0,关系运算符优先级低于所有算术运算符。
    • for语句中缺第一个或第三个表达式表示不做那部分动作,缺第二个表达式表示循环条件为1,也就是一个条件始终为真的循环。这种循环不会因为条件检测而终止。
    • .for循环中,for(i=1;i<=20;i++)和for(i=1;i<=20;++i)程序意义不会改变,提倡使用++i。
    • 逗号运算符是优先级最低的运算符,形式为:表达式1,表达式2。例如:for(sum=0,n=1;n<=100;n++)
    • enum定义只能定义表达整数的常量,比如NUM=10;。
    • scanf语句必须有&,且不会做值的类型转换
    • printf中double类型对应的是%f,scanf中double类型对应的是%lf。
    • putchar()把一个字符送到标准输出。getchar()是无参函数,典型使用是n=getchar()例如:
    c=getchar();
    putchar(c);
    
    • 变量有四个属性:变量的名字,变量的类型,变量的存储位置和变量的值。
    • 每个else部分总属于前面最近的那个缺少对应的else部分的if语句。
    • 几个问题:
      1.5>=3>=2输出的值是0。
      2.n=4;n++,m=++n;n的值是6。
      3.n=3;m=(n++>2)?n+5:n-1;最后n的值是4,m的值是9。

    教材学习中的问题和解决过程

    • 问题1:while()语句如果是while(1<=x<=2)可不可以?
    • 问题1解决方案:while(1<=x<=2)等价于while(1<=(x<=2));所以,只要x<=2成立,结果就是真1<=1必然也成立。要想满足要求的话将while(1<=x<=2);修改成while(x>=1&&x<=2);就好了。
    • 问题2:for(sum=0,i=1;i<=100;i++,sum += n*n);为什么有两个逗号?
    • 问题2解决方案:逗号表达式并不是只能有两个表达式,可以有n个,取最后一个的值为整个表达式的值。
    • 问题3:void main()和int main(void)的区别
    • 问题3解决方案:main后面的括号是参数表的意思,空括号则表示main没有参数。实际上main是程序的入口点,所有执行代码的起点。
      1)区别是main()函数是否有返回值。
      2)void定义的函数没有返回值,int定义的函数返回整型值。
      3)void,字面意思是“无类型”,常用在程序编写中对定义函数的参数类型、返回值、函数中指针类型进行声明,有注释和限制程序的作用。
    • 问题4:变量名的命名规则书上说变量的命名除了不能用关键字作为变量外,可以用任何标识符作为变量名。那-abc还有pp.288这种命名方式可以么?
    • 问题4解决方案:百度上说变量名必须遵从以下规则:
      1)首字母必须为字母(a-z A-Z),下划线(),或者美元符号($)开始。
      2)变量名只能是字母(a-z A-Z),数字(0-9),下划线(
      )的组合,并且之间不能包含空格,数字不能放在变量名首位。
      3)不能使用关键字。
  • 相关阅读:
    Mysql与Sql Server查询数据库中表以及表字段
    linux系统常用命令
    linux tomcat安装以及配置
    mysql 5.7 设置root远程访问
    linux jdk安装
    ubuntu系统阅读CHM文档的最终解决方案
    ubuntu18.04完全卸载mysql的命令
    linux下使用cd命令进入wine容器中的windows路径
    Python中yield关键字的用法及运行逻辑
    Ubuntu18..04.2服务器版设置redis开机启动遇到的问题
  • 原文地址:https://www.cnblogs.com/9226ryf/p/7912155.html
Copyright © 2020-2023  润新知