无题

C语言和C++语言

c

1
2
3
4
5
6
7
8
#include <stdio.h>

int main()
{
/* 我的第一个 C 程序 */
printf("Hello, World! \n");
return 0;
}
1
代码文件 .c
1
c语言和java有点像
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <stdio.h>   // 头文件包含

#define PI 3.14159 // 宏定义

// 函数声明
int add(int a, int b);

int main() { // 主函数
// 变量声明
int num1, num2, sum;

// 用户输入
printf("Enter two integers: ");
scanf("%d %d", &num1, &num2);

// 函数调用
sum = add(num1, num2);

// 输出结果
printf("Sum: %d\n", sum);

return 0; // 返回 0 表示程序成功执行
}

// 函数定义
int add(int a, int b) {
return a + b;
}

指针

1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>

int main ()
{
int var_runoob = 10;
int *p; // 定义指针变量
p = &var_runoob;

printf("var_runoob 变量的地址: %p\n", p);
return 0;
}
1
& 运算符可以获得变量的地址
1
2
3
4
5
6
7
8
type *var_name;

type 是指针的基类型,它必须是一个有效的 C 数据类型

int *ip; /* 一个整型的指针 */
double *dp; /* 一个 double 型的指针 */
float *fp; /* 一个浮点型的指针 */
char *ch; /* 一个字符型的指针 */

使用指针

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>

int main ()
{
int var = 20; /* 实际变量的声明 */
int *ip; /* 指针变量的声明 */

ip = &var; /* 在指针变量中存储 var 的地址 */

printf("var 变量的地址: %p\n", &var );

/* 在指针变量中存储的地址 */
printf("ip 变量存储的地址: %p\n", ip );

/* 使用指针访问值 */
printf("*ip 变量的值: %d\n", *ip );

return 0;
}
1
2
3
var 变量的地址: 0x7ffeeef168d8
ip 变量存储的地址: 0x7ffeeef168d8
*ip 变量的值: 20

字符串

1
字符串实际上是使用空字符 \0 结尾的一维字符数组。
1
2
char site[7] = {'R', 'U', 'N', 'O', 'O', 'B', '\0'};
char site[] = "RUNOOB";
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>

int main ()
{
char site[7] = {'R', 'U', 'N', 'O', 'O', 'B', '\0'};

printf("菜鸟教程: %s\n", site );

return 0;
}


菜鸟教程: RUNOOB

数组

1
只能存储同种类型数据
1
type arrayName [ arraySize ];
1
2
double balance[10];
现在 balance 是一个可用的数组,可以容纳 10 个类型为 double 的数字。
1
2
double balance[5] = {1000.0, 2.0, 3.4, 7.0, 50.0};
double balance[] = {1000.0, 2.0, 3.4, 7.0, 50.0};

计算数组长度

1
2
int numbers[] = {1, 2, 3, 4, 5};
int length = sizeof(numbers) / sizeof(numbers[0]);
1
2
3
4
5
6
7
8
9
10
11
12
13
使用宏定义:
#include <stdio.h>

#define LENGTH(array) (sizeof(array) / sizeof(array[0]))

int main() {
int array[] = {1, 2, 3, 4, 5};
int length = LENGTH(array);

printf("数组长度为: %d\n", length);

return 0;
}

与指针

1
在 C 语言中,数组名表示数组的地址,即数组首元素的地址。当我们在声明和定义一个数组时,该数组名就代表着该数组的地址。
1
2
3
4
5
6
7
8
9
10
11
例如,在以下代码中:
int myArray[5] = {10, 20, 30, 40, 50};

在这里,myArray 是数组名,它表示整数类型的数组,包含 5 个元素。myArray 也代表着数组的地址,即第一个元素的地址。

数组名本身是一个常量指针,意味着它的值是不能被改变的,一旦确定,就不能再指向其他地方。

我们可以使用&运算符来获取数组的地址,如下所示:

int myArray[5] = {10, 20, 30, 40, 50};
int *ptr = &myArray[0]; // 或者直接写作 int *ptr = myArray;

结构体

参考

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
struct {
char name[20];
int gender;
double height;
double weight;
} timmy;

struct {
char name[20];
int gender;
double height;
double weight;
} david;

struct {
char name[20];
int gender;
double height;
double weight;
} jane;
1
2
3
4
5
6
7
8
struct person {
char name[20];
int gender;
double height;
double weight;
} timmy;
struct person david;
struct person jane;
1
2
3
4
5
6
7
8
9
10
struct person {
char name[20];
int gender;
double height;
double weight;
};

struct person timmy;
struct person david;
struct person jane;
1
2
3
4
strcpy(timmy.name, "Timmy");
timmy.gender = 1;
timmy.height = 170.00;
timmy.weight = 60;

c++

1
2
3
4
5
6
7
8
#include <iostream>
using namespace std;

int main( )
{
char str[] = "Hello C++";
cout << "Value of str is : " << str << endl;
}
1
2
3
4
5
6
7
#include <iostream>
using namespace std;
int main()
{
cout << "Hello, world!" << "\n";
return 0;
}
1
代码文件 .cpp