![Page 1: CSE1301 Computer Programming Lecture 4: C Primitives I](https://reader035.vdocument.in/reader035/viewer/2022062221/56649d375503460f94a0fa1d/html5/thumbnails/1.jpg)
CSE1301Computer Programming
Lecture 4:C Primitives I
![Page 2: CSE1301 Computer Programming Lecture 4: C Primitives I](https://reader035.vdocument.in/reader035/viewer/2022062221/56649d375503460f94a0fa1d/html5/thumbnails/2.jpg)
Topics
• History of C
• Structure of a C program
• Values and variables
• Expressions
• Function calls
• Comments
printf(“Hello World”);
![Page 3: CSE1301 Computer Programming Lecture 4: C Primitives I](https://reader035.vdocument.in/reader035/viewer/2022062221/56649d375503460f94a0fa1d/html5/thumbnails/3.jpg)
Machine Language
10100110 0111011000100110 0000000011111010 1111101001001110 1010011011100110 1001011011001110 0010111010100110 0100111011111010 0110011001001110 10000110
etc...
![Page 4: CSE1301 Computer Programming Lecture 4: C Primitives I](https://reader035.vdocument.in/reader035/viewer/2022062221/56649d375503460f94a0fa1d/html5/thumbnails/4.jpg)
From Algorithms to Programs
• Both are sets of instructions on how to do a task
• Algorithm: – talking to humans, easy to understand– in plain (English) language
• Program:– talking to computer (compiler)– can be regarded as a “formal expression” of an
algorithm
![Page 5: CSE1301 Computer Programming Lecture 4: C Primitives I](https://reader035.vdocument.in/reader035/viewer/2022062221/56649d375503460f94a0fa1d/html5/thumbnails/5.jpg)
High-Level Language
• Compilers and linkers translate a high level program into executable machine code.
#include <stdio.h>
int main(){ printf(“Hello World”);
return 0;}
Source code Executable code
10100110 0111011000100110 0000000011111010 1111101001001110 1010011011100110 1001011011001110 0010111010100110 0100111011111010 0110011001001110 10000110
etc...
![Page 6: CSE1301 Computer Programming Lecture 4: C Primitives I](https://reader035.vdocument.in/reader035/viewer/2022062221/56649d375503460f94a0fa1d/html5/thumbnails/6.jpg)
Why C?
• Flexible language:– Structured language– Low level activities possible
• Standard library exists, allowing portability– See D&D 2/e Appendix B (web links in D&D 3/e)– Forouzan & Gilberg Appendix F
• It can produce lean and efficient code• Wide availability on a variety of computers• Widely used
![Page 7: CSE1301 Computer Programming Lecture 4: C Primitives I](https://reader035.vdocument.in/reader035/viewer/2022062221/56649d375503460f94a0fa1d/html5/thumbnails/7.jpg)
History of C
• CPL Combined Programming Language (Barron et al., 1963)
• BCPL Basic CPL (Richards, 1969)
• B (Thompson, 1970)
• C K&R C (Ritchie, 1972)
• ANSI C American National Standards Institute C (X3J11, 1989)
• C99 (JTC1/SC22/WG14, ISO/IEC 9899, 1999)
![Page 8: CSE1301 Computer Programming Lecture 4: C Primitives I](https://reader035.vdocument.in/reader035/viewer/2022062221/56649d375503460f94a0fa1d/html5/thumbnails/8.jpg)
Basic Structure of a C Program
output “Hello World!”
Algorithm: #include <stdio.h> int main(){printf(“Hello World!”);
return 0;}
C Program:
Example: Hello World
![Page 9: CSE1301 Computer Programming Lecture 4: C Primitives I](https://reader035.vdocument.in/reader035/viewer/2022062221/56649d375503460f94a0fa1d/html5/thumbnails/9.jpg)
Basic Structure of a C Program (cont)
#include <stdio.h> int main(){
printf(“Hello World!”);
return 0;}
C Program:
Example: Hello world
Includes standard input/output library of procedures.
Read: “Hash-include”
![Page 10: CSE1301 Computer Programming Lecture 4: C Primitives I](https://reader035.vdocument.in/reader035/viewer/2022062221/56649d375503460f94a0fa1d/html5/thumbnails/10.jpg)
Basic Structure of a C Program
#include <stdio.h> int main(){
printf(“Hello World”);
return 0;}
C Program:
Curly braces mark the beginning and end of a
block of instructions.
Example: Hello World
![Page 11: CSE1301 Computer Programming Lecture 4: C Primitives I](https://reader035.vdocument.in/reader035/viewer/2022062221/56649d375503460f94a0fa1d/html5/thumbnails/11.jpg)
Basic Structure of a C Program
#include <stdio.h> int main(){
printf(“Hello World”);
return 0;}
C Program:
Instruction (function call) to output “Hello World”
Example: Hello World
![Page 12: CSE1301 Computer Programming Lecture 4: C Primitives I](https://reader035.vdocument.in/reader035/viewer/2022062221/56649d375503460f94a0fa1d/html5/thumbnails/12.jpg)
Basic Structure of a C Program
#include <stdio.h> int main(){
printf(“Hello World”);
return 0;}
C Program:
“Statements” (lines of instructions) always end with a semi-colon (;)
Example: Hello World
![Page 13: CSE1301 Computer Programming Lecture 4: C Primitives I](https://reader035.vdocument.in/reader035/viewer/2022062221/56649d375503460f94a0fa1d/html5/thumbnails/13.jpg)
int main(){
return 0;}
Example -- Count to 10
Print out numbers 0 to 9
set count to 0while ( count is less than 10 ){
output countadd 1 to count
}
![Page 14: CSE1301 Computer Programming Lecture 4: C Primitives I](https://reader035.vdocument.in/reader035/viewer/2022062221/56649d375503460f94a0fa1d/html5/thumbnails/14.jpg)
#include <stdio.h>
int main(){
return 0;}
Example -- Count to 10 (cont)
Print out numbers 0 to 9
set count to 0while ( count is less than 10 ){
output countadd 1 to count
}
![Page 15: CSE1301 Computer Programming Lecture 4: C Primitives I](https://reader035.vdocument.in/reader035/viewer/2022062221/56649d375503460f94a0fa1d/html5/thumbnails/15.jpg)
#include <stdio.h>
/* Print out numbers 0 to 9 */
int main(){
return 0;}
Example -- Count to 10 (cont)
Print out numbers 0 to 9
set count to 0while ( count is less than 10 ){
output countadd 1 to count
}
Comment
![Page 16: CSE1301 Computer Programming Lecture 4: C Primitives I](https://reader035.vdocument.in/reader035/viewer/2022062221/56649d375503460f94a0fa1d/html5/thumbnails/16.jpg)
#include <stdio.h>
/* Print out numbers 0 to 9 */int main(){ int count;
return 0;
}
Example -- Count to 10 (cont)
Print out numbers 0 to 9
set count to 0while ( count is less than 10 ){
output countadd 1 to count
}
Variable declaration
![Page 17: CSE1301 Computer Programming Lecture 4: C Primitives I](https://reader035.vdocument.in/reader035/viewer/2022062221/56649d375503460f94a0fa1d/html5/thumbnails/17.jpg)
#include <stdio.h>
/* Print out numbers 0 to 9 */int main(){
int count;
count = 0;while ( count < 10 ){
printf(“%d\n”, count);
count=count+1;}
return 0;}
Example -- Count to 10 (cont)
Print out numbers 0 to 9
set count to 0while ( count is less than 10 ){
output countadd 1 to count
}
![Page 18: CSE1301 Computer Programming Lecture 4: C Primitives I](https://reader035.vdocument.in/reader035/viewer/2022062221/56649d375503460f94a0fa1d/html5/thumbnails/18.jpg)
#include <stdio.h>
/* Print out numbers 0 to 9 */int main(){
int count;
count = 0;while ( count < 10 ){
printf(“%d\n”, count);
count=count+1;}
return 0;}
Example -- Count to 10 (cont)
Print out numbers 0 to 9
set count to 0while ( count is less than 10 ){
output countadd 1 to count
}
Assignment of a value (right expression) to a variable (left).
![Page 19: CSE1301 Computer Programming Lecture 4: C Primitives I](https://reader035.vdocument.in/reader035/viewer/2022062221/56649d375503460f94a0fa1d/html5/thumbnails/19.jpg)
#include <stdio.h>
/* Print out numbers 0 to 9 */int main(){
int count;
count = 0;while ( count < 10 ){
printf(“%d\n”, count);
count=count+1;}
return 0;}
Example -- Count to 10 (cont)
Print out numbers 0 to 9
set count to 0while ( count is less than 10 ){
output countadd 1 to count
} No semi-colon here!
![Page 20: CSE1301 Computer Programming Lecture 4: C Primitives I](https://reader035.vdocument.in/reader035/viewer/2022062221/56649d375503460f94a0fa1d/html5/thumbnails/20.jpg)
#include <stdio.h>
/* Print out numbers 0 to 9 */int main(){
int count;
count = 0;while ( count < 10 ){
printf(“%d\n”, count);
count=count+1;}
return 0;}
Example -- Count to 10 (cont)
Print out numbers 0 to 9
set count to 0while ( count is less than 10 ){
output countadd 1 to count
}
![Page 21: CSE1301 Computer Programming Lecture 4: C Primitives I](https://reader035.vdocument.in/reader035/viewer/2022062221/56649d375503460f94a0fa1d/html5/thumbnails/21.jpg)
#include <stdio.h>
/* Print out numbers 0 to 9 */int main(){
int count;
count = 0;while ( count < 10 ){
printf(“%d\n”, count);
count=count+1;}
return 0;}
Example -- Count to 10 (cont)
Print out numbers 0 to 9
set count to 0while ( count is less than 10 ){
output countadd 1 to count
}
Format string
![Page 22: CSE1301 Computer Programming Lecture 4: C Primitives I](https://reader035.vdocument.in/reader035/viewer/2022062221/56649d375503460f94a0fa1d/html5/thumbnails/22.jpg)
#include <stdio.h>
/* Print out numbers 0 to 9 */int main(){
int count;
count = 0;while ( count < 10 ){
printf(“%d\n”, count);
count=count+1;}
return 0;}
Example -- Count to 10 (cont)
Print out numbers 0 to 9
set count to 0while ( count is less than 10 ){
output countadd 1 to count
}
![Page 23: CSE1301 Computer Programming Lecture 4: C Primitives I](https://reader035.vdocument.in/reader035/viewer/2022062221/56649d375503460f94a0fa1d/html5/thumbnails/23.jpg)
Find the sign of a number
output “Enter a number”input num
if (num is less than 0)then{
output num “ is -’ve”}else{
output num “ is +’ve”}
#include <stdio.h>/* Find the sign of a number */ int main(){
float num;printf(“Enter a number: “);scanf(“%f”, &num);
if ( num < 0 ){ printf(“%f is -’ve\n”, num);}else{ printf(“%f is +’ve\n”, num);}return 0;
}
Example -- What’s your sign?
![Page 24: CSE1301 Computer Programming Lecture 4: C Primitives I](https://reader035.vdocument.in/reader035/viewer/2022062221/56649d375503460f94a0fa1d/html5/thumbnails/24.jpg)
Find the sign of a number
output “Enter a number”input num
if (num is less than 0)then{
output num “ is -’ve”}else{
output num “ is +’ve”}
#include <stdio.h>/* Find the sign of a number */ int main(){
float num;
printf(“Enter a number: “);scanf(“%f”, &num);
if ( num < 0 ){ printf(“%f is -’ve\n”, num);}else{ printf(“%f is +’ve\n”, num);}
return 0;}
Example -- What’s your sign? (cont)
![Page 25: CSE1301 Computer Programming Lecture 4: C Primitives I](https://reader035.vdocument.in/reader035/viewer/2022062221/56649d375503460f94a0fa1d/html5/thumbnails/25.jpg)
Find the sign of a number
output “Enter a number”input num
if (num is less than 0)then{
output num “ is -’ve”}else{
output num “ is +’ve”}
#include <stdio.h>/* Find the sign of a number */ int main(){
float num;
printf(“Enter a number: “);scanf(“%f”, &num);
if ( number < 0 ){ printf(“%f is -’ve\n”, num);}else{ printf(“%f is +’ve\n”, num);}return 0;
}
Example -- What’s your sign? (cont)
![Page 26: CSE1301 Computer Programming Lecture 4: C Primitives I](https://reader035.vdocument.in/reader035/viewer/2022062221/56649d375503460f94a0fa1d/html5/thumbnails/26.jpg)
Find the sign of a number
output “Enter a number”input num
if (num is less than 0)then{
output num “ is -’ve”}else{
output num “ is +’ve”}
#include <stdio.h>/* Find the sign of a number */ int main(){
float num;
printf(“Enter a number: “);scanf(“%f”, &num);
if ( num < 0 ){ printf(“%f is -’ve\n”, num);}else{ printf(“%f is +’ve\n”, num);}return 0;
}
Example -- What’s your sign? (cont)
![Page 27: CSE1301 Computer Programming Lecture 4: C Primitives I](https://reader035.vdocument.in/reader035/viewer/2022062221/56649d375503460f94a0fa1d/html5/thumbnails/27.jpg)
Find the sign of a number
output “Enter a number”input num
if (num is less than 0)then{
output num “ is -’ve”}else{
output num “ is +’ve”}
#include <stdio.h>/* Find the sign of a number */ int main(){
float num;
printf(“Enter a number: “);scanf(“%f”, &num);
if ( num < 0 ){ printf(“%f is -’ve\n”, num);}else{ printf(“%f is +’ve\n”, num);}return 0;
}
Example -- What’s your sign? (cont)
![Page 28: CSE1301 Computer Programming Lecture 4: C Primitives I](https://reader035.vdocument.in/reader035/viewer/2022062221/56649d375503460f94a0fa1d/html5/thumbnails/28.jpg)
Topics
History of CStructure of a C program
• Values and variables
• Expressions
• Function calls
• Comments
![Page 29: CSE1301 Computer Programming Lecture 4: C Primitives I](https://reader035.vdocument.in/reader035/viewer/2022062221/56649d375503460f94a0fa1d/html5/thumbnails/29.jpg)
Values and Variables
• Basic Types:
– Integers
– Floating point numbers
– Characters
– Character Strings
![Page 30: CSE1301 Computer Programming Lecture 4: C Primitives I](https://reader035.vdocument.in/reader035/viewer/2022062221/56649d375503460f94a0fa1d/html5/thumbnails/30.jpg)
Basic Types: int and float
• Integers (int)0 1 1000 -1 -10 666
• Floating point numbers (float)1.0 .1 1.0e-1 1e1
![Page 31: CSE1301 Computer Programming Lecture 4: C Primitives I](https://reader035.vdocument.in/reader035/viewer/2022062221/56649d375503460f94a0fa1d/html5/thumbnails/31.jpg)
Basic Types: char
• Characters (char)’a’ ’z’ ’A’ ’Z’ ’?’ ’@’ ’0’ ’9’
- Special Characters: preceded by \’\n’ ’\t’ ’\0’ ’\’’ ’\\’ etc.
![Page 32: CSE1301 Computer Programming Lecture 4: C Primitives I](https://reader035.vdocument.in/reader035/viewer/2022062221/56649d375503460f94a0fa1d/html5/thumbnails/32.jpg)
Basic Types: character string
• Character Strings (a string of char-s)
• Examples:– ”Hi there!”– ”Line 1\nLine 2\nLine 3”– ””– ”\”\””
![Page 33: CSE1301 Computer Programming Lecture 4: C Primitives I](https://reader035.vdocument.in/reader035/viewer/2022062221/56649d375503460f94a0fa1d/html5/thumbnails/33.jpg)
Topics
History of CStructure of a C programValues and variables
![Page 34: CSE1301 Computer Programming Lecture 4: C Primitives I](https://reader035.vdocument.in/reader035/viewer/2022062221/56649d375503460f94a0fa1d/html5/thumbnails/34.jpg)
Reading
• King– Chapter 1, 1.1 – 1.2– Chapter 2, 2.1
• D&D: – Chapter 2, Sections 2.1 to 2.5
• Kernighan & Ritchie– Chapter 1, 1.1