Upcoming SlideShare
Loading in …5
×

# Revision1 C programming

1,273 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
Your message goes here
• Be the first to comment

• Be the first to like this

No Downloads
Views
Total views
1,273
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
18
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

### Revision1 C programming

1. 1. UNIVERSITI TUN HUSSEIN ONN MALAYSIA FACULTY OF MECHANICAL AND MANUFACTURING ENGINEERING BTI 10202: COMPUTER PROGRAMMING REVISION EXERCISES NAME : ________________________________ MATRICS NO.: _______________ DATE : _____________1. Determine, as best you can, the purpose of each of the following C programs. Identify allvariables within each program. Identify all input and output statements, all assignmentstatements, and any other special features that you recognize. int smaller ( int a, int b); main( ) { int a, b, min; printf ( "Please enter the first number: " ) ; scanf ("%d" , &a) ; printf ("Please enter the second number: " ) ; scanf ( "%d", &b); min = smaller(a, b); printf ( " n The smaller number is : %d", min); int smaller ( int a, int b) { if (a <= b) return(a); else return(b); }2. Determine which of the following are valid identifiers. If invalid, explain why.(a) record1 (e) \$tax (h) name_and_address(b) 1record (f) name (i) name-and-address(c) file_3 (g) name and address (j) 123-45 -6789(d) return3. Write appropriate declarations for each group of variables and arrays. (a) Integer variables: p, q Floating-point variables: x , y , z Character variables: a, b, c (b) Floating-point variables: root1 , root2 Long integer variable: counter Short integer variable: f l a g
2. 2. 4. Explain the purpose of each of the following expressions. (a) a - b (d) a >= b (f) a < ( b / c ) (b) a * (b + c) (e) (a % 5 ) == 0 (g) --a (c) d = a * (b + c)5. Suppose a, b and c are integer variables that have been assigned the values a = 8, b = 3 and c =-5. Determine the value of each of the following arithmetic expressions. (a) a + b + c (f) a % c (b) 2 * b + 3 * ( a - c ) (g) a * b / c (c) a / b (h) a * (b / c) (d) a % b (i) (a * c) % b (e) a / c (j) a * (c % b)6. Suppose x, y and z are floating-point variables that have been assigned the values x = 8.8, y =3.5 and z = -5.2. Determine the value of each of the following arithmetic expressions. (a) x + y + z (b) 2 * y + 3 * ( x - z ) (c) x / y (d) x % y7. A C program contains the following declarations and initial assignments: int i= 8, j = 5, k; float x = 0.005, y = -0.01, z; char a, b, c = c , d = ‘d ;Determine the value of each of the following assignment expressions. Use the values originallyassigned to the variables for each expression. (a) k = (i + j ) (i) z = k = x (b) z = (x + y) (j) k = z = x (c) i = j (k) i += 2 (d) k = (x + y) (l) y -= x (e) k = c (m) x *= 2 (f) z = i / j (n) i /= j (g) a = b = d (o) i %= j (h) i= j = 1.1 (p) i+= ( j - 2)8. A C program contains the following declarations and initial assignments: int i = 8, j = 5; double x = 0.005, y = -0.01; char c = c’ , d = ‘d;Determine the value of each of the following expressions, which involve the use of libraryfunctions.(a) abs(i - 2 * j ) (g) exp(x)(b) fabs(x + y) (h) log(x)(c) ceil(x) (i) log(exp(x))(d) ceil(x + y) (j) sqrt(x*x + y*y)(e) floor(x) (k) sin(x - y)(f) floor(x + y) (l) sqrt(sin(x) + cos(y))
3. 3. 9. A C program contains the following statements: #include <stdio.h> char a, b, c;(a) Write appropriate getchar statements that will allow values for a, b and c to be entered into thecomputer.(b) Write appropriate putchar statements that will allow the current values of a, b and c to bewritten out of the computer (i.e., to be displayed).10. Solve Prob. 9 using a single scanf function and a single print f function rather than the getcharand putchar statements.11. A C program contains the following statements: #include <stdio.h> int i, j, k;Write a printf function for each of the following groups of variables or expressions. Assume allvariables represent decimal integers. (a) i, j and k (b) (i + j), (i - k) (c) sqrt(i + j),abs(i - k)12. A C program contains the following statements. #include <stdio.h> char text [ 80];Write a printf function that will allow the contents of text to be displayed in the following ways. (a) Entirely on one line. (b) Only the first eight characters. (c) The first eight characters, preceded by five blanks. (d) The first eight characters, followed by five blanks.13. A C program contains the following array declaration. char text[80];Suppose that the following string has been assigned to text.Programming with C can be a challenging creative activity.Show the output resulting from the following printf statements.(a) printf ( "%s", text ) ; (d) printf ( "%18.7s", text ) ;(b) printf ("%18s", text ) ; (e) printf ( " % -18.7s " , text ) ;(c) printf ( “%.18s", text ) ;14. Write a switch statement that will examine the value of a char-type variable called color andprint one of the following messages, depending on the character assigned to color. (a) RED, if either r or R is assigned to color, (b) GREEN, if either g or G is assigned to color, (c) BLUE, if either b or B is assigned to color, (d) BLACK, if color is assigned any other character
4. 4. 15. Write an appropriate control structure that will examine the value of a floating-point variablecalled temp and print one of the following messages, depending on the value assigned to temp. (a) ICE, if the value of temp is less than 0. (b) WATER, if the value of temp lies between 0and 100. (c) STEAM, if the value of temp exceeds 100.Can a switch statement be used in this instance?16. Describe the output that will be generated by each of the following C program. #include <stdio. h> main ( ) { int i = 0, x = 0; while(i<20){ if (i % 5 == 0) { x += i; printf("%d ", x); } ++i ; } printf(nx = %d", x); }17. What is meant by a function call? From what parts of a program can a function be called?18. Can a function be called from more than one place within a program?19. When a function is accessed, must the names of the actual arguments agree with the names ofthe arguments in the corresponding function prototype?20. Each of the following is the first line of a function definition. Explain the meaning of each.(a) float f ( float a, float b) (c) void f ( int a)(b) long f (long a) (d) char f (void)21. Write an appropriate function call (function access) for each of the following functions.(a) float formula(f1oat x) (b) void display ( int a, int b){ {float y; int c;y = 3 * x - 1; c = sqrt(a * a + b * b);return ( y ) ; printf ( " c = % i n " , c ) ;} }
5. 5. 22. Write the first line of the function definition, including the formal argument declarations, foreach of the situations described below.(a) A function called sample generates and returns an integer quantity.(b) A function called root accepts two integer arguments and returns a floating-point result.(c) A function called convert accepts a character and returns another character.(d) A function called transfer accepts a long integer and returns a character.(e) A function called inverse accepts a character and returns a long integer.(f) A function called process accepts an integer and two floating-point quantities (in that order),and returns a double-precision quantity.23. Explain the meaning of each of the following declarations.(a) int *px;(b) float a = -0.167; float *pa = &a;24. A C program contains the following statements. float a = 0.001, b = 0.003; float c, *pa, *pb; pa = &a; *pa = 2 * a; pb = &b; c = 3 * (*pb - *pa);Suppose each floating-point number occupies 4 bytes of memory. If the value assigned to a beginsat (hexadecimal) address 1130, the value assigned to b begins at address 1134, and the valueassigned to c begins at 1138, then(a) What value is assigned to &a?(b) What value is assigned to &b?(c) What value is assigned to &c?(d) What value is assigned to pa?(e) What value is represented by *pa?(f) What value is represented by &( *pa)?(g) What value is assigned to pb?(h) What value is represented by *pb?(i) What value is assigned to c?Multiple selection questions1. Which of the following is the correct variable definition? a. 123_name b. &name c. Name_1 d. #name@2. Which of the following is not a data type in C? a. Integer b. Double c. data d. unsigned
6. 6. 3. How would you assign the value 3.14 to a variable called pi? a. int pi; b. unsigned pi; pi=3.14; pi=3.14; c. string pi; d. float pi; pi=3.14; pi=3.14;4. A common mistake for new students is reversing the assignment statement. Suppose you wantto assign the value stored in the variable "pi" to another variable, say "pi2": i. What is the correct statement? a. pi2 = pi; b. pi = pi2; ii. What is the reverse? Is this a valid C statement (even if it gives incorrect results)? a. pi2 = pi; is a valid C statement if pi b. pi = pi2; is a valid C statement if is not a constant. pi is not a constant.iii. What if you wanted to assign a constant value (like 3.1415) to "pi2": What would the correctstatement look like? Would the reverse be a valid or invalid C statement? a. pi2 = 3.1415; b. 3.1415 = pi2; The reverse is not a valid statement. The reverse is a valid statement.5. scanf() is a very powerful function. What does it do?a. scanf echos characters from the standard input, interprets them according to the specification in format, and stores the results through the remaining arguments.b. scanf displays characters from the standard input, interprets them according to the specification in format, and stores the results through the remaining arguments.c. scanf is the input analog of printf, providing many of the same conversion facilities in the opposite direction.d. scanf is the output analog of printf, providing many of the same conversion facilities in the opposite direction.6. Write the scanf() function call that will read into the variable "var": i. a float ii. an int iii. a double a. scanf("%f",&var); b. scanf("%f",&var); scanf("%d",&var); scanf("%d",&var); scanf("%d", &var); scanf("%lf", &var); c. scanf("%f",&var); d. scanf("%f",&var); scanf("%i",&var); scanf("%d",&var); scanf("%u", &var); scanf("%s", &var);
7. 7. 7. What is the output for the following program? #include<stdio.h> main() { int a,b; float c,d; a = 18; b = a / 2; printf("%dn",b); printf("%2dn",b); printf("%04dn",b); c = 18.3; d = c / 3; printf("%5.3fn",d); printf(":%-15.10s:n", "Are you ready?!"); getch(); } a. 9 b. 9 9 9 0009 0009 6.100 6.100 :Are you re : :Are you re : c. 9 d. 9 9 9 0009 0009 6.100 6.10 :Are you read : :Are you re :
8. 8. 8. Which of the following flowchart is best suitable for multiple choices problem?(a) While, for, do-while (b) If – else selection(c) Case structures
9. 9. 9. Write a complete program that outputs a right isosceles (with (at least) two equal sides) triangleof height and width n, so n = 6 would look like*********************The triangle function is given as below:void isosceles(int n){ int x,y; for (y= 0; y < n; y++) { for (x= 0; x <= y; x++) putchar(*); putchar(n); }} a. #include<stdio.h> b. #include<stdio.h> #include<conio.h> #include<conio.h> void isosceles(int n); void isosceles(int n) { main() int x,y; { for (y= 0; y < n; y++) int n; { printf("n insert no of rows of your for (x= 0; x <= y; x++) triangle:"); putchar(*); scanf("%d",&n); putchar(n); isosceles(n); } } getch(); main() } { void isosceles(int n) int n; { printf("n insert no of rows of your int x,y; triangle:"); for (y= 0; y < n; y++) scanf("%d",&n); { for (x= 0; x <= y; x++) getch(); putchar(*); } putchar(n); } }
10. 10. c. #include<stdio.h> d. #include<stdio.h> #include<conio.h> #include<conio.h> void isosceles(int n); void isosceles(int n) { main() int x,y; { for (y= 0; y < n; y++) int n; { printf("n insert no of rows of your for (x= 0; x <= y; x++) triangle:"); putchar(*); scanf("%d",&n); putchar(n); } getch(); } } void isosceles(int n) main() { { int x,y; int n; for (y= 0; y < n; y++) printf("n insert no of rows of your { triangle:"); for (x= 0; x <= y; x++) isosceles(n); putchar(*); putchar(n); getch(); } } }10. What is the correct output of the following code? #include <stdio.h> #include <conio.h> a. Please input two numbers to be multiplied: 1 int mult ( int x, int y ); 5 The product of your two int main() { numbers is 5 int x; int y; b. Please input two numbers to be multiplied: 1 printf( "Please input two 5 numbers to be multiplied: " ); scanf( "%d", &x ); The product of your two scanf( "%d", &y ); numbers is 15 printf( "The product of your two numbers is %dn", mult( x, c. The product of your two y ) ); getch(); numbers is 15 } d. The product of your two int mult (int x, int y) numbers is 5 { return x * y; }
11. 11. 11. How many functions are there (including main function) in the coding? #include<stdio.h> #include<conio.h> void myFunction(); int add(int, int); int main() { myFunction(); printf("nn%d",add(10,15)); getch(); } void myFunction() { printf("This is inside function :D"); } int add(int a, int b) { return a+b; } a. 1 b. 2 c. 3 d. 412. What is the output of the program in Ques.11? a. This is inside function :D b. 25 c. 25 This is inside function :D d. This is inside function :D 2513. Below are the advantages of using functions except?a. It makes possible top down modular programming. In this style of programming, the high level logic of the overall problem is solved first while the details of each lower level functions is addressed later.
12. 12. b. The length of the source program can be reduced by using functions at appropriate places.c. It becomes complicated to locate and separate a faulty function for further study.d. A function may be used later by many other programs this means that a c programmer can use function written by others, instead of starting over from scratch.14. The correct output for the following function is: #include<stdio.h> #include<conio.h> void add(int x,int y) { int result; result = x+y; printf("Sum of %d and %d is %d.nn",x,y,result); } main() { add(10,15); add(55,64); add(168,325); getch(); }a. Sum of 10 and 15 is 25. Sum of 55 and 64 is 119. Sum of 168 and 325 is 493.b. Sum of 10 and 15 is 25. Sum of 168 and 325 is 493. Sum of 55 and 64 is 119.c. Sum of 20 and 15 is 25. Sum of 65 and 64 is 119. Sum of 168 and 325 is 493.d. Sum of 55 and 64 is 117. Sum of 10 and 15 is 25. Sum of 168 and 325 is 493.