banner
NEWS LETTER

C 语言从入门到入土的心得

Scroll down

0. 前言

在大学的企业微信中 “惊奇地” 发现需要学 C 语言,然后才恍惚我这三个月一点编程语言没学,于是痛心疾首地开启了我的 C 语言入门到入土的学习,正好有个博客,我会把我的学习心得整理在这里供我自己查阅,如果你看见了并且对你有帮助,那么我会很高兴又帮助了一个人 qwq

之前先学的是 C 嘎嘎,所以我有时会写点 C 和 C 嘎嘎容易混淆的地方

我不会写目录,所以凑合看吧 qwq

1. 关于 char

在 C 嘎嘎中,如果要存储字符串,我们会用

CPP
std::string str = "abcd";

但是在 c 中,'char' 既可以存字符也可以存字符串,如果要存字符串

C
char str[] = "abcd"

之前我一直喜欢把字符串当作数组,按照 c 这样写,让我更加理解了

2. 关于 printf

2-1. 获取字符长度的技巧

'printf ()' 会向标准输出打印 '""' 中的字符,但是这个函数调用会返回字符的长度 (前提是字符没有空格,否则只会返回第一个空格之前的字符长度),于是

C
int a = printf("Hello");

其中 'a'的值就是'5'
如果字符里面含有空格,可以用 'fgets' 获取整行长度,如果是在

C
fgets(str,sizeof(str),stdin) //str是变量名,sizeof(str)是变量str的大小,stdin是从标准输入中读取

C 嘎嘎中使用'std::getline' 语法,不需要传入变量大小,并且会丢掉换行符,在 C 中需要我们自己删

示例代码

目标: 键盘输入一个字符串,编写代码获取字符串的长度并输出
如果是 C 语言

C
...    char str[] = {0}; //初始化一个str字符串变量    fgets(str,sizeof(str),stdin); //从键盘上读取整行(包括换行符),传给str    str[strcspn(str, "\n")] = '\0'; //把str中的换行符替换成结尾符    int length = strlen(str); //把str的字符串总数传给length    printf("%i",length);...

如果是 C 嘎嘎

CPP
...    std::string str; //动态扩容    std::getline(std::cin ,str); //从键盘上读取整行,传给str    std::cout << str.length() //输出str的长度...

这个时候 C 嘎嘎在写代码方面的优越性就体现出来了

如果觉得不错,请我喝杯奶茶吧~

其他文章
cover
如何在 GeoCourse 上购买课程
  • 26/08/05
  • 12:06:03
  • 未分类
目录导航 置顶
  1. 0. 前言
  2. 1. 关于 char
  3. 2. 关于 printf
  4. 2-1. 获取字符长度的技巧
请输入关键词进行搜索