1. 数据类型关键字:
(1) char:char关键字用于声明字符型变量或函数。一个char类型的变量在内存中占用1个字节。
在C语言中,一个char类型的变量可以存储一个ASCII字符。
(2) double:double关键字用于声明双精度变量或函数。一个double类型的变量在内存中占用8个字节。
double myDouble = 3.14;
double类型表示双精度浮点数,提供更大的精度和范围,但会消耗更多的内存。
(3) enum:enum关键字用于声明枚举类型。枚举类型是一组命名的常量,通过枚举常量名来表示。
enum Days { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday };
enum Days today = Wednesday;
printf("%d",today);
(4) float:float关键字用于声明浮点型变量或函数。一个float类型的变量在内存中占用4个字节。
float类型表示单精度浮点数,在处理需要较高精度的浮点数时,可以使用double类型。
(5) int:int关键字用于声明整型变量或函数。一个int类型的变量在内存中占用4个字节。
(6) long:long关键字用于声明长整型变量或函数。一个long类型的变量在内存中占用4个或8个字节,取决于编译器和操作系统的位数。
(7) short:short关键字用于声明短整型变量或函数。一个short类型的变量在内存中占用2个字节。
(8) signed:signed关键字用于声明有符号类型变量或函数。有符号类型可以表示正数、负数或零。
int类型默认是有符号的,可以使用signed关键字显式声明有符号类型。
(9) struct:struct关键字用于声明结构体变量或函数。结构体是一种用户自定义的数据类型,可以包含多个不同类型的数据。
struct Point {
int x;
int y; }
(10) union:union关键字用于声明共用体(联合)数据类型。共用体允许在相同的内存位置存储不同的数据类型。
union Data {
int num;
float decimal;
}
union Data myData;
myData.num = 42;
共用体的成员共享相同的内存空间,但只能同时存储一个成员的值。
(11) unsigned:unsigned关键字用于声明无符号类型变量或函数。无符号类型只能表示非负数,即正数或零。
unsigned int myUnsignedInt = 42;
unsigned关键字可以用来扩展表示范围,但不能存储负数。
(12) void:void关键字用于声明函数无返回值或无参数,也用于声明无类型指针。
void myFunction() {
// 无返回值的函数
}
void* myPointer;
2. C语言9种控制语句:
(1) goto语句:goto语句通过标签进行无条件转向,跳转到代码中的其他位置。
int count = 0;
start:
count++;
if (count < 10) {
goto start;
虽然goto语句可以在一定程度上简化程序流程,但滥用goto语句可能导致代码难以理解和维护,应慎重使用。
(2) if语句:if语句用于根据条件执行相应的代码块,只有当条件满足时,才会执行与条件相关的代码。
int age = 25;
if (age >= 18) {
printf("You are an adult");
} else {
printf("You are a minor");
if语句是一种常见的条件语句,用于根据不同条件执行不同的代码。
(3) while循环语句:while循环语句会在条件满足的情况下,重复执行一段代码,直到条件不满足为止。
int i = 1;
while (i <= 5) {
printf("%d", i);
i++;
while循环用于当不确定循环次数时,可以根据条件进行循环控制。
(4) do-while语句:do-while语句与while语句类似,但是先执行代码块再检查条件是否满足,当条件不满足时终止循环。
int i = 1;
do {
printf("%d", i);
i++;
(5) for语句:for语句提供了一种更简洁的方式来进行循环,可以在一行代码中完成循环的初始化、条件判断和自增操作。
for (int i = 1; i <= 5; i++) {
printf("%d", i);
(6) break语句:break语句用于跳出当前循环或switch语句,终止代码块的执行。
for (int i = 1; i <= 10; i++) {
if (i == 5) {
break;
}
printf("%d", i);
break语句可以直接跳出当前层级的循环,终止后续代码的执行。
(7) continue语句:continue语句用于终止当前循环的剩余代码,直接开始下一次循环的执行。
for (int i = 1; i <= 5; i++) {
if (i % 2 == 0) {
continue;
}
printf("%d", i);
continue语句可以跳过本次循环的剩余部分,直接进行下一次循环。
(8) switch语句:switch语句根据表达式的值,选择匹配的case执行对应的代码块。
int day = 3;
switch (day) {
case 1:
printf("Monday");
break;
case 2:
printf("Tuesday");
break;
default:
printf("Other day");
switch语句常用于多重选择的情况下,可以替代多个if-else语句。
(9) return语句:return语句用于从函数中返回一个值,并结束函数的执行。
int add(int a, int b) {
return a + b;
}
int result = add(3, 5);
return语句可以将值返回给函数的调用者,也可以提前结束函数的执行。 这些示例和知识点展示了C语言中数据类型关键字和控制语句的基本使用方法和概念。