2024-2025-1《计算机基础与程序设计》第3周学习总结20241420姚金济
<作业要求链接>https://www.cnblogs.com/rocedu/p/9577842.html#WEEK03
教材学习内容总结
C语言中的数据类型分类:
基本整型: int 、 long 、 long long 、 short 、 unsigned
实型(浮点型): float 、 double 、 long double
字符型: char
枚举类型: enum
每个数据类型都有相应的关键字和变量声明实例,并且指出了详细的章节编号,供进一步学习。
核心内容
1. 基本数据类型:
数组: int score[10]; char name[20]; struct date
结构体: struct atruct { int year; int month; int day; } struct date d;
共用体(联合体): union { int single; char apouseName[20]; struct date divorcedDay; } narried;
指针类型: int* ptr; char* pstr;
无类型: void sort(int array[], int n); void* malloc(unsigned int size);
2. 数据类型隐含规则:
定义整型变量时,如果不指定为无符号型( unsigned ),则隐含的类型是有符号型( signed ), signed 通常省略不写。
3. 内存空间大小的计算:
计算机的存储单元是按字节(Byte)编址的,每个字节的存储单元对应一个唯一的地址。
一个字节可以表示的整数范围是0到255,等于8个二进制位(bit)。
多个字节合起来使用可以表示更大的数字,例如两个字节(16位)可以表示65536个不同的值,4个字节(32位)可以表示超过40亿个不同的值。
4. 内存空间大小的表示单位:
比特(bit)、字节(Byte)、千字节(Kilobyte)、兆字节(Megabyte)、吉字节(Gigabyte)、太字节(Terabyte)、拍字节(Petabyte)、艾字节(Exabyte)、泽字节(Zettabyte)、尧字节(Yottabyte)、布朗字节(Brontobyte)、诺马字节(NomaByte)、狗狗字节(DoggaByte)。
5. 变量类型与内存空间大小:
char 型数据在内存中占1个字节。
int 型数据通常与程序的执行环境的字长相同,对于32位编译环境, int 型数据在内存中占32位(4个字节)。
C标准没有规定不同整型数据在内存中所占的字节数,只是要求长整型数据的长度不短于基本整型,短整型数据的长度不长于基本整型。
同种类型的数据在不同的编译器和计算机系统中所占的字节数可能不同。
6. 使用 sizeof() 运算符:
sizeof() 是C语言的关键字,用于计算指定数据类型或变量所占内存空间的字节数。
使用 sizeof() 可以避免程序在平台间移植时出现精度损失或数值溢出的问题。
逻辑门是数字电路中的基本组件,用于基于输入信号的二进制值(0或1)产生输出信号。以下是六种基本的逻辑门及其工作原理:
1. 非门(NOT Gate):
功能:非门,也称为反相器,接收一个输入信号,如果输入是0,则输出1;如果输入是1,则输出0。
布尔表达式:X = \overline{A} 或 X = A'
真值表:
\begin{array}{|c|c|} \hline A & X \ \hline 0 & 1 \ 1 & 0 \ \hline \end{array}
2. 与门(AND Gate):
功能:与门接收两个输入信号,只有当两个输入都是1时,输出才是1。
布尔表达式:X = A \cdot B 或 X = AB
真值表:
\begin{array}{|c|c|c|} \hline A & B & X \ \hline 0 & 0 & 0 \ 0 & 1 & 0 \ 1 & 0 & 0 \ 1 & 1 & 1 \ \hline \end{array}
3. 或门(OR Gate):
功能:或门接收两个输入信号,如果至少有一个输入是1,则输出是1。
布尔表达式:X = A + B
真值表:
\begin{array}{|c|c|c|} \hline A & B & X \ \hline 0 & 0 & 0 \ 0 & 1 & 1 \ 1 & 0 & 1 \ 1 & 1 & 1 \ \hline \end{array}
4. 异或门(XOR Gate):
功能:异或门接收两个输入信号,当输入信号不同时,输出是1;当输入信号相同时,输出是0。
布尔表达式:X = A \oplus B
真值表:
\begin{array}{|c|c|c|} \hline A & B & X \ \hline 0 & 0 & 0 \ 0 & 1 & 1 \ 1 & 0 & 1 \ 1 & 1 & 0 \ \hline \end{array}
5. 与非门(NAND Gate):
功能:与非门是与门的反相版本,它接收两个输入信号,只有当两个输入都是1时,输出才是0,否则输出是1。
布尔表达式:X = \overline{A \cdot B} 或 X = (A \cdot B)'
真值表:
\begin{array}{|c|c|c|} \hline A & B & X \ \hline 0 & 0 & 1 \ 0 & 1 & 1 \ 1 & 0 & 1 \ 1 & 1 & 0 \ \hline \end{array}
6. 或非门(NOR Gate):
功能:或非门是或门的反相版本,它接收两个输入信号,只有当两个输入都是0时,输出才是1,否则输出是0。
布尔表达式:X = \overline{A + B} 或 X = (A + B)'
真值表:
\begin{array}{|c|c|c|} \hline A & B & X \ \hline 0 & 0 & 1 \ 0 & 1 & 0 \ 1 & 0 & 0 \ 1 & 1 & 0 \ \hline \end{array}
这些逻辑门是构建更复杂数字系统的基础,如计算机处理器、内存和各种电子设备。
基于AI的学习:markdown,具体见云班课
代码调试中的问题和解决过程
-
问题1:问题解决上传时出现编译错误
-
问题1解决方案:将scanf_s改为scanf,在不同环境中兼容性不一样
-
问题2:关于整数多次输入变量无法表达
-
问题2解决方案:学习并使用while循环结构,加入scanf解决
-
计划学习时间:5小时
-
实际学习时间:8小时