c语言字符型输入格式化,c语言之字符串和格式化输入输出

字符串和格式化输入输出

#include

#include

#define DENSITY 62.4

int main(void)

{

float weight, volume;

int size, letters;

char name[];//数组

printf("Hi!What's your first name?");

gets(name);//get(sth.)取得地址

printf("%s,What's your weight in pounds?\n", name);

scanf_s("%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 fist name has %d letters\n", letters);

printf("We have %d bytes to store it in.\n", size);

return ;

}

字符串

用双引号表示,且C语言没有专门的字符串变量类型,而是把它储存在char数组里面。数组的最后一个位置显示空字符\0,用于标记字符串的结束。如 "The weather is so well!"

#include

#define PRAISE "You are so good!"

int main(void)

{

char name[];

printf("What's your name?");

gets(name);

printf("Hello,%s,%s", name, PRAISE);

getchar();

return ;

}

字符串和字符的区别

'x'是基本类型,而"x"是派生类型(char数组);

"x"实际上是由'x'和空字符两部分组成的。

strlen函数

#include

#define PRAISE "You are so good!"

int main(void)

{

char name[];

printf("What's your name?");

gets(name);

printf("Hello,%s,%s", name, PRAISE);

printf("Your name of %zd letters occupies %zd memory cells.\n", strlen(name), sizeof name);

/*strlen函数给出字符数,sizeof为给出所占内存数量;但是两者都需要使用"%zd"转换符来打印。另外sizeof(特定量),如sizeof(char),而一般的类型,不使用圆括号也可以。*/

printf("The phraze of PRAISE has %zd letters", strlen(PRAISE));

printf(" and occupies %zd memory cells.\n", sizeof PRAISE);

getchar();

return ;

}

这样在程序运行时,所有的NAME将会被value替代,这样定义的常量也称为明示常量。

#include

#define PI 3.14

int main(void)

{

float area, circum, radius;

printf("What's the radius of your pizza?\n");

scanf_s("%f", &radius);

area = PI * radius*radius;

circum = * PI*radius;

printf("Your basic pizza parameters are as follows:\n ");

printf("circumference = %1.2f,area = %1.2f\n", circum, area);

system("pause");

return ;

}

const限定符

const int = OLD_YEAR;//OLD_YEAR在程序里面不可修改

明示常量

#include

#include

int main(void)

{

printf("%d\n", INT_MAX);

system("pause");

return ;

}

limits.h

明示常量

含义

CHAR_BIT

char类型的位数

CHAR_MAX

char类型的最大值

CHAR_MIN

char类型的最小值

SCHAR_MAX

signed char类型的最大值

SCHAR_MIN

signed char类型的最小值

UCHAR_MAX

unsiged char类型的最大值

SHRT_MAX

short类型的最大值

SHRT_MIN

short类型的最小值

USHRT_MAX

unsigned short类型的最大值

INT_MAX

int类型的最大值

INT_MIN

int类型的最小值

UINT_MAX

unsiged int的最大值

LONG_MAX

long类型的最大值

LING_MIN

long类型的最小值

ULONG_MAX

unsigned long类型的最大值

LLONG_MAX

long long类型的最大值

LLONG_MIN

long long类型的最小值

ULLONG_MAX

unsigned long long类型的最大值

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类型值之间的差值

把明示常量名中的FLT分别替代成DBL和LDBL,即可分别表示double和long double类型对应的明示常量。

printf()和scanf()和*修饰符

如果不想预先指定字段宽度,希望通过程序来指定,那么可以用*修饰符代替字段宽度;如果转换符%*d,那么参数列表中应包含*和d对应的值

#include

int main(void)

{

unsigned width, precision;

int number = ;

double weight = 242.5;

printf("Enter a field width:\n");

scanf_s("%d", &width);

printf("The number is:%*d:\n", width, number);

printf("Now enter a width and a precision:\n");

scanf_s("%d %d", &width, &precision);

printf("Weight = %*.*f\n", width, precision, weight);

printf("Done!\n");

system("pause");

return ;

}

scanf()中*的用法与此不同,把*放在%和转换符之间时,会使得scanf()跳过相应的输入项。

#include

int main(void)

{

int n;

printf("Please enter three integers:\n");

scanf_s("%*d %*d %d", &n);

printf("The last integer was %d\n", n);

system("pause");

return ;

}

result:

Please enter three integers:

The last integer was

printf()用法提示

#include

int main(void)

{

int val_1 = , val_2 = , val_3 = ;

printf("%9d %9d %9d\n", val_1, val_2, val_3);//%nd设置字段宽度

system("pause");

return ;

}

result:

