- 3
- 0
- 约3.37万字
- 约 95页
- 2016-08-20 发布于湖北
- 举报
执行getchar()是输入字符后要回车。 在用getchar()函数连续输入多个字符是要注意回车符。 getchar函数只能接受单个字符,输入数字也按字符处理。输入多于一个字符时,只接收第一个字符,多余的字符存入到键盘的缓冲区,若有下一个getchar函数语句,由直接从键盘的缓冲区读一个字符。 使用本函数前必须包含文件“stdio.h”。 Thanks to be continued…… ※逗号运算符:将两个表达式连接起来,又称为“顺序求值运算符”。 如:3+5,6+8 ※一般形式: 表达式1,表达式2 逗号表达式的值为14 ● 逗号运算符和逗号表达式 ※求解过程: 先求解表达式1,再求解表达式2。整个逗号表达式的值是表达式2的值。 例3.10:逗号表达式 a= 3*5,a*4 分析: 赋值运算符的优先级别高于逗号运算符,因此应先求解a=3*5。 ※优先级由高到低(详见附录) …… 赋值运算符 逗号运算符 a的值为15,然后求解a*4,得60。整个逗号表达式的值为60。 ※一个逗号表达式又可以与另一个表达式组成一个新的逗号表达式 如:(a=3*5,a*4),a+5 a = 3 * 5 a*4 得 60 a+5 得 20 先计算出a的值等于15,再进行a*4的运算得60(但a值未变,仍为15),再进行a+5得20,即整个表达式的值为20。 ※逗号表达式的一般形式可以扩展为 表达式1,表达式2,表达式3,……,表达式n 它的值为表达式n的值。 例: ① x=(a=3,6*3) ② x=a=3,6*3 ※逗号运算符是所有运算符中级别最低的 赋值表达式,将一个逗号表达式的值赋给x,x的值等于18 逗号表达式,包括一个赋值表达式和一个算术表达式,x的值为3,整个逗号表达式的值为18。 #include stdio.h int main ( ) { int max(int x,int y); int a, b, c; scanf (%d,%d,a,b); c=max (a,b); printf (max=%d,c); return 0; } int max(int x,int y) { int z; if (xy) z=x; else z=y; return (z); } ※注意: 并不是任何地方出现的逗号都是作为逗号运算符。 如: printf(“%d,%d,%d”, ( a , b , c ), b , c ) ; 如: printf(“%d,%d,%d”, a , b , c) ; 例如函数参数也是用逗号来间隔的。 如: (a=4,b=6,a++,a+b) (3.10) 输出结果为:11 “a,b,c”并不是一个逗号表达式,它是printf函数的3个参数 “(a,b,c)”是一个逗号表达式,它的值等于c的值。 直接常量: 》整型常量 》实型常量 》字符常量 》字符串常量 要求对所有用到的变量作强制定义,也就是“先定义,后使用”,这样做的目的是: (1) 凡未被事先定义的,不作为变量名,这就能保证程序中变量名使用得正确。例如,如果在定义部分写了 int student; 而在执行语句中错写成staent。如: staent=30; 在编译时检查出statent未经定义,不作为变量名。因此输出“变量statent未经声明”的信息,便于用户发现错误,避免变量名使用时出错。 (2) 每一个变量被指定为一确定类型,在编译时就能为其分配相应的存储单元。如指定a、b为int型,turbo c编译系统为a和b各分配两个字节,并按整数方式存储数据。 (3) 指定每一变量属于一个类型,这就便于在编译时,据此检查该变量所进行的运算是否合法。例如,整型变量a和b,可以进行求余运算: a%b %是“求余”,得到a/b的余数。如果将a、b指定为实型变量,则不允许进行“求余”运算,在编译时会给出有关“出错信息”。 下面各节分别介绍整型、实型(浮点型)、字符型数据。 变量代表内存中具有特定属性的一个存储单元,它用来存放数据,这就是变量的值,在程序运行期间,这些值是可以改变的。变量名实际上是一个以一个名字对应代表一个地址,在对程序编译连接时由编译系统给每一个变量名分配对应的内存地址。从变量中取值,实际上是通过变量名找到相应的内存地址,从该存储单元中读取数据。 要求对所有用到的变量作强制定义,也就是“先定义,后使用”,这样做的目的是: (
原创力文档

文档评论(0)