programming abstractions in c阅读笔记:p338-p346-编程思维
《Programming Abstractions in C》学习第80天,p338-p346,总计9页。 一、技术总结 栈的实现包括入栈、出栈、判断栈是否为满,判断栈是否为空等。作者结合RPN计算器来实现,稍显无聊。 /* * File: rpncalc.c * --------------- * This program simulates an electronic calculat
morethink program
《Programming Abstractions in C》学习第80天,p338-p346,总计9页。 一、技术总结 栈的实现包括入栈、出栈、判断栈是否为满,判断栈是否为空等。作者结合RPN计算器来实现,稍显无聊。 /* * File: rpncalc.c * --------------- * This program simulates an electronic calculat
《Programming Abstractions in C》学习第78天,p327-p330,总计4页。 一、技术总结 1.ADT(抽象数据类型) p328, A type defined in term of its behavior rather than its represnetation is called an abstract data type(如果一种数据类型使用它们的行为而
《Programming Abstractions in C》学习第79天,p331-p337,总计7页。 一、技术总结 /* * File: stack.h * ------------- * This interface defines an abstraction for stacks. In any * single application that uses this inte
一般情况下,只有C++的函数支持形参添加默认值,但是C语言可以通过可变参数宏实现 先定义的一个被执行的函数 void _fun(int val) { printf("fun input val:%d", val); } 在调用函数时不输入参数,希望系统输入默认的参数值 定义一个可变参的宏定义 #define fun(...) _fun((default_val, ##__
前言 最近简单学了下Rust,以我这种菜鸟水平,没感受到什么安全、性能什么方面的优势,只觉得概念太多,编译各种报错。暂时也写不出来什么玩法,索性对比下各种学过的语言的性能。部分语言很早之前学过,很久不用就忘了,所以是用GPT写的。但运行逻辑很简单,所以应该没什么影响。具体的代码可以见“实验代码”部分。 对比方法是在同一台机器上计算斐波拉契数,获取运行时长和内存占用。对比方法很野鸡,看看当个乐就行
山东大学23强基班计算机导论第一次习题答案 T1. #include <stdio.h> int main() { printf("Hello World!"); return 0; } T2. #include <stdio.h> int main() { printf("Programming is fun.\nA
《Programming Abstractions in C》学习第76天,p308-p311总结,总计4页。 一、技术总结 1.快速排序伪代码 #include <stdbool.h> static int Partition(int array[], int n); /* * Implementation notes: SortIntegerArray * -------
《Programming Abstractions in C》学习第77天,p312-p326,总计15页,第7章完结。 一、技术总结 第7章主要讲算法分析——引入时间复杂度这一概念来评估算法的快慢。时间复杂度使用大O符号来表示。 第7章以排序算法为示例,包含:选择排序,归并排序以及快速排序,这些基本的排序算法都是我们要掌握的,虽然工作中较少用到,但面试时遇到的概率还是很大的,最好能手写出来。书
《Programming Abstractions in C》学习第75天,p306-p307总结,总计2页。 一、技术总结 1.Quicksort algorithm(快速排序) 由法国计算机科学家C.A.R(Charles Antony Richard) Hoare(东尼.霍尔)在1959年开发(develop), 1961年发表(publish)。 这里吐槽下维基百科的中文介绍:"在平均状
《Programming Abstractions in C》学习第73天,p293-p302总结,总计10页。 一、技术总结 1.时间复杂度 (1)quadratic time(二次时间) p293, Algorithms like selection sort that exhibit O(N^2) performance are said to run in quadratic time。
《Programming Abstractions in C》学习第74天,p303-p305总结,总计3页。 一、技术总结 1.时间复杂度分类(complexity classes) Class Notation Example constant O(1) Returning the first element in an array logarithmic O(logN)
《Programming Abstractions in C》学习第72天,p283-p292总结,总计10页。 一、技术总结 1、anylasis of algorithms 算法分析——即判断程序的效率(efficiency)。 2、mathematical induction(数学归纳法) 3、Big-O notation(大O标记法) 4、constant time(常量时间) 5、li
同学问的课后作业,顺便加了写注释。 #include<stdio.h> /* * 注意 每周的第一天是星期天 */ int main() { int day_per_mo[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; // 12个月的天数
1.问题 问题如下,终端出现中文乱码问题 根本原因是VSCODE是UFT-8编码,而终端显示的中文则是GBK编码 网上很多都是改VSCODE为GBK编码,但改终端为UFT-8也挺方便 2.解决方法 1.在终端输入chcp 65001 在重启vscode或者重新打开项目文件时需重新再vscode的虚拟终端输入chcp 65001,但是在重启后或者一些状况下需要重复配置。。。 2.直接改配置!
1.新建配置任务tasks.json 选择gcc.exe 可以在其中按需修改 { "version": "2.0.0", "tasks": [ { "type": "cppbuild", "label": "C/C++: gcc.exe 生成活动文件", "command": "C:\\MinGW\\bin\\gcc.exe",