C语言集训-刘晓庆-第二次作业

169 阅读7分钟

一、课程笔记:

C编程预备计算机专业知识:

1.cpu 内存条 显卡 主板 硬盘 显示器 之间的关系:
运行某一程序时:首先把相关数据从硬盘中提取到内存条中(cpu无法直接处理硬盘中的数据)然后cpu对提取到内存条中的数据进行处理,声音数数据通过声卡处理发出声音,影像数据经过显卡处理在显示器中呈现。而主板是把cpu 内存条 显卡等连接起来。
该节视频课程
2.hello world程序是如何运行起来的:
代码通过编译和链接两个步骤回生成一个后缀是.exe的可执行文件,然后操作系统通过cpu运行exe文件,将运行结果呈现在显示器上。

int main(coid)
{ 
    printf(''欢迎来到c世界!\n'')   

    return 0;
}    

hello world 运行成功截图.png

本节课程视频

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是十六进制

进制表.png

int main(void)
{
   int i = 88;

   printf("i=%x\n", i);
 /*   
   printf的用法
   %d表示以十进制输出
   %x或%X表示以十六进制输出%o表示以八进制输出
 */  
return 0;
}

进制运算.png
本节时评课程
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) 1.组成的代码可以表示数据也可以表示指令
    2.如果01组成的代码表示的是数据的话,那么同样的01代码组合以不同的输出格式输出就会有不 同的输出结果。

scanf()【通过键盘将数据输入到变量中】
两种用法:
用法一:scanf("输入控制符”,输入参数);\(用法一视频课程
功能: 将从键盘输入的字符转化为输入控制符所规定格式的数据 ,然后存入以输入参数的值为地址的变量中。
用法二:scanf("非输入控制符 输入控制符”,输入参数);(用法二视频课程
功能: 将从键盘输入的字符转化为输入控制符所规定格式的数据 ,然后存入以输入参数的值为地址的变量中
非输入控制符必须原样输入

  • 如何使用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
打印print

三、代码分享: paste.ubuntu.com/p/tFdsqsD6p…

四、课后作业:

3.10
4.
a -- 字符常量
b --- 整数常量
c -- 浮点数常量
d -- 整数常量
e -- 浮点数常量
6.

类型转换字符
十六进制整型%0x
字符型%c
浮点型%E
字符型%c
浮点型%f
整型%d

3.11
1.