01)常量
定义:在程序中固定不变的量叫常量
const int num = 数值列表
基本的形式:const int 类型 + num 常量名
表示方法:1)字面量表示法
2)名字表示法
字符型常量表示的方法:必须用''括起来,而且是英文的单引号。'a',
const char ch='w'
误区:const 类型 常量名 可以用嘛?
可以 但是后面不能进行赋值了
02)变量
定义:在程序中是可以改变的量
基本的形式:类型 变量名 = 值
表示的方法:1) 类型(int) num
num=10;
注意:如果此时不给num赋值的话,系统会随机的给个垃圾值。
2)类型(int) num=10
变量的命名规则:1)只能以字母、下划线、美元符号$开头,后面可以任意接下划线、数字和$,在(Mac系统中支持中文,哈哈-1123)可以滴
2)不能使用关键字来命名
3)命名的时候遵循驼峰命名法,即第一个字母小写,往后的单词的第一个首字母要大写
例如:userNameOpen
03) 有符号和无符号数
1)主要的区别是无符号数表示的正数值更大,有符号可以表示负数
2)无符号 unsigned int num
3)有符号和无符号数只能对整数有效
但对字符也能修饰,因为字符本身就是整数本质ASCII码值
04) printf函数的详解
printf("格式控制符",值列表)
格式控制符 %d int 整型
%ld long 整型
%f float 类型
%lf double 类型
%c char 字符型
%u int 无符号型
%lu 长无符号整型
重点:1)%md m表示域宽 保留小数点后面几位,最后一位要四舍五入运算 m>0在值前面加空格
m<0 在值后面加空格
2) %0md m表示占了多少位,如果实际位数比m小,则值前面补0
如果实际位数大于m,则原样输出实际的值
3) %n.md n表示列数 如果n>实际的位数那就在输出值前面加空格
a: { float f1=3.1f;
printf("%5.2f\n",f1);
3.10
Program ended with exit code: 0}
b: 如果n<实际的位数那就按照m一样的输出
05) scanf函数的详解
定义: scanf是一个阻塞式函数,会等待用户的输入,如果用户不输入的话,程序会一直等待,直到用户输入。
形式:scanf("格式控制符",地址列表)
应用:a)不能在scanf函数中任意添加数字,\n等,如果不小心使用了,那在输入的时候原样输入,程序才能正常运行。
b)输入多个变量时,我们输入第一个数之后,再输入空格、tab、回车都会被忽略,直到我们输入下一个数。然后程序遇到回车会结束程序。(字符型不能被忽略)
c)如果接收的是int类型,你输入一个小数,那么会截取小数的整数部分
d)如果接收的是数字,你输入的是字符,那么会结束输入,但是不会把值给你存起来
scanf函数运行的原理:
1)当用户输入内容后,用户输入的内容会被存放到scanf的输入缓冲区中,然后,scanf函数会根据格
式控制的字符的要求,从输入缓冲区一次取它想要的内容如果从缓冲区中取得内容和我们的格式要求一致,则把
值存放到变量中,如果格式不一致,则不修改变量的值{如下面的代码2(b=5)},后面的值就保留在缓冲区里了
2)如果scanf缓冲区中还有内容,则scanf不会提示我们再次输入
*/
#include <stdio.h>
int main(int argc,const char * argv[]) {
//(1) int age = 0,h=5;
// printf("请输入您的年龄和身高:");
// scanf("%d%d",&age,&h);
// printf("您的年龄是和身高:%d,%d\n",age,h);
// return 0;
//(2)
int a=1,b=5;
char ch;
scanf("%d,%c,%d",&a,&ch,&b);//scanf是取地址的一定要切记& !%d,%c,%d若不加逗号,则程序输出会混乱
printf("%d,%c,%d\n",a,ch,b);
return 0;
下午知识点:
1)算术运算符
算术表达式:用运算符号连接起来的式子叫算术表达式,只要是表达式就有返回值。
重点:记住优先级,先乘除,后加减,有括号先算括号,结合性是从左到右。
误点:在程序中0是不可以做除数的!!!
0作为除数 a:如果表达式两边是常量(例5/0)程序不会报错,会运行,结果是个垃圾值。
b:如果程序两边是变量(例b/a,a=0)则程序会报错。
注意:浮点数是不能取余运算的,程序会报错。
2)类型转换
隐式转换 char->short->int->long->float->double
------------------>从下到上自动转换
(自动的类型转换:基本数据类型才有:整数型、实型、字符型)
显示转换 (int) double
注意:一个大数加上一个小数的,如果使用float会有问题(造成数据丢失)
3)复合运算符 +=
-=
*=
/=
%=
a+=3----->a=a+3(同理可得其它以上运算)
4)自增自减
++i 先加后用
i++ 先用后加
应用如代码1
5)逗号运算式
用逗号链接起来的表达式叫做逗号表达式,只要是表达式就有返回值,逗号表达式的返回值是最后一个逗号表达式。
应用代码如(2)
#include <stdio.h>
int main(int argc,const char * argv[]) {
// (1) int a=1,b=23;(同一个函数当中是不能重复使用一个变量的)
//
// printf("a=%d,b=%d\n",++a,b++);
// return 0;
//(2)
int num1=12,num2=23,sum=0;
sum=(num1++, num2-- , ++num1 ,num1+num2);
printf("num1=%d,num2=%d,sum=%d\n",num1++,num2,sum);
}