常量、变量及C的数据类型 2.1常量、变量及C的数据类型2、1、1常量:在程序的运行过程中,其值不能改变的量称为常 量。注意:1·常量有不同的类型,如12、0、-3为整型常量,4.6、-1.23为实型常量 d’字符常量。常量可以从字面形式即可判断-字面常量或直接常量。2·符号常量 define pi3.1416使用符号常量的好处:(1)含义清楚、见名知意。(2)修改方便、一改全 改 2-1:符号常量应用 #define PI 3.14 float area rea=10*10*PI printf("area=%f \n", area 结果:area=314.000 2、1、2变量:在程序的运行过程中,其值可以改变的量称为变量。注意:1.变量名(用标识符表 示)、变量在内存中占据的存储单元、变量值三者关系。变量名在程序运行过程中不会改变,变量的 值可以改变。变量名遵守标识符准则。 变量名 日 变量值 存储单元 C语言中变量:“先定义,后使用”。即就是说,C要求对所有用到的变量做强制定义。1)只有申 明过的变量才可以在程序中使用,这使得变量名的拼写错误容易发现。 BASIC却不是这样。有时你会用 两个相近似变量而你根本没有发现,却当作同一个变量在使用。2)申明的变量属于确定的类型,编 译系统可方便地检查变量所进行运算的合法性。3)在编译时根据变量类型可以为变量确定存储空间 先定义后使用”使程序效率高。2、1、3C的数据类型2、1、3、1整型常数的表示方法三种形 (+/-)1).十进制例如123,-456,0。2)八进制。以0开头,后面跟几位的数字(0-7)
常量、变量及 C 的数据类型 2 . 1 常量、变量及 C 的数据类型 2、1、1 常量:在程序的运行过程中,其值不能改变的量称为常 量。 注意: 1• 常量有不同的类型,如 12、0、-3 为整型常量,4.6、-1.23 为实型常量, ' a ' 、' d '字符常量。常量 可以从字面形式即可判断 -字面常量或直接常量。 2• 符号常量 #define PI 3.1416 使用符号常量的好处: (1)含义清楚、见名知意。 (2) 修改方便、一改全 改。 例 2-1:符号常量应用 #define PI 3.14 main() { float area; area=10*10*PI; printf("area=%f\n",area); } 结果: area=314.000000 2、1、2 变量:在程序的运行过程中,其值可以改变的量称为变量。 注意: 1. 变量名(用标识符表 示)、变量在内存中占据的存储单元、变量值三者关系。 变量名在程序运行过程中不会改变,变量的 值可以改变。变量名遵守标识符准则。 2、C 语言中变量:“先定义,后使用”。即就是说,C 要求对所有用到的变量做强制定义。 1)只有申 明过的变量才可以在程序中使用,这使得变量名的拼写错误容易发现。BASIC 却不是这样。有时你会用 了两个相近似变量而你根本没有发现,却当作同一个变量在使用。 2)申明的变量属于确定的类型,编 译系统可方便地检查变量所进行运算的合法性。 3)在编译时根据变量类型可以为变量确定存储空间, “先定义后使用”使程序效率高。 2、1、3 C 的数据类型 2、1、3、1 整型常数的表示方法 三种形 式:( +/-) 1). 十进制 例如 123,-456,0。 2)八进制。以 0 开头,后面跟几位的数字(0-7)
例如:01235(123)8=(83)10.-01(-1)8=(-9)10。3)+六进制。以0x开头,后面跟几 的数字(0-9,A-F)。例如:0x123=291,-0x12=-18。4)整型常量的类型(整型常数的后缀 在整型变量部分介绍,这里只要知道怎么表示。整型常量后可以用:u或U明确说明为无符号整型 数1或L明确说明为长整型数.2.1、3、2整型变量1.整型数据在内存中的存放形式数据在内存中 以二进制形式存放,事实上以补码形式存 画ppp。。。。。11。 数据存放示意图 数据在内存中实际存放的情况(补码表示) 倣。 l:定义一个整型变量i=10,补充知识(参考《微机原理》等课程):1)带符号数的表示,原 码、反码、补码。2)原码-补码相互转化。正数的补码与其原码相同,负数的补码是其对应的原码数 值位按位取反+1 运算符和表达式 2.2运算符和表达式 算符:狭义的运算符是表示各种运算的符 表达式:使用运算符将常量、变量、函数连接起来,构成表达式。 C语言运算符丰富,范围很宽,把除了控制语句和输入/输出以外的几乎所有的基本操都作为运算 处理,所以 c语言运算符可以看作是操作符。C语言丰富的运算符构成C语言丰富的表达式(是运算符就可以构成 表达式)。运 算符丰富、表达式丰富、灵活。 在C语言中除了提供一般高级语言的算术、关系、逻辑运算符外,还提供赋值符运算符,位操作 算符、自增 自减运算符等等。甚至数组下标,函数调用都作为运算符 2.1算术运算符和算术表达式 算术运算符 +(加法运算符。如3+5) (减法运算符或负值运算符。如5-2,-3) *(乘法运算符。如3*5) /(除法运算符。如5/3,5.0/3)
例如: 0123=(123)8=(83)10;-011=(-11)8=(-9)10。 3) 十六进制。以 0x 开头,后面跟几 位的数字(0-9,A-F)。 例如: 0x123=291,-0x12=-18。 4) 整型常量的类型(整型常数的后缀) -在整型变量部分介绍,这里只要知道怎么表示。 整型常量后可以用: u 或 U 明确说明为无符号整型 数 l 或 L 明确说明为长整型数. 2.1、3、2 整型变量 1. 整型数据在内存中的存放形式 数据在内存中 以二进制形式存放,事实上以补码形式存 放。 例 如:定义一个整型变量 i=10, 补充知识(参考《微机原理》等课程): 1)带符号数的表示,原 码、反码、补码。 2)原码-补码相互转化。正数的补码与其原码相同,负数的补码是其对应的原码数 值位按位取反+1。 运算符和表达式 2 . 2 运算符和表达式 运算符:狭义的运算符是表示各种运算的符号。 表达式:使用运算符将常量、变量、函数连接起来,构成表达式。 C 语言运算符丰富,范围很宽,把除了控制语句和输入/输出以外的几乎所有的基本操都作为运算 符处理,所以 C 语言运算符可以看作是操作符。C 语言丰富的运算符构成 C 语言丰富的表达式(是运算符就可以构成 表达式)。运 算符丰富、表达式丰富、灵活。 在 C 语言中除了提供一般高级语言的算术、关系、逻辑运算符外,还提供赋值符运算符,位操作 运算符、自增 自减运算符等等。甚至数组下标,函数调用都作为运算符. 2、2 .1 算术运算符和算术表达式 1、算术运算符 +(加法运算符。如 3+5) -(减法运算符或负值运算符。如 5-2,-3) *(乘法运算符。如 3*5) /(除法运算符。如 5/3,5.0/3)
%(模运算符或求余运算符,%要求两侧均为整型数据。如7%4的值为3) 除了负值运算符-单目运算符外,其它都是双目运算符 说明:〈变量〉(赋值符〉〈表达式 (1)两个整数相除的结果为整数,如5/3的结果为1,舍去小数部分。但是如果除数或被除数中 有一个为负值, 则舍入的方向是不固定的,多数机器采用“向0取整”的方法(实际上就是舍去小数部分,注意:不 是四舍五入 (2)如果参加+,-,*,/运算的两个数有一个为实数,则结果为 double型,因为所有实数都按 double型进行计算 (3)求余运算符%,要求两个操作数均为整型,结果为两数相除所得的余数。求余也称为求模 般情况,余数的符号与被除数符号相同 如:-8%5=-3:8%-5=3 算术表达式 算术表达式:用算术运算符和括号将运算对象(也称操作数)连接起来的、符合语法规则的式 称为算术 供小下面题个法表达 C语言算术表达式的书写形式与数学表达式的书写形式有一定的区别: (1)C语言算术表达式的乘号(*)不能省略。例如:数学式b2-4ac,相应的C表达式应该写 成:b*b-4*a*C (2)C语言表达式中只能出现字符集允许的字符。例如,数学r2相应的C表达式应该写成: PI*rkr (其中PI是已经定义的符号常量) (3)C语言算术表达式不允许有分子分母的形式。例如,(a+b)/(c+d) (4)C语言算术表达式只使用园括号改变运算的优先顺序(不要指望用仆[])。可以使用多层圆括 右括号必须配对,运算时从内层括号开始,由内向外依次计算表达式的值 3、(算术)运算符的优先级与结合性(P.233附录IV) c语言规定了进行表达式求值过程中,各运算符的“优先级”和“结合性”。 (1)C语言规定了运算符的“优先级”和“结合性”。在表达式求值时,先按运算符的“优先 别”高低 序执行 如表达式:a-b*C等价于a-(b*c),“*”运算符优先级高于“-”运算符 (2)如果在一个运算对象两侧的运算符的优先级别相同,则按规定的“结合方向”处理。 如:a-b+c,到底是(a-b)+c还是a-(b+c)?(b先与a参与运算还是先于c参与运算?) 查附录I可知:+/运算优先级别相同,结合性为“自左向右”,即就是说b先与左边的a结合。所 以a-b+c等价 (a-b) 左结合性(自左向右结合方向):运算对象先与左面的运算符结合 右结合性(自右向左结合方向):运算对象先与右面的运算符结合 (3)在书写多个运算符的表达式时,应当注意各个运算符的优先级,确保表达式中的运算符能以
%(模运算符或求余运算符,%要求两侧均为整型数据。如 7%4 的值为 3)。 除了负值运算符 -单目运算符外,其它都是双目运算符。 说明:〈变量〉〈赋值符〉〈表达式〉 (1) 两个整数相除的结果为整数,如 5/3 的结果为 1,舍去小数部分。但是如果除数或被除数中 有一个为负值, 则舍入的方向是不固定的,多数机器采用“向 0 取整”的方法(实际上就是舍去小数部分,注意:不 是四舍五入 )。 (2)如果参加 +,-,*,/运算的两个数有一个为实数,则结果为 double 型,因为所有实数都按 double 型进行计算。 (3)求余运算符 %,要求两个操作数均为整型,结果为两数相除所得的余数。求余也称为求模。 一般情况,余数的符号与被除数符号相同。 例如: -8%5=-3;8%-5=3 2、算术表达式 算术表达式:用算术运算符和括号将运算对象(也称操作数)连接起来的、符合语法规则的式 子,称为算术 表达式。运算对象可以是常量、变量、函数等。 例如,下面是一个合法的 C 算术表达式。a*b/c-1.5+ ' a ' 。 注意: C 语言算术表达式的书写形式与数学表达式的书写形式有一定的区别: (1)C 语言算术表达式的乘号(*)不能省略。例如:数学式 b 2 -4ac,相应的 C 表达式应该写 成:b*b-4*a*c。 (2) C 语言表达式中只能出现字符集允许的字符。例如,数学πr 2 相应的 C 表达式应该写成: PI*r*r。 (其中 PI 是已经定义的符号常量) (3)C 语言算术表达式不允许有分子分母的形式。例如,(a+b)/(c+d)。 (4)C 语言算术表达式只使用圆括号改变运算的优先顺序(不要指望用{}[])。可以使用多层圆括 号,此时左 右括号必须配对,运算时从内层括号开始,由内向外依次计算表达式的值. 3、(算术)运算符的优先级与结合性(P.233 附录 IV) C 语言规定了进行表达式求值过程中,各运算符的“优先级”和“结合性”。 ( 1)C 语言规定了运算符的“优先级”和“结合性”。在表达式求值时,先按运算符的“优先 级别”高低 次序执行。 如表达式: a-b*c 等价于 a-(b*c),“*”运算符优先级高于“-”运算符。 ( 2)如果在一个运算对象两侧的运算符的优先级别相同,则按规定的“结合方向”处理。 例如: a-b+c,到底是(a-b)+c 还是 a-(b+c)?(b 先与 a 参与运算还是先于 c 参与运算?) 查附录 IV 可知:+/-运算优先级别相同,结合性为“自左向右”,即就是说 b 先与左边的 a 结合。所 以 a-b+c 等价 于(a-b)+c。 左结合性(自左向右结合方向):运算对象先与左面的运算符结合。 右结合性(自右向左结合方向):运算对象先与右面的运算符结合。 (3)在书写多个运算符的表达式时,应当注意各个运算符的优先级,确保表达式中的运算符能以
确的顺序 与运算。对于复杂表达式为了清晰起见可以加圆括号“()”强制规定计算顺序 关系运算和逻辑运算 2.3关系运算和逻辑运算 关系运算是逻辑运算中比较简单的一种,“关系运算”就是“比较运算”。即将两个值进行比较 判断是否符合或满足给定的条件。如果符合或满足给定的条件,则称关系运算的结果为“真” 如果不符合或不满足给定的条件,则称关系运算的结果为“假”。例2-1中,x>0是比较运算,也 就是关系运算,“>”是一种关系运算符。假如x=4,那么x>0条件满足,就是说关系运算x>0的结 为“真”。2.3.1关系运算符及其优先次序C语言提供6种关系运算符: ① (大于) (大于或等于) ⑤ (等于) 优先级相同(低) (不等于) 关于优先次序:1.前4种关系运算符的优先级别相同,后两种也相同。前4种高于后两种 关系运算符的优先级低于算术运算符。3.关系运算符的优先级高于赋值运算符。例2 等价于 〉(a+b):关系运算符的优先级低于算术运算符 等价于 (a>b)==c:“>”优先级高于 等价于 “ 等价 a=(b>c) 关系运算符的优先级高于赋值运算符 3.1.2关系表达式用关系运算符将两个表达式(算术、关系、逻辑、赋值表达式等)连接 起来所构成的表达式,称为关系表达式。关系表达式的值是一个逻辑值,即“真”或“假” 语 没有逻辑型数据,以1代表“真”,以0代表“假”。例2-3:假如a=3,b=2,c=1,则:关系表 达式“a>b”的值为“真”,即表达式的值为:1。关系表达式“b+c<a”的值为“假”,即表达式 的值为:0 2逻辑运算符和逻辑表达式逻辑表达式:用逻辑运算符(逻辑与、逻辑或 逻辑非)将关系表达式或逻辑量连接起来构成逻辑表达式 逻辑运算符及其优先顺序C语言 提供三种逻辑运算符:(1)&逻辑与(相当日常生活中:而且,并且,只在两条件同时成立时 为“真”)(2)11逻辑或(相当日常生活中:或,两个条件只要有一个成立时即为“真”) (3) 逻辑非(条件为真,运算后为假,条件为假,运算后为真)“&&”,“‖”是双目运算 是单目运算符。例 逻辑运算举例 若a、b为真,则 为真 1b若a、b之一为真,则a||b为真。!a若a为真,则!a为假,反之若a为假,则 为真。表2.1为逻辑运算的真值表
正确的顺序 参与运算。对于复杂表达式为了清晰起见可以加圆括号“()”强制规定计算顺序。 关系运算和逻辑运算 2.3 关系运算和逻辑运算 关系运算是逻辑运算中比较简单的一种, “关系运算”就是“比较运算” 。即将两个值进行比较, 判断是否 符合或满足给定的条件。 如果 符合或满足 给定的条件,则称关系运算的结果为“真” ; 如果不符合或不满足给 定的条件,则称关系运算的结果为 “假” 。 例 2-1 中,x>0 是比较运算,也 就是关系运算,“>”是一种关系运算符。 假如 x=4,那么 x>0 条件满足,就是说关系运算 x>0 的结 果为“真”。 2.3.1 关系运算符及其优先次序 C 语言提供 6 种关系运算符: 关于优先次序: 1. 前 4 种关系运算符的优先级别相同,后两种也相同。前 4 种高于后两种。 2. 关系运算符的优先级低于算术运算符。 3. 关系运算符的优先级高于赋值运算符。 例 2-2: c> a+b 等价于 c>( a+b ) ;关系运算符的优先级低于算术运算符 a>b==c 等价于 (a>b)==c ;“>”优先级高于“==” a==bc 等价于 a=(b>c) ;关系运算符的优先级高于赋值运算符。 2 .3.1.2 关系表达式 用关系运算符将两个表达式( 算术 、关系、逻辑、 赋值表达式 等)连接 起来所构成的表达式,称为关系 表达式。 关系表达式的值是一个逻辑值,即“真”或“假”。 C 语 言没有逻辑型数据,以 1 代表“真”,以 0 代表“假 ”。 例 2-3:假如 a=3,b=2,c=1,则: 关系表 达式“ a>b”的值为“真”,即表达式的值为:1。 关系表达式“ b+c <a”的值为“假”,即表达式 的值为:0。 2.3.2 逻辑运算符和逻辑 表达式 逻辑表达式:用逻辑运算符(逻辑与、逻辑或、 逻辑非)将关系表达式或逻辑量连接起来构成逻辑表达式。 2.3.2.1 逻辑运算符及其优先顺序 C 语言 提供三种逻辑运算符: ( 1)&& 逻辑与(相当日常生活中:而且,并且,只在两条件同时成立时 为“真”) ( 2)|| 逻辑或(相当日常生活中: 或 ,两个条件只要有一个成立时即为“真”) ( 3)! 逻辑非(条件为真,运算后为假,条件为假,运算后为真)“ &&”,“||”是双目运算 符, “!” 是单目运算符 。 例 2-4:逻辑运算举例 a&&b 若 a、b 为真,则 a&&b 为真。 a||b 若 a、b 之一为真,则 a||b 为真。 ! a 若 a 为真,则!a 为假,反之若 a 为假,则! a 为真。 表 2.1 为逻辑运算的真值表
&&b 真真假假 真假真假 假假假 真真真假 在一个逻辑表达式中如果包含多个逻辑运算符,则按照以下的优先顺序:(1)!(非)&k(与) 1(或),“!”为三者中最高。(2)逻辑运算符中的&&和|低于关系运算符,!高于算术运算 符。例2-5: b&&x >y 等价于(ab)&&(x>y)a==b||x==y等价 (a==b)I(x=y)! alla>b 等价于 (!a)||(a>b) 选择结构、循环结构与C语句 2.4选择结构、循环结构与C语句 tch,shil,do…hile,for, break, continue, return语句) 2.41选择结构 选择结构是三种基本结构(顺序、选择、循环)之一。作用是根据所指定的条件是否满足,决定 从给定的两组 操作选择其中的一种。 C语言中的选择结构是用if语句实现的。if语句的常用的形式是 if(关系/逻辑表达式)语句1ese语句2 2.4-1:用C语言实现图示的分段函数。 数学上描述此分段函数:1,x>0y=-1,其它用C语言描述:if(x>0)y=1; else y=-1;其中:x> 个关系表达式,“〉”是一个关系运算符。x>0关系表达式成立,也就是说由关系表达式x)0构成 的逻辑运算为真时,y<=1,否则y<=-1。if语句用来判定所给定的条件是否满足,根据判定的结果 (真或假)决定执行给出的两种操作之一。2.42if语句三种形式1.if(表达式)语句例如:
a b a&&b a||b 真 真 真 真 真 假 假 真 假 真 假 真 假 假 假 假 a !a 真 假 假 真 在一个逻辑表达式中如果包含多个逻辑运算符,则按照以下的优先顺序: ( 1)!(非)-&&(与)- ||(或),“!”为三者中最高。 ( 2)逻辑运算符中的&&和||低于关系运算符,!高于算术运算 符。 例 2-5: • b&&x >y 等价于 (a>b)&& ( x>y) a==b||x==y 等价 于 (a==b)||(x==y) ! a||a >b 等价于 (!a)||(a>b) 选择结构、循环结构与 C 语句 2.4 选择结构、循环结构与 C 语句 (if, switch, while, do…while, for, break, continue, return 语句 ) 2.4.1 选择结构 选择结构是三种基本结构(顺序、选择、循环)之一。作用是根据所指定的条件是否满足,决定 从给定的两组 操作选择其中的一种。 C 语言中的选择结构是用 if 语句实现的。if 语句的常用的形式是: if( 关系/逻辑表达式 )语句 1 else 语句 2 例 2.4-1:用 C 语言实现图示的分段函数。 数学上描述此分段函数: 1, x>0 y= -1, 其它 用 C 语言描述: if(x>0)y=1;else y=-1; 其中: x>0 是一个关系表达式,“>”是一个关系运算符。x>0 关系表达式成立,也就是说由关系表达式 x>0 构 成 的逻辑运算为真时,y<=1,否则 y<=-1。 if 语句用来判定所给定的条件是否满足,根据判定的结果 (真或假)决定执行给出的两种操作之一。 2 . 4.2 i f 语句三种形式 1. if(表达式)语句 例如:
if(x>y) printf(“%d”,x);2.if(表达式)语句1else语句2例如 f(x>y) printf((“%d”,x); else printf((“%d”,y);3.if(表达式1)语句1 else if(表达式 语句2 else if(表达式3)语句3… else if(表达式m)语句 m else语句m+1(实际是else子句中 嵌套if语句)例如:if( ( number>500)cost=0.15;: else if( number>30)st=0.,10;else if(number>100)cost=0. 075; else if(number50) cost=0. 05; else 表达式 表达式 句 诏句1 表达式1 表达点 表达式m 诏句 诏句 语句m 语句m+1 明:(1)三种形式的if语句 中的“表达式”一般为关系表达式或逻辑表达式,但不限于这两种表达式。记住:C语言中需要逻辑 值的地方,只有0代表“假”,非0(其它)均代表“真”。例如:if(‘a printf(“%d”,’a’);- printf(…)这条语句一定运行,因为 例如:P198例11-13倒数12行,bit=( mask&n))?1:0. mask, n都是整数,&(位与)后也是整数 (2)else子句不能单独使用,必须是if语句的一部分,与if配对使用。(3)在if和else后面可 以只含一个内嵌的操作语句,也可以有多个操作语句构成的语句块(复合语句)。语句块用仆括起 来,语句块后面不要“:”号。例如:if(a+b>c&bc>a&kc+a>b){s=.5*(a+b+C) rea=sgrt(s*(s-a)*(s-b)*(s-c)); printf(area): else printf( "it is not a triangle " 本输入输出函数
if(x>y)printf( “ %d ” ,x); 2. if(表达式)语句 1 else 语句 2 例如: if(x>y)printf( “ %d ” ,x);else printf( “ %d ” ,y); 3.if(表达式 1)语句 1 else if(表达式 2)语句 2 else if(表达式 3)语句 3 … else if(表达式 m)语句 m else 语句 m+1 (实际是 else 子句中 嵌套 if 语句) 例如: if(number>500) cost=0.15; else if(number>300)cost=0.10; else if(number>100)cost=0.075; else if(number>50) cost=0.05; else cost=0; 说明: (1) 三种形式的 if 语句 中的“表达式”一般为关系表达式或逻辑表达式,但不限于这两种表达式。记住: C 语言中需要逻辑 值的地方,只有 0 代表“假”,非 0(其它)均代表“真”。 例如: if( ‘ a ' )printf( “ %d ” , ' a ' );- printf( … ) 这条语句一定运行,因为 'a ' =97,即 “真”。 例如: P198 例 11-13 倒数 12 行,bit=(mask&n)?1:0。mask,n 都是整数,&(位与)后也是整数。 (2) else 子句不能单独使用,必须是 if 语句的一部分,与 if 配对使用。 (3) 在 if 和 else 后面可 以只含一个内嵌的操作语句,也可以有多个操作语句构成的语句块(复合语句)。 语句块用{}括起 来,语句块后面不要“;”号。 例如: if(a+b>c&&b+c>a&&c+a>b){ s=0.5*(a+b+c); area=sqrt(s*(s-a)*(s-b)*(s-c)); printf(area);} else printf( “ it is not a triangle ” ) 基本输入输出函数
25基本输入输出函数 5.1 scanf()函数(格式输入函数 canf()函数的功能就是按指定的格式从外部输入设备向主机输入信息 scanf()函数的一般格式 scanf(”控制格式字符串″,输入项地址表列) 说明 (1)控制格式字符串控制格式字符串是用双引号括起来的一个字符串,它包含2种类型的字 符:格式说明 符和普通字符。 ①格式说明符 格式说明符由下列形式组成:%[] 其中: “%”是格式标识,用来说明后面跟的字符是格式字符。 格式字符>用来说明输入数据的指定格式,表3.1列出 scanf()函数的格式字符 修饰符>是用来指定输入数据特殊含义的附加符号,其特殊含义见表 普通字符 控制格式字符串”中出现的普通字符,必须原样输入 (2)输入项地址表列 “输入项地址表列”是由一个或多个输入项地址组成的表列,输入项地址之间用“,”号隔开,并 控制 式字符串”中的格式说明符(带“*”号的格式说明符除外)的个数相等。 &”是“地址运算符 、 scanf()函数输入说明 (1)如果相邻指示符之间没有数据分隔符,则对应的输入数据之间可用空格、回车、跳格 (Tab)分隔 (2)有下列情况,系统认为输入数据结束 ①遇到空格,或者回车,或者跳格(Tab) ②遇到“格式说明符”中指定域宽。例如“%2d”。 ③遇到非法输入。 (3)在用格式说明符“%c”输入单个字符时,空格字符和转义字符是有效字符,即都被输 (4)输入数据时不能指定精度 2.5.2 printf()函数(格式输出函数) printf()函数的功能是向计算机的输出设备输出信息 1、 printf()函数的一般格式 printf("控制格式字符串“[,输出项表列]):(中括号表示“输出项表列”为可选项) (1)控制格式字符串 控制格式字符串”是用双引号括起来的一个字符串,它包含3种类型的字符:格式说明符、转 义字符和普通 付 ①格式说明符 式说明符由下列形式组成:%[] 其中
2.5 基本输入输出函数 2。5 .1 s canf ( ) 函数(格式输入函数) scanf ()函数的功能就是按指定的格式从外部输入设备向主机输入信息。 1 、 scanf ()函数的一般格式 scanf ( " 控制格式字符串 " ,输入项地址表列); 说明: ( 1 )控制格式字符串控制格式字符串是用双引号括起来的一个字符串,它包含 2 种类型的字 符:格式说明 符和普通字符。 ① 格式说明符 格式说明符由下列形式组成:% [< 修饰符>]<格式字符> 其中: “ % ” 是格式标识,用来说明后面跟的字符是格式字符。 <格式字符>用来说明输入数据的指定格式,表 3.1 列出 scanf ()函数的格式字符。 <修饰符>是用来指定输入数据特殊含义的附加符号,其特殊含义见表 3.2 。 ② 普通字符 “ 控制格式字符串 ” 中出现的普通字符,必须原样输入。 ( 2 )输入项地址表列 “ 输入项地址表列 ” 是由一个或多个输入项地址组成的表列,输入项地址之间用 “,”号隔开,并 与“控制 格式字符串 ”中的格式说明符(带“*”号的格式说明符除外)的个数相等。 注: “ & ” 是 “ 地址运算符 ” 。 2 、 scanf ( ) 函数输入说明 ( 1 )如果相邻指示符之间没有数据分隔符,则对应的输入数据之间可用空格、回车、跳格 (Tab )分隔。 ( 2 )有下列情况,系统认为输入数据结束: ① 遇到空格,或者回车,或者跳格( Tab )。 ② 遇到 “ 格式说明符 ” 中指定域宽。例如 “ % 2d” 。 ③ 遇到非法输入。 ( 3 )在用格式说明符 “%c” 输入单个字符时,空格字符和转义字符是有效字符,即都被输 入。 ( 4 )输入数据时不能指定精度。 2 . 5.2 p rintf( ) 函数(格式输出函数) printf ( ) 函数的功能是向计算机的输出设备输出信息。 1 、 printf ( ) 函数的一般格式 printf ( " 控制格式字符串 "[ ,输出项表列 ] );(中括号表示 “ 输出项表列 ” 为可选项) ( 1 )控制格式字符串 “ 控制格式字符串 ” 是用双引号括起来的一个字符串,它包含 3 种类型的字符:格式说明符、转 义字符和普通 字符。 ① 格式说明符 格式说明符由下列形式组成:% [< 修饰符>]<格式字符> 其中:
“%”是格式标识,用来说明后面跟的字符是格式字符 用来说明输出数据的指定格式,表3.3列出 printf()函数的格式字 修饰符>用来指定输出数据特殊含义的附加符号,其特殊含义见表3.4 ②转义字符 控制格式字符串”中可出现转义字符。 ③普通字符 printf()函数的“控制格式字符串”中出现的普通字符,会被原样输出 (2)输出项表列 输出项表列”是由一个或多个输出项组成的表列,输出项之间用 号隔开,并且输出项 的个数和“控 格式字符串”中的格式说明符的个数 注: printf()函数可以没有格式字符和对应的输出项,只有普通字符和转义字符。 Turbo C2.0的使用和上机步骤 26 Turbo c20的使用和上机步骤1.源程序、目标程序、可执行程序的概念(补充) 程序:为了使计算机能按照人们的意志工作,就要根据问题的要求,编写相应的程序。程序是一组计 算机可以识别和执行的指令,每一条指令使计算机执行特定的操作 源程序:程序可以用高级语言或汇编语言编写,用高级语言或汇编语言编写的程序称为源程序。C程 序源程序的扩展名为“.c 事实上我们编写的程序,不管采用什么计算机语言,都是源程序,有几个人还会用机器语言去编程! 源程序不能直接在计算机上执行,需要用“编译程序”将源程序翻译为二进制形式的代码。 目标程序:源程序经过“编译程序”翻译所得到的二进制代码称为目标程序。目标程序的扩展名为 obj” 目标代码尽管已经是机器指令,但是还不能运行,因为目标程序还没有解决函数调用问题,需要将各 目标程序与库函数连接,才能形成完整的可执行的程序。可执行程序:目标程序与库函数连接, 成的完整的可在操作系统下独立执行的程序称为可执行程序。可执行程序的扩展名为“.exe”(在 dos/ windows环境下)2.C语言程序的上机步骤输入与编辑源程序->编译源程序,产生目标代码- 连接各个目标代码、库函数,产生可执行程序-》运行程
“ % ” 是格式标识,用来说明后面跟的字符是格式字符。 <格式字符>用来说明输出数据的指定格式,表 3.3 列出 printf ( ) 函数的格式字 符。 <修饰符>用来指定输出数据特殊含义的附加符号,其特殊含义见表 3.4 。 ② 转义字符 “ 控制格式字符串 ” 中可出现转义字符。 ③ 普通字符 printf ( ) 函数的 “ 控制格式字符串 ” 中出现的普通字符,会被原样输出。 ( 2 )输出项表列 “ 输出项表列 ” 是由一个或多个输出项组成的表列,输出项之间用 “ , ” 号隔开,并且输出项 的个数和“控 制格式字符串 ” 中的格式说明符的个数。 注: printf ( ) 函数可以没有格式字符和对应的输出项,只有普通 字符和转义字符。 T u rbo C 2 .0 的使用和上机步骤 2 . 6 T urbo C 2 . 0 的使用和上机步骤 1. 源程序、目标程序、可执行程序的概念(补充) 程序:为了使计算机能按照人们的意志工作,就要根据问题的要求,编写相应的程序。程序是一组计 算机可 以识别和执行的指令,每一条指令使计算机执行特定的操作。 源程序:程序可以用高级语言或汇编语言编写,用高级语言或汇编语言编写的程序称为源程序。 C 程 序源程 序的扩展名为“.c” 事实上我们编写的程序,不管采用什么计算机语言,都是源程序,有几个人还会用机器语言去编程! 源程序不能直接在计算机上执行,需要用“编译程序”将源程序翻译为二进制形式的代码。 > 目标程序:源程序经过“编译程序”翻译所得到的二进制代码称为目标程序。目标程序的扩展名为 “ .obj” 目标代码尽管已经是机器指令,但是还不能运行,因为目标程序还没有解决函数调用问题,需要将各 个目标 程序与库函数连接,才能形成完整的可执行的程序。 可执行程序:目标程序与库函数连接, 形成的完整的可在操作系统下独立执行的程序称为可执行程序。可执 行程序的扩展名为“ .exe”(在 dos/windows 环境下) 2. C 语言程序的上机步骤 输入与编辑源程序 ->编译源程序,产生目标代码-> 连接各个目标代码、库函数,产生可执行程序 ->运行程
开始 扁辑 源程序 f c 目标程序 连接 函数库 有错? 可执行 程序 f. exe 行 结東 图1.1C程序的上机步骤 3. Turbo c的使用(DOS环 Turbo c2.0是 Borland公司开发的微机上一个C语言集成开发环境。可以在 Turbo c 中完成C语言程序的编辑、编译、连接、运行、调试。具体操作上机时演示(重点:启动,退出, 重要的菜单项)重点菜单项 File->new, load, save, write Compile->compile to obj, make exe file, build all Run-run, go to ursor, trace into, step over, user screen, program reset Debug->Evaluate 4. Visual c的使用( Windows环境) Visual c是 windows环境下的C应用程序,C++应用程序, Windows 用程序集成开发环境
序。 3. Turbo C 的使用(DOS 环 境) Turbo C2.0 是 Borland 公司开发的微机上一个 C 语言集成开发环境。可以在 Turbo C 中完成 C 语言程序的编辑、 编译、连接、运行、调试。 具体操作上机时演示(重点:启动,退出, 重要的菜单项) 重点菜单项: File->new,load,save,write to Compile->compile to obj,make exe file,build all Run->run,go to cursor,trace into,step over,user screen,program reset Debug->Evaluate 4.Visual C 的使用(Windows 环境) Visual C 是 windows 环境下的 C 应用程序,C++应用程序,Windows 应用程序集成开发环境