一.基本的输入和输出函数
(1)为什么需要使用输出控制符?
变量实际是二进制代码;
01组成的代码可以表示数据也可以表示指令;
01组成的代码表示数据,同样的01代码 以不同的输出格式输出就会有不同的输出结果
(2) scanf("非输入控制符 输入控制符", 输入参数)
将从键盘输入的字符 转化为输入控制符所规定的格式 的数据, 然后存储到 以输入参数为地址的变量中
see: 非输入控制符必须原样输入
实例:
scanf("%d,%d,%d", &i, & j, &k) 1,2,3 逗号属于非输入控制符,需要原样输入
(3)如何使用scanf()编写高质量的程序?
提示用户 使用何种方式输入数据; scanf()避免使用非输入控制符, 特别是'\n'
编写代码处理用户的非法输入
(4)操作系统如何读取输入?
根据输入控制符,读取指定格式的输入,错误格式的丢掉
2.运算符
(1)算术运算符
+ - * /(除) %(取余)
/----运算结果与运算对象的数据类型有关
两个数都为int,商为int,截取小数部分;两个数只要有一个或两个是浮点型数据,商为浮点型,不截取小数部分
%----运算对象必须是整数
余数的符号与被除数相同
13%-3 = 1 -13%3 = -1
(2)关系运算符
(3)逻辑运算符
C语言对真假的处理:
非零即真,零即假 真是1表示;假是0表示
&& ||
&&----
左边的表达式为假,右边的表达式肯定不会执行;
||----
左边的表达式为真,右边的表达式肯定不会执行;
(4)赋值运算符
3.流程控制
A. 流程控制可以解决任何问题
(1)什么是流程控制? 程序代码执行的顺序
(2)流程控制的分类
顺序执行
选择执行----
定义:某些代码可能执行,也可能不执行;
分类:
if
1.if最简单的用法
格式:
if(表达式) 语句;
如果表达式为真,执行语句
2.if的范围问题
(1)
if(表达式)
语句A;
语句B;
解释:if()默认只能控制 语句A的执行和不执行
if(表达式)
{
语句A;
语句B;
}
解释:此时,if语句控制语句A和语句B 严格讲只是一个语句
总结:if()默认只能控制一个语句的执行和不执行;如果控制多个语句的执行和不执行,就必须把这些语句括起来
3.if...else...的用法
if(表达式) 语句A;
else 语句B;
语句C;
解释:严格讲只是两个语句
4.if...else if...else...的用法
5.C语言对真假的处理
非零即真,零即假 真是1表示;假是0表示
6.if常见问题解析
switch()
循环执行----
定义:某些代码会被重复执行
分类:
for----执行顺序
for(1; 2; 3)
4;
执行顺序:1->2->4->3完成一次循环 2->4->3 考虑:执行次数和3的最终结果
强制类型转换
格式:
(数据类型)(表达式);
功能:
把表达式的值强制转换为指定的数据类型
实例: 1/float(50)