CECS 121 REVIEW 1 - Resources for Academic Achievement …

Download Report

Transcript CECS 121 REVIEW 1 - Resources for Academic Achievement …

CECS 121 EXAM 1
/* C Programming for the Absolute Beginner */
// by Michael Vine
#include <stdio.h>
#include <stdlib.h>
main()
{
printf(“\nC you later\n”);
system(“pause”);
}
Serve to control program execution and
functionality. Must end with a semicolon(;)
with the exception of:




Comments: /* */
Preprocessor Directives: #include or #define
Begin and end program identifiers: { }
Function definition beginnings: main()

Functions allow you to group program
statements under one name

C is case-sensitive so main(), MAIN(), and Main()
are all different

The main function is special because the values
it returns are returned to the operating system

Most main functions in this course do not take or
pass information to the operating system

Definition: Escape sequences are specially
sequenced characters used to format output

\”
 Ex: printf(“ \ “This is quoted text \ “ “)

\’
 Ex: printf(“ \n A single quote looks like \’ \n”);

\* *\ Comment Block

#include <stdio.h>
 Using a directive to include a header file


stdio.h = standard input output header file
stdlib.h = ‘system’ commands

A computer’s long-term memory is called
nonvolatile memory and is generally
associated with mass storage devices, such as
hard drives.

A computer’s short term memory is called
volatile memory. It loses is data when power
is removed from the computer
Data Type
Description
Declaration Example
Integer
Whole numbers, positive or negative
int x =
Floatingpoint
number
All numbers, positive or negative,
decimals and fractions
float x = ;
Character
Representations of integer values
known as character codes
char x =‘’
To declare a constant (read only) value:
const int x = 20;
const float PI = 3.14;
;
-3 , 0, 3 , 29
-0.35543 , 0.00,
554433.33281
;
m, M, *
TYPE
SIZE
VALUES
bool
1 byte
true (1) or false (0)
char
1 byte
‘a’ to‘z’ , ‘A’ to ‘Z’, ‘0’ to ‘9’, space, tab, and so on
int
4 bytes
-2,147,483,648 to 2,147,483,647
short
2 bytes
-32,768 to 32,767
long
4 bytes
-2,147,483,648 to 2,147,483,647
float
4 bytes
+ - (1.2 x 10^-38 to 3.4 x 10^38)
double
8 bytes
+- (2.3 x 10^-308 to -1.7 x 10^308)

Can you explain what the code is doing?





Character Integer Float (decimal)String Printf Format Tags:
%c
%d
%f
%s
%[flags][width][.precision][length]specifier
%[.precision]specifer -> %.2f

