1 / 24

# Let’s stay fresh with C. What does this print? - PowerPoint PPT Presentation

Let’s stay fresh with C. What does this print?. void mystery( int * x); main(){ int a = 5; mystery(&a); printf ("%d\ n",a ); } void mystery( int * x){ int y; y = 2 * *x; *x = 3; }. a ) 5. b) 10. c) 6. d) 3. What is the final value of a[4]?. int i ;

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about ' Let’s stay fresh with C. What does this print?' - bedros

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

void mystery(int * x);

main(){

int a = 5;

mystery(&a);

printf("%d\n",a);

}

void mystery(int * x){

int y;

y = 2 * *x;

*x = 3;

}

a) 5

b) 10

c) 6

d) 3

inti;

float a[10]={1.0, 5.3, -2.1, 2.0};

for(i=1; i<10; i++){

a[i] = a[i-1]+a[i];

}

a) 2

b) 6.2

c) undefined

d) 0.0

Which of the following is false about a function being passed an array?

a)it knows the size of the array it was passed

b) it is passed the address of the first element in the array

c) it is able to modify the values stored in the array

d) all of the above are true

Fill in the blank to print 1 2 3 4 5? passed an array?

#define SIZE 10

void mystery(int a[], int num);

main(){

int data[SIZE] = {1,2,3,4,5,6,7,8,9,10};

mystery(____________);

}

void mystery(int a[], int num){

inti;

for(i=0; i<num; i++){

printf("%d ", a[i]);

}

printf("\n");

}

c) data, SIZE

d) data[SIZE]

a) data, 5

b) *data,5

Assume the variable x is stored at memory location 1000 and y is stored at memory location 1004. What are the values of x, y, and *y after executing the following block of C code?

intx = 5;

int *y;

y = &x;

x = 7;

a)x = 7, y = 1004, *y = 7

b) x = 7, y = 1000, *y = 5

c) x = 7, y = 1000, *y = 7

d) x = 7, y = 5, *y = 5

What does this print out? y is stored at memory location 1004. What are the values of x, y, and *y after executing the following block of C code?

#include <stdio.h>

intmyFunction(int x[], int num);

int main(void){

int result=0;

int array[3] = {5, 2, -3};

result = myFunction(array,3);

printf(“%d, %d\n”, array[1], array[2]);

}

intmyFunction(int x[], int num){

x[1] = 4;

x[2] = 7;

return(x[1]+x[2]);

}

a) 5, 2

b) 5, 11

c) 4, 7

d) 2, 11

• SWITCHING GEARS TO MATLAB… y is stored at memory location 1004. What are the values of x, y, and *y after executing the following block of C code?

Will this piece of code work y is stored at memory location 1004. What are the values of x, y, and *y after executing the following block of C code?? If not, why?

>>A = [1 2 3; 3 5 6]

>>B = [2 4 6; 6 10 18]

>>C = B*A

This code will not work because ‘*’ is used for matrix

multiplication and in matrix multiplication you need

the same number of columns in B as rows in A.

Will this piece of code work y is stored at memory location 1004. What are the values of x, y, and *y after executing the following block of C code?? If not, why?

>>A = [1 2 3; 3 5 6]

>>B = [2 4 6; 6 10 18]

>>C = B.*A

This code will work because ‘.*’ means multiply each

element of B with the same element of A. In order to

use ‘.*’, A and B need to be the same dimensions.

What does C store? y is stored at memory location 1004. What are the values of x, y, and *y after executing the following block of C code?

>>A = [1 2 3; 3 5 6;1 2 1]

>>B = [2 4 ; 61]

>>C = B.*A(2:3,1:2)

2 8

18 5

a) 6 20

6 2

10 24

12 1

4 12

30 6

What does B store? y is stored at memory location 1004. What are the values of x, y, and *y after executing the following block of C code?

>>A = [1 2 3; 3 5 6;1 2 1]

>>B = max(A)

3 6 2

a) 6

3 5 6

6 5 6

What does C store? y is stored at memory location 1004. What are the values of x, y, and *y after executing the following block of C code?

>>A = [1 2 3; 3 5 6;1 2 1]

>>B = max(A)

>>C=max(B)

3 6 2

a) 6

3 5 6

6 5 6

What does B and C store? y is stored at memory location 1004. What are the values of x, y, and *y after executing the following block of C code?

>>A = [1 2 3; 3 5 6;1 2 1]

>>[B,C] = max(A)

B = 3 6 2

C = 3 3 2

B= 6

C = 4

B = 3 5 6

C = 2 2 2

B = 6 5 6

C = 1 1 1

What does D and E store? y is stored at memory location 1004. What are the values of x, y, and *y after executing the following block of C code?

>>A = [1 2 3; 3 5 6;1 2 1]

>>[B,C] = max(A)

>>[D,E] = max(B)

D = 6

E = 3

D= 6

E = 4

D = 3 5 6

E = 3

D = 6

E = 2

TOPIC CHANGE: y is stored at memory location 1004. What are the values of x, y, and *y after executing the following block of C code?Exploring data

Define x and y and call the plot function y is stored at memory location 1004. What are the values of x, y, and *y after executing the following block of C code?

Engineers always add … y is stored at memory location 1004. What are the values of x, y, and *y after executing the following block of C code?

• Title

title(‘y = cos(x)’)

• X axis label, complete with units

xlabel(‘x-axis’)

• Y axis label, complete with units

ylabel(‘y-axix’)

• Often it is useful to add a grid

grid on

Single quotes are used.

Creating multiple plots y is stored at memory location 1004. What are the values of x, y, and *y after executing the following block of C code?

MATLAB overwrites the figure window every time you request a new plot

To open a new figure window use the figure function – for examplefigure(2)

Create multiple lines on a single graph y is stored at memory location 1004. What are the values of x, y, and *y after executing the following block of C code?

Each set of ordered pairs will produce a new line

x = 0:pi/100:2*pi;

y1 = cos(x);

y2 = cos(x)*2;

y3 = cos(x)*4;

y4 = cos(x)*6;

• Use alternating sets of ordered pairs

• plot(x,y1,x,y2,x,y3,x,y4)

• Or group the y values into a matrix

• z=[y1;y2;y3;y4]

• plot(x,z)

Line, Color and Mark Style value you can…

• You can change the appearance of your plots by selecting user defined

• line styles

• mark styles

• color

• Try usinghelp plotfor a list of available styles

Specify your choices in a string value you can…

• For example

plot(x, y, ':ok')

• strings are identified with single quotes

• the : means use a dotted line

• the o means use a circle to mark each point

• the letter k indicates that the graph should be drawn in black

• (b indicates blue)

Available choices value you can…

specify the drawing parameters for each line after the ordered pairs that define the line