0% found this document useful (0 votes)
51 views

Introduction To C Programming: CSE115: Computing Concepts

The document provides an introduction to C programming, including: 1) It discusses semantics and syntax, and explains that semantics refer to meaning while syntax refers to rules for combining words. 2) It explains that C was developed at Bell Labs in the 1960s and was used for Unix systems. It also discusses the need for standardization as implementations varied. 3) It presents a simple "Hello World" C program and explains the key components - preprocessor directives, main function, printf statement, and return value.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
51 views

Introduction To C Programming: CSE115: Computing Concepts

The document provides an introduction to C programming, including: 1) It discusses semantics and syntax, and explains that semantics refer to meaning while syntax refers to rules for combining words. 2) It explains that C was developed at Bell Labs in the 1960s and was used for Unix systems. It also discusses the need for standardization as implementations varied. 3) It presents a simple "Hello World" C program and explains the key components - preprocessor directives, main function, printf statement, and return value.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 49

Lecture 03

Introduction to C Programming
CSE115: Computing Concepts
Semantics and Syntax
• Semantics – the meaning of the language within a given
context
• Syntax - Syntax are the rules to join words
together in forming a correct expression or phrase.
• In natural languages it is often possible to assemble a
sentence in more than one correct ways.
C Programming Language
Why 'C' ?
• Because based on 'B'; developed at Bell Laboratories
• Developed by Dennis Ritchie at Bell Laboratories in the
1960s
• In cooperation with Ken Thomson it was used for Unix
systems
• The C Language was only vaguely defined, not
standardized, so that almost everyone had his own
perception of it, to such an extend that an urgent need for
a standard code was creeping up
A Simple Program in C
#include <stdio.h>
#include <stdlib.h>

int main()
{
printf("Hello world!\n");
return 0;
}
A Simple Program in C
#include <stdio.h>
standard Library, input-output, header-file
#include <stdlib.h>

int main()
{
printf("Hello world!\n");
return 0;
}
A Simple Program in C
#include <stdio.h>
#include <stdlib.h>
Beginning of program

int main()
{
printf("Hello world!\n");
return 0;
}
A Simple Program in C
#include <stdio.h>
#include <stdlib.h>

int main()
Start of Segment
{
printf("Hello world!\n");
return 0;
}
End of Segment
A Simple Program in C
#include <stdio.h>
#include <stdlib.h>

int main()
{ Function for printing text

printf("Hello world!\n");
return 0; End of statement

} Insert a new line


Output

Hello world!
General Form of a C Program

preprocessor directives
main function heading
{
declarations
executable statements
}
A Simple Program in C
#include <stdio.h>
#include <stdlib.h>

int main()
{
printf("Hello world!\n");
return 0;
}
A Simple Program in C
#include <stdio.h>
standard Library, input-output, header-file
#include <stdlib.h>
Beginning of program

int main()
Start of Segment
{ Function for printing text

printf("Hello world!\n");
return 0; End of statement

} Insert a new line

