今天是开始认真学习C语言的第二天,打算以后每次学习以后都来这里整理一下学习的内容。使用的软件是Visual Studio2022,今天主要学习内容是郝斌老师C语言教学视频的P31-P46,笔记囊括老师上课所用大纲内容和我吸收到的知识。
基本的输入和输出函数的用法
tip1:printf() --将变量的内容输出到显示器上
printf四种用法:
1、printf("字符串"); eg:printf("嘻嘻嘻");
2、printf("输出控制符", 输出参数); eg:printf("%d" , i);
3、printf("输出控制符1 输出控制符2 ..." , 输出参数1, 输出参数2 ... ); eg:printf("%d %d " , j , k); (输出控制符和输出参数的个数必须一一对应,如果只有一个输出控制符就只能输出一个参数,其余的参数不输出)
4、printf("输出控制符 非输出控制符" , 输出参数);输出控制符会将输出参数以特定的格式输出,非输出控制符会照常输出
输出控制符包含:
%d十进制 int
%ld long int
%c char
%f float
%lf double
%x十六进制 int 或 long int 或 short int
%x如2f 或%X如2F 或%#X如0X2F(推荐)
%o 同上
%s 字符串
为什么需要输出控制符
1.01组成的代码可以表示数据也可以表示指令
2.如果01组成的代码表示的是数据的话,那么同样的01代码组合以不同的输出格式输出就会有不同的输出结果
tip2:scanf()通过键盘将数据输入到变量中
两种用法:
用法一:scanf("输入控制符", 输入参数); eg:scanf("%d", &i); &是一个取地址符 &i表示i的地址 将输入数字存入了i地址中
功能:将从键盘输入的字符转化为输入控制符所规定格式的数据,然后存入以输入参数的值为地址的变量中
用法二:scanf("非输入控制符 输入控制符", 输入参数); eg:scanf("m%d", &i); 需要先输入非输出控制符如m,再输入想要的值
功能:将从键盘输入的字符转化为输入控制符所规定格式的数据,然后存入以输入参数的值为地址的变量中,非输入控制符必须原样输入
如果想连续输入的话应该这样:
然后依次输入数值,用回车键进行分开。
如果用逗号隔开%d的话:
则需要在输入的时候,输入 12,23,45 (因为逗号是非输入控制符,必须原样输入)
下述代码可以实现多次赋值操作:
为防止在赋值过程中出现赋值错误中断赋值的情况,可以加入代码:
如何使用scanf编写高质量代码:
1、使用scanf之前最好先使用printf提示用户以什么方式输入
2、scanf中尽量不要使用非输入控制符,尤其是不要使用\n
3、应该编写代码对用户的非法输入做适当的处理:
while ((ch = getchar()) != '\n')
continue;
运算符
算数运算符:
+ - * / %
关系运算符:
> >= < <= != ==
逻辑运算符:
!非 && 且 ||或
赋值运算符:
= += *= /= -=
优先级别:算数>关系>逻辑>赋值
/除法的运算中,被除数或除数有一个浮点型,结果也是浮点型,有小数;如果都是整数就会截掉小数位,只保留整数。
%取余的运算中,对象必须是整数,结果是整取后的余数,余数的符号与被余数相同。
eg:13%-3==1 -13%-3==-1 -13%-23==-13
! (非):!真 == 假 ;!假 == 真
&&(且):真 && 真== 真;真 && 假 == 假;假 && 真 == 假;假 && 假 == 假(有假就假)
&&当左边的表达式是假的时候,右边的表达式不执行
|| (或):真 || 真 == 真;真 || 假 == 真;假 || 真 == 真;假 || 假 == 假(有真就真)
非零是真,零是假。真用1表示,假用0表示。
|| 当左边的表达式是真的时候,右边的表达式不执行