嗨喽,大家好,我是程序猿老王,程序猿老王就是我。
今天给大家讲一讲C语言简介。
C语言是一种通用的高级程序设计语言,由美国贝尔实验室的Dennis M. Ritchie于1972年开发。C语言的设计目标是提供高效的系统级编程语言,同时保持简单、可读性强和可移植性等特点。
C语言的语法和结构相对简单,易于学习和使用,因此广泛应用于操作系统、编译器、数据库、图形用户界面、网络协议、嵌入式系统等领域。C语言是现代编程语言的基础,也是学习其他编程语言的必备知识。
下面我们来详细讲解一下C语言的基础知识。
目录
1.程序结构
2.数据类型
3.变量和常量
4.运算符和表达式
5.控制结构
6.函数
7.指针
8.数组
9.结构体和共用体
1.程序结构
C语言程序由函数和语句组成。每个程序必须包含一个main()函数,作为程序的入口点。函数是一组执行特定任务的语句,可以分为库函数和自定义函数两种。语句是指完成特定任务的指令序列,可以分为控制语句、表达式语句和声明语句三种。
#include <stdio.h>
int main()
{
printf("Hello, world!");
return 0;
}
2.数据类型
C语言中的数据类型包括基本数据类型和派生数据类型。基本数据类型包括整型、浮点型和字符型,派生数据类型包括数组、指针、结构体和共用体。每种数据类型在内存中占用的字节数是不同的。
#include <stdio.h>
int main()
{
int i = 10;
float f = 3.14;
double d = 3.1415926;
char c = 'a';
printf("i=%d, f=%f, d=%lf, c=%c", i, f, d, c);
return 0;
}
3.变量和常量
C语言中的变量用于存储数据,变量必须先定义后使用。变量的定义包括数据类型和变量名两部分,变量名可以是任何合法的标识符。常量是指在程序运行过程中不能改变的值,可以是整数、实数、字符或字符串。在C语言中,常量可以使用#define宏定义或const关键字定义。
#include <stdio.h>
int main()
{
int a = 10;
const int b = 20;
printf("a=%d, b=%d", a, b);
a = 30;
// b = 40; // 报错,常量不能被修改
printf("a=%d, b=%d", a, b);
return 0;
}
4.运算符和表达式
C语言中的运算符包括算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符和其他运算符。表达式是由运算符和操作数组成的式子,C语言中的表达式可以嵌套使用。
#include <stdio.h>
int main()
{
int a = 5 + 3; // 加法运算符
int b = 7 - 2; // 减法运算符
int c = 3 * 4; // 乘法运算符
float d = 6.0 / 2.0; // 除法运算符
int e = 7 % 3; // 取模运算符
int f = 5 == 5; // 等于运算符
int g = 6 > 3; // 大于运算符
int h = 4 <= 2; // 小于等于运算符
int i = (5 && 3); // 逻辑与运算符
int j = (7 || 0); // 逻辑或运算符
int k = !1; // 逻辑非运算符
int l = 0x0F & 0x06; // 位与运算符
int m = 0x0F | 0x06; // 位或运算符
int n = ~0x0F; // 位非运算符
int o = ^ 0x0F;// 位异或运算符
return 0;
}
5.控制结构
C语言中的控制结构包括条件语句、循环语句和跳转语句。条件语句包括if语句和switch语句,循环语句包括for循环、while循环和do-while循环,跳转语句包括break语句、continue语句和goto语句。
#include <stdio.h>
int main()
{
// 条件语句
int x = 5;
if (x > 3) {
printf("x大于3");
} else {
printf("x小于等于3");
}
// 循环语句
int i;
for (i = 0; i < 10; i++) {
printf("%d ", i);
}
int j = 0;
while (j < 5) {
printf("%d ", j);
j++;
}
i = 1;
do {
printf("%d ", i);
i++;
} while (i <= 5);
// 跳转语句
int k;
for (k = 0; k < 10; k++) {
if (k == 5) {
break;
}
printf("%d ", k);
}
return 0;
}
6.函数
C语言中的函数是由一组语句组成的代码块,可以接受输入参数并返回一个值。函数可以分为库函数和自定义函数两种,库函数是由C语言库提供的函数,而自定义函数是由程序员自己编写的函数。函数包括函数头和函数体两部分,函数头包括函数的返回类型、函数名和参数列表,函数体是由一组语句组成的代码块。
#include <stdio.h>
int add(int a, int b) {
return a + b;
}
int main()
{
int result = add(3, 4);
printf("%d", result);
return 0;
}
7.指针
指针是C语言中最重要的特性之一,它是一种数据类型,可以用来存储另一个变量的地址。指针变量的定义包括数据类型和指针名两部分,指针变量可以通过取地址符&来获取其他变量的地址,也可以通过解引用符*来访问指针所指向的变量的值。
#include <stdio.h>
int main()
{
int x = 5;
int *p = &x;
printf("%d", *p); // 输出5
return 0;
}
8.数组
数组是一种派生数据类型,它是一组相同类型的数据元素的集合,每个元素都有一个唯一的下标,可以通过下标访问数组中的元素。数组的定义包括数据类型、数组名和数组长度三部分,可以通过初始化来赋初值。
#include <stdio.h>
int main()
{
int myArray[5] = {1, 2, 3, 4, 5};
int i;
for (i = 0; i < 5; i++) {
printf("%d ", myArray[i]);
}
return 0;
}
9.结构体和共用体
结构体是一种派生数据类型,它是由不同类型的数据元素组成的集合,每个元素都有一个唯一的名称和数据类型。结构体的定义包括结构体名和成员列表两部分,可以通过.和->来访问结构体中的成员。共用体是一种特殊的结构体,它的所有成员共用同一个存储空间,可以按不同类型解释存储的数据。
#include <stdio.h>
struct Person {
char name[50];
int age;
};
union MyUnion {
int i;
float f;
};
int main()
{
struct Person myPerson = {"Tom", 20};
printf("%s is %d years old\n", myPerson.name, myPerson.age);
union MyUnion myUnion;
myUnion.i = 10;
printf("i=%d, f=%f\n", myUnion.i, myUnion.f);
myUnion.f = 3.14;
printf("i=%d, f=%f\n", myUnion.i, myUnion.f);
return 0;
}
以上每个点都只给出了一个简单的例子,当然这只是示例,实际上每个点的内容都非常丰富,需要通过更多的练习和实践才能掌握好。
本篇是C语言的基础知识的简要介绍,希望对您有所帮助。C语言的语法和结构相对简单,易于学习和使用,但是需要不断地练习和实践才能熟练掌握。在学习C语言的过程中,可以多做一些编程练习,多阅读相关的书籍和文献,逐渐掌握C语言的编程技巧和方法。
-END-