C语言基础与总结(1)C 数据类型及语句

您所在的位置:网站首页 int类型占两个字节则long C语言基础与总结(1)C 数据类型及语句

C语言基础与总结(1)C 数据类型及语句

2023-06-27 02:45| 来源: 网络整理| 查看: 265

第 1 章 c 数据类型及语句

c 语言特点 我的第一个 c 语言程序 #include int main()//这个我的第一个 c 语言程序 { printf(“hello world\n”); //printf 是输出打印的函数 return 0; } 1.#include 头文件包含,一定要有(打印的头文件) 2.每一个 c 语言的程序有且只有一个 main 函数,这是整个程序的开始位置 3.C 语言中()、[]、{}、“”、’’、都必须成对出现,必须是英文符号 4.C 语言中语句要以分号结束。 5.//为注释 /* 有志者,事竟成,破釜沉舟,百二秦关终属楚; 苦心人,天不负,卧薪尝胆,三千越甲可吞吴 */

1.1 关键字 1.1.1 数据类型相关的关键字

用于定义变量或者类型 类型 变量名; char 、short、int 、long 、 float、double、 struct、union、enum 、signed、unsigned、void

1、 char 字符型

用 char 定义的变量是字符型变量,占 1 个字节 char ch=‘a’; =为赋值号 char ch1= ‘1’; 正确 char ch2 = ‘1234’ ; 错误的 字符串需要双引号 char ch2 = “1234” ;

2、 short 短整型

使用 short 定义的变量是短整型变量,占 2 个字节 short int a=11; 取值范围:-32768 - —32767

3、 int 整型

用 int 定义的变量是整型变量,在 32 位系统下占 4 个字节,在 16 平台下占 2 个字节 int a=44; -20 亿—20 亿

4、 long 长整型

用 long 定义的变量是长整型的,在 32 位系统下占 4 个字节 long int a=66;

5、 float 单浮点型 (实数)

用 float 定义的变量是单浮点型的实数,占 4 个字节 float b=3.8f;

6、 double 双浮点型 (实数)

用 double 定义的变量是双浮点型的实数,占 8 个字节 double b=3.8;

7、 struct

这个关键字是与结构体类型相关的关键字,可以用它来定义结构体类型

8、 union

这个关键字是与共用体(联合体)相关的关键字

9、 enum

与枚举类型相关的关键字

10、signed

有符号(正负)的意思 在定义 char 、整型(short 、int、long) 数据的时候用 signed 修饰,代表咱们定义的数据是有符号的,可以保存正数,也可以保存负数 例 :signed int a=10; signed int b=-6; 注意:默认情况下 signed 可以省略 即 int a=-10;//默认 a 就是有符号类型的数据

11、unsigned

无符号的意思 在定义 char 、整型(short 、int、long) 数据的时候用 unsigned 修饰,代表咱们定义的数据是无符号类型的数据只能保存正数和 0。 unsigned int a=101; unsigned int a=-101; //错误

12、void

空类型的关键字 char、int 、float 都可以定义变量 void 不能定义变量,没有 void 类型的变量 void 是用来修饰函数的参数或者返回值,代表函数没有参数或没有返回值 例: void fun(void) { } 代表 fun 函数没有返回值,fun 函数没有参数 例 2:

#include int main() { char a = 'a'; short int b = 10; int c; long int d; float e; double f; printf("%d\n",sizeof(a)); //1 printf("%d\n",sizeof(b)); //2 printf("%d\n",sizeof(c)); printf("%d\n",sizeof(d)); printf("%d\n",sizeof(e)); printf("%d\n",sizeof(f)); return 0; } 1.1.2 存储相关关键字

register、static、const、auto、extern

1、register

是寄存器的意思,用 register 修饰的变量是寄存器变量, 即:在编译的时候告诉编译器这个变量是寄存器变量,尽量将其存储空间分配在寄存器中。 注意: (1)定义的变量不一定真的存放在寄存器中。 (2)cpu 取数据的时候去寄存器中拿数据比去内存中拿数据要快 (3)因为寄存器比较宝贵,所以不能定义寄存器数组 (4)register 只能修饰 字符型及整型的,不能修饰浮点型 register char ch; register short int b; register int c; register float d;//错误的 (5)因为 register 修饰的变量可能存放在寄存器中不存放在内存中,所以 不能对寄存器变量取地址。因为只有存放在内存中的数据才有地址 register int a; int *p; p=&a;//错误的,a 可能没有地址

2、static

**是静态的意思 ** static 可以修饰全局变量、局部变量、函数

3、const

const 是常量的意思 用 const 修饰的变量是只读的,不能修改它的值 const int a=101;//在定义 a 的时候用 const 修饰,并赋初值为 101 从此以后,就不能再给 a 赋值了 a=111;//错误的 const 可以修饰指针,这个在以后课程中重点讲解

4、auto

int a;和 int a 是等价的,auto 关键字现在基本不用

5、extern

是外部的意思,一般用于函数和全局变量的声明,这个在后面的课程中,会用到

1.1.3 控制语句相关的关键字

if 、else 、break、continue、for 、while、do、switch case goto、default

1.1.4 其他关键字

sizeof、typedef、volatile

1、sizeof

使用来测变量、数组的占用存储空间的大小(字节数) 例 3: int a=10; int num; num=sizeof(a);

2、typedef

重命名相关的关键字 unsigned short int a = 10; U16 关键字 ,作用是给一个已有的类型,重新起个类型名,并没有创造一个新的类型 以前大家看程序的时候见过类似的变量定义方法 INT16 a; U8 ch; INT32 b; 大家知道,在 c 语言中没有 INT16 U8 这些关键字 INT16 U8 是用 typedef 定义出来的新的类型名,其实就是 short int 及 unsigned char 的别名 **typedef 起别名的方法: ** 1、用想起名的类型定义一个变量 short int a; 2、用新的类型名替代变量名 short int INT16; 3、在最前面加 typedef typedef short int INT16; 4:就可以用新的类型名定义变量了 INT16 b;和 short int b;//是一个效果

例 4: #include //short int b; //short int INT16; typedef short int INT16; int main(int argc, char *argv[]) { short int a=101; INT16 c=111; printf("a=%d\n",a); printf("c=%d\n",c); return 0; } 3、volatile

易改变的意思 用 volatile 定义的变量,是易改变的,即告诉 cpu 每次用 volatile 变量的时候,重新去内存中取 保证用的是最新的值,而不是寄存器中的备份。 volatile 关键字现在较少适用 volatile int a=10;

1.2 数据类型 1.2.1 基本类型

char 、short int 、int、long int、float、double

1.2.2 构造类型

概念:由若干个相同或不同类型数据构成的集合,这种数据类型被称为构造类型 例:int a[10]; 数组、结构体、共用体、枚举 扩展:常量和变量 常量:在程序运行过程中,其值不可以改变的量 例:100 ‘a’ “hello” ▶整型 100,125,-100,0 ▶实型 3.14 , 0.125f,-3.789 ▶字符型 ‘a’,‘b’,‘2’ ▶字符串 “a”,“ab”,“1232” ASCII 码表 例 6:

#include int main(int argc, char *argv[]) { unsigned int i; for(i=0;i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3