输入输出
输出控制符包括如下:
%d
%ld
%o
%x(%X或者%#x)
%c
%u(无符号控制符)
%s(字符串)
%f
%lf
%e(%E按科学计数法输出)
%e或%G(e和f中短的一个输出)
printf—将变量的内容输出到显示器
四种用法
1.printf(“字符串”) ——printf(“hello world”);
2.printf(“输出控制符”,输出变量) ——printf("%d",x)
3.printf(“输出控制符1,输出控制符2”,输出变量1,输出变量2) //输出控制符和输出参数的个数要一 一对应
4.prntf(“输出控制符 非输出控制符”,输出变量1)
字符宽度修饰符
m %md 以m为宽度输出整型,不足m时,左补空格
0m %0md 以宽度m输出整形,不足m时,左补0
m.n %m.nf 以宽度m输出实型小数,小数位为n位
.n %.nf n位输出数据小数位数,整数部分按实际宽度输出
当指定小数宽度小于数据的实际宽度,整数部分按实际输出,小数部分四舍五入
注:其中“.”也算宽度
长度修饰符
h %hd ,%hu 输出short int ,unsigned int
l %ld,%lu 输出long int ,unsigned long
%le %lf %lf 输出double型
标志字符
- 结果左对齐
+ 输出符号,输出负数时带负号,正数时带正号
# 对c,s,u类无影响,但对0,x类前面有#会加前缀0,0x;对e,f,g类,当有小数点才会输小数点
空格 输出数据前加一个空格
scanf
功能:将键盘输入的数字转化为二进制储存在变量所分配的内存中
注意:在用逗号做分隔符时输入数据时也需要用逗号
而且当用空格做分隔符时,输入项中不能包含字符类型,因为编译器会把空格读入赋给ch:
思考:
int i=10;
printf("%d",i);
为什么已经定义i=10了还要用%d格式字符?
字符宽度修饰符
scanf修饰符
h
l
m
* 表示读入数据后不会赋值给相应的变量
注:scanf只能确定宽度,不能控制精度 如:csanf("%5.2d",x),错误
getchar——字符输入函数
作用:从系统的输入设备中输入一个字符
例如:char c;c=getchar()
等价于char c;scanf("%c",&c)
注:getchar一次只能输入一个字符
putchar——字符输出函数
输出格式:putchar(ch) 其中ch代表一个字符变量或变量或转义字符,一次只能输出一个字符
putchar(ch)=printf("%c",ch)
gets()字符串输入
puts()字符串输出
char c[5];
gets©;
puts©;
数学函数<math.h>
1.取绝对值
abs(x) 返回整数x的绝对值
fabs(x) 返回浮点数x的绝对值
2.exp(x)返回e的指定次幂,即求e的x次幂
3.pow(x,y):返回x的y次方的值
4.对数
log(x):返回x的自然对数,即lnx
log10(x): 返回以10为底的对数,即求log 10 X
5.开方sqrt()
6.三角函数sin(),cos(),tan()
sin(x),cos(x),tan(x)的自变量x必须是弧度
例如求30度的正弦值,sin(30*3.14/180)
随机函数:需包含头文件 #include<stdlib.h>
(1).随机函数 rand(void)
ranf():函数返回0~32767的随机整数。该函数不要求参数,其括号不能省略。若要产生0 ~ 99的随机整数,则可通过表达式”rand()%100“,来实现
(2).初始化随机数值发生器srand
srand(unsigned seed)
srand(time(NULL))
使rand()产生不同序列的随机数
字符函数:包含头文件 #include<ctype.h>
判断字符
isalpha(ch):判断ch是否时字母,是返回1,否返回0
isalnum(ch):ch是否是字母或者数字,是返回1,否返回0
isdigit(ch): ch是否是数字字符,是返回1,否返回0
转换函数
tolower(ch):若ch是大写字母则转化为小写字母,否则不变
toupper(ch):若ch是小写字母则转化为i大写字母,否则不变