log10(187) is in which of the following intervals,
\([0,1)\), \([1, 2)\), \([2, 3)\),
or \([3, 4)\)?
(int)log10(187)?
data.txt exists in the working directory
and contains the characters abcdefg)? Why?
int
main(void)
{
int fd;
fd = open("data.txt", O_RDONLY);
printf("%d\n", fd);
return 0;
}
data.txt exists in the working directory
and contains the characters abcdefg)? Why?
int
main(void)
{
char c;
int fda, fdb;
fda = open("data.txt", O_RDONLY);
fdb = open("data.txt", O_RDONLY);
read(fda, &c, 1);
printf("%c", c);
read(fdb, &c, 1);
printf("%c", c);
read(fda, &c, 1);
printf("%c", c);
return 0;
}
data.txt exists in the working directory
and contains the characters abcdefg)?
int
main(void)
{
char c;
int dupfd, fda, fdb;
fda = open("data.txt", O_RDONLY);
fdb = open("data.txt", O_RDONLY);
read(fdb, &c, 1);
printf("%c", c);
dupfd = dup(fda);
read(dupfd, &c, 1);
printf("%c", c);
dupfd = dup(fdb);
read(dupfd, &c, 1);
printf("%c", c);
read(fda, &c, 1);
printf("%c", c);
return 0;
}
presentation (which can be opened
or closed) and the volume (which can be
1, 2 or 3).
opened state. Given this, draw the UML statemachine
diagram for this system.
and the following files
hardware.h
#ifndef HARDWARE_H
#define HARDWARE_H
// LED Settings.
typedef enum
{
LED_OFF,
LED_ON,
LED_NUMBER_OF_SETTINGS
} led_setting;
// Motor Settings.
typedef enum
{
MOTOR_CLOSING,
MOTOR_OFF,
MOTOR_OPENING,
MOTOR_NUMBER_OF_SETTINGS
} motor_setting;
// Events.
typedef enum
{
CLOSE_BUTTON_PRESSED,
CLOSED_DETECTED,
OPEN_BUTTON_PRESSED,
OPENED_DETECTED,
NUMBER_OF_EVENTS
} event;
// Functions for controlling the LED Indicators.
void
set_closed_indicator(led_setting value);
void
set_opened_indicator(led_setting value);
// Functions for controlling the Motor.
void
set_motor(motor_setting value);
#endif
statemodel.h
#ifndef STATEMODEL_H #define STATEMODEL_H #include "hardware.h" #include "state.h" // Declare all of the states used in the state model. extern state closed; extern state closing; extern state opened; extern state opening; // Declare all of the global setup functions for the individual states. void setup_closed(); void setup_closing(); void setup_opened(); void setup_opening(); // Declare all of the functions used in the state model itself (i.e., // not in the individual states). void setup_states(); void handle_event(event current_event); #endif
state.h
#ifndef STATE_H
#define STATE_H
// Add an alias for a type to the global name space.
typedef struct state state;
// Add an alias for event handlers.
typedef state* event_handler(void);
// Add an alias for actions.
typedef void action(void);
// Define the identifier state as a struct.
struct state {
event_handler* close_button_pressed;
event_handler* closed_detected;
event_handler* open_button_pressed;
event_handler* opened_detected;
action* entry_to;
action* exit_from;
};
// Declare variables to hold pointers to the default event handler and
// the default action.
extern event_handler* default_event_handler;
extern action* default_action;
// Declare a variable to hold the default state.
extern struct state default_state;
#endif
state.c
#include "state.h"
#include <stdlib.h>
// Define all of the functions that are not exposed
// by the header file.
state*
return_null()
{
return NULL;
}
void
return_void()
{
}
// Define the default event handler and default action
event_handler* default_event_handler = return_null;
action* default_action = return_void;
// Define the default state
struct state default_state = {
return_null, // close_button_pressed
return_null, // closed_detected
return_null, // open_button_pressed
return_null, // opened_detected
return_void, // entry_to
return_void // exit_from
};
complete the files opening.h and opening.c
below. You may assume that the
function setup_opening() will be called before any
other functions in opening.c are.
All functions and variables must have appropriate linkage and scope.
opening.h
#ifndef OPENING_H #define OPENING_H #include "state.h" // Declare all of the functions performed when in the opening state. // Define (tentatively) the opening state (and initialize it to the // default state). #endif
opening.c
#include "opening.h" #include "hardware.h" #include "statemodel.h" // For the other states // Define the setup_opening() function. // Define all of the functions performed when in the opening state.
printf() calls
in the following program:
#include <stdio.h>
int
main(void)
{
int i;
int j;
int *p;
int *q;
i = 5;
printf("i: %d\n", i);
printf("&i: %d\n", &i);
j = 9;
printf("j: %d\n", j);
printf("&j: %d\n", &j);
p = &i;
printf("p: %d\n", p);
printf("*p: %d\n", *p);
j = i;
q = &j;
*q = 7;
printf("i: %d\n", i);
printf("j: %d\n", j);
printf("q: %d\n", q);
printf("*q: %d\n", *q);
*p = *q;
j = 3;
printf("i: %d\n", i);
printf("j: %d\n", j);
printf("*p: %d\n", *p);
}
is as follows:
i: 5 &i: 2686736 j: 9 &j: 2686740
what will be printed by the remaining printf() calls?
#include <stdio.h>
#include <string.h>
char eid[9]; // 8 characters plus '\0'
int grade;
int
main(void)
{
// Addresses (in the data segment)
printf("eid is at %p\n", eid);
printf("eid[9]is at %p\n", &eid[9]);
printf("grade is at %p\n", &grade);
// Initialization
strcpy(eid, "bernstdh");
grade = 100;
// Output after initialization
printf("Grade for %s: %d\n", eid, grade);
// A defect
strcpy(eid, "bernstdh ");
// Output after the defect
printf("Grade for %s: %d\n", eid, grade);
}
int
main(void)
{
int status;
pid_t pid;
pid = fork();
switch(pid)
{
case 0:
printf("c");
break;
default:
printf("p");
break;
}
}
int
main(void)
{
int status;
pid_t pid;
pid = fork();
switch(pid)
{
case 0:
printf("c");
break;
default:
wait(&status);
printf("p");
break;
}
printf("b");
}
int
main(void)
{
int status;
pid_t pid;
pid = fork();
switch(pid)
{
case 0:
printf("a");
break;
default:
printf("b");
break;
}
pid = fork();
switch(pid)
{
case 0:
printf("c");
break;
default:
printf("d");
break;
}
printf("e");
}
How many characters will be output?
data.txt exists in the working directory and
contains the characters abcdefg.
int
main(void)
{
char c;
int fd, status;
fd = open("data.txt", O_RDONLY);
if (fork() == 0)
{
read(fd, &c, 1);
exit(0);
}
wait(&status);
read(fd, &c, 1);
printf("%c", c);
return 0;
}
wait() is removed from the above program.
What will be printed? Note: If there are multiple possibilities, list them
all.
int
main(void)
{
execl("/bin/date", date, NULL);
printf("Are you late?\n");
}
execl().
execl() is executed.
"The current date and time are\n".
After the child process terminates, the parent process must execute
the program named /bin/date.
"The current date and time are\n". After the first
child process terminates, the second child process must execute the
program named /bin/date. After the second child process
terminates, the parent process must print the string
"Are you late?\n"
Copyright 2017