【C语言】基础语法的简单概括
数据类型 为了更加丰富地表达生活中的各种值,C语言中有不同的数据类型。每个数据类型有其占用空间的大小。我们用sizeof可以获取某个数据类型所占用空间的字节数。 下面这段代码: 1234567printf("%d", sizeof(char));printf("%d", sizeof(short));printf("%d", sizeof(int));printf("%d", sizeof(long));printf("%d", sizeof(long long));printf("%d", sizeof(float));printf("%d", sizeof(double)); 在vs2019运行时,输出结果是:1244848 在linux平台运行时,结果是:1248848 对比发现,long在不同的编译器结果不同。c语言并没有规定long的大小,只是规定了sizeof(long)>=sizeof(int)。 变量的作用域和生命周期 ...
2021年度总结
2022年来了,我又长大了一岁。 过去这一年,有快乐有失落,有收获有遗憾。 伤感的话不再说,遗憾的事不再提,新的一年继续好好生活。 等等,在好好生活之前还是写一下年终总结吧,虽然今天已经是2022年…… 回顾过去的这一年,**每一天都很平常,有时很快乐,有时会难过,也许有成长,难免有遗憾。**就在这平凡的一天又一天中,平凡的我又长大了一岁。 我没有写日记的习惯,很多事过去了就过去了,也许以后就再也不会想起。比如现在我想写一个年度总结,我不知道写些什么。好在有这样一个博客,或多或少能留存一些当时的记忆。 2021年3月29日,新博客建成,发布第一篇博客: 新学期,新博客,新开始! 在此之前也搭建过其他博客,总是写着写着感觉没啥意思,最终都删库跑路了。这是我持续时间最长的博客,我会一直让它活下去(希望别被打脸)。 回看第一篇博客,感慨万千。当时写到“我想学计算机相关专业,但无奈被调剂到了应用物理”,现在我已经是计算机科学与技术专业的学生了,2021/9/17 收到了转专业成功的消息,这个可以算是今年很开心的一件事。当时我提到“一直对编程感兴趣,尤其是前端”,现在我已经俩月没...
【JavaSE】方法及递归的使用
初识方法 Java中的方法类似于c语言中的函数 观察下面代码,体会方法的好处。 123456789101112//求两个数的最大值public static int maxTwoNum(int a,int b) { return a>b ? a : b;}//求三个数的最大值public static int maxThreeNum(int a,int b,int c) { int max=maxTwoNum(a,b); return maxTwoNum(max,c);}public static void main(String[] args) { int a=10,b=23,c=4; System.out.println(maxThreeNum(a,b,c)); 灵活使用方法,可以减少重复代码,使代码更简单。 实参、形参的关系 Java当中只有按值传递 分析如下代码:交换两个整型变量 12345678910111213public static void swap(int x,int y)&...
【JavaSE】程序逻辑控制练习
输入1-7,输出工作日或休息日 1234567891011121314151617Scanner scan = new Scanner(System.in);switch(scan.nextInt()) { case 1: case 2: case 3: case 4: case 5: System.out.println("工作日"); break; case 6: case 7: System.out.println("休息日"); break; default: System.out.println("输入错误"); break;} switch 中的值只能是 整数|枚举|字符|字符串,long、double、float、boolean不能作为switch参数的类型。 判断一个数是否为素数(3种方法) 1234567891011121314Scanner sca...
【JavaSE】数据类型与运算符
初识Java 第一个java程序 12345public class HelloWorld { public static void main(String[] args) { System.out.println("HelloWorld"); }} 一个java文件中,只能有一个public类,且类名要与文件相同。 类存在于源文件里面;方法存在于类中;语句存在于方法中。 类名要采用大驼峰形式(首字母均大写)命名。 面试问题: main方法为什么是static:main方法是程序的入口,如果不是静态的话,要启动就必须创建一个实例,但是main是程序入口,创建一个实例又得从main开始。如果一个方法不是静态的,则要先实例化该类,比如要这样 test t=new test(); 然后才能调用 t.main(); 而这对于运行一个程序的主函数来说是不现实的,所以比如把main函数定义为static,使t.main()可以直接被调用。 String[] args的作用是什么:运行时命令行...
c语言:指针误区总结
4个二进制位可以表示一个16进制数字 1111 -->f 指针类型的意义: 指针类型决定了:指针解引用的权限有多大(整型指针解引用访问4个字节,字符型指针解引用只能访问1个字节) 指针类型决定了,指针走一步,能走多远(步长) 例题1: 123456 int a = 0x11223344;char* pc = &a;*pc = 0; //只改变一个字节int* pa = &a;*pa = 0;//改变了四个字节 char* 的指针解引用就只能访问一个字节,而 int* 的指针的解引用能访问四个字节。 例题2: 1234567int arr[10] = { 0 };int* p = arr;char* pc = arr;printf("%p\n", p);printf("%p\n", p + 1);//加了4,因为int4字节printf("%p\n", pc);printf("%p\n", pc + 1);//加了1,因为char1字节 野指...
Vue笔记:指令
什么是vue 构建用户界面 用vue往html里填充数据 框架 框架是一套现成的解决方案,只能遵守框架规范写自己的业务功能 vue的特性 数据驱动视图 数据的变化会驱动视图自动更新 双向数据绑定 在网页中,form表单负责采集数据,Ajax负责提交数据 js数据的变化,会被自动渲染到页面上 页面上表单采集的数据发生变化时,会被vue自动获取到,更新到js数据中 数据驱动视图和双向数据绑定的底层原理是MVVM(Mode数据源、View视图、ViewModel就是vue实例 vue的基本使用 1234567891011121314151617<body> <!-- 希望vue控制div,把数据填充到div内部 --> <div id="app">{{ username }}</div> <!-- 1.导入Vue库文件,在window全局就有了vue这个构造函数 --> <script src=&quo...
Python笔记:条件、循环及其他语句
Python基础教程(第三版)第5章:条件、循环及其他语句 print() end='' //不换行 sep='' //自定义分隔符 123print("my name is",end='')print("panghu") //打印结果:my name is panghuprint("I","love","you",sep="!") //I!love!you import 当你确定要导入模块中的一切时,可使用from somemodule import *如果有两个模块,都包某一函数时,可使用as 12import math as foobarprint(foobar.sqrt(4)) //2.0 序列解包 1234values=1,2,3x,y,z=valuesprint(values) //(1,2,3)print(z) //3 *元素符:分配多余的值 12345values=1,2,3,4x,*y,z=valuesprint(...
ECMAScript 6入门
let var和let声明变量的区别: let声明的变量是块级变量,只存在{}内。 1234if(true){ let a=0;}console.log(a); 会出现Uncaught ReferenceError: a is not defined的报错,而在{}内打印console.log(a)而不会报错。 let声明的变量没有变量提升 12console.log(a);let a=0; 如上代码会报错Uncaught ReferenceError: Cannot access 'a' before initialization let声明的变量会出现暂时死区 在{}外用var声明变量,{}内用let声明一个相同的变量,{}外用var声明的变量便没有意义。 12345var a=10;if(true){ console.log(a); let a=20;} 如上代码依旧会报错Uncaught ReferenceError: Cannot access 'a' before initialization const ...
c语言:操作符误区总结
左移操作符:<< 左边丢弃,右边补0 12345678int main(){ int a = 2; //把a的二进制位向左移动一位 int b = a << 1; printf("b = %d\n", b);//输出为4 return 0;} 右移操作符:>> 1.算术右移:右边丢弃,左边补原符号位 2.逻辑右移:右边丢弃,左边补0 1234567#include<stdio.h>int main(){ int a = -3; int b = a >> 1; printf("%d", b); //输出为-2} 负数在内存中存放的是二进制的补码。 原码:直接根据数值写出的二进制序列 反码:符号位不变,其他位按位取反 补码:反码+1 以-3为例: 原码:10000000000000000000000000000011 反码:11111111111111111111111111111100 补码:11111111111111...