c语言函数调出字符串 c语言中字符串的函数

C语言怎么用printf输出字符串。

C语言怎么用printf输出字符串

创新互联是网站建设技术企业,为成都企业提供专业的成都网站设计、做网站、成都外贸网站建设公司,网站设计,网站制作,网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制适合企业的网站。十多年品质,值得信赖!

printf函数的一般格式

printf(格式控制字符串,输出表列);

以图1所示为例。

图1.

函数参数包括两部分:

【1】格式控制字符串,是用双引号括起来的字符串,也称为转换控制字符串,它指定输出数据项的类型和格式。

它包括两种信息:

●格式说明项:由%和格式字符组成,如%d,%f等。格式说明总是由%字符开始,到格式字符终止。它的作用是将输出的数据项转换为指定的格式输出。输出表列中的每个数据项对应一个格式说明项。

● 普通字符:即需要原样输出的字符,如逗号和换行符。

【2】输出列表,是需要输出的一些数据项,可以是表达式。

例如:假如a=3,b=4,那么printf("a=%db=%d",a,b);,输出a=3b=4。其中两个 “%d”是格式说明,表示输出两个整数,分别对应变量a,b。“a=”,“b=”是普通字符,原样输出。

由于printf是函数,因此,格式控制字符串和输出表列实际上都是函数的参数。printf函数的一般形式可以表示为:

printf(参数1,参数2,参数3,…,参数n)

printf函数的功能是将参数2到参数n按照参数1给定的格式输出。

【3】格式字符 (构成格式说明项)

对于不同类型的数据项,应当使用不同的格式字符构成的格式说明项。常用的有以下几种格式字符:(按不同类型数据,列出各种格式字符的常用用法)

【d格式符】用来输出十进制整数。有以下几种用法:

● %d,按照数据的实际长度输出。

● %md,m指定输出字段的宽度 (整数)。如果数据的位数小于m,则左端补以空格(右对齐);若大于m,则按照实际位数输出。

● %-md,m指定输出字段的宽度 (整数)。如果数据的位数小于m,则右端补以空格 (左对齐);若大于m,则按照实际位数输出。

● %ld,输出长整型数据,也可以指定宽度%mld。

【o格式符】以八进制形式输出整数。注意:是将内存单元中的各位的值按八进制形式输出,输出的数据不带符号,即将符号位也一起作为八进制的一部分输出。

例如:

inta=-1;

printf("%d,%o,%x",a,a,a);

-1的原码:1000,0000,0000,0001。

-1在内存中的补码表示为:

1111,1111,1111,1111=1,111,111,111,111,111=1,7,7,7,7,7=ffff

输出:-1,177777,ffff

【s格式符】用来输出一个字符串。有以下几种用法:

● %s,输出字符串。

● %ms,输出的字符串占m列,如果字符串长度大于m,则字符串全部输出;若字符串长度小于m,则左补空格 (右对齐)。

● %-ms,输出的字符串占m列,如果字符串长度大于m,则字符串全部输出;若字符串长度小于m,则右补空格 (左对齐)。

● %m.ns,输出占m列,但只取字符串左端n个字符,左补空白 (右对齐)。

● %-m.ns,输出占m列,但只取字符串左端n个字符,右补空白 (左对齐)。

【 f 格式符】用来输出实数 (包括单、双精度,单双精度格式符相同),以小数形式输出。有以下几种用法:

● %f,不指定宽度,使整数部分全部输出,并输出6位小数。注意,并非全部数字都是有效数字,单精度实数的有效位数一般为7位 (双精度16位)。

● %m.nf,指定数据占m列,其中有n位小数。如果数值长度小于m,左端补空格(右对齐)。

● %-m.nf,指定数据占m列,其中有n位小数。如果数值长度小于m,右端补空格(左对齐)。

【 e 格式符】以指数形式输出实数。可用以下形式表示:

● %e,不指定输出数据所占的宽度和小数位数,由系统自动指定。如6位小数,指数占5位,-e占1位,指数符号占1位,指数占3位。数值按照规格化指数形式输出 (小数点前必须有而且只有1位非0数字)。

c语言中如何输入输出字符串

在C语言中,输入输出字符串有以下两种方式:

1 用scanf/printf输入输出。

scanf/printf是C语言的格式化输入输出函数,可以用于输入输出各种基础类型,字符串(char*)也

其支持范围内。

格式化字符为%s。

定义

char str[100];

输入

scanf("%s",str);

输出

printf("%s",str);

2 C语言还支持专门的字符串输入输出函数:gets/puts。

gets的作用为,读入一行输入,并将读到的换行符替换为字符串结束符。

puts的作用为,将字符串单行输出,即输出字符串内容后,会自动在结尾增加换行。

定义

char str[100];

输入

gets(str);

输出

puts(str);

扩展资料:

