C语言学习笔记<1>

这篇具有很好参考价值的文章主要介绍了C语言学习笔记<1>。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.

EOF(End of File)是文件结束标志,用于表示文件已经读取完毕。在C语言中,可以通过判断是否读取到EOF来判断文件是否读取完毕。

以下是一个简单的C语言代码示例,用于读取一个文本文件并输出其内容:

// 使用fopen函数打开一个名为example.txt的文件
// 然后使用fgetc函数逐个字符地读取文件内容
// 当fgetc函数返回EOF时,表示文件已经读取完毕,此时退出循环
// 最后,使用fclose函数关闭文件
#include <stdio.h>

int main() {
    FILE *file;
    char ch;

    file = fopen("example.txt", "r"); // 打开文件
    if (file == NULL) {
        printf("无法打开文件");
        return 1;
    }

    while ((ch = fgetc(file)) != EOF) { // 逐个字符读取文件内容
        putchar(ch); // 输出字符
    }

    fclose(file); // 关闭文件
    return 0;
}

2.单步执行

#include <Windows.h>

Sleep(1000);

#include <Windows.h> 是C/C++中引入Windows API头文件的语句,它包含了许多用于操作Windows操作系统的函数和数据类型。

Sleep(1000); 是一个Windows API函数,用于让程序暂停执行一段时间。在这个例子中,Sleep(1000) 表示程序将暂停执行1秒钟(1000毫秒)。这个函数通常用于控制程序的执行速度或者在需要等待某个操作完成时让程序暂停。

3.system执行系统操作
<1>清空屏幕
#include <stdlib.h>
system("cls");(system是一个库函数,可以执行系统命令)
<2>关机操作
#include <stdlib.h>
system("shutdown -s -t 60");

4.比较两个字符串是否相等

strcmp() 是C语言中的一个字符串比较函数,用于比较两个字符串的大小。头文件为<string.h>。它的原型为:

int strcmp(const char *str1, const char *str2);

参数 str1 和 str2 分别表示要比较的两个字符串。函数返回值为整数,如果 str1 小于 str2,则返回负数;如果 str1 等于 str2,则返回0;如果 str1 大于 str2,则返回正数。

简单示例:

#include <stdio.h>
#include <string.h>
int main() {
    char str1[] = "Hello";
    char str2[] = "World";
    char str3[] = "Hello";
    if (strcmp(str1, str2) == 0) {
        printf("str1 and str2 are equal");
    }
    else {
        printf("str1 and str2 are not equal");
    }
    if (strcmp(str1, str3) == 0) {
        printf("str1 and str3 are equal");
    }
    else {
        printf("str1 and str3 are not equal");
    }
    return 0;
}

5.生成随机数

#include <stdlib.h> //srand的头文件
#include <time.h> //time的头文件

srand((unsigned int)time(NULL)); //NULL是空指针
int num = rand();//num是生成的随机数

6.cmd关机

shutdown -s -t 60六十秒后关机
shutdown -a取消关机

7.

在C语言中,static关键字有三个主要的用途:

  1. 修饰局部变量:当一个局部变量被声明为static时,它的生命周期会在整个程序运行期间持续存在,而不是在函数调用结束后销毁。这意味着即使函数返回,该变量的值也会保留下来,下次调用该函数时,它将保持上次的值。

  2. 修饰全局变量:当一个全局变量被声明为static时,它的作用域将被限制在声明它的源文件中。这意味着其他源文件不能访问这个变量。这可以防止命名冲突。

  3. 修饰函数:当一个函数被声明为static时,它的作用域也将被限制在声明它的源文件中。这也有助于防止命名冲突。

代码示例:

#include <stdio.h>

// 使用static修饰全局变量
static int global_var = 0;

void func() {
    // 使用static修饰局部变量
    static int local_var = 0;
    local_var++;
    global_var++;
    printf("local_var: %d, global_var: %d\n", local_var, global_var);
}

int main() {
    func();
    func();
    return 0;
}

8.

extern关键字用于声明一个变量或函数,表示它的定义在其他地方。这样,多个源文件可以共享同一个变量或函数。

当一个变量或函数被声明为extern时,编译器会在链接阶段查找其定义。如果找不到定义,就会报错。

下面是一个简单的示例:

file1.c:

#include <stdio.h>

int global_var = 10; // 全局变量

