一、课程笔记:
C编程预备计算机专业知识:
1.cpu 内存条 显卡 主板 硬盘 显示器 之间的关系:
运行某一程序时:首先把相关数据从硬盘中提取到内存条中(cpu无法直接处理硬盘中的数据)然后cpu对提取到内存条中的数据进行处理,声音数数据通过声卡处理发出声音,影像数据经过显卡处理在显示器中呈现。而主板是把cpu 内存条 显卡等连接起来。
该节视频课程
2.hello world程序是如何运行起来的:
代码通过编译和链接两个步骤回生成一个后缀是.exe的可执行文件,然后操作系统通过cpu运行exe文件,将运行结果呈现在显示器上。
int main(coid)
{
printf(''欢迎来到c世界!\n'')
return 0;
}
复制代码
复制代码
3.什么是数据类型:
-
基本数据类型:
整数 :
整型 -- int -- 4
短整型 -- short int -- 2
长整型 -- long short -- 8浮点数(实数):
单精度浮点数 -- float -- 4
双精度浮点数 -- double -- 8字符 :
char ----1 -
复合数据类型:
结构体
枚举
共用体(已淘汰)
内容视频
4.什么是变量:
变量的本质是内存中一段储存空间
本节内容视频课程
5.cpu 内存条 vc++6.0 操作系统 之间的关系:
在vc++中编写程序,运行程序时vc++软件会请求系统在内存条中为该程序提供一个空间,然后cpu会对程序数据进行处理使其运行。
本节视频课程
6.变量为什么必须初始化:
首初始化就是对变量赋值,程序运行时变量会与内存条中的某一区域关联(程序运行过程中该区域不在分配给其他软件使用),供变量赋值,而你此次赋值的内存条区域可能之前就储存过其他数据,该数据就是上次结束运行时留下的残留数据,如果你不进行初始化,那么这次运行的结果就没有意义。另外,我们的vc++软件若识别出区域中存在垃圾数据,它会自行填充一个非常大的数字,来提醒使用者你没有进行初始化。
本节课程视频
7.如何定义变量:
7. 如何定义变量
数据类型 变量名=要赋的值;
等价于
数据类型 变量名;
变量名=要赋的值;
举例子:
int i=3;等价于 int i;i = 3;
int i, j; 等价于 inti;int j;
int i, j =3;等价于 int i;int j;j=3;
int i=3, j=5;等价于 int i; int j; i=3; j=5;
int i, j;i=j=5;等价于 int i, j;i=5;j=5;
本节视频内容
8.什么是进制:
二进制逢二进一
十六进制逢十六进一
C语言规定八进制数字前加0()数字零,十进制什么都不加,十六进制前面加ox(字母o)
汇编里面:
数字后面加B表示二进制
数字后面加字母o是八进制
数字后面加D是十进制
数字后面加H是十六进制
int main(void)
{
int i = 88;
printf("i=%x\n", i);
/*
printf的用法
%d表示以十进制输出
%x或%X表示以十六进制输出%o表示以八进制输出
*/
return 0;
}
复制代码
复制代码
本节时评课程
9.常量在C语言中如何表示:
整数:
十进制: 传统的写法
十六进制:前面加Ox或OX
八进制: 前面0 注意是数字零不是字母。
浮点数:
传统的写法
float x=3.2;\ 科学计数法\ float x = 3.2e3;//x的值是 3200
``float x = 123.45e-2;//x的值是1.2345\
字符;
单个字符用单引号拓起来
’A’表示字符A\ ’AB’错误
"AB”正确\ 字符串用双引号括起来\ "A”正确,因为“A"代表了‘A’’\0’的组合
本节视频课程
10.常量以什么样的二进制代码储存在计算机中:
整数是以补码的形式转化为二进制代码存储在计算机中
实数是以IEEE754标准转化为二进制代码存储在计算机中
字符的存储本质上与整数相同
本节时评课程
11.代码规范化:
代码规范化的好处:
便于他人或者自己以后观看代码\ 不容易出现错误
便于添加注释\ 代码规范化部分细节:\ 整体与另一个整体之间要换行分隔开
学会在适当位置加入空格\ 学会使用{}来整理代码和对其
本节视频课程
12.什么是字节:
字节就是存储数据的单位,并且是硬件可以访问的最小单位
1字节=8位
1K=1024字节
1M=1024K
1G=1024M
注意换算单位是1000还是1024
本节视频课程
13.不同类型数据之间相互赋值的问题:
int i = 45;
long j= 102345;
i = j; (long int可赋的字节多于short int和int,若把j赋给i很可能会丢失数据,但C语言中是可以转化的,需要学习补码后才可理解)
printf ("%ld %d\n",i,j);
fioat x = 6.6;
double y = 8.8 printf("%f %lf\n,x,y"); (需学习补码后才可理解)
本节视频课程
14.什么是ASCII:
ASCII不是一个值,而是一种规定
ASCII规定了不同的字符用那一个整数值去表示
它规定了
’A’——65\ ‘B’——66
‘a’——97\ ‘b’——98
``‘o’——48
本节视频课程
基本的输入和输出汉书的用法:
printf()一将变量的内容输出到显示器上【重点】
- 四种用法
1.printf("字符串"):
2.printf("输出控制符”,输出参数);
3.printf(”输出控制符1 输出控制符2。。。”、输出参数1,输出参数2,....);;
输出控制符和输出参数的个数必须—一对应
4.printf("输出控制符非输出控制符",输出参数);
输出控制符包含如下
%d —— ——int
%1d—— —— long int
%c —— ——char
%f —— —— float
%1f—— —— double
%x(或者%X后者%#X)—— —— int 或 long int 或 short int
%0 —— ——同上
%s—— —— 字符串
1.组成的代码可以表示数据也可以表示指令
2.如果01组成的代码表示的是数据的话,那么同样的01代码组合以不同的输出格式输出就会有不 同的输出结果。
scanf()【通过键盘将数据输入到变量中】
两种用法:
用法一:scanf("输入控制符”,输入参数);\([用法一视频课程](https://link.juejin.cn/?target=https%3A%2F%2Fwww.bilibili.com%2Fvideo%2FBV1os411h77o%3Fp%3D40 "https://www.bilibili.com/video/BV1os411h77o?p=40"))\ 功能: 将从键盘输入的字符转化为输入控制符所规定格式的数据 ,然后存入以输入参数的值为地址的变量中。
用法二:scanf("非输入控制符 输入控制符”,输入参数);([用法二视频课程](https://link.juejin.cn/?target=https%3A%2F%2Fwww.bilibili.com%2Fvideo%2FBV1os411h77o%3Fp%3D41 "https://www.bilibili.com/video/BV1os411h77o?p=41"))\ 功能: 将从键盘输入的字符转化为输入控制符所规定格式的数据 ,然后存入以输入参数的值为地址的变量中
非输入控制符必须原样输入
- 如何使用scanf编写出高质量代码(视频课程)
1.使用scanf之前最好先使用printf提示用户以什么样的 方式来输入。
2. scanf中尽量不要使用非输入控制符,尤其是不要用\n。
3.应该编写代码对用户的非法输入做适当的处理
char ch;
while((ch=getchar())!=’\n’)
二、名词翻译:
| 中文 | 英文 |
|---|---|
| 整数 | integer |
| 字符 | character |
| 浮点数 | floating number |
| 结构体 | structural body |
| 枚举 | enumerate |
| 联合 | uniter |
| 变量 | variable |
| 初始化 | initialization |
| 十进制 | decimal system |
| 二进制 | binary |
| 十六进制 | hexadecimal |
| 打印 |
三、代码分享: paste.ubuntu.com/p/tFdsqsD6p…
四、课后作业:
3.10
4.\ a -- 字符常量\ b --- 整数常量\ c -- 浮点数常量\ d -- 整数常量\ e -- 浮点数常量\ 6.
| 类型 | 转换字符 |
|---|---|
| 十六进制整型 | %0x |
| 字符型 | %c |
| 浮点型 | %E |
| 字符型 | %c |
| 浮点型 | %f |
| 整型 | %d |
3.11
``1.整数上溢
浮点数上溢
浮点数下溢
``2.
int main()
{
int i;
printf("输入一个ASCII!\n");
scanf_s("%d",&i);
printf("%d的字符为%c\n", i, i);
return 0;
}
复制代码
``4.8
第一题 第四题
第七题
#include <float.h>
int main()
{
float i = 1.0/3.0;
double j = 1.0/3.0;
printf("%.6f\n",i);
printf("%.12f\n",i);
printf("%.16f\n",i);
printf("%.6lf\n",j);
printf("%.12lf\n",j);
printf("%.16lf\n",j);
printf("%d\n",FLT_DIG);
printf("%d",DBL_DIG);
return (0);
}
复制代码