C语言-熊家旗-第二次作业

254 阅读5分钟

一.学习笔记

1.CPU 内存条、硬盘、显卡、主板、显示器之间的关系

将硬盘中的数据调入内存条,CPU再处理内存条中的数据(CPU不能直接处理),经过处理,图像通过显卡被显示器显示出来,声音通过声卡播放出来。CPU、内存条等都插在主板上,通过主板传输。


2.Hello World程序是如何运行

在编译器上完成记事本程序后,生成可执行的exe文件,请求访问操作系统,最后由操作系统控制硬盘执行程序。


3.什么是数据类型

基本类型数据

整数:

   整型 -- int
   短整型 -- short int
   长整型 --long int
   

浮点数

    单精度浮点数 -- float
    双精度浮点数 -- double
    

字符:char (单个字符)

复合类型数据:结构体、枚举、共用体


4.什么是变量

变量的本质是内存中的一段存储空间,存储在其中的内容可变,且程序终止后所占空间会被释放。


5.CPU、内存条、VC++6.0、操作系统之间的关系

VC++6.0软件请求操作系统在内存条分配空闲空间,并与变量产生一一对应的关系,再启动该软件运行。

6.变量为什么必须初始化(重点)

所谓初始化就是赋值的意思。不初始化的变量没有意义,一个软件所分配到的空间中极有可能存在着以前软件使用过后残留下来的数据,这些数据称之为垃圾数据,如果不赋值,就有可能赋予变量垃圾数据。

7.如何定义变量

数据类型  变量名 = 要赋予的值;

数据类型  变量名;
变量名 = 要赋的值;

例:

int i = 3; int i; 等价于 i = 3;

int i , j; int i; 等价于 int j;

int i = 3, j = 5; 等价于 int i = 3; int j = 5;

8.什么叫进制

十进制就是逢十进一

二进制就是逢二进一

八进制就是逢八进一

十六进制就是逢十六进一

微信图片_20211121151625.jpg

微信图片_20211121151614.jpg

微信图片_20211121151629.jpg

9.常量在C语言中是如何表达的

整数

 十进制;传统的写法
 八进制:前面加0
 十六进制:前面加0x或0X

浮点数

传统写法

float X = 3.2;

科学计数法

 float x = 3.2e3;(x = 3200)

 float x =123.45e-2;(x = 1.2345) 

字符

单个字符用单引号括起来(‘A’表示字符A)
字符串用双引号括起来(“AB”表示字符串AB)

10.常量以什么样的二进制的代码存储在计算机中

整数是以补码的形式转化为二进制代码存储在计算机中的

实数是以IEEE754标准转化为二进制代码存储在计算机中的

字符的本质实际也是与整数的存储方式相同

11.代码的规范化

规范的代码便于自己和人阅读,使代码的可读性更强,容易让自己和别人更清楚的看懂程序,使程序更不容易出错。敲代码时应遵循:

  1.成对敲代码
  2.适当插入空格
  3.内部的代码需缩进
  4.相对独立的代码需换行

12.什么是字节

字节就是存储数据的单位,并且是硬盘所能访问的最小单位。

1字节 = 8位

1K = 1024字节

1M = 1024K

1G =1024M

13.不同类型数据之间相互赋值的问题

不同类型的数据之间相互赋值可能会出现报错,超出范围的正数可能会溢值变为负数(运用补码)

14.什么是ASCII

ASCII不是一个值,而是一种规定,ASCII规定了不同的字符是使用那个整数值去表示它规定了:

'A' -- 65
'B' -- 66
'a' -- 97
'b' --98
'o' --48

15.字符的存储(字符本质上与整数的存储方式相同)

printf()
scanf()

16.基本输入和输出函数的用法

printf():将变量的内容输出到显示器上

四种用法:

  1.printf(“字符串”);
  2.printf(“输出控制符”,输出参数);
  3.printf(“输出控制符1 输出控制符2”,输出参数1,输出参数2);
   (输出控制符个数必须和输出参数个数一致)
  4.printf("输出控制符 非输出控制符",输出参数)

输出控制符包含如下:%d、%ld、%c、 %f、%lf、%x(或%x或%X或%#X)、%o、%s

为什么需要输出控制符:

 1.01组成的代码可以表示数据也可以表示指令
 2.如果01组成的代码表示的是数据的话,那么同样的01代码组合以不同的格式输出就会有不同的输出结果
 

scranf():通过键盘将数据输入到变量中(不含输出控制符的用法)

两种用法

  用法一: scanf(“输入控制符”,输入参数)
  功能:将从键盘输入的字符转化为输入控制符所规定格式的数据,然后存入以输入参数的值为地址的变量中
  用法二 : scanf(“非输入控制符 输入控制符”,输入参数)
  功能:将从键盘输入的字符转化为输入控制符所规定格式的数据,然后存入以输入参数的值为地址的变量中,非输入控制符必须原样输入
  

如何使用scanf写出高质量代码

1.使用scanf之前最好先使用printf提示用户以什么样的方式来输入
2. scanf中尽量不要使用非输入控制符,尤其是不要用\n
3.应该编写代码对用户的非法输入做适当的处理

二、课后作业

3.10 四

a -- 字符型

b -- 整型

c -- 双精度浮点型

d -- 整型 (十六进制)

e -- 双精度浮点型

1.整型 %d

2.整型 %#

3.字符型 %c

4.双精度浮点型 %E

5.字符型 %c

6.双精度浮点型 %e

1.d

2.ld

3.f

4.c

3.11 一、

整数上溢

QQ截图20211121220837.png

浮点数上溢

代码:paste.ubuntu.com/p/vZPgcyzckF/

结果:

QQ截图20211121221707.png

浮点数下溢

代码:/paste.ubuntu.com/p/SFzQ8sz7sm/

结果:

QQ截图20211121224017.png

二、

代码:paste.ubuntu.com/p/8KVp9v4vY2/

结果:

QQ截图20211121214850.png

4.8 一、

代码:paste.ubuntu.com/p/JtwhjFSBrJ/

结果:

QQ截图20211121231039.png

二、

代码:paste.ubuntu.com/p/cVQZV9ZDRF/

结果:

QQ截图20211121232936.png

三、

代码:paste.ubuntu.com/p/BjY6DWCnb6/

结果:

QQ截图20211121234247.png