第一讲 变量
一、变量的内存分析
1、 字节和地址 0x表示的是十六进制
2、内存分析
/* 1、内存地址由大到小,优先分配内存地址比较大的字节给变量 2、变量越先定义,内存地址越大 3、取得变量的地址:&变量名 4、输出地址:%p 5、变量必须初始化才能使用 */ #include <stdio.h> int main() { //内存寻址由大到小 int a=10; int b=20; int c; //&是一个地址运算符,取得变量的地址 //%p用来输出地址 printf("a的地址是:%p\n",&a); printf("b的地址是:%p\n",&b); //由于c没有进行初始化,直接拿来用不行 //int d=c+1; printf("c的值是:%d\n",c); return 0; }
3、scanf函数
要求用户输入一个内容到屏幕上,使用前也必须声明<stdio.h>
#include <stdio.h> int main() { //定义一个变量,保存用户输入的数字 int number; //sacnf函数只接受变量的地址,等待用户输入,调用输入的值 scanf("%d",&number); printf("用户输入的值是:%d\n",number); return 0; }
小练习
1、提示用户输入两个整数,计算并输出两个整数的和
#include <stdio.h>
int main()
{
int num1,num2;
printf("请输入第一个整数:\n");
scanf("%d,&num1");
printf("请输入第二个整数:\n");
scanf("%d,&num2");
int sum=num1+num2;
printf("%d+%d=%d\n",num1,num2,sum);
return 0;
}
注意:scanf函数的其它用法和注意
1>%c输入的是字符
2>%f输入的是浮点数
3>连续输入两个整数scanf("%d,%d",&num1,&num2);
4>连续输出printf("num1=%d,num2=%d",num1,num2);
5>如果scanf参数中以空格隔开,实际输入可以以空格,teb,回车作为分隔符
6>scanf函数中不能出现\n换行符
1、算术运算符
1>.加法运算+
2>.减法运算-
3>.乘法运算*
4>.除法运算/
5>.取余运算%
#include <stdio.h> /* 提示用户输入一个秒数,比如500秒就输入500,然后输出对 应的分钟和秒,比如500s就是8分29秒 */ int main() { //提示用户输入一个秒数 printf("请输入一个时间值:\n"); //接收输入的值 int time; scanf("%d",&time); //转换成分钟和秒 int minute=time/60;//分钟 int second=time%60;//秒 printf("%d秒=%d分钟%d秒\n",time,minute,second); return 0; }
2、赋值运算符
1>.简单赋值运算符=
2>.复合赋值运算符+=、-=、*=。例如:a+=5;//a=a+5
3、自增自减运算符++、--
a++和++a的区别:++在a的前面是先a+1在参与运算,++在a的后面是a先参与运算,结果在+1,例如