重读《C primer plus》(四)

发布于:2022-12-19 ⋅ 阅读:(248) ⋅ 点赞:(0)

程序示例

// talkback.c --演示与用户交互
#include<stdio.h>
#include<string.h>
#define DENSITY 62.4//人体密度
int main( )
{
      float weight,volume;
      int size,letters;
      char name[40];//name是一个可容纳40个字符的数组
       
      printf("Hi!What's your first name?\n");
      scanf("%s,what's your weight in pounds?\n",name);
      printf("%f",&weight);
      size = sizeof(name);
      letters = strlen(name);
      volume = weight / DENSITY;
      printf("Well,%s,your volume is %2.2f cubic feet.\n",name,volume);
      printf("Also,your first name has %d letters,\n",letters);
      printf("and we have %d bytes to store it.\n",size);
      
      return 0;
 }

字符串简介

char类型数组和null字符

  • 由于C语言中没有专门储存字符串的变量类型,所以字符串都被储存在char类型的数组中,注意点是在每一个字符串的末尾字符==\0==,是非打印字符,即空字符(null character)
  • 数组是同类型数据元素的有序序列。

strlen( )函数

可以计算字符串长度的一个函数,需要注意的是它和size of的区别,size of会将空字符算在字符长度中,而strlen()函数则不会。

C预处理器

预处理指令在程序开始编译前便处理它们

#define

宏定义的用法:#define PI 3.1415926

const限定符

只限定于一个变量为只读,相较#define,更加灵活

printf()和scanf()

printf()函数

  • 打印数据的指令要和待打印数据类型相匹配
  • 打印较长的字符串时可以使用到转义字符来使得代码更加具有可读性

scanf()函数

  • 如果使用scanf()读取基本变量类型的值,在变量名前加一个&。
  • 如果scanf()把字符串读入字符数组中,不要使用&。

转换说明

printf()函数和scanf()函数都可以通过转换说明来控制输出的外观:字段宽度。小数位和字段内的布局。

关键概念

  1. 使用#define来定义数值常量(例如pi)
  2. 使用const来定义只读变量
  3. 对于scanf()函数来讲,一定要确保在变量名前加上取地址符&
本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到