hand_book_final

advertisement
Programming Reference
Handbook
中正大學 – 電機工程學系,通訊工程學系 – 程式設計
0
Linux 指令參考

ls – list direction contents
 Synopsis : ls [option]…[file]…
 Option
 –l : use a long listing format
 –a : do not ignore entries starting with .

cd – change directory
 Synopsis : cd [directory]

pwd – print name of current/working directory
 Synopsis : pwd [option]
 Option


-L : use PWD from environment, even it contains symlinks
-P : avoid all symlinks

clear – clear terminal screen
 Synopsis : clear

mkdir – make directories
 Synopsis : mkdir [option]…[directory]…
 Option
 -p : no error if existing, make parent directories as needed

rmdir – remove empty directories
 Synopsis : rmdir [option]…[directory]…
 Option
 -p : remove DIRECTORY and its ancestors

rm – remove files or directories
 Synopsis : rm [option]…[file]…
 Option
 -f : ignore nonexistent files, never prompt
 -r : remove directories and their contents recursively
中正大學 – 電機工程學系,通訊工程學系 – 程式設計
1

cp – copy files and directories
 Synopsis : cp [option]…[source]…[destination]
 Option
 -r : copy directories recursively
 -f : if an existing destination file cannot be opened, remove it and
try again
 -l : link files instead of copying

mv – move (rename) files
 Synopsis : mv [option]…[source]…[destination]
 Option



-f : do not prompt before overwrite
-n : do not overwrite an existing file
-u : move only when the SOURCE file is newer than the
DESTINATION file

vi – a programmers text editor
 Synopsis : vi [file]

gedit – text editor for GNOME Desktop
 Synopsis : gedit [file]

[Ctrl] + [c] – force to break off the program which is running

[Tab] – complete instruction / complete file

[↑] / [↓] – search for previous instruction or next instruction

man – an interface to the on-line reference manuals
 Synopsis : man [instruction]

cat – concatenate files and print on the standard output
 Synopsis : cat [option]…[file]…
 Option
 -n : number all output lines
 -E : display $ at end of each line
中正大學 – 電機工程學系,通訊工程學系 – 程式設計
2

more – file perusal filter for crt viewing
 Synopsis : more [file]

less – opposite of file
 Synopsis : less [file]

grep – print lines matching a pattern
 Synopsis : ls | grep [file]

gcc – GNU project C and C++ compiler
 Synopsis


gcc [file] – compile the file and generate a binary file named a.out
gcc -c [file] – compile the file and generate an object file named
file.o

gcc –o outputfile [file] – compile the file and generate an binary
file named outputfile
中正大學 – 電機工程學系,通訊工程學系 – 程式設計
3
Functions 參考

int rand ( void );
 *Returns a pseudo-random integral number in the range 0 to RAND_MAX.

void srand ( unsigned int seed );
 The pseudo-random number generator is initialized using the argument
passed as seed.
 seed : An integer value to be used as seed by the pseudo-random
number generator algorithm.

Int sizeof(Variable or Data Type)
 sizeof is used to calculate the sizes of datatypes

char * gets ( char * str );
 *get string
 str : Pointer to an array of chars where the C string is stored.

int puts ( const char * str );
 *put string


str : C string to be written.
FILE * fopen ( const char * filename, const char * mode );
C string containing a file access modes. It can be:
"r"
Open a file for reading. The file must exist.
"w"
Create an empty file for writing. If a file with the same name already
exists its content is erased and the file is treated as a new empty file.
"a"
Append to a file. Writing operations append data at the end of the file.
The file is created if it does not exist.
"r+"
Open a file for update both reading and writing. The file must exist.
"w+"
Create an empty file for both reading and writing. If a file with the
same name already exists its content is erased and the file is treated as
a new empty file.
"a+"
Open a file for reading and appending. All writing operations are
performed at the end of the file, protecting the previous content to be
overwritten. You can reposition (fseek, rewind) the internal pointer to
中正大學 – 電機工程學系,通訊工程學系 – 程式設計
4
anywhere in the file for reading, but writing operations will move it
back to the end of file. The file is created if it does not exist.

int fclose ( FILE * stream );
 Closes the file associated with the stream and disassociates it.
 stream : Pointer to a FILE object that specifies the stream to be closed.

int fprintf ( FILE * stream, const char * format, ... );
 stream :Pointer to a FILE object that identifies the stream.
specifier
Output
Example
c
Character
a
d or i
Signed decimal integer
392
e
Scientific notation (mantise/exponent)
using e character
3.9265e+2
E
Scientific notation (mantise/exponent)
using E character
3.9265E+2
f
Decimal floating point
392.65
g
Use the shorter of %e or %f
392.65
G
Use the shorter of %E or %f
392.65
o
Signed octal
610
s
String of characters
sample
u
Unsigned decimal integer
7235
x
Unsigned hexadecimal integer
7fa
X
Unsigned hexadecimal integer (capital letters)
7FA
p
Pointer address
B800:0000
n
Nothing printed. The argument must be a pointer
to a signed int, where the number of characters
written so far is stored.
%

A % followed by another % character will
write % to the stream.
int fscanf ( FILE * stream, const char * format, ... );
 Reads data from the stream and stores them according to the parameter
format into the locations pointed by the additional arguments.
 stream :Pointer to a FILE object that identifies the stream to read data
