E.Balagurusamy C PROGRAMMING EXERCISE SOLUTION :CHAPTER-2

Posted: May 21, 2012 in BCSE, Programming C

REVIEW   QUESTIONS
STATE WHETHER THE FOLLOWING STATEMENTS ARE  TRUE OR FALSE:

(a)   Any valid printable ANSII character can be used in an identifier. ( False )

(b)   All variables must be given a type when they are declared. ( True )
(c)    Declarations can appear anywhere in a program. ( False )
(d)    ANSI C treats the variable name and Name to be same. ( False )
(e)   The underscore can be used anywhere in an identifier. ( True )
(f)     The keyword void is a data type in C. ( True )
(g)   Floating point data constants, by default, denote float type values. ( False )
(h)   Like variables, constants have a type. ( True )
(i)     Character constants are coded using double quotes. (False )
(j)     Initialization is the process  of assigning a value to a variable at the time of declaration.   ( true )
(k)    All static variables are automatically initialized to zero. ( True )
(l)     The scanf function can be used to read only one value at a time. ( False )
Fill in the blanks with appropriate words:
(a)The keyword ……………..can be used to create a data type identifier.
Answer: int
(b) …………… is the largest value that an unsigned short int type variable can store.
Answer: 255
(c) A global variable is also known as …………….variable.
Answer: external
(d) A variable can be made constant by declaring it with the qualifier ……………. At the time of initialization.
Answer: constant
 
Question: What are trigraph characters? How are they useful?
Answer:
Trigraph characters is one kinds of character which consists of three characters ( Two question  marks and followed by another ).
Some keyboard does not support some characters. But we can use them by trigraph characters. If a keyboard does not support square brackets, we can still use them in a program using the trigraph ??( and ??) .
Question: Describe the four basic data types. How could we extend the range of values they represent?
Answer:
The basic four data types are:
(1)   Char
(2)   Int
(3)   Float
(4)   Void
            We cannot extend the range of character.
We could extend the range  of integer by using long beforeinteger.
We can extend the range of float by using double. To extend the precision further we may use long double.
Question: What is an unsigned integer constant? What is the significant of declaring a constant unsigned?
Answer:
The integer constant which does not take any + or – sign before it is called an unsigned integer constant.
We can take the value double using an unsigned integer constant. For example, a signed integer constant have a value between -32768 to +32767, but an unsigned integer constant takes the value between 0 to 65535.
Question: Describe the characteristics and purpose of escape sequence characters.
Answer:
C supports some special back slash character constants, that are used in output function. This characters are known as escape sequence characters. For example, the symbol “\n” stands for new line character.
Characteristics :
(1)   They acts as a single character.
(2)   Each escape sequence character consists of two characters.
(3)    The first character must be a back slash .
Purpose:
       (1) In a  program we used it for new line.
       (2)In a program we used it for horizontal tab.
Question: What is a variable and what is meant by “value” of a variable?
Answer:
A variable is a data name that may used to store a data value. Like constants that remains unchanged during the execution a program.
The meant of value it is a variable name and it can take any value like character, int, float and double.
Question: How do variables and symbolic names differ?
Answer:
A variable may be used to store data value. A variable may take different values at different times during execution of a program. Variables has need to declare at the beginning of the body but after the main.
Symbolic names is a unique constants. This constants may appear in a number of place in the program. Symbolic names has need to define at the beginning of a program.
 
Question: State the difference between the declaration of a variable and the definition of a symbolic name?
Answer:
Variables has need to declare at the beginning of the body but after the main. The syntax for declaring a variable is as follow:
                                        Data-type v1,v2,……..vn;
v1, v2,……..vn are the names of variables. For example, valid declarations are
                                                   int count;
                                                  int number,total;
                                                  float ratio;
Symbolic names has need to define at the beginning of a program.  A symbolic name constants is defined as follows:
                                 #define symbolic-name value of constant
Valid example of constant definations are:
                                 #define STRENGTH    100
                                 #define PASS MARK  5
 
Question: What is initialization? Why it is important?
Answer:
The process of giving initial values to variables is called initialization. Some examples are
                               int final_value =100;
                               char yes           =’x’;
                               double balance =75.84;
C permits the  initialization of more then one variable using multiple assignment operators.For example the statements
                            p=q=s=0;
                            x=y=z=MAX;
are valid.
 
 
Question: What are the qualifiers that an int can have at a time?
Answer:
A signed  int can take a value between -32768 to 32767 and an unsigned int can take a value 0 to 65535.
Question: Describe the purpose of the qualifiers constant and volatile.
Answer:
                   We may like the value of certain variables to remain constant during the excution of a program. We can achieve this by declaring the variable with the qualifier constant at the time of initialization. Example:
                   const int class_size=40;
      ANSI standard defines another qualifier volatile that  could be used to tell explicitly the complier that  a variables value may be changed at any time by some external sources ( from outside the program). For example:
                 volatile int date;
 
