Week 2: Arrays

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/21

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

22 Terms

1
New cards

Encryption

the act of hiding plain text from prying eyes.

2
New cards

Decryption

the act of taking an encrypted piece of text and returning it to a human-readable form.

3
New cards

Steps of Compiling

  1. preprocessing

  2. compiling

  3. assembling

  4. linking

4
New cards

preprocessing

1st step of compiling; where the header files in your code, designated by a # (such as #include <cs50.h>) are effectively copied and pasted into your file. During this step, the code from cs50.h is copied into your program.

<p>1st step of compiling; <span>where the header files in your code, designated by a </span><code>#</code><span> (such as </span><code>#include &lt;cs50.h&gt;</code><span>) are effectively copied and pasted into your file. During this step, the code from </span><code>cs50.h</code><span> is copied into your program.</span></p>
5
New cards

compiling

2nd step of compiling; where your program is converted into assembly code

<p>2nd step of compiling; <span>where your program is converted into assembly code</span></p>
6
New cards

assembling

3rd step of compiling; involves the compiler converting your assembly code into machine code

<p>3rd step of compiling; <span>involves the compiler converting your assembly code into machine code</span></p>
7
New cards

linking

last step of compiling; code from your included libraries is converted also into machine code and combined with your code. The final executable file is then outputted.

<p>last step of compiling; code from your included libraries is converted also into machine code and combined with your code. The final executable file is then outputted.</p>
8
New cards

Debugging

the process of locating and removing bugs from your code.

9
New cards

Rubber duck debugging

debugging technique where you can talk to an inanimate object (or yourself) to help think through your code and why it is not working as intended

10
New cards

debugger

a software tool created by programmers to help track down bugs in code.

11
New cards

System Resources required by each data type

knowt flashcard image
12
New cards

Arrays

a sequence of values that are stored back-to-back in memory; containers that can also be passed between functions

<p><span>a sequence of values that are stored back-to-back in memory; containers that can also be passed between functions </span></p>
13
New cards

string vs char

A string is simply an array of variables of type char: an array of characters.

14
New cards

Command-line arguements

arguments that are passed to your program at the command line.

15
New cards

argc

the number of command line arguments

16
New cards

argv

an array of the characters passed as arguments at the command line.

17
New cards

Exit Status

When a program exits without error, a status code of 0 is provided to the computer. Often, when an error occurs that results in the program ending, a status of 1 is provided by the computer.

18
New cards

Cryptography

the art of ciphering and deciphering a message.

19
New cards

ciphering a message

The key is a special argument passed to the cipher along with the plaintext. The cipher uses the key to make decisions about how to implement its cipher algorithm.

<p><span>The key is a special argument passed to the cipher along with the plaintext. The cipher uses the key to make decisions about how to implement its cipher algorithm.</span></p>
20
New cards

reading levels

typically refer to how you read input from a user or a file

21
New cards

Reverse engineering

intellectual property; involves analyzing a compiled executable or library to understand its functionality, design, and internal workings without access to the original source code.

22
New cards

echo $?

useful for testing code in industry in automated processes