英文格式!!!!!!
与:&
或:|
非:!~
同或:(符号打不出)同就是一
异或:^( 不同为一)(按位)
1字节=8位,1位即是二进制中的一个单位(如8位可表示0-255,101B三位 5)
浮点型可表示小数,其他不可以(单双精度选择看小数有效位,6/7-单,15/16-双)
小数点算一位
大范围可兼容小范围,反之不可
字节:byte 位:bit
C51基本数据排序:bit<char<int<long<float<double
一:注意事项:每句后有; 代码从上往下运行
二:语句:
1.printf(输出):一定有()和"" (""中为表现的内容 %为提取后面的变量表示的量) eg:printf("hi"); printf("%c",a); printf("%d+%d=%d",a,b,c); prinft("%.15f",a);
2.scanf输入:同printf 但存数字变量前有&(取址符) 取double时占位符是"%lf" 存字符变量时占位符是%c 存字符串变量时无&,占位符是“%s”,且不写a[x] 写a eg:scanf("%f",&a); scanf("%d%d",&a,&b);
3.if:条件写在if同一行(括号包住条件)(if这一行不要写;)后行写结果语句(最好在结果语句前后加{}) eg: if (a=0) {printf("yes");}
4.else否则(只与if搭配使用)(可简化if语句)(只判断一个条件真假,假情况下执行else后语句)(同if,else行不写;)(有时候只要讨论真不真,那么就不用else了)
5.while()循环(括号中内容表达为真时,执行{}中内容)(while行不写;) ({}出现规则同if的) (if可嵌套在while中)(while中也可嵌套while)(while(1)可无需其他条件循环)eg:while(1>0) {printf("1");}
6.Sleep()等待 (括号内是等待时间,单位是毫秒)(Sleep的S要大写)(要在代码开头加上#include<windows.h>)(int main前面)
7.system相关:
a.("pause")运行界面暂停
b.("color xx")改变背景/文字颜色(x为16进制数,"背景色+文字色")
c.("cls")清屏(屏幕中所有内容)
d.("shutdown -s -t 50")(shutdown令计算机关机或重新启动 -s为关机 -r为重新启动 -a为取消关机 “-t x”为在x秒后执行(之间有一个空格))
8.break提前结束循环(对for while do while有效)
9.coutinue强迫程序提前进入下一轮循环
10.rand()产生随机数(前面不加stand那么产生的数每次都是一样的)(要每次不一样需在前面加上srand((unsigned)time(NULL));) (在啊哈c中为0-32767)eg:生成0-99的整数:srand((unsigned)time(NULL)); a=rand()%100;
11.srand()初始化随机种子数(可用当前时间来获得随机种子)
12.time()(使用时需要在最前面加#include<time.h>)
13.读取一个字符的方法:
a. getchar():a=getchar();==scanf("%c",&a);(需点enter输入)(带回显)
b.getche():(不需点enter输入)(带回显)
c.getch():(不需点enter输入)(不带回显)
14.读取字符串的方法:
a.gets(a):可以读入一整行字符
b.scanf("%s",a):遇到空格就提前终止了
15.输出字符串的方法:
a.printf("%s",a)
b.puts(a):相当于printf("%s\n",a)
16.strlen():获取字符串的长度(需在前面加上#include<string.h>)
17.strcmp(,):比较两个字符串在字典中的顺序(将其与0(返回值)比大小,>0则后者先出现(大的在后面))(需在前面加上#include<string.h>)
18.strcpy(a[i],a[j]):复制字符串,即将a[j]的内容复制至a[i](需在前面加上#include<string.h>)
三:表达:
1.%d提整数(当多个%d出现的时候,%d依次提取后面的变量) %f提小数("%.15f"中的.15表示保留位数,是16进制数) %c提字符(单个) %s提字符串
2.\n表示换行
3.=为赋值符号(右边的赋到左边!!!!!) ==为等于 !=为不等于 >=为大于小于
4.数据类型:int表示整数(int a,b,c;) float表示小数(浮点数)(float a,b;) double表示小数(double a,b;)(更精确) char表示字符(char a;)(c=b+1)
5.16进制:0123456789ABCDEF
6.交换数方法:a.引入临时变量(t=a;a=b;b=t;) b.a=b-a;b=b-a;a=b+a;
7.tab制表符,可替空格,让代码更规整美观
8.//注释,//之后(本行内)的内容无效 /* */可注释多行内容(单独成行)
9.int a; a=1; == int a=1; 浮点型变量赋初始值时必为小数,字符型时必有'' (eg:char a='z';)
10.+加 -减 *乘 /除(左右都是整数时结果也为整数,5/3=1) %求余
11.&&表示逻辑并且 ||表示逻辑或
12.多个数排序==》数之间交换位置(暂时变量)
13.对于某一个数讨论真假时,只有0为假
14.if-else表示同时满足时可用&&,也可嵌套
15.简写:a++为a=a+1 a--为a=a-1(写两遍就是a=a-2)a+=x为a=a+x
16.得到某位数(通过/10让某位变为个位 %10提取个位数字)
17.数组:(既可以存数字,也可以存字符)
a.一维数组:a[x]一次性申请x个变量(分别叫a[0] a[1] ....a[x-1])(for循环赋值)(在赋已知值时可以int a[x]={a,x,f,r,s,r,s,r})(当按顺序赋部分值时可int a[x]={s,d,a,q,}剩余未赋值变量都为0)(不可跳过部分变量赋值) eg:int a[100]
b.二维数组:a[x][y](x为行,y为列,同样从0开始)(可以通过两个for循环嵌套赋值)(同一维数组,int a[x][y]={{a,b,f,d},{a,d,t},{w},{w,r,y,t} 里面{}代表一行(之间有逗号)(从第0行开始)其余的同一维的)(若不加里面的{}则把一行排完再排下一行)
c.字符数组(字符串):char a[10] 只可以存9个字符,最后一个存字符串结束标记“\0”(赋初始值时char a[10]={"hello"}其他与一维数组类似)
d.二维字符数组:char a[11][21] 每一行最后一位要留给“\0”即每行存至多20个字符 赋初始值时用逗号隔开,“”中为每一行内容(其余同二维数组)
18. 1 '1' "1" 不同 (整数)(字符(本质上是整数))(字符串/字符数组)
19.位置从(0,0)开始!!!
四:思想:
1.程序的三种结构:
a.顺序执行
b.选择执行
c.循环执行