320 likes | 419 Vues
Understand constants (integer, real, character, string), symbolic constants, and variables. Learn about fundamental data types like int, float, double, char, and void. Explore C tokens, keywords, identifiers, and primary data types. Discover integer, real, and character constants, initialization, assignment, and declaration of variables in C programming.
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;