You are on page 1of 12

1 2

Objectives
Chapter 2 - Introduction to C • In this chapter, you will learn:
Programming – To be able to write simple computer programs in C.
– To be able to use simple input and output statements.
– To become familiar with fundamental data types.
Outline – To understand computer memory concepts.
2.1 Introduction – To be able to use arithmetic operators.
2.2 A Simple C Program: Printing a Line of Text – To understand the precedence (順序, order of evaluation)
2.3 Another Simple C Program: Adding Two Integers
of arithmetic operators.
2.4 Memory Concepts
2.5 Arithmetic in C – To be able to write simple decision making statements.
2.6 Decision Making: Equality and Relational Operators – To understand C’s fundamental and modified data types
2.7 補充資料)
補充資料
Data Types and Variables (補充資料

© Copyright by Deitel © Copyright by Deitel

3 4
2.2 A Simple C Program:
2.1 Introduction
Printing a Line of Text
1 /* Fig. 2.1: fig02_01.c
• C programming language 2 A first program in C */
3 #include <stdio.h>
– Structured and disciplined approach to program design 4
• Structured programming 5
6
/* function main begins program execution */
int main()
– Introduced in chapters 3 and 4 7 {
8 printf( "Welcome to C!\n" );
– Used throughout the remainder of the book 9
10 return 0; /* indicate that program ended successfully */
• Steps to write a program 11
12 } /* end function main */
– Define the problem to be solved with the computer
– Design the program’s input/output (what the user should Welcome to C!
give (Data)/see (Information)) • Comments ( 註解 )
– Break the problem into logical steps to achieve this output – Text surrounded by /* and */ is ignored by computer
– Write the program (with an editor) – Text followed by // is ignored by computer (C++ style)
– Used to describe program
– Compile the program • #include <stdio.h>
– Test the program to make sure it performs as you expected – Preprocessor directive ( 前置處裡器指令 )
• Tells computer to load contents of a certain file ( header files, 標頭檔 )
– <stdio.h> allows standard input/output operations
© Copyright by Deitel © Copyright by Deitel
5 6
2.2 A Simple C Program: 2.2 A Simple C Program:
Printing a Line of Text Printing a Line of Text
1 /* Fig. 2.1: fig02_01.c
2 A first program in C */
3 #include <stdio.h> • printf( "Welcome to C!\
C!\n" );
4
5 /* function main begins program execution */ – Instructs computer to perform an action
6 int main()
7 {
• Specifically, prints the string of characters within quotes (" ")
8 printf( "Welcome to C!\n" ); – Entire line is called a statement ( 敘述句 )
9
10 return 0; /* indicate that program ended successfully */ • All statements must end with a semicolon (;, also known as the
11
12 } /* end function main */
statement terminator)
– Argument (參數,引數)
Welcome to C!
• function( argument ), e.g., printf( “Welcome to C!\n” );
• int main()
– C (and C++) programs contain one or more functions, exactly one of – Escape character (\, 跳脫字元)
which must be main (每個 C 程式必定有一個 main() 函數,而且只能 • Indicates that printf should do something out of the ordinary
有一個)
– Parenthesis ( ) is used to indicate a function • \n is the newline character
– int means that main "returns" an integer value
– Braces ({ and }) indicate a block ( 程式區塊 )
• The bodies of all functions must be contained in braces

© Copyright by Deitel © Copyright by Deitel

7 8
2.2 A Simple C Program: 2.2 A Simple C Program:
Printing a Line of Text Printing a Line of Text
• return 0;
– A way to exit a function
– return 0, in this case, means that the program is terminated
normally
• Right brace }
– Indicates end of main has been reached
• Linker
– When a function is called, linker locates it in the library
– Inserts it into object program
– If function name is misspelled, the linker will produce an
error because it will not be able to find function in the
library

© Copyright by Deitel © Copyright by Deitel


