Turbo c
Return (z);=return z;
图形界面的有scanf(“%d ~%d\n”,&~,&~);注意:中间不能有乱的东西
Printf(“~~~ %d~~%d\n”,~,~);这儿可以有乱的东西,一切的提示图形界面多是由它完成
函数,变量一定是有类型
除了函数()和if()其他的后面都是有;
函数,变量一定是提前申明的 函数调用的时候,从实参给形参然后返回
源程序文件组成一个大的程序 注释有://……… /*……*/
C的本质就是执行函数 .c .obj .exe 项目空间
编写代码的环境其实是:按照规则写命令,给你一个平台,让计算机运行然后显示出来,其实可以不显示出来,但是那样不是我们所希望的。平台的提供者才是真正的牛,所谓P中P就是这种文化。
MSDN
Printf里的后面是可以是直接函数调用的返回值,factorial(n)
#include<math.h>
函数申明的地点不同,则作用域不同
For(; ;) 主函数的参数是void,可以不写,而且返回值是0;并且返回值为0可以不写,默认的补上
关于变量的取值范围要重视,因为超出范围会出错,涉及到内存
Branch sequential argument definition grammar 保留字 compound
While(){ }
Compiler cobol语言 assemble register寄存器 pseudo(伪代码)
If( ) else if() else 单步跟踪 华氏温度 没有交互性的程序就是不好的程序 %f(保留6位) %.2f输出保留2位小数 putchar(一定是有参数) getchar()其实和scanf()差不多,是直接从键盘读取数据,库函数是stdio.h,本质获取的是字符的码值。
Double为%lf scanf虽然有交互功能但是不用,理由输入时候是必须要一致
Scanf(“a= %d\n”,&a); 则输入的时候必须要:a=5
Exp() pow() fabs() sqrt()
写程序的关键在于把用到的参数心中有数,先定义出来,初始化。
菜单一般都是代号化,并且用switch if里可以有break
Switch(chioce){
Case 1:~~~;break;(case后可以为空,可以无break)
……
……
……
Default:~~~~;break;
}
循环中的循环 格里高利公式里面,某一项的达到精度就是表明整个达到了精度
哥德巴赫 对于数的字符化就是按位处理 素数 阶乘
void函数不提倡使用,一般在屏幕输出的时候可以,这样的函数里面一般有printf,这样的函数的目的就是运行过程。
应该是尽量少使用全局变量
局部变量也是自动变量,不是main中的,调用之后会自动回收内存
全局变量是静态变量,开始内存就分配好了 动态存储是用堆栈来管理的
还有静态局部变量,它的生命周期是和全局变量一样的 static int a;
静态全局变量 局部变量(自动变量)的默认初值是随机的 静态变量的默认初值为0
全局变量和静态变量是特殊的 结构体 联合体 枚举
16位———-32768,32768-1(为什么减1,要明白) 这其实是有符号short int 一般int为长int
字符占一个字节 只要用实数,就会有误差
#define语句后面无;
八进制前面有0 如010是8
十六进制必须0x 如0x10是16
6u表示无符号数 \t表示横向跳格
\o oo ooo(1—3位八进制整数代表的字符,o最多3个) \ddd(三位八进制代表的字符)
\xhh xh(1—2位16进制整数代表的字符,h为16进制的一个数字,最多2个h)
%d %u(10进制的无符号整数) %o(8进制整数) %x(16进制整数)
%e(表示输入双精度实数) 对于Scanf, %f %e一样,都为单精度
%lf %le才是双精度
%2.3f (保留3位小数,总宽度为2)
%-2.3f(向左靠齐,保留3位,宽度为2)
%.2f (保留2位小数,宽度适应)
%c(输出字符串)
%12d(占12位,如11,则前面空12-2=10个空格)
%f(为6位小数)
%s(输出一个字符串)
%d=%i
%e(默认是保留6位小数,指数部分5位,指数其实3位)
%13.2e(总占13位,保留2位小数,)
%g(输出浮点,系统自动,或%f 或%e)
%%(输出%)
\a(响铃)
\t水平tab \r回车 \b(退格) \f(换页) \377 \v(垂直tab)
Printf(“\n”);是可以单独存在,是一个运行单元
大小写转化: ch-’a’+’A’ ch-’A’+’a’
Z=(a>b?) a:b;
^为异或 ~取反 sizeof()用来算字节长度,直接用,是库函数里的
先关系运算,然后才是赋值运算
Scanf(“%d”,&a[I]); 数组越界很可怕
Static int a[]={1,1,1,1,1,1,1,1};
用数组就是会一定会循环 要控制行的布局就要for() printf() if() printf(“\n”);
两个for连续用时,是相互无关的,只是运行而已
Prime素数 在大的for循环里面可以有if判断
遇到问题首先要在自己脑中运行过程,分析过程中的变量,然后问题就是解了
Auto register volatile typedef const enum extern
Int 在32767之间,记住 枚举是数据类型 float不能==运算
#include<time.h>
#include<stdlib.h>
任何一个数除以100的余数一定在100以内 c=rand()%100; rand();这些语句合法
java就是各种类,但是有1个主类(里面有主方法)这个也是运行的主干(applet除外)
Class ###{
Public static void main(string [] args){
……………
……………
}
System.out.println(“~~~”,+~~);
} 注意:out还有其他比如math类都是虚拟机里有的,不需要导入java.lang.*;
Math是对象,可以调用math类里面的各种数学方法
类里面有个类方法,和类是同名字,这是用来创建类的实例(对象)的 只有类的对象可以调用该类的方法
方法可以无返回值,当作运行过程
Import java.applet.*;
Public class helloapplet extends applet
{
}
对象的变量 A.a++;
写新的类就是把别的类的动作的重新的自己的组合,产生新的事物。
Java虚拟机就是一个计算机(功能:把字节码变为相应CPU机器码,里面有虚拟硬件)java的本质是解释语性语言,但是之前也需要编译过程,先变成字节码(.class),接下来的工作才是解释。JVM来处理线程调度,和垃圾回收(有必要研究JVM内部机制)
JVM来调用装入各种.class(调用路径就是环境变量,要设置好)
类的装入是动态的(需要的时候才装入),类装载器,装载我们写的和库中的(API中的)
可以有兴趣自己定义一个特色的类装载器(即实现在平台上的一个新的平台,他们之间是独立的)
Java文化的本质是一个一个的类
JIT(局部性原理) Uedit32编辑器
catch synchronized同步 transient瞬时 volatile可变的
UTF GBK
Intanceof(用来检测对象的类型)
或——有1为1
与——同1为1
异或——不同为1
‘a’+’b’——(ab)
Import Java.awt.*;(GUI包)
Import java.net.*;
Import java.io.*;
Import java.util.*;(复杂数据集合)
Java给你提供基础的类,通过调用让你构造整个世界
notify唤醒 finalzie()垃圾回收 gc()
字符串:Stringbuffer(同步,多线程) 衍生出stringbuilder(非同步的)
构造方法里面可以直接有参数
交互的时候涌动scanner类 import java.util.scanner;
Scanner keyin=new scanner(system.in);
a=Keyin.nextint();
也可以有 a=system.in.read();
java里面关键要记住类和方法的积累(实际中有用,理论中可以忽略)
私有类不能实例化,调用时候直接math.max(); 封装类就是把数据类型当作类
在java中,一个int a;都是一个对象,是封装类int的有对象
Override 一个枚举其实就是一个类,一个枚举里面可以有方法。枚举内容类似于变量
Throw exception{
}
变量的赋值有一种是类,对象调用方法会然后实例。
类的实例就是对象 数组类在lang里面,不需要导入,里面有个charat()方法
Comment解释 implementation一般 figure block块 implements接口