C语言初学者WEEK02
1.不同类型数据之间相互赋值的问题:
//整型用“%d”,长整型用“%ld”
int=45;
long j=102345;
i=j;
printf(“%ld %d\n”,i,j);
float x=6.6;
double y=8.8;
printf (“%f %lf\n,x,y”);
2.什么是ASCII?
ASCII不是一个值,而是一种规定,其规定了不同的字符是使用哪个整数值来表示的。
ASCII码表具体如下所示:
程序:
#include <stdio.h>
int main()
{
char ch;
printf("请输入一个字符: ");
scanf("%c", &ch);
printf("字符 %c 的ASCII值为: %d", ch, ch);
return 0;
}
3.字符的存储【字符本质上与整数的存储方式相同】
基本的输入和输出函数的用法:
I. printf()–将变量的内容输出到显示器上
四种用法
(1)printf (“字符窜\n”);//引号内内容可为中文或英文
(2)printf(“输出控制符”,输出参数);
(3) printf(“输出控制符1,输出控制符2…”,输出参数1,输出参数2,…) ;//注意:输出控制符和输出的参数必须一一对应
(4)printf(“输出控制符 非输出控制符”,输出参数);
注:输出控制符包含如下:
%d %ld %f %lf %x(或%X或%#x) %o %s
为什么需要输出控制符:
A.01组成的代码可以表示指令:
B.若01组成的代码表示的是数据,则同样的01代码组合以不同的输出格式输出就会有不同的输出结果。
II. scanf()–将数据输入至变量中
两种用法
(1)scanf(“输入控制符”,输入参数);
功能:将所输入的字符转化为输入控制符所规定的格式的数据,然后存入以输入参数的值为地址的变量中。
(2)scanf(“非输入控制符 输入控制符”, 输 入参数);
注:非输入控制符必须原样输入
如何使用scanf 编写出高质量代码:
A.使用scanf前优先使用printf提示应以什么样的方式输入
B.scanf中不要使用非输入控制符,尤其慎用是\n
C.编写代码对用户的非法输入做出适当的处理
运算符:
算术运算符:+ - *(乘) /(除) %(取余)
关系运算符:> >= < <= !=(不等于) ==(等于)
逻辑运算符:!(非) &&(并且) II(或)
注: !真=假 !假=真 真&&真=真 真&&假=假 假&&真=假 假&&假=真
真II假=真 假II真=真 真II真=真 假II假=假
注:非零为真,零为假
&&左边的表达式为假,右边就不会执行
II左边的表达式为真,右边就不会执行
赋值运算符:= += *= /= -=
优先级别:算术>关系>逻辑>赋值
注:除法的运算结果与运算对象的数据类型有关。若两个数均为int型数据,则商为整数。若商有小数,则截取小数部分;被除数与除数中只要有一个或以上为浮点型数据,则商也是浮点型,不需要截取小数部分。
取余的运算对象必须是整数,其结果为整除后的余数,符号不变。