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