问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

发布网友 发布时间:2022-04-19 19:17

我来回答

9个回答

热心网友 时间:2023-01-19 05:20

在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年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。布莱恩·柯林汉(Brian Kernighan) 和 丹尼斯·里奇(Dennis Ritchie) 出版了一本书,名叫《The C Programming Language》。

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

K&R C主要介绍了以下特色:

结构体(struct)类型

长整数(long int)类型

无符号整数(unsigned int)类型

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

即使在后来ANSI C标准被提出的许多年后,K&R C仍然是许多编译器的最 准要求,许多老旧的编译器仍然运行K&R 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语言

热心网友 时间:2023-01-19 06:38

在<string.h>头文件中用字符串处理函数输入和输出,gest用来输入,puts用来输出。

字符串输入函数gets,从键盘键入以回车结束的字符串放入字符数组中,并自动加’\0'。输入串长度应小于字符数组维数,字符串中可以包含空格。

字符串输出函数puts,向显示器输出字符串(输出完,自动换行,即用'\n'替'\0')。字符数组必须以'\0'结束。

示例代码如下:

#include<string.h>

int main()

{

char str[40];

printf("请输入字符串");

gets(str);

printf("请输出字符串");

puts(str);

system("pause");

return 0;

}

扩展资料

在C中,对文件的操作分为两种方式,即流式文件操作和I/O文件操作。

流式文件操作,这种方式的文件操作有一个重要的结构FILE,FILE在头文件stdio.h中定义如下:

typedef struct {

int level; /* fill/empty level of buffer */

unsigned flags; /* File status flags */

char fd; /* File descriptor */

unsigned char hold; /* Ungetc char if no buffer */

int bsize; /* Buffer size */

unsigned char _FAR *buffer; /* Data transfer buffer */

unsigned char _FAR *curp; /* Current active pointer */

unsigned istemp; /* Temporary file indicator */

short token; /* Used for validity checking */

} FILE; /* This is the FILE object */

直接I/O文件操作,这是C提供的另一种文件操作,它是通过直接存/取文件来完成对文件的处理,此类文件操作常用的函数及其所用的一些符号在io.h和 fcntl.h中定义,在使用时要加入相应的头文件。

参考资料:

百度百科——puts

百度百度——gets

热心网友 时间:2023-01-19 08:12

1、字符串数组输入输出字符串:

char s1[]="array";  //字符数组

char s2[6]="array";  //数组长度=字符串长度+1 

printf("%s,%c\n",s1,s2[2]);   

2、字符串指针输入输出字符串:

char *sp="pointer";  //字符指针

printf("%s,%c,%c\n",sp,*sp,*(sp+2));   

3、指针和scanf函数共同输入输出字符串:

char s1[6];

scanf("%s\n",s1);

printf("%s,%c\n",s1,s1[2]);

4、指针+数组+scanf 输入输出字符串:

char str[60], *sp=str;//将数组的首地址str赋给指针变量spscanf("%s\n",sp);

printf("%s,%c,%c\n",sp,*sp,*(sp+3));

printf("%s,%c,%c\n",str,str[0],str[3]); 

扩展资料

C语言字符串及基本构成:

1、数组:如果一个变量名后面跟着一个有数字的中括号,这个声明就是数组声明。字符串也是一种数组。它们以ASCII的NULL作为数组的结束。要特别注意的是,方括内的索引值是从0算起的。 

2、指针:如果一个变量声明时在前面使用 * 号,表明这是个指针型变量。换句话说,该变量存储一个地址,而 *(此处特指单目运算符 * ,下同。C语言中另有 双目运算符 *) 则是取内容操作符,意思是取这个内存地址里存储的内容。指针是 C 语言区别于其他同时代高级语言的主要特征之一。 

3、字符串:C语言的字符串其实就是以'\0'字符结尾的char型数组,使用字符型并不需要引用库,但是使用字符串就需要C标准库里面的一些用于对字符串进行操作的函数。它们不同于字符数组。使用这些函数需要引用头文件<string.h>。

参考资料:百度百科—C语言

热心网友 时间:2023-01-19 10:04

在C语言中,输出字符串的函数有两个:

puts():直接输出字符串,并且只能输出字符串。

printf():通过格式控制符 %s 输出字符串。除了字符串,printf() 还能输出其他类型的数据。

这里不妨再演示一下,请看下面的代码:

#include <stdio.h>
int main(){
int i;
char str[] = "http://c.biancheng.net";
printf("%s\n", str);  //通过变量输出
printf("%s\n", "http://c.biancheng.net");  //直接输出
puts(str);  //通过变量输出
puts("http://c.biancheng.net"); //直接输出
return 0;

}

