2024-2025-1 20241305 《计算机基础与程序设计》第六周学习总结
作业信息
这个作业属于哪个课程 | <班级的链接>(如2024-2025-1-计算机基础与程序设计) |
---|---|
这个作业要求在哪里 | 2024-2025-1计算机基础与程序设计第六周作业 |
这个作业的目标 | 1、Polya如何解决问题 2、简单类型与组合类型 3、复合数据结构 4、查找与排序算法 5、算法复杂度 6、递归 7、代码安全 |
作业正文 | 本博客链接 |
教材学习内容总结
《计算机科学概论》第七章
一、Polya解决问题:
1、提出问题:如何时、为什么、在哪里,应该问的典型问题。
2、寻找熟悉的情况
3、分治法
4、算法:在有限时间内用有限的数据解决问题或子问题的明确指令集合。
5、计算机问题求解过程:分析和说明阶段、算法开发阶段、实现阶段和维护阶段。
6、方法总结:分析问题、列出主要任务、编写其余的模块、根据需要进行重组和改写。
7、测试算法
二、有简单变量的算法
1、带有选择的算法 if语句
2、带有循环的算法 :计数控制循环 :循环控制变量 while循环称为前测试循环
事件控制循环: 嵌套结构:控制结构嵌入另一个控制结构的结构
平方根
三、复杂变量
1、数组
2、记录
四、搜索算法
1、顺序搜索
2、有序数组中的顺序搜索
3、二分检索:在有序列表中查找项目的操作,通过比较操作排除大部分检索范围。
五、排序
1、选择排序
2、冒泡排序
3、插入排序
六、递归算法
递归:算法调用它本身的能力
1、子程序语句
2、递归阶乘
3、递归二分检索
4、快速排序
七、几个重要思想
1、信息隐蔽
2、抽象:复杂系统中的一种模型,只包括对观察者来说必要的细节。
3、事物命名
4、测试
《C语言程序设计》第五章总结
一、关系运算符和关系表达式
在C语言中,关系运算符用于比较两个值的大小,并根据比较结果返回布尔值(1表示真,0表示假)。以下是C语言中常用的关系运算符:
1. 等于 ( == ):检查两个值是否相等。
2. 不等于 ( != ):检查两个值是否不相等。
3. 大于 ( > ):检查左边的值是否大于右边的值。
4. 小于 ( < ):检查左边的值是否小于右边的值。
5. 大于等于 ( >= ):检查左边的值是否大于或等于右边的值。
6. 小于等于 ( <= ):检查左边的值是否小于或等于右边的值。
关系表达式则是由关系运算符连接的表达式,用于在程序中进行条件判断。
关系表达式的结果是布尔值,可以用于控制程序的流程,如在 if 、 while 、 for 等控制结构中。
二、用于单分支控制的条件语句
在C语言中,单分支控制的条件语句主要是指 if 语句。 if 语句用于在满足特定条件时执行一段代码。下面是 if 语句的基本用法:
基本 if 语句
if (condition) {
// 条件为真时执行的代码
}
这里的 condition 是一个布尔表达式,如果它的值为真(非0),则大括号内的代码会被执行。
注意事项
if 语句中的条件表达式必须返回一个可以转换为布尔值的表达式。
在 if 语句中,如果条件为真,只有大括号内的代码会被执行;如果条件为假,则大括号内的代码会被跳过。
if 语句可以嵌套使用,即在一个 if 语句内部可以包含另一个 if 语句。
if 语句是C语言中实现条件控制流的基本工具,允许程序根据条件选择性地执行代码。
三、用于双分支控制的条件语句
在C语言中,用于双分支控制的条件语句是 if-else 语句。这种结构允许程序根据条件的真假执行两个不同的代码块。下面是 if-else 语句的基本用法:
基本 if-else 语句
if (condition) {
// 条件为真时执行的代码块
} else {
// 条件为假时执行的代码块
}
这里的 condition 是一个布尔表达式,如果它的值为真(非0),则执行第一个大括号内的代码块;如果为假(0),则执行第二个大括号内的代码块。
嵌套 if-else 语句
if-else 语句可以嵌套使用,以实现更复杂的条件逻辑。
注意事项
if-else 语句中的条件表达式必须返回一个可以转换为布尔值的表达式。
在 if-else 语句中,如果条件为真,只有第一个大括号内的代码块会被执行;如果条件为假,则只有第二个大括号内的代码块会被执行。
if-else 语句可以嵌套使用,即在一个 if-else 结构内部可以包含另一个 if-else 结构。
每个 if 或 else if 后面都可以有自己的代码块,这些代码块在对应的条件为真时执行。
if-else 语句是C语言中实现条件控制流的重要工具,允许程序根据条件选择两个不同的执行路径之一。
四、用于多分支控制的条件语句
在C语言中,用于多分支控制的条件语句是 switch 语句。 switch 语句允许程序根据一个变量或表达式的值,选择多个可能的执行路径之一。下面是 switch 语句的基本用法:
基本 switch 语句
switch (expression) {
case value1:
// 当expression的值等于value1时执行的代码
break;
case value2:
// 当expression的值等于value2时执行的代码
break;
// ...
default:
// 如果expression的值不匹配任何case时执行的代码
break;
}
expression 是一个整数类型的表达式,它的值会被与 case 后的值进行比较。
value1 , value2 , ... 是与 expression 的值进行比较的常量表达式。
break 语句用于终止当前 case 块的执行,并退出 switch 语句。如果没有 break ,程序会继续执行下一个 case 块的代码,这称为“穿透”
default 是可选的,它是一个默认情况,当 expression 的值不匹配任何 case 时执行。
注意事项
switch 语句中的 expression 必须是整数类型的表达式,例如 int 、 char 、 enum 等。
每个 case 后面必须跟一个常量表达式。
如果没有 break 语句,程序会继续执行下一个 case 块的代码,直到遇到 break 或 switch 语句结束。
default 块是可选的,如果没有匹配的 case ,并且没有 default ,则 switch 语句会直接结束。
switch 语句可以嵌套使用,即在一个 switch 语句内部可以包含另一个 switch 语句。
switch 语句是C语言中实现多分支控制流的重要工具,允许程序根据一个变量或表达式的值选择多个不同的执行路径之一。
教材学习中的问题及解决方案
问题一:用无字符整型输出900000000时显示错误。
解决:通过询问同学,知道printf("")中需要加上ll表示长数据。
问题二:计算圆的面积时输出的面积值总显示0.
解决:函数定义错误,输入数据类型错误,应定义double r;我误定义成普通整型。
基于AI的学习
代码调试中的问题
问题:判断输入的一个字符时不知道用什么检验?
答案:使用isalpha函数检查字符是否为字母
使用isdigit函数检查字符是否为数字
计划学习时间:25h
实际学习时间:25h