c语言
- 格式:wps
- 大小:54.50 KB
- 文档页数:7
第一章1,整型常量(整常数):占2个字节;定点实数(一般形式的实数)2,实型常量(只用十进制数) 浮点实数(带指数的实数):它由前置数,小写字母e 或大写 E ,指数 三部分组成:33310e 1e 正确,表示错误,(占用4个字节 有效数字是7位,12.3456789=12.34567)常 3,字符型常量(用单引号括起来的单个字符) ‘a ’ ‘2’ ‘*’‘!’量 转义字符常量:\n \0 \f 区分字母大小写‘a ’与‘A ’ (在内存中均占一个字符) 是不同的字符常量4,字符串常量(用双撇号括起来的若干个字符序列) “a ”“xyz ”字符串的长度为串中字符的个数,但是在内存中所占的字节数比长度多1, 因为‘\0’还占一个字节(‘a ’是字符常量占一个字节,而“a ”占两个字节('\0'占一个)'\0'是个空操作字符,输出时不含'\0'。
变量的主要作用时存放响应的常量(字符串常量是用字符数组来存放的)标识符(变量名:字母,数字,下划线)不能与专有名词重复,大小写不同Max 与max 是不同变量整型变量:int 基本整型 long 长整型 short 短整型(占2字节)(占4字节)实型变量:float 单精度实型 double 双精度变 类型 (系统分配4字节的存储空间)(占8字节)量 说明符(类型名) 字符型变量:char 占1字节char ch1='a' ,ch2='a';不能写成char ch1=ch2='a'双目运算符:+ - * / %(求余)/ 两整数相除其商为整数(取商的整数部分) 1/2结果为0% 两边的运算对象应为整数,其余数也为整数2mv 21写成0.5*m*v*v 或1.0/2*m*v*v 或m*v*v/2.0不要写成1/2*m*v*v 因为1/2结果为0算术运算符 c 中允许不同类型的量混合运算1,隐式转换(系统自动转换)2,显式转换(强制类型转换)单目运算i++,i--(使用i 值之后,是变量i 的值加1或减1)++i ,--i (在使用i 之前,先使i 值加1或减1)int i=5,j;J=i++ 得到j=i,再执行i++赋值运算符复合赋值:a+=b a=a+ba*=b a=a*ba%=b a=a%b!(逻辑非) &&(逻辑与) ||(逻辑或)单目 双目逻辑运算符用它将若干个表达式连接起来就形成了逗号表达式X = 3 + 5 , 4 + 6赋值表达式算术表达式结果为4+6的值10逗号表达式逗号运算符(a=5,a+8),a*4 由逗号表达式(a=5,a+8)和算术表达式a*4构成逗号表达式,整个表达式值为a*4的值即20X=3+5,4+6 和x=(3+5,4+6)逗号赋值结果都为10=的优先级大于逗号的优先级第二章一、赋值语句的功能是把表达式值算出后赋给变量二、字符输入/输出函数getchar:只能接收一个字符变量=getchar()圆括号内无参数Char ch:执行“ch=getchar();”时暂停程序的执行出现一个闪动的光标,键入一个字符后,程序继续向下运行若键入1234 则ch='1'putchar(c):c可以是:1,字符常量或已有值的字符变量2,整型常量或已有值的整型变量3,整型表达式换行putchar('a');putchar('\n');putchar(97);结果:aa程序中若出现getchar(),putchar()等函数时,前面须写”包含命令“#include<stdio.h>三、格式输入、输出函数printf("格式控制字符串",输出数据表列);%d 十进制整型格式%f 实型格式%c 字符型格式实际长度输出%md 指定长度输出若m大于输出数的位数则在输出数的前面补空至m位若m小于输出数的位数则按实际位数输出,即m失效%f 实型格式float x=234.567890printf("%10.3f\n",x);结果为———234.567(结果中的—代表一个空格符)%10.3f 指整个输出10位(含小数点一位,小数3位)%f 系统指定输出长度,整数部分全部输出,并输出六位小数,单精度除外,因为它的有效位数为7位若有定义语句:char ch1='a',ch2='b',ch3'c';printf("%c%c%c\n",ch1,ch2,,ch3);结果为abcscanf("格式控制字符串",输入对象地址表列)Scanf("%2d,%3d,%4d",&a,&b,&c);1,scanf函数输入实型数据时不能规定精度Scanf("%7.2f",&x) 是错误的2,scanf格式控制字符串后面对应的是”变量地址“而不是变量名3,“%c”格式输入时只能接收一个字符Scanf("%c%c%c",&ch1,&ch2,&ch3);程序结构表达式值为0代表“假”;表达式值非0代表“真”设x是一个整数,若!X值为0,则x值为非0,不能简单的说x值为1,因为非0也包含11,if (a<b){m=a;a=b;b=m;} 复合语句2,if (a<b)m=a,a=b,b=m; 逗号语句1,2等价If和(表达式)及语句s之间要留空(一个即可)常量,变量和函数也是表达式,他们是表达式的特例;If (3)语句s;if(a)语句s,等均为正确的if语句;实行运算中,常量尽可能的写成小数,如23写成23.0 减少系统类型转换时间条件运算符“?:”为条件运算符表达式1?表达式2:表达式3C中唯一一个三目运算Eg:w=p<=20.0?0.0:(p-20.0)*0.5;Y=x<0-1:(x==0?0:1);A b 两数求最大数值max,也可以用Max=a>b?a:b;等价于if (a>b) max=a;else max=b;SwitchSwitch(表达式){case 常量表达式1:语句1;break;Case 常量表达式2:语句2;break;Case 常量表达式3:语句3;break;、、、、、、、、Default :语句组n+1;}Eg:main(){int x,,i;char ch;Scanf("%d",&x);I=x/10;Switch(i)case 10:ch='A';break;Case 9:ch='B';break;Case 8:ch='C';break;case 7:ch='D';break;Case 6:ch='E';break;Default :ch='F';}Printf("%d--%c\n",x,ch);}Main(){int a=1,b=0;Switch(a){case 1:switch(b){case 0:a++;b++;Case 1:a++;break;Case 2:b++;}Case 2:a++;b++;break;Default:a++;}Printf("a=%d,b=%d\n",a,b);}程序的执行过程是这样的:最外层switch中表达式a等于1,执行case1后面的switch(b),表达式b等于0;执行a++,b++和case1后面的a++,终止里层switch,继续执行外层case2后面的“a++;b++”,终止外层switch,最后输出结果。
注意:在switch中出现的break是终止本层switch的执行。
若在内层switch(b)的右花括号“}”的下面加1个break;,才可终止外层的switch。
此时运行结果为:a=3,b=1。
小写字母比它相应的大写字母的ASCⅡ码值大32;While(i<=100) (当型){s=s+i;i++;}Do-while (直到型)Do{s=s+i;I=i+1;}While(i<=100);For (i=1;i<=100;i++)S=s+i;Break与continueBreak是跳出本层循环,接着执行下面的语句。
Continue结束本次循环重新进行下次循环判断。
#define N 5 (定义常量)便于程序的修改长整型常量后面加L或l,#define N 5Main(){int i;Long p=1L,s=0L;For (i=1;i<=N;i++){p=p*i;S=s+p;}Printf("s=%Ld\n",s);}。