1、常量和变量
1、1常量
常量就是值一直不会发生改变的量
1、常量的表示方法
字面量表示方法:即直接写值,如3、10、'a'。
如果想要表示一个long类型的常量或者是float类型的常量,可以加一个l代表long类型的常量如10l,加一个f代表float类型的常量7.8f,但是不可以将常量描述为short类型的常量;
如果要表示字符型常量,必须要用英文状态下的单引号(' ')括起来,如'b'
2、名字表示法:语法const 类型 (数据类型) 名字=值;如const int a=20 ;const char ch='a'
1、2变量
变量就是可以改变的量
在声明变量的同时对变量赋值,它的语法是:
数据类型 变量名=值;
如 int num=4; char ch= 'a';
还可以先声明变量之后在给变量赋值,它的语法:
数据类型 变量名;
变量名=值;
注意点:
1、可以这样写 const 数据类型 常量名 const int a;但是之后不可以使用a=4 对其进行赋值
2、在声明变量的时候,如果不给其赋值,此时的变量其实也是有值的,只不过是垃圾值而已。
1、3变量的命名规范
1、变量的起名要有意义
2、只能由字母、数字、下划线、美元符号组成,并且不能以数字开头
3、不能以关键字作为变量名
4、使用驼峰命名法:第一个单词的首字母小写,后面的每个单词的首字母都大写
5、在mac 系统下可以使用中文,但是不推荐使用
2、printf函数和 scanf 函数
2、1 printf函数介绍
printf函数的作用是在屏幕上打印一句话
它的语法:printf(“格式化字符串”,值列表);
#include <stdio.h>
int main(int argc, const char * argv[]) {
int num=10;
printf("num=%d\n",num);
return 0;
}
格式化控制符:
%d 输出int 类型,short 类型
%ld 输出long类型
%f 输出float 类型
%lf 输出double 类型
%c 输出char 类型
%u 输出一个unsigned int 类型的数据
%lu 输出一个unsigned long 类型的数据
unsigned 是指修饰一个无符号的整数,不可以保存负数,只能用来保存整数
unsigned不能用来修饰float 和double类型
但是unsigned可以用来修饰char 类型
注意点:
1、%md:m代表这个整数占多少位,如果m是一个正整数,当实际位数不足时在左侧用空格补齐,如果实际的整数位数大于或者等于m时,就按实际输出;m也可以是负数,代表不足位数在右侧用空格补齐
2、%0md:和上面相同,只不过不足位用0补齐(需要注意)
3、%.mf m代表保留小数点后面多少位,m是一个整数,最后一位会四舍五入(需要注意)
4、%n.mf n代表总共的列数(小数点也算一列),m代表保留多少位小数,当实际列数小于n时,不足部分使用空格补齐,实际列数大于或等于n时,就按照实际列数输出
2、2 scanf函数介绍
scanf函数是用来接收用户输入的数据
它的语法:scanf("格式化控制符",地址列表);
#include <stdio.h>
int main(int argc, const char * argv[]) {
int num;
printf("请输入一个整数\n");
scanf("%d",&num);
printf("num=%d\n",num);
return 0;
}
注意:
一定要加取地址符 &
格式化控制符前面要求输入什么类型的数据,那么地址列表,就必须只能放相应的类型变量的地址
scanf函数的特点:
1、它是一个阻塞式的函数,使用该函数可以同时接收多个输入,其实就是在格式化控制符里面,多写几个格式化控制符,地址列表要按照顺序给
2、输入的时候可以输入n次(n等于格式化控制符的个数),或者以空格隔开
3、如果不想用空格在一行内输入,那么你在scanf函数里面可以指定符号,输入的时候必须按照这个符号来输入,否则会异常(后面的变量接不到值)
4、scanf里面最好不要接其他的文字。
5、用scanf的时候,最好不要先接收一个任意的数值类型(整型、实型),再接收一个char类型.
6、如果非要在后面接一个char类型的话,那么在scanf的格式化控制符之前要加一个空格 (特别注意点)
7、如果scanf要接收的是数字,那么不管你输入多少个空格,或者回车,都不会停止让你输入,直到你输入一个数字才会停止
8、如果接收的是int类型,你输入一个小数,那么会截取小数的整数部分
9、如果接收的是数字,你输入的是字符,那么会结束输入,但是不会把值给你存起来
scanf的运行原理:
1、scanf接收用户的输入,但是用户的输入并不是直接给了变量,而是存在一个叫缓冲区的地方
2、接收输入的时候,会先去缓冲区里面找,看缓冲区里面有没有合适的值,如果有,那么就直接不让你输入,直接把缓冲区里面的值给到你的变量,如果没有,会让用户继续输入,直到有合适的,才会停止