AP® Computer Science A

Total Page:16

File Type:pdf, Size:1020Kb

AP® Computer Science A INCLUDES Course framework Instructional section Sample exam questions AP® Computer Science A COURSE AND EXAM DESCRIPTION Effective Fall 2019 AP® Computer Science A COURSE AND EXAM DESCRIPTION Effective Fall 2019 AP COURSE AND EXAM DESCRIPTIONS ARE UPDATED PERIODICALLY Please visit AP Central (apcentral.collegeboard.org) to determine whether a more recent course and exam description is available. 00762-118-CED-CSA_FM.indd 1 4/5/19 9:01 AM About College Board College Board is a mission-driven, not-for-profit organization that connects students to college success and opportunity. Founded in 1900, College Board was created to expand access to higher education. Today, the membership association is made up of more than 6,000 of the world’s leading educational institutions and is dedicated to promoting excellence and equity in education. Each year, College Board helps more than seven million students prepare for a successful transition to college through programs and services in college readiness and college success— including the SAT® and the Advanced Placement® Program. The organization also serves the education community through research and advocacy on behalf of students, educators, and schools. For further information, visit collegeboard.org. AP Equity and Access Policy College Board strongly encourages educators to make equitable access a guiding principle for their AP programs by giving all willing and academically prepared students the opportunity to participate in AP. We encourage the elimination of barriers that restrict access to AP for students from ethnic, racial, and socioeconomic groups that have been traditionally underrepresented. Schools should make every effort to ensure that their AP classes reflect the diversity of their student population. College Board also believes that all students should have access to academically challenging course work before they enroll in AP classes, which can prepare them for AP success. It is only through a commitment to equitable preparation and access that true equity and excellence can be achieved. Designers: Sonny Mui and Bill Tully © 2019 College Board. College Board, Advanced Placement, AP, AP Central, and the acorn logo are registered trademarks of College Board. All other products and services may be trademarks of their respective owners. Visit College Board on the Web: collegeboard.org. 00762-118-CED-CSA_FM.indd 2 4/5/19 9:01 AM Contents v Acknowledgments 1 About AP 4 AP Resources and Supports 6 Instructional Model 7 About the AP Computer Science A Course 7 College Course Equivalent 7 Prerequisites 7 Lab Requirement COURSE FRAMEWORK 11 Introduction 13 Course Framework Components 15 Computational Thinking Practices 17 Course Content 22 Course at a Glance 27 Unit Guides 28 Using the Unit Guides 31 UNIT 1: Primitive Types 43 UNIT 2: Using Objects 63 UNIT 3: Boolean Expressions and if Statements 75 UNIT 4: Iteration 87 UNIT 5: Writing Classes 107 UNIT 6: Array 117 UNIT 7: ArrayList 131 UNIT 8: 2D Array 139 UNIT 9: Inheritance 151 UNIT 10: Recursion INSTRUCTIONAL APPROACHES 161 Selecting and Using Course Materials 163 Instructional Strategies 170 Developing Computational Thinking Practices 181 Teaching the Big Ideas 182 Using Strategies for Collaboration 183 Using Real-World Data EXAM INFORMATION 187 Exam Overview 191 Sample Exam Questions APPENDIX 209 Java Quick Reference 00762-118-CED-CSA_FM.indd 3 4/5/19 9:01 AM THIS PAGE IS INTENTIONALLY LEFT BLANK. 00762-118-CED-CSA_FM.indd 4 4/5/19 9:01 AM Acknowledgments College Board would like to acknowledge the contributors for their assistance with and commitment to the development of this course. All individuals and their affiliations were current at the time of contribution. John Cigas, Park University, Parkville, MO Sandy Czajka, Riverside Brookfield High School, Riverside, IL Adrienne Decker, University at Buffalo, Buffalo, NY Robert Glen Martin, School for the Talented and Gifted, Dallas, TX We would also like to thank the following reviewers for their assistance: Owen Astrachan, Adam Cannon, George Fisher, Robert Getka, Ruth Hartsook, Cody Henrichsen, Paul Hilfinger, Allison Johnson, Liz Johnson, Robert Medrano, Sage Miller, Pat St. Clair, Lester Wainwright, Latrice Wicker, and Dianna Xu College Board Staff Becky Coutts, Director, AP Instructional Design and PD Resource Development Crystal Furman, Director, AP Computer Science Content Development Daniel McDonough, Senior Director, AP Content Integration Allison Milverton, Director, AP Curricular Publications Erin Spaulding, Senior Director, AP Instructional Design and PD Resource Development Allison Thurber, Executive Director, AP Curriculum and Assessment SPECIAL THANKS John R. Williamson AP Computer Science A Course and Exam Description V.1 | v Return to Table© 2019 of College Contents Board 00762-118-CED-CSA_FM.indd 5 4/5/19 9:01 AM THIS PAGE IS INTENTIONALLY LEFT BLANK. 00762-118-CED-CSA_FM.indd 6 4/5/19 9:01 AM About AP College Board’s Advanced Placement® Program (AP®) with formative assessments—Personal Progress enables willing and academically prepared students to Checks—that teachers can assign throughout the pursue college-level studies—with the opportunity to year to measure student progress as they acquire earn college credit, advanced placement, or both—while content knowledge and develop skills. still in high school. Through AP courses in 38 subjects, each culminating in a challenging exam, students learn Enrolling Students: to think critically, construct solid arguments, and see Equity and Access many sides of an issue—skills that prepare them for college and beyond. Taking AP courses demonstrates College Board strongly encourages educators to to college admission officers that students have sought make equitable access a guiding principle for their the most challenging curriculum available to them, and AP programs by giving all willing and academically research indicates that students who score a 3 or higher prepared students the opportunity to participate on an AP Exam typically experience greater academic in AP. We encourage the elimination of barriers success in college and are more likely to earn a college that restrict access to AP for students from ethnic, degree than non-AP students. Each AP teacher’s racial, and socioeconomic groups that have been syllabus is evaluated and approved by faculty from some traditionally underserved. College Board also believes of the nation’s leading colleges and universities, and AP that all students should have access to academically Exams are developed and scored by college faculty and challenging coursework before they enroll in AP classes, experienced AP teachers. Most four-year colleges and which can prepare them for AP success. It is only universities in the United States grant credit, advanced through a commitment to equitable preparation and placement, or both on the basis of successful AP access that true equity and excellence can be achieved. Exam scores—more than 3,300 institutions worldwide annually receive AP scores. Offering AP Courses: AP Course Development The AP Course Audit The AP Program unequivocally supports the principle In an ongoing effort to maintain alignment with best that each school implements its own curriculum that will practices in college-level learning, AP courses and exams enable students to develop the content understandings emphasize challenging, research-based curricula aligned and skills described in the course framework. with higher education expectations. While the unit sequence represented in this publication Individual teachers are responsible for designing is optional, the AP Program does have a short list of their own curriculum for AP courses, selecting curricular and resource requirements that must be appropriate college-level readings, assignments, fulfilled before a school can label a course “Advanced and resources. This course and exam description Placement” or “AP.” Schools wishing to offer AP presents the content and skills that are the focus of courses must participate in the AP Course Audit, a the corresponding college course and that appear on process through which AP teachers’ course materials the AP Exam. It also organizes the content and skills are reviewed by college faculty. The AP Course Audit into a series of units that represent a sequence found was created to provide teachers and administrators in widely adopted college textbooks and that many with clear guidelines on curricular and resource AP teachers have told us they follow in order to focus requirements for AP courses and to help colleges and their instruction. The intention of this publication is to universities validate courses marked “AP” on students’ respect teachers’ time and expertise by providing a transcripts. This process ensures that AP teachers’ roadmap that they can modify and adapt to their local courses meet or exceed the curricular and resource priorities and preferences. Moreover, by organizing expectations that college and secondary school faculty the AP course content and skills into units, the AP have established for college-level courses. Program is able to provide teachers and students AP Computer Science A Course and Exam Description V.1 | 1 Return to Table© 2019 of College Contents Board 00762-118-CED-CSA_FM.indd 1 4/5/19 9:01 AM The AP Course Audit form is submitted by the AP questions are scored by thousands of college faculty teacher and the school principal (or designated and expert AP teachers. Most are scored at the annual administrator) to confirm awareness and understanding
Recommended publications
  • Multi-Return Function Call
    To appear in J. Functional Programming 1 Multi-return Function Call OLIN SHIVERS and DAVID FISHER College of Computing Georgia Institute of Technology (e-mail: fshivers,[email protected]) Abstract It is possible to extend the basic notion of “function call” to allow functions to have multiple re- turn points. This turns out to be a surprisingly useful mechanism. This article conducts a fairly wide-ranging tour of such a feature: a formal semantics for a minimal λ-calculus capturing the mechanism; motivating examples; monomorphic and parametrically polymorphic static type sys- tems; useful transformations; implementation concerns and experience with an implementation; and comparison to related mechanisms, such as exceptions, sum-types and explicit continuations. We conclude that multiple-return function call is not only a useful and expressive mechanism, at both the source-code and intermediate-representation levels, but also quite inexpensive to implement. Capsule Review Interesting new control-flow constructs don’t come along every day. Shivers and Fisher’s multi- return function call offers intriguing possibilities—but unlike delimited control operators or first- class continuations, it won’t make your head hurt or break the bank. It might even make you smile when you see the well-known tail call generalized to a “semi-tail call” and a “super-tail call.” What I enjoyed the most was the chance to reimagine several of my favorite little hacks using the new mechanism, but this unusually broad paper offers something for everyone: the language designer, the theorist, the implementor, and the programmer. 1 Introduction The purpose of this article is to explore in depth a particular programming-language mech- anism: the ability to specify multiple return points when calling a function.
    [Show full text]
  • Aeroscript Programming Language Reference
    AeroScript Programming Language Reference Table of Contents Table of Contents 2 Structure of a Program 5 Comments 6 Preprocessor 7 Text Replacement Macro (#define/#undef) 7 Source File Inclusion (#include) 8 Conditional Inclusion (#if/#ifdef/#ifndef) 8 Data Types and Variables 11 Fundamental Data Types 11 Fundamental Numeric Data Types 11 Fundamental String Data Type 11 Fundamental Axis Data Type 11 Fundamental Handle Data Type 12 Aggregate Data Types 12 Array Data Types 12 Structure Data Types 13 Enumerated Data Types 14 Variables 15 Variable Declaration 15 Variable Names 15 Numeric, Axis, and Handle Variable Declaration Syntax 15 String Variable Declaration Syntax 15 Syntax for Declaring Multiple Variables on the Same Line 16 Array Variable Declaration Syntax 16 Structure Variable Definition and Declaration Syntax 16 Definition Syntax 16 Declaration Syntax 17 Member Access Syntax 17 Enumeration Variable Definition and Declaration Syntax 18 Definition 18 Declaration Syntax 19 Enumerator Access Syntax 19 Variable Initialization Syntax 20 Basic Variable Initialization Syntax 20 Array Variable Initialization Syntax 21 Structure Variable Initialization Syntax 22 Enumeration Variable Initialization Syntax 22 Variable Scope 23 Controller Global Variables 23 User-Defined Variables 23 User-Defined Variable Accessibility 23 User-Defined Local Variable Declaration Location 25 Variable Data Type Conversions 26 Properties 27 Property Declaration 27 Property Names 27 Property Declaration 28 Property Usage 28 Expressions 29 Literals 29 Numeric Literals
    [Show full text]
  • The Cool Reference Manual∗
    The Cool Reference Manual∗ Contents 1 Introduction 3 2 Getting Started 3 3 Classes 4 3.1 Features . 4 3.2 Inheritance . 5 4 Types 6 4.1 SELF TYPE ........................................... 6 4.2 Type Checking . 7 5 Attributes 8 5.1 Void................................................ 8 6 Methods 8 7 Expressions 9 7.1 Constants . 9 7.2 Identifiers . 9 7.3 Assignment . 9 7.4 Dispatch . 10 7.5 Conditionals . 10 7.6 Loops . 11 7.7 Blocks . 11 7.8 Let . 11 7.9 Case . 12 7.10 New . 12 7.11 Isvoid . 12 7.12 Arithmetic and Comparison Operations . 13 ∗Copyright c 1995-2000 by Alex Aiken. All rights reserved. 1 8 Basic Classes 13 8.1 Object . 13 8.2 IO ................................................. 13 8.3 Int................................................. 14 8.4 String . 14 8.5 Bool . 14 9 Main Class 14 10 Lexical Structure 14 10.1 Integers, Identifiers, and Special Notation . 15 10.2 Strings . 15 10.3 Comments . 15 10.4 Keywords . 15 10.5 White Space . 15 11 Cool Syntax 17 11.1 Precedence . 17 12 Type Rules 17 12.1 Type Environments . 17 12.2 Type Checking Rules . 18 13 Operational Semantics 22 13.1 Environment and the Store . 22 13.2 Syntax for Cool Objects . 24 13.3 Class definitions . 24 13.4 Operational Rules . 25 14 Acknowledgements 30 2 1 Introduction This manual describes the programming language Cool: the Classroom Object-Oriented Language. Cool is a small language that can be implemented with reasonable effort in a one semester course. Still, Cool retains many of the features of modern programming languages including objects, static typing, and automatic memory management.
    [Show full text]
  • C Programming Tutorial
    C Programming Tutorial C PROGRAMMING TUTORIAL Simply Easy Learning by tutorialspoint.com tutorialspoint.com i COPYRIGHT & DISCLAIMER NOTICE All the content and graphics on this tutorial are the property of tutorialspoint.com. Any content from tutorialspoint.com or this tutorial may not be redistributed or reproduced in any way, shape, or form without the written permission of tutorialspoint.com. Failure to do so is a violation of copyright laws. This tutorial may contain inaccuracies or errors and tutorialspoint provides no guarantee regarding the accuracy of the site or its contents including this tutorial. If you discover that the tutorialspoint.com site or this tutorial content contains some errors, please contact us at [email protected] ii Table of Contents C Language Overview .............................................................. 1 Facts about C ............................................................................................... 1 Why to use C ? ............................................................................................. 2 C Programs .................................................................................................. 2 C Environment Setup ............................................................... 3 Text Editor ................................................................................................... 3 The C Compiler ............................................................................................ 3 Installation on Unix/Linux ............................................................................
    [Show full text]
  • Functions in C
    Functions in C Fortran 90 has three kinds of units: a program unit, subroutine units and function units. In C, all units are functions. For example, the C counterpart to the Fortran 90 program unit is the function named main: #include <stdio.h> main () /* main */ f float w, x, y, z; int i, j, k; w = 0.5; x = 5.0; y = 10.0; z = x + y * w; i = j = k = 5; printf("x = %f, y = %f, z = %f n", x, y, z); printf("i = %d, j = %d, k = %dnn", i, j, k); /* main */ n g Every C program must have a function named main; it’s the func- tion where the program begins execution. C also has a bunch of standard library functions, which are functions that come predefined for everyone to use. 1 Standard Library Functions in C1 C has a bunch of standard library functions that everyone gets to use for free. They are analogous to Fortran 90’s intrinsic functions, but they’re not quite the same. Why? Because Fortran 90’s intrinsic functions are built directly into the language, while C’s library functions are not really built into the language as such; you could replace them with your own if you wanted. Here’s some example standard library functions in C: Function Return Type Return Value #include file printf int number of characters written stdio.h Print (output) to standard output (the terminal) in the given format scanf int number of items input stdio.h Scan (input) from standard input (the keyboard) in the given format isalpha int Boolean: is argument a letter? ctype.h isdigit int Boolean: is argument a digit? ctype.h strcpy char [ ] string containing copy string.h Copy a string into another (empty) string strcmp int comparison of two strings string.h Lexical comparison of two strings; result is index in which strings differ: negative value if first string less than second, positive if vice versa, zero if equal sqrt float square root of argument math.h pow float 1st argument raised to 2nd argument math.h 1 Brian W.
    [Show full text]
  • Python 3 Types in the Wild:A Tale of Two Type Systems
    Python 3 Types in the Wild: A Tale of Two Type Systems Ingkarat Rak-amnouykit Daniel McCrevan Ana Milanova Rensselaer Polytechnic Institute Rensselaer Polytechnic Institute Rensselaer Polytechnic Institute New York, USA New York, USA New York, USA [email protected] [email protected] [email protected] Martin Hirzel Julian Dolby IBM TJ Watson Research Center IBM TJ Watson Research Center New York, USA New York, USA [email protected] [email protected] Abstract ACM Reference Format: Python 3 is a highly dynamic language, but it has introduced Ingkarat Rak-amnouykit, Daniel McCrevan, Ana Milanova, Martin a syntax for expressing types with PEP484. This paper ex- Hirzel, and Julian Dolby. 2020. Python 3 Types in the Wild: A Tale of Two Type Systems. In Proceedings of the 16th ACM SIGPLAN plores how developers use these type annotations, the type International Symposium on Dynamic Languages (DLS ’20), Novem- system semantics provided by type checking and inference ber 17, 2020, Virtual, USA. ACM, New York, NY, USA, 14 pages. tools, and the performance of these tools. We evaluate the https://doi.org/10.1145/3426422.3426981 types and tools on a corpus of public GitHub repositories. We review MyPy and PyType, two canonical static type checking 1 Introduction and inference tools, and their distinct approaches to type Dynamic languages in general and Python in particular1 analysis. We then address three research questions: (i) How are increasingly popular. Python is particularly popular for often and in what ways do developers use Python 3 types? machine learning and data science2. A defining feature of (ii) Which type errors do developers make? (iii) How do type dynamic languages is dynamic typing, which, essentially, for- errors from different tools compare? goes type annotations, allows variables to change type and Surprisingly, when developers use static types, the code does nearly all type checking at runtime.
    [Show full text]
  • The Grace Programming Language Draft Specification Version 0.5. 2025" (2015)
    Portland State University PDXScholar Computer Science Faculty Publications and Presentations Computer Science 2015 The Grace Programming Language Draft Specification ersionV 0.5. 2025 Andrew P. Black Portland State University, [email protected] Kim B. Bruce James Noble Follow this and additional works at: https://pdxscholar.library.pdx.edu/compsci_fac Part of the Programming Languages and Compilers Commons Let us know how access to this document benefits ou.y Citation Details Black, Andrew P.; Bruce, Kim B.; and Noble, James, "The Grace Programming Language Draft Specification Version 0.5. 2025" (2015). Computer Science Faculty Publications and Presentations. 140. https://pdxscholar.library.pdx.edu/compsci_fac/140 This Working Paper is brought to you for free and open access. It has been accepted for inclusion in Computer Science Faculty Publications and Presentations by an authorized administrator of PDXScholar. Please contact us if we can make this document more accessible: [email protected]. The Grace Programming Language Draft Specification Version 0.5.2025 Andrew P. Black Kim B. Bruce James Noble April 2, 2015 1 Introduction This is a specification of the Grace Programming Language. This specifica- tion is notably incomplete, and everything is subject to change. In particular, this version does not address: • James IWE MUST COMMIT TO CLASS SYNTAX!J • the library, especially collections and collection literals • static type system (although we’ve made a start) • module system James Ishould write up from DYLA paperJ • dialects • the abstract top-level method, as a marker for abstract methods, • identifier resolution rule. • metadata (Java’s @annotations, C] attributes, final, abstract etc) James Ishould add this tooJ Kim INeed to add syntax, but not necessarily details of which attributes are in language (yet)J • immutable data and pure methods.
    [Show full text]
  • BTE2313 Chapter 7: Function
    For updated version, please click on http://ocw.ump.edu.my BTE2313 Chapter 7: Function by Sulastri Abdul Manap Faculty of Engineering Technology [email protected] Objectives • In this chapter, you will learn about: 1. Create and apply user defined function 2. Differentiate between standard library functions and user defined functions 3. Able to use both types of functions Introduction • A function is a complete section (block) of C++ code with a definite start point and an end point and its own set of variables. • Functions can be passed data values and they can return data. • Functions are called from other functions, like main() to perform the task. • Two types of function: 1. User defined function: The programmer writes their own function to use in the program. 2. Standard library function: Function already exist in the C++ standard libraries http://www.cplusplus.com/reference/ Introduction (cont.) • Advantages of functions: Easier to solve complex task by dividing it into several smaller parts (structured programming) Functions separate the concept (what is done) from the implementation (how it is done) Functions can be called several times in the same program, allowing the code to be reused. Three Important Questions • “What is the function supposed to do? (Who’s job is it?” ) – If a function is to read all data from a file, that function should open the file, read the data, and close the file. • “What input values does the function need to do its job?” – If your function is supposed to calculate the volume of a pond, you’d need to give it the pond dimensions.
    [Show full text]
  • Generics in the Java Programming Language
    Generics in the Java Programming Language Gilad Bracha July 5, 2004 Contents 1 Introduction 2 2 Defining Simple Generics 3 3 Generics and Subtyping 4 4 Wildcards 5 4.1 Bounded Wildcards . 6 5 Generic Methods 7 6 Interoperating with Legacy Code 10 6.1 Using Legacy Code in Generic Code . 10 6.2 Erasure and Translation . 12 6.3 Using Generic Code in Legacy Code . 13 7 The Fine Print 14 7.1 A Generic Class is Shared by all its Invocations . 14 7.2 Casts and InstanceOf . 14 7.3 Arrays . 15 8 Class Literals as Run-time Type Tokens 16 9 More Fun with Wildcards 18 9.1 Wildcard Capture . 20 10 Converting Legacy Code to Use Generics 20 11 Acknowledgements 23 1 1 Introduction JDK 1.5 introduces several extensions to the Java programming language. One of these is the introduction of generics. This tutorial is aimed at introducing you to generics. You may be familiar with similar constructs from other languages, most notably C++ templates. If so, you’ll soon see that there are both similarities and important differences. If you are not familiar with look-a-alike constructs from elsewhere, all the better; you can start afresh, without unlearning any misconceptions. Generics allow you to abstract over types. The most common examples are con- tainer types, such as those in the Collection hierarchy. Here is a typical usage of that sort: List myIntList = new LinkedList(); // 1 myIntList.add(new Integer(0)); // 2 Integer x = (Integer) myIntList.iterator().next(); // 3 The cast on line 3 is slightly annoying.
    [Show full text]
  • An Introduction to Programming in Java
    An introduction to programming in Java Paul Flavell and Richard Kaye School of Mathematics and Statistics University of Birmingham November 2000 These notes form a useful introduction to programming in Java as well as a reference guide for the second half of this term’s work and are based on notes produced by Paul Flavell for MSM2G5 in the academic year 1999–2000. You will find it helpful to re-read them later on in the term after you have had some experience of writing Java programs. 1 Introduction We only have time for a brief introduction to programming in Java. Much more information about Java is available in textbooks and on the web. A good place to find information on Java is the Sun website www.javasoft.com, in particular at www.javasoft.com/docs/index.html and the online tutorial at www.javasoft.com/docs/books/tutorial/index.html I encourage you to explore these sites. They provide a more expansive view of Java than the one I will be able to present in this short course. It is the intention that everything you need to know about Java for MSM2G5 will be contained in these notes and the notes given out in the computer labs that start in the sixth week of term. You may like to get one of the numerous books on Java, many of which are kept in stock at the large book shops in town and in the book shop on campus. However, as far as I know, there isn’t any book that is really suitable for this short course to mathematicians.
    [Show full text]
  • AP Computer Science a Study Guide
    AP Computer Science A Study Guide AP is a registered trademark of the College Board, which was not involved in the production of, and does not endorse, this product. Key Exam Details The AP® Computer Science A course is equivalent to a first-semester, college-level course in computer science. The 3-hour, end-of-course exam is comprised of 44 questions, including 40 multiple-choice questions (50% of the exam) and 4 free-response questions (50% of the exam). The exam covers the following course content categories: • Primitive Types: 2.5%–5% of test questions • Using Objects: 5%–7.5% of test questions • Boolean Expressions and if Statements: 15%–17.5% of test questions • Iteration: 17.5%–22.5% of test questions • Writing Classes: 5%–7.5% of test questions • Array: 10%–15% of test questions • ArrayList: 2.5%–7.5% of test questions • 2D Array: 7.5%–10% of test questions • Inheritance: 5%–10% of test questions • Recursion: 5%–7.5% of test questions This guide provides an overview of the main tested subjects, along with sample AP multiple-choice questions that are similar to the questions you will see on test day. Primitive Types Around 2.5–5% of the questions you’ll see on the exam cover the topic of Primitive Types. Printing and Comments The System.out.print and System.out.println methods are used to send output for display on the console. The only difference between them is that the println method moves the cursor to a new line after displaying the given data, while the print method does not.
    [Show full text]
  • C Programming Basics
    C Programming Basics Ritu Arora Texas Advanced Computing Center November 7th, 2011 Overview of the Lecture • Writing a Basic C Program • Understanding Errors • Comments, Keywords, Identifiers, Variables • Standard Input and Output • Operators • Control Structures • Functions in C • Arrays, Structures • Pointers • Working with Files All the concepts are accompanied by examples. 2 How to Create a C Program? • Have an idea about what to program • Write the source code using an editor or an Integrated Development Environment (IDE) • Compile the source code and link the program by using the C compiler • Fix errors, if any • Run the program and test it • Fix bugs, if any 3 Write the Source Code: firstCode.c #include <stdio.h> int main(){ printf("Introduction to C!\n"); return(0); } 4 Understanding firstCode.c Preprocessor directive Name of the standard header #include <stdio.h> file to be included is specified within angular brackets Function’s return type Function name Function name is followed by parentheses – they int main(){ can be empty when no arguments are passed printf("Introduction to C!\n"); C language function for displaying information on the screen return(0); Keyword, command for returning function value } The contents of the functions are placed inside the curly braces Text strings are specified within "" and every statement is terminated by ; Newline character is specified by \n 5 Save-Compile-Link-Run • Save your program (source code) in a file having a “c” extension. Example, firstCode.c • Compile and Link your code (linking
    [Show full text]