9 10
Basics of a Typical C Program Development Basics of a Typical C Program Development
Environment Environment
• Phases of C Programs: • Phases of C Programs:
1. Edit 1. Edit
2. Preprocess 2. Preprocess
3. Compile 3. Compile
4. Link 4. Link
5. Load 5. Load
6. Execute 6. Execute

© Copyright by Deitel © Copyright by Deitel

1 /* Fig. 2.3: fig02_03.c 11 1 /* Fig. 2.4: fig02_04.c 12


2 Printing on one line with two printf statements */ Outline 2 Printing multiple lines with a single printf */ Outline
3 #include <stdio.h> 3 #include <stdio.h>
4 fig02_03.c 4
fig02_04.c
5 /* function main begins program execution */ 5 /* function main begins program execution */
6 int main() 6 int main()
7 { 7 {
8 printf( "Welcome " ); 8 printf( "Welcome\
"Welcome\nto\
to\nC!\
C!\n" );
9 printf( "to C!\
C!\n" );
); 9
10 10 return 0; /* indicate that program ended successfully */
11 return 0; /* indicate that program ended successfully */ 11
12 12 } /* end function main */
13 } /* end function main */
Welcome
Welcome to C! Program Output to Program Output
C!

© Copyright by Deitel © Copyright by Deitel


13 14

Debug the Following Source Code Debug the Following Source Code
Identify and correct the errors in the following program: Identify and correct the errors in the following program:
1 /* Fig. 2.1: fig02_01e.c 1 // Fig. 2.1: fig02_01e.c
2 A first program in C */ 2 A first program in C */
3 #include <stdio.h>; 3 #include <stdio.h>
4 4
5 /* function main begins program execution */ 5 /* function main begins program execution */
6 int main(); 6 int Main()
7 { 7 {
8 print( "Welcome to C!\n" ) 8 printf( Welcome to C!\n );
9 9
10 return 0; // indicate that program ended successfully 10 return 0; /* indicate that program ended successfully */
11 11 }
12 /* end function main */ 12 /* end function main */

Ans: Ans:
3 #include <stdio.h> 1 /* Fig. 2.1: fig02_01e.c
6 int main() 2 int main()
8 printf( "Welcome to C!\n" ); 8 printf("Welcome to C!\n");
12 }/* end function main */

© Copyright by Deitel © Copyright by Deitel