int main()
{
printf (“%c %c \n", 'a', 65);
printf (" %10d \n", 1977);
printf ("%010d \n", 1977);
printf ("floats: %4.2f \n", 3.1416);
printf ("%s \n", "A string");
printf(“%f \n”, 55.55);
return 0;
}
}
printf (“%c %c \n", 'a', 65);
printf ("%d %ld\n", 1977, 650000L);
printf (" %10d \n", 1977);
printf ("%010d \n", 1977);
printf ("floats: %4.2f \n", 3.1416);
printf ("%s \n", "A string");

aA
1977650000
1977
0000001977
3.14
A string
Can you create a tabular data using printf?
Example
printf(“%.1f”,3.123456);
printf(“\n%.2f”,3.123456);
printf(“\n%.3f”,3.123456);
Printout
printf(“\n%.4f”,3.123456);
3.1235
printf(“\n%.5f”,3.123456);
3.12346
printf(“\n%.6f”,3.123456);
3.123456
3.1
3.12
3.123

Syntax
scanf(“conversion specifier”, variable);
Conversion Specifies
%d
%f
%c
Description
Receives integer value
Receives floating-point number
Receives character
#include <stdio.h>
main()
{
int iOperand1 = 0;
int iOperand2 = 0;
printf(“\n Enter first operand: “);
scanf(“%d”, &iOperand1);
printf(“\n Enter second operand: “);
scanf(“%d”, &iOperand2);
printf(“The result is %d \n”, 24/(iOperand1 * iOperand2)+6/3);
}
Operator Description
*
Multiplication
/
Division
%
Modulus (remainder)
+
Addition
-
Subtraction
Order of Precedence Description
()
Parentheses are evaluated first, from
innermost to outermost
*, /, %
Evaluated second, from Left to Right
+,-
Evaluated last, from Left to Right
#include <stdio.h>
main()
{
int x = 4;
int y = 9;
int result1, result2;
result1 = y/x;
result2 = y%x;
printf(“The result is %d.%d \n”, result1, 25*result2);
}
Operator
Description
==
Equal to
!=
Not Equal
>
Greater Than
<
Less Than
>=
Greater Than or Equal to
<=
Less Than or Equal to
Order of Precedence Description
&&
||
AND condition
OR condition
Do you know the answers to these?
 A. !( 1 || 0 )
 B. !( 1 || 1 && 0 )
 C. !( ( 1 || 0 ) && 0 )

A. !( 1 || 0 )
ANSWER: 0

B. !( 1 || 1 && 0 ) ANSWER: 0 (AND is
evaluated before OR)

C. !( ( 1 || 0 ) && 0 ) ANSWER: 1 (Parenthesis
are useful)

Can you write code that will ask a user to
enter a number 1 , 2 , or 3 and print out the
following:
User Input
Printout
1
1 is the loneliest number
2
2 is better than 1
3
3’s a crowd
#include <stdio.h>
int main()
{
int a;
printf (“Enter one of the following: %d, %d, or %d\n”, 1, 2, 3);
scanf(“%d”, &a);
if(a==1|| a==2|| a ==3)
{
if(a==1){
printf(“\n %d is the loneliest number \n“, 1);
}
if(a==2){
printf(“\n%d is better than %d \n”,2,1);
}
if(a==3){
printf(“\n%d \’ s a crowd \n”,3);
}
else
printf(“Sorry, you entered an invalid value\n”);
return 0; }
 while ( condition ) { Code to execute while the
condition is true }
 Quiz: Can you write a program that prints x
while x increments from 0 to 10?
x++;
++x;
Tells the function to use the current value of x and increment it by 1.
Increment the value of x by 1 and use the new value for calculations.
x--;
--x;
Tells the function to use the current value of x and decrease its value by 1.
Decrease the value of x by 1 and use the new value for calculations.
x=0;
printf(“The Value of x is: %d”, x++);
printf(“\n The Value of x is: %d”,++x);
Would results in:
The Value of x is: 0
The Value of x is: 2
Application of: += & -=
Equivalent Equation
x += y;
x = x + y;
x -= y;
x = x – y;


Often used when the # of iterations is already
known.
Contains 3 separate expressions:
1. Variable initialization
2. Conditional expression
3. Increment/Decrement
Try writing a program with a for loop that
counts down from 10 seconds.
#include <stdio.h>
main()
{
int x=0;
for(x=10; x>=0; x--)
{
printf("%d \n", x);
}
system("pause");
}

break;
Used to exit a loop. Once this statement is executed the program will
execute the statement immediately following the end of the loop.

continue;
Used to manipulate program flow in a loop. When executed, any
remaining statements in the loop will be skipped and the next
iteration of the loop will begin

Function Prototype Syntax
return-type function_name ( arg_type arg1, ..., arg_type argN)

Function Prototypes tell you the data type returned by
the function, the data type of parameters, how many
parameters, and the order of parameters

Function definitions implement the function prototype

Where are function prototypes located in the program?

Where do you find function definitions?

Where are function prototypes located in the
program?
 Answer: before the Main(){} Function!

Function Definitions are self contained
outside of the Main(){} function
#include <stdio.h>
int mult ( int, int );
int main() {
int x;
int y;
printf( "Please input two numbers to be multiplied: " );
scanf( "%d", &x );
scanf( "%d", &y );
printf( "The product of your two numbers is %d\n", mult( x, y ) );
getchar();
}
int mult (int a, int b)
{
return a * b;
}
#include <stdio.h>
Void printReportHeader();
main()
{
printReportHeader;
}
void printReportHeader()
{
printf(“\n Column1\tColumn2\tColumn3\tColumn4 \n”);
}
#include <stdio.h>
void printNumbers();
int iNumber;
main() {
int x;
for(x=0, x<10,x++){
printf(“\n Enter a number:”);
scanf(“%d”, &iNumber);
printNumbers();
}
}
void printNumbers()
{
printf(“\n Your number is: %d \n”, iNumber);
}



Variable scope defines the life time of a
variable
Local Scope: defined within functions and
loses scope after function is finished. Can
reuse in other functions (ex. p.123)
Global Scope: defined outside of functions
and can be accessed by multiple functions