进入蓝鸥,是一个非常机缘巧合的事情。毕竟,原本学习机电一体化的我,与编程之间,也只是在学校里接触过一点点。之所以决定来到蓝鸥学习IOS,与我的一个同学有关。就在今年四月份,他刚刚在这里培训,从他那里了解了一些情况后,几乎是心血来潮,我来到了蓝鸥,准备转行,踏上程序员的道路。
蓝鸥培训一共四个月的时间,在昨天已经开始上课,不过正式开始编程方面知识的学习,还是在今天。
我们是讲师是邹明,一个很年轻幽默的老师,大家都叫他明哥。明哥从事IOS开发经验是颇为丰富的。
在来到蓝鸥之前,我对于编程,可以说一窍不通,相当于零基础。我原本担心,我会不会因为基础太差,而拉下太多。不过在听了一天之后,我发现我的担心是多余的。
明哥讲课,从最为基础的地方开始,而且讲解颇为详细和幽默,听起来并不显得非常枯燥。今天一天,在明哥的带领下,我学习了C语言之中最为基础的东西——常量变量、运算符、表达式、输入输出函数等知识。
一些名词解释
单行注释:起到解释说明的作用,不属于代码的一部分,程序不会编译和执行
多行注释:范围之内的内容相当于空白
基本数据类型:用来规定我们存储数据类型的空间大小的
常量:程序运行期间值不能被改变的量,其分为整型常量、浮点型常量和字符型常量
变量:程序运行期间值可以改变得量,变量本身是一个存储区域,存储区域内存储的值就是变量的值,改变的是这个存储区域里面的值
1.数据类型
(1)整型:short(短整型),int(整型),long(长整型)
(2)浮点型:float(单精度浮点型),double(双精度浮点型)
(3)字符型:char
数据类型格式:数据类型 变量名 = 初值,例如:int a = 10;
需要注意的是:单精度浮点型,小数点后六位为有效位;而双精度浮点型,小数点后十五位为有效数字;
在定义多个相同类型变量时,可以使用逗号隔开,例如:int a = 0, appleCount = 0;
2.变量
变量是在程序运行期间可以改变的量,它是一个容器,是编程之中最为常见的.
变量名的命名规范
(1)必须以数字,字母,下划线组成;并且不能以数字开头
(2)见名知意
(3)不能重名
(4)不能使用系统关键字
(5)使用驼峰法命名(大驼峰法,小驼峰法),一般使用小驼峰法
//定义一个整型a
int a = 0; //"="等号是赋值符号,等号右边是给a赋的初始值,赋值操作是一个复制的过程,并不是剪切
a = 10; //给a赋值
//定义一个浮点型b
float b = 0.9;
b = 2.9;
//定义一个字符类型变量c
char c = '1';
c = '5';
//定义一个double类型的变量d
double d = 0.0;
d = 9.9;
//同一行当中定义多个同种类型的变量:
int a = 1,b = 2,c = 3;
//同一行当中定义不同类型的变量:
int d = 1;float e = 2.9;char f = 'a';
2.交换两个变量的值
int a1 = 3;
int a2 = 5;
a.借助第三个变量
int a = 10,b = 20,c = 0;
c = a; //a:10,c:10
a = b; //b:20,a:20
b = c; //c:10,b:10
b.不借助第三个变量
a1:3 a2:5
a1 = a2 - a1;//a1:2 a2:5
a2 = a2 - a1;//a1:2 a2:3
a1 = a1 + a2;//a1:5 a2:3
printf("a1 = %d, a2 = %d\n", a1, a2);
3.运算符
(1)赋值运算符 =
它的作用是把等号右侧的值 赋给 等号左侧,例如int b = 5;
它可以说是编程之中最常用的运算符了.
(2)算术运算符
加
int sum = 0;
sum = m + n;
减
int minus = 0;
minus = n - m;
乘
int mul = 0;
mul = n * m;
除
注:整数相除,小数点后的值会被忽略掉
int div = 0;
div = n / m;
printf("div = %d\n", div);
如果想要保留小数点后面的数字,那么至少要保证 除号 两侧有一个是浮点数
比如:
float div1 = 3 / 2.0;
printf("div1 = %f\n", div1);
取余:取余数 %
注:一般只对整数取余
被除数 / 除数 = 商
除数不能为0
int rem = 0;
rem = n % m;
printf("rem = %d\n", rem);
自增 ++
n++;
++n;
相当于n = n + 1;
自减 --
m--;
--m;
相当于m = m - 1;
原则:
1.++或--在前,先+1 或 先-1,再运算
2.++或--在后,先运算,再+1 或-1
3.自加自减的运算优先级高于算术运算
(3)复合运算符
j += k;//相当于j = j + k;
j -= k;//相当于j = j - k;
j *= k;//相当于j = j * k;
j /= k;//相当于j = j / k;
j %= k;//相当于j = j % k;
4.表达式:由常量,变量,运算符组成的
例如:x + 1, x + y
5.语句:程序执行的最小单元,以分号;结束0
以分号来计算语句的数量
6.输出函数和输入函数
输出函数:printf
输入函数:scanf
int g = 0, h = 0;
printf("请输入两个整数:");
当遇到scanf,程序会等待用户在控制台输入
确定输入,需要用大回车
scanf("%d %d", &g, &h);
printf("g = %d, h = %d\n", g, h);
7.代码规范
双目运算符左右两侧要加空格,例+, -, =
单目运算符不需要加空格,例++,--
逗号后面要加空格
下面,附上晚上做的几道题(写在了一个工程里)
//1.打印下面图形:
// *
// * *
//* * *
//
int main(int argc, const char * argv[]) {
printf( " *\n");
printf( " * *\n");
printf( "* * *\n");
//2.编写一个程序,要求用户输入一个美元数量,然后显示出增加%5税率后的相应金额。格式如下所示: Enter an amount:100.00,With tax added:$105.00
float a = 0,b = 0;
printf("Enter an amount:");
scanf("%f",&a);
b = a * (1 + 0.05);
printf("With tax added:$%.2f\n",b);
//3.从键盘输入两个实数a和b,输出a占b的百分之几。小数点后保留2位,例如:输入1和4,输出:25.00%
float a1 = 0,b1 = 0,c1 = 0;
printf("亲,请分别输入两个实数:");
scanf("%f%f",&a1,&b1);
c1 = (a1 / b1 ) * 100;
printf("%.2f%%\n",c1);
//4.写一个程序,要求用户输入一个美金数量, 然后显示出如何用最少的20美元、10美元、5美元和1美元来付款:例如: Enter a dollar amount:93
//$20 bills: 4
//$10 bills: 1
//$5 bills:0
//$1 bills:3
int a3 = 0;
printf("Enter a dollar amount:");
scanf("%d",&a3);
printf("$20 bills:%d\n",a3 / 20);
int b3 = a3 % 20;
printf("$10 bills:%d\n",b3 / 10);
int c3 = b3 % 10;
printf("$5 bills:%d\n",c3 / 5);
int d3 = c3 % 5;
printf("$1 bills:%d\n",d3);
//5.输入两个整数,打印这两个数的和,差,积,余数
int a4 = 0,b4 = 0;
printf("亲,请分别输入两个整数:");
scanf("%d%d",&a4,&b4);
printf("和:%d\n差:%d\n积:%d\n余:%d\n",a4 + b4,a4 - b4,a4 * b4,a4 % b4);
//6.查找ASCII码表,分别用%d输出字符,用%c输出整数
int a5 = 0;
char b5 = 0;
printf("亲,请输入一个整数:");
scanf("%d",&a5);
printf("转换后的字符为:%c\n",a5);
rewind(stdin);
printf("亲,请输入一个字符:");
scanf("%c",&b5);
printf("转换后的整数为:%d\n",b5);
return 0;
}