This document discusses arrays in C programming. It covers one-dimensional and multi-dimensional arrays, including how to declare, initialize, and access array elements using subscripts. Preprocessor directives are also introduced, with #define explained as a way to define macros that substitute identifier names with values. The objectives are to learn about arrays and preprocessor directives in C.
C Programming Language is the most popular computer language and most used programming language till now. It is very simple and elegant language. This lecture series will give you basic concepts of structured programming language with C.
At the end of this lecture students should be able to;
Describe the C arrays.
Practice the declaration, initialization and access linear arrays.
Practice the declaration, initialization and access two dimensional arrays.
Apply taught concepts for writing programs.
C Programming Language is the most popular computer language and most used programming language till now. It is very simple and elegant language. This lecture series will give you basic concepts of structured programming language with C.
At the end of this lecture students should be able to;
Describe the C arrays.
Practice the declaration, initialization and access linear arrays.
Practice the declaration, initialization and access two dimensional arrays.
Apply taught concepts for writing programs.
Functions: Function Definition, prototyping, types of functions, passing arguments to functions, Nested Functions, Recursive functions.
Strings: Declaring and Initializing strings, Operations on strings, Arrays of strings, passing strings to functions. Storage Classes: Automatic, External, Static and Register Variables.
I am Gozan. M. I am a Programming Exam Helper at liveexamhelper.com. I hold a master' Degree in Programming from the University of Denver, USA. I have been helping students with their exams for the past 9 years. You can hire me to take your exam in Programming. Visit liveexamhelper.com or email info@liveexamhelper.com. You can also call on +1 678 648 4277 for any assistance with the Programming Exam.
Synthetic Fiber Construction in lab .pptxPavel ( NSTU)
Synthetic fiber production is a fascinating and complex field that blends chemistry, engineering, and environmental science. By understanding these aspects, students can gain a comprehensive view of synthetic fiber production, its impact on society and the environment, and the potential for future innovations. Synthetic fibers play a crucial role in modern society, impacting various aspects of daily life, industry, and the environment. ynthetic fibers are integral to modern life, offering a range of benefits from cost-effectiveness and versatility to innovative applications and performance characteristics. While they pose environmental challenges, ongoing research and development aim to create more sustainable and eco-friendly alternatives. Understanding the importance of synthetic fibers helps in appreciating their role in the economy, industry, and daily life, while also emphasizing the need for sustainable practices and innovation.
The Art Pastor's Guide to Sabbath | Steve ThomasonSteve Thomason
What is the purpose of the Sabbath Law in the Torah. It is interesting to compare how the context of the law shifts from Exodus to Deuteronomy. Who gets to rest, and why?
How to Split Bills in the Odoo 17 POS ModuleCeline George
Bills have a main role in point of sale procedure. It will help to track sales, handling payments and giving receipts to customers. Bill splitting also has an important role in POS. For example, If some friends come together for dinner and if they want to divide the bill then it is possible by POS bill splitting. This slide will show how to split bills in odoo 17 POS.
The French Revolution, which began in 1789, was a period of radical social and political upheaval in France. It marked the decline of absolute monarchies, the rise of secular and democratic republics, and the eventual rise of Napoleon Bonaparte. This revolutionary period is crucial in understanding the transition from feudalism to modernity in Europe.
For more information, visit-www.vavaclasses.com
This is a presentation by Dada Robert in a Your Skill Boost masterclass organised by the Excellence Foundation for South Sudan (EFSS) on Saturday, the 25th and Sunday, the 26th of May 2024.
He discussed the concept of quality improvement, emphasizing its applicability to various aspects of life, including personal, project, and program improvements. He defined quality as doing the right thing at the right time in the right way to achieve the best possible results and discussed the concept of the "gap" between what we know and what we do, and how this gap represents the areas we need to improve. He explained the scientific approach to quality improvement, which involves systematic performance analysis, testing and learning, and implementing change ideas. He also highlighted the importance of client focus and a team approach to quality improvement.
Model Attribute Check Company Auto PropertyCeline George
In Odoo, the multi-company feature allows you to manage multiple companies within a single Odoo database instance. Each company can have its own configurations while still sharing common resources such as products, customers, and suppliers.
Palestine last event orientationfvgnh .pptxRaedMohamed3
An EFL lesson about the current events in Palestine. It is intended to be for intermediate students who wish to increase their listening skills through a short lesson in power point.
The Indian economy is classified into different sectors to simplify the analysis and understanding of economic activities. For Class 10, it's essential to grasp the sectors of the Indian economy, understand their characteristics, and recognize their importance. This guide will provide detailed notes on the Sectors of the Indian Economy Class 10, using specific long-tail keywords to enhance comprehension.
For more information, visit-www.vavaclasses.com
1. Slide 1 of 31Ver. 1.0
Programming in C
In this session, you will learn to:
Work with arrays
Appreciate preprocessor directives
Objectives
2. Slide 2 of 31Ver. 1.0
Programming in C
Working with Arrays
Arrays:
Are a group of similar objects.
Can be defined as a contiguous area in memory.
Can be referred to by a common name.
Has a unique identifier for each element, called as a subscript
or an index.
Can be categorized as:
One-dimensional/Single-dimensional arrays
Multidimensional arrays
3. Slide 3 of 31Ver. 1.0
Programming in C
One-Dimensional Arrays
The syntax for declaring a one-dimensional array is:
type arrayname[n];
For Example:
char string [11];
Defines a character array named string to store 10
characters.
string[0] to string[9] are for valid characters.
string[10] for the string-terminator character, 0 (NULL).
Similarly:
int numbers [11];
Defines an integer type array called numbers to store 11
integers.
Integers are stored in numbers[0] to numbers[10].
4. Slide 4 of 31Ver. 1.0
Programming in C
Practice: 3.1
1. Write the array definition statements for storing the following
data:
a. Ten amounts with paisa.
b. Five ages to be stored in years and six non-fractional
quantities.
c. A thirty character long name.
5. Slide 5 of 31Ver. 1.0
Programming in C
Practice: 3.1 (Contd.)
Solution:
a. float fnum[10];
b. int age[5], qty[6];
c. char name[31];
6. Slide 6 of 31Ver. 1.0
Programming in C
Initializing Arrays:
An array can be initialized, when declared.
Initialization at the time of declaration is possible only outside a
function unless it is declared static.
Direct initialization is possible in the following ways:
char strl[7]={‘E’,’X’,’O’,’D’,’U’,’S’,’0’};
char str2[7]={"EXODUS"};
In the first case, individual elements have been moved into the
array. Therefore, it is essential that the string terminator be
specified explicitly. While in the second case, the string
terminator gets attached automatically because a string has
been assigned.
One-Dimensional Arrays (Contd.)
7. Slide 7 of 31Ver. 1.0
Programming in C
Practice: 3.2
1. Write a function that stores the alphabets A to Z in an array
by applying arithmetic on ASCII codes, given that the ASCII
code of character A is 65. The function should display the
string also.
2. In a file-delete utility program for 256 files the user response
to whether a file is to be deleted or not is to be stored in an
array as Y for yes and N for no for all files. By default the
user response should be N for all files. Write a function that
sets up an array and accepts user-responses.
8. Slide 8 of 31Ver. 1.0
Programming in C
Solution:
Microsoft Word
Document
Practice: 3.2 (Contd.)
9. Slide 9 of 31Ver. 1.0
Programming in C
Array elements:
Are referenced by using subscripts.
Are integers, therefore array manipulation is possible through
the use of variables.
One-Dimensional Arrays (Contd.)
10. Slide 10 of 31Ver. 1.0
Programming in C
Practice: 3.3
1. Write a function to convert a character string into
lower-case.
2. Write a function to compare two strings and to print the
larger one. The strings may be compared in terms of ASCII
code of each character in the strings.
11. Slide 11 of 31Ver. 1.0
Programming in C
Solution:
Microsoft Word
Document
Practice: 3.3 (Contd.)
12. Slide 12 of 31Ver. 1.0
Programming in C
Practice: 3.4
1. Write a function to accept up to 25 numbers and to display
the highest and lowest numbers along with all the numbers.
13. Slide 13 of 31Ver. 1.0
Programming in C
Solution:
Microsoft Word
Document
Practice: 3.4 (Contd.)
14. Slide 14 of 31Ver. 1.0
Programming in C
Array Addressing:
To arrive at a particular element, the following formula is
applied:
Starting address + ( Offset number * Scaling
factor) of the array
Here,
Scaling factor is the number of bytes of storage space required
by the specific data type.
Offset number * Scaling factor gives the number of bytes
to be added to the starting address of the array to get to a desired
element.
One-Dimensional Arrays (Contd.)
15. Slide 15 of 31Ver. 1.0
Programming in C
Practice: 3.5
1. Write a program in C to extract a substring from a specified
position containing a specified number of characters from
an input string.
16. Slide 16 of 31Ver. 1.0
Programming in C
Solution:
Microsoft Word
Document
Practice: 3.5 (Contd.)
17. Slide 17 of 31Ver. 1.0
Programming in C
Multidimensional Arrays
C also supports multidimensional arrays.
A two-dimensional array is the simplest form of the
multidimensional array.
A two-dimensional array is an array of one-dimensional
arrays.
A two-dimensional array is also known as a two-d array.
A two-d array is declared as follows:
type arrayname[Row][Col];
Rules for initializing a two-d array are same as that of a
one-dimensional array.
The row subscript may be left blank for a more flexible
declaration.
18. Slide 18 of 31Ver. 1.0
Programming in C
Practice: 3.6
1. State whether True or False:
If the number of salesmen is 5, then the declaration of the
two-dimensional array and its initialization to zero would be:
int s_p_array [5][4] = {
{0,0,0,0,0},
{0,0,0,0,0},
{0,0,0,0,0},
{0,0,0,0,0},
};
19. Slide 19 of 31Ver. 1.0
Programming in C
Solution:
1. False. Note that since there are 5 salesman with 4 products,
there should be 5 sets of {}, each containing four zeroes. The
correct initialization is:
int s_p_array [5][4] = {
{0,0,0,0},
{0,0,0,0},
{0,0,0,0},
{0,0,0,0},
{0,0,0,0},
};
Practice: 3.6 (Contd.)
20. Slide 20 of 31Ver. 1.0
Programming in C
Two-Dimensional Character Arrays:
Are typically used to create an array of strings.
Use two subscripts, one for row and the other for column.
Are declared as:
char err_msg [row] [col];
Can be initialized at the time of declaration.
Multidimensional Arrays (Contd.)
21. Slide 21 of 31Ver. 1.0
Programming in C
Practice: 3.7
1. Based on the books array, predict the output of the following
commands:
a. printf(“%c”, books[2][5]);
b. printf(“%s”,books[3]);
c. printf(“%d”,books[4][7]);
22. Slide 22 of 31Ver. 1.0
Programming in C
Solution:
a. M
b. Birds, Beasts, and Relatives
c. 97
Practice: 3.7 (Contd.)
23. Slide 23 of 31Ver. 1.0
Programming in C
Practice: 3.8
1. Write the program segment to calculate the class average
across students in each subject.
2. Assume that the data exists in the arrays and averages
have been calculated. Write program segments, which will
allow the user to query on the arrays to:
a. Display Student Names and Average Marks.
b. Display Subjects and Class Averages.
24. Slide 24 of 31Ver. 1.0
Programming in C
Practice: 3.8 (Contd.)
c. Display Marks of a specific Student in a specific Subject.
d. Display Subject wise marks of all students whose average is
above 80.
For each option the following action needs to be taken.
OPTION ACTION
a. Display each student's name along with his average marks.
b. Display each subject along with class average on the subject.
c. Display list of students and list of subjects. Allow the user to
choose one from each. Based on the numbers chosen, display
the appropriate marks. Remember, subscripting in C starts from
zero.
d. Check the average of each student. Wherever average
exceeds 80, display the student name and the subject name
and marks in each subject.
25. Slide 25 of 31Ver. 1.0
Programming in C
Solution:
Microsoft Word
Document
Practice: 3.8 (Contd.)
26. Slide 26 of 31Ver. 1.0
Programming in C
Appreciating Preprocessor Directives
Preprocessor directives:
Are instructions to the compiler in the source code of a C
program.
Are not actually a part of the C language.
Expand the scope of the C programming environment.
Begin with a #.
#include is also a preprocessor directive.
#include instructs the compiler to include the specified
source file into the one which contains the #include
directive.
#define defines an identifier and a string constant that will
be substituted for the identifier each time it is encountered in
the file.
27. Slide 27 of 31Ver. 1.0
Programming in C
Appreciating Preprocessor Directives (Contd.)
It helps in reducing the chances of inconsistency within the
program and also makes the program easy to modify.
Consider the following macro definition:
#define TRUE 1
No semicolon is required after the statement.
Every time the compiler encounters the string TRUE in the
program, it substitutes it with the value 1.
No text substitution will occur if the identifier is enclosed
within quotes.
28. Slide 28 of 31Ver. 1.0
Programming in C
Summary
In this session, you learned that:
An array can be defined as a contiguous area in memory,
which can be referred to by a common name.
In C, arrays can be categorized as:
One-dimensional/Single-dimensional arrays
Multidimensional arrays
The syntax for declaring a one-dimensional array is as follows:
type arrayname[n];
Array elements are referenced by using subscripts.
The last element in a character array is reserved to store the
string terminator character 0 (NULL).
An array can be initialized, when declared, by specifying the
values of some or all of its elements.
Initialization can also be done inside the function, after the
array has been declared, by accepting the values.
29. Slide 29 of 31Ver. 1.0
Programming in C
Summary (Contd.)
To arrive at the particular element, the following formula is
applied:
Starting address + ( Offset number * Scaling
factor) of the array
C supports multidimensional arrays.
The simplest form of the multidimensional array is the
two-dimensional (two-d) array.
The general form of declaration of the two-d array would be:
type arrayname[x][y];
Two-dimensional integer arrays are very much like
one-dimensional integer arrays, the only difference being that
two-dimensional arrays have two indices.
Initialization of two-dimensional arrays can be done at the time
of declaration itself.
A better way to initialize a two-dimensional array is using the
for statement.
30. Slide 30 of 31Ver. 1.0
Programming in C
Summary (Contd.)
Two-dimensional character arrays are declared in the same
way as two-dimensional integer arrays:
The first index specifies the number of strings.
The second index specifies the length of the longest string plus
one.
Initialization can be done along with declaration, if done outside
main().
Preprocessor directives are not actually a part of the C
language; they expand the scope of the C programming
environment.
The preprocessor directives normally begin with a #.
#include is also a preprocessor directive. It instructs the
compiler to include the specified source file into the one which
contains the #include directive.
31. Slide 31 of 31Ver. 1.0
Programming in C
Summary (Contd.)
The #define statement can be used to declare a variable with
a constant value throughout the program. It helps in:
Reducing the chances of inconsistency within the program.
Making modification easier, as the value has to be changed only
at one place.
Editor's Notes
Begin the session by explaining the objectives of the session.
Use this slide to test the student’s understanding on one-dimensional arrays.
Tell the students that if the array is initialized at the time of declaration, then the dimension of the array need not to be given.
Use this slide to test the student’s understanding on one-dimensional arrays.
Explain bound checking and also tell the students that in C language, there is no bound checking for the arrays. The programmer has to take care of the array bounds. Also, discuss the hazards if the array bound is not taken care of in a program.
Use this slide to test the student’s understanding on referencing the array elements.
Use this slide to test the student’s understanding on referencing the array elements.
Use this slide to test the student’s understanding on array addressing.
Tell the students that there can be n-dimensional arrays. Multidimensional arrays can also termed as array of arrays. Explain the concept of array of arrays by taking an example of a 2-d array, which can be viewed as an array of one-dimensional arrays.
Use this slide to test the student’s understanding on 2-D arrays.
Use this slide to test the student’s understanding on 2-D arrays.
Use this slide to test the student’s understanding on 2-D array.
Only after the necessary files have been logically included and the # defined tokens are replaced with their values, the actual compilation process starts. When we enclose the file to be included within <> as in: #include <stdio.h> the preprocessor looks for the file in the directory /usr/include. If file does not exist there, an error is reported. If we include the file name within quotes instead, as in: #include “globe.h” the preprocessor looks for the file in the current directory. If the file does not exist there , it looks for it in the directory /usr/include . If it does not exist there either , an error is reported.
Use this and the next 3 slides to summarize the session.