C语言基础教程课件(英文版)ch(4).ppt_第1页
C语言基础教程课件(英文版)ch(4).ppt_第2页
C语言基础教程课件(英文版)ch(4).ppt_第3页
C语言基础教程课件(英文版)ch(4).ppt_第4页
C语言基础教程课件(英文版)ch(4).ppt_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

A First Book of ANSI C Fourth Edition Chapter 3 Processing and Interactive Input A First Book of ANSI C, Fourth Edition2 Objectives Assignment Mathematical Library Functions Interactive Input Formatted Output A First Book of ANSI C, Fourth Edition3 Objectives (continued) Symbolic Constants Case Study: Interactive Input Common Programming and Compiler Errors A First Book of ANSI C, Fourth Edition4 Assignment The general syntax for an assignment statement is variable = operand; The operand to the right of the assignment operator (=) can be a constant, a variable, or an expression The equal sign in C does not have the same meaning as an equal sign in algebra length=25; is read “length is assigned the value 25” Subsequent assignment statements can be used to change the value assigned to a variable length = 3.7; length = 6.28; A First Book of ANSI C, Fourth Edition5 Assignment (continued) The operand to the right of the equal sign in an assignment statement can be a variable or any valid C expression sum = 3 + 7; product = .05 * 14.6; The value of the expression to the right of = is computed first and then the calculated value is stored in the variable to the left of = Variables used in the expression to the right of the = must be initialized if the result is to make sense amount + 1892 = 1000 + 10 * 5 is invalid! A First Book of ANSI C, Fourth Edition6 Assignment (continued) If width was not initialized, the computer uses the value that happens to occupy that memory space previously (compiler would probably issue a warning) A First Book of ANSI C, Fourth Edition7 Assignment (continued) = has the lowest precedence of all the binary and unary arithmetic operators introduced in Section 2.4 Multiple assignments are possible in the same statement a = b = c = 25; All = operators have the same precedence Operator has right-to-left associativity c = 25; b = c; a = b; A First Book of ANSI C, Fourth Edition8 Implicit Type Conversions Data type conversions take place across assignment operators double result; result = 4; /integer 4 is converted to 4.0 The automatic conversion across an assignment operator is called an implicit type conversion int answer; answer = 2.764; /2.764 is converted to 2 Here the implicit conversion is from a higher precision to a lower precision data type; the compiler will issue a warning A First Book of ANSI C, Fourth Edition9 Explicit Type Conversions (Casts) The operator used to force the conversion of a value to another type is the cast operator (dataType) expression where dataType is the desired data type of the expression following the cast Example: If sum is declared as double sum;, (int) sum is the integer value determined by truncating sums fractional part A First Book of ANSI C, Fourth Edition10 Assignment Variations sum = sum + 10 is not an equationit is an expression that is evaluated in two major steps A First Book of ANSI C, Fourth Edition11 Assignment Variations (continued) A First Book of ANSI C, Fourth Edition12 Assignment Variations (continued) A First Book of ANSI C, Fourth Edition13 Assignment Variations (continued) Assignment expressions like sum = sum + 25 can be written using the following operators: += -= *= /= %= sum = sum + 10 can be written as sum += 10 price *= rate is equivalent to price = price * rate price *= rate + 1 is equivalent to price = price * (rate + 1) A First Book of ANSI C, Fourth Edition14 Accumulating The first statement initializes sum to 0 This removes any previously stored value in sum that would invalidate the final total A previously stored number, if it has not been initialized to a specific and known value, is frequently called a garbage value A First Book of ANSI C, Fourth Edition15 Accumulating (continued) A First Book of ANSI C, Fourth Edition16 Accumulating (continued) A First Book of ANSI C, Fourth Edition17 Counting A counting statement is very similar to the accumulating statement variable = variable + fixedNumber; Examples: i = i + 1; and m = m + 2; Increment operator (+): variable = variable + 1 can be replaced by variable+ or +variable A First Book of ANSI C, Fourth Edition18 Counting (continued) A First Book of ANSI C, Fourth Edition19 Counting (continued) A First Book of ANSI C, Fourth Edition20 Counting (continued) When the + operator appears before a variable, it is called a prefix increment operator; when it appears after a variable, it is called postfix increment operator k = +n; is equivalent to n = n + 1; / increment n first k = n; / assign ns value to k k = n+; is equivalent to k = n; / assign ns value to k n = n + 1; / and then increment n A First Book of ANSI C, Fourth Edition21 Counting (continued) Prefix decrement operator: the expression k = - -n first decrements the value of n by 1 before assigning the value of n to k Postfix decrement operator: the expression k = n- first assigns the current value of n to n and then reduces the value of n by 1 A First Book of ANSI C, Fourth Edition22 Counting (continued) A First Book of ANSI C, Fourth Edition23 Mathematical Library Functions A First Book of ANSI C, Fourth Edition24 Mathematical Library Functions (continued) The argument to sqrt must be floating-point value; passing an integer value results in a compiler error Return value is double-precision Must include #include A First Book of ANSI C, Fourth Edition25 Mathematical Library Functions (continued) A First Book of ANSI C, Fourth Edition26 Mathematical Library Functions (continued) A First Book of ANSI C, Fourth Edition27 Mathematical Library Functions (continued) Argument need not be a single constant A First Book of ANSI C, Fourth Edition28 Mathematical Library Functions (continued) The step-by-step evaluation of the expression 3.0 * sqrt(5 * 33 - 13.91) / 5 is (see next slide) A First Book of ANSI C, Fourth Edition29 Mathematical Library Functions (continued) A First Book of ANSI C, Fourth Edition30 Mathematical Library Functions (continued) Determine the time it takes a ball to hit the ground after it has been dropped from an 800-foot tower time = sqrt(2 * distance/g), where g = 32.2 ft/sec2 A First Book of ANSI C, Fourth Edition31 Mathematical Library Functions (continued) A First Book of ANSI C, Fourth Edition32 Interactive Input A First Book of ANSI C, Fourth Edition33 Interactive Input (continued) This program must be rewritten to multiply different numbers scanf() is used to enter data into a program while it is executing; the value is stored in a variable It requires a control string as the first argument inside the function name parentheses A First Book of ANSI C, Fourth Edition34 Interactive Input (continued) The control string passed to scanf() typically consists of conversion control sequences only scanf() requires that a list of variable addresses follow the control string scanf(“%d“, A First Book of ANSI C, Fourth Edition35 Interactive Input (continued) A First Book of ANSI C, Fourth Edition36 Interactive Input (continued) This statement produces a prompt Address operator ( /“%f%f“ is the same A space can affect what the value being entered is when scanf() is expecting a character data type scanf(“%c%c%c“, stores the next three characters typed in the variables ch1, ch2, and ch3; if you type x y z, then x is stored in ch1, a blank is stored in ch2, and y is stored in ch3 scanf(“%c %c %c“, causes scanf() to look for three characters, each character separated by exactly one space A First Book of ANSI C, Fourth Edition38 Interactive Input (continued) In printing a double-precision number using printf(), the conversion control sequence for a single-precision variable, %f, can be used When using scanf(), if a double-precision number is to be entered, you must use the %lf conversion control sequence scanf() does not test the data type of the values being entered In scanf(“%d %f“, produces the display 59 Explicit sign display: printf(“%+10d“,59); produces the display +59 Format modifiers may be combined %-+10d would cause an integer number to both display its sign and be left-justified in a field width of 10 spaces The order of the format modifiers is not critical %+-10d is the same A First Book of ANSI C, Fourth Edition49 Other Number Bases Optional The decimal (base 10) value of 15 is 15. The octal (base 8) value of 15 is 17. The hexadecimal (base 16) value of 15 is f. A First Book of ANSI C, Fourth Edition50 Other Number Bases (continued) A First Book of ANSI C, Fourth Edition51 Other Number Bases (continued) The decimal value of the letter a is 97. The octal value of the letter a is 141. The hex value of the letter a is 61. A First Book of ANSI C, Fourth Edition52 Other Number Bases (continued) A First Book of ANSI C, Fourth Edition53 Symbolic Constants Literal data refers to any data within a program that explicitly identifies itself Literal values that appear many times in the same program are called magic numbers C allows you to define the value once by equating the number to a symbolic name #define SALESTAX 0.05 #define PI 3.1416 Also called symbolic constants and named constants A First Book of ANSI C, Fourth Edition54 Symbolic Constants (continued) # sign is a signal to a C preprocessor A First Book of ANSI C, Fourth Edition55 Case Study: Interactive Input A First Book of ANSI C, Fourth Edition56 Case Study: Interactive Input (continued) A First Book of ANSI C, Fourth Edition57 Common Programming Errors Forgetting to assign initial values to all variables before the variables are used in an expression Calling sqrt() with an integer argument Forgetting to use the address operator, &, in front of variable names in a scanf() function call Not including the correct control sequences in scanf() function calls for the data values that must be entered Including a message within the control string passed to scanf() A First Book of ANSI C, Fourth Edition58 Common Programming Errors (continued) Terminating a #define command to the preprocessor with a semicolon Placing an equal sign in a #define command when equating a symbolic constant to a value Using the increment and decrement operators with variables that appear more than once in the same expression Being unwilling to test a program in depth A First Book of ANSI C, Fourth Edition59 Common Compiler Errors A First Book of ANSI C, Fourth Edition60 Common Compiler Errors (continued) A First Book of ANSI C, Fourth Edition61 Summary Arithmetic calculations can be performed using assignment statements or mathematical functions The assignment symbol, =, is an operator C provides the +=, -=, *= and /= assignment operat

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论