今天主要是对C语言的语法,规则进行深入学习。了解了一些相关概念:
常量:在程序运行过程中,不发生改变的量;
变量:在程序运行过程中,可以发生改变的量,因为其有内存空间。
RAM:易失性存储器;
ROM:不易失性纯存储器。
Bit:比特;
Byte:字节;
8Bit=1Byte。
标识符:由字母数字下划线组成,首位不能是数字,可以是字母和下划线
#if 0
#endif 中间的代码会被注释掉(敲代码技巧)
sizeof; 查询空间字符大小
首先学习了一些数据类型
1.整型
有符号整型: %d 以有符号的值以十进制输出
1.int
(4字节)范围-2^31 ~ 2^31-1;
2.short int
(2字节)范围-2^16 ~ 2^16-1;
3.long int
(4或8字节)范围-2^32 ~ 2^32-1;
4.long long int
(8字节)范围-2^63 ~ 2^63-1。
无符号整型: %u 以无符号的值以十进制输出
1.unsigned int
(4字节)范围0 ~ 2^32-1;
2.unsigned short
(2字节)范围0 ~ 2^16-1;
3.unsigned long
(4或8字节)范围0 ~ 2^32-1;
4.unsigned long long
(8字节)范围0 ~ 2^64-1。
2.浮点型
%f 小数 (小数点后保留6位小数)
1.float
(单精度,4字节)。
2.double
(双精度,8字节)。
3.long double
(扩展精度,可能为8或16字节)。
123e3表示123x10^3 e后必须为整型(整数)
计算机对浮点型进行存储的方式
f分为:
符号位:1
阶码:8
位数:23
计算标准:
符号位:正数为0 负数为1;
阶码:用科学计数法表示二进制小数,小数点向前移动的位数+127即为阶码的十进制数,再将其转化为8位2进制数;
尾数:只取小数点后面的数,不足23位的话再在后面补0补够23位。
注:0.9这个常量为double双精度浮点型,在后缀加f变为0.9f即可为单精度浮点型
3.字符型
char
(1字节),用于存储ASCII字符(-128 ~ 127或0 ~ 255,取决于是否为无符号)。
%c 输出ASIC II码
字符型常量 需要输出的值加单引号‘ ’ 如‘H’ ‘e’ 'l' ‘l’ ‘o’。
今日完成任务:
请编译程序将“China ”译成密码,用原来字母后面的第4个字母代替原来的字母。例如:字母A后面的第四个字母是E,用E代替A。因此"China"应译为"Glmre"。请编一道程序,用赋初值的方法使c1,c2,c3,c4,c5这5个变量分别为'C','h','i','n','a',经过运算,使c1,c2,c3,c4,c5分别为'G','l','m','r','e',然后输出。
完成代码如下:
#include <stdio.h>
2
3 int main(void)
4 {
5 char c1,c2,c3,c4,c5;
6 c1='C';
7 c2='h';
8 c3='i';
9 c4='n';
10 c5='a';
11
12 printf("%c%c%c%c%c\n",c1+4,c2+4,c3+4,c4+4,c5+4);
13 return 0;
14
16 }
结果如下:
linux@ubuntu:~/C/2025.7.15$ gcc main.c
linux@ubuntu:~/C/2025.7.15$ ./a.out
Glmre