320 likes | 409 Views
Chapter2 Constants, Variables, and Data Types. 2.1 Introduction. In this chapter, we will discuss constants (integer, real, character, string, enum) ,symbolic constants Variables (name, declare, assign) Fundamental data type ( int, float, double, char, void). Objective.
E N D
2.1 Introduction • In this chapter, we will discuss • constants (integer, real, character, string, enum) ,symbolic constants • Variables (name, declare, assign) • Fundamental data type ( int, float, double, char, void)
Objective • To be able to distinguish the constants of different data type • To be able to name, declare,initialize and assign values to variables • To become familiar with fundamental data types.
2.1 Character set • Letters • uppercase A…Z • lowercase a…z • Digits :All decimal digits 0…9 • Special characters • Table2.1 on page23 • White spaces
2.3 C Tokens • Keywords • Identifiers • Constants • Strings • Special symbols • operators
2.4 Keywords and Identifiers • Keywords • Table2.3 on page24 • Must in lowercase • Identifiers • User-defined names • Consist of letters, underscore(_), and digits • First character must not be digit • Can’t use a keyword • Can’t contain white space
2.4 Keywords and Identifiers • Which of the following are valid identifiers • Max first_name n1/n2 • 3row double _34 • Boy num girl-num
2.7 Data Types • Primary( fundamental) data types • Integer • Floating point ( float and double ) • Character • Void • Fig.2.4 on page31
2.7 Data Types • Integer • signed /unsigned • int • short int • long int • Floating point • float • double • long double • Character • signed / unsigned • void
2.7 Data Types • Size and range of basic data types • Table 2.7 on page31 • Table 2.8 on page32
2.5 Constants • Integer • Real • Character • String
Integer constants • Decimal integer • Consist of 0 through 9, +, - • Octal integer • Consist of 0 through 7, with a leading 0 • Hexadecimal integer • Consist of 0 to 9, and a through f preceded by 0x or 0X
Integer constant • The largest integer value is machine-dependent • Qualifiers • U or u: unsigned integer • l or L: long integer • UL or ul: unsigned long integer • Short integer
short is no longer than int and that long is no shorter than int.
Integer constant • Example2.1 Representation of integer constants on a 16-bit computer. #include <stdio.h> main() { printf("Integer values\n\n"); printf("%d %d %d\n",32767,32767+1,32767+10); printf("\n"); printf("Long integer values\n\n"); printf("%ld %ld %ld\n",32767L,32767+1L, 32767+10L); }
Real constant (double) • (1) decimal point • Consist of 0 through 9, . ,+ , - • 3.14159, .94 , -.58 , +1.234 • (2)Exponential notation mantissa e exponent • .56e3 2.3e-3 -2.3E-3 • The exponent must be an integer number • Suffixes f or F indicate a float constant • L or l indicate a long double • “Default values of constants” on page35
Floating-Point Round-off Errors • Take a number, add 1 to it, and subtract the original number. What do you get? You get 1. A floating-point calculation, may give another answer:
Character constant • A character enclosed within ‘’ • ‘6’‘=‘‘;’‘‘ • Character constants have integer values, For example • ‘a’ and 97 • ‘0’ and 48 • Backslash character constants • Table2.5 on page28 • ‘\ooo’ and ‘\xhh’
String constants • a sequence of characters enclosed in “”, for example • “hello”“34”“+()”“x”“\n” • “x” and ’x’
2.6 variables • A variable is data name that may be used to store a data value. • Variable names correspond to locations in the computer's memory • Every variable has a name, a type, a size and a value • Whenever a new value is placed into a variable, it replaces (and destroys) the previous value • Reading variables from memory does not change them
2.8 Declaration of variables • The declaration of variables must be done before they are used. declaration form data-type v1, v2,…, vn; For example int count; float sum; double ratio; char name;
Identify syntax errors in the following program. After corrections, what output would you expect when you execute it?
#define PI 3.14159 main() { int R, C;/* R-Radius of circle */ float perimeter; /* Circumference of circle */ float area; /* Circumference of circle */ C = PI; R = 5; Perimeter = 2.0 * C *R; Area = C*R*R; printf(“%f”, & perimeter, &area) }
Initialization of variables • To initialize a variable means to assign it a starting, or initial, value. • In C, this can be done as part of the declaration. • char ch=‘’; • int cows = 32, • int dogs, cats = 94;
2.10 Assignment statement • values can be assigned to variables using the assignment operator = as variable_name=value;
User-defined type declaration • the keyword “typedef” is used to rename an existing data type. typedef type identifier; • for example • typedef int integer; • typedef float real; • real sum1, sum2; • integer count;
Enumerated Types • You can use the enumerated type to declare symbolic names to represent integer constants. • declarations: • enum spectrum {red, orange, yellow, green, blue, violet}; • enum spectrum color;