C语⾔的基本输⼊输出函数的⽤法
输出函数 printf()
将变量的内容输出到显⽰器上
四种⽤法
1. printf(“字符串”);
2. printf(“输出控制符”, 输出参数);
3. printf(“输出控制符1 输出控制符2 …”, 输出参数1, 输出参数2, …);
4. printf(“输出控制符 ⾮输出控制符”, 输出参数);
输出控制符包含如下:
控制符含义
%d⼗进制数
%ld长整型
%c字符型
%f单精度浮点型
%lf双精度浮点型
%x(或者%X或者%#X)⼩写⼗六进制数(⼤写或者带0X)
# include <stdio.h>
int main(void)
{
printf("Hello World!\n");  // 第⼀种⽤法
int i = 10;
printf("%d\n", i);  // 第⼆种⽤法
int j = 20;
printf("%d %d\n", i, j);  // 第三种⽤法
printf("i = %d, j = %d", i, j);  // 第四种⽤法
return 0;
}
# include <stdio.h>
int main(void)
{
int x = 47;  // 100是⼗进制
printf("%x\n", x);  // 输出的结果是 2f
printf("%X\n", x);  // 输出的结果是 2F
printf("%#X\n", x);  // 输出的结果是 0X2F
printf("%#x\n", x);  // 输出的结果是 0x2f
}
为什么需要输出控制符
1. 01组成的代码可以表⽰数据也可以表⽰指令
2. 如果01组成的代码表⽰的是数据的话,那么同样的01代码组合以不同的输出格式输出就会有不同的输出结果。输⼊函数 scanf()
通过键盘将数据输⼊到变量中
两种⽤法
⽤法⼀: scanf(“输⼊控制符”,输⼊参数)
功能:将从键盘输⼊的字符转化为输⼊控制符所规定格式的数据,然后存⼊以参数的值为地址的变量中
⽤法⼆:scanf(“⾮输⼊控制符 输⼊控制符”,输⼊参数)
功能:将从键盘输⼊的字符转化为输⼊控制符所规定格式的数据,然后存⼊以参数的值为地址的变量中,⾮输⼊控制符必须原样输⼊# include <stdio.h>
int main(void)
{
int i;
int j;
scanf("%d", &i);  // 123正确的输⼊
printf("i = %d\n", i);
scanf("m%d", &j);    // m123 正确的输⼊    123 ⾮法的输⼊
printf("j = %d\n", j);
return 0;
}
⼀次给多个变量赋值
要注意第⼀个参数⾥⾯的⾮格式控制符的类型,对应从键盘中输⼊的⾮格式控制符
# include <stdio.h>
int main(void)
{
int i, j, k;
printf("请输⼊三个值中间以空格隔开:\n");
// scanf("%d %d %d", &i, &j, &k); // 12 23 34
scanf("%d,%d,%d", &i, &j, &k); // 12,23,34
printf("i = %d, j = %d, k = %d\n", i, j, k);
return 0;
}
如何使⽤scanf编写出⾼质量的代码
1. 使⽤scanf之前最好先使⽤printf提⽰⽤户以什么样的⽅式来输⼊
printf("请输⼊三个数字,以空格的⽅式隔开")
2. scanf中尽量不要使⽤⾮输⼊控制符,尤其是不要使⽤\n
3. 应该编写代码对⽤户的⾮法输⼊做适当的处理
# include <stdio.h>
int main(void)
{
int i;
char ch;
printf("请输⼊⼀个数字:\n");
// scanf("%d\n", &i);  // ⾮常不好的格式不要加 \n
scanf("%d", &i);
printf("i = %d\n", i);
while( (ch = getchar()) != '\n' )
continue;
int j;
printf("请输⼊⼀个数字:\n");
scanf("%d", &j);
printf("j = %d\n", j);
return;
}
运算符
算数运输符
/(除), %(取余数) +(加) -(减) *(乘)
关系运算符
< <= > >= != ==
逻辑运算符
!(⾮) &&(并且)||(或)
与运算,只要有⼀个为假结果就为假;或运算符,只要有⼀个为真,结果就为真;在计算机中真⽤1表⽰ 假⽤0表⽰
# include <stdio.h>
int main(void)
{
int i = 10;
int k = 20;
int m;
// m = (1>2) && (k=5);  // 与运算符的短路现象
m = (10>2) || (k=5);  // 或运算符的短路现象
printf("m = %d, k = %d\n", m, k);
return 0 ;
}
注意: &&左边的表达式为假 右边的表达式肯定不会执⾏
|| 左边的表达式为真 右边的表达式肯定就不会执⾏
赋值运算符
= += *= /= -=
优先级别
c语言char的用法算数 > 关系 > 逻辑 > 赋值
这⾥要注意除法与取模运算符
除法/的运算结果和运算对象的数据数据类型有关,两个数都是int,则商就是int,若商有⼩数,则截取⼩数部分;被除数和除数中只要有⼀个或两个都是浮点型数据,则商也是浮点型,不截取⼩数部分。
16/5 = 3 16/5.0 = 3.2000 -13/4 = -4 -13/-3 = 4 3/5 = 0 5/3 = 1
取余%的运算对象必须是整数,结果是整除后的余数,其余数的符号与被除数相同
13%3 = 1 13%-3 = 1 -13%3 = -1 -13%23 = -13 3%5 = 3

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。