from.
中正大學 – 電機工程學系,通訊工程學系 – 程式設計
5
Type of
type
Qualifying Input
c
Single character: Reads the next character. If
a width different from 1 is specified, the function
reads width characters and stores them in the
successive locations of the array passed as
argument. No null character is appended at the
end.
char *
d
Decimal integer: Number optionally preceeded
with a + or - sign.
int *
e,E,f,g,G
Floating point: Decimal number containing a
decimal point, optionally preceeded by
a + or - sign and optionally folowed by
the e orE character and a decimal number. Two
examples of valid entries are -732.103 and 7.12e4
float *
o
Octal integer.
int *
s
String of characters. This will read subsequent
characters until a whitespace is found (whitespace
characters are considered to be blank, newline
and tab).
char *
u
Unsigned decimal integer.
unsigned
int *
x,X
Hexadecimal integer.
int *
argument

int fgetc ( FILE * stream );
 * Returns the character currently pointed by the internal file position
indicator of the specified stream.
 stream :Pointer to a FILE object that identifies the stream on which the
operation is to be performed.

int fputc ( int character, FILE * stream );
 Writes a character to the stream and advances the position indicator.
 character :Character to be written. The character is passed as its int
promotion.
 Stream :Pointer to a FILE object that identifies the stream where the
character is to be written.
中正大學 – 電機工程學系,通訊工程學系 – 程式設計
6

char * fgets ( char * str, int num, FILE * stream );
 Reads characters from stream and stores them as a C string into str until
(num-1) characters have been read or either a newline or a the End-of-File
is reached, whichever comes first.
 str :Pointer to an array of chars where the string read is stored.
 Num :Maximum number of characters to be read (including the final
null-character). Usually, the length of the array passed as str is used.
 Stream :Pointer to a FILE object that identifies the stream where
characters are read from.
 To read from the standard input, stdin can be used for this parameter.

int fputs ( const char * str, FILE * stream );
 Writes the string pointed by str to the stream.
 str :An array containing the null-terminated sequence of characters to


be written.
Stream :Pointer to a FILE object that identifies the stream where the
string is to be written.
int feof ( FILE * stream );
 Checks whether the End-of-File indicator associated with stream is set,
returning a value different from zero if it is.

stream :Pointer to a FILE object that identifies the stream.

Int main ( int argc, char* argv[] )
 The parameters argc( argument count) and argv (argument vector),
respectively give the number and value of the program's command-line
arguments.
 ex. hello.exe hello world
 argc = 3
 argv[0] is "hello.exe",argv[1] is "hello",argv[2] is "world"。

#define
 The #define directive substitutes token-string for all subsequent occurrences
of an identifier in the source file. The identifier is replaced only when it
forms a token.
中正大學 – 電機工程學系,通訊工程學系 – 程式設計
7

math.h
 cmath declares a set of functions to compute common mathematical
operations and transformations:

常用函式使用範例 :







double pow(double x, double y)
double sqrt(double x)
double fabs(double x)
double exp(double x)
double log(double x)
double log10(double x)
double ceil(double x)
中正大學 – 電機工程學系,通訊工程學系 – 程式設計
8


double floor(double x)





double fmod(double x, double y)
int abs(int x)
sin(x)
cos(x)
tan(x)
string.h
 This header file defines several functions to manipulate C strings and
arrays.
中正大學 – 電機工程學系,通訊工程學系 – 程式設計
9

常用函式使用範例 :







int strcmp(char *s1,*s2)
char *strcpy(char *dest, char *src)
int strlen(char *s1)
int atoi(char *s)
char *gets(char *s)
int puts(char *s)
ctype.h
 This header declares a set of functions to classify and transform individual
characters.

常用函式使用範例 :

tolower(ch)






toupper(ch)
islower(ch)
isspace(ch)
isdigit(ch)
isalpnum(ch)
getchar()
中正大學 – 電機工程學系,通訊工程學系 – 程式設計
10

conio.h
 conio.h is a C header file used in old MS-DOS compilers to create text user
interfaces.
 int kbhit(void)
 Determines if a keyboard key was pressed.
 int getch(void)
 Reads a character directly from the console without buffer, and
without echo.
 int getche(void)
 Reads a character directly from the console without buffer, but
with echo.







int ungetch(int c)
 Puts the character c back into the keyboard buffer.
char *cgets(char *buffer)
 Reads a string directly from the console.
int cscanf(char *format, arg0,... argn)
 Reads formatted values directly from the console.
int putch(int c)
 Writes a character directly to the console.
int cputs(const char *string)
 Writes a string directly to the console.
int cprintf(const char *format, arg0,... argn)
 Formats values and writes them directly to the console.
pointer
 In computer science, a pointer is a programming language data type whose
value refers directly to (or "points to") another value stored elsewhere in the
computer memory using its address.
 ex.



int *ptr;
int num = 100;
ptr = #
 num = 100
 &ptr = 0028FF1C
 Ptr = 0028FF18
 *ptr = 100
中正大學 – 電機工程學系,通訊工程學系 – 程式設計
11

Structure
 A struct in C programming language is a structured (record) type that
aggregates a fixed set of labelled objects, possibly of different types, into a
single object.

ex1.
ex2.
struct account
{
int account_number;
account_number;
char *first_name;
*first_name;
char *last_name;
*last_name;
float balance;
balance;
}a1;
中正大學 – 電機工程學系,通訊工程學系 – 程式設計
typedef struct
{
int
char
char
float
}account;
12
Download