End of Segment
Preprocessor Directives
• A C program begins with # which provides an instruction to the C
preprocessor
• It is executed before the actual compilation is done.
• Two most common directives :
• #include
• #define
• In our example (#include<stdio.h>) identifies the header
file for standard input and output operations.
Function main()
• Identify the start of the program
• Every C program has a main( )
• 'main' is a C keyword. We must not use it for any other
purpose.
• 4 common ways of main declaration

int main(void) void main(void) main(void) main( )


{ { { {

return 0;
} } } }
The curly braces { }
• Identify a segment / body of a program
• The start and end of a function
• The start and end of the selection or repetition block.
• Since the opening brace indicates the start of a segment
with the closing brace indicating the end of a segment,
there must be just as many opening braces as closing
braces (this is a common mistake of beginners)
Statement
• Specifying an action to be taken by the computer as the program
executes.
• Each statement in C needs to be terminated with semicolon (;)
• Example:
#include <stdio.h>
int main()
{
printf(“I love programming\n”); statement
printf(“You will love it too once ”); statement
printf(“you know the trick\n”); statement
return 0; statement

}
Statement
• Statement has two parts :
• Declaration
• The part of the program that tells the compiler the names of memory
cells in a program
• Executable statements
• Program lines that are converted to machine language instructions and
executed by the computer
An Example
/*
Converts distance in miles
to kilometres.
*/
#include <stdio.h> //printf, scanf definitions
#define KMS_PER_MILE 1.609 //conversion constant

int main(void) {
float miles, // input – distance in miles
kms; // output – distance in kilometres

//Get the distance in miles


printf("Enter distance in miles: ");
scanf("%f", &miles);

//Convert the distance to kilometres


kms = KMS_PER_MILE * miles;

//Display the distance in kilometres


printf("That equals %f km.\n", kms);

return 0;
}
An Example
/*
Converts distance in miles
to kilometres.
*/ standard header file
preprocessor #include <stdio.h> //printf, scanf definitions
directives #define KMS_PER_MILE 1.609 //conversion constant
constant
int main(void) {
float miles, // input – distance in miles
reserved kms; // output – distance in kilometres
words
//Get the distance in miles
variables printf("Enter distance in miles: "); comments
scanf("%f", &miles);

functions //Convert the distance to kilometres


kms = KMS_PER_MILE * miles;
special //Display the distance in kilometres
symbols printf("That equals %f km.\n", kms);

return 0;
} punctuations
An Example
/*
Converts distance in miles
to kilometres.
*/
#include <stdio.h> //printf, scanf definitions
#define KMS_PER_MILE 1.609 //conversion constant

int main(void) {
float miles, // input – distance in miles
declarations
kms; // output – distance in kilometres

//Get the distance in miles


printf("Enter distance in miles: ");
scanf("%f", &miles);

//Convert the distance to kilometres


kms = KMS_PER_MILE * miles;

//Display the distance in kilometres Executable


printf("That equals %f km.\n", kms); statements

return 0;
}
An Example
/*
Converts distance in miles
to kilometres.
*/
#include <stdio.h> //printf, scanf definitions
#define KMS_PER_MILE 1.609 //conversion constant

int main(void) {
float miles, // input – distance in miles
kms; // output – distance in kilometres

//Get the distance in miles


printf("Enter distance in miles: ");
scanf("%f", &miles);

//Convert the distance to kilometres


kms = KMS_PER_MILE * miles;

//Display the distance in kilometres


printf("That equals %f km.\n", kms);

return 0; Sample Run


} Enter distance in miles: 10.5
That equals 16.89 km.
An Example
 What happens in the computer memory?

memory memory memory

MileToKm.exe MileToKm.exe MileToKm.exe

miles miles miles


? 10.5 10.5

kms kms kms


? ? 16.89

At the beginning After user enters: After this line is


Do not assume that
uninitialised variables 10.5 to executed:
contain zero! (Very
common mistake.) scanf("%f", &miles); kms = KMS_PER_MILE * miles;
Variables
• Variable  a name associated with a memory cell whose value can
change
• Variable Declaration: specifies the type of a variable
• Example: int num;
• Variable Definition: assigning a value to the declared variable
• Example: num = 5;
Basic Data Types
• There are 4 basic data types :
• int
• float
• double
• char
• int
• used to declare numeric program variables of integer type
• whole numbers, positive and negative
• keyword: int
int number;
number = 12;
….

number = 7;
Basic Data Types
• float
• fractional parts, positive and negative
• keyword: float
float height;
height = 1.72;
• double
• used to declare floating point variable of higher precision or higher range
of numbers
• exponential numbers, positive and negative
• keyword: double
double valuebig;
• valuebig = 12E-3; (is equal to 12X10-3)
Basic Data Types
• char
• A single symbol that can be typed using the keyboard
• Example of characters:
• Numeric digits: 0 - 9
• Lowercase/uppercase letters: a - z and A - Z
• Space (blank)
• Special characters: , . ; ? “ / ( ) [ ] { } * & % ^ < >
etc
• single character
• keyword: char
char d; The declared character must be
d = 128; enclosed within a single quote!
• In addition, there are void, short, long, etc.
Data types (summary)
Type Storage Value range Precision
size

char 1 byte -128 to 127 or 0 to 255 n/a

-2,147,483,648 to n/a
int 4 bytes 2,147,483,647

unsigned 4 bytes 0 to 4,294,967,295 n/a


int

float 4 byte 1.2E-38 to 3.4E+38 6 decimal places

double 8 byte 2.3E-308 to 1.7E+308 15 decimal places

Here unsigned is a modifier; a modifier is a C keyword that can be used in front


of a data type to modify the behavior of that data type
A closer look at variables

Memory

28
A closer look at variables

int a = 139, b = -5;

Memory

29
A closer look at variables

int a = 139, b = -5;

Memory

a 139

b -5

30
A closer look at variables

int a = 139, b = -5;

Memory

a 139

b -5

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 132 bits

31
A closer look at variables

int a = 139, b = -5;

Memory

a 139

b -5

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 132 bits
32
 ------------------------------------ 2’s complement of 5 ------------------------
A closer look at variables
char c = ‘H’;

0 1 0 0 1 0 0 0 8 bits
A closer look at variables
char c = ‘H’;

0 1 0 0 1 0 0 0 8 bits

?
A closer look at variables
char c = 0x2A;//stores (00101010)2=(2A)16

0 1 0 0 1 0 0 0 8 bits

?
10010002 = 7210
Input/Output Operations
• Input operation
• an instruction that copies data from an input device into
memory
• Output operation
• an instruction that displays information stored in memory to
the output devices (such as the monitor screen)
Input/Output Functions
• A C function that performs an input or output operation
• A few functions that are pre-defined in the header file
stdio.h such as :
• printf()
• scanf()
• getchar() & putchar()
The printf function
• Used to send data to the standard output (usually the monitor) to
be printed according to specific format.
• General format:
• printf(“string literal”);
• A sequence of any number of characters surrounded by
double quotation marks.
• printf(“format string”, variables);
• Format string is a combination of text, conversion specifier
and escape sequence.
The printf function

• Example:
• printf(“Thank you”);
• printf (“Total sum is: %d\n”, sum);
• %d is a placeholder (conversion specifier)
• marks the display position for a type
integer variable
• \n is an escape sequence
• moves the cursor to the new line
Placeholder / Conversion Specifier
No Conversion Output Type Output Example
Specifier
1 %d Signed decimal integer 76
2 %i Signed decimal integer 76
3 %o Unsigned octal integer 134
4 %u Unsigned decimal integer 76
5 %x Unsigned hexadecimal (small letter) 9c
6 %X Unsigned hexadecimal (capital letter) 9C
7 %f Integer including decimal point 76.0000
8 %e Signed floating point (using e 7.6000e+01
notation)
9 %E Signed floating point (using E 7.6000E+01
notation)
10 %g The shorter between %f and %e 76
11 %G The shorter between %f and %E 76
12 %c Character ‘7’
13 %s String ‘76'
Escape Sequence
Escape Sequence Effect
\a Beep sound
\b Backspace
\n New line
\t Tab
\v Vertical tab
\\ Backslash
\” “ sign
Formatting output
int meters = 21, feet = 68 , inches =
11;
printf("Results:%3d meters=%4d ft.%2d
in.\n", meters, feet, inches);

R e s u l t s : 2 1 m e t e r s = 6 8 f t . 1 1 i n .

printf("Results:%03d meters=%04d ft.%02d


in.\n", meters, feet, inches);
R e s u l t s : 0 2 1 m e t e r s = 0 0 6 8 f t . 1 1 i n .
Formatting output
Formatting output
• Displaying x Using Format String Placeholder %6.2f
The scanf function
• Read data from the standard input device (usually keyboard) and
store it in a variable.
• General format:
• scanf(“Format string”, &variable);
• Notice ampersand (&) operator :
• C address of operator
• it passes the address of the variable instead of the variable
itself
• tells the scanf() where (in the RAM) to find the variable to store
the new value
The scanf function
• Example :
int age;
printf(“Enter your age: “);
scanf(“%d”, &age);

• Common Conversion specifier used in printf and scanf


functions.

printf scanf
int %d %d
float %f %f
double %lf %lf
char %c %c
string %s %s
The scanf function

• If you want the user to enter more than one value, you
serialize the inputs.
• Example:
float height, weight;

printf(“Please enter your height and weight:”);


scanf(“%f%f”, &height, &weight);

You might also like