C Programming Module 4 Complete Solutions
C Programming Module 4 Complete Solutions
PART A
ANS) Pointer is a variable which stores the address of another variable. Since Pointer is also a
kind of variable, this pointer itself will be stored at different memory locations.
APPLICATIONS OF POINTERS:
ANS) Null pointer: A pointer variable which is initialized with null values is known as Null pointer.
Generic pointers: A pointer that has no associated data type with it. A void pointer can hold
addresses of any type and can be type casted to any type. Generic pointers are also called Void
pointers.
i) malloc()
ii) calloc()
iii) free()
iv) realloc()
ii) calloc(): This function is used to dynamically allocate the specified number of blocks of
memory of specified type. It initialize each block with a default value
iii) free(): The memory allocated using function malloc() and calloc() is not deallocated on
its own. Hence the free() method is used wherever the dynamic allocation takes place. It
helps to reduce wastage of memory by freeing it.
iv) realloc(): The memory allocated previously in dynamic memory is now reallocated and
stored in another location is known as realloc().
ANS) Pointer to pointer means a chain of pointers. Normally, a pointer contains the address of a
variable. When we define a pointer to a pointer, the first pointer contains the address of the
second pointer, which points to the location that contains the actual value.
ANS) The variables defined with a predefined length are called bit fields. A bit field can hold
more than a single bit. By using bit fields it makes the code flexible, the program becomes more
organized and structured, Hence it reduces the wastage of memory.
ANS) A Preprocessor tells the compiler to preprocess the source code before compiling. A
C-program starts with the preprocessor directive i.e., #include, #define, #undef, etc. By using
#include we can link the header files that are needed to use the functions. By using #define we
can define some constants.
7) Define the term structure and state how the members of a structure are accessed.
ANS) As we know, an array is a collection of elements of the same datatype, but many times we
have to store the elements of different data types. To do so STRUCTURES is a collection of
elements of all different data types in the same variable. Each member declared in structures is
called as members, struct is a key word which is used to declare structures. Members of
structures are enclosed within open and closed braces.
Member of structures are accessed by :
● Array elements are accessed using the subscripts variables, similarly Structure members
are accessed by using dot (.) operator
● (.) is called a "Structure member operator".
● Use this Operator in between "Structure name" & "Member name".
ANS)
ARRAYS STRUCTURES
•An array is defined as the collection of •Structure refers to a collection consisting of
similar type of data items stored at elements of heterogeneous data type.
contiguous memory locations •Structure uses “.” (Dot operator) for element
•Array uses subscripts or “[ ]” (square access
bracket) for element access •Structure is not a pointer
•Array is a pointer as it points to the first •Instantiation of Structure objects is possible.
element of the collection. •Structure size is not fixed as each element of
•Instantiation of Array objects is not possible. Structure can be of different type and size.
•Array size is fixed and is basically the •Bit field is possible in a Structure.
number of elements multiplied by the size of •Structure declaration is done with the help
an element. of the “struct” keyword.
•Bit field is not possible in an Array. •Structure is a user-defined datatype.
•Array declaration is done simply using [] and •Structure traversal and searching is complex
not any keyword. and slow.
•Arrays is a primitive data type •struct sruct_name{ data_type1 ele1;
•Array traversal and searching is easy and data_type2 ele2; };
fast. •Structure elements may or may not be
•data_type array_name[size]; stored in a contiguous memory location.
•Array elements are stored in contiguous •Structure elements are accessed by their
memory locations. names using dot operators.
•Array elements are accessed by their index
number using subscripts.
ANS) Nested structures in C are nothing but structure within structure. One structure can be
declared inside another structure as we declare structure member inside a structure
EX: SOURCE CODE:
#include<stdio.h>
struct address {
char city[20];
int pin;
char phone[14];
};
struct employee {
char name[20];
struct address add;
};
void main () {
struct employee emp;
printf("Enter employee information?\n");
scanf("%s %s %d %s",emp.name,emp.add.city, &emp.add.pin, emp.add.phone);
printf("Printing the employee information....\n");
printf("name: %s\nCity: %s\nPincode: %d\nPhone:
%s",emp.name,emp.add.city,emp.add.pin,emp.add.phone);
}
OUTPUT:
name: SATISH
City: HYDERABAD
Pincode: 500072
Phone: 950****898
ANS)
STRUCTURE UNION
Keyword The keyword struct is used to define The keyword union is used to define a
a structure union
size When a variable is associated with a When a variable is associated with a
structure. The compiler allocates the union, the compiler allocates the
memory for each member. The size memory by considering the size of the
of structures is greater than or equal largest memory. So size of union is
to the sum of sizes of its members equal to the size of largest member
memory Each memory within a structure is Memory allocated is shared by
assigned a unique storage area of individual members of union
location.
Value altering Altering the value of a member will Altering the value of any of the
not affect other member of the member will affect other member
structure values
Accessing Individual member can be accessed Only one member can be accessed at a
members at a time time
Initialization Several members of a structure can Only the first members of a union can
of members initialize at once be initialized
EX:
SOURCE CODE:
#include <stdio.h>
#include <string.h>
struct student{
int rollno;
char name[10];
};
int main(){
int i;
struct student st[5];
printf("Enter Records of 5 students");
for(i=0;i<5;i++){
printf("\nEnter Rollno:");
scanf("%d",&st[i].rollno);
printf("\nEnter Name:");
scanf("%s",&st[i].name);
}
printf("\nStudent Information List:");
for(i=0;i<5;i++){
printf("\nRollno:%d, Name:%s",st[i].rollno,st[i].name);
}
return 0;
}
OUTPUT:
EX:
SOURCE CODE:
#include<stdio.h>
enum week{Mon, Tue, Wed, Thur, Fri, Sat, Sun};
int main()
{
enum week day;
day = Wed;
printf("DAY=%d",day);
return 0;
}
OUTPUT:
DAY=2
ANS) If we did not assign a starting value to enum names, the compiler would assign 0 as the
starting value of the enumerated set by default.
ANS) In C programming language provides a key word called typedef, which provides some
meaningful names to the already existing variable in C program. In short we can say that this
keyword is used to redefine the name of an already existing variable.
EX:SOURCE CODE:
#include <stdio.h>
int main() {
typedef int unit;
unit i,j;
i=10;
j=20;
printf("Value of i is :%d",i);
printf("\nValue of j is :%d",j);
return 0;
}
OUTPUT:
Value of i is : 10
Value of j is :20
EX:
SOURCE CODE:
#include <stdio.h>
void swap(int *a, int *b);
int main() {
int m = 10, n = 20;
printf("m = %d\n", m);
printf("n = %d\n", n);
swap(&m, &n); //passing address of m and n to the swap function
printf("After Swapping:\n");
printf("m = %d\n", m);
printf("n = %d", n);
return 0;
}
void swap(int *a, int *b) {
int temp;
temp = *a;
*a = *b;
*b = temp;
}
OUTPUT:
m = 10
n = 20
After Swapping:
m = 20
n = 10
17) Predict the output of the following code.
SOURCE CODE:
struct {
int i;
float f;
}
var;
void main() {
var.i=5;
var.f=9.76723;
printf("%d %.2f",var.i,var.f);
}
OUTPUT:
SOURCE CODE:
#include<stdio.h>
struct values
{
int i; float f;
};
void main()
{
struct values var={555,67.05501};
printf("%2d%.2f",var.i,var.f);
}
OUTPUT:
55567.06
19) Consider the following C declaration and find the size required by the structure. Assume that
objects of the type short float and long occupy 2 bytes, 4 bytes and 8 bytes, respectively. The
Memory for variable t will be:
SOURCE CODE:
struct {
short s[5];
union {
float y; long z;
} u;
} t;
ANS) Short array s[5] will take 10 bytes as size of short is 2 bytes. When we declare a union,
memory allocated for the union is equal to memory needed for the largest member of it, and all
members share this same memory space. Since u is a union, memory allocated to u will be max
of float y(4 bytes) and long z(8 bytes). So, the total size will be 18 bytes (10 + 8).
SOURCE CODE:
#include<stdio.h>
struct Point {
int x, y,z; //To pass arguments by reference
int main() {
struct Point p1 = {.y = 0, .z = 1, .x =2};
printf("%d %d %d",p1.x, p1.y, p1.z);
return 0;
}
OUTPUT:
1) Write a C program to read your full name, Date of birth and display the same using the
concept of nested structure.
SOURCE CODE:
#include<stdio.h>
struct student {
char name[10];
struct dob {
int dd;
int mm;
int yr;
}DOB;
};
int main() {
struct student s;
printf("enter name: ");
scanf("%s",&s.name);
printf("enter DOB[DD MM YYYY]:");
scanf("%d%d%d",&s.DOB.dd,&s.DOB.mm,&s.DOB.yr);
printf("student name: %s\n",s.name);
printf("DOB:%d/%d/%d",s.DOB.dd,s.DOB.mm,s.DOB.yr);
}
OUTPUT:
2) Write a C program to maintain a book structure containing name, author and pages as
structure members. Pass the address of structure variable to a user defined function and display
the contents
SOURCE CODE:
#include<stdio.h>
#define SIZE 20
struct structure {
char name[SIZE];
char author[SIZE];
int pages;
};
void output(struct structure a[],int n);
void main() {
struct structure b[SIZE];
int n,i;
printf("Enter the Numbers of Books:");
scanf("%d",&n);
printf("\n");
for(i=0;i<n;i++)
{
printf("\tBook %d Detail\n",i+1);
printf("Enter the Book Name:");
scanf("%s",b[i].name);
printf("Enter the Author of Book:");
scanf("%s",b[i].author);
printf("Enter the Pages of Book:");
scanf("%d",&b[i].pages);
}
output(b,n);
}
void output(struct structure a[],int n) {
int i,t=1;
for(i=0;i<n;i++) {
printf("\n");
printf("Book No.%d\n",t);
printf("%dst Book Name is: %s \n",t,a[i].name);
printf("%dst Book Author is: %s \n",t,a[i].author);
printf("%dst Book Pages is: %d",t,a[i].pages);
printf("\n");
t++;
}
}
OUTPUT:
Book No.1
1st Book Name is: C Language
1st Book Author is: YashavantKanetkar
1st Book Pages is: 264
Book No.2
2st Book Name is: LET_US_PYTHON
2st Book Author is: YashavantKanetkar
2st Book Pages is: 500
3) A marketing company has 50 employees and it maintains employee records in terms of their
empid, empname, desg, salary, quantity, sales amount. The company gives a 10% hike in salary
to the employees if their sales amount is more than 50000/-. Write a C program that displays the
employee records who got a hike in salary.
SOURCE CODE:
#include<stdio.h>
struct market {
int empid,salary,quantity,salesamount;
char empname[20],desg[20];
};
main() {
int i,n;
printf("enter the no.of check");
scanf("%d",&n);
struct market emp[50];
for(i=0;i<50;i++) {
printf("enter %dst emp details:\n",i+1);
printf("Enter id: ");
scanf("%d",&emp[i].empid);
printf("Enter name: ");
scanf("%s",&emp[i].empname);
printf("enter designation: ");
scanf("%s",&emp[i].desg);
printf("enter salary: ");
scanf("%d",&emp[i].salary);
printf("enter quantity: ");
scanf("%d",&emp[i].quantity);
printf("Enter sales amount: ");
scanf("%d",&emp[i].salesamount);
}
printf("Emp who will get hike:");
for(i=0;i<50;i++) {
if(emp[i].salesamount>50000) {
printf("%d\n",emp[i].empid);
printf("%s\n",emp[i].empname);
printf("%s\n",emp[i].desg);
printf("%d\n",emp[i].salary);
printf("%d\n",emp[i].quantity);
printf("%d\n",emp[i].salesamount);
}
}
}
OUTPUT:
enter the no.of check2
enter 1st emp details:
Enter id: 92
Enter name: amar
enter designation: salesmanager
enter salary: 80000
enter quantity: 100
Enter sales amount: 60000
enter 2st emp details:
Enter id: 103
Enter name: abhay
enter designation: salesmen
enter salary: 50000
enter quantity: 80
Enter sales amount: 50000
Emp who will get hike:
92
amar
salesmanager
80000
100
60000
a. If attendance percentage >=75 then the print student is eligible for writing the final exam.
b. If attendance percentage >= 65 and <75 then print student is in the condonation list.
SOURCE CODE:
enter no of students:2
Enter rno:92
#include<stdio.h>
struct IARE {
int rno;
char std[20];
int atten[5];
};
int main() {
int n,i,j,sum,avg;
printf("enter no of students:");
scanf("%d",&n);
struct IARE s[n];
for(i=0;i<n;i++) {
printf("Enter rno:");
scanf("%d",&s[i].rno);
printf("Enter name:");
scanf("%s",&s[i].std);
for(j=0;j<5;j++) {
printf("Enter sub %d:",j+1);
scanf("%d",&s[i].atten[j]);
}
}
for(i=0;i<n;i++) {
sum=0;
for(j=0;j<5;j++) {
sum=sum+s[i].atten[j]; }
avg=sum/5;
if(avg>=75)
printf("Eligible\n");
else if(avg>=65 && avg<75)
printf("conditionality\n");
else
printf("Not\n");
}
}
OUTPUT:
Enter name:amar
Enter sub 1:92
Enter sub 2:95
Enter sub 3:80
Enter sub 4:79
Enter sub 5:90
Enter rno:90
Enter name:abhay
Enter sub 1:90
Enter sub 2:80
Enter sub 3:85
Enter sub 4:55
Enter sub 5:63
Eligible
Not
typedef struct
{
char x; char *y;
int z[20];
} status;
a) Nested Structures
b) Array of structures
● Nested structure in C is nothing but structure within structure. One structure can be
declared inside another structure as we declare structure members inside a structure
● The structure variable can be a normal structure variable or a pointer variable to access
the data.
● Structure within structures in C can use normal variable or pointer variable
EX:
SOURCE CODE:
#include<stdio.h>
struct address {
char city[20];
int pin;
char phone[14];
};
struct employee {
char name[20];
struct address add;
}emp;
void main () {
printf("Enter employee information?\n");
scanf("%s %s %d %s",emp.name,emp.add.city, &emp.add.pin, emp.add.phone);
printf("Printing the employee information....\n");
printf("name: %s\nCity: %s\nPincode: %d\nPhone:
%s",emp.name,emp.add.city,emp.add.pin,emp.add.phone);
}
OUTPUT:
Enter employee information?
IARE
HYDERABAD
500043
9876543215
Printing the employee information....
name: IARE
City: HYDERABAD
Pincode: 500043
Phone: 9876543215
EX:
SOURCE CODE:
#include<stdio.h>
struct student {
int rollno;
char name[10];
};
int main() {
int i;
struct student st[3];
printf("Enter Records of 3 students\n");
for(i=0;i<3;i++) {
printf("Enter Rollno: ");
scanf("%d",&st[i].rollno);
printf("Enter Name: ");
scanf("%s",&st[i].name);
}
printf("Student Information List:");
for(i=0;i<3;i++)
printf("\nRollno: %d, Name: %s",st[i].rollno,st[i].name);
return 0;
}
OUTPUT:
Enter Records of 3 students
Enter Rollno: 1
Enter Name: IARE
Enter Rollno: 2
Enter Name: IT
Enter Rollno: 3
Enter Name: CSE
Student Information List:
Rollno: 1, Name: IARE
Rollno: 2, Name: IT
Rollno: 3, Name: CSE
a) self-referential structures
b) enumerated types
ANS) i) Self-referential structures: these are the structures that have one or more pointers which
point to the same type of structure, as their member. In other word, structure pointing to the
same type of structures are self-referential in nature
OR
A structure that contains pointers to structures of its own type is known as self-referential
structures.
Struct <structure_name>
{
Structure element 1;
...............................
Structure element n;
Struct <structure_name>*pointer_name;
};
Struct <structure name> variable1,variable 2, ...;
b) enumerated types : Enumeration is a user defined datatype in C lang. it is used to assign
names to the integral constants which makes a program easy to read and maintain. The
keyword ”enum” is used to declare an enumeration
SOURCE CODE:
#include<stdio.h>
enum week{Mon=10, Tue, Wed, Thur, Fri=10, Sat=16, Sun};
enum day{Mond, Tues, Wedn, Thurs, Frid=18, Satu=11, Sund};
int main() {
printf("The value of enum week: %d %d %d %d %d %d %d\n",Mon , Tue, Wed, Thur,
Fri, Sat, Sun);
printf("The default value of enum day: %d %d %d %d %d %d %d",Mond , Tues,
Wedn, Thurs, Frid, Satu, Sund);
return 0;
}
OUTPUT:
The value of enum week: 10 11 12 13 10 16 17
The default value of enum day: 0 1 2 3 18 11 12
8) Write a C program to pass a copy of the entire structure named stores containing members'
product-name, price and quantity to a function.
SOURCE CODE:
#include <stdio.h>
#include <string.h>
struct stores
{
char product_name[20];
float price,quantity;
};
11) Write a C program to maintain a record of n student details using an array of structures with
four fields (rollno, name, marks and grade). Assume appropriate data type for each field. Print
the marks of the student name as input.
Understand
SOURCE CODE:
#include<stdio.h>
struct student
{
char name[20],grade[2];
int rollno;
float marks;
};
int main( )
{
int i,n;
printf("Enter how many records u want to store :: ");
scanf("%d",&n);
struct student stuarr[n];
printf("Enter name, roll no. and marks Below :: \n");
for(i=0; i<n; i++)
{
printf("\nEnter %d record :: \n",i+1);
printf("Enter Name :: ");
scanf("%s",stuarr[i].name);
printf("Enter RollNo. :: ");
scanf("%d",&stuarr[i].rollno);
printf("Enter Marks out of 100:: ");
scanf("%f",&stuarr[i].marks);
printf("enter Grade::");
scanf("%s",stuarr[i].grade);
}
printf("\n\tName\tRollNo\tMarks\tGrade\n");
for(i=0; i<n; i++)
printf("\t%s\t%d\t%.2f\t%s\n", stuarr[i].name, stuarr[i].rollno,
stuarr[i].marks,stuarr[i].grade);
return 0;
}
OUTPUT:
Enter how many records u want to store :: 2
Enter name, roll no. and marks Below ::
Enter 1 record ::
Enter Name :: SATISH
Enter RollNo. :: 92
Enter Marks out of 100:: 90
enter Grade::A
Enter 2 record ::
Enter Name :: sbhay
Enter RollNo. :: 95
Enter Marks out of 100:: 89
enter Grade::B
12) Define a structure called complex consisting of two floating point numbers x and y and
declare a variable p of type complex. Assign initial values 0.0 and 1.1 to the members.
SOURCE CODE:
#include<stdio.h>
struct complex
{
float x;
float y;
};
int main()
{
struct complex p = {0.0,1.1};
printf("%f\n%f",p.x,p.y);
}
OUTPUT:
0.000000
1.100000
13) Define a structure data type called time struct containing 3 members integer hour, integer
minute and integer second. Develop a program that would assign values to the individual
members and display the time in the following format:16 : 40 : 51
SOURCE CODE:
#include <stdio.h>
struct time_struct
{
int hour,minute,second;
}t;
int main(void)
{
printf("Enter Hour : ");
scanf("%d",&t.hour);
printf("Enter Minute: ");
scanf("%d",&t.minute);
printf("Enter Second : ");
scanf("%d",&t.second);
printf("Time %d:%d:%d",t.hour%24,t.minute%60,t.second%60);
return 0;
}
OUTPUT:
Enter Hour : 24
Enter Minute: 12
Enter Second : 12
Time 0:12:12
14) Define a structure named census with the following 3 members:
c. A float member to store the literacy level. Write a program to do the following:
SOURCE CODE:
#include <stdio.h>
#include <string.h>
struct census {
char city[20];
long int pop;
float literacy;
}city_names[5];
//sorting alphabetically!
void sort_alpha(struct census x[]){
for(int i=0;i<5;i++){
for(int j=i+1;j<5;j++)
if(strcmp(x[i].city,x[j].city)>0){
struct census temp = x[i];
x[i] = x[j];
x[j] = temp;
}
}
int main(){
for(int i=0;i<5;i++){
printf("\nEnter City name, population no. and literacy level: ");
scanf("%s %li
%f",city_names[i].city,&city_names[i].pop,&city_names[i].literacy);
}
sort_alpha(city_names);
sort_lit(city_names);
sort_pop(city_names);
return 0;
}
OUTPUT:
15) Define a structure that can describe a hotel. It should have members that include the name,
address, grade, average room charge, and number of rooms. Write functions to perform the
following operations:
b. To print out hotels with room charges less than a given value.
SOURCE CODE:
#include<stdio.h>
struct hotel
{
char name[20],add[20];
int grade,arc,rooms;
};
void output();
void out();
struct hotel inn[]={
{"PLAZA","G-99,DELHI",3,4500,50},
{"MYUR","E-45,NOIDA",4,5000,100},
{"RAJDOOT","H-44,DELHI",2,4000,50},
{"SAMRATH","B-75,BOMBAY",5,6000,200},
{"SURYA","A-77,NOIDA",1,3500,150}
};
void main()
{
int go;
printf("Enter 1 for grade search\n");
printf("Enter 2 to search by charge:");
scanf("%d",&go);
switch(go)
{
case 1:
output();
break;
case 2:
out();
break;
default:
printf("Wrong input");
break;
}
}
void output()
{
int gr,i;
printf("Enter Grade 1 to 5:");
scanf("%d",&gr);
if(gr>=1||gr<=5)
{
for(i=0;i<=4;i++)
{
if(inn[i].grade==gr)
printf("Hotel Name: %s\nAddress:%s\nGrade:%d\nAverage Room
charge:%d\nNumber of
Rooms:%d",inn[i].name,inn[i].add,inn[i].grade,inn[i].arc,inn[i].rooms);
}
}
else
printf("Wrong grade input!");
}
void out()
{
int ch,i=0;
printf("Enter the Room charges not greater than 6000:");
scanf("%d",&ch);
while(i<5)
{
if(inn[i].arc<ch)
printf("Hotel Name: %s\nAddress:%s\nGrade:%d\nAverage Room
charge:%d\nNumber of
Rooms:%d\n",inn[i].name,inn[i].add,inn[i].grade,inn[i].arc,inn[i].rooms);
i++;
}
}
OUTPUT:
Enter 1 for grade search
Enter 2 to search by charge:1
Enter Grade 1 to 5:3
Hotel Name: PLAZA
Address:G-99,DELHI
Grade:3
Average Room charge:4500
Number of Rooms:50
16)Define a structure called cricket that will describe the following information: Player name
,Team name ,Batting average using cricket, declare an array play program to read the
information about all the 50 players and print a teamwise with their batting average.
SOURCE CODE:
#include<stdio.h>
struct cricket
{
char pname[20];
char tname[20];
float bavg;
};
int main()
{
struct cricket s[3],t;
int i,j,n;
printf("enter no of players list to be stored:");
scanf("%d",&n);
float p;
printf("Enter data of %d players\n",n);
for(i=0;i<n;i++)
{
printf("Enter PName TName BAvg for player %d = ",i+1);
scanf("%s %s %f",s[i].pname,s[i].tname,&p);
s[i].bavg=p;
}
for(i=1;i<=n-1;i++)
{
for(j=1;j<=n-i;j++)
{
if(strcmp(s[j-1].tname,s[j].tname)>0)
{
t=s[j-1];
s[j-1]=s[j];
s[j]=t;
}
}
}
printf("\nAfter teamwise sorting... Player list is ");
for(i=0;i<n;i++)
printf("\n%s\t %s\t %.2f",s[i].pname,s[i].tname,s[i].bavg);
return 0;
}
OUTPUT:
enter no of players list to be stored:3
Enter data of 3 players
Enter PName TName BAvg for player 1 = DHONI INDIA 95
Enter PName TName BAvg for player 2 = KOHLI INDIA 90
Enter PName TName BAvg for player 3 = ROHITSHARMA INDIA 89
17) IARE maintains the salary details of every employee by storing their name, department,
basic pay, da, hra and cca. Store this information in a nested structure and display the salary of
an employee.
SOURCE CODE:
#include<stdio.h>
struct s1
{
char *name;
char *dep;
};
struct s2
{
float bp,da,hra,cca,total;
struct s1 g;
};
int main()
{
int n,i,j;
printf("enetr no of employess:");
scanf("%d",&n);
struct s2 f[n];
for(i=0;i<n;i++)
{
printf("enetr name,department,bs,DA,hra,cca of %dst: ",i+1);
scanf("%s",&f[i].g.name);
scanf("%s",&f[i].g.dep);
scanf("%f",&f[i].bp);
scanf("%f",&f[i].da);
scanf("%f",&f[i].hra);
scanf("%f",&f[i].cca);
}
for(i=0;i<n;i++)
{
f[i].total=0;
f[i].total=f[i].bp+(f[i].da/100*f[i].bp)+(f[i].hra/100*f[i].bp)+(f[i].cca/100*f[
i].bp);
printf("gross salary=%.2f\n",f[i].total);
}
}
OUTPUT:
enetr no of employess:2
enetr name,department,bs,DA,hra,cca of 1st: AMAR ECE 180000 10 12 16
enetr name,department,bs,DA,hra,cca of 2st: PADMAJA CSE 150000 10 12 15
gross salary=248400.00
gross salary=205500.00
18) Predict the output of the following code.
SOURCE CODE:
#include<stdio.h>
int main()
{
char str[] = "peace";
char *s = str;
printf("%s\n", s++ +3);
return 0;
}
OUTPUT :ce
SOURCE CODE:
#include<stdio.h>
int main()
{
int ***r, **q, *p, i=8;
p = &i;
q = &p;
r = &q;
printf("%d, %d, %d\n", *p, **q, ***r);
return 0;
}
OUTPUT:8, 8, 8
20) Predict the output of the following code.
SOURCE CODE:
#include<stdio.h>
int main()
{
int a[3][4] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
printf("%u, %u, %u\n", a[0]+1, *(a[0]+1), *(*(a+0)+1));
return 0;
}
OUTPUT: 6487588, 2, 2
PART C
SOURCE CODE:
#include<stdio.h>
int main()
{
struct a
{
float category:5;
char scheme:4;
};
printf("size=%d", sizeof(struct a));
return 0;
}
OUTPUT:
Error (invald declaration)
SOURCE CODE:
#include<stdio.h>
int main()
{
struct value
{
int bit1:1;
int bit3:4;
int bit4:4;
}bit={1, 2, 13};
printf("%d, %d, %d\n", bit.bit1, bit.bit3, bit.bit4);
return 0;
}
OUTPUT:-1, 2, -3
#include<stdio.h>
int main()
{
enum days
{
MON=-1, TUE, WED=6, THU, FRI, SAT
};
printf("%d, %d, %d, %d, %d, %d\n", MON, TUE, WED, THU, FRI,SAT);
return 0;
}
OUTPUT: -1, 0, 6, 7, 8, 9
SOURCE CODE:
#include<stdio.h>
int main()
{
struct emp
{
char name[25];
intage;
floatbs;
};
struct emp e;
e.name = "suresh";
e.age = 25;
printf("%s %d\n", e.name, e.age);
return 0;
}
OUTPUT:
SOURCE CODE:
#include<stdio.h>
struct student {
char *name;
};
void main() {
struct student s, m;
s.name = "st";
m = s;
printf("%s%s", s.name, m.name);
}
OUTPUT: sts
SOURCE CODE:
#include<stdio.h>
char s[100];
char *fun(char s[]) {
static int i = 0;
if(*s) {
fun(s + 1);
s[i] = *s;
i++;
}
returns;
}
void main() {
char s[] = "sample code";
printf("%s", fun(s));
}
OUTPUT:
SOURCE CODE:
#include<stdio.h>
void main() {
char s1[7] = "1234",*p;
p = s1 + 2;
*p = "\0";
printf("%s", s1);
}
OUTPUT: 12
SOURCE CODE:
#include<stdio.h>
int main() {
static char *s[] = {"black", "white", "pink", "violet"};
char **ptr[] = {s+3, s+2, s+1, s}, ***p;
p = ptr;
++p;
printf("%s", **p+1);
return 0;
}
OUTPUT: ink
SOURCE CODE:
union A {
char ch;
int i;
float f;
}temp;
void main() {
temp.ch='A';
temp.i=777;
temp.f=12345.12345;
printf("%d", temp.i);
}
OUTPUT:
1178657918
#include<stdio.h>
void main() {
struct employee
{
unsigned id: 8;
unsigned sex:1;
unsigned age:7;
};
struct employee emp1={203,1,23};
printf("%d\t%d\t%d",emp1.id,emp1.sex,emp1.age);
}
OUTPUT:
203 1 23