当前位置:首页 > C语言程序设计重点知识
C程序设计 各章重点知识总结 3. i+++j相当于(i++)+j,尽可能多的自左至右
12、赋值运算符、复合赋值运算符、赋值表达式(P59-64) 赋值运算符就是“=”
1.将浮点型数据(单双精度)赋给整型变量时,舍弃浮点数的小数部分
2.将整型数据赋给单双精度时,数值不变,但以浮点数形式存储到变量中,如将23赋值给float就得到23.00000
3.将一个double型数据赋给float变量时,截取其前面7位有效数字,存放到float变量中。例:float f;double d=123.456789e100;f=d;就出现溢出错误
将一个float型数据赋给double变量时候,数值不变,有效位数扩展到16位,在内存中以8个字节存储
4.字符型数据赋给整型变量
5.int、short、long型数据赋给char变量 例如int i =289;char c=‘a’;c=i;
6.将带有逗号的整型数据int赋给long型变量时,啊哟进行符号扩展,将整型数据16位送到long型低16位中,如果int型数为正值,则long型变量的高16位补零;如果int型变量为负值(符号位为1),则long型变量的高16位补1,以保持数值不变,反之如果将一个long型数据赋给一个int型变量,值将ong型数据中低16位原封不动地送到整型变量(截断)
7.unsignedint型数据赋给long int型变量时,不存在符号扩展问题 8.将非unsigned型数据赋给长度相同的unsigned型变量,也是原样赋值 复合赋值运算符:a+=3 等价于a=a+3;a+=b+3等价于a+=(b+3) 9. 赋值表达式一般形式<变量><赋值运算符><表达式>
赋值运算符左边的叫左值,右边的叫右值,凡是左值都可以作为右值 赋值表达式作为左值时应加括号
赋值运算符按照“自右至左”的结合顺序
(a=3*5)=4*3 先执行括号内能的运算,将15赋给a,然后执行4*3的运算,得12,再把12赋给a,故整个表达式的值为12 赋值表达式也可以包含复合的赋值运算符
a+=a-=a*a 先进行右边赋值表达式的计算,相当于a=a-a*a将a初值带入计算a,再进行左边赋值表达式的计算
13、逗号运算符及其优先级、逗号表达式 逗号表达式一般形式 表达式1,表达式2
赋值运算符的级别高于逗号运算符 a=3*5,a*4 a的值为15,表达式的值为60 x=(a=3,6*3)
赋值表达式,将逗号表达式的值赋给x,x的值等于18 x=a=3,6*3
逗号表达式,x的值为3,整个逗号表达式的值为18
第四章 顺序结构程序设计
1、C语句的分类(P69-71)
1、 控制语句 9种
If?else?/for?/while?/do?while/continue/break/switch/goto/retur
5 C程序设计 各章重点知识总结 n
2、 函数调用语句。函数调用语句由一个函数调用加一个分号构成
printf(“456123”)
3、 表达式语句。表达式语句由一个表达式加一个分号构成,a=3 4、 空语句 5、 复合语句
2、赋值语句(P71) If((a=b)>0)t=a;先将b的值赋给a,如果a大于0,则t=a 3、putchar()、getchar()函数(P73-74)
putchar函数(字符输出函数)作用是向终端输出一个字符。其一般形式为 putchar(c)
putchar函数可以在屏幕上输出字符,也可以输出控制字符,如putchar(‘\\n’)作用是输出一个换行符,使输出的当前位置移到下一行的开头
getchar函数(字符输入函数)的作用是从终端输入一个字符,其一般形式为getchar()例如char c;c=getchar();putchar(c);此时屏幕上将输出c的输入值 4、printf()、scanf()函数及其对应的格式控制符(P74-86) printf格式输出函数,作用是向终端输出若干个任意类型的数据 一般格式为printf(“格式控制”,输出表列) 例printf(“%d,%c\\n”,i,c) 格式控制作用: 1. 格式说明(%..):将输出的数据转换为指定的格式输出 2. 普通字符。按原样输出
格式控制中的普通字符按原样输出 例printf(“%d %d”,a,b) printf(“a=%d b=%d”,a,b)
在第二个函数中双引号内的字符,除了两个%d以外,其他的普通字符按原样输出,如果a,b的值分别为3,4,则输出为a=3 b=4中间有空格 3. 格式字符:
① d格式符。%d按十进制整数数据实际长度输出;%md指定宽度(位数)m,如果数据
位数小于m,则左端补空格;%ld长整型数据 ② o格式符。以八进制整数形式输出 ③ x格式符。以十六进制数形式输出
④ u格式符。以十进制整数形式输出无符号数
⑤ c格式符。用来输出一个字符,一个整数,只要它的值在0~255之间,也可以用%c
使之按字符形式输出,在输出前,系统会将该整数作为ASCII码转换成相应的字符;反之,一个字符数据也可以用整数形式输出。
⑥ s格式符。用来输出一个字符串。%s;%ms,输出的字符串占m列,如果字符串本身
长度大于m,则突破m限制,将字符串全部输出,如果小于m,则左补空格;%-ms,如果串长小于m,则在m列范围内,字符串向左靠,右补空格;%m.ns,输出m列,但只取字符串左端n个字符。这n个字符输出在m列右侧,左补空格;%-m.ns,取n个字符输出在m列范围的左侧,右补空格,如果n>m,则m自动取n值,即保证n个字符正常输出
⑦ f格式符。用来输出实数(包括单双精度),以小数形式输出。%f,不指定字段宽度,
使整数部分全部输出,并输出6位小数。但注意,在输出的数字中并非全部数字都
6 C程序设计 各章重点知识总结 是有效数字,单精度实数的有效数字一般为7位;%m.nf,指定输出的数据共占m列,其中有n位小数。如果数值长度小于m,则左端补空格;%-m.nf与%m.nf基本相同,只是使输出的数值向左端靠,右端补空格。 ⑧ e格式符。以指数形式输出实数
⑨ g格式符。用来输出实数,根据数值的大小,自动选f格式或者e格式,且不输出
无意义的零。P80 格式字符 d ,i O X,x u c s f e,E g,G 字符 l m n - 说明 用于长整型整数,可加载个师傅d,o,x,u前面 数据最小宽度 对实数,表示输出n位小数,对字符串,表示截取的字符个数 输出的数字或字符在域内向左靠 说明 以带符号的十进制形式输出整数 以八进制无符号形式输出整数 以十六进制无符号形式输出整数,用x则百偶是输出十六进制数的a~f时以小写形式输出。用X时,则以大写字母输出 以无符号十进制形式输出整数 以字符形式输出,只输出一个字符 输出字符创 以小数形式输出单双精度数,隐含输出7位小数 以指数形式输出是说,用e时指数以e表示,用E时指数以E表示 选用%f或%e格式中输出宽度较短的一种格式,不输出无意义的0.用G时,若以指数形式输出,则指数以大写表示 注意:除了X,E,G外,其他格式字符必须用小写字母;可以在格式控制字符串内包含转义字符;格式符之间可以加入修饰符;用连续两个%来输出% scanf(格式控制,地址表列) scanf(“%d%d%d”,&a,&b,&c)
&为地址运算符,&a指a在内存中的地址。
1.用%d%d%d输入数据时不能用逗号做两个数据间的分隔符可用空格
如果%d和%d之间有n个空格,则输入时对应的位置应该有多于n个空格来分隔
总之,%d与%d之间有什么简单符号,输入信息时候就要将这些符号加上,或者格式控制里是a=%d,则输入数据时候也得输入a=某个数据
2.用%c格式输入字符时候,空格字符和转义字符都作为有效字符输入 例如:scanf(“%c%c%c”,&c1,&c2,&c3);若输入“a空格b空格c”则c1为a,c2为空格,c3为b,正确的输入法为“abc”字符间没有空格
3.在输入数据时候,遇到以下情况时,认为该数据结束①遇空格,或按回车,或跳格键;②指定宽度结束,如=;③遇非法输入
第五章 选择结构程序设计
1、关系运算符及其优先级和结合性、关系表达式(P91-92)
优先级:等不等于 低于 大小等于;算术运算符>关系运算符>赋值运算符
7 C程序设计 各章重点知识总结 理解:关系表达式,表达式的值(1为真,0为假)
例:设a=3,b=2,c=1有d=a>b 则d的值为1;f=a>b>c 则f的值为0.
2、逻辑运算符及其优先级和结合性、逻辑表达式及其求值过程的特点(P91-92) 逻辑运算符与(&&)或(||)非(!) 优先级:
① 非(!)→与(&&)→或(||) 谐音记为“飞鱼火”; ② 逻辑运算符中的“&&”和“||”低于关系运算符,“!”高于算术运算符
逻辑表达式:C语言判断一个量是否为真时,以0代表假,以非0代表真,即将一个非0的数值认作为真。
若a=4则!a的值为0;4&&0||2的值为1 求值过程特点:略
3、if语句的三种结构(P95-96) 第一种:if(表达式)语句
例:if(x>y)frintf(“%d”,x); 第二种:if(表达式)语句1else语句2
例:if(x>y) printf(“%d”,x); else printf(“%d”,y) 第三种:if(表达式1)语句1 else if(表达式2)语句2?..
例:if(number>500)cost=0.15;else if(number>300)cost=0.10;else cost=0; 特点:1.if(3)printf(“%d”,’a’);2.第二,三种形式的if语句中,在每个else前面有一个分号,整个语句结束处有一个分号。3.当if和else后面有多个操作语句时,用{}将几个语句括起来称为一个符合语句。注意,花括号外面不需要再加分号,因为{}内是一个完整的复合语句
4、if语句的嵌套及if与else的配对关系(P99) 略
5、条件运算符及其优先级和结合性及其求值过程(P102-104) 例子:max=(a>b)?a:b; “(a>b)?a:b”是一个条件表达式,如果(a>b)为真,则条件表达式取值a;否则取值b。条件运算符优先级别低于关系运算符和算术运算符。故上式中括号可以省略 条件运算符的结合方向为“自右至左” a>b?a:c>d?c:d 相当于a>b?a: (c>d?c:d)
例子:a>b?(a=100):(b=100) a>b?printf(“%d”,a):printf(“%d”,b) 6、switch语句及其执行过程、break语句的作用(P102-104) switch(grade) 行时,此case一旦执行其后面的语句将就{ 此开始全部执行下去,不再进行判断,为使case‘A’:printf(“85~100\\n”); 在执行此case后跳出结构,用一个breakcase ‘B’:printf(“0~84\\n”); 语来达到刺目的。故需在以上语句的每一个defaule:printf(“error\\n”); case语句分号后面加(break;) } 说明:case只起语句标识作用,当语句执
第六章 循环控制
1、while语句(P114)
while(表达式)语句;特点:先判断表达式,后执行语句。
8
共分享92篇相关文档