C Primer Plus_第四章_字符串和格式化输入输出_编程练习

Practice 1.输入名字和姓氏,以"名字,姓氏"的格式输出打印. #include int main(void) { char name[20]; char family[2 ...

C语言入门教程-(5)格式化输入输出

1.输入和输出 在程序的使用中,我们经常可以看的这么一个场景:用户需要输入数据,经过程序运算,得到结果后输出.在C语言中,输入数据和输出数据都是由库函数完成的,通过语句来输入/输出. 2.格式化输出— ...

C语言中字符串的格式化

本文整理转载自:http://wenku.baidu.com/view/065d62fff705cc1755270989.html C语言中格式字符串的一般形式为: %[标志][输出最小宽度][.精度 ...

【CPP】字符串和格式化输入输出

前导:数组(array),字符串转换说明符%s,定义符号常量,,strlen()获取字符串长度,. [字符串] 没有专门的字符串类型,是吧他存储在字符型数组中,数组最后一个字符为空字符'\0',c用他 ...

重学C语言---04字符串和格式化输入/输出

1.程序示例 //talkback.c一个能为你提供一些信息的对话框 #include #include //提供strlen函数原型 ...

C:指针、数据类型、格式化输入输出、输入函数的坑点

指针.数据类型.格式化输入输出.输入函数的坑点 有时候我们迷茫的时候,坚持就是最好的选择. 1.指针的分类为什么很重要? 参考 答:因为指针会根据相应的类型取对应长度的数据,类型决定所取数据的长度.如 ...

C语言中字符串详解

C语言中字符串详解 字符串时是C语言中非常重要的部分,我们从字符串的性质和字符串的创建.程序中字符串的输入输出和字符串的操作来对字符串进行详细的解析. 什么是字符串? C语言本身没有内置的字符串类型, ...

C语言printf()函数:格式化输出函数

C语言printf()函数:格式化输出函数 头文件:#include printf()函数是最常用的格式化输出函数,其原型为:     int printf( char ...

C++格式化输入输出

要实现格式化输入输出,程序需要包含 iostreams 标准标头  以定义几个各自采用单个参数的操控器. 备注: 其中每个操控器都返回重载 basic_istream&l ...

随机推荐

json数据格式及json校验格式化工具简单实现

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, ...

nginx 在ubuntu 上的启动,停止,重启

vi 显示行号 :set num 在开始玩nginx之前,得先安装nginx,可以参考   启动 sudo /usr/local/ng ...

CentOS6.5菜鸟之旅:安装SUN JDK1.7和Tomcat7

一.前言   CentOS6.5系统自带Open JDK1.7.1.6和1.5,但OpenJDK部分内容与SUN JDK不兼容,因此打算重新安装SUN JDK1.7来开发. 二.卸载Open JDK ...

你好,C++(10)这次的C++考试你过了没有?C++中表示逻辑判断的布尔数据类型

3.4  布尔类型 在日常生活中,我们除了需要使用int类型的变量表示216路公交车:需要使用float类型的变量表示西红柿3.5元一斤,有时候还需要表示一种数据,那就是逻辑状态: “这次的C++考试 ...

Android,使用Json发送数据中,使用的Java转义字符 KanKan原创

kankan原创 与php后台发送数据的时候.要求用到这样的格式. private void sendJson(){ //初始化自己定义的handler CashHandler handler = n ...

java Thread和Runable的深刻理解

线程(Thread)是指程序的运行流程,多线程机制指同时运行多个程序块. Java中实现多线程有两种方法:继承Thread类:实现Runnable接口. Thread类的run()方法的制定者:接口R ...

iOS 计时器三种定时器的用法NSTimer、CADisplayLink、GCD

原文:http://www.cocoachina.com/ios/20160919/17595.html DEMO链接

C# 替换Word文本—— 用文档、图片、表格替换文本

编辑文档时,对一些需要修改的字符或段落可以通过查找替换的方式,快速地更改.在C# 在word中查找及替换文本一文中,主要介绍了在Word中以文本替换文本的方法,在本篇文章中,将介绍如何用一篇Word文 ...

python之路day01--变量

一.变量 变量就是将一些运算的中间结果暂存到内存中,以便后续代码块调用. 规范: 1.必须由数字.字母.下划线任意组合,且不能数字开头. 2.不能是python中的关键字.如:‘print’ 'and ...

dubbo启动时检查服务

Dubbo 缺省会在启动时检查依赖的服务是否可用,不可用时会抛出异常,阻止 Spring 初始化完成,以便上线时,能及早发现问题,默认 check="true". 可以通过 che ...

你可能感兴趣的:(c语言字符型输入格式化)