运行结果:

http://c.biancheng.net

http://c.biancheng.net

http://c.biancheng.net

http://c.biancheng.net

在 printf() 函数中使用%s

输出字符串时,在变量列表中给出数组名即可,不能写为printf("%s", str[]);字符串的输入

在C语言中,输入字符串的函数有两个:

scanf():通过格式控制符 %s 输入字符串。除了字符串,scanf() 还能输入其他类型的数据。

gets():直接输入字符串,并且只能输入字符串。

扩展资料

函数应用

1. 连接运算 concat(s1,s2,s3…sn) 相当于s1+s2+s3+…+sn.

例:concat(‘11’,'aa’)='11aa’;

2. 求子串。 Copy(s,I,I) 从字符串s中截取第I个字符开始后的长度为l的子串。

例:copy(‘abdag’,2,3)=’bda’

3. 删除子串。过程 Delete(s,I,l) 从字符串s中删除第I个字符开始后的长度为l的子串。

例:s:=’abcde’;delete(s,2,3);结果s:=’ae’

4. 插入子串。 过程Insert(s1,s2,I) 把s1插入到s2的第I个位置

例:s:=abc;insert(‘12’,s,2);结果s:=’a12bc’

5. 求字符串长度 length(s) 例:length(‘12abc’)=5

在ASP中 求字符串长度用 len(s)例: len("abc12")=5

6. 搜索子串的位置 pos(s1,s2) 如果s1是s2的子串 ,则返回s1的第一个字符在s2中的位置,若不是子串,则返回0.

例:pos(‘ab’,’12abcd’)=3

7. 字符的大写转换。Upcase(ch) 求字符ch的大写体。

例:upcase(‘a’)=’A’

8. 数值转换为数串。 过程 Str(x,s) 把数值x化为数串s.

例:str(12345,s); 结果s=’12345’

9. 数串转换为数值。 过程val(s,x,I) 把数串s转化为数值x,如果成功则I=0,不成功则I为无效字符的序数,第三个参数也可不传

例:val(‘1234’,x,I);结果 x:=1234

参考资料来源:百度百科:字符串

热心网友 时间:2023-01-19 12:12

C语言中输入输出字符串的函数如下:

在C语言中,输出字符串的函数有两个:

1、puts():直接输出字符串,并且只能输出字符串。

2、printf():通过格式控制符 %s 输出字符串。除了字符串,printf() 还能输出其他类型的数据。

在C语言中,输入字符串的函数有两个:

1、scanf():通过格式控制符 %s 输入字符串。除了字符串,scanf() 还能输入其他类型的数据。

2、gets():直接输入字符串,并且只能输入字符串。

扩展资料:

输出字符串的例子:

#include <stdio.h>

int main(){

int i;

char str[] = "http://c.biancheng.net";

printf("%s\n", str); //通过变量输出

printf("%s\n", "http://c.biancheng.net"); //直接输出

puts(str); //通过变量输出

puts("http://c.biancheng.net"); //直接输出

return 0;

}

运行结果:

http://c.biancheng.net

http://c.biancheng.net

http://c.biancheng.net

http://c.biancheng.net

在 printf() 函数中使用%s输出字符串时,在变量列表中给出数组名即可,不能写为printf("%s", str[]);。

参考资料:

百度百科-c语言

热心网友 时间:2023-01-19 14:36

puts()和gets()都是数组函数,输入或输出前要定义数组
例如:
char a[50];
gets(a);
puts(a);
就是一个简单的输入后再将输入的东西输出,puts()的输入和printf的输出是有一定的区别的,puts()遇到‘\0'就终止,而用printf则不会这样。
例如:
char a[50];
gets(a);
puts(a);
printf("%s",a);
如果正好输入50个字符,则两次输出一致。但如果输入字符不足50个,puts()输出输入的全部字符,而没有输入的不输出,而printf则不能识别'\0',所以会出现乱码。

热心网友 时间:2023-01-19 17:18

puts()和gets()函数
1. puts()函数
puts()函数用来向标准输出设备(屏幕)写字符串并换行, 其调用格式为:
puts(s);
其中s为字符串变量(字符串数组名或字符串指针)。
puts()函数的作用与语printf("%s\n", s)相同。
例4:
main()
{
char s[20], *f; /*定义字符串数组和指针变量*/
strcpy(s, "Hello! Turbo C2.0"); /*字符串数组变量赋值*/
f="Thank you"; /*字符串指针变量赋值*/
puts(s);
puts(f);
}

说明:
(1). puts()函数只能输出字符串, 不能输出数值或进行格式变换。
(2). 可以将字符串直接写入puts()函数中。如:
puts("Hello, Turbo C2.0");

2. gets()函数
gets()函数用来从标准输入设备(键盘)读取字符串直到回车结束, 但回车符
不属于这个字符串。其调用格式为:
gets(s);
其中s为字符串变量(字符串数组名或字符串指针)。
gets(s)函数与scanf("%s", &s)相似, 但不完全相同, 使用scanf("%s", &s)
函数输入字符串时存在一个问题, 就是如果输入了空格会认为输入字符串结束,
空格后的字符将作为下一个输入项处理, 但gets() 函数将接收输入的整个字符
串直到回车为止。
例5
main()
{
char s[20], *f;
printf("What's your name?\n");
gets(s); /*等待输入字符串直到回车结束*/
puts(s); /*将输入的字符串输出*/
puts("How old are you?");
gets(f);
puts(f);
}

参考资料:http://zhidao.baidu.com/question/16672631.html?si=1

热心网友 时间:2023-01-19 20:16

C语言中字符串的输入和输出主要有两种方式:
输入使用:scanf("%s",a);对应的输出使用:printf("%s\n",a);
输入使用:gets(b);对应的输出使用:puts(b);
参考代码:

热心网友 时间:2023-01-19 23:30

//小白写程序
//输入一行字符串,分别统计出其中英文字符、空格、数字、和其他字符

#include <stdio.h>

int main()
{
    char *p = "abc ABC 123 !@# ";            //字符串用char类型
    int a = 0, b = 0, c = 0, d = 0; 
    //a为大小写字母,b为空格,c为数字,d为其他字符并赋初值0;    
    while(*p != '\0')                        //判断是否循环结束
    {
        if((*p >= 'a' && *p <= 'z') || (*p >= 'A' && *p <= 'Z'))
        // 判断字母
            a++;
        //统计字母个数
        else if(*p == ' ')
        //判断是否为空格
            b++;
         //统计空格个数
        else if(*p >= '0' && *p <= '9')
        //判断是否为数字
            c++:d
        //统计数字个数
        else
        //其他特殊字符
            d++;
        //统计特殊字符个数
        *p++;            //判断字符串的下一个是什么
    }
    printf("a = %d, b = %d, c = %d, d = %d\n", a, b, c, d);
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...的话有啥影响,怎么听说对六年后换证有影响? ...重新刷学时吗,科一科二科三科四可以转校吗? 考完科一科二科三科四要多久 ...但是科目三的学时没有打满对以后有没有影响? 我的学时卡没有打过,一点都没有,不过我科一科二科三科四都全部考完了... 五行穿搭2021年10月8日五行属什么怎么穿衣 十月八日上到十月几日 ipadmini和iphone6是充电器不一样、还是数据线不一样呢?可以互相使用充 ... iphone6的插头可以通用ipad mini 吗 iphone6和ipad mini的充电器可以通用吗 c语言是通过什么来输入输出的? C语言程序怎么输出 关于C语言输出 c语言中如何输出 WPS表格粘贴为数值的数字可以恢复原值么? wps表格公式如何复制到另一个表格? 为什么WPS表哥复制粘贴后和原来的格式不一样 WPS文档复制粘贴后布局和原来不一样怎么办? wps表格复制粘贴后为什么不能保持原格式 从外部粘贴内容到wps,却还需要保留原来的格式,怎... WPS复制公式,保持公式内容不变 WPS复制粘贴默认为无格式文本,想改为保留原格式 wps中怎么把表格中的公式和数值复制粘贴到另一个工... WPS文字里粘贴怎么保留原格式 wps表格怎么复制表格保持原有格式 wps复制粘贴后如何保持原格式 wps表格粘贴怎么保持原格式 wps粘贴表格怎样保持原有格式 wps表格怎样粘贴公式 wps中怎么复制文件保留原有格式 如何用C语言输出结果? C语言中的程序输出 关于C语言的输出问题? c语言输出 C语言中如何输入输出文字 C语言输入输出格式 请问在c语言中如何输出百分数? 关于C语言输出问题 c语言输出格式%*s c语言输出数字的格式 C语言 十六进制怎么输出? C语言数组怎么输出全部? C语言输入输出是什么意思? c语言的输出问题 三星n9200和9280哪个手机更好点? 螃蟹内脏怎么去除图解 三星n9200使用说明 苹果12怎么关掉后台程序 如何关闭苹果12运行程序 危险化学品生产,储存装置个人风险和社会风险用什...