C语言之随机数和字符串输入输出
一、随机数产生函数
1、需要加入头文件 #include<stdlib.h> 和 #include<time.h>
2、Rand是伪随机数产生器,每次调用rand产生的随机数是一样的。
3、如果调用rand之前先调用srand就可以出现任意的随机数。
4、只要能保证每次调用srand函数的时候,参数的值是不同的,那么rand函数就一定会产生不同的随机数。
5、实例:
int main(void)
{
int t = (int)time(NULL);
srand(t); //随机数种子
int i;
for(i=;i<;i++)
{
printf("%d\n",rand()); //产生随机数(每次运行都会产生不同的随机数)
}
return ;
}
二、字符串输入与输出函数
1、scanf函数
char a[100] = {0};
scanf("%s",a); //表示输入一个字符串,scanf是以回车键或空格作为输入完成标识的,但回车键本身并不会作为字符串的一部分。
注意:如果scanf参数中的数组长度小于用户在键盘输入的长度,那么scanf就会缓冲区溢出,导致程序崩溃。
例如:
#include<stdio.h>
int main(void)
{
char s[] = {};
scanf("%s",s);
int i;
for(i=;i<;i++)
{
printf("%d",s[i]);
}
printf("%s\n",s);
return ;
}
2、gets()函数的使用
1、gets() 输入,不能只用类似“%s”或者“%d”或者之类的字符转义,只能接收字符串的输入。
2、实例:
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
char s[] = {};
gets(s); // 输入:hello world ,gets()函数同样是获取用户输入,它将获取的字符串放入s中,仅把回车键视为结束标志 ,但也有溢出问题
printf("-------\n");
printf("%s\n",s); // 输出:hello world return ;
}
3、gets()获取用户输入,atoi() 函数将字符串转为数字 ,头文件中加入 #include<stdlib.h>
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
char a[] = {};
char b[] = {};
gets(a); // 获取第一次输入,a的对象只能是数组 ,不能转义(字符串转为数字),需要 使用专门的函数
gets(b);
int i1 = atoi(a); // 将字符串转化为一个整数
int i2 = atoi(b);
printf("%d\n",i1+i2); return ;
}
4、fgets()函数用法--gets()函数的升级版
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
char c[] = {};
fgets(c,sizeof(c),stdin);//第一个参数是char的数组,第二个参数是数组的大小,单位字节,第三个参数代表标准输入。
// 输入: hello world
printf("%s\n",c);// 输出:hello wor --> 它把字符串尾的 0 也包括在内了,fgets()会自动截断,防止溢出,所以很安全
// 调用fgets()的时候,只要能保证第二个参数小于数组的实际大小,就可以避免缓冲区溢出的问题。
return ;
}
5、puts()函数,将用户的输入原样打印出来
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
char d[] = {};
gets(d);
printf("------\n");
puts(d); //自动输出,附带换行
return ;
}
6、fputs()函数,是puts的文件操作版
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
char e[] = {};
fgets(e,sizeof(e),stdin); // hello world mylove
printf("----------\n");
fputs(e,stdout); // hello world mylove
return ;
}
C语言之随机数和字符串输入输出的更多相关文章
- C语言学习笔记---3.字符串格式化输入输出
1.C语言字符串 字符串(character string)是一个或多个字符的序列,例如:"Zing went the strings of my heart!" C语言没有专门用 ...
- iOS开发系列--C语言之数组和字符串
概览 数组在C语言中有着特殊的地位,它有很多特性,例如它的存储是连续的,数组的名称就是数组的地址等.而在C语言中是没有String类型的,那么如果要表示一个字符串,就必须使用字符数组.今天主要就介绍如 ...
- Swift3.0语言教程使用URL字符串
Swift3.0语言教程使用URL字符串 Swift3.0语言教程使用URL字符串,和路径一样,URL其实也是字符串,我们可以将这些字符串称为URL字符串.本小节将讲解URL字符串的使用. 1.编码 ...
- Swift3.0语言教程使用路径字符串
Swift3.0语言教程使用路径字符串 Swift3.0语言教程使用路径字符串,路径其实是字符串的一种,我们称为路径字符串.本小节将讲解如何使用路径字符串. 1.组合路径 开发者可以将数组快速的组合成 ...
- Swift3.0语言教程替换子字符串
Swift3.0语言教程替换子字符串 Swift3.0语言教程替换子字符串,替换子字符串其实就是将字符串中的子字符串删除,然后再进行添加.为了让这一繁琐的过程变的简单,NSString提供了替换子字符 ...
- Swift3.0语言教程获取C字符串
Swift3.0语言教程获取C字符串 Swift3.0语言教程获取C字符串,为了让Swift和C语言可以实现很好的交互,开发者可以使用NSString的cString(using:)方法在指定编码格式 ...
- C语言中随机数相关问题
用C语言产生随机数重要用到rand函数.srand函数.及宏RAND_MAX(32767),它们均在stdlib.h中进行了声明. int rand(void);//生成一个随机数 voidsrand ...
- 用c语言产生随机数的方法
用c语言产生随机数的方法 在C语言中,rand()函数可以用来产生随机数,但是这不是真正意义上的随机数,是一个伪随机数,是根据一个数,我们可以称它为种子,为基准以某个递推公式推算出来的一系数,当这系列 ...
- c语言字符数组与字符串的使用详解
转自:http://www.jb51.net/article/37456.htm 1.字符数组的定义与初始化字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素.char str[10]={ ...
随机推荐
- 使用pdfcrack破解PDF密码(Linux)
pdfcrack是破解PDF保护密码的Linux命令行工具. 安装pdfcrack Debian系列: # apt install pdfcrack 暴力破解 # pdfcrack -f filena ...
- linux ls-al 指令详解
ls -al 具体说明请自行找男人(man 中了鸟哥的毒 =.=).
- DEV控件 皮肤问题
今天用cnPack清理了下整个工程的引用单元,清理完,问题来了,TcxPageControl不透明了. 折腾了一会,找到原因,清理单元时将dxSkinscxPCPainter也清掉了,导致皮肤无法正常 ...
- 第一章 Oracle10g数据库新特性
1.1 Oracle10g数据库概述 1.1.1 网格数据库 Oracle10g数据库是一种为网格计算而设计的数据库,是第一个用完整集成的软件基础架构来实现网络计算的数据库系统,其中10g的g表示gr ...
- 剑指offer-第五章优化时间和空间效率(从1到n的整数中1出现的次数)
题目:输入一个整数n,从1到n这n个十进制整数中1出现的次数. 思路1:对1到n中的任意一个数i对其进行求余数来判断个位是否为1,然后再求除数,判断十位是否为1.统计出1的个数.然后对1到n用一个循环 ...
- 关于altera的fft核使用问题记录
altera的fft核使用比较特别,今天我做了一下仿真,发现一些问题,现做记录如下: 1,ip配置 parameters选项卡主要是fft变换的长度和数据长度,旋转因子长度,需要注意的是“Twiddl ...
- PHP MysqlI操作数据库(转)
1连接数据库. Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter. ...
- NOIp2018 D2T3 defense——树上倍增
题目:https://www.luogu.org/problemnew/show/P5024 考场上只会写n,m<=2000的暴力,还想了想A1和A2的情况,不过好像只得了A1的分.然后仔细一看 ...
- 当 PHP 遇上 MongoDB
FROM:http://www.cstor.cn/textdetail_7995.html 之前笔者出了一篇文章是教大家在 Linux 下安装 MongoDB,并且透过 Mongo Client 操作 ...
- windows64位Oracle安装和PL/SQL配置
折腾了一下午,趟了几个坑,终于用PL/SQL连上了Oracle,晒晒填坑经历. 先去oracle官网下数据库安装文件,官网有登陆验证,如果没注册的话先注册吧.数据库(下载地址http://www.or ...