设为首页 加入收藏

TOP

字符串和格式化输入输出(一)
2019-06-08 16:07:51 】 浏览:201
Tags:字符串 格式 输入 输出

一;字符串简介

  字符串(character string)是一个或多个字符的序列。比如:“i am a teacher!” 注意:双引号不是字符串的一部分,它的作用是告知编译器它包含起来的内容是字符串。对比单引号用于标识单个字符。

二;char类型数组和null字符

  C语言当中,没有专门存储字符串的变量类型,字符串都被存储在char类型的数组当中(数组由联系的存储单元组成,同类型数据元素的有序序列)且使用空字符“\0”来标识字符串的结束。详细如下图:

注意:字符串和字符是不同的。比如:字符串常量“A”和字符常量‘A’它们的区别在于‘A’是基本类型(char),"A"是派生类型(char 数组)。另外区别“A”实际上是由两个字符组成的:‘A’+控制符。

三;常量和C预处理量

  3.1;符号常量(明示常量)是在编译程序时,程序中所有的符号常量被替换为定义的初始值,且不会被程序无意间改变值。同时也是方便日后程序的修改。(预编译器可以使用#include包含其他文件的信息同时也可以用来定义常量)

  3.2;定义符号常量格式:#define NAME value (详细参考下面例子)

#include <stdio.h>
#define PI 3.14159     //定义一个PI字符常量
int main(void)
{
    float area, circum, radius;

    printf("What is the redius of your pizza?\n")
    scanf("%f",&radius);
    area = PI * radius * radius;   //使用字符常量,编译过程中自动转换为数值3.14159
    circum = 2.0 * PI * radius;
    printf("Your basic pizza parameters are as follows:\n");
    printf("circumference = %1.2f, area = %1.2f\n",circum,area);

    return 0;
}

四;connst限定符

  const关键字是C90标准新增的,作用是限定一个变量为只读。举例:

const int a = 12;      //a变量在程序中不可更改为只读。具体以后详细讲解:

五;明示常量

  明示常量相当于符号常量。常见使用如下:

  头文件limits.h包含明示常量如下:

明示常量 含义
CHAR_BIT char类型的位数
CHAR_MAX char类型的最大值
CHAR_MIN char类型的最小值
SCHAR_MAX signned char 类型的最大值
SCHAR_MIN signned char 类型的最小值
UCHAR_MAX unsigned char 类型的最大值
SHRT_MAX short类型的最大值
SHRT_MINN short类型的最小值
USHRT_MAX unsigned char 类型的最大值
INT_MAX

int类型的最大值

INT_MIN int类型的最小值
UINT_MAX unsigned int 的最大值
LONG_MAX long类型的最大值
LONG_MIN long类型的最小值
ULONG_MAX unsigned long 类型的最大值
LLONG_MAX long long 类型的最大值
LLONG_MIN long long 类型的最小值
ULLONG_MAX unsigned long log 类型的最大值

  头文件float.h包含明示常量如下:

明示常量 含义
FLT_MANT_DIG float类型的尾数位置
FLT_DIG float类型的最少有效数字位数(十进制)
FLT_MIN_10_EXP 带全部有效数字的float类型的最小负指数(以10为底)
FLT_MAX_10_EXP float类型的最大正指数(以10为底)
FLT_MIN 保留全部精度的float类型最小正数
FLT_MAX float类型的最大正数
FLT_EPSILON 1.00和比1.00大的最小float类型值之间的差值

 

六;printf()函数

  6.1;printf()函数为输出函数,且和scanf()函数一起称之为输入/输出函数。

  printf()函数格式为:printf(格式字符串,待打印项目1,待打印项目2,。。。) 其中“格式字符串”是双引号括起来的内容,使用“转换说明”符号来指定“待打印项目”值代入的位置以及数据转换可显示的形式。“待打印项目”可以是常量,变量,表达式。举例:

#include <stdio.h>
#define PI 3.14159
int main(void)
{
    int number = 7;
    printf("The number is %d\n",number);   //%d占位符,转换说明:有符号的十进制整数

    return 0;
}

注意:格式字符串中的转换说明一定要与后面的每个项目匹配。

  6.2;转换说明把以二进制格式存储在计算机中的值转换成一系列字符(字符串)以便于显示。printf()函数常见转换说明符号如下图:

转换说明 输出
%a 浮点数,十六进制数和p计数法(C99/C11)
%A 浮点数,十六进制数和p计数法(C99/C11)
%c 单个字符
%d 有符号十进制整数
%e 浮点数,e计数法
%E 浮点数,e计数法
%f 浮点是,十进制计数法
%g 根据值的不同,自动选择%f,%e,%e格式用于指数小于-4或者大于或等于精度时
%G 根据值的不同,自动选择%f,%e,%e格式用于指数小于-4或者大于或等于精度时
%i 有符号实际值整数
%o 无符号八进制整数
%p 指针
%s 字符串
%u 无符号十进制整数
%x 无符号十进制整数,使用十六进制数0f
%X 无符号十进制整数,使用十六进制数0F
%% 打印一个百分号

  6.3;printf()转换说明修饰符

    在%和转换字符之间插入修饰符可修饰基本的转换说明,比如:%4d 表示十进制整数位,保留4个最小字段宽度。如下表显示基本使用修饰符:

修饰符 含义
标记 标记包含5种类,详细查看下文标记表格。举例:“%-10d”
数字

最小字段宽度

注意:如果该字段不能容纳带打印的数字或字符串,系统默认会使用更宽的字段。

举例:“%4d”

.数字

精度

对于%e,%E,%f,转换,表示小数点右边数字的位数

对于%g,%G 表示有效数字最大的位数

%s 表示待打印字符的最大数量

整型转换,表示待打印数字的最小位数

举例:“%5.2f”打印一个浮点数,字段宽度5字符,其中小数点后面两位数字

h

和整数转换说明一起使用,表示short int 或unnsigned short int 类型的值

举例:“%hu”

hh

和整数转换说明一起使用,表示signed char 或者 u

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C语言(1) 下一篇linux 进程通信之 守护进程

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目