1 /* Fig. 2.5: fig02_05.c 15 16


Enter first integer
2 Addition program */ Outline 45
Outline
3 #include <stdio.h>
宣告整數變數 Enter second integer
4 72
int integer1; Program Output
5 /* function main begins program execution */
變數型態 變數名稱; Another Sum is 117
6 int main()
Program –
7 {
8 int integer1; /* first number to be input by user */
Adding Two
9 int integer2; /* second number to be input by user */ Integers
10 int sum; /* variable in which sum will be stored */
11 fig02_05.c
12 printf( "Enter first integer\
integer\n" ); /* prompt */
13 scanf( "%d",
"%d", &integer1 ); /* read an integer */
14
15 printf( "Enter second integer\
integer\n" ); /* prompt */
從鍵盤讀取整數數值,並放
16 scanf( "%d",
"%d", &integer2 ); /* read an integer */
到變數 integer1 的位置,注
17
意變數名稱前要加 &
18 sum = integer1 + integer2; /* assign total to sum */
19
20 printf( "Sum is %d\
%d\n",
n", sum ); /* print sum
sum */
計算部份,將 integer1、
21
integer2 相加後的結果給
22 return 0; /* indicate that program ended successfully */
sum
23
24 } /* end function main */

© Copyright by Deitel © Copyright by Deitel


17 18
2.3 Another Simple C Program: 2.3 Another Simple C Program:
Adding Two Integers Adding Two Integers
• As before • scanf( "%d", &integer1 );
– Comments, #include <stdio.h> and int main() – Obtains a value from the user
• int integer1, integer2, sum; • scanf uses standard input (usually keyboard)

– Definition of variables – This scanf statement has two arguments


• Variables: locations in memory where a value can be stored • %d - indicates data should be a decimal integer
• &integer1 - location in memory to store variable (也就是,指
– int means the variables can hold integers (-1, 3, 0, 47)
向整數 integer1 在記憶體的位置)
– Variable names (identifiers) • & is confusing in beginning – for now, just remember to
• integer1, integer2, sum include it with the variable name in scanf statements
• Identifiers: consist of letters, digits (cannot begin with a digit) – It will be discussed later (i.e., concept of pointer)
and underscores( _ )
– When executing the program the user responds to the scanf
– Case sensitive statement by typing in a number, then pressing the enter
– Definitions appear before executable statements (return) key
• If an executable statement references and undeclared variable
it will produce a syntax (compiler) error
© Copyright by Deitel © Copyright by Deitel

19 20
2.3
Another Simple C Program:
2.4 Memory Concepts
Adding Two Integers
• = (assignment operator) • Variables
– Assigns a value to a variable – Variable names correspond to locations in the computer's
– Is a binary operator (has two operands) memory
sum = variable1 + variable2; – Every variable has a name, a type, a size and a value
sum gets variable1 + variable2; – Whenever a new value is placed into a variable (through
– Variable receiving value on left scanf, for example), it replaces (and destroys) the previous
• printf( "Sum is %d\
%d\n", sum ); value
– Similar to scanf – Reading variables from memory does not change them
• %d means decimal integer will be printed
• sum specifies what integer will be printed
– Calculations can be performed inside printf statements
printf( "Sum is %d\n", integer1 + integer2 );

© Copyright by Deitel © Copyright by Deitel


21 22

2.4 Memory Concepts 2.5 Arithmetic

•A visual representation • Arithmetic calculations


– Use * for multiplication and / for division
– Integer division truncates remainder
• 7 / 5 evaluates to 1
– Modulus operator(%) returns the remainder
• 7 % 5 evaluates to 2

• Operator precedence (順序)


– Some arithmetic operators act before others (e.g.,
multiplication before addition)
• Use parenthesis when needed
– Example: Find the average of three variables a, b and c
• Do not use: a + b + c / 3
• Use: (a + b + c ) / 3

© Copyright by Deitel © Copyright by Deitel

23 24
2.5 Arithmetic
2.5 Arithmetic

© Copyright by Deitel © Copyright by Deitel


25 26
2.6
Decision Making: Equality and 2.6 Decision Making: Equality and
Relational Operators Relational Operators
• Executable statements
– Perform actions (calculations, input/output of data)
– Perform decisions
• May want to print "pass" or "fail" given the value of a test
grade
• if control statement
– Simple version in this section, more detail later
– If a condition is true, then the body of the if statement
executed
• 0 is false, non-zero is true
– Control always resumes after the if structure
• Keywords
– Special words reserved for C
– Cannot be used as identifiers or variable names

© Copyright by Deitel © Copyright by Deitel

1 /* Fig. 2.13: fig02_13.c 25 if ( num1 < num2 ) {


27 28
26 printf( "%d is less than %d\
%d\n",
n", num1, num2 );
2 Using if statements, relational
Outline 27 } /* end if */
Outline
3 operators, and equality operators */
4 #include <stdio.h> 28

5 fig02_13.c (Part 1 29 if ( num1 > num2 ) { fig02_13.c (Part 2


30 printf( "%d is greater than %d\
%d\n",
n", num1, num2 );
6 /* function main begins program execution */ of 2) of 2)
7 int main() 31 } /* end if */
32
8 { if( 條件式 )
33 if ( num1
num1 <= num2 ) {
9 int num1;
num1; /* first number
number to be read from user */ {
34 printf( "%d is less than or equal to %d\
%d\n",
n", num1, num2 );
10 int num2; /* second number to be read from user */
statement 1; 35 } /* end if */
11
statement 2; 36
12 printf( "Enter two integers, and I will tell you\
you\n" );
13 printf( "the relationships they satisfy: " );
. . . 37 if ( num1 >= num2 ) {

14 如果合乎條件的話,
如果合乎條件的話, 38 printf( "%d is greater than or equal to %d\
%d\n",
n", num1, num2 );
39 } /* end if */
15 scanf( "%d%d",
"%d%d", &num1, &num2 ); /* read two integers */ 就做大括號中的部份;
就做大括號中的部份;
40
16 } 41 return 0; /* indicate that program ended successfully */
17 if ( num1 == num2 ) {
42
18 printf( "%d is equal to %d\
%d\n",
n", num1, num2 );
或者,
或者,如果只有一個 statement 時 43 } /* end function main */
19 } /* end if */
,可簡化成
20
Enter two integers, and I will tell you
21 if ( num1 != num2 ) {
the relationships they satisfy: 3 7
22 printf( "%d is not equal to %d\
%d\n",
n", num1, num2 ); if( 條件式 ) 3 is not equal to 7 Program Output
23 } /* end if */ statement ; 3 is less than 7
24 3 is less than or equal to 7

Question:
if ( 條件式 ) ;
printf( “This is a test.\n” );
執行結果是??

© Copyright by Deitel © Copyright by Deitel


29 30
Enter two integers, and I will tell you
the relationships they satisfy: 22 12 Outline
22 is not equal to 12
22 is greater than 12
More on if Statements
22 is greater than or equal to 12 Program Output
(continued) if( 條件式 ) if( 條件式 ) if( 條件式 ) ;
{ statement 1; statement 1;
Enter two integers, and I will tell you
the relationships they satisfy: 7 7 statement 1; statement 2; statement 2;
7 is equal to 7
7 is less than or equal to 7 statement 2; statement 3; statement 3;
7 is greater than or equal to 7
statement 3;
}

if( 條件式 )
{
statement 1;
statement 2;
}
statement 3;

© Copyright by Deitel © Copyright by Deitel

31 32
2.6 Decision Making: Equality and
Keywords
Relational Operators

© Copyright by Deitel © Copyright by Deitel


33 /* SIZEOF.C--Program to tell the size of the C variable */ 34
/* type in bytes */

補充)
補充
2.7 Data Types and Variables (補充 #include <stdio.h>

main()
{
• C’s Fundamental Data Type printf( "\nA char is %d bytes", sizeof( char ));
– int Integral numbers such as 1, 2, 3 and so on printf(
printf(
"\nAn int
"\nA short
is
is
%d
%d
bytes", sizeof( int ));
bytes", sizeof( short ));
printf( "\nA long is %d bytes", sizeof( long ));
– float Low/medium precision real numbers printf( "\nAn unsigned char is %d bytes", sizeof( unsigned char ));
printf( "\nAn unsigned int is %d bytes", sizeof( unsigned int ));
– double Medium/high precision real numbers printf( "\nAn unsigned short is %d bytes", sizeof( unsigned short ));
printf( "\nAn unsigned long is %d bytes", sizeof( unsigned long ));
– char Text characters such as ‘a’, ‘b’, ‘@’ and so on printf( "\nA float is %d bytes", sizeof( float ));
printf( "\nA double is %d bytes", sizeof( double ));

• C’s Modified Data Type printf( "\nA long double is %d bytes\n", sizeof( long double ));

return 0;
– short int small to medium sized integral numbers }
A char is 1 bytes
– long int Medium to large sized integral numbers, An int is 4 bytes
A short is 2 bytes
such as -245 563, 123 456 A long is 4 bytes
An unsigned char is 1 bytes
– long double Medium/high value/precision real An unsigned int is 4 bytes
An unsigned short is 2 bytes
numbers such as 2.0x102310 An unsigned long is 4 bytes
A float is 4 bytes
A double is 8 bytes
A long double is 8 bytes - for Visual C++ Compiler
A long double is 10 bytes - for Borland Compiler

© Copyright by Deitel © Copyright by Deitel

35 36

Typical Size and Range of Data Types Errors in Addition of Two Large Integers
For Borland Compiler /* IntegerError.c
Error in large integer addition
Overflow in integer addition
Data Type Size Bytes Min Value Max Value
IntegerError.c
char 1 -128 127 */
short int 2 -32768 32767
int 4 -2147483648 2147483647 #include <stdio.h>
long int 4 -2147483648 2147483647
int main()
float 4 1.17549e-
1.17549e-38 3.40282e+38 { int A1, A2, A3, B1, B2;
double 8 2.22507e-
2.22507e-308 1.79769e+308
long double 10 3.3621e-
3.3621e-4932 1.18973e+4932 A1 = 1500000000;
A2 = 1500000000;
A3 = 500000000;
For Visual C++ and C Compiler 1 byte, 28 = 256
B1 = A1 + A2;
2 bytes, 216 = 65536 B2 = A1 + A3;
Data Type Size Bytes Min Value Max Value 4 bytes, 232 = 4294967296
char 1 -128 127 printf( "A1 + A2 = %d + %d = %d\n", A1, A2, B1 );
printf( "A1 + A3 = %d + %d = %d\n", A1, A3, B2 );
short int 2 -32768 32767
int 4 -2147483648 2147483647 return 0; /* indicates successful termination */
long int 4 -2147483648 2147483647
float 4 1.17549e-
1.17549e-38 3.40282e+38 } /* end main */
double 8 2.22507e-
2.22507e-308 1.79769e+308
A1 + A2 = 1500000000 + 1500000000 = -1294967296
long double 8 2.22507e-
2.22507e-308 1.79769e+308
A1 + A3 = 1500000000 + 500000000 = 2000000000

© Copyright by Deitel © Copyright by Deitel


37 38

Conversion between Types


/*Test integer/float Conversion by calculating 5/3 + 4 testIntFloat.c */
Variables
#include <stdio.h> A variable is a named data storage location in your
int main()
{ int A1, A2, A3; Outputs: computer's memory. By using a variable's name in your
float B1, B2, B3, B4, B5, B6, B7, B8, B9, B10;
A1 = 3 ; A2 = 5 ; A3 = 4 program, you are, in effect, referring to the data stored
A1 = 3;
A2 =
A3 =
5;
4;
there. Every variable has a name, a type, a size and a value
A2/A1 + A3 = 5.000000
B1 =
B2 =
A2/A1 + A3;
A2/3.0 + A3;
A2/3.0 + A3 = 5.666667 Variable Names
(float)A2/(float)A1 + A3 = 5.666667
To use variables in your C programs, you must know
B3 = (float)A2/(float)A1 + A3;
B4 = (float)A2/A1 + A3 ;
B5 = A2/(float)A1 + A3 ; (float)A2/A1 + A3 = 5.666667
B6 =
B7 =
A2/A1 + (float)A3
(float)A3 + A2/A1
;
; A2/(float)A1 + A3 = 5.666667
how to create variable names. In C, variable names
B8 =
B9 =
(float)(A2/A1) + A3 ;
A3 + (float)A2/A1 ; A2/A1 + (float)A3 = 5.000000 must adhere to the following rules:
B10= A2/A1*(float)A1 + A3;
(float)A3 + A2/A1 = 5.000000 – The name can contain letters, digits, and the underscore
printf(
printf(
"
"
A1 = 3 ; A2 = 5 ; A3 = 4 \n\n");
A2/A1 + A3 = %f\n", B1);
(float)(A2/A1) + A3 = 5.000000 character (_).
printf( " A2/5.0 + A3 = %f\n", B2);
printf( " (float)A2/(float)A1 + A3 = %f\n", B3);
A3 + (float)A2/A1 = 5.666667 – The first character of the name must be a letter. The underscore
printf(
printf(
"
"
(float)A2/A1 + A3
A2/(float)A1 + A3
= %f\n",
= %f\n",
B4);
B5);
A2/A1*(float)A1 + A3 = 7.000000 is also a legal first character, but its use is not recommended.
printf(
printf(
"
"
A2/A1 + (float)A3
(float)A3 + A2/A1
= %f\n",
= %f\n",
B6);
B7); – Case matters (that is, upper- and lowercase letters). Thus, the
printf(
printf(
"
"
(float)(A2/A1) + A3
A3 + (float)A2/A1
= %f\n",
= %f\n",
B8);
B9);
names count and Count refer to two different variables.
printf( " A2/A1*(float)A1 + A3 = %f\n", B10);
– C keywords can't be used as variable names. A keyword is a
return 0; /* indicates successful termination */
word that is part of the C language.
} /* end main */

© Copyright by Deitel © Copyright by Deitel

39 40
Some Examples of Legal and Illegal C More on printf( ) Conversion Specifiers
Variable Names (Read Sec. 5.6 for Details)
The format string must contain one conversion specifier for each printed variable.
Variable Name Legality
printf() then displays each variable as directed by its corresponding conversion
Percent Legal specifier. For example, if you're printing a variable that is a signed decimal integer (types
int and long), use the %d conversion specifier. For an unsigned decimal integer (types
y2x5__fg7h Legal, but not advised unsigned int and unsigned long), use %u. For a floating-point variable (types float and
annual_profit Legal double), use the %f specifier.
_1990_tax Legal but not advised Specifier Meaning Types Converted Examples
savings#account Illegal: Contains the illegal character # %c Single character char A

double Illegal: Is a C keyword %d Signed decimal integer int, short 1234


%ld Signed long decimal integer long 1234
9winter Illegal: First character is a digit
%f or 1234567.890000;
%.3f or Decimal floating-point number float, double 1234567.890
%15.3f 1234567.890
Because C is case-sensitive, the names percent, PERCENT, and Percent would be %s Character string char arrays This is a test
considered three different variables. For many compilers, a C variable name can be %u Unsigned decimal integer unsigned int, unsigned short 1234
up to 31 characters long. (It can actually be longer than that, but the compiler looks at
%lu Unsigned long decimal integer unsigned long 1234
only the first 31 characters of the name.) With this flexibility, you can create variable
names that reflect the data being stored. %e or %E Floating-point value in exponential notation float, double
1.234568e+006;
1.234568E+006

%g or %G Floating-point value in f or e (or E) form, float, double 1.23457e+006


whichever is shorter

© Copyright by Deitel © Copyright by Deitel


/* printf_format testing */ 41 Outputs Format Specifiers 42
/* Printing floating-point numbers with
floating-point conversion specifiers */ 1234567.875000 1234567.890123 "%f\t%f\n"
1234567.875 1234567.890 "%.3f\t%.3f\n\n"
#include <stdio.h>
1234567.87500000 1234567.89012346 "%.8f\t%.8f\n\n\n"
int main()
{ float test1;
double test2; 1.234568e+006 1.234568e+006 "%e\t%e\n"
1.234568E+006 1.234568E+006 "%E\t%E\n\n"
test1 = 1234567.890123456789;
test2 = 1234567.890123456789; 1.2346e+006 1.2346e+006 "%.4e\t%.4e\n\n“

printf( "%f\t%f\n", test1,test2 ); 1.2345678750e+006 1.2345678901e+006 "%.10e\t%.10e\n\n\n"


printf( "%.3f\t%.3f\n\n", test1,test2 );
printf( "%.8f\t%.8f\n\n\n", test1,test2 ); 1.23457e+006 1.23457e+006 "%g\t%g\n"
printf( "%e\t%e\n", test1,test2 ); 1.23457E+006 1.23457E+006 "%G\t%G\n"
printf( "%E\t%E\n\n", test1,test2 );
printf( "%.4e\t%.4e\n\n", test1,test2 );
printf( "%.10e\t%.10e\n\n\n", test1,test2 );
printf( "%g\t%g\n", test1,test2 );
printf( "%G\t%G\n", test1,test2 );

return 0; /* indicates successful termination */

} /* end main */

© Copyright by Deitel © Copyright by Deitel

43 44

Case Study – Converting Miles to Kilometers Case Study – Converting Miles to Kilometers
/*
• Steps to write a program * program Mile2Km.c
– Define the problem to be solved with the computer * Converts distance in miles to kilometers.
– Design the program’s input/output (what the user should give/see) */
– Break the problem into logical steps to achieve this output #include <stdio.h> /* printf, scanf definitions */
– Write the program (with an editor)
– Compile the program int main()
{
– Test the program to make sure it performs as you expected float miles, /* input - distance in miles. */
• Problem: kms, /* output - distance in kilometers */
– Convert Miles to Kilometers kms_per_mile; /* conversion constant */

• Problem Input/Output /* Get the distance in miles. */


– miles /* the distance in miles */ printf("Enter the distance in miles> ");
– kms /* the distance in kilometers */ scanf("%f", &miles);
• Algorithm (演算法、演算步驟) /* Convert the distance to kilometers. */
– Get the distance in miles kms_per_mile = 1.609;
– Convert the distance to kilometers kms = kms_per_mile * miles;
• The distance in kilometers is 1.609 times the distance in miles
– Display the distance /* Display the distance in kilometers. */
printf("That equals %f kilometers.\n", kms);
• Write the problem
return 0;
}

© Copyright by Deitel © Copyright by Deitel


45 46

Case Study – Converting Miles to Kilometers Exercises


2.7Identify and correct the errors in each of the following statements
• Compile the program (Note: there may be more than one error per statement):
– Using Visual C++ or any ANSI-C Compiler
a) scanf( "d", value );
– If something goes wrong during compiling – syntax errors?
ANS: scanf( “%d”, &value );
• Testing
b) printf( "The product of %d and %d is %d"\n, x, y );
– To verify the program works properly, enter a few test values of miles (e.g., 10.0
miles).
ANS: printf("The product of %d and %d is %d\n", x, y, z );
– If something goes wrong during executing (running) the program – logical errors? c) firstNumber + secondNumber = sumOfNumbers
ANS: sumOfNumbers = firstNumber + secondNumber;
d) if ( number => largest )
largest == number;
ANS: if ( number >= largerst )
largest = number;
e) */ Program to determine the largest of three integers
/*
ANS: /* Program to determine the largest of three integers
*/

© Copyright by Deitel © Copyright by Deitel

47 48

Exercises Review
2.7Identify and correct the errors in each of the following statements • In this chapter, you have learned:
(Note: there may be more than one error per statement):
– To be able to write simple computer programs in C.
f) Scanf( "%d", anInteger );
– To be able to use simple input and output statements.
ANS: scanf( "%d", &anInteger );
g) printf( "Remainder of %d divided by %d is\n", x, y, x % – To become familiar with fundamental data types.
y ); – To understand computer memory concepts.
ANS: printf( "Remainder of %d divided by %d is %d\n", x, y, – To be able to use arithmetic operators.
x % y ); – To understand the precedence (order of evaluation) of
h) if ( x = y ); arithmetic operators.
printf( %d is equal to %d\n", x, y );
– To be able to write simple decision making statements.
ANS: if ( x == y ) /* ; removed */
– To understand C’s fundamental and modified data types
printf( "%d is equal to %d\n", x, y );
i) print( "The sum is %d\n," x + y );
ANS: printf( "The sum is %d\n", x + y );
j) Printf( "The value you entered is: %d\n, &value );
ANS: printf( "The value you entered is: %d\n", value );

© Copyright by Deitel © Copyright by Deitel

You might also like