今天的主要内容是输入输出,但是在讲输入输出之前,还是有一些其他的知识点需要掌握。
c语言的语句用来向计算机系统发出操作指令,每个语句在进行编译后均会产生若干条机器指令。而程序应该包括数据描述(由声明部分来实现)和数据操作(由语句来实现)。数据描述包括定义数据结构和在需要时对数据赋予初值。
C语句主要分为以下5类:
1.控制语句:控制语句用于完成一定的控制功能。
(1)if...else //条件语句
(2)for... //循环语句
(3)while()... //循环语句
(4)do...while() //循环语句
(5)continue //结束本次循环语句
(6)break //终止执行
(7)switch //多分枝选择语句
(8)goto //转向语句
(9)return //从函数返回语句
2.函数调用语句:由一个函数调用加一个分号构成
eg:printf("Hello World!") ;
3.表达式语句:由一个表达式加一个分号构成
eg:a = 3;
4.空语句。
eg: ;
5.复合语句:可以用{}把一些语旬括起来成为复合语句(又称分程序)。
eg:{
z = x + y;
t = z / 100;
pritnf("%f\n",t);
}
在C语言函数库中有一批“标准输入输出函数”,其中有:
putchar(输出字符)
getchar(输入字符)
printf(格式输出)
scanf(格式输入)
puts(输出字符串)
gets(输入字符串)
今天主要介绍前四个,puts和gets在学到数组时讲。
getchar:
int getchar(void); //
功能:
从终端获取一个字符
参数:
void --空类型 //表示没有参数
返回值:
unsigned char ---> int
成功:返回读到的字符的ASCII码值
失败:EOF (-1)
注意:只能接收一个字符,getchar获得的字符可以赋值给一个字符变量或整型变量,也可以不赋值。
putchar:
int putchar(int c);
功能:
向终端输出一个字符
参数:
要输出的字符的ascii码值
返回值:
成功:是输出的字符的ASCII的值
失败:EOF
int scanf(const char *format, ...);
格式:
scanf("格式控制字符串",地址列表)
格式控制字符串:
普通字符:
原样输入 //不建议写
占位符:
占了一个位置,将输入的数据,转换为占位符指定的格式,放到地址列表对应的一块内存空间上
占位符也决定能识别的字符的范围
占位符:
//整型
%d 将输入的数据转换为有符号十进制格式
%u 将输入的数据转换为无符号十进制格式
%x 将输入的数据转换为十六进制格式
%o 将输入的数据转换为八进制格式
//浮点数
%f 将输入的数据转换为小数的形式
%g 将输入的数据只取有效字节
%e //科学计数法
%E
//字符
%c 以字符的格式输入 //将对应的ASCII码值的字符形式输出
%s 以字符串格式输入
注意:
1.第二个参数注意一定要写 & (取地址)
2.当多个数据输入时,如果以空白符作为分割符:
空白符分别有:
空格
回车
tab
3.浮点型数据输入时
double -- %lf
类型要匹配
int - %d
long - %ld
long long - %lld
4.辅助控制符
m 宽度 -- 输入的宽度
达到宽度时,输入匹配结束
只能获取到前m个数据
5.scanf匹配结束的条件
a.空白符
b.指定宽度
123456
scanf("%3d",&a); //123(只取前三位)
c.非法字符
123a45
scanf("%d",&a);//只取到非法字符前的数字
6. %c 字符占位符:几乎可以识别键盘输入的任何字符
scanf("%c %c %c",&c1,&c2,&c3); // 一个空白符 匹配任意多个空白符
%*c // 表示跳过一个数据项
int printf(const char * format, ...);
... //代表可变参
//参数个数是变化的
格式:
printf("格式化控制字符串",输出列表);
格式控制字符串:
printf("b= %d\n",10);
普通字符:
原样输出
占位符:(与scanf输入差不多)
占了一个位置,最终输出效果,将输出列表中对应的参数,以占位符指定的格式输出
占位符与输出列表的匹配,从左到右逐个对应的
如果占位符个数大于输出列表参数个数 , 多的输出是随机值
占位符:
//整型
%d 以有符号十进制格式输出
%u 以无符号十进制格式输出
%x 以十六进制格式输出
%X 以十六进制格式输出 ,但是对应的a b c d e f 都是大写
%o 以八进制格式输出
//浮点数
%f 以小数的形式输出,默认保留6位小数
%g 以更简洁的方式输出 ,同时不会输出多余的0
%e 以科学计数法形式输出
%E 输出结果中e大写
//字符
%c 以字符的格式输出 //将对应的ASCII码值的 字符形式输出
%s 以字符串格式输出
辅助控制符:
%[辅助控制符]d
#
%#x //表示输出十六进制的前缀
%#o //表示输出八进制的前缀
m:数字
输出的宽度
如果实际的参数的宽度 > m 则以实际参数的宽度为准
< m 默认右对齐 ,前面的空位补空格
左对齐,辅助控制符前加一个负号(-)
.n:数字
主要用于浮点数
表示控制输出的小数位数
字符串:表示输出字符串的前n位
l // long 类型
ll //long long 类型
h //half --一半 2个字节
hh //1个字节
以上就是今日所学内容。