From 240e961e763df9405cd543e29222221cbdd2be4d Mon Sep 17 00:00:00 2001 From: Steven Baltakatei Sandoval Date: Sun, 7 Aug 2022 21:22:07 +0000 Subject: [PATCH 1/1] chore(src/):Finish youtube c tutorial --- src/20220807T1949Z..test.c | 34 +++++++++++++++++++++++++++ src/20220807T1959Z..test.c | 36 +++++++++++++++++++++++++++++ src/20220807T2010Z..test.c | 46 +++++++++++++++++++++++++++++++++++++ src/20220807T2021Z..test.c | 37 +++++++++++++++++++++++++++++ src/20220807T2028Z..test.c | 32 ++++++++++++++++++++++++++ src/20220807T2052Z..test.c | 45 ++++++++++++++++++++++++++++++++++++ src/20220807T2121Z..test.c | 46 +++++++++++++++++++++++++++++++++++++ src/employees.txt | 4 ++++ src/test | Bin 16096 -> 16216 bytes src/test.c | 31 +++++++++++++++++++++---- 10 files changed, 307 insertions(+), 4 deletions(-) create mode 100644 src/20220807T1949Z..test.c create mode 100644 src/20220807T1959Z..test.c create mode 100644 src/20220807T2010Z..test.c create mode 100644 src/20220807T2021Z..test.c create mode 100644 src/20220807T2028Z..test.c create mode 100644 src/20220807T2052Z..test.c create mode 100644 src/20220807T2121Z..test.c create mode 100644 src/employees.txt diff --git a/src/20220807T1949Z..test.c b/src/20220807T1949Z..test.c new file mode 100644 index 0000000..b25d659 --- /dev/null +++ b/src/20220807T1949Z..test.c @@ -0,0 +1,34 @@ +/* Desc: For Loops + * Usage: ./test + * Ref/Attrib: [0] C programming tutorial for beginners https://youtu.be/KJgsSFOSQv0?t=10212 + * [1] https://youtu.be/ix5jPkxsr7M?t=3072 + * [2] C: Multiple scanf's, when I enter in a value for one scanf it skips the second scanf https://stackoverflow.com/a/9562355 + */ + + +#include +#include + +int main(){ + + for( int i = 1; i <= 5; i++ ){ + printf("%d\n", i); + }; + printf("Done.\n\n"); + + int luckyNumbers[] = {4, 8, 15, 16, 23, 42}; + for( int i = 0; i < 6; i++ ){ + printf("%d\n", luckyNumbers[i]); + }; + printf("Done.\n\n"); + + return 0; +}; + + + + +/* + * Author: Steven Baltakatei Sandoval + * License: GPLv3+ + */ diff --git a/src/20220807T1959Z..test.c b/src/20220807T1959Z..test.c new file mode 100644 index 0000000..a079f4d --- /dev/null +++ b/src/20220807T1959Z..test.c @@ -0,0 +1,36 @@ +/* Desc: 2D Arrays & Nested Loops + * Usage: ./test + * Ref/Attrib: [0] C programming tutorial for beginners https://youtu.be/KJgsSFOSQv0?t=2h59m5s + * [1] https://youtu.be/ix5jPkxsr7M?t=3072 + * [2] C: Multiple scanf's, when I enter in a value for one scanf it skips the second scanf https://stackoverflow.com/a/9562355 + */ + + +#include +#include + +int main(){ + + int nums[3][2] = { + {1, 2}, + {3, 4}, + {5, 6} + }; + + for(int i = 0; i < 3; i++){ + for(int j = 0; j < 2; j++){ + printf("%d,", nums[i][j]); + }; + printf("\n"); + }; + + return 0; +}; + + + + +/* + * Author: Steven Baltakatei Sandoval + * License: GPLv3+ + */ diff --git a/src/20220807T2010Z..test.c b/src/20220807T2010Z..test.c new file mode 100644 index 0000000..a3512c6 --- /dev/null +++ b/src/20220807T2010Z..test.c @@ -0,0 +1,46 @@ +/* Desc: Memory Addresses + * Usage: ./test + * Ref/Attrib: [0] C programming tutorial for beginners https://youtu.be/KJgsSFOSQv0?t=3h9m11s + * [1] https://youtu.be/ix5jPkxsr7M?t=3072 + * [2] C: Multiple scanf's, when I enter in a value for one scanf it skips the second scanf https://stackoverflow.com/a/9562355 + */ + + +#include +#include + +int main(){ + + int age = 30; + double gpa = 3.4; + char grade = 'A'; + + printf("age : %d\n", age); + printf("gpa : %f\n", gpa); + printf("grade : %c\n", grade); + printf("%p : age\n", &age); + printf("%p : gpa\n", &gpa); + printf("%p : grade\n", &grade); + age = 31; + gpa = 3.5; + grade = 'B'; + printf("Done.\n\n"); + + printf("age : %d\n", age); + printf("gpa : %f\n", gpa); + printf("grade : %c\n", grade); + printf("%p : age\n", &age); + printf("%p : gpa\n", &gpa); + printf("%p : grade\n", &grade); + printf("Done.\n\n"); + + return 0; +}; + + + + +/* + * Author: Steven Baltakatei Sandoval + * License: GPLv3+ + */ diff --git a/src/20220807T2021Z..test.c b/src/20220807T2021Z..test.c new file mode 100644 index 0000000..efa1ac6 --- /dev/null +++ b/src/20220807T2021Z..test.c @@ -0,0 +1,37 @@ +/* Desc: Pointers + * Usage: ./test + * Ref/Attrib: [0] C programming tutorial for beginners https://youtu.be/KJgsSFOSQv0?t=3h17m22s + * [1] https://youtu.be/ix5jPkxsr7M?t=3072 + * [2] C: Multiple scanf's, when I enter in a value for one scanf it skips the second scanf https://stackoverflow.com/a/9562355 + */ + +#include +//#include + +int main(){ + + int age = 30; + int * pAge = &age; + double gpa = 3.4; + double * pGpa = &gpa; + char grade = 'A'; + char * pGrade = &grade; + + printf("age's memory address: %p\n", &age); + printf("age's memory address: %p\n", pAge); + printf("gpa's memory address: %p\n", &gpa); + printf("gpa's memory address: %p\n", pGpa); + printf("grade's memory address: %p\n", &grade); + printf("grade's memory address: %p\n", pGrade); + + printf("\n\nDone.\n\n"); + return 0; +}; + + + + +/* + * Author: Steven Baltakatei Sandoval + * License: GPLv3+ + */ diff --git a/src/20220807T2028Z..test.c b/src/20220807T2028Z..test.c new file mode 100644 index 0000000..9ae7c13 --- /dev/null +++ b/src/20220807T2028Z..test.c @@ -0,0 +1,32 @@ +/* Desc: Dereferencing Pointers + * Usage: ./test + * Ref/Attrib: [0] C programming tutorial for beginners https://youtu.be/KJgsSFOSQv0?t=3h27m43s + * [1] https://youtu.be/ix5jPkxsr7M?t=3072 + * [2] C: Multiple scanf's, when I enter in a value for one scanf it skips the second scanf https://stackoverflow.com/a/9562355 + */ + +#include +//#include + +int main(){ + + int age = 30; + int *pAge = &age; + + printf("%p\n", pAge); // memory address of age + printf("%d\n", *pAge); // dereferenced value of memory address of age interpreted as integer + printf("%d\n", *&age); // dereferenced value of memory address of age interpreted as integer + printf("%p\n", &*&age); // memory address of dereferenced value of memory address of age interpreted as integer + printf("%d\n", *&*&age); // dereferenced value of memory address of dereferenced value of memory address of age interpreted as integer + + printf("\n\nDone.\n\n"); + return 0; +}; + + + + +/* + * Author: Steven Baltakatei Sandoval + * License: GPLv3+ + */ diff --git a/src/20220807T2052Z..test.c b/src/20220807T2052Z..test.c new file mode 100644 index 0000000..9e23db2 --- /dev/null +++ b/src/20220807T2052Z..test.c @@ -0,0 +1,45 @@ +/* Desc: Writing Files + * Usage: ./test + * Ref/Attrib: [0] C programming tutorial for beginners https://youtu.be/KJgsSFOSQv0?t=3h32m38s + * [1] https://youtu.be/ix5jPkxsr7M?t=3072 + * [2] C: Multiple scanf's, when I enter in a value for one scanf it skips the second scanf https://stackoverflow.com/a/9562355 + */ + +#include +//#include + +int main(){ + + // File modes + // r : read + // w : write + // a : append + + FILE * fpointer = fopen( "employees.txt", "w" ); + printf("%p : fpointer address - file opened\n", fpointer); + fprintf(fpointer, "Jim, Salesman\nPam, Receptionist\nOscar, Accounting\n"); + printf("%p : fpointer address - file written\n", fpointer); + fclose(fpointer); + printf("%p : fpointer address - file closed\n", fpointer); + + fpointer = fopen( "employees.txt", "a" ); + printf("%p : fpointer address - file opened\n", fpointer); + fprintf(fpointer, "Kelly, Customer Service\n"); + printf("%p : fpointer address - file appended\n", fpointer); + + + + + fclose(fpointer); + printf("%p : fpointer address - file closed\n", fpointer); + printf("\n\nDone.\n\n"); + return 0; +}; + + + + +/* + * Author: Steven Baltakatei Sandoval + * License: GPLv3+ + */ diff --git a/src/20220807T2121Z..test.c b/src/20220807T2121Z..test.c new file mode 100644 index 0000000..f3305c9 --- /dev/null +++ b/src/20220807T2121Z..test.c @@ -0,0 +1,46 @@ +/* Desc: Reading Files + * Usage: ./test + * Ref/Attrib: [0] C programming tutorial for beginners https://youtu.be/KJgsSFOSQv0?t=3h41m54s + * [1] https://youtu.be/ix5jPkxsr7M?t=3072 + * [2] C: Multiple scanf's, when I enter in a value for one scanf it skips the second scanf https://stackoverflow.com/a/9562355 + * [3] File Positioning https://www.gnu.org/software/libc/manual/html_node/File-Positioning.html + */ + +#include +//#include + +int main(){ + + int fposition; + char line[255]; + FILE *fpointer = fopen("employees.txt", "r"); + + printf("%p : fpointer address\n", fpointer); + fgets(line, 255, fpointer); + fposition = ftell(fpointer); // See [3] + printf("%d : fposition\n", fposition); + + printf("%p : fpointer address\n", fpointer); + printf("%s", line); + + printf("%p : fpointer address\n", fpointer); + fgets(line, 255, fpointer); + fposition = ftell(fpointer); + printf("%d : fposition\n", fposition); + + printf("%p : fpointer address\n", fpointer); + printf("%s", line); + + printf("%p\n : fpointer address\n", fpointer); + fclose(fpointer); + printf("\n\nDone.\n\n"); + return 0; +}; + + + + +/* + * Author: Steven Baltakatei Sandoval + * License: GPLv3+ + */ diff --git a/src/employees.txt b/src/employees.txt new file mode 100644 index 0000000..dd826b8 --- /dev/null +++ b/src/employees.txt @@ -0,0 +1,4 @@ +Jim, Salesman +Pam, Receptionist +Oscar, Accounting +Kelly, Customer Service diff --git a/src/test b/src/test index 6008fa64ebe0dd585a173aba1486e86b6269411b..148c89ef97114c5bb631869b081a5a27826c57cf 100755 GIT binary patch delta 2543 zcmZ`*Z){Ul6u-A!yR{bA*8yGm*8&*~7v7^CrTfFi223gf86?6CA!V|TO~zK&LN<+V zRflZ`q2q+4^1+M`#*sh*E<|h86bvjt6o|o$4<<|@mW0Fse%J_D&wcOR<=N5^Tmq3>ogzqbXvG(%;d})R58ai_(|QF=>%m6F`i)e9ToS8- znc0X>Y^8!@H91nJ-~>deT}Y~|q{>Rd8G2LL>ryx~65_hR;{O}5M;);TO!}_b6}Ixr zyYAl@*;KgmMk4#BZ{P2Gn&7CubdCkb+T8+J(igI5k_uE+y zllo%nh3$C~Ern>_E~#~YFcKz#Ku7yq`vT!eb9W?gu(`dHw04Dp*zfD;3I|DRB-qhG zLWd$@c#&5I9z$!1p5zg|{G-^jM`=uJLRDTrxMC<@!I!K+We}U9B-BOX_B1Ru?uN5Q z3&f0;nwK~m<kT!5E^A5uJ zK;L~7g9EIW2m3@jn52zhsqD~t1?E-eP!ip(^*()(ljdBl_m1qvH2Y@8n91|HHgYU; z17TcFP?P2ao^pSDOnK+HHh`shR_i^$yxKG`YQ42vbAwN5-ICTjmLc+3hT{q)Gw~eu z*zCH@^U=e$d6pBdyuNM{JQ(We>J0|NVx%WRNGbw3N z%;EM(dsipoFfz^mNi~}{c6A0tGhSx%_0_9!FWKjm{xh3xLs>V89~sIc^=i zzhHF8w%Jmw-brb-ZZH~aO^{mY6dn~R$e{=lgNG}fGyx`2(pe2qC2kX9>cyd6-gpIl zDmrab>W!lo9#Ub1>*6*#1rEtc$DvZ%Pm^$3@(CgNx+J7ul?k{l-E=pq*{IVJ7b-fu zS^IPB<*Gdmw^vD+7j@em{FddhF;pm-gSorin`j;Mx+MoMQ=D@}R*J}8xa79e7~FNQ zqo=^(*#cfqkz)rgicKdFz8XBL35GoLVYO#AJpyiz-H}9|mEc;{afTv4XI}ahP~==i zj-Ydpf*j7z@YrK-{!JcX9x2Z8e#SDuv3Yf0rcUsO%D3k5pQ?P5y1Vl3W6TuGWT6@N zisg_SH5ctJxS%VdtKdSpoxVPLt$Zi7DW$M()0WrPZwPoqkLZO(UhgWoerl~)OIw;F z%}Om*DyP;B0q=T2F0NYZXv&+f*HuusTp^mR>=VF-N9$R|8ev?8T+V~~N=cYftz6bY zv{Euxs0R)Y+BcPJ1b+Uw906L@NBbdKC7FiRqc#kwDxYv(MO=n}R!cU%&|F^E!TM^^ z%um3hB6zp@RT_Xx)sktiOHLXO&vdoVlvGg?D%bi<{4YQZdJ*x$pMVr1eh8B=z1BDL i9mTL@vepCjHCZ|d^|d}zDZ3u9ZHH*BkM=^UcKJV`JG4~* delta 1996 zcmZ`)Z){Ul6u{zz@b$6XJ-`6!!&ClMy4EAB;l$1AZ`zK~lmJ#-9(v57cwtp9v)1bUx~Mjo^Uvx-jnRw3%e|+94C z-&#GThK_m8!#UKP->9u(w`YQ#HV;(U9HrBbX)Vxa^HAFaEx%uK%2{1WT8!Yp`rzWI~Mt$h0j9Od_ z!t^1L)TCC^!qOvwfOB0ON1 zGbPV5cDrR*E=1%9eT|r;doc?>b)FdtpJHHTRKB4MT}G4ranoru4ax<2+lEnChYia& z!tz|kI@mY6nqUX^Dg@7;Ps@r9#{aMo%0*~NFw}E!Kx*2_u53o=-Ye|OcBIoCX`*!Wt`>T`v%2W2jp#=eMW01^cH7@ zW1|&5sq^!PT^jRgKyq-U&QHhTZk@pXjVaOf`=nYX}K z!B$*JML!*bfVhv#N8uc|1ahJP*TiXQ?(tLMN&zQ_zfnO?45>QS;FswWaHU>k0VU7E zA#@jV90f`$FkMO7M!nE0i9X|LGkm^R1vhDeOOl7?;JUPtX2I96qnzW3ac;v|2C2bA z6L7MjvcgHQ8ZpD7VLwo`pMby`kMAQaAy2Syf@U-8uAjq8XzfL-3)7#}kE`A`dgNgM zt>5U@v-+Xcn?vg*w!iNW7Mb%AXG{;N!%eok1*<};v7~NVIl-@emBQPNYaQ`;doq*M z-b(nhakKZyS2DJ3$BUb{#2bR432B|p#LW?C4hQ*ZJ?904P4#XV30LuBte0^ZSPmD$ zB0sKc4QzvlVG#;pCp0zJ^F}Win1J5qBeV^A%x?Ii`5Ev;cza4OM+&4!i0{{#fw2YO z(-Gcfl+M756fQ=Bi;O!v?1Fodt+Wxs>qYy2e_cK6L-v%QCQnju4w>=F=in|f<82=Y tDH^gH-I9l%XlS9wbNF7ek$?-)BKF>e4I%psYe*acc(@@%DM%Yv{0klSzm)(0 diff --git a/src/test.c b/src/test.c index 20f3c5d..f3305c9 100644 --- a/src/test.c +++ b/src/test.c @@ -1,16 +1,39 @@ -/* Desc: For Loops +/* Desc: Reading Files * Usage: ./test - * Ref/Attrib: [0] C programming tutorial for beginners https://youtu.be/KJgsSFOSQv0?t=10212 + * Ref/Attrib: [0] C programming tutorial for beginners https://youtu.be/KJgsSFOSQv0?t=3h41m54s * [1] https://youtu.be/ix5jPkxsr7M?t=3072 * [2] C: Multiple scanf's, when I enter in a value for one scanf it skips the second scanf https://stackoverflow.com/a/9562355 + * [3] File Positioning https://www.gnu.org/software/libc/manual/html_node/File-Positioning.html */ - #include -#include +//#include int main(){ + + int fposition; + char line[255]; + FILE *fpointer = fopen("employees.txt", "r"); + + printf("%p : fpointer address\n", fpointer); + fgets(line, 255, fpointer); + fposition = ftell(fpointer); // See [3] + printf("%d : fposition\n", fposition); + + printf("%p : fpointer address\n", fpointer); + printf("%s", line); + + printf("%p : fpointer address\n", fpointer); + fgets(line, 255, fpointer); + fposition = ftell(fpointer); + printf("%d : fposition\n", fposition); + printf("%p : fpointer address\n", fpointer); + printf("%s", line); + + printf("%p\n : fpointer address\n", fpointer); + fclose(fpointer); + printf("\n\nDone.\n\n"); return 0; }; -- 2.39.5