1 CSE1301 Computer Programming Lecture 6 C Primitives 3

Preview:

Citation preview

1

CSE1301Computer Programming

Lecture 6C Primitives 3

2

Topics

• Type

• Variables

• Keywords and Identifiers

• Assignments

• Constants

3

Type

• The kind of a value is its “type”

• Not all values are of the same kind– For example: 7 + “cat” makes no sense

ValueVariable

4

Type

• Built-in types: char, int, float• Type modifiers: long, short, const• User-defined types (arrays and records)

• What about “strings”?– Strings are arrays of char (discussed later)

5

Character Representation

• Characters are stored as a small integer• Each character has a unique integer

equivalent specified by its position in the ASCII table (pronounced “as-key”)– American Standard Code for Information

Interchange– see Appendix E of King

6

7

Character Representation

• The ASCII values range from 0 to 127– value 0: special character ’\0’

(a.k.a. NUL character)– value 127: special character <DEL>– other special characters: ’\n’ ’\t’ ’\’’ ’\\’ etc.

– various “extended” sets from 128 to 255

8

Variable• is a logical name for a container

– (an actual piece of computer memory for values)

• has a type associated with it– tells the computer how to interpret the bits

• must be declared before use:

int i; float result;

int i=0; char initial=’K’;

9

Variable Declaration: Examples

int myID;

myID

10

Variable Declaration: Examples

int myID;

char myInitial = ’J’;

Single “forward quotes” or apostrophe (’) rather than

“back quotes” (‘)

11

Variable Declaration: Examples

int myID;

char myInitial = ’J’; 01001010myInitial

12

Variable Declaration: Examples

int myID;

char myInitial = ’J’;

char myInitial = 74 ;

01001010myInitial

13

Variable Declaration: Examples

short int myHeight = 152; /* cm */

int mySalary = 1000000000;

long int mySalary = 1000000000;

float commission = 0.05;

double chanceOfADate = 3e-500;

14

short int myHeight = 152; /* cm */

int mySalary = 1000000000;

long int mySalary = 1000000000;

float commission = 0.05;

double chance_of_a_date = 3e-500;

Variable Declaration: Examples

“Keywords”

15

Keyword

• has a special meaning in C

• is “case-sensitive”

• cannot be used as variable names

• Examples:int, char, long, main, float, double, const, while, for, if, else, return, break, case, switch, default, typedef, struct, etc. (see D&D 2/e Appendix A or King page 24)

16

Variable Declaration: Examples

short int myHeight = 152; /* cm */

int mySalary = 1000000000;

long int mySalary = 1000000000;

float commission = 0.05;

double chanceOfADate = 3e-500;

“Identifiers”

17

Identifier

• is a series of characters consisting of letters, digits and underscores ( _)

• cannot begin with a digit

• must not be a keyword

• is “case-sensitive”

• Examples:sUmoFA, x1, y2, _my_ID_, Main (careful!)

18

Assignment

• Puts a specified value into a specified variable

• Assignment operator: =

<variable name> = <expression> ;

not to be confused with ==

19

Assignment: Examplesfloat x = 2.5 ;

char ch ;

int number ;

ch = ’\n’ ;

number = 4 + 5 ;

/* current value of number is 9. */

number = number * 2;

/* current value of number is now 18. */

20

Assignment

• Value must have a type assignable to the variable

• Value may be automatically converted to fit the new container

• Example:– various.c

21

#include <stdio.h>

/* Do various assignment statements */

int main(){ int integer;

char character;

float floatingPoint;

integer = 33;

character = 33;

floatingPoint = 33;

integer = 'A';

character = 'A';

floatingPoint = 'A';

integer = 33.33;

character = 33.33;

floatingPoint = 33.33;

integer = floatingPoint;

floatingPoint = integer;

return 0;

}

various.c

22

Constants

• don’t vary

• may not be assigned to

• must be initialized

const float Pi = 3.14159;

const int classSize = 100;

23

Constants: Examples

const int myID = 192;

myID = 666; /* Error! */

const int passMark = 80;

const char pAsSgRaDe = ’P’;

const float pi = 3.1415926;

const double golden_ratio = 1.61803398874989;

24

Converts an angle from degrees to radians

output “Enter angle in degrees”

input angleInDegrees

angleInRadians = / 180 * angleInDegrees

output angleInRadians

#include <stdio.h>

/* Converts an angle in degrees to radians. */

const float PI = 3.1415926;

int main(){ float angleInDegs; float angleInRads;

printf("Enter angle in degrees:"); scanf("%f", &angleInDegs);

angleInRads = PI/180*angleInDegs;

printf("%f\n", angleInRads); return 0;}

Example: Constants

25

Example: Constants

“Global” constant variable

“Local” variables

more on this later...

#include <stdio.h>

/* Converts an angle in degrees to radians. */

const float PI = 3.1415926;

int main(){ float angleInDegs; float angleInRads;

printf("Enter angle in degrees: "); scanf("%f", &angleInDegs);

angleInRads = PI/180*angleInDegs;

printf("%f\n", angleInRads); return 0;}

26

Topics

TypeVariablesKeword and IdentifiersAssignmentsConstant Variables

27

Reading

• King– Chapter 2, 2.4 – 2.8– Chapter 4, 4.2 – 4.5– Chpater 7, 7.1 – 7.3

• D&D: – Chapter 9, 9.1 – 9.5, 9.11

• Kernighan & Ritchie– 2.4 – 2.8, 2.10, 2.12