Linux学习笔记之C语言基础-----day3

运算符:

1.算数运算符
2.关系运算符
3.逻辑运算符
4.赋值运算符
5.位运算符
6.三目运算符(特殊运算符)
	? : 
	表达式?表达式1:表达式2;
	
	练习:
		从终端获得三个数,找出三个数中最大的值完成打印
	
	a > b ? a : b > c ? b : c;
	结合方式:
		自右至左

7.逗号运算符
	int a = 0;
	int b = 0;
	
	n = (a++, b++, a+b, a+5, b+3);
	从左至右依次执行,并将最后一部分表达式的结果作为整个
	逗号表达式的结果
	
8.sizeof运算符
	sizeof 获得数据类型/变量在内存中所占的字节数

运算符的优先级:
高优先级作为整体进行处理
高:
	括号
	单目运算符
	双目运算符
		算数运算符 
		移位运算符
		关系运算符
		位运算符 
		逻辑运算符			
	三目运算符
	赋值运算符
	逗号运算符 

C语言中常用的输入输出函数:

stdio.h	标准IO库

getchar
putchar 

printf
scanf 

gets
puts 

掌握所有函数的操作格式:

putchar:
向终端输出一个字符
注意:
1.向终端输出的是字符
2.向终端输出1个字符 


	
getchar:
从终端获得一个字符
注意:
1.从终端接字符
2.从终端接一个字符
3.注意getchar的使用格式



printf
格式化输出函数(字符组成的字符串)
1.printf打印非输出控制符
	printf("hello world");
	\n	换行符
	\\	\符号
	\b	退格符
	\t	横向制表符
	\v	纵向制表符
	\r	回车符

2.printf打印输出控制符
	%d		按照有符号十进制打印
	%o		按照八进制打印
	%x		按照十六进制打印
	%c		按照字符型打印
	%f		按照浮点数类型打印
	%lf		按照双精度浮点数类型打印
	%ld		按照长整型打印
	%s		按照字符串打印
	%p 		按照指针打印
	%u 		按照无符号类型打印
	%e		按照指数类型打印
	%#		配合八进制和十六进制打印使用
			打印出八进制前的0和十六进制前的0x
	%%		打印%号 

3.printf打印多个输出控制符
	printf("iNum1 = %d, iNum2 = %d\n", iNum1, iNum2);
	
	printf格式化打印:
	%nd
	n为域宽,不足域宽高位用空格补齐
	
	%-nd
	n为域宽,不足域宽则用空格补齐,左对齐
	
	%0nd
	n为域宽,不足域宽高位用0补齐
	
	%.mf
	保留小数点后m位有效数字
	
设a,b为int型变量,x,y为float型变量,
c1,c2为char型变量,且设a=5,b=10,x=3.5,y=10.8,
c1=’A’,c2=’B’。为了得到以下的输出格式和结果,
请写出对应的printf语句。
(1)a = 5, b = 10, x + y = 14.3
(2)x - y = -7.3, a - b = -5
(3)c1 = ’A’ or 65(ASCII)  c2 = ’B’ or 66(ASCII)

scanf
格式化输入函数
注意:
	1.如果scanf想要接收的数据与实际输入的数据不匹配,
	  则从不匹配的位置开始不再向后读取
	2.scanf中不允许出现\n字符
	3.scanf中除了%s可以不加&符号,其余均要加上&
	4.scanf除了%c可以接收' '和'\n'字符,其余均无法接收' '和'\n'字符
	
1.接收非输入控制符
	scanf("m,");
	输入所有非输入控制符才能读取成功

2.接收输入控制符
	%d 			按照十进制来接收
	%f			按照float类型接收
	%lf 		按照double类型接收
	%c			按照字符接收(包括' '和'\n'字符)
	%s 			按照字符串接收
	_%c			接收除' '和'\n'以外的字符
	
3.接收多个输入控制符
	scanf("%c%c", &cNum1, &cNum2);
	scanf("%d%d", &iNum1, &iNum2);

**尽量少用scanf:**
1.接收字符用getchar
2.接收字符串gets 
3.从终端接收整形、浮点型数据时用scanf

练习:
	1.从终端接收4个数,求这四个数的平均值
	
puts 
puts会多打印一个\n字符 

gets 
gets去掉从终端接收的\n字符

ch = getchar();
gets(Tmpbuff);

scanf %s只能接收一个单词,无法接收存在' '和'\n'的字符串
gets  可以接收一行字符串包括' '字符 

**gets是危险的**

你可能感兴趣的:(Linux学习笔记之C语言基础-----day3)