笔记
理论部分
整数
整形 -- int 短整型 -- short int (两个字节) 长整型 -- long int(八个字节)
浮点数(实数)
单精度浮点数 -- float 双精度浮点数 -- double
内存的不同 节省内存
字符
char
复合类型数据
结构体 枚举 共用体
变量
变量的本质就是内存中的一段存储空间,变量要初始化
进制
二进制 十进制 八进制 十六进制
冯诺依曼让计算机使用二进制
printf的用法
%d表示以十进制输出
%x或%X表示以十六进制输出
%o表示以八进制输出
冯诺依曼让计算机使用二进制
常量的表示
整数
十进制 十六进制 八进制
浮点数
传统的写法 float x = 3.2
科学计数法
float x =3.2e3 x=3200 e代表十的几次方
float x =123.45e-2 x=1.2345
字符
单个字符用单引号括起来
'a'正确 "a"正确
'ab'错误 "ab"正确
"a"正确因为此代表了'a' '\0'的组合
常量在计算机中的存储方式
整数是以补码的形式转化为二进制代码储存在计算机中的
实数是以IEEE754标准转化为二进制代码存储在计算机中的
字符的本质实际与整数的存储方式相同
代码规范化
可以让代码更易读懂 更不容易出错 要把代码写规范
写程序时可以把写程序的目的啥的都写上去,回来看的时候更有意义
字节
存储数据的单位,是硬件所能访问的最小单位
1k = 1024字节 1m = 1024k 1G = 1024m
不同类型数据的相互赋值的问题
(暂不考虑)
内存溢出 放不下
什么是ASCII码
%c 指把字符输出
ASCII不是一个值,而是一种规定,
ASCII规定了不同的字符是用哪个整数值去表示
字符的存储(字符本质上与整数的存储方式相同)
C语言的一些实际运用
基本输入与输出函数的用法
printf
将变量的内容输出到显示器上
四种用法
-
printf ("字符串\n");
-
printf ("输出控制符",输出参数); \n表示换行
-
printf ("输出控制符1 输出控制符2.。。。。",输出参数1,输出参数2.。。。。); 输出控制符与输出参数需要一一对应
-
printf ("输出控制符 非输出控制符",输出参数);
-
输出控制符包含%d %ld %f %lf %c %x (十六进制显示) (还有%X %#X (建议使用这个) %#x ) %o
输出控制符 初始化代码 %ld long int %c char %d int %f fioat %lf double %x int 或 long int 或 short int %o 同上 %s 字符串
输出控制符的意义
01组成的代码可以表示数据也可表示指令
如果01组成的代码是数据的话,那么同样的01代码组合以不同的输出格式输出就会有不同的输出结果
scanf
两种用法
- scanf (“输入控制符”,输入参数)
- 将从键盘输入的字符转化为输入控制符所规定格式的数据,然后存入以输入参数的值为地址的变量中
- scanf (“非输入控制符 输入控制符”,输入参数)非输入控制符必须原样输入
作业
编程练习
上溢
#include <stdio.h>
int main(void)
{
int i = 2147483647;
printf("%d %d %d\n", i, i+1, i+2);
return 0;
}
结果
输入ASCII码并打印
# include <stdio.h>
int main (void)
{
char ch = 'a';
printf ("请输入一个ASCII的值\n");
scanf ("%c",&ch);
printf ("%d",ch);
return 0;
}
姓和名反过来
#include <stdio.h>
int main (void)
{
printf ("请输入你的姓和名\n");
char first[40];
char second[40];
scanf ("%s %s",&first , &second);
printf ("%s %s",second , first );
return 0 ;
}
显示名字和身高
#include <stdio.h>
int main (void)
{
float a = 0;
char name;
printf ("请输入你的身高以英尺为单位\n");
scanf ("%lf",&a );
printf ("输入你的名字\n");
scanf ("%s",&name);
printf ("%s,you are %lf feet tall",name,a);
return 0 ;
}
4.8第七题不会
思考题
3.10第四题
- '\b' char类型常量
- 1066 int型数据常量
- 99.44 float类型 单精度浮点数
- OXAA double类型 十六进制常量
- 2.0e30 双精度浮点类数据常量
3.10第六题
| 常量 | 类型 | 转换说明 |
|---|---|---|
| 0X3 | unsigned int | %#X |
| 'c' | char | %c |
| 2.34e07 | double | %e |
| '\040' | char | %c |
| 7.0 | double | %f |
| 12 | int | %d |
3.10第八题
%d %ld
%f %c
名词翻译
| 中文 | 英文 | 中文 | 英文 |
|---|---|---|---|
| 整数 | int | 变量 | char int float double |
| 字符 | char | 初始化 | Initialization |
| 浮点数 | float double | 十进制 | Decimal system |
| 结构体 | Struct | 二进制 | Binary system |
| 枚举 | enum | 十六进制 | He xadecimal |
| 联合 | union | 打印 | printf |