【C语言】学习笔记3——字符串

1. 字符串(charcacter string)是一个或多个字符的序列

2. C语言没有专门用于存储字符串的变量类型。字符串都被存储在char类型的数组种。

3. 数组由连续的存储单元组成,字符串种的字符被存储在相邻的存储单元中, 每个单元存储一个字符。结尾会

                

4. 声明一个char变量和声明一个char数组

                

5. 使用字符串。 下面的示例程序中我们可以看到:

  a. 字符串 "yeyeck" 被存储在一个长度为40的char数组中  char name[40];

  b. sizeof(name) = 40           输出的是声明时char数组的大小。

  c. strlen(name) = 6              输出的时实际上“yeyeck”所占用的大小 

  另外, scanf() 方法只会读取第一个单词。fgets() 用于读取一般的字符串

#include <string.h>             //提供strlen() 函数原型 

#define DENSITY 62.4            // 人体密度 (单位: 磅/立方英尺) 

int main() 
{
    float weight, volume;
    int size, letters;
    char name[40];     //声明一个可容纳40个字符的数组
    
    printf("Hi! What's your first name?
");
    scanf("%s", name);
    
    printf("%s, what's your weight in pounds?
", name);
    scanf("%f", &weight);
    
    size = sizeof(name);
    letters = strlen(name);
    volume = weight / DENSITY;
    
    printf("Well, %s, your volume is %2.2f cubic feet.
", name, volume);
    
    printf("Also, your first name has %d letters,
", letters);
    
    printf("and we have %d bytes to store it.
", size);
    
    return 0;
    
} 
/*
output:
    Hi! What's your first name?
    yeyeck
    yeyeck, what's your weight in pounds?
    100
    Well, yeyeck, your volume is 1.60 cubic feet.
    Also, your first name has 6 letters,
    and we have 40 bytes to store it.
*/

3. 字符串常量和字符常量的区别。字符串末尾会跟一个空字符

                          

          

4. 常量和预处理器。在程序中经常要使用到常量。比如说圆周率 Π。

  a. 我们可以在程序中声明变量     float pi = 3.14159

  b. 如果我们这样使用,因为 pi 是一个变量,在写代码的过程中如果不注意,可能会修改 pi 的值。 比如不小心写了一行代码 pi=31.456. 这是我们不想要的结果。

  c. 使用C预处理器, 在程序顶部添加一行代码

        #define PI 3.14159

   在编译程序时,程序中所有的 PI 会被替换成3.14159。这一过程被称为 编译时替换

   通用格式为  # define NAME value。

   预处理的过程如下图

  

  d. 使用const限定符(C90)。 const float PI = 3.14159;

   这表明 PI 为一个只读常量。 不允许更改

5. printf 输出格式

  

  

  

  

  

欢迎访问我的个人博客站点: https://yeyeck.com
原文地址:https://www.cnblogs.com/yeyeck/p/9497086.html