、
语言排行榜
C——java——objective-C
2、
进制:
进制:进位机制。用普通的话讲,应该为人为的定义一种度量来标识一样东西。
计算机常用的进制有:十进制、二进制、八进制和十六进制。
Ø
十进制:0-9(十个指头)(进制表示基数:10)
Ø
二进制:0,1(基数为2)
Ø
八进制:0-7(基数为8)
Ø
十六进制:0-9,A-F(基数为16)
可以有很多进制,比如分钟为60进制等等。
3、
位权
为了进制之间转换而出的一个概念。
位:一个通用的描述方式。最低位为第0位。之后依次+1。
例如:9AF(F为第0位,A为第1位,9为第2位)
权:进制是几,权就是几。
位权:某位上的数*权^该位
例如:231,权为:10,位是:2,位权1为10^0,位权3为10^1,位权2为10^2
4、进制转换
十进制转X进制:连除倒取余数(取余数是从下往上取)
用通俗的话讲:十进制的某个数转化为其他进制时,将该数除以进制,依次将余数写在除法每一步的旁边,一直除完为止。则所对应的转化后的值,从下往上按顺序记录余数,该余数即为转化后的结果。
X进制转十进制:按权求和
用通俗的话讲:用位权的计算方法,将某进制的数,从第0位开始,把第0位上得数*进制(权)的0次方,加上第1位上得数*进制(权)的1次方….以此类推,直至该进制的数的最高位,所得到的和,即为转化所得的十进制的结果。
进制修饰(区别什么数是什么进制):
Ø
十进制:什么都不加修饰 如:111
Ø
八进制:在前加0
如:0111
Ø
十六进制:在前加0X
如:0X111
Ø
二进制:在前加0b
如:0b111
当程序员不想自己用笔来计算较大的进制转换时,点击右上角搜索按钮spotlight
搜索“计算器”。command+1(简单型计算器)2为科学型,3为编程型
5、基本数据类型
记忆基本数据类型的时候,这样记——三大类:
Ø
字符:
(关键字)char
:字符型占字节:1
= 8位写得出来的都是字符’1’ ‘2’
‘A’
。对应十进制0~255之间任意任意一个数都可以表示,但是>256的不能存储。
Ø
整型:
(关键字)short
短整型: 字节:2 =
16位 0~65535
(关键字)int
整型:字节:4 =
32位 0~2^33-1
(关键字)long
长整形:
字节:8或4(C语言没有给一个明确的数字,而是这样定义的,long型的数不小于int型的数。Int型的数不小于short型的数)
Ø
浮点:
(关键字)float
单精度浮点型:
字节:4
(关键字)double
双精度浮点型:
字节:8
字节:1字节=
8位
看一个数是正数还是负数,看最高位是啥:0为正,1为负
6、常量
不可改变的量。
如:
719,‘A’,‘a’等等。
7、变量
变量:变量相当于一个容器或位置.
变量命名规则
Ø
数字0~9,下划线_,字母
a~z,A~Z
组成,不能以数字开头
Ø
不可以用系统保留字
Ø
不能使用重复变量名
Ø
见名知意。(规范)定义一个变量,要明显知道变量名的意思。
赋值运算符:=
可以给一个变量赋值。
8、算术运算符
算数运算符,主要是看什么,主要是看+,-,*,/
,++,--,这几个运算符的用法,+,-,*就不说了,/(除法)主要是要看除数不能为0,虽然计算机不报错(因为语句都符合C语言的标准,程序会执行。),但是在运行后,给出的结果不正确。
++和—运算比较特殊,应该这样记:++在前则先++,++在后则后++。--和++一样。
要明白一点就是,运算过程中,会出现自动数据类型转换。
9、表达式
表达式:常量、变量与运算符的组合。
例如:3,3+1,n1+1,3+(也是表达式,但是是错误的表达式)
表达式都会有返回值。
语句是程序执行的最小单位,以分号结尾。
例如:1; 1+7;
不以分号结尾的,不管前面写的再好,再标准,都不是语句。
10、
基本输入输出
基本输入输出函数
,在C语言的第一个hello
world程序里,有printf(“hello
world”);这个语句,printf是标准输出函数,虽说打印语句都是程序里最简单的一个方法,但是在C语言中,printf函数输出,不仅仅是一个函数而已,它是由先人用汇编语言把计算机内存和显存的各种机理封装在了printf函数中,这个函数是在stdio.h这个库文件中的。
库文件:即为前人写好的代码,放在了一起,我们可以直接用。
输出:printf();
形式是这样的:printf(“%d”,100)这个是输出整型;printf(“%f”,100.0)这个是输出浮点型;printf(“%c”,’100’)这个是输出字符型的数据。
这个时候,输出整形还可以分:printf(“%sd”,100)这个输出短整型;printf(“%ld”,100)这个输出长整型。
输出函数printf还有一个要注意的地方:
Ø
%和d中间的数字,代表预留几个位置:从右往左算。
Ø
如果预留位置小于实际位置,按照实际位置来。
Ø
如果预留位置大于实际位置,在输出的左边补上空格。
Ø
如果数字前加0,则把空格变为补0;
例子:printf("d",12);输出结果:00012
Ø
.X表示保留小数点后X位,%4.2f表示保留小数点后2两位。.前为代表预留几个位置。
例如:printf("%4.2f",1.2345);//1.23
Ø
小数点也占位。
例如:printf("%4.1f",1.2345);//_1.2(下划线代表空格)
Ø
正数表示右对齐(如果给出预留位大于实际位,左边空格代替),负数表示左对齐(如果给出预留位大于实际位,右边空格)。
例如:printf("%-4dabc",123);//123_abc(下划线代表空格)
另外C语言推出一些解决输出转义字符的办法
printf("123\n456");//换行。
printf("\\");//打印\
printf("%%");//打印%
输入:scanf()
在用户输入一个数据时,需要在程序里定义一个变量来接收这个输入进来的值。
值得注意的是,scanf("%d",&n1);中变量需要用&n1表示。&表示取地址。后面会介绍。
关于输入数据类型,也需要注意,如果输入的数据类型和程序里定义的变量数据类型不匹配,则定义的变量拒绝接收输入进来的数据。
在输入函数中,与输出函数还有一个区别就是:输出函数的double类型占位符,用%f,但是输入函数的double类型占位符是%lf。
输入函数接收多个参数时,可以这样写:但是不推荐。
推荐的时分开接收:
scanf中,不推荐写除了占位符以外的东西,因为输入的时候需要一一对应输入,否则不接收输入数据。
例如:scanf(“sum =
%d”,&n1);则需要在控制台输入:sum=100,才能匹配,n1才能接收到数据,否则拒绝接收数据。
Scanf中的占位符,不能加\n,否则在输入数据时匹配回车将会和\n(换行)进行匹配后,无法得出结果。
//
功能代码
编写一个程序,要求用户输入一个美元数量,然后显示出增加%5税率后的相应金额。
格式如下所示:
int
money=0;
printf("Enter an amount: \n");//输出语句。
scanf("%d",&money);
printf("With tax
added:$%.0f\n",money*(1+0.05));
1,注释
1)单行注释,多行注释
2)作用:提时代码作用,提示思路
3)单行注释不能回车。
// 单行注释
//
编写一个程序,要求用户输入一个美金数量, 然后显示出如何用最少的20美元、10美元、5美元和1美元来付款:
// int
amount=0;
//
printf("Enter a dollar amount: ");
//
scanf("%d",&amount);
// int
count1=0,count2=0,count3=0,count4=0;
//
count1=amount/20;
//
count2=(amount-count1*20)/10;
//
count3=(amount)/5;
//
count4=(amount)-count3*5;
//
printf("$20 bills:%d\n",count1);
//
printf("$10 bills:%d\n",count2);
//
printf("$5 bills:%d\n",count3);
//
printf("$1 bills:%d\n",count4);
// 计算整型占的字节数
//
printf("整型:%lu个字节",sizeof(int));
//
printf("\n长长整型:%lu个字节\n",sizeof(long long));
//
printf("单精度浮点型:%lu个字节\n",sizeof(float));
//
printf("双精度浮点型:%lu个字节\n",sizeof(double));
//
printf("短整型:%lu个字节\n",sizeof(short));
//
printf("字符型:%lu个字节\n",sizeof(char));
//
printf("长整型:%lu个字节\n",sizeof(long));
//
练习:交换两个变量的值,输出结果
// int
a=0,b=0;
//
printf("请输入两个整型数:\n");
//
scanf("%d%d",&a,&b);
//
getchar();
// int
temp=a;
//
a=b;
//
b=temp;
//
printf("a=%d b=%d",a,b);