ਪ੍ਰਸ਼ਨ 4: ਪ੍ਰਸ਼ਨਾਂ ਦੇ
ਉੱਤਰ ਦਿਓ
4.1 ਆਰਗੂਮੈਂਟ (Argument) ਅਤੇ ਪੈਰਾਮੀਟਰ (Parameter) ਦੇ ਵਿਚ ਫਰਕ ਦੱਸੋ?
Ans. ਇਕ ਫੰਕਸ਼ਨ ਨੂੰ ਪਰਭਾਸ਼ਿਤ ਕਰਦੇ ਸਮੇਂ ਜਿਨ੍ਹਾਂ ਵੈਰੀਏਬਲ
ਦਾ ਇਸਤੇਮਾਲ ਡਾਟਾ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਨੂੰ ਪੈਰਾਮੀਟਰ (Parameter) ਕਿਹਾ ਜਾਂਦਾ ਹੈ।
int
function1(int x, int y) // x and y are
parameters
{
//body
of function
}
ਆਰਗੂਮੈਂਟ (Argument) ਉਹ ਅਸਲੀ ਡਾਟਾ (ਕਾਂਸਟੈਂਟ, ਵੈਰੀਏਬਲ ਜਾਂ ਐਕਸਪ੍ਰੇਸ਼ਨ) ਹੁੰਦਾ ਹੈ ਜੋ ਕਿ ਇਕ ਫੰਕਸ਼ਨ ਦੇ ਸਦੇ (Calling a Function) ਸਮੇਂ ਪਾਸ (Pass) ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
z = function1(4, 7);
// 4 and 7 are arguments
4.2 ਫੰਕਸ਼ਨ ਡਿਕਲੇਅਰੇਸ਼ਨ (Function Declaration) ਦੀ ਕੀ ਲੋੜ ਹੁੰਦੀ ਹੈ?
Ans. ਸੀ ਭਾਸ਼ਾ ਦੀ ਇਕ ਵਿਸ਼ੇਸ਼ਤਾ ਹੈ ਕਿ ਇਸ ਵਿਚ ਪ੍ਰੋਗਰਾਮਰ
ਦੁਆਰਾ ਬਣਾਈ ਜਾਣ ਵਾਲੀ ਕਿਸੇ ਵੀ ਵਸਤੂ ਬਾਰੇ ਪਹਿਲਾ ਤੋ ਦੱਸਣਾ ਪੈਂਦਾ ਹੈ ਜਿਸ ਵਿੱਚੋ ਕੰਪਾਈਲਰ ਨੂੰ ਸੂਚਨਾ
ਪ੍ਰਾਪਤ ਕਰਨਾ ਆਸਾਨ ਰਹਿੰਦਾ ਹੈ, ਜਿਸ ਨੂੰ ਸੀ ਭਾਸ਼ਾ ਵਿੱਚ ਡਿਕਲੇਅਰੇਸ਼ਨ ਕਿਹਾ ਜਾਂਦਾ ਹੈ
ਜਿਵੇਂ ਕਿ ਵੈਰੀਏਬਲ ਡਿਕਲੇਅਰੇਸ਼ਨ ਆਦਿ। ਇਸ ਤਰ੍ਹਾਂ ਸੀ ਭਾਸ਼ਾ ਵਿੱਚ ਯੂਜ਼ਰ ਡਿਫਾਇਂਡ ਫੰਕਸ਼ਨਾਂ
ਨੂੰ ਪ੍ਰਭਾਸ਼ਿਤ ਕਰਨ ਤੋ ਪਹਿਲਾ ਉਨ੍ਹਾਂ ਨੂੰ ਡਿਕਲੇਅਰ ਕਰਵਾਉਣਾ (ਫੰਕਸ਼ਨ ਡਿਕਲੇਅਰੇਸ਼ਨ) ਜ਼ਰੂਰੀ
ਹੈ।
4.3 ਫੰਕਸ਼ਨ ਪਰਿਭਾਸ਼ਾ (Function Definition) ਫੰਕਸ਼ਨ ਡਿਕਲੇਅਰੇਸ਼ਨ ਤੋਂ ਕਿਵੇਂ ਭਿੰਨ
ਹੁੰਦੀ ਹੈ?
Ans. ਫੰਕਸ਼ਨ ਡਿਕਲੇਅਰੇਸ਼ਨ ਸੀ ਭਾਸ਼ਾ ਦੇ ਕੰਪਾਈਲਰ (compiler) ਨੂੰ ਫੰਕਸ਼ਨ ਦੇ ਨਾਮ, ਪੈਰਾਮੀਟਰ ਅਤੇ ਵਾਪਸ ਕੀਤੀ ਜਾਣ
ਵਾਲੇ ਡਾਟਾ ਦੇ ਟਾਈਪ ਬਾਰੇ ਦੱਸਦਾ ਹੈ। ਜਦਕਿ ਇਹ ਸਭ ਸੂਚਨਾ ਫੰਕਸ਼ਨ ਪਰਿਭਾਸ਼ਾ ਦੇ ਨਾਲ ਵੀ ਦਿੱਤੀ
ਗਈ ਹੁੰਦੀ ਹੈ ਪਰ ਫੰਕਸ਼ਨ ਪਰਿਭਾਸ਼ਾ ਦੇ ਨਾਲ ਫੰਕਸ਼ਨ ਦੀ ਬਾਡੀ (ਸਟੇਟਮੈਂਟਾਂ) ਵੀ ਲਿਖੀ ਜਾਂਦੀ
ਹੈ।
4.4 return ਸਟੇਟਮੈਂਟ ਕਿਹੜੀ ਭੂਮਿਕਾ ਨਿਭਾਉਂਦਾ
ਹੈ?
Ans. ਇਕ ਫੰਕਸ਼ਨ (Called
Function) ਬੁਲਾਏ ਜਾ ਰਹੇ ਫੰਕਸ਼ਨ (Calling Function) ਨੂੰ ਕੋਈ ਮੁੱਲ ਵਾਪਸ ਭੇਜ ਵੀ ਸਕਦਾ ਹੈ ਤੇ ਨਹੀ ਵੀ। ਜੇਕਰ ਮੁੱਲ ਵਾਪਸ ਭੇਜਿਆ ਜਾਂਦਾ ਹੈ
ਤਾਂ ਇਹ return ਸਟੇਟਮੈਂਟ ਦੁਆਰਾ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਜੇਕਰ return ਸਟੇਟਮੈਂਟ ਨੂੰ ਨਹੀ ਲਿਖਿਆ ਗਿਆ ਤਾਂ ਇਸ ਦਾ ਮਤਲਬ ਹੈ
ਕਿ calling ਫੰਕਸ਼ਨ ਨੂੰ ਕੋਈ ਮੁੱਲ ਵਾਪਿਸ ਨਹੀ ਭੇਜਿਆ ਗਿਆ।
4.5 ਫੰਕਸ਼ਨ ਦੀ execution ਕਦੋ ਸਮਾਪਤ ਹੁੰਦੀ ਹੈ?
Ans. ਇਕ ਫੰਕਸ਼ਨ ਦੀ execution ਦੀ ਸਮਾਪਤੀ ਉਸ ਦੀ ਬਾਡੀ ਵਿੱਚ ਲਿਖੀਆਂ ਗਈਆਂ ਸਭ ਸਟੇਟਮੈਂਟਾਂ ਦੇ ਲੜੀਵਾਰ ਲਾਗੂ ਹੋ ਜਾਣ
ਤੋ ਬਾਅਦ ਜਾਂ ਫਿਰ return ਸਟੇਟਮੈਂਟ ਦੇ ਲਾਗੂ ਹੋਣ ਤੇ ਹੁੰਦੀ ਹੈ।
4.6 ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਤੋ
ਲਾਭ ਦੱਸੋ?
Ans. 1. ਇਹ ਟਾਪ-ਡਾਊਨ ਮਾਡਯੂਲਰ ਪ੍ਰੋਗਰਾਮਿੰਗ ਨੂੰ ਉਤਸ਼ਾਹਿਤ ਕਰਦਾ ਹੈ।
2.
ਇਹ ਪੁਨਰ-ਵਰਤੋ ਨੂੰ ਵੀ ਪ੍ਰੋਤਸਾਹਿਤ ਕਰਦਾ ਹੈ।
3.
ਡਿਬਗਿੰਗ ਆਸਾਨ ਹੁੰਦੀ ਹੈ।
4.
ਇਹ ਬੇਹੱਦ ਸਾਂਝੀ ਵਰਤੋਂ ਵਾਲੇ ਉਪ-ਪ੍ਰੋਗਰਾਮਾਂ (functions) ਦੀ ਇਕ ਲਾਇਬ੍ਰੇਰੀ ਬਣਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।
4.7 ਨਿਮਨਲਿਖਤ ਫੰਕਸ਼ਨ
ਡਿਕਲੇਅਰੇਸ਼ਨ ਦੀ ਵਾਕ ਰਚਨਾ ਵਿਚ ਕਿਹੜੀ ਗਲਤੀ ਹੈ?
void fun1(int param1, float param2);
{…….
……
….}
Ans. ਉਪਰੋਕਤ ਫੰਕਸ਼ਨ ਪਰਿਭਾਸ਼ਾ ਵਿੱਚ ਫੰਕਸ਼ਨ ਹੈਡਰ ਦੇ ਅੰਤ
ਵਿੱਚ ਸੈਮੀਕਾਲਮ (;) ਲਿਖਿਆ ਹੋਇਆ ਹੈ, ਜੋ ਕਿ ਗਲਤ ਹੈ।
4.8 ਨਿਮਨਲਿਖਤ ਫੰਕਸ਼ਨ ਪਰਿਭਾਆ ਵਿਚ ਕੀ
ਗਲਤ ਹੈ?
test_function (int k)
{
float
temp=5.34;
temp = k/2.0;
return temp;
}
Ans. ਉਪਰੋਕਤ ਫੰਕਸ਼ਨ
ਦੇ ਹੈਡਰ ਵਿੱਚ return-type ਨਹੀ ਦਿੱਤਾ ਗਿਆ, ਜੋ ਕਿ ਗਲਤ ਹੈ ਕਿਉਂਕਿ ਇਸ ਦਾ ਅਰਥ ਹੈ ਕਿ ਇਸ
ਫੰਕਸ਼ਨ ਦਾ ਮੁਢਲਾ ਰਿਟਰਨ-ਟਾਈਪ (default return-type) int ਹੋਵੇਗਾ, ਜਦਕਿ return ਸਟੇਟਮੈਂਟ ਵਿੱਚ ਵਾਪਸ
ਕੀਤਾ ਜਾ ਰਿਹਾ ਡਾਟਾ ਦਾ ਟਾਇਪ float ਹੈ।
4.9 ਫੰਕਸ਼ਨ ਦੀ ਬਣਤਰ ਦੱਸੋ?
ਉ. return-type function-name(argument list)
{
local
variable declarations;
statements;
return(expression);
}
4.10 ਸਟੋਰੇਜ ਸ਼੍ਰੇਣੀਆਂ ਦੇ ਨਾਮ ਦੱਸੋ?
ਉ. 1. Automatic (ਆਟੋਮੈਟਿਕ)
2.
External (ਐਕਸਟਰਨਲ)
3.
Static (ਸਟੈਟਿਕ)
4.
Register (ਰਜਿਸਟਰ)
4.11 ਸਟੈਟਿਕ ਵੈਰੀਏਬਲ ਦੀ ਕੀ ਵਿਸ਼ੇਸ਼ਤਾ ਹੈ?
ਉ. ਸਟੈਟਿਕ ਵੈਰੀਏਬਲ ਦਾ
ਪਹਿਲਾ ਮੁੱਲ ਜ਼ੀਰੋ (0) ਹੁੰਦਾ ਹੈ। ਇਨ੍ਹਾਂ ਦੇ
ਮੁੱਲ ਕਾਇਮ ਰਹਿੰਦੇ ਹਨ। ਜੇਕਰ ਕੰਟਰੋਲ ਮੁੜ ਉਸੇ
ਫੰਕਸ਼ਨ ਵਿੱਚ ਵਾਪਸ ਆ ਜਾਂਦਾ ਹੈ ਤਾਂ ਸਟੈਟਿਕ ਵੈਰੀਏਬਲ ਦਾ ਉਹੀ ਮੁੱਲ ਰਹਿੰਦਾ ਹੈ ਜਿਹੜਾ ਉਸ
ਵਿੱਚ ਪਿਛਲੇ ਸਮੇਂ ਤੇ ਸੀ।
ਸਹੀ ਮਿਲਾਨ ਕਰੋ
1
|
ਲਾਈਬ੍ਰੇਰੀ ਫੰਕਸ਼ਨ
|
A
|
ਰਸਮੀ ਮੁੱਲ
|
2
|
ਯੂਰਜ ਡਿਫਾਇੰਡ ਫੰਕਸ਼ਨ
|
B
|
ਅਸਲ ਮੁੱਲ
|
3
|
ਪੈਰਾਮੀਟਰ
|
C
|
#include
|
4
|
ਆਰਗੂਮੈਂਟ
|
D
|
ਮੁੱਲ ਵਾਪਸ ਕਰਨਾ
|
5
|
ਰਿਟਰਨ ਸਟੇਟਮੈਂਟ
|
E
|
ਫੰਕਸ਼ਨ ਕਾਲ ਕਰਨਾ
|
6
|
ਪ੍ਰੀਪ੍ਰੋਸੈਸਰ ਸਟੇਟਮੈਂਟ
|
F
|
ਮੁੱਢਲੀ ਡਾਟਾ ਟਾਈਪ
|
7
|
ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ
|
G
|
ਬਿਲਟ ਇੰਨ
|
8
|
void
|
H
|
ਪ੍ਰਭਾਸ਼ਿਤ ਕਰਨਾ ਪੈਂਦਾ ਹੈ
|
ਉੱਤਰ
1
|
ਲਾਈਬ੍ਰੇਰੀ ਫੰਕਸ਼ਨ
|
G
|
ਬਿਲਟ ਇੰਨ
|
2
|
ਯੂਰਜ ਡਿਫਾਇੰਡ ਫੰਕਸ਼ਨ
|
H
|
ਪ੍ਰਭਾਸ਼ਿਤ ਕਰਨਾ ਪੈਂਦਾ ਹੈ
|
3
|
ਪੈਰਾਮੀਟਰ
|
A
|
ਰਸਮੀ ਮੁੱਲ
|
4
|
ਆਰਗੂਮੈਂਟ
|
B
|
ਅਸਲ ਮੁੱਲ
|
5
|
ਰਿਟਰਨ ਸਟੇਟਮੈਂਟ
|
D
|
ਮੁੱਲ ਵਾਪਸ ਕਰਨਾ
|
6
|
ਪ੍ਰੀਪ੍ਰੋਸੈਸਰ ਸਟੇਟਮੈਂਟ
|
C
|
#include
|
7
|
ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ
|
E
|
ਫੰਕਸ਼ਨ ਕਾਲ ਕਰਨਾ
|
8
|
void
|
F
|
ਮੁੱਢਲੀ ਡਾਟਾ ਟਾਈਪ
|
Comments
Post a Comment