9、常量在c语言中如何表示的
整数
十进制: 传统的写法
十六进制: 前面加0x或0X,是数字0加x 八进制: 前面加数字0 浮点数:
传统写法
float x = 3.2;//传统 科学计数法
float x = 3.2e3;//x的值是3200
float x = 123.45e-2; //x的值是1.2345
字符
单个字符用单引号括起来
'A'表示字符A 'AB'是错误的 \是正确的 字符串用双引号括起来
\正确,因为\代表了 'A' '\\0' 的组合
10、常量以什么样的二进制代码存储在计算机中
整数是以补码的形式转化为二进制代码存储在计算机中的 实数是以IEEE754标准转化为二进制代码储存在计算机中的具体可参见末尾的 穿插在课堂中的零散知识笔记 字符的本质实际也是与整数的存储方式相同
11、代码规范化
代码的可读性更高【容易让别人和自己看懂】 使程序更不容易出错
林锐《高质量C/C++编程》 代码要成对的敲
12、什么是字节
字节就是存储数据的单位,并且是硬件所能访问的最小单位1字节 = 8位 1K = 1024字节 1M = 1024 K 1G = 1024 M
买硬盘时的换算是以1000为单位的
13、不同类型的数据之间相互赋值的问题
暂不考虑(补码??)
int i = 45;
long j = 102345; i= j;
printf (\ i, j); float x = 6.6; double y = 8.8;
printf(\
14、什么是ASCII
ASCII不是一个值,而是一种规定,
ASCII规定了不同的字符是使用哪个整数值去表示 它规定了
'A' -- 65 'B' -- 66 'a' -- 97 'b' -- 98
15、字符的存储【字符本质上与整数的存储方式相同】
基本的输入和输出函数的用法
printf ()----(重点讲)将变量的内容输出到显示器上
四种用法
1.printf (\字符串\\n\
2.printf (\输出控制符\,输出参数); 3.printf (\输出字符1 输出字符2 。。。。\, 输出参数1, 输出参数2, 。。。);
输出控制符和参数的个数必须一一对应
4.printf(\输出控制符 非输出控制符\, 输出参数);
输出控制符包含如下
%d -- int (十进制) %ld -- long int %c -- char %f -- float %lf -- double
%x(或者%X或者%#X) -- int 或 long int 或 short int %o -- 同上 %s -- 字符串 为什么需要输出控制符
1. 01组成的代码可以表示数据也可以表示指令 2. 如果01组成的代码表示的是数据的话,那么同样的01代码组合以不同的输出格式输出就会有不同的输出结果
scanf () ----Java中已经没有了
两种用法:
用法一: scanf (\输入控制符\, 输入参数);
功能: 将从键盘输入的字符转化为输入控制符所规定格式的数据,然后存入已输入参数的值为地址的变量中。
用法二: scanf(\非输入控制符 输入控制符\, 输入参数); 功能: 将从键盘输入的字符转化为输入控制符所规定格式的数据,然后存入以输入参数的值为地址的变量中
非输入控制符必须原样输入
如何使用scanf编写出高质量代码
1. 使用scanf之前最好先使用printf提示用户以什么样的方式来输入
2. Scanf中尽量不要使用非输入控制符,尤其是不要用\\n 3. 应该编写代码对用户的非法输入做适当的处理【非重点】
while ((ch=getchar()) != '\\n') continue;
运算符
算术运算符
+ - * /(除) %(取余数)
除法的运算结果和运算对象的数据类型有关,两个数都是int,则商就是int,若商有小数,则截取小数部分;被除数和除数中只要有一个或两个都是浮点型数据,则商也是浮点型,不截取小数部分。
如: 16/5 == 3 16/5.0 == 3.20000 -13/4 == -3
-13/-3 = 4 3/5 = 0 5/3 == 1
最经典的例题就是求s = 1 + 1/2 + 1/3 + 1/4 + 1/5......+ 1/100的值。
取余的运算对象必须是整数,结果是整除后的余数,其余数的符号与被除数相等。
如: 13%3 == 1 13%-3 == 1 -13%3 == -1
-13# == -13 3%5 == 3
关系运算符
> >= < <= !=(不等于) ==(等于) 逻辑运算符
!(非) &&(并且) ||(或)
!真 假 !假 真
真&&真 真 真&&假 假 假&&真 假 假&&假 假
真||假 真 假||真 真 真||真 真 假||假 假
C语言对真假的处理
非零是真 零是假
真是1表示 假使0表示
&&左边的表达式为假 右边的表达式肯定不会执行 | |左边的表达式为真 右边的表达式肯定不会执行 赋值运算符
= += *= /= -=
优先级别
算术 > 关系 > 逻辑 > 赋值
附录一些琐碎的运算符知识
自增 自减 三目运算符 逗号表达式
流程控制 (学习c语言的第一个重点) 1. 什么是流程控制
程序代码执行的顺序
2. 流程控制的分类
顺序 选择
定义
某些代码可执行,也可能不执行,有选择的执行某些代码 分类
if
1. if最简单的用法
格式:
if (表达式)
语句
功能:
如果表达式为真,执行语句 如果表达式为假,语句不执行
2. if的范围问题(重点)
1.
if (表达式)
语句A; 语句B;
解释:if默认只能控制语句A的执行或不执行
if无法控制语句B的执行或不执行
或者讲: 语句B一定会执行
2.
If (表达式)
{
语句A; 语句B; }
此时if可以控制语句A和语句B
由此可见:if默认只能控制一个语句的执行或不执行,如果想控制多个语句的执行或不执行就必须把这些语句用{}括起来。 3. if...else...的用法
4. if...else if...else...的用法
格式:
if (表达式1)
A;
else if (表达式2)
B;
else if (表达式3)
C; else
D;
5. C语言对真假的处理
非零是真 零就是假
真用一表示 假用零表示
6. if举例---求分数的等级 7. if的常见问题解析
1. 空语句的问题
if (3 > 2); 等价于 if (3 > 2)
; //这是一个空语句2.
if (表达式1) A; else B;
是正确的
if (表达式1); A; else B;
是错误的
3.
、 if (表达式1) A; else if (表达式2) B; else if (表达式3) C; else D;
即便表达式1和2都成立,也只会执行A语句
4.
if (表达式1) A;
else if (表达式2) B;
else if (表达式3) C;
这样些语法不会错,但逻辑上有漏洞 5. if (表达式1)
A;
else if (表达式2) B;
else if (表达式3) C;
else (表达式4) //7行