void print_global_var() {
    printf("global_var: %d
", global_var);
}

file2.c:

#include <stdio.h>

extern int global_var; // 声明全局变量
extern void print_global_var(); // 声明函数

int main() {
    printf("global_var: %d
", global_var);
    print_global_var();
    return 0;
}

编译和链接:

gcc file1.c file2.c -o program // 编译和链接这两个源文件,得到了一个可执行程序

输出:

global_var: 10
global_var: 10

9.

结构体是一种复合数据类型,它可以包含不同类型的数据成员。结构体可以用来表示现实世界中的对象,例如学生、员工等。

定义结构体的语法如下:文章来源地址https://www.toymoban.com/news/detail-855502.html

struct 结构体名 {
    数据类型1 成员名1;
    数据类型2 成员名2;
    ...
};
// 例如,我们可以定义一个表示学生信息的结构体:
struct Student {
    char name[20]; // 姓名
    int age;       // 年龄
    float score;   // 成绩
};


// 使用结构体时,需要先声明一个结构体变量,然后可以通过点运算符访问其成员。例如:
struct Student stu;
stu.name = "张三";
stu.age = 18;
stu.score = 90.5;


// 结构体指针可以用来指向结构体变量的地址。通过结构体指针可以访问结构体变量的成员。例如:
struct Student *p = &stu;
strcpy(p->name, "李四");
p->age = 20;
p->score = 80.5;


// 结构体作为函数参数和返回值也是常见的用法。例如,我们可以定义一个函数来计算学生的平均成绩:
float average_score(struct Student *students, int num) {
    float sum = 0;
    for (int i = 0; i < num; i++) {
        sum += students[i].score;
    }
    return sum / num;
}

到了这里,关于C语言学习笔记<1>的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Go语言学习笔记(二)

    Go语言学习笔记(二)

    以下是一些推荐的Go语言学习资源的链接: Go语言教程:https://golang.org/doc/ Go by Example:Go by Example Golang Tutorials:https://golangtutorials.com/ Go语言第一课(慕课网):PHP模糊查询技术案例视频教程-慕课网 Go语言进阶教程(实验楼):极客企业版 Go语言高级编程(GitBook):谁是凶手

    2024年01月20日
    浏览(13)
  • C语言学习笔记:数组

    C语言学习笔记:数组

    ✨博文作者:烟雨孤舟 💖 喜欢的可以 点赞 收藏 关注哦~~ ✍️ 作者简介: 一个热爱大数据的学习者 ✍️ 笔记简介:作为大数据爱好者,以下是个人总结的学习笔记,如有错误,请多多指教! 目录 ​​​​​​​ 简介 数组声明 数组初始化 访问数组元素 多维数组 二维数组

    2024年02月09日
    浏览(10)
  • lua脚本语言学习笔记

    lua脚本语言学习笔记

    Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。 因为我们使用redis的时候一般要写lua脚本,这篇文章就介绍一下lua脚本语言的基础用法。 window操作系统下可以使用SciTE来

    2024年02月16日
    浏览(13)
  • Go语言学习笔记(三)

    Go语言学习笔记(三)

    教程:文档 - Go 编程语言 (studygolang.com) 在call-module-code需要注意,需要在hello目录下操作 这是一个在Go项目的模块管理中的命令。在Go的模块管理工具( go mod )中,这个命令用于修改模块依赖关系。 具体来说, go mod edit -replace example.com/greetings=../greetings  这个命令的作用是:

    2024年02月02日
    浏览(8)
  • C语言学习笔记<1>

    1. EOF(End of File)是文件结束标志,用于表示文件已经读取完毕。在C语言中,可以通过判断是否读取到EOF来判断文件是否读取完毕。 以下是一个简单的C语言代码示例,用于读取一个文本文件并输出其内容: 2.单步执行 #include Windows.h 是C/C++中引入Windows API头文件的语句,它包

    2024年04月22日
    浏览(12)
  • 【go语言学习笔记】04 Go 语言工程管理

    【go语言学习笔记】04 Go 语言工程管理

    1. 单元测试 单元测试是保证代码质量的好方法,但单元测试也不是万能的,使用它可以降低 Bug 率,但也不要完全依赖。除了单元测试外,还可以辅以 Code Review、人工测试等手段更好地保证代码质量。 1.1 定义 顾名思义,单元测试强调的是对单元进行测试。在开发中,一个单

    2024年02月13日
    浏览(13)
  • C语言学习笔记 第一个C语言项目-07

    C语言学习笔记 第一个C语言项目-07

    目录 1.新建一个文件夹  2.新建一个文件,后缀以.cpp结尾 3.编写代码 4.编译与执行代码 代码解析  总结  如下图所示,选择相应的文件夹,然后点击新建文件按钮,新建的文件一定要写后缀。 #includestdio.h int main(){     printf(\\\"hello world!n\\\");     return 0; } 在vscode中,首先保存文

    2024年02月16日
    浏览(12)
  • C语言学习笔记---C语言分支与循环语句

    前言: 什么是语句? C语言可分为以下五类: 表达式语句 函数调用语句 控制语句 复合语句 空语句 语句 :C语言中,由分号隔开的句子就是一条语句 如: C语言中用 非零 表示 真 ,用 零 表示 假 ,即: 逻辑真,逻辑假 三大语法结构 :顺序结构、分支(选择)结构、循环结构

    2024年02月16日
    浏览(16)
  • C语言学习笔记:输入&输出

    ✨博文作者:烟雨孤舟 💖 喜欢的可以 点赞 收藏 关注哦~~ ✍️ 作者简介: 一个热爱大数据的学习者 ✍️ 笔记简介:作为大数据爱好者,以下是个人总结的学习笔记,如有错误,请多多指教! 目录 scanf和printf gets和puts getchar和putchar printf是格式化的输出函数,scanf是C语言的输

    2024年02月09日
    浏览(10)
  • C语言学习笔记:递归例题

    ✨博文作者:烟雨孤舟 💖 喜欢的可以 点赞 收藏 关注哦~~ ✍️ 作者简介: 一个热爱大数据的学习者 ✍️ 笔记简介:作为大数据爱好者,以下是个人总结的学习笔记,如有错误,请多多指教! 目录 数的阶乘 打印整数的位数 字符串个数统计 斐波那契数列 穷举算法 汉诺塔问

    2024年02月09日
    浏览(10)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包