Question: When dealing with very small or very large numbers, what steps would you like you take to improve the accurancy of the calculation?
Answer:
When we are dealing with a very short number we can improve the accurancy of calculation by using a keyword short before the keyword. Example short int.
When we are dealing with a very large number we can improve the accurancy of calculation by using a keyword long before the keyword. Example  long int.
Question: Which of the following are invalid constants and why?
0.0001
Answer:  (valid)
5×1.5
Answer:  (Invalid)
Reason: Exponent must be an integer.
99999
Answer: Valid
Reason: Long integer.
+100
Answer: ( valid)
75.45E-2
Answer: ( Valid )
-45.6
Answer: ( Valid )
“15.75”
Answer: ( Invalid )
Reason: “” sign is not permitted.
-1.79e+4
Answer: (valid)
0.00001234
Answer: ( Valid )
Question: Which of the following are invalid variable and why?
Minimum
Answer: ( valid )
First.name
Answer: ( Invalid )
Reason:. Sign is not permitted.
N1+n2
Answer: ( Invalid )
Reason: + sign is not permitted.
&name
Answer: ( Invalid )
Reason: & is not permitted.
Doubles
Answer:  ( Valid )
Reason: Keyword may be a part of variable name.
3rd_row
Answer: ( Invalid )
Reason: First character must be a letter or underscore.
n$
Answer:  ( Invalid )
Reason: Dollar sign is not permitted.
Row1 ( Valid )
Float
Answer:  ( Invalid )
Reason: float is a keyword.
Sum Total
Answer: ( Invalid )
Reason: White space is not permitted.
Row Total
Answer: ( Invalid )
Reason: White space is not permitted.
Column total
Answer:  ( Invalid )
Reason: White space is not permitted.
Question: Find errors, if any, in the following declaration statements.
{
Intx;
float letter,DIGIT;
double=p,q;
exponent alpha,beta;
m,n.z:INTEGER
short char c;
long int m;count;
long float temp;
getch();
}
Error1: intx should have a type.
Error2: Line number 6, expression syntax.
Error3: Line number 7, Declaration should be properly.
Error4:Line number 9, Unreachable code.
 
Problem no 2.1: Write a program to determine and print the sum of the following harmonic series for a given value of n:
1+1/2+1/3+………………+1/n
Solve:
#include<stdio.h>
#include<conio.h>
Void main()
{
int n;
float I, sum, t;
clrscr();
printf(“1+1/2+1/3+……………+1/n\n”);
printf(“Enter the value of n\n”);
scanf(“%d”,&n);
sum=0;
for(i=1;i<=n;i++)
{
t=1/i;
sum=sum+t;
}
printf(“%f”,sum);
getch();
}
Output:
1+1/2+1/3+………….+1/n
Enter the value of n
4
2.083333
 
The value of n should be given interactively through the terminal.
Problem no 2.2: Write a program to read the price of an item in decimal form (  like 15.95 ) and print the output in paisa ( like 1595 paisa) .
Solve:
#include<stdio.h>
#include<conio.h>
void main()
{
int b;
float a;
a=15.95;
clrscr();
b=100*a;
printf(“%d”,b);
getch();
}
Output:
1595
Problem no 2.3: Write a program that’s prints the even numbers from 1 to 100.
 #include<stdio.h>
#include<conio.h>
void main()
{
int i;
for(i=1;i<=100;i++)
{
if(i%2==0)
printf(”  %d”,i);
}
getch();
}
Output
2  4  6  8  10  12  14  16  18  20  22  24  26  28  30  32  34  36  38  40  42 44  46  48  50  52  54  56  58  60  62  64  66  68  70  72  74  76  78  80  82 84  86  88  90  92  94  96  98  100
Problem no 2.4: Write a program that request two float type numbers from the users and then divides the first number by the second and display the result along with the numbers.
Solve:
#include<stdio.h>
#include<conio.h>
void main()
{
float  number1, number2, number3;
clrscr();
printf(“Enter the value of number1 and number2\n”);
scanf(“%f %f”,&number1,&number2);
number3=number1/number2;
printf(“%f/%f=%f”,number1,number2,number3);
getch();
Output:
Enter the value of number1 and number2
15.5
6.6
15.5/6,6=2.348484
Problem no 2.5: The price of one kg of rice is Rs. 16.75 and one kg of sugar is Rs. 15. Write a program to get these values from the user and display the prices as follows:
         ***LIST OF ITEMS***
            Item                 Price
            Rice                 Rs 16.75
            Sugar               Rs 15.00
Solve:
#include<stdio.h>
#include<conio.h>
void main ()
{
float Rice,Sugar;
Rice=16.75;
Sugar=15.00;
clrscr();
printf(“***LIST OF ITEMS***\n”);
printf(“Item \tPrice\n”);
printf(“Rice\tRs%.2f\n”,Rice);
printf(“Sugar\tRs%.2f\n”,Sugar);
getch();
}
Output:
***LIST OF ITEMS***
Item            Price
Rice             Rs16.75
Question: Identify syntax errors in the following program. After correcting, what output would you expect when you execute it.
#include<stdio.h>
#include<conio.h>
#define PI 3.14159
void main()
{
int R,C;
float perimeter;
float area;
C=PI;
R=5;
perimeter=2.0*C*R;
Area = C*R*R;
printf(“%f”, “%d”,&perimeter,&area)
}
Errors:
Cpp 10: Undefined symbol Area.
Cpp 12:statement missing,in function{}
Cpp12: compound statement missing.
Solve:
#include<stdio.h>
#include<conio.h>
#define PI 3.14159
void main()
{
int R,C;
float perimeter,Area;
C=PI;
R=5;
perimeter=2.0*C*R;
Area = C*R*R;
printf(“%f %f”,perimeter,Area);
getch();
}
About these ads
Comments
  1. satyam says:

    in first fill in the blanks the right answer is ‘typedef’ instead of ‘int’

  2. satyam says:

    in first fill in the blanks the right answer is ‘typedef’ instead of ‘int’
    heartly thanks for such a work…… keep it up
    it is very helpful

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s