十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
1、新建一个 字符串数组的定义与输出项目。
创新互联建站专业为企业提供东河网站建设、东河做网站、东河网站设计、东河网站制作等企业网站建设、网页设计与制作、东河企业网站模板建站服务,十余年东河做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
2、添加一个 str.c 文件。
3、包含stdio.h和stdlib.h头文件。
4、输入main函数主体,system()和返回值。
5、定义一个字符串变量str。
6、使用printf()函数输出字符串变量str。
7、运行程序,查看输出结果。
1、puts函数——输出字符串的函数
一般的形式为puts(字符串组)
作用:将一个字符串输出到终端。如,char一个string,并赋予初值。调用puts(string);进行字符串的输出。
2、gets函数——输入字符串的函数
一般的形式:gets(字符数组)
作用:从终端输入一个字符串到字符数组,并且得到一个函数值成为字符数组的起始地址。
gets(str);
键盘输入,,,,你懂得。
注意:puts和gets函数只能输出或者输入一个字符串。
3、strcat函数——字符串连接函数
一般的形式:strcat(字符数组1,字符数组2);
作用:把两个字符串数组中字符串连接起来,把字符串2连接到字符串1的后面。
说明:字符数组1必须足够大,以便容纳连接后的新字符串。
4、strcpy/strncpy函数——字符串复制函数
一般形式:strcpy(字符数组1,字符串2);
作用:将字符串2复制到字符数组1中去。
如:char str1[10],str2[]="DongTeng";
strcpy(str1,str2);
执行后的结果为:你懂得
注意:
1. 不能用赋值语句直接将一个字符串常量或者字符数组直接给一个字符数组。
2. 用strncpy可以赋值指定的位置的字符。strncpy(str1,str2,3);将str2中的第3个字符复制到str1中。
5、strcmp函数——字符串比较函数
一般形式:strcmp(字符串1,字符串2);
作用:用来比较两个字符串的差异。具有不同的比较规则。
6、strlen函数——测字符串长度的函数
一般形式:strlen(字符数组);
如:char str[10]="DongTeng";
printf("%d",strlen(str));
得到的结果是:5
7、strlwr函数——转换为小写的函数
一般形式:strlwr(字符串);
8、strupr函数——转换为大写的函数
一般形式:strupr(字符串)。
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数字)。
在string.h头文件中用字符串处理函数输入和输出,gest用来输入,puts用来输出。
字符串输入函数gets,从键盘键入以回车结束的字符串放入字符数组中,并自动加’\0'。输入串长度应小于字符数组维数,字符串中可以包含空格。
字符串输出函数puts,向显示器输出字符串(输出完,自动换行,即用'\n'替'\0')。字符数组必须以'\0'结束。
示例代码如下:
#includestring.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
char ch[5]表示的是定义了一个字符数组(即字符串),数组单元有5个,每个单元都是字符型,由于字符串是用\0作结束的,5个单元的字符数组实际上能完整存储的只能是长度不超过4个字符的字符串,多了的话就要占用其他单元了(这些单元有可能会被系统分配给其他变量,而能够用来存储字符串的就是你定义的这5个单元的字符数组),可能会出现溢出,也就是有时候会出现输出的字符串后面有乱码
char ch表示定义了一个字符变量,用scanf为其赋值的话应该用%c,即scanf("%c",ch),它只能表示一个字符
char ch[]数组定义不允许[]里为空
char ch[1]表示的也是一个字符数组,所以你可以输入字符串,同样随便输入就有可能溢出