Module 1 CProgramming - Google Docs.pdf

Full Transcript

5‭. Maintenance‬ ‭We are maintenance the software by updating the information, providing the security and license‬ ‭for the software.‬ ‭What is C?‬ ‭ ‬‭is‬‭a‬‭programming‬‭language‬‭developed‬‭at‬‭AT‬‭&‬‭T‟s‬‭Bell‬‭Laboratories‬‭of‬‭USA‬‭in‬‭1972‬‭.‬‭It‬ ‭was‬ C ‭designed‬ ‭and‬ ‭written‬ ‭by‬ ‭...

5‭. Maintenance‬ ‭We are maintenance the software by updating the information, providing the security and license‬ ‭for the software.‬ ‭What is C?‬ ‭ ‬‭is‬‭a‬‭programming‬‭language‬‭developed‬‭at‬‭AT‬‭&‬‭T‟s‬‭Bell‬‭Laboratories‬‭of‬‭USA‬‭in‬‭1972‬‭.‬‭It‬ ‭was‬ C ‭designed‬ ‭and‬ ‭written‬ ‭by‬ ‭Dennis‬ ‭Ritche‬‭.‬ ‭Dennis‬ ‭Ritchie‬ ‭is‬ ‭known‬ ‭as‬ ‭the‬ ‭founder‬ ‭of‬ ‭c‬ ‭language‬‭.‬ ‭It was developed to overcome the problems of previous languages such as B, BCPL‬ ‭etc.‬‭Initially, C language was developed to be used‬‭in UNIX operating system.‬ ‭Features of C‬ ‭1. Portability or machine independent‬ ‭C PROGRAMMING Page 16‬ 2‭. Sound and versatile language‬ ‭3. Fast program execution.‬ ‭4. An extendible language.‬ ‭5. Tends to be a structured language.‬ ‭ istorical developments of C(Background)‬ H ‭Year‬ ‭Language‬ ‭Developed by‬ ‭Remarks‬ ‭1960‬ ‭ALGOL‬ ‭International committee‬ ‭Too general, too abstract‬ ‭1967‬ ‭BCPL‬ ‭ artin Richards at‬ M ‭ ould deal with only specific‬ C ‭Cambridge university‬ ‭problems‬ ‭1970‬ ‭B‬ ‭ en Thompson at AT &‬ K ‭ ould deal with only specific‬ C ‭T‬ ‭problems‬ ‭1972‬ ‭C‬ ‭Dennis Ritche at AT & T‬ L‭ ost generality of BCPL and B‬ ‭restored‬ ‭General Structure of a C program:‬ /‭* Documentation section */‬ ‭‬ ‭‬ ‭‬ ‭main()‬ ‭{‬ ‭Declaration part‬ ‭Executable part (statements)‬ ‭}‬ ‭‬ ‭ ‬ ‭The‬ ‭documentation‬ ‭section‬ ‭is‬ ‭used‬ ‭for‬ ‭displaying‬ ‭any‬ ‭information‬ ‭about‬ ‭the‬ ⮚ ‭program‬‭like‬‭the‬‭purpose‬‭of‬‭the‬‭program,‬‭name‬‭of‬‭the‬‭author,‬‭date‬‭and‬‭time‬‭written‬ ‭etc,‬ ‭and‬ ‭this‬ ‭section‬ ‭should‬ ‭be‬ ‭enclosed‬ ‭within‬ ‭comment‬ ‭lines.‬ ‭The‬ ‭statements‬ ‭in‬ ‭the documentation section are ignored by the compiler.‬ ‭⮚‬‭The link section consists of the inclusion of header‬‭files.‬ ‭C PROGRAMMING Page 17‬ ‭⮚‬‭The definition section consists of macro definitions,‬‭defining constants etc,.‬ ‭ ‬‭Anything declared in the global declaration section‬‭is accessible throughout the‬ ⮚ ‭program, i.e. accessible to all the functions in the program.‬ ‭ ‬‭main() function is mandatory for any program and‬‭it includes two parts, the‬ ⮚ ‭declaration part and the executable part.‬ ‭ ‬‭The last section, i.e. sub-program section is optional‬‭and used when we require‬ ⮚ ‭including user defined functions in the program.‬ ‭First C Program‬ ‭ efore starting the abcd of C language, you need to learn how to write, compile and run the first‬ B ‭c program.‬ ‭To write the first c program, open the C console and write the following code:‬ 1‭. #include ‬ ‭2. #include ‬ ‭3.‬‭void‬‭main(){‬ 4‭. printf(‬‭"Hello C Language"‬‭);‬ ‭5. getch();‬ ‭6. }‬ #‭ include ‬‭includes the‬‭standard input output‬‭library functions. The printf() function‬ ‭is defined in stdio.h.‬ #‭ include ‬‭includes the‬‭console input output‬‭library functions. The getch() function is‬ ‭defined in conio.h file.‬ v‭ oid main()‬‭The‬‭main() function is the entry point‬‭of every program‬‭in c language. The void‬ ‭keyword specifies that it returns no value.‬ ‭printf()‬‭The printf() function is‬‭used to print data‬‭on the console.‬ g‭ etch()‬‭The getch() function‬‭asks for a single character‬‭.‬‭Until you press any key, it blocks the‬ ‭screen.‬ ‭C TOKENS‬‭:‬‭The smallest individual units are known‬‭as tokens. C has six types of‬ ‭tokens. 1: Identifiers‬ ‭C PROGRAMMING Page 18‬ ‭2: Keywords‬ ‭3: Constants‬ ‭4: Strings‬ ‭5: Special Symbols‬ ‭6: Operators‬ ‭Identifiers‬‭:‬ I‭ dentifiers refer to the names of variables, constants, functions and arrays. These are user-defined‬ ‭names is called Identifiers.‬‭These identifier are‬‭defined against a set of rules.‬ ‭Rules for an Identifier‬ ‭1. An Identifier can only have alphanumeric characters( a-z , A-Z , 0-9 ) and underscore( _ ).‬ ‭2. The first character of an identifier can only contain alphabet( a-z , A-Z ) or underscore ( _‬ ‭).‬ ‭3. Identifiers are also case sensitive in C. For example‬‭name‬‭and‬‭Name‬‭are two different‬ ‭identifier in C.‬ ‭4. Keywords are not allowed to be used as Identifiers.‬ ‭5. No special characters, such as semicolon, period, whitespaces, slash or comma are‬ ‭permitted to be used in or as Identifier.‬ ‭6. C‟ compiler recognizes only the first 31 characters of an identifiers.‬ ‭Ex : Valid Invalid‬ ‭STDNAME Return‬ ‭SUB $stay‬ ‭TOT_MARKS 1RECORD‬ ‭_TEMP STD NAME.‬ ‭Y2K‬ ‭C PROGRAMMING Page 19‬ ‭Keywords:‬ ‭A‬‭keyword‬‭is‬‭a‬‭reserved‬‭word‬‭.‬ ‭All‬‭keywords‬‭have‬‭fixed‬‭meaning‬‭that‬‭means‬‭we‬ c‭ annot‬ ‭change.‬ ‭Keywords‬ ‭serve‬ ‭as‬ ‭basic‬ ‭building‬ ‭blocks‬ ‭for‬‭program‬‭statements.‬‭All‬‭keywords‬ ‭must be written in lowercase.‬‭A‬‭list of 32 keywords‬‭in c language is given below:‬ ‭auto break case char const continue default do‬ ‭double enum else extern‬ ‭float for goto if int long return register signed short static sizeof struct‬ ‭switch typedef union unsigned void volatile while‬ ‭Note:‬‭Keywords we cannot use it as a variable name,‬‭constant name etc.‬ ‭Data Types/Types:‬ ‭∙‬ ‭To‬ ‭store‬ ‭data‬ ‭the‬ ‭program‬ ‭must‬ ‭reserve‬ ‭space‬ ‭which‬ ‭is‬ ‭done‬ ‭using‬ ‭datatype.‬ ‭A‬ ‭datatype‬‭is‬‭a‬ k‭ eyword/predefined‬ ‭instruction‬ ‭used‬ ‭for‬ ‭allocating‬ ‭memory‬ ‭for‬ ‭data.‬ ‭A‬ ‭data‬ ‭type‬‭specifies‬ ‭the‬ ‭type‬ ‭of‬ ‭data‬ ‭that‬ ‭a‬‭variable‬‭can‬‭store‬‭such‬‭as‬‭integer,‬‭floating,‬‭character‬‭etc‬‭.‬ ‭It‬‭used‬‭for‬ ‭declaring/defining variables or functions of different types before to use in a program.‬ ‭There are 4 types of data types in C language.‬ ‭C PROGRAMMING Page 20‬ ‭Types Data Types‬ ‭Basic Data Type‬ ‭int, char, float, double‬ ‭Derived Data Type‬ ‭array, pointer, structure, union‬ ‭Enumeration Data Type‬ ‭enum‬ ‭Void Data Type‬ ‭void‬ ‭Note: We call Basic or Primary data type.‬ ‭ he‬‭basic‬‭data‬‭types‬‭are‬‭integer-based‬‭and‬‭floating-point‬‭based.‬‭C‬‭language‬‭supports‬‭both‬‭signed‬ T ‭and‬‭unsigned‬‭literals.‬‭The‬‭memory‬‭size‬‭of‬‭basic‬‭data‬‭types‬‭may‬‭change‬‭according‬‭to‬‭32‬‭or‬‭64‬‭bit‬ ‭operating‬ ‭system.‬ ‭Let‟s‬ ‭see‬ ‭the‬ ‭basic‬ ‭data‬ ‭types.‬ ‭Its‬ ‭size‬ ‭is‬ ‭given‬ ‭according‬ ‭to‬ ‭32‬ ‭bit‬ ‭architecture‬‭.‬ ‭Size and Ranges of Data Types with Type Qualifiers‬ ‭Type‬ ‭Size (bytes)‬ ‭Range‬ ‭Control String‬ ‭char or signed char‬ ‭1‬ ‭-128 to 127‬ ‭%c‬ ‭unsigned char‬ ‭1‬ ‭0 to 255‬ ‭%c‬ ‭C PROGRAMMING Page 21‬ ‭int or signed int‬ ‭2‬ ‭-32768 to 32767‬ ‭%d or %i‬ ‭unsigned int‬ ‭2‬ ‭0 to 65535‬ ‭%u‬ s‭ hort int or signed short‬ ‭1‬ ‭-128 to 127‬ ‭%d or %i‬ ‭int‬ ‭unsigned short int‬ ‭1‬ ‭0 to 255‬ ‭%d or %i‬ l‭ong int or signed long‬ ‭4‬ ‭-2147483648 to 2147483647‬ ‭%ld‬ ‭int‬ ‭unsigned long int‬ ‭4‬ ‭0 to 4294967295‬ ‭%lu‬ ‭float‬ ‭4‬ ‭3.4E-38 to 3.4E+38‬ ‭%f or %g‬ ‭double‬ ‭8‬ ‭1.7E-308 to 1.7E+308‬ ‭%lf‬ ‭long double‬ ‭10‬ ‭3.4E-4932 to 1.1E+4932‬ ‭%Lf‬ ‭Variables‬ ‭A‬ ‭variable‬ ‭is‬‭a‬‭name‬‭of‬‭memory‬‭location.‬‭It‬‭is‬‭used‬‭to‬‭store‬‭data.‬ ‭Variables‬‭are‬‭changeable,‬ ‭we‬ ‭can‬ ‭change‬ ‭value‬ ‭of‬ ‭a‬ ‭variable‬ ‭during‬ ‭execution‬ ‭of‬ ‭a‬ ‭program.‬ ‭.‬ ‭It‬ ‭can‬ ‭be‬ ‭reused‬ ‭many‬ ‭times.‬ ‭Note:‬‭Variable are nothing but identifiers.‬ ‭ ules to write variable names:‬ R ‭1. A variable name contains maximum of 30 characters/ Variable‬ ‭name must be upto 8 characters.‬ ‭2. A variable name includes alphabets and numbers, but it must start‬ ‭with an alphabet.‬ ‭3. It cannot accept any special characters, blank spaces except under‬ ‭score( _ ).‬ ‭4. It should not be a reserved word.‬ ‭Ex : i rank1 MAX min Student_name StudentName class_mark‬ ‭C PROGRAMMING Page 22‬ ‭Declaration‬ ‭of‬ ‭Variables‬ ‭:‬ ‭A‬ ‭variable‬ ‭can‬ ‭be‬ ‭used‬ ‭to‬ ‭store‬ ‭a‬ ‭value‬ ‭of‬ ‭any‬ ‭data‬ ‭type.‬‭The‬ d‭ eclaration‬ ‭of‬ ‭variables‬ ‭must‬ ‭be‬ ‭done‬ ‭before‬ ‭they‬ ‭are‬ ‭used‬ ‭in‬‭the‬‭program.‬‭The‬‭general‬‭format‬ ‭for declaring a variable.‬ ‭Syntax :‬‭data_type variable-1,variable-2,------, variable-n;‬ ‭Variables are separated by commas and declaration statement ends with a semicolon.‬ ‭Ex : int x,y,z;‬ ‭float a,b;‬ ‭char m,n;‬ ‭Assigning values to variables‬‭:‬‭values can be assigned to variables using the assignment‬ ‭operator (=). The general format statement is :‬ ‭Syntax‬‭: variable = constant;‬ ‭ x : x=100;‬ E ‭a= 12.25;‬ ‭m=‟f‟;‬ ‭ e can also assign a value to a variable at the time of the variable is declared. The general format‬ w ‭of declaring and assigning value to a variable is :‬ ‭Syntax :‬‭data_type variable = constant;‬ ‭ x ; int x=100;‬ E ‭float a=12.25;‬ ‭char m=‟f‟;‬ ‭Types of Variables in C‬ ‭There are many types of variables in c:‬ 1‭. local variable‬ ‭2. global variable‬ ‭3. static variable‬ ‭Constants‬ ‭Constants‬‭refer‬‭to fixed values that do not change‬‭during the execution of a program.‬ ‭Note: constants are also called literals.‬ ‭C PROGRAMMING Page 23‬ ‭ supports several kinds of constants‬‭.‬ C ‭CONSTANTS‬ ‭Numeric Constants‬ ‭Character Constants‬ ‭Integer Constants‬ ‭Real Constants‬ ‭Single Character Constants‬ ‭String Constants‬ ‭TYPES OF C CONSTANT:‬ ‭1. Integer constants‬ 2‭. Real or Floating point constants‬ ‭3. Character constants‬ ‭4. String constants‬ ‭5. Backslash character constants‬ ‭Integer constants:‬ ‭ n integer constant is a numeric constant (associated with number) without any fractional or‬ A ‭exponential part. There are three types of integer constants in C programming:‬ ∙‭‬‭decimal constant(base 10)‬ ‭∙‬‭octal constant(base 8)‬ ‭∙‬‭hexadecimal constant(base 16‬‭)‬ ‭For example:‬ ∙‭‬‭Decimal constants: 0, -9, 22 etc‬ ‭∙‬‭Octal constants: 021, 077, 033 etc‬ ‭∙‬‭Hexadecimal constants: 0x7f, 0x2a, 0x521 etc‬ ‭∙‬‭In C programming, octal constant starts with a 0‬‭and hexadecimal constant starts with a‬ ‭0x.‬ ‭C PROGRAMMING Page 24‬ ‭1: Decimal Integer‬‭:‬‭the rules for represent decimal‬‭integer.‬ a‭ ) Decimal Integer value which consist of digits from 0-9.‬ ‭b) Decimal Integer value with base 10.‬ ‭c) Decimal Integer should not prefix with 0.‬ ‭d) It allows only sign (+,-).‬ ‭e) No special character allowed in this integer.‬ ‭Ex : valid invalid‬ ‭7 $77‬ ‭77 077‬ ‭+77 7,777‬ ‭-77‬ ‭2 : Octal‬‭:‬‭An integer constants with base 8 is called‬‭octal. These rules are :‬ a‭ ) it consist of digits from 0 to 7.‬ ‭b) It should prefix with 0.‬ ‭c) It allows sign (+,-).‬ ‭d) No special character is allowed.‬ ‭EX : VALID INVALID‬ ‭0123‬‭123‬‭->‬‭it‬‭because‬‭no‬‭prefix‬‭with‬‭0‬ ‭+0123‬‭0128‬‭->‬‭because‬‭digits‬‭from‬‭0‬ ‭to 7. -0123‬ ‭3 : Hexadecimal :‬‭An integer constant with base value‬‭16 is called Hexadecimal.‬ ‭a) It consist of digits from 0-9,a-f(capital letters & small leters.‬ ‭ x : 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15‬ E ‭b) it should prefix with 0X or 0x.‬ ‭c) it allows sign (+,-).‬ ‭d) No special character is allowed.‬ ‭EX :‬‭OX1a, ox2f‬ ‭Floating point/Real constants:‬ ‭ floating point constant is a numeric constant that has either a fractional form or an exponent‬ A ‭form. For example‬‭:‬ ‭C PROGRAMMING Page 25‬ -‭2 ‭ ‬.0‬ ‭0.0000234‬ ‭-0.22E-5‬ ‭Note:‬‭E-5 = 10-‬‭5‬ ‭ eal Constants :‬‭Real constant is base 10 number,‬‭which is represented in decimal 0r‬ R ‭scientific/exponential notation.‬ ‭ eal Notation :‬‭The real notation is represented by‬‭an integer followed by a decimal point and‬ R ‭the fractional(decimal) part. It is possible to omit digits before or after the decimal point.‬ ‭ x : 15.25‬ E ‭.75‬ ‭30‬ ‭-9.52‬ ‭-92‬ ‭+.94‬ ‭Scientific/Exponential Notation‬‭:‬‭The general form‬‭of Scientific/Exponential notation is‬ ‭mantisha e exponent‬ ‭ he‬ ‭mantisha‬ ‭is‬ ‭either‬‭a‬‭real/floating‬‭point‬‭number‬‭expressed‬‭in‬‭decimal‬‭notation‬‭or‬‭an‬‭integer‬ T ‭and‬ ‭the‬ ‭exponent‬ ‭is‬ ‭an‬ ‭integer‬ ‭number‬ ‭with‬ ‭an‬ ‭optional‬ ‭sign.‬ ‭The‬ ‭character‬ ‭e‬ ‭separating‬ ‭the‬ ‭mantisha and the exponent can be written in either lowercase or uppercase.‬ ‭Ex : 1.5E-2‬ ‭100e+3‬ ‭-2.05e2‬ ‭Character Constant:‬ ‭ ingle Character Constant :‬‭A character constant is‬‭either a single alphabet, a single digit, a‬ S ‭single special symbol enclosed within single inverted commas.‬ a‭ ) it is value represent in „ „ (single quote).‬ ‭b) The maximam length of a character constant can be 1 character.‬ ‭EX : VALID INVALID‬ ‭„a‟ “12”‬ ‭C PROGRAMMING Page 26‬ „‭ A‟ „ab‟‬ ‭String constant :‬‭A‬‭string constant is a sequence‬‭of characters enclosed in double quote, the‬ ‭characters may be letters, numbers, special characters and blank space etc‬ ‭EX :‬‭“rama” , “a” , “+123” , “1-/a”‬ ‭"good" //string constant‬ ‭"" //null string constant‬ ‭" " //string constant of six white space‬ ‭"x" //string constant having single character.‬ ‭"Earth is round\n" //prints string with newline‬ ‭Escape characters or backslash characters:‬ a‭ ) \n newline‬ ‭b) \r carriage return‬ ‭c) \t tab‬ ‭d) \v vertical tab‬ ‭e) \b backspace‬ ‭f) \f form feed (page feed)‬ ‭g) \a alert (beep)‬ ‭h) \‟ single quote(„)‬ ‭i) \” double quote(“)‬ ‭j) \? Question mark (?)‬ ‭k) \\ backslash (\)‬ ‭Two ways to define constant in C‬ ‭There are two ways to define constant in C programming.‬ ‭1. const keyword‬ ‭2. #define preprocessor‬ ‭3.‬ ‭1) C const keyword‬ ‭The const keyword is used to define constant in C programming.‬ ‭1.‬‭const float‬‭PI=3.14;‬ ‭Now, the value of PI variable can't be changed.‬ ‭1. #include ‬ ‭2. #include ‬ ‭3.‬‭void‬‭main(){‬ ‭4.‬‭const float‬‭PI=3.14;‬ 5‭. clrscr();‬ ‭6. printf("The value of PI is: %f",PI);‬ ‭C PROGRAMMING Page 27‬ 7‭. getch();‬ ‭8. }‬ ‭Output:‬ ‭The value of PI is: 3.140000‬ ‭2) C #define preprocessor‬ ‭The #define preprocessor is also used to define constant.‬ ‭ #define‬ C ‭The #define preprocessor directive is used to define constant or micro substitution. It can use any‬ ‭basic data type.‬ ‭Syntax:‬ ‭#define token value‬ ‭Let's see an example of #define to define a constant.‬ ‭#include ‬ ‭1. #define PI 3.14‬ ‭2. main() {‬ ‭3. printf("%f",PI);‬ ‭4. }‬ ‭Output:‬ ‭3.140000‬ ‭Formatted and Unformatted Console I/O Functions‬‭.‬ ‭Input‬‭/‬‭Output‬‭(I/O)‬‭Functions‬‭:‬‭In‬‭„C‟‬‭language,‬‭two‬‭types‬‭of‬‭Input/Output‬‭functions‬‭are‬ a‭ vailable,‬ ‭and‬ ‭all‬ ‭input‬ ‭and‬ ‭output‬ ‭operations‬ ‭are‬ ‭carried‬ ‭out‬ ‭through‬ ‭function‬ ‭calls.‬ ‭Several‬ ‭functions‬ ‭are‬ ‭available‬ ‭for‬ ‭input‬ ‭/‬ ‭output‬ ‭operations‬ ‭in‬ ‭„C‟.‬ ‭These‬ ‭functions‬ ‭are‬ ‭collectively‬ ‭known as the standard i/o library.‬ ‭Input:‬‭In any programming language input means to‬‭feed some data into program. This can be‬ ‭given in the form of file or from command line.‬ ‭Output:‬‭In any programming language output means to‬‭display some data on screen, printer or‬ ‭in any file.‬ ‭The Standard Files‬ ‭C‬‭programming‬‭treats‬‭all‬‭the‬‭devices‬‭as‬‭files.‬‭So‬‭devices‬‭such‬‭as‬‭the‬‭display‬‭are‬‭addressed‬‭in‬‭the‬ s‭ ame‬ ‭way‬ ‭as‬ ‭files‬ ‭and‬ ‭the‬ ‭following‬ ‭three‬ ‭files‬ ‭are‬ ‭automatically‬ ‭opened‬ ‭when‬ ‭a‬ ‭program‬ ‭executes to provide access to the keyboard and screen.‬ ‭Standard File‬ ‭File Pointer‬ ‭Device‬ ‭Standard input‬ ‭stdin‬ ‭Keyboard‬ ‭C PROGRAMMING Page 28‬ ‭Standard output‬ ‭stdout‬ ‭Screen‬ ‭Standard error‬ ‭stderr‬ ‭Your screen‬ ‭Input / Output functions are classified into two types‬ ‭I / O Functions‬ ‭Formated I/O Functions‬ ‭Unformated‬ ‭I/O Functions‬ I‭ nput‬ ‭Output‬ ‭Output‬ ‭getc() putc() getchar()‬ ‭putchar()‬‭gets() puts()‬ ‭getch()‬ ‭scanf() print()‬ ‭fscanf() fprintf()‬ ‭getche()‬ ‭Input‬.‭‬ ‭Formated I/O Functions‬‭:‬‭formatted I/O functions operates‬ ‭on‬ ‭various types of data.‬ ‭1‬ ‭:‬ ‭printf()‬ ‭:‬ ‭output‬ ‭data‬ ‭or‬ ‭result‬ ‭of‬ ‭an‬ ‭operation‬ ‭can‬ ‭be‬ d‭ isplayed‬ ‭from‬ ‭the‬ ‭computer‬ ‭to‬ ‭a‬ ‭standard‬ ‭output‬ ‭device‬ ‭using‬ ‭the‬ ‭library‬ ‭function‬ ‭printf().‬ ‭This‬ ‭function‬ ‭is‬ ‭used‬ ‭to‬ ‭print‬ ‭any combination of data.‬ ‭Syntax :‬‭printf(“control string “, variable1, variable2, -----------, variablen);‬ ‭Ex :‬‭printf(“%d”,3977); //‬‭Output‬‭: 3977‬ ‭printf() statement another syntax :‬ ‭Syntax‬‭:‬‭printf(‬‭“fomating string”);‬ ‭Formating string‬‭:‬‭it prints all the character given‬‭in doublequotes (“ “) except formatting‬ ‭specifier.‬ ‭C PROGRAMMING Page 29‬ ‭Ex : printf(“ hello “);-> hello‬ ‭printf(“a”); -> a‬ ‭printf(“%d”, a); -> a value‬ ‭printf(“%d”); -> no display‬ ‭scanf() :‬‭input data can be entered into the computer‬‭using the standard input „C‟ library‬ ‭function called scanf(). This function is used to enter any combination of input.‬ ‭Syntax :‬‭scanf(“control string “,&var1, &var2,----,‬‭&varn);‬ ‭The scanf() function is used to read information from the standard input device (keyboard).‬ ‭Ex : scanf(“ %d “,&a);-> hello‬ ‭ ach variable name (argument) must be preceeded by an ampersand (&). The (&) symbol gives‬ E ‭the meaning “address of “ the variable.‬ ‭Unformatted I/O functions:‬ ‭a) Character I/O‬ ‭b) String I/O‬ ‭a) character I/O:‬ ‭. getchar(): Used to read a character from the standard input‬ 1 ‭2. putchar(): Used to display a character to standard output‬ ‭3. getch() and getche(): these are used to take the any alpha numeric characters‬ ‭from the standard input‬ ‭getche() read and display the character‬ ‭getch() only read the single character but not display‬ ‭4. putch(): Used to display any alpha numeric characters to standard‬ ‭output‬‭a) String I/O:‬ ‭1. gets(): Used for accepting any string from the standard input(stdin) eg:gets()‬ ‭. puts(): Used to display a string or character array Eg:puts() 3.‬ 2 ‭Cgets():read a string from the console eg; cgets(char *st) 4.‬ ‭Cputs():display the string to the console eg; cputs(char *st)‬ ‭ PROGRAMMING Page 30‬ C ‭ PERATORS AND EXPRESSIONS:‬ O ‭Operators :‬‭An operator is a Symbol that performs‬‭an operation. An operators acts some‬ ‭variables are called operands to get the desired result.‬ ‭ x : a+b;‬ E ‭Where a,b are operands and + is the operator.‬ ‭Types of Operator :‬ ‭1) Arithmetic Operators.‬ ‭2) Relational Operators.‬ ‭3) Logical Operators.‬ ‭4) Assignment Operators.‬ ‭5). Unary Operators.‬ ‭6) Conditional Operators.‬ ‭7) Special Operators.‬ ‭8) Bitwise Operators.‬ ‭9) Shift Operators.‬ ‭Arithmetic Operators‬ ‭ n arithmetic operator performs mathematical operations such as addition, subtraction and‬ A ‭multiplication on numerical values (constants and variables).‬ ‭C Program to demonstrate the working of arithmetic operators‬ ‭#include ‬ ‭void main()‬ ‭{‬ ‭int a = 9,b = 4, c;‬ c‭ = a+b;‬ ‭printf("a+b = %d \n",c);‬ c‭ = a-b;‬ ‭printf("a-b = %d \n",c);‬ c‭ = a*b;‬ ‭printf("a*b = %d \n",c);‬ c‭ =a/b;‬ ‭printf("a/b = %d \n",c);‬ c‭ =a%b;‬ ‭printf("Remainder when a divided by b = %d \n",c);‬ ‭}‬ ‭C PROGRAMMING Page 31‬ ‭ utput‬ O ‭a+b = 13‬ ‭a-b = 5‬ ‭a*b = 36‬ ‭a/b = 2‬ ‭Remainder when a divided by b=1‬ ‭Relational Operators‬‭.‬‭A relational operator checks‬‭the relationship between two operands.‬ ‭If the relation is true, it returns 1; if the relation is false, it returns value 0.‬ ‭Operands may be variables, constants or expressions.‬ ‭Relational operators are used in‬‭decision making‬‭and‬‭loops‬‭.‬ ‭Operator‬ ‭Meaning‬ ‭Example‬ ‭Return value‬ ‭ 9‬ ‭0‬ ‭> =‬ i‭s greater than or equal‬ ‭3 > = 2‬ ‭1‬ ‭to‬ ‭= =‬ ‭is equal to‬ ‭2 = = 3‬ ‭0‬ ‭!=‬ ‭is not equal to‬ ‭2!=2‬ ‭0‬ ‭// C Program to demonstrate the working of relational operators‬ ‭#include ‬ ‭int main()‬ ‭{‬ ‭int a = 5, b = 5, c = 10;‬ ‭printf("%d == %d = %d \n", a, b, a == b); // true‬ ‭printf("%d == %d = %d \n", a, c, a == c); // false‬ ‭printf("%d > %d = %d \n", a, b, a > b); //false‬ ‭printf("%d > %d = %d \n", a, c, a > c); //false‬ ‭C PROGRAMMING Page 32‬ ‭printf("%d < %d = %d \n", a, b, a < b); //false‬ ‭printf("%d < %d = %d \n", a, c, a < c); //true‬ ‭printf("%d != %d = %d \n", a, b, a != b); //false‬ ‭printf("%d != %d = %d \n", a, c, a != c); //true‬ ‭printf("%d >= %d = %d \n", a, b, a >= b); //true‬ ‭printf("%d >= %d = %d \n", a, c, a >= c); //false‬ ‭printf("%d b) equals to %d \n", result);‬ ‭result = (a = b) && (c < b);‬ ‭printf("(a = b) && (c < b) equals to %d \n", result);‬ ‭result = (a = b) || (c < b);‬ ‭printf("(a = b) || (c < b) equals to %d \n", result);‬ ‭result = (a != b) || (c < b);‬ ‭printf("(a != b) || (c < b) equals to %d \n", result);‬ ‭result = !(a != b);‬ ‭printf("!(a == b) equals to %d \n", result);‬ ‭result = !(a == b);‬ ‭printf("!(a == b) equals to %d \n", result);‬ ‭return 0;‬ ‭}‬ ‭Output‬ ‭(a = b) && (c > b) equals to 1‬ ‭(a = b) && (c < b) equals to 0‬ ‭(a = b) || (c < b) equals to 1‬ ‭C PROGRAMMING Page 35‬ ‭(a != b) || (c < b) equals to 0‬ ‭!(a != b) equals to 1‬ ‭!(a == b) equals to 0‬ ‭Assignment Operators.‬‭Assignment operators are used‬‭to assign a value (or) an expression‬ ‭(or) a value of a variable to another variable.‬ ‭Syntax :‬‭variable name=expression (or) value (or)‬‭variable‬ ‭ x : x=10;‬ E ‭y=a+b;‬ ‭z=p;‬ ‭Compound assignment operator:‬ „‭ C‟ provides compound assignment operators to assign a value to variable in order to assign a‬ ‭new value to a variable after performing a specified operation.‬ ‭Operator‬ ‭Example‬ ‭Meaning‬ ‭+ =‬ ‭x + = y‬ ‭x=x+y‬ ‭- =‬ ‭x - = y‬ ‭x=x-y‬ ‭* =‬ ‭x * = y‬ ‭x=x*y‬ ‭/ =‬ ‭x / = y‬ ‭x=x/y‬ ‭% =‬ ‭x % = y‬ ‭X=x%y‬ ‭// C Program to demonstrate the working of assignment operators‬ ‭#include ‬ ‭int main()‬ ‭{‬ ‭int a = 5, c;‬ ‭c = a;‬ ‭C PROGRAMMING Page 36‬ ‭printf("c = %d \n", c);‬ ‭c += a; // c = c+a‬ ‭printf("c = %d \n", c);‬ ‭c -= a; // c = c-a‬ ‭printf("c = %d \n", c);‬ ‭c *= a; // c = c*a‬ ‭printf("c = %d \n", c);‬ ‭c /= a; // c = c/a‬ ‭printf("c = %d \n", c);‬ ‭c %= a; // c = c%a‬ ‭printf("c = %d \n", c);‬ ‭return 0;‬ ‭}‬ ‭Output‬ ‭c = 5‬ ‭c = 10‬ ‭c = 5‬ ‭c = 25‬ ‭c = 5‬ ‭c = 0‬ ‭Increment and Decrement Operators /Unary Operators:‬ ‭C PROGRAMMING Page 37‬ ‭ nary operators are having higher priority than the other operators.‬‭Unary operators‬‭, meaning‬ U ‭they only operate on a single operand.‬ ‭Increment Operator in C Programming‬ ‭1. Increment operator is used to increment the current value of variable by adding integer 1.‬ ‭2. Increment operator can be applied to only variables.‬ ‭3. Increment operator is denoted by ++.‬ ‭We have two types of increment operator i.e Pre-Increment and Post-Increment Operator‬‭.‬ ‭Pre-Increment‬ ‭ re-increment operator is used to increment the value of variable before using in the expression. In‬ P ‭the Pre-Increment value is first incremented and then used inside the expression.‬ ‭b = ++y;‬ I‭ n this example suppose the value of variable „y‟ is 5 then value of variable „b‟ will be 6 because‬ ‭the value of „y‟ gets modified before using it in a expression‬‭.‬ ‭Post-Increment‬ ‭ ost-increment‬ ‭operator‬ ‭is‬ ‭used‬ ‭to‬ ‭increment‬ ‭the‬ ‭value‬ ‭of‬ ‭variable‬ ‭as‬ ‭soon‬ ‭as‬ ‭after‬ ‭executing‬ P ‭expression‬‭completely‬‭in‬‭which‬‭post‬‭increment‬‭is‬‭used.‬‭In‬‭the‬‭Post-Increment‬‭value‬‭is‬‭first‬‭used‬ ‭in a expression and then incremented.‬ ‭b = x++;‬ I‭ n this example suppose the value of variable „x‟ is 5 then value of variable „b‟ will be 5 because‬ ‭old value of „x‟ is used.‬ ‭Note :‬ ‭ e‬‭cannot‬‭use‬‭increment‬‭operator‬‭on‬‭the‬‭constant‬‭values‬‭because‬‭increment‬‭operator‬‭operates‬‭on‬ W ‭only‬‭variables.‬‭It‬‭increments‬‭the‬‭value‬‭of‬‭the‬‭variable‬‭by‬‭1‬‭and‬‭stores‬‭the‬‭incremented‬‭value‬‭back‬ ‭to the variable‬ ‭C PROGRAMMING Page 38‬ ‭b = ++5;‬ ‭or‬ ‭b = 5++;‬ ‭The‬‭syntax‬‭of the operators is given below.‬ ‭ + --‬ + ‭++ --‬ ‭The operator ++ adds 1 to the operand and – subtracts 1 from the operand. These operators in‬ ‭two forms : prefix (++x) and postfix(x++).‬ ‭Operator‬ ‭Meaning‬ ‭++x‬ ‭Pre increment‬ ‭- -x‬ ‭Pre decrement‬ ‭x++‬ ‭Post increment‬ ‭x--‬ ‭Post decrement‬ ‭ here‬ W ‭1 : ++x : Pre increment, first increment and then do the operation.‬ ‭2 : - -x : Pre decrement, first decrements and then do the operation.‬ ‭3 : x++ : Post increment, first do the operation and then increment.‬ ‭4 : x- - : Post decrement, first do the operation and then decrement.‬ /‭/ C Program to demonstrate the working of increment and decrement‬ ‭operators #include ‬ ‭int main()‬ ‭{‬ ‭int a = 10, b = 100;‬ ‭float c = 10.5, d = 100.5;‬ ‭printf("++a = %d \n", ++a);‬ ‭printf("--b = %d \n", --b);‬ ‭printf("++c = %f \n", ++c);‬ ‭printf("--d = %f \n", --d);‬ ‭return 0;‬ ‭}‬ ‭ utput‬ O ‭++a = 11‬ ‭--b = 99‬ ‭++c = 11.500000‬ ‭++d = 99.500000‬ ‭C PROGRAMMING Page 39‬ ‭Multiple increment operators inside printf‬ #‭ include‬ ‭void‬‭main() {‬ ‭int‬‭i = 1;‬ ‭printf("%d %d %d", i, ++i, i++);‬ ‭}‬ ‭Output : 3 3 1‬ ‭Pictorial representation‬ ‭Explanation of program‬ ‭I am sure you will get confused after viewing the above image and output of program.‬‭1.‬ ‭Whenever more than one format specifiers (i.e %d) are directly or indirectly related with‬ s‭ ame variable (i,i++,++i) then we need to evaluate each individual expression from right‬ ‭to‬ ‭left.‬ ‭2.‬‭As shown in the above image evaluation sequence‬‭of expressions written inside printf‬ ‭will be – i++,++i,i‬ ‭3.‬‭After execution we need to replace the output of‬‭expression at appropriate place‬ ‭No‬ ‭Step‬ ‭Explanation‬ ‭1‬ ‭ valuate‬ E ‭At the time of execution we will be using older value of i = 1‬ ‭i++‬ ‭2‬ ‭ valuate‬ E ‭ t the time of execution we will be increment value already modified‬ A ‭++i‬ ‭after‬ ‭step 1 i.e i = 3‬ ‭2‬ ‭Evaluate i‬ ‭At the time of execution we will be using value of i modified in step 2‬ ‭C PROGRAMMING Page 40‬ ‭ ostfix and Prefix Expression in Same Statement‬ P ‭#include‬ ‭#include‬ ‭void main() {‬ ‭int i = 0, j = 0;‬ ‭j = i++ + ++i;‬ ‭printf("%d\n", i);‬ ‭printf("%d\n", j);‬ ‭}‬ ‭Output :‬ ‭‬ 2 ‭2‬ ‭Explanation of Program‬ ‭Conditional Operator/ Ternary operator:‬ c‭ onditional operator checks the condition and executes the statement depending of the condition.‬ ‭A conditional operator is a ternary operator, that is, it works on 3 operands. Conditional operator‬ ‭consist of two symbols.‬ 1‭ : question mark (?).‬ ‭2 : colon ( : ).‬ ‭C PROGRAMMING Page 41‬ ‭Syntax‬‭: condition ? exp1 : exp2;‬ ‭It first evaluate the condition, if it is true (non-zero) then the “exp1” is evaluated, if the‬ ‭condition is false (zero) then the “exp2” is evaluated.‬ #‭ include ‬ ‭int main(){‬ ‭char February;‬ ‭int days;‬ ‭printf("If this year is leap year, enter 1. If not enter any integer: ");‬ ‭scanf("%c",&February);‬ ‭// If test condition (February == 'l') is true, days equal to 29.‬ ‭// If test condition (February =='l') is false, days equal to 28.‬ ‭days = (February == '1') ? 29 : 28;‬ ‭printf("Number of days in February = %d",days);‬ ‭return 0;‬ ‭}‬ ‭Output‬ I‭ f this year is leap year, enter 1. If not enter any integer: 1‬ ‭Number of days in February = 29‬ ‭Bitwise Operators:‬ ‭ itwise‬ ‭operators‬ ‭are‬ ‭used‬ ‭to‬ ‭manipulate‬ ‭the‬ ‭data‬ ‭at‬ ‭bit‬ ‭level.‬ ‭It‬ ‭operates‬ ‭on‬‭integers‬‭only.‬‭It‬ B ‭may‬ ‭not‬ ‭be‬ ‭applied‬ ‭to‬ ‭float.‬‭In‬ ‭arithmetic-logic‬ ‭unit‬ ‭(which‬ ‭is‬ ‭within‬ ‭the‬ ‭CPU),‬ ‭mathematical‬ ‭ perations‬ ‭like:‬ ‭addition,‬ ‭subtraction,‬ ‭multiplication‬ ‭and‬ ‭division‬ ‭are‬ ‭done‬ ‭in‬ ‭bit-level‬ ‭which‬ o ‭makes‬ ‭processing‬ ‭faster‬ ‭and‬ ‭saves‬ ‭power.‬ ‭To‬ ‭perform‬ ‭bit-level‬ ‭operations‬ ‭in‬‭C‬‭programming,‬ ‭bitwise operators are used.‬ ‭Operator‬ ‭Meaning‬ ‭&‬ ‭Bitwise AND‬ ‭|‬ ‭Bitwise OR‬ ‭^‬ ‭Bitwise XOR‬ ‭< >‬ ‭Shift right‬ ‭~‬ ‭One‟s complement.‬ ‭Bitwise AND operator &‬ ‭ he output of bitwise AND is 1 if the corresponding bits of two operands is 1. If either bit of an‬ T ‭operand is 0, the result of corresponding bit is evaluated to 0.‬ ‭ et us suppose the bitwise AND operation of two integers 12 and 25.‬ L ‭12 = 00001100 (In Binary)‬ ‭25 = 00011001 (In Binary)‬ ‭C PROGRAMMING Page 42‬ ‭Bit Operation of 12 and 25‬ ‭00001100‬ ‭& 00011001‬ ‭________‬ ‭00001000 = 8 (In decimal)‬ ‭Example #1: Bitwise AND‬ #‭ include ‬ ‭int main()‬ ‭{‬ ‭int a = 12, b = 25;‬ ‭printf("Output = %d", a&b);‬ ‭return 0;‬ ‭}‬ ‭Output‬ ‭Output =8‬ ‭Bitwise OR operator |‬ ‭ he output of bitwise OR is 1 if at least one corresponding bit of two operands is 1. In C‬ T ‭Programming, bitwise OR operator is denoted by |.‬ ‭12 = 00001100 (In Binary)‬ ‭25 = 00011001 (In Binary)‬ ‭Bitwise OR Operation of 12 and 25‬ ‭00001100‬ ‭| 00011001‬ ‭________‬ ‭00011101 = 29 (In decimal)‬ ‭Example #2: Bitwise OR‬ ‭#include ‬ ‭int main()‬ ‭{‬ ‭int a = 12, b = 25;‬ ‭printf("Output = %d", a|b);‬ ‭return 0;‬ ‭C PROGRAMMING Page 43‬ ‭}‬ ‭Output‬ ‭Output =29‬ ‭Bitwise XOR (exclusive OR) operator ^‬ ‭ he result of bitwise XOR operator is 1 if the corresponding bits of two operands are opposite. It‬ T ‭is denoted by ^.‬ ‭12 = 00001100 (In Binary)‬ ‭25 = 00011001 (In Binary)‬ ‭Bitwise XOR Operation of 12 and 25‬ ‭00001100‬ ‭| 00011001‬ ‭________‬ ‭00010101 = 21 (In decimal)‬ ‭Example #3: Bitwise XOR‬ ‭#include ‬ ‭int main()‬ ‭{‬ ‭int a = 12, b = 25;‬ ‭printf("Output = %d", a^b);‬ ‭return 0;‬ ‭}‬ ‭Output‬ ‭Output = 21‬ ‭Bitwise complement operator ~‬ ‭ itwise compliment operator is an unary operator (works on only one operand). It changes 1 to 0‬ B ‭and 0 to 1. It is denoted by ~.‬ ‭35 = 00100011 (In Binary)‬ ‭Bitwise complement Operation of 35‬ ‭C PROGRAMMING Page 44‬ ‭~ 00100011‬ ‭________‬ ‭11011100 = 220 (In decimal)‬ ‭Twist in bitwise complement operator in C Programming‬ ‭The bitwise complement of 35 (~35) is -36 instead of 220, but why?‬ ‭ or any integer‬‭n‬‭, bitwise complement of‬‭n‬‭will be‬‭-(n+1)‬‭. To understand this, you should have‬ F ‭the knowledge of 2's complement‬‭.‬ ‭2's Complement‬ ‭ wo's complement is an operation on binary numbers. The 2's complement of a number is equal‬ T ‭to the complement of that number plus 1. For example:‬ ‭Decimal Binary 2's complement‬ ‭0 00000000 -(11111111+1) = -00000000 = -0(decimal)‬ ‭1 00000001 -(11111110+1) = -11111111 = -256(decimal)‬ ‭12 00001100 -(11110011+1) = -11110100 = -244(decimal) 220‬ ‭11011100 -(00100011+1) = -00100100 = -36(decimal)‬ ‭Note: Overflow is ignored while computing 2's complement.‬ ‭ he bitwise complement of 35 is 220 (in decimal). The 2's complement of 220 is -36. Hence, the‬ T ‭output is -36 instead of 220.‬ ‭Bitwise complement of any number N is -(N+1). Here's how:‬ ‭bitwise complement of N = ~N (represented in 2's complement form)‬ ‭2'complement of ~N= -(~(~N)+1) = -(N+1)‬ ‭Example #4: Bitwise complement‬ ‭#include ‬ ‭C PROGRAMMING Page 45‬ ‭int main()‬ ‭{‬ ‭printf("complement = %d\n",~35);‬ ‭printf("complement = %d\n",~-12);‬ ‭return 0;‬ ‭}‬ ‭Output‬ ‭Complement = -36‬ ‭Complement = 11‬ ‭There are two Bitwise shift operators in C programming:‬ ∙‭‬‭Right shift operator‬ ‭∙‬‭Left shift operator.‬ ‭Right Shift Operator‬ ‭ ight shift operator shifts all bits towards right by certain number of specified bits. It is denoted‬ R ‭by >>.‬ ‭Left Shift Operator‬ ‭ eft shift operator shifts all bits towards left by certain number of specified bits. It is denoted by‬ L ‭=‬ ‭Relational Operator‬ ‭6‬ ‭L-R (left to right)‬ ‭ =‬ = ‭ quality‬ E ‭7‬ ‭L-R (left to right)‬ ‭!=‬ ‭Inequality‬ ‭&‬ ‭Bitwise AND‬ ‭8‬ ‭L-R (left to right)‬ ‭^‬ ‭Bitwise XOR‬ ‭9‬ ‭L-R (left to right)‬ ‭|‬ ‭Bitwise OR‬ ‭10‬ ‭L-R (left to right)‬ ‭&&‬ ‭Logical AND‬ ‭11‬ ‭L-R (left to right)‬ ‭| |‬ ‭Logical OR‬ ‭12‬ ‭L-R (left to right)‬ ‭?:‬ ‭Conditional‬ ‭13‬ ‭R-L (right to left)‬ ‭ *= /= %=‬ ‭Assignment operator‬ = ‭14‬ ‭R-L (right to left)‬ ‭+= -= &= ^=‬ ‭=‬ ‭,‬ ‭Comma operator‬ ‭15‬ ‭L-R (left to right)‬ ‭Type Conversion/Type casting:‬ ‭ ype conversion is used to convert variable from one data type to another data type, and after‬ T ‭type casting complier treats the variable as of new data type.‬ ‭For example, if you want to store a 'long' value into a simple integer then you can type cast‬ ‭'long' to 'int'. You can convert the values from one type to another explicitly using the‬‭cast‬ ‭operator.‬‭Type conversions can be implicit which is‬‭performed by the compiler automatically,‬ ‭or it can be specified explicitly through the use of the cast operator.‬ ‭ yntax:‬ S ‭(type_name) expression;‬ ‭Without Type Casting:‬ 1‭.‬‭int‬‭f= 9/4;‬ ‭2. printf(‬‭"f : %d\n"‬‭, f );‬‭//Output: 2‬ ‭With Type Casting:‬ 1‭.‬‭float‬‭f=(‬‭float‬‭) 9/4;‬ ‭2. printf(‬‭"f : %f\n"‬‭, f );‬‭//Output: 2.250000‬ ‭Example:‬ ‭#include ‬ ‭int main()‬ ‭C PROGRAMMING Page 50‬ ‭{‬ ‭printf( "%c\n", (char)65 );‬ ‭getchar();‬ ‭}‬ ‭or‬ ‭Type Casting - C Programming‬ ‭ ype‬ ‭casting‬ ‭refers‬ ‭to‬ ‭changing‬ ‭an‬ ‭variable‬ ‭of‬ ‭one‬ ‭data‬ ‭type‬ ‭into‬ ‭another.‬ ‭The‬ ‭compiler‬ ‭will‬ T ‭automatically‬‭change‬‭one‬‭type‬‭of‬‭data‬‭into‬‭another‬‭if‬‭it‬‭makes‬‭sense.‬‭For‬‭instance,‬‭if‬‭you‬‭assign‬ ‭an‬ ‭integer‬ ‭value‬‭to‬‭a‬‭floating-point‬‭variable,‬‭the‬‭compiler‬‭will‬‭convert‬‭the‬‭int‬‭to‬‭a‬‭float.‬‭Casting‬ ‭allows‬ ‭you‬ ‭to‬ ‭make‬ ‭this‬ ‭type‬ ‭conversion‬ ‭explicit,‬ ‭or‬ ‭to‬ ‭force‬ ‭it‬ ‭when‬ ‭it‬ ‭wouldn‟t‬ ‭normally‬ ‭happen.‬ ‭Type conversion in c can be classified into the following two types:‬ ‭1.‬‭Implicit Type Conversion‬ ‭When the type conversion is performed automatically by the compiler without programmers‬ ‭intervention, such type of conversion is known as implicit type conversion or type promotion.‬ ‭int x;‬ ‭for(x=97; x

Use Quizgecko on...
Browser
Browser