Advanced SAS II Multiple Choice Questions: Combined Set
A Cartesian product is returned when a. join conditions are not specified in a PROC SQL join b. join conditions are not specified in a PROC SQL set operation c. more than two tables are specified in a PROC SQL join d. the keyword ALL is used with the OUTER UNION operator
A
A SELECT statement contains smaller building blocks called a. clauses b. statements c. sub-statements d. sections
A
Combining data vertically using SET operators in PROC SQL is similar to DATA step a. concatenation b. merging c. modifying d. joining
A
How many statements does the program below contain? proc sql; select * from sales.fruit order by totsales; a. two b. three c. four d. five
A
In a program that contains a subquery, which query controls the result set? a. Outer b. Inner c. Both d. Neither
A
The following query is an example of a/an proc sql; select name, numvisits from (select name, count(area) as numvisits from facility as f, members as m where area = 'POOL' and f.id=m.id group by name); a. in-line view b. outer join c. right join d. this is not valid PROC SQL syntax
A
What is the cause of the following error? ERROR: the following columns were not found in the contributing tables : Savings. a. The savings column used in the WHERE clause did not exist in the source table b. The savings column was a character column instead of a numeric column c. The savings column name was stores in the upper case and not mixed case d. The source table first needed to be sorted for the columns to be read properly
A
Which SCAN statement correctly selects the course level from the variable Course? Course: Algebra 1 Algebra 2 Honors Algebra 1 Honors Algebra 2 a. scan(course, -1, ' ') b. scan(course, 2, ' ') c. scan(course, -1, 1) d. scan(course, 2, 3)
A
Which SELECT statement correctly displays the column labels instead of variable names? a. select student_id label="Student ID Number" b. select student_id = "Student ID Number" c. select student_id "Student ID Number" = label d. select student_id label = Student ID
A
Which of the following creates the table work.names and creates the columns FullName and Age? A. Proc sql; Create table work.names (FullName char(250, Age num); B. Proc sql; Create table work.names as (FullName char(250, Age num); C. Proc sql; Create table work.names FullName char(250, Age num; D. Proc sql; Create table work.names Add FullName char(250, Age num;
A
Which of the following segments of code correctly defines a row of data using the SET clause? A. Set std_id = '00000', Course = 12345, Start_date = '25AUG2010'd; B. Set std_id = '00000' Course = 12345 Start_date = '25AUG2010'd; C. Set std_id '00000', Course 12345, Start_date '25AUG2010'd; D. Set std_id '00000' Course 12345 Start_date '25AUG2010'd;
A
Which of the following statements regarding a PROC SQL view is false? a. A PROC SQL view contains data b. A PROC SQL view is a stored query c. A PROC SQL view can be derived fro one or more tables d. A PROC SQL view extracts underlying data each time it is used.
A
Which of the statements clauses in the PROC SQL program below is written incorrectly? proc sql; select stdID gpa class from student.stats where gpa ge 4.-; a. SELECT b. FROM c. WHERE d. both a and c
A
Which option was used to produce this output in the SAS log? proc sql feedback; select * from orion.Employee_Payroll; NOTE: Statement transforms to select EMPLOYEE_PAYROLL.Employee_ID, EMPLOYEE_PAYROLL.Birth_Date, EMPLOYEE_PAYROLL.Employee_Hire_Date from ORION.EMPLOYEE_PAYROLL; quit; a. feedback b. * c. from orion.Employee_Payroll; d. quit;
A
Which statement is false regarding a subquery? a. It must return only numeric values b. It must return only a single column c. It can return single or multiple values d. It returns values to be used in the outer query's WHERE or HAVING clause
A
Which statement is true regarding a correlated subquery? a. Values are passed to the inner query from the outer query b. Values returned from the inner query can be numeric only c. You cannot use summary functions in a correlated subquery d. The values from the inner query must be sorted in order for the outer query to execute
A
Which of the following statements regarding the CREATE TABLE statement is false? a. You can create a table and add data later b. You can create a table by copying the data structure of another table c. The CREATE TABLE statement can only create temporary tables d. For ANSI compliance, PROC SQL accepts other data types such as REAL and FLOAT
C
Which of these DATA step statements is used to combine tables horizontally? a. SET b. APPEND c. MERGE d. INPUT
C
Choose the correct keyword that completes the program to return the students who do not have information in the myfolder.Student_Info data set. proc sql; select Student_ID, Zone from myfolder.student_stat where _____________ (select * from myfolder.student_info where student_stat.Student_ID = student_info.Student_ID); a. all b. any c. exists d. not exists
D
Given the following code, what variables will be created in the work.yr2010 table and in what order? Proc sql; Create table yr2010 (Class_ID char(6), Start_Date date, End_Date date) ; Insert into yr2010 (Start_Date, End_Date, Class_ID) Values ('25AUG2010'd, '10JUN2011'd, 'PROG1'); a. Char, date, date b. Yr2010, Class_ID, char c. Start_Date, End_Date, Class_ID d. Class_ID, Start_Date, End_Date
D
The ALL keyword cannot be used with which of the following SET operators? a. EXCEPT b. INTERSECT c. UNION d. OUTER UNION
D
The code in parentheses in question 4 (below) is an example of what type of query? proc sql; select Student_ID, Zone from myfolder.student_stat where _____________ (select * from myfolder.student_info where student_stat.Student_ID = student_info.Student_ID); a. Subquery b. Correlated subquery c. Noncorrelated subquery d. Both a and b e. Both a and c
D
The number of rows in a Cartesian product can be found using which of the following formulas? (x= number of rows in table 1, y= number if rows in table 2) a. (x-1)*(y-1) b. x+y c. x^y d. x*y
D
The table GroupA contains the columns Obs and Med and 5 rows of data. Table GroupB contains Obs and Duration and 3 rows of data. Which PROC SQL query produces the same output at the query shown here? proc sql; select a.*, duration from groupa as a, groupb as b where a.obs=b.obs; a. proc sql; select a.obs label = 'obs', med, b.obs label = 'obs', duration from groupa as a, groupb as b where a.obs=b.obs; b. proc sql; select coalesce (a.obs, b.obs) label = 'obs', med, duration from groupa as a full join groupb as b on a.obs=b.obs; c. proc sql; select a.*, duration from groupa as a left join groupb as b where a.obs=b.obs; d. proc sql; select a*, duration from groupa as a inner join groupb as b on a.obs=b.obs;
D
Which of the following statements regarding integrity constraints is false? a. Integrity constraints follow ANSI standards. b. Integrity constraints cannot be defined for views c. Integrity constraints are rules enforced when data is added to a table. d. Integrity constraints are defined when the table is first created and cannot be added to tables that already contain data.
D
Which statement about the use of table aliases is false? a. table aliases must be used when referencing identical table names from different libraries b table aliases can be referenced by using the keyword AS c. table aliases (or full table names) must be used when referencing a column name that is the same in two or more tables d. table aliases must be used when using summary functions
D
The data set sashelp.class contains the variable name. Given the following program, what is the result of the SYMPUTX routine? data _null_; set sashelp.class(obs=5); call symputx('studentname'||left(_n_), name); run; a. A series of macro variables, studentname1-studentname5, will be created from the first 5 names in the sashelp.class data set. b. The macro variable studentname will be created with a value of left_n_name. c. The data set _null_ will be created with 5 macro variables, studentname1-studentname5. d. This is invalid syntax and will result in an error.
a
What is the purpose of specifying the data set options IDXWHERE=YES? a. It forces SAS to use the best available index to process the WHERE expression. b. It creates an index from the expression in the WHERE clause. c. It must be used in conjunction with the IDXNAME option. d. It stops SAS from using any index.
a
What is the value of Y after %LET statement execution? %let Y=%substr("iPod",2,1); a. i b. P c. o d. d
a
What statements will write the names and values of all automatic macro variables to the SAS log? a. %put _automatic_; b. %put auto_macro; c. %put _macro_; d. %put &global;
a
Which PROC CATALOG code correctly produces a list of compiled macros stored in the default catalog work.sasmacr? a. proc catalog cat=work.sasmacr; contents; title "My Temporary Macros"; quit; b. proc catalog contents=work.sasmacr; title "My Temporary Macros"; quit; c. proc catalog cat=orion.sasmacr; contents; title "My Temporary Macros"l quit; d. proc catalog lib=work; contents=sasmacr; title "My Temporary Macros"; quit;
a
Which of the following statements issues a note to the SAS log after a macro definition has compiled? a. options mcompilenote=all; b. options mlogic; c. options msglevel=i; d. options symbolgen;
a
Which of the following statements regarding macro variables in the global symbol table is false? a. macro variables are local in scope. b. macro variables store numeric tokens as text. c. macro variables have a minimum length of 0 characters (null value). d. macro variables have a maximum length of 65,534 (64k) characters.
a
Which of the following statements regarding the SYMGET function is false? a. the SYMGET function requires that the MAUTOSOURCE system option be enabled. b. the SYMGET function retrieves a macro variable's value during DATA step execution. c. the macro variable specified in the argument of the SYMGET function can be either a character literal or a DATA step character expression d. a DATA step variable created by the SYMGET function is a character variable with a length of 200 bytes unless it has been previously defined.
a
Macro variable references are resolved by which of the following? a. SAS compiler b. macro processor c. word scanner d. text editor
b
The %EVAL function does which of the following? a. returns a numeric value. b. performs arithmetic and logical operations. c. adds quotes around the resulting value. d. masks the meaning of the ampersand (&) symbol.
b
The data set work.class contains the variable age: age: 16 17 17 15 18 Which is the correct SELECT/INTO clause that would create a macro variable names ages that stores the value 15 16 17 18? proc sql noprint; select ___________________ from work.class; quit; %put &ages; a. select age into &ages || ' ' b. select distinct age into :ages separated by ' ' c. select &ages into unique age d. select age into :ages order by age
b
What is the purpose of the %SYSFUNC function? a. it converts text to proper case. b. it executes SAS functions c. it masks the meaning of special tokens d. it allows you to create your own functions
b
What is the value of FirstTitle after execution of the DATA step? data _null_; call symputx('FirstTitle', 'Top 5 DVD Rentals'); %let FirstTitle=Top 10 DVD Rentals; run; a. Top 10 DVD Rentals b. Top 5 DVD Rentals c. 'Top 5 DVD Rentals' d. blank
b
Which function returns a character string with all leading and trailing blanks removed? a. TRIM b. STRIP c. SCAN d. SUBSTR
b
Which of the following statements regarding a macro call is false? a. a macro call causes the macro to execute. b. a macro call can only be used in a PROC step. c. a macro call is specified by placing a percent sign before the macro name. d. a macro call represents a macro trigger.
b
Which of the following statements regarding a macro definition is false? a. a macro or macro definition enables you to write macro programs. b. the macro name must be less than 8 characters long and cannot contain numbers. c. a macro definition can include macro variable references. d. a %MACRO statement must always be paired with a %MEND statement
b
Which of the following statements regarding the Autocall Facility is false? a. the autocall library is a collection of external files of SAS catalog SOURCE entries that contain macro definition source code. b. autocall macros are available on the operating system where it was created and can only be edited by the SAS program editor. c. with the autocall facility in effect, you can call any macro in the autocall library. d. you can make macros accessible to your SAS session by concatenating your own autocall library with the autocall library supplied by SAS software.
b
Which of the following statements would write the day of the week to the SAS log? a. %put Today is day; b. %put Today is &sysday; c. %put Today is weekday; d. %put Today is &sysdate;
b
Which of the following system options will increase the detail level of SAS log messages, alerting you to when an index was used? a. OPTIONS FEEDBACK; b. OPTIONS MSGLEVEL=I; c. OPTIONS INDEXINFO; d. OPTIONS DETAIL=I;
b
3. Which of the following examples correctly defines a macro name Test that includes parameters named vars and final? a. %macro test (vars, final); proc print data=class; var vars; sum final; run; %mend test; b. %macro test int (&vars, &final); proc print data=class; var &vars; sum &final; run; %mend test; c. %macro test (vars, final); proc print data=class; var &vars; sum &final; run; %mend test; d. %macro test (:vars, :final); proc print data=class; var :vars; sum :final; run; %mend test;
c
Given the macro %height exists with the macro variables age and height, respectively, which macro call represents a mixed parameter list? a. %height(11, 100) b. %height(age=11, 100) c. %height(11, height=11) d. %height(age=11 height=100)
c
Given the macro Printdsn exists, which of the following correctly references the macro with two positional parameters? a. %printdsn(sasuser.courses course_title days); b. %printdsn(dsn=sasuser.courses, vars=course_title days) c. %printdsn(sasuser.courses, course_title days) d. %printdsn(sasuser.courses, course_title, days)
c
In the following SQL procedure, what is the correct INTO clause that would create three macro variables for age(age1-age3) and three macro variables for height(height1-height3)? proc sql noprint outobs=3; select age, height into _____________________ from sashelp.class; quit; a. into age1-age3, height1-height3 b. into &age1-&age3 &height-&height3 c. into :age1-:age3, :height1-:height3 d. into age1, age2, age3 : height1, height2, height3
c
What is the difference between the %STR function and the %NRSTR function? a. %STR must be used in SAS Version 8 and earlier. b. %STR is used for character values and %NRSTR is used for numeric values. c. The %NRSTR function works the same as the %STR function and also masks the macro triggers % and &. d. %NRSTR must be used in conjunction with the %SCAN function.
c
What is the value of X after %LET statement execution? %let X=%substr(iPod,3,1); a. i b. P c. o d. d
c
What would be the result of submitting the following code? proc print data=orion.Employee_Payroll; title "Report for R&D"; run; a. the code runs without error or note in the log b. a syntax error is noted in the log and SAS stops processing c. a warning is noted in the log and SAS continues processing. d. a data error is noted in the log and SAS continues processing.
c
Which of the CALL SYMPUTX routines creates a macro variable named DOB that has the values of the Date variable formatted as 10/18/2010? a. call symputx(dob, put(date, mmddyy10.)); b. call symputx('dob', (date, mmddyy10.)); c. call symputx('dob', put(date, mmddyy10.)); d. call symputx(dob, (date, mmddyy10.));
c
Which of the following automatic macro variables have values that are not set at SAS invocation and change automatically based on submitted SAS statements? a. SYSDATE b. SYSTIME c. SYSLAST d. SYSUSERID
c
Which of the following correctly defines and calls a macro with keyword parameters? a. %macro calc(age, weight); proc print data=sashelp.class; where age=&age and weight > &weight; run; %mend calc; %calc(14, 100) b. %macro calc(age= weight=); proc print data=sashelp.class; where age=&age and weight > &weight; run; %mend calc; %calc(age=14 weight=100) c. %macro calc(age=11, weight=95); proc print data=sashelp.class; where age=&age and weight > &weight; run; %mend calc; %calc(age=14, weight=100) d. %macro calc(14, 100); proc print data=sashelp.class; where age=&age and weight > &weight; run; %mend calc; %calc(14, 100)
c
Which of the following is false regarding the use of an index? a. Indexes can enforce uniqueness. b. Indexes provide fast access to small subsets of data. c. Indexes can be created for numeric columns only. d. Indexes can enhance join performance, especially equijoins.
c
Which of the following statements regarding macro variable references is false? a. macro variable references begin with an ampersand (&) followed by a macro variable name. b. macro variable references can appear anywhere in your program. c. macro variable references are case sensitive. d. macro variable references are also called symbolic references.
c
Which of the following statements regarding the SYMPUTX routine is false? a. the SYMPUTX routine can accept the value of a DATA step variable as its second argument. b. the SYMPUTX routine can be controlled with DATA step execution-time logic. c. the SYMPUTX routine can create macro variable with static values only. d. the SYMPUTX routine assigns to a macro variable any value available to the DATA step during execution time.
c
Given the following program, choose the correct code that would complete the PROC PRINT statement so that the data set name will resolve to orion.Class2010May. %let lib=orion; %let year=2010; %let month=May; libname orion 'SAS-data-library'; proc print data=_______________________; run; a. &lib.Class&year&month b. &lib.#"Class"&year&month c. &lib.*Class&year_month d. &lib..Class&year&month
d
Given the following symbol table, which of the following statements about the following macro variable is true? Symbol Table: CUSTID 2 NAME4 Jenna NAME2 Howie a. Two ampersands (&&) will resolve to one ampersand (&). b. The CUSTID macro variable is an indirect reference to a NAME macro variable c. The NAME macro variable is an indirect reference to a CUSTID macro variable. d. Both a and b. e. Both a and c.
d
What is the value of Z after the %LET statement execution? %let Z=4*3; %put &z; a. . (missing) b. 7 c. 12 d. 4*3
d
When a macro definition is submitted, the following occur, except a. Macro language statements, if any, are checked for syntax errors and compiled. b. SAS statements and other text are not checked for syntax errors and are not compiled. c. the macro is stored as a SAS catalog entry in the work library by default. d. the macro is executed immediately after compilation.
d
When the macro processor receives %macro-name, it does all of the following, except: a. it searches the designated SAS catalog for an entry named macro-nae.MACRO. b. it executes compiled macro language statements, if any. c. it sends other text to the input stack for word scanning. d. it compiles and executes the SAS code.
d
Which of the following is a special delimiter that ends a macro variable reference? a. Asterisk (*) b. Pound Sign (#) c. Percent Sign (%) d. Period (.)
d
Which of the following statements regarding automatic macro variables is false? a. automatic macro variables are system-defined. b. automatic macro variables are created at SAS invocation. c. automatic macro variables are global in scope (always available). d. automatic macro variables can be used only in TITLE and FOOTNOTE statements.
d
Which of the following system options writes to the SAS log the text generated by macro execution? a. EXEC b. MTEXT c. SYSFUNC d. MPRINT
d
Which technique(s) create(s) macro variables during execution time? I. %LET statement II. SYMPUTX routine III. INTO clause a. I and II b. I and III c. Only I d. II and III
d
You can use DATA step functions and expressions in the SYMPUTX routine's second argument to do which of the following? a. format data values b. perform arithmetic operations on numeric data c. manipulate character data d. all of the above
d
Submit the following PROC SQL step: proc sql; select* from stats; quit; Where is the query result sent? a. the SAS log b. the Report window c. the Output window d. a table is created and no output is displayed
C
Which of the following statements is false regarding PROC SQL? a. The PROC SQL statement does not need to be repeated with each query b. Each statement is processed individually c. A PROC PRINT step is needed to view the query results d. No PROC SORT step is needed to order query results
C
Which select statement correctly eliminates duplicate rows in the query results? a. select all Department from orion.employee_organization; b. select Department from orion.employee_organization; c. select distinct Department from orion.employee_organization; d. select discrete Department from orion.employee_organization;
C
Which statement is false with respect to a set operation that uses the EXCEPT, UNION, or INTERSECT set operator without a keyword? a. Column names in the result set are determined by the first table. b. To be overlaid, columns must be of the same data type. c. To be overlaid, columns must have the same name. d. By default, only unique rows are displayed in the result set.
C
Column names in the final result set are determined by the first result set for all SET operators except which of the following? a. EXCEPT b. INTERSECT c. UNION d. OUTER UNION
D
Subqueries are also known as which of the following? a. sub-selects b. value queries c. nested queries d. both a and c e. none of the above
D
What is the function of ALL keyword? a. It sorts the data b. It removes duplicate rows from all tables c. It displays only the like-named columns d. It does not remove duplicate rows and avoids an extra pass through the data
D
What type of PROC SQL join returns only matching rows? a. Outer b. Merge c. Set d. Inner
D
Which of the following statements is false regarding the VALIDATE option? a. It checks the SELECT statement syntax without executing the query b. It checks column name validity c. It prints error messages for invalid queries d. It is used for SELECT and FROM statements
D
Macro variables store numbers as a. text. b. numeric. c. special symbols. d. either text or numeric values depending on the format.
a
Which of the following is false regarding creating an index? a. All indexes must be named. b. Only one unique index can be created for each table. c. Simple index names must match the name of the column being indexed. d. Composite index names cannot be the same as any column name in the table.
b
Which DATA step statement is most equivalent to a FULL join? a. MERGE b. SET c. MODIFY d. JOIN
A
In order for PROC SQL to perform an inner join, a. the tables being joined must contain the same number of columns b. the tables must be sorted before they are joined c. the columns that are specified in a join condition in the WHERE clause must have the same data type d. the columns that are specified in a join condition in the WHERE clause must have the same name
C
Which of the following statements is false regarding an outer join? a. An outer join returns all matching rows, plus non-matching rows b. An outer join can be performed on only two tables or views at a time c. In order to perform an outer join, data must be sorted d. Left, full, and right are all types of outer joins
C
What is true about the ANY keyword? a. it sorts the values returned by the subquery b. the comparison is true only if the comparison is true for all values returned c. the comparison is true if it is true for at least one of the values that the subquery returns d. it is a SAS-added keyword and can only be used when querying permanent SAS data sets
C
An in-line view is used in what PROC SQL clause? a. SELECT b. FROM c. HAVING d. WHERE
B
Choose the correct program that would return only the students in zone 1. (information about zone is given in myfolder.student_stat) a. proc sql; select Student_ID, Student_Name, Grade from myfolder.Student_Info where zone = 1 where Student_ID in (select student_id from myfolder.student_stat) order by 1; quit; b. proc sql; select Student_ID, Student_Name, Grade from myfolder.Student_Info where Student_ID in (select student_id from myfolder.student_stat where zone = 1) order by 1; quit; a. proc sql; select Student_ID, Student_Name, Grade where zone = 1 from myfolder.Student_Info where Student_ID in (select student_id from myfolder.student_stat) order by 1; quit; a. proc sql; select Student_ID, Student_Name, Grade from myfolder.Student_Info where zone = 1 and Student_ID in (select student_id from myfolder.student_stat) order by 1; quit;
B
Combining data horizontally using joins in PROC SQL is similar to DATA step a. concatenation b. merging c. modifying d. joining
B
In the following code, what clause defines the columns written to work.GpaOver3? Proc sql; Create table work.GpaOver3 as Select Std_Name as Name, GPA From students as s, Stats as t Where s.Std_ID=t.Std_ID and GPA > 3.0; a. Create table work.GpaOver3 b. Select Std_Name as Name, GPA c. From students as s, Stats as t d. Where s.Std_ID=t.Std_ID and GPA > 3.0;
B
Library.circulation contains the name and contact information for all library cardholders, along with number of books that each cardholder currently has checked out. Library.volunteers contains the name and contact information for all library volunteers. Assume that the values of Name are unique in both tables. Which query displays the names of all library cardholders who work as volunteers for the library, and the number of books that each volunteer currently has checked out? a. proc sql; select name, checkedout from library.circulation where * in (select * from library.volunteers); b. proc sql; select name, checkedout from library.circulation where name in (select name from library.volunteers); c. proc sql; select name from library.volunteers where name, checkedout in (select name, checkedout from library.circulation); d. proc sql; select name, checkedout from library.volunteers where name in (select name from library.circulation);
B
Use this SET operator to select common unique rows from both tables. a. EXCEPT b. INTERSECT c. UNION d. OUTER UNION
B
What statements writes the table definition, including column information, to the SAS log? It provides output similar to PROC CONTENTS. a. feedback b. describe c. select * d. escape
B
Which SQL statement can be used to add data to an empty table, or to append data to a table that already contains data? a. ADD b. INSERT c. INPUT d. ALTER
B
Which clause is correctly written so that all students are listed by student_id in descending order? a. order by student_id b. order by student_id desc c. order by desc student_id d. desc order by student_id
B
Which of the following UNDO_POLICY= options undoes all inserts or updates to the point of the error? a. ALL b. REQUIRED c. NONE d. UPDATE
B
Which statement is false regarding the CORRESPONDING modifier? a. It overlays columns by name, instead of by position. b. It displays all columns when used in EXCEPT, INTERSECT, and UNION operations. c. It causes common columns to be overlaid when used in OUTER UNION operations. d. It can be abbreviated as CORR.
B
Write the expression to create a new column named Savings by subtracting the values of the column Expenses from those of the column Pay. a. Savings = Pay-Expenses b. Pay-Expenses as Savings c. Pay-Expenses = Savings d. Savings as Pay-Expenses
B
You need to write a report for all seniors from the table hs.studentInfo. You also want to include the scholarship information from the hs.stdAwards for the seniors. What type of join should you use to combine the information form these two tables? a. Inner Join b. Left Join c. Full Join d. None of the above
B
A noncorrelated subquery is a nested query that a. executes after the outer query resolves b. contains at least one summary function c. executes independently of the outer query d. requires only a single value to be passed to it by the outer query
C
Which of the following statements can be used to investigate the contents of a PROC SQL view? A. proc sql; View sas.tests; B. proc sql; Contents view=sas.tests; C. proc sql; Describe view sas.tests; D. proc sql; Feedback sas.tests;
C
Given the following program, how many times will the macro variable be scanned in the %PUT statement? %let studentid=9; %let name9=Jack; %put &name&studentid; a. one b. two c. nine d. unable to tell
a
How do you reference macro variables within a text literal? a. enclose the literal in double quotation marks. b. enclose the literal in single quotation marks. c. enclose the literal in either single or double quotation marks. d. you cannot use a macro reference within a text literal.
a