The famous book The C Programming Language was written by Kernighan and. Ritchie in .. There are quite a number of format specifiers for printf. Here are. The first chapter deals with the fundamental concepts of C language. The second . The formatted input/output functions read and write all types of values. Input. C Programming Notes. Introductory C Programming Class Notes, Chapter 1. Steve Summit. These notes are part of the UW Experimental College course on.
|Language:||English, Spanish, Portuguese|
|ePub File Size:||16.70 MB|
|PDF File Size:||15.41 MB|
|Distribution:||Free* [*Register to download]|
C is a programming language developed at AT & T's Bell Laboratories of USA . The final linked file, which is in an executable object code format, is stored in .. Notes: Do while loop used rarely when we want to execute a loop at least once. C is a general-purpose, procedural, imperative computer programming enough understanding on C programming language from where you can take yourself. C Programming ronaldweinland.info - Download as PDF File .pdf), Text File .txt) or read function which will format and print output on the terminal (unless some other.
Free pdf notes on c language This course note is an introduction to programming in C. Students with little or no programming. It is interesting to note, however, that even though it did not have a standard, the differences. If there is a place where a goto will be best, feel free to use it. It should not be.
Header files would be included in source files by the compiler at the time of compilation. Header files are included in source code using include directive.
A header file may contain declarations of sub-routines, functions, macros and also variables which we may wantto use in our program. Header files help in reduction of repetitive code. Syntax of include directive: But it is recommended only to declare functions and not to define in the header files. When we include a header file in our program we actually are including all the functions, macros and variables declared in it.
In case of pre-defined C standard library header files ex stdio. Code for C standard functions are linked and then the program is executed. Header files with custom names can also be created. What are the differences between formal arguments and actual arguments of a function? An argument is an expression which is passed to a function by its caller or macro by its invoker in order for the function or macro to perform its task.
It is an expression in the comma-separated list bound by the parentheses in a function call expression. Actual arguments: The arguments that are passed in a function call are called actual arguments.
These arguments are defined in the calling function. Formal arguments: The scope of formal arguments is local to the function definition in which they are used.
Formal arguments belong to the called function. Formal arguments are a copy of the actual arguments. A change in formal arguments would not be reflected in the actual arguments. What is pass by reference in functions? Pass by Reference: In this method, the addresses of actual arguments in the calling function are copied into formal arguments of the called function. This means that using these addresses, we would have an access to the actual arguments and hence we would be able to manipulate them.
C does not support Call by reference. But it can be simulated using pointers. In the main function, address of variables m, n are sent as arguments to the function 'swap'. As swap function has the access to address of the arguments, manipulation of passed arguments inside swap function would be directly reflected in the values of m, n.
What is pass by value in functions? Pass by Value: In this method, the value of each of the actual arguments in the calling function is copied into corresponding formal arguments of the called function. In pass by value, the changes made to formal arguments in the called function have no effect on the values of actual arguments in the calling function. In the main function, value of variables m, n are not changed though they are passed to function 'swap'.
Swap function has a copy of m, n and hence it can not manipulate the actual value of arguments passed to it. Out of the functions fgets and gets , which one is safer to use and why? Out of functions fgets and gets , fgets is safer to use. There is no limit for the input string. The string can be too long and may lead to buffer overflow. The function fgets takes three arguments. First argument: Second argument: Third argument: Thereby it avoids overflow of input buffer. Thus fgets is preferable to gets.
What are the differences between getchar and scanf functions for reading strings? Differences between getchar and scanf functions for reading strings: What is the difference between the functions strdup and strcpy? In strcpy function both source and destination strings are passed as arguments. User should make sure that destination has enough space to accommodate the string to be copied.
If successful, strcpy subroutine returns the address of the copied string. Otherwise, a null pointer is returned. Example Program: This is because string 'myname' is declared to be of size 10 characters only.
In the above program, string "nodalo" is copied in myname and is printed on output screen. Function will copy the contents of string to certain memory location and returns the address to that location. Function returns address of the memory location where the string has been copied. In case free space could not be created then it returns a null pointer.
Program to illustrate strdup. String myname consists of "interviewmantra. Contents of myname are copied in a memory address and memory is assigned to name. At the end of the program, memory can be freed using free name ; What is a pointer in C?
A pointer is a special variable in C language meant just to store address of any other variable or function. It follows a special arithmetic called as pointer arithmetic. A pointer is declared as: A pointer to an integer with name ap was declared. The pointer ap is now said to point to a. This operator gives the value at the address pointed by the pointer. That is because ap points to a. Pointer arithmetic is different from ordinary arithmetic. Here ap is pointing to an integer variable hence ap is incremented by 2 or 4 bytes depending upon the compiler.
What are the advantages of using pointers? Pointers are special variables which store address of some other variables. Pointers allow us to pass values to functions using call by reference. This is useful when large sized arrays are passed as arguments to functions. A function can return more than one value by using call by reference.
Dynamic allocation of memory is possible with the help of pointers. We can resize data structures. For instance, if an array's memory is fixed, it cannot be resized.
But in case of an array whose memory is created out of malloc can be resized. Pointers point to physical memory and allow quicker access to data. What is the equivalent pointer expression for referring an element a[i][j][k][l], in a four dimensional array? Consider a multidimensional array a[w][x][y][z]. Example program to illustrate pointer denotation of multi-dimensional arrays. This output may differ from computer to computer as the address locations are not same for every computer.
Declare an array of three function pointers where each function receives two integers and returns float. Here 'fn' is an array of function pointers. Each element of the array can store the address of function 'float add int, int '. Explain the variable assignment in the declaration Ans: Each function has two arguments which in turn are pointers to character type variable. Example program to explain function pointers.
In this program p is an array of function pointers. First five elements of p point to the function: They return pointer to an integer and accept pointer to char as arguments. Function average: Function sum: Here a is an array which holds the address of strings. Strings are character arrays themselves. Memory required to store an address is 4 bits. Explain each statement. A variable name can not be incremented or decremented.
Usually, name of an array points to its base address. Write a program to find factorial of the given number. A function is called 'recursive' if a statement within the body of a function calls the same function. Itis also called 'circular definition'. Recursion is thus a process of defining something in terms of itself.
To calculate the factorial value using recursion. Otherwise the program enters into an infinite loop. Write a program to check whether the given number is even or odd. Enter a: Example 1: If entered number is an odd number. Write a program to swap two numbers using a temporary variable. Swapping interchanges the values of two given variables. Enter the values of a and b: Write a program to swap two numbers without using a temporary variable.
Enter values of a and b: Write a program to swap two numbers using bitwise operators. Write a program to find the greatest of three numbers. Enter a,b,c: Write a program to find the greatest among ten numbers.
Enter ten values: Entered values are 2, 53, 65, 3, 88, 8, 14, 5, 77, 64 They are stored in an array of size Below loop is executed until end of the array 'a';.
If any value greater than the value of 'greatest' is encountered, it would be replaced by a[i]. After completion of 'for' loop, the value of variable 'greatest' holds the greatest number in the array.
In this case 88 is the greatest of all the numbers. Write a program to check whether the given number is a prime. A prime number is a natural number that has only one and itself as factors.
Enter any number n: Write a program to check whether the given number is a palindromic number. If a number, which when read in both forward and backward way is same, then such a number is called a palindrome number. Subscribe to free updates via email.
Thus the given number is a palindrome number. Write a program to check whether the given string is a palindrome. Palindrome is a string, which when read in both forward and backward way is same. Enter a string: To check if a string is a palindrome or not, a string needs to be compared with the reverse of itself. Consider a palindrome string: If any one of the above condition fails, flag is set to true 1 , which implies that the string is not a palindrome.
By default, the value of flag is false 0. Hence, if all the conditions are satisfied, the string is a palindrome. Write a program to generate the Fibonacci series.
Fibonacci series: Any number in the series is obtained by adding the previous two numbers of the series. Let f n be n'th term. The fibonacci series is as follows 3 21 34 Explanation: The first two elements are initialized to 0, 1 respectively. Other elements in the series are generated by looping and adding previous two numbes. These numbers are stored in an array and ten elements of the series are printed as output. Write a program to compare two strings without using strcmp function. Case 2: Strings to be compared are sent as arguments to cmpstr.
Each character in string1 is compared to its corresponding character in string2. Once the loop encounters a differing character in the strings, it would return the ascii difference of the differing characters and exit. Write a program to concatenate two strings without using strcat function.
Before concatenation: In strct function, using a for loop, all the characters of string 'c2' are copied at the end of c1. Write a program to display the multiplication table of a given number. Enter any Number: We need to multiply the given number i.
All above questions and answer are selected from www. Advanced Features and Interfacing Miscellaneous and advanced features: Graphics in C: What is the purpose of main function? In C, program execution starts from the main function. Every C program must contain a main function. The main function may contain any number of statements. These statements are executed sequentially in the order which they are written. The main function can in-turn call other functions. When main calls a function, it passes the execution control to that function.
The function returns control to main when a return statement is executed or when end of function is reached. In C, the function prototype of the 'main' is one of the following: Welcome to the world of C 2. Explain command line arguments of main function? In C, we can supply arguments to 'main' function. The arguments that we pass to main at command prompt are called command line arguments.
These arguments are supplied at the time of invoking the program. The main function can take arguments as: It represents the number of arguments in the command line. The second argument argv is known as 'argument vector'. It is an array of char type pointers that points to the command line arguments. Size of this array will be equal to the value of argc. Following are the arguments entered in the command line C: What are the differences between malloc and calloc?
Allocation of memory at the time of execution is called dynamic memory allocation. It is done using the standard library functions malloc and calloc. It is defined in "stdlib. It takes one argument, viz. It needs two arguments viz. Differences between malloc and calloc are: Number of arguments differ. By default, memory allocated by malloc contains garbage values.
Whereas memory allocated by calloc contains all zeros. How to use realloc to dynamically increase size of an already allocated array? This function is used to increase or decrease the size of any dynamic memory which is allocated using malloc or calloc functions. The second argument 'newsize' is the size in bytes, of a new memory region to be allocated by realloc.
This value can be larger or smaller than the previously allocated memory. The realloc function adjusts the old memory region if newsize is smaller than the size of old memory. If the newsize is larger than the existing memory size, it increases the size by copying the contents of old memory region to new memory region.
The function then deallocates the old memory region. In this case, dynamically allocated array can be used so that it is possible allocate the exact amount of memory using realloc function. Write a program to delete a specified line from a text file. In this program, user is asked for a filename he needs to change.
User is also asked for the line number that is to be deleted. The filename is stored in 'filename'.
The file is opened and all the data is transferred to another file except that one line the user specifies to delete. Program to delete a specific line. Enter file name: I am fine hope the same Enter line number of the line to be deleted: In this program, user is asked for a filename that needs to be modified. Entered file name is stored in a char array 'filename'. This file is opened in read mode using file pointer 'fp1'. Character 'c' is used to read characters from the file and print them to the output.
User is asked for the line number in the file to be deleted. The file pointer is rewinded back and all the lines of the file except for the line to be deleted are copied into another file "copy. Now "copy. The original file is opened in read mode and the modified contents of the file are displayed on the screen. Write a program to replace a specified line in a text file. Program to replace a specified line in a text file.
In this program, the user is asked to type the name of the file. The File by name entered by user is opened in read mode. The line number of the line to be replaced is asked as input. Next the data to be replaced is asked. A new file is opened in write mode named "copy. Now the contents of original file are transferred into new file and the line to be modified is deleted.
New data is stored in its place and remaining lines of the original file are Prepared by: The copied file with modified contents is replaced with the original file's name. Both the file pointers are closed and the original file is again opened in read mode and the contents of the original file is printed as output.
Write a program to find the number of lines in a text file. Number of lines in a file can be determined by counting the number of new line characters present. Program to count number of lines in a file. In this program, name of the file to be read is taken as input.
A file by the given name is opened in read-mode using a File pointer 'fp'. This process is continued until the last character of the file EOF is encountered.
The file pointer is then closed and the total number of lines is shown as output. Write a C program which asks the user for a number between 1 to 9 and shows the number. If the user inputs a number out of the specified range, the program should show an error and prompt the user for a valid input.
Program for accepting a number in a given range. Write a notes on graphics mode and video and graphics adapters. Graphics mode: Many video adapters support several different modes of resolution, all of which are divided into two general categories: Of the two modes, graphics mode is the more sophisticated. Programs that run in graphics mode can display an unlimited variety of shapes and fonts, whereas programs running in character mode are severely limited.
Programs that run entirely in graphics mode are called graphics-based programs. In character mode, the display screen is treated as an array of blocks, each of which can hold one ASCII character. In graphics mode, the display screen is treated as an array of pixels.
Characters and other shapes are formed by turning on combinations of pixels. Video adapter: A board that plugs into a personal computer to give it display capabilities. The display capabilities of a computer, however, depend on both the logical circuitry provided in the video adapter and the display monitor.
A monochrome monitor, for example, cannot display colors no matter how powerful the video adapter. Many different types of video adapters are available for PCs. Each adapter offers several different video modes. The two basic categories of video modes are text and graphics. In graphics mode, a monitor can display any bit-mapped image. Within the text and graphics modes, some monitors also offer a choice of resolutions. At lower resolutions a monitor can display more colors.
Modern video adapters contain memory, so that the computer's RAM is not used for storing displays. In addition, most adapters have their own graphics coprocessor for performing graphics calculations. These adapters are often called graphics accelerators. Video adapters are also called video cards, video boards, video display boards, graphics cards and graphics adapters. Video and Graphics Adapters While the names to describe it are many video adapter, video card, video board, video display board, graphics card or graphics adapter its job and function within a computer system remains the same, regardless of what you call it.
Your computer's video adapter is assigned the primary task of producing the visual output from your system. It is the hardware that works between your system's processor and monitor.
It relays the information received from the programs and applications running on your system computed by the processor to the monitor that allows you to view the information and images on your screen. A video adapter is board that plugs into a personal computer to give it display capabilities.
Those capabilities of a computer, however, depend on both the logical circuitry provided in the video adapter and the display monitor. A monochrome monitor, for example, can't display colors no matter how powerful the video adapter. The term video adapter applies to either integrated or separate video circuitry.
Each adapter offers several video modes. At lower resolutions, a monitor can display more colors. In non-accelerated unaccelerated graphics adapters, the computer needed to change each pixel individually to change the image on the screen.
Having the graphics handled by the processor didn't become much of an issue until graphical user interfaces like Windows for example gained in popularity. Systems began to slow down as the CPU was left trying to move large amounts of data from the system RAM to the video card.
As always with technology, it didn't take long for the bottle-neck to be sorted out. The biggest difference between accelerated and non-accelerated cards is that with accelerated video cards, the CPU Prepared by: Since the video card has its own processor, it is able to perform most of the work, leaving your CPU free to process other tasks.
A graphics accelerator, for example, is a type of video adapter that contains its own processor to boost performance levels. These processors are specialized for computing graphical transformations, so they achieve better results than the general-purpose CPU used by the computer. In addition, they free up the computer's CPU to execute other commands while the graphics accelerator is handling graphics computations.
The popularity of graphical applications, and especially multimedia applications and computer games, has made graphics accelerators not only a common enhancement, but a necessity.
Most computer manufacturers now bundle a graphics accelerator with their mid-range and high-end systems. Aside from the graphics processor used, some other characteristics that differentiate graphics accelerators are: Graphics accelerators have their own memory, which is reserved for storing graphical representations. Because of the demands of video systems, video memory needs to be faster than main memory.
The amount of memory determines how much resolution and how many colors can be displayed. Some accelerators use conventional DRAM, but others use a special type of video RAM, which enables both the video circuitry and the processor to simultaneously access the memory.
Each graphics accelerator is designed for a particular type of video bus AGP or PCI So now that you know the basics behind how your video adapter works, there is another important topic to discuss when it comes to upgrading your system's video.
Unfortunately, it's not as simple as downloading any video card on the market and plugging it in. There are three main types of video upgrades and before downloading you need to know which type can be used in your system. To upgrade an add-on video card, you need to remove the card and drivers and install the new video card and drivers. Motherboard Video-only Chipset If your system supports a video-only chipset on the motherboard, your motherboard has integrated video which is using your system memory.
Many PCs come with this type of video, but they will also have an open AGP expansion slot on the motherboard that allows you to add a video card rather than using the on-board video. To upgrade in this scenario, you'll need to disable the on-board video and add an AGP video card and install drivers for the new card. Motherboard With Integrated Video This type set-up offers only on-board video — you won't have an extra AGP slot that you can use to install a new video card.
VGA x The ROM BIOS Basic Input Output System provides device control for the PC's major devices disk, video, keyboard, serial port, printer , allowing a programmer to communicate with these devices without needing detailed knowledge of their operation.
These functions are defined in the header file. When you include the header file, these functions are available for use. For example: The printf is a standard library function to send formatted output to the screen display output on the screen. This function is defined in "stdio.
There are other numerous library functions defined under "stdio. Once you include "stdio. Learn more about standard library functions in C programming User-defined function As mentioned earlier, C allow programmers to define functions.
Such functions created by the user are called user-defined functions. You can create as many user-defined functions as you want. How user-defined function works?