(1):gets()函数
说明:gets()函数是从键盘读入字符串存入字符数组,直到遇到回车键
用法:gets(str),str是字符的数组的数组名。
#include <stdio.h>
int main()
{
char str[20];
gets(str);
printf("%s",str);
}
(2):puts()函数
说明:puts()函数的作用是输出字符串,并且在输出的时候会在末尾处自动加一个\n,作用是换行。
用法:puts(str)/puts(“hello”),str是字符的数组的数组名。
#include <stdio.h>
int main()
{
char str[20];
gets(str);
puts(str);
puts("hello");
}
输入zh,输出结果如下图
(3):strcmp()函数
说明:这是一个比较函数字符串的函数,会逐一比较字符串里面的字符的ASCII值的大小,直到遇到不同的字符或者"\0"为止,如果字符串1比字符串2大,则会返回一个整数,反之则会返回-1,相等则会返回0。
用法:
包含头文件#include<string.h>;
strcmp(str1, str2),其中srt1和str2是字符串数组的数组名。
#include <stdio.h>
#include <string.h>
int main()
{
char str1[20], str2[20];
gets(str1);
gets(str2);
if(strcmp(str1, str2) == 0)
{
printf("2个字符串相等");
}
else if(strcmp(str1, str2) > 0)
{
printf("字符串1大于字符串2");
}
else
{
printf("字符串1小于字符串2");
}
}
(4):getchar()函数
说明:getchar()函数是从缓冲区读入一个字符,当我们按下回车键的时候getchar函数开始工作。
用法:c = getchar(),包含在#include<stdio.h>里面。
(4):putchar()函数
说明:输出一个字符类型的值到屏幕,如果putchar()里面是数字,则会把数字当成ASCII值,然后输出对应的字符。
用法:putchar©,包含在#include<stdio.h>里面。
#include <stdio.h>
int main()
{
char a;
a = getchar();
putchar(a);
}
输入12,输出1的原因是,getchar函数一次只能读取一个值,2还在缓冲区里面,成为了垃圾值。
(5):strlen()函数
说明:统计字符的个数,传进来的参数要是指针类型的参数。
用法:strlen(str),str为数组的首地址或者是字符型指针,函数包含在#include<string.h>里面。
#include <stdio.h>
#include <string.h>
int main()
{
char arr[] = "abc";
int a = strlen(arr);
printf("%d\n", a);
return 0;
}
(6):time()函数
说明:time() 是指返回自 Unix 纪元起的当前时间的秒数的函数,主要用来获取当前的系统时间,time()的返回值是unsigned int类型的。
用法:包含在#include <time.h>当中,当参数是time()时,返回当前时间,但不是以12小时或者24小时显示的,显示的一共经历多长时间的秒数,如果程序2次运行的间隔不超过1秒种,则返回的值是一样的。
#include <stdio.h>
#include <time.h>
int main()
{
int b;
b = time(0);
printf("%d\n",b);
}
运行2次结果如下,间隔超过1s。
(7):rand()与srand()函数
说明:这2个函数是用来生成伪随机数的。
用法:
rand()函数不需要参数,它将会返回0到RAND_MAX之间的任意的整数;
srand()为初始化随机数发生器,用于设置rand()产生随机数时的种子。传入的参数seed为unsigned int类型,通常我们会使用time(0)或time(NULL)的返回值作为seed;所以我们在使用的时候会将time(NULL)的返回值强转成unsigned int。
函数包含在#include<stdlib.h>里面。
比如我想要生成一个1到10的随机数:用rand()%10(你想要的数的范围),如果想取0到1里面的数就拿rand()/RAND_MAX。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a;
a = rand()%10;
printf("%d\n",a);
}
输出结果如下:
但是这样去写代码,你会发现,每次运行的结果都是1,所以这样不是真正的随机数。
rand()函数要配合srand()函数,来重置rand的随机数种子;
但是要注意的是如果调用srand(1),将会得到上述一样的结果。想要得到变化的种子,一般会使用当前时间来初始化随机数发生器,也就是time()函数。这样我们就可以得到一个随机数了。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int a;
srand((unsigned int)time(NULL));
a = rand()%10;
printf("%d\n",a);
}
运行2次结果如下: