zoukankan      html  css  js  c++  java
  • 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)不能使用关键字。
  • 相关阅读:
    jquery ajax 上传文件
    动态sql语句,非存储过程,如何判断某条数据是否存在,如果不存在就添加一条
    VS2017中的nuget还原失败或超时的解决方案
    查找datatable 中的重复记录(只查询一个字段)
    SQL Server 删除重复记录,只保留一条记录
    图床_typora设置.md
    各种源更改.md
    linux手机投屏.md
    firefox设置.md
    Manjaro初次.md
  • 原文地址:https://www.cnblogs.com/9226ryf/p/7912155.html
Copyright © 2011-2022 走看看