C语言基础学习
路漫漫其修远兮,吾将上下而求索
C语言简介
C语言是一门通用型,面向过程的编程语言。
#include <stdio.h>
int main(){
printf("HelloWorld");
return 0;
}
以上就是一个简单的C语言程序例子。
不同的变量类型
目前为止本人学到了以下类型:
- 整数类型
- 浮点数类型
- 字符类型
- 布尔类型
逻辑和循环
逻辑判断
if (判断){
语法块
}else if(判断){
语法块
}else{
语法块
}
for循环
for (int i = 0 ; i < 10;i++){
printf ("hello");
}
# 输出10次hello
```c
### while循环
```c
while (判断){
#语法块
}
# 如果判断成立,则循环一直下去。
do……while循环
do{
#语法块
}while(判断)
# 先做操作,再判断循环
break和continue
break:break的意思是跳出循环
continue:continue的意思是终止此轮循环开启下一轮循环
列表
列表定义
我们可以通过下列方式定义一个列表
int num[10] = {1,2,3,4,5,6,7,8,9,10};
# 该方法定义的列表是个死列表,最大只能撑下10个数字
列表取用
列表取用方法如下
int num[10] = {1,2,3,4,5,6,7,8,9,10};
printf("%d",num[0]);# 输出位置为一的列表
列表修改
修改列表的方法如下
num[0] = 3; # 将原列表的num位置0的值修改为3;
函数
函数的是可重复利用的代码段,定义一个函数的方法如下所示:
void name(int s){
# 代码块
}
# name为你要定义的函数名字
# int s为要传入的参数
enum枚举
枚举是c语言中的一种基本数据类型,它可以让数据更易读。
定义枚举
我们可以使用下面的代码定义一个枚举:
enum BlackWu{
"haozhan","haozhan1"
};
使用枚举
enum BlackWu bw;
bw = haozhan;
printf("%s",bw);
使用上述方式使用枚举
结构体
结构体就类似没有方法的类,用于存储数据
定义一个结构体:
struct Student{
char name[10];
int age;
}
struct Student student = {"haozhan",19};
访问成员内容
我们可以通过以下方式访问成员变量
printf("%s",student.name);
我们不仅可以访问,还可以对成员内容进行修改。
共用体
共用体是一种极其特殊的数据类型,允许您在相同的内存位置存储不同的数据,但是任何时候只循序一个成员拥有值
union name{
char name[10];
};
C语言输入和输出
getchar和putchar
getchar 屏幕读取下一个可用的字符,并把它返回为一个整数。这个函数在同一个时间内只会读取一个单一的字符。您可以在循环内使用这个方法,以便从屏幕上读取多个字符。
putchar 函数把字符输出到屏幕上,并返回相同的字符。这个函数在同一个时间内只会输出一个单一的字符。您可以在循环内使用这个方法,以便在屏幕上输出多个字符。
gets()和puts()
char *gets(char *s) 函数从 stdin 读取一行到 s 所指向的缓冲区,直到一个终止符或 EOF。
int puts(const char *s) 函数把字符串 s 和一个尾随的换行符写入到 stdout。
scanf() 和 printf()
int scanf(const char *format, …) 函数从标准输入流 stdin 读取输入,并根据提供的 format 来浏览输入。
int printf(const char *format, …) 函数把输出写入到标准输出流 stdout ,并根据提供的格式产生输出。
字符串处理
字符串是c语言的一种数据类型
处理字符串需要先引入字符串的库<string.h>
详细代码如下:
#include <stdio.h>
#include <string.h>
int main(){
char name[] = "Hello";
printf("%s",name);
return 0;
}
strcpy(s1, s2);
复制字符串 s2 到字符串 s1。
strcat(s1, s2);
连接字符串 s2 到字符串 s1 的末尾。
strlen(s1);
返回字符串 s1 的长度。
strcmp(s1, s2);
如果 s1 和 s2 是相同的,则返回 0;如果 s1<s2 则返回小于 0;如果 s1>s2 则返回大于 0。
strchr(s1, ch);
返回一个指针,指向字符串 s1 中字符 ch 的第一次出现的位置。
strstr(s1, s2);
返回一个指针,指向字符串 s1 中字符串 s2 的第一次出现的位置。
指针
int *p = &a;
可以用指针的方法向一个列表内塞超出去的东西