C语言复习

概念

C是强大而简洁的编程语言。

编程机制

C编译器和链接器是把C语言源代码转换成可执行代码的程序。上图可知我们将源代码输入到编译器,生成机器语言的目标代码通过连接器把目标代码和库代码、启动代码结合生成可执行代码。启动代码在不同的系统下略有不同。

C语言的语法

大概举一些例子

  1. 每个程序必须包含一个 main() 函数
  2. 声明语句
  3. 分号结尾
  4. 函数体是花括号
  5. stdio.h 是输入输出的函数在声明语句中不引用它,就不能使用 printf 和 scanf 函数
  6. 关键字不能作为函数名称
  7. 注意 C语言的 数据类型,没有 string
  8. 注释 /**/
  9. 占位符的使用 %d %s %c %f 代表的意思
  10. 要使用函数前先要声明函数
  11. 。。。。

数据和 C

关键字:

  1. int
  2. short
  3. long
  4. unsigned
  5. char
  6. float
  7. double
  8. _Bool
  9. _Complex
  10. _Imaginary

运算符: sizeof() 返回一个变量内容的大小
函数:scanf()

练习 float 相关:

1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
int main(void)
{
float weight;//重量
float value; //相等的白金价格
printf("输入白金的重量?");
scanf("%f",&weight);
value=1700 *weight *14.5833;
printf("你的白金价值:%.2f",value);
return 0;
}

  • %f 占位符替换浮点类型
  • &weight 代表 scanf 函数获取用户的值赋值给 weight

数据类型关键字

根据计算机的存储类型分为两个基本类型:

  1. 整数类型
  2. 浮点数类型

位、字节和字

  1. 位:最小的存储单元(bit) 位是计算机内存的基本构建块
  2. 字节:最常用的计算机存储单位(byte) 1byte = 8 bit
  3. 字:设计计算机给定的自然存储单位。32位的微型计算机,一字长32位

整数

概念:没有小数部分的数 如:22 -44 。计算机以二进制数存储整数,例如 7,二进制为 111

浮点数

与整数相反: 如 2.75 3.18E2 4.00 2e-2 。
3.18E2:表示 3.18 X 100(3.18 乘以 10 的二次方)E后面的表示10的指数
计算机把浮点数分成小数部分和指数部分分别表示以及存储这两部分。

C语言的基本数据类型

int 类型

概念:int 类型是有符号整型,必须为整数可以为正整数、负整数或零

声明 int 变量

1
int one,two,three;

变量获取值:

  1. 赋值
  2. 函数获取
  3. 初始化赋值 -_-|| 其实就是初始化变量同时赋值

变量创建和存储空间

1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
int main(void)
{
int ten = 10;
int two = 2;
printf("%d minus %d = %d \n",ten,two,ten - two);
printf("%d minus %d is %d \n",ten);
return 0;
}

由于没有给后面两个参数赋值,所以打印出的值是内存的任意数

八进制与十六进制

通常 C语言都假定整型常量是十进制数。程序员喜欢八进制和十六进制,因为他们是 2 的幂,而 10 不是。例如:十进制 65536 经常出现在 16 位机中,用十六进制表示 10000 。十六进制数的每一位都是 4 位二进制数表示。例如, 十六进制 3 是 0011 ,5是 0101 。十六进制数 35 组合 00110101. 这种方式使得二进制与十六进制转换非常方便。 0X前缀表示 十六进制 而八进制的前缀为 0

显示八进制和十六进制

  1. 显示十进制的数字 %d
  2. 显示八进制的数字 %o 显示前缀 %#o
  3. 显示十六进制的数字 %x 显示前缀 %#x
1
2
3
4
5
6
7
8
#include <stdio.h>
int main(void)
{
int x = 100;
printf("dec = %d; octal = %o;hex = %x \n;" , x , x , x);
printf("dec = %d; octal = %#o;hex = %#x \n" , x , x , x);
return 0;
}

(*^▽^*)