起初,C语言没有官方标准。1978年由美国电话电报公司(ATT)贝尔实验室正式发表了C语言。布莱恩·柯林汉(Brian Kernighan) 和 丹尼斯·里奇(Dennis Ritchie) 出版了一本书,名叫《The C Programming Language》。

这本书被 C语言开发者们称为KR,很多年来被当作 C语言的非正式的标准说明。人们称这个版本的 C语言为KR C。

KR C主要介绍了以下特色:

结构体(struct)类型

长整数(long int)类型

无符号整数(unsigned int)类型

把运算符=+和=-改为+=和-=。因为=+和=-会使得编译器不知道使用者要处理i = -10还是i =- 10,使得处理上产生混淆。

即使在后来ANSI C标准被提出的许多年后,KR C仍然是许多编译器的最 准要求,许多老旧的编译器仍然运行KR C的标准。

1970到80年代,C语言被广泛应用,从大型主机到小型微机,也衍生了C语言的很多不同版本。

1983年,美国国家标准协会(ANSI)成立了一个委员会X3J11,来制定 C语言标准。

1989年,美国国家标准协会(ANSI)通过了C语言标准,被称为ANSI X3.159-1989 "Programming Language C"。因为这个标准是1989年通过的,所以一般简称C89标准。有些人也简称ANSI C,因为这个标准是美国国家标准协会(ANSI)发布的。

1990年,国际标准化组织(ISO)和国际电工委员会(IEC)把C89标准定为C语言的国际标准,命名为ISO/IEC 9899:1990 - Programming languages -- C  。

因为此标准是在1990年发布的,所以有些人把简称作C90标准。不过大多数人依然称之为C89标准,因为此标准与ANSI C89标准完全等同。

1994年,国际标准化组织(ISO)和国际电工委员会(IEC)发布了C89标准修订版,名叫ISO/IEC 9899:1990/Cor 1:1994,有些人简称为C94标准。

1995年,国际标准化组织(ISO)和国际电工委员会(IEC)再次发布了C89标准修订版,名叫ISO/IEC 9899:1990/Amd 1:1995 - C Integrity [7]  ,有些人简称为C95标准。

参考资料:百度百科-c语言

C语言子函数调用 字符串问题

1,楼上说得正确

printf("输出文本文件:");

// 这句后面增加:

while ((c=getchar())!='\n' c!=EOF );

//目的是清空输入缓冲区。

2,加密算法是正确的

int op,i;

char c,outcome[30];

printf("请输入操作要求:(0为加密,!0为解密):\n");

scanf("%d",op);

printf("请输入文本文件:\n");

i=0;

printf("输出文本文件:");

while ((c=getchar())!='\n' c!=EOF );

while((c=getchar())!='\n')

{

if(op)

outcome[i]=decrpt(c);

else

outcome[i]=encrpt(c);

printf("%c",outcome[i]);

i++;

}

printf("\n");

//while((c=getchar())!='\n')

char a[27] = "abcdefghijklmnopqrstuvwxyz";

char A[27] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

for(int i = 0; i 27; i++)

{

printf("the old char is [%c]", a[i]);

printf("--- the encrpt char is [%c] \n", encrpt(a[i]));

}

for(int i = 0; i 27; i++)

{

printf("the old char is [%c]", A[i]);

printf("--- the encrpt char is [%c] \n", encrpt(A[i]));

}

printf("\n");

getchar();

C语言中函数如何返回字符串?

C语言中实现函数返回字符串,首先要确定函数返回的字符串地址的来源,一般分为四种方式:

函数形参带进来的地址

静态局部变量地址

局部变量地址,必须在函数中用malloc()函数进行地址分配

采用全局变量地址

参考代码:

void  func1( char *s )  //通过形参返回字符串

{

strcpy( s, "hello");

}

char * func1_1( char *s ) //另一种写法

{

strcpy( s, "hello");

return s ; //返回形参地址,方便程序调用

}

char * func2( void )

{

static char s[100]; //不能是非静态变量,否则,子函数结束,局部变量被释放,调用者得到一个无效的地址值。

strcpy( s, "hello");

return s ; //返回静态局部变量地址,由调用者采用相应的指针变量接收返回值,得到字符串数据。

}

char * func3( void )

{

char *s ;

s=(char *)malloc( 100 );

strcpy( s, "hello");

return s ; //返回s值,该地址需要调用者去free()释放。

}

//定义全局变量

char globle_buf[100];

void func4( void )

{

strcpy( globle_buf, "hello");

}

char * func4_1( char *s ) //另一种写法

{

strcpy( globle_buf, "hello");

return globle_buf ; //返回全局变量地址,方便程序调用

}


文章名称:c语言函数调出字符串 c语言中字符串的函数
文章链接:http://cdiso.cn/article/hhhcse.html

其他资讯