C语言的基本输入输出函数的用法

输出函数 printf()

将变量的内容输出到显示器上
四种用法

  1. printf(“字符串”);
  2. printf(“输出控制符”, 输出参数);
  3. printf(“输出控制符1 输出控制符2 …”, 输出参数1, 输出参数2, …);
  4. printf(“输出控制符 非输出控制符”, 输出参数);
    输出控制符包含如下:
控制符 含义
%d 十进制数
%ld 长整型
%c 字符型
%f 单精度浮点型
%lf 双精度浮点型
%x(或者%X或者%#X) 小写十六进制数(大写或者带0X)
# include 

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 

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 

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 

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("请输入三个数字,以空格的方式隔开")
  1. scanf中尽量不要使用非输入控制符,尤其是不要使用\n
  2. 应该编写代码对用户的非法输入做适当的处理
# include 

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 

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 ;
}

注意: &&左边的表达式为假 右边的表达式肯定不会执行
|| 左边的表达式为真 右边的表达式肯定就不会执行

  • 赋值运算符
    = += *= /= -=
  • 优先级别
    算数 > 关系 > 逻辑 > 赋值

这里要注意除法与取模运算符

  • 除法/的运算结果和运算对象的数据数据类型有关,两个数都是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

你可能感兴趣的:(C语言)