12 2021 档案
摘要:执行结果截图: 执行过程展示: 代码: /* 快速排序算法的基本思想是: * 通过一趟排序将待排序数据分割成独立的两部分, * 其中一部分的所有元素均比另一部分的元素小, * 然后分别对这两部分继续进行排序,重复上述步骤直到排序完成。*/#include "stdio.h"#include "std
阅读全文
摘要:运行结果截图: 代码: #include <stdio.h>void hanoi(int, char, char, char);void hanoi(int n, char x, char y, char z){ // 设置递归的结束条件为:n == 1 if(n == 1) { // 设置递归的输
阅读全文
摘要:执行结果截图: 输入整数5,最后输出整数5的阶乘结果120,截图中展示了函数fact() 进行递归运算的过程。 如果输入整数5,那么函数fact()总共被调用了6次,其中1次是用于判断是否满足递归结束条件。 代码: #include <stdio.h>long fact(int num);int c
阅读全文
摘要:执行结果一的截图: 执行结果二的截图: 函数指针及各函数地址截图1: 可见当输入的运算符是减号,fp被赋值为函数sub的地址, 执行(* fp)()或写为fp(),其实就是执行sub(),也就是执行相减运算 函数指针及各函数地址截图2: 可见当输入的运算符是加号,fp被赋值为函数add的地址, 执行
阅读全文
摘要:执行结果截图: 代码: #include <stdio.h>int add(int, int);int sub(int, int);int calc(int (* fp)(int, int), int , int); int add(int num1, int num2){ return num1
阅读全文
摘要:执行结果截图: 代码: #include <stdio.h>int square(int); int square(int num){ //square是一个函数,函数需要被声明、被定义、被调用 return num * num;} int main(){ int num; // int (* fp
阅读全文
摘要:执行结果截图: 代码: #include <stdio.h>#include <stdarg.h>int sum(int n, ...);int sum(int n, ...){ /* 定义一个函数sum,形式参数n是指一共会输入多少个数, * 省略号是代表会输入数量不定的数(可变参数), * 函数
阅读全文
摘要:执行结果截图: 代码: #include <stdio.h>int main(){ //字符指针数组 char * PoemAndSlogans[] = { "欲穷千里目", "曲项向天歌", "疑是地上霜", "野渡无人舟自横", "Impossible is nothing!"}; //指向字符
阅读全文
摘要:执行结果截图: 代码: #include <stdio.h>void testTwoDimArrPotFunc(int arr[][4]){ arr[0][4] = 100;}int main(){ int array[][4] = { {0,1,2,3,}, {4,5,6,7,}, {8,9,10
阅读全文
摘要:执行结果截图: 如果if语句判断指针p3是NULL,则会输出: 代码: #include <stddef.h>#include <stdio.h>#include <malloc.h>#include <string.h>int main() { //整型指针未被初始化,是个野指针 int * p1
阅读全文
摘要:执行结果截图1:(注释掉ps = (char *)pv;这行语句) 执行结果截图2:(把// ps = (char *)pv;取消注释) 代码: #include <stdio.h>int main(){ int num = 87; int * pi = # void * pv; char
阅读全文
摘要:运行结果截图: 代码: #include <stdio.h>int main() { // 定义一个二维数组并初始化 int array[4][5] = {0}; // 定义一个整型二维数组指针p,并初始化将其指向二维数组array int (*p) [5]= array; int i; int j
阅读全文
摘要:运行结果截图(代码在截图下面): (如果不想看过程提示信息就注释掉函数里相应的那些printf语句即可) 代码: #include <stdio.h> #include <string.h> int getSizeOfDataType(char * dataType){ //printf("\nge
阅读全文
摘要:执行结果截图: 代码: import java.util.Scanner;public class WhileScanner { /* 作为一个计算器使用者,我们可以从键盘输入多个数字,每输入一个数字用回车确认, 同时可以累计数字个数,累加数字。 通过输入非数字来结束输入,并输出所有已输入数字的总和
阅读全文
摘要:执行结果截图: 代码: import java.util.Scanner;public class NextLineScanner { public static void main(String[] args) { // 实例化一个扫描器对象,用于从键盘接收数据 Scanner scanner =
阅读全文
摘要:执行结果截图: 代码: public class HelloWorld { public static void main(String[] args) { // 编码规范————到百度搜:阿里巴巴java开发手册 // 按住ctrl键再按/可以打出// /* 如果事先在IDEA的settings-
阅读全文
摘要:执行结果截图: 代码: public class MandatoryConvert { public static void main(String[] args) { int i1 = 128; // int强制转换为byte(高容量转低容量)是强制转换,但是可能导致内存溢出 byte b = (
阅读全文
摘要:执行结果截图: 代码: public class TernaryOperator { public static void main(String[] args) { int a = 10; int b = 20; // a += b 与 a=a+b的区别:前者的+=带自动强制转换数据类型,后者如果
阅读全文
摘要:执行结果截图: 代码: public class UnaryOperator { public static void main(String[] args) { int x = 2; int y = 1; int z = 3; // 单目运算符 ++ -- ~ ! /* 分解来看,步骤1:表达式-
阅读全文
摘要:执行结果截图: 代码: public class PublicStaticFinal { /* 修饰符(静态static、常量final)不存在先后顺序,常量可以理解为特殊的变量,适合定义不会变的量。 常量名要全用大写,用final修饰符后,只允许常量被定义一次(静态常量) */ static fi
阅读全文
摘要:执行结果截图: 代码: public class ClassScopes { /* Java程序在内存中的存储分配情况: 一、堆区、栈区、方法区 堆区: 1.存储的全部是对象,每个对象都包含一个与之对应的class的信息。(class的目的是得到操作指令) 2.jvm只有一个堆区(heap)被所有线
阅读全文
摘要:执行结果截图: 代码: public class BitwiseAndShiftOperators { public static void main(String[] args) { // 位运算,不要轻易使用位运算,很容易出错 // 十进制的60用二进制表示为0011 1100, 即32+16+
阅读全文
摘要:执行结果截图 代码: public class LogicalOperator { public static void main(String[] args) { // 与(and) 或(or) 非(取反) boolean a = true; boolean b = false; System.o
阅读全文
摘要:输出结果截图: 代码: public class BinaryOperator { public static void main(String[] args) { // 二元运算符 // 快捷键操作:ctrl+D ————复制当前行到下一行 // 赋值运算符优先级最低 int a1 = 10; i
阅读全文
摘要:执行结果截图: 代码: public class DataType { public static void main(String[] args) { String name = "汤姆·克鲁斯"; int kill = 99; String title = "‘一竿走天涯’"; // 以下使用格
阅读全文