C语言基础学习(Day2)
笔者有话说:紧接上期内容,继续编写C语言相关知识,主要内容涉及课本理论知识与上机操作经验,各知识点主要依据谭浩强《C语言程序设计(第五版)》与b站视频相关C语言教学视频总结得出,尽量用通俗易懂的语言带领小白15天掌握C语言基本知识,打卡第二天~
计算机专业预备知识
1、进制(计算机只能识别二进制)
举例:
十进制:逢十进一
二进制:逢二进一
(1)进制转化
Tip1:C语言规定八进制前要加0(注意是数字0,不是字母O),十六进制前要加0x或0X,十进制前不用加。
例如:
int 3;
——表示十进制
int 05;
——表示八进制
int 0x8;
——表示十六进制
Tip2:汇编语言中,数字后加字母B表示二进制数,加字母O表示八进制数,加字母D表示十进制数,加字母H表示十六进制数。
八进制:1~7
十六进制:1~9 A~F
Tip3:C语言代码实现
#include <stdio.h>
int mian(void)
{
//int i = 88;
int i = 0x32C; //注意:前面是数字0不是字母O
printf("i = %d\n", i);
printf("i = %o\n", i);
printf("i = %x\n", i);
printf("i = %X\n", i); //多行注释用:/*......*/
return 0;
}
注意:
①区分单行注释与多行注释使用方法
②printf的用法:
%d表示以十进制输出
%o表示以八进制输出(o是小写字母)
%x或%X表示以十六进制输出
2、常量在C语言中是如何表示的
整数:
十进制:传统写法
八进制:前面加0(数字0)
十六进制:前面加0x或0X(数字0)
浮点数:
传统的写法
float = 3.2;
科学计数法
float x = 3.2e3; //x的值为3200
float x = 123.45e-2; //x的值为1.2345
e3表示10^3, e-2表示10^(-2)
对于代码:“float x = 123.45e-2;”, 若在程序运行中提示警告,表示数字123.45e-2默认为double类型(实数在C语言中默认为double类型)。
解决方法:①忽视警告,继续运行;②在数字后添加字母"F",即写为:“float x = 123.45e-2F;”,将其当作float处理。
字符:
单个字符用单引号括起来
‘A’表示字符A,"A"也正确,"A"代表了’A’与’0’的组合
字符串用双引号括起来
"AB"正确,'AB’错误
3、常量以什么样的二进制代码存储在计算机中
①整数以补码的形式转化为二进制代码存储在计算机中;
②实数以IEEE754标准转化为二进制代码存储在计算机中;
③字符的本质实际也是与整数的存储方式相同。
4、代码规范化
①整齐,便于自己与他人检查观看
②不容易出错
int main(void)
{
//定义变量
//对变量进行操作
//输出值
}
规范化参考书籍:《高质量C/C++》——林瑞
5、字节
字节是存储数据的单位,并且是硬件所能访问的最小单位,CPU只能控制到字节,通过位运算符才能控制到位。
1个字节 = 8位
1K = 1024字节
1M = 1024K字节
1G = 1024M字节
1T = 1024G字节
注意:C语言中char占1个字节,在Java中字符占两个字节。
7、ASCII码
ASCII不是一个值,而是一种规定,ASCII码规定了不同的字符使用哪个整数值表示。
规定:
‘A’——65
‘B’——66
‘C’——67
‘a’——97
‘b’——98
‘0’——48
代码实现:
#include <stdio.h>
int main(void)
{
char ch = 'A';
ch = 'C';
printf("ch = %c", ch);
return 0;
}
输出结果:ch = 67
(1)单独定义
char ch = ‘A’; //√
char ch = “AB”; //× error 因为"AB"是字符串,不能把字符串赋给单个字符
char ch = “A” ; //× "A"代表’A’与’\0’两个字符的组合,不能把字符串赋给单个字符。
char ch = ‘AB’; //× 单引号只能括单个字符
(2)同时定义
char ch = ‘A’;
char ch = ‘B’;
× error,因为ch变量已经定义过,这样会导致变量名被重新定义
char ch = ‘A’; //等价于char ch; ch = ‘A’;
ch = ‘C’;
√ ch为变量,第一行定义单个字符变量ch,并将其赋值为’A’,可以对变量反复赋值
代码实现:
#include <stdio.h>
int main(void)
{
char ch = 'A';
ch = 'C';
printf("ch = %c", ch);
return 0;
}
输出结果:ch = C
(3)字符的存储
字符的存储本质上与整数的存储方式相同