This is a sample format for a dated entry. Please substitute the actual date for “Month Day, Year”, and duplicate the level 4 heading to make additional entries.
As an aid, feel free to use the following questions to help you generate content for your entries:
Remember that 4 is just the minimum number of entries. Feel free to have more.
Today I was working on a program that could pop pictures up on all the screens in the room. The program didn't work but instead it pushed the processing use over 4,600% it was epic. I will not be using it again. We also learned about pointers and pointers that point to pointers.
Today we learned about arrays. when we run a program the data is stored in an array. the first part is the programs name. the parts that follow are the arguments that affect the command. Arrays can be accessed and specific information can be retrieved from them. These are really helpful because they allow the user to store information easily and retrieve specific data easily.
We talked a lot about project one which is a cipher decipher program. We talked about how everything to the computer is technical a number and with that being true numbers can be manipulated. This is a great concept because it allows for so really cool programming tricks. Considering that all letters are numbers then you can better use letters in you program. For example of a letter being a number …. z is the same as 122 and a is the same as 97.
Standard input and output is simple but complicated. The most obvious of what it can do is simple. Receive data and output data. Even that can be put onto a new level depending on your knowledge of Standard I/O. For now just the basics. The computer can receive input from some source(keyboard, other programs, and files). standard output is also just where a program sends its data. “fscanf” is used to grab infromation from the user input using the keyboard. “fprintf” is used to output data onto (well usually) the screen. STDERR is also like STDOUT but instead of outputting user generated data it tends to output when the program fails in some way. Segmentation faults and compilation problems tend to be standard errors.
#include <stdio.h> #include <stdlib.h> int main() { FILE *in,*out; int value=0; in=fopen("file.txt","r"); out=fopen("out.txt","w"); if(in==NULL) { printf("ERROR!\n"); exit(1); } fscanf(in,"%d",&value); while(value!=-1) { value *= 2; fprintf(out,"%d\n",value); fscanf(in,"%d",&value); } fclose(in); fclose(out); return(0); }
What this code does is creates a seemingly random number then has the user input their guess. the guess is compared to the actually number and then the program outputs the results. As seen in the program the terms “fscanf” and “fprintf” are used. Not only that but the terms in and out are used along with the proper “fscanf” with in and the other with “fprintf”
Header files are used in a program to give the user the ability to use certain commands in his program. There are two types. The first is “local header files” these files are programs you have created or data compilations you wish to use in your current program. The other type of header file is the “system header files.” These are instituted into the program using the command “#include <blah blah>” the blah blah is the header file you wish to use.
The C Standard Library is a compilation of both header files and all the possible commands one can use in their programs. It is the programming language of C.
Libraries are simply other compilations of commands which make up other languages for programming.
Essentially these are the different mathematical symbols and how they function within the program. This is easier to show then explain. This table is grabbed from http://www.tutorialspoint.com/ansi_c/c_operator_types.htm
Operator Description Example + Adds two operands A + B will give 30 - Subtracts second operand from the first A - B will give -10 * Multiply both operands A * B will give 200 / Divide numerator by denumerator B / A will give 2 % Modulus Operator and remainder of after an integer division B % A will give 0 ++ Increment operator, increases integer value by one A++ will give 11 -- Decrement operator, decreases integer value by one A-- will give 9 Operator Description Example == Checks if the value of two operands is equal or not, if yes then condition becomes true. (A == B) is not true. != Checks if the value of two operands is equal or not, if values are not equal then condition becomes true. (A != B) is true. > Checks if the value of left operand is greater than the value of right operand, if yes then condition becomes true. (A > B) is not true. < Checks if the value of left operand is less than the value of right operand, if yes then condition becomes true. (A < B) is true. >= Checks if the value of left operand is greater than or equal to the value of right operand, if yes then condition becomes true. (A >= B) is not true. <= Checks if the value of left operand is less than or equal to the value of right operand, if yes then condition becomes true. (A <= B) is true. && Called Logical AND operator. If both the operands are non zero then then condition becomes true. (A && B) is true. || Called Logical OR Operator. If any of the two operands is non zero then then condition becomes true. (A || B) is true. ! Called Logical NOT Operator. Use to reverses the logical state of its operand. If a condition is true then Logical NOT operator will make false. !(A && B) is false.
logic operators can be used to define exactly what you want you program to respond to and not to respond to. They can be used to make sure if statements only act when certain requirements are met. exp. if( (i =2)&&(x=2) ); the program will only run said if statement if both x and i are equal to 2.
and is && or is || not is ! xor is ^ or ^^ i am not sure
Variables in this case are just different data types. Each data type has a purpose. Char is made for characters. Int is used for small numbers. and long long int is used for very long numbers. The following are results from a program that takes the range and size of each datatype.
an unsigned char is 1 bytes The range of an unsigned char is 0 to 255 An unsigned char can store 256 unique values A signed char is 1 bytes The range of a signed char is -128 to 127 A signed char can store 256 unique values an unsigned short int is 2 bytes The range of an unsigned short int is 0 to 65535 An unsigned short int can store 65536 unique values A signed short int is 2 bytes The range of a signed short int is -32768 to 32767 A signed short int can store 65536 unique values an unsigned int is 4 bytes The range of an unsigned int is 0 to 4294967295 An unsigned int can store 4294967295 unique values A signed int is 4 bytes The range of a signed int is -2147483648 to 2147483647 A signed int can store 4294967296 unique values an unsigned long int is 8 bytes The range of an unsigned long int is 0 to 18446744073709551615 An unsigned long int can store 18446744073709551615 unique values A signed long int is 8 bytes The range of a signed long int is -9223372036854775807 to 9223372036854775806 A signed long int can store 18446744073709551615 unique values an unsigned long long int is 8 bytes The range of an unsigned long long int is 0 to 18446744073709551615 An unsigned long long int can store 18446744073709551615 unique values A signed long long int is 8 bytes The range of a signed long long int is -9223372036854775807 to 9223372036854775806 A signed long long int can store 18446744073709551615 unique values
A scope is something that is only functional within its area. Block scope are pieces of code that fall between these {}. They are main blocks of code and there can be many of these in a single function. Local Scope is when you have a code block but inside you have another and there is a variable in it that was created and is only usable within the separate code block inside the original.if { blah blah blah){ int i} if this is in a block of code then the int i is part of a local scope. File block is anything declared outside of normal blocks of code. These are accessible anywhere. The final Scope is Global. These are things declared outside of code and can be used in your code. Usualy called upon before you begin you code ( before you input int main() )
Type Casting is when you convert one type of variable to another within your program. Like when you divide two whole integers and want a float result you change it into a float.
Demonstration of the chosen keyword.
If you wish to aid your definition with a code sample, you can do so by using a wiki code block, an example follows:
float avg(int m1, int m2, int m3, int m4) { float average=0; int total=0; total=m1+m2+m3+m4; average=(float)total/4; // this causes the division to recognize the float return(average); }
Here you can see i have an integer “total” and a float “average” in order to devide by 4 the total i first had to type cast he integer so the computer will recognize it not as a integer now but a float.
These are different types of loops. A loop is used when you want to repeat a process more then once based on a variable or a predetermined set of boundaries
while(*pick != -1) { *pick=rand()%99+1; printf("guess the computers pick: "); scanf("%d", input); if(*input == *pick) { printf("you are correct!\n"); } else if(*input > *pick) { printf("HAHA FAIL you are too high\n"); } else { printf("GOLDEN GUESS jk you were wrong that is too low\n"); } printf("the computers pick was %d\n",*pick); } printf("the computers pick was %d\n",*pick); printf("to go again enter in 0, to quit -1: "); scanf("%d", pick); } for(pos=0;pos<len;pos++) { fprintf(stdout,"%c",*(word+pos)-32); }
Do whiles are essentially just like the while loop but with a different way of writing it.
CAN I READ IT?
This entails me looking at one of our harder functions and explaining what each part is doing and how all the parts work together.
I will look at the program called
The information in the
#include <stdlib.h> int sum(int, int, int, int); //function prototype float avg(int, int, int, int); int high(int, int, int, int); //[these four blocks are function protoypes.... this means that they dont actually exist yet int low(int, int, int, int); // but are in place so that we can define them later. They will all receive] int main() { int a,b,c,d; a=b=c=d=0; printf("enter first value: "); fscanf(stdin, "%d", &a); printf("enter second value: "); // this zone is the initial area where we ask the user for his numbers fscanf(stdin, "%d", &b); // and scan there output into a variable. printf("enter third value: "); fscanf(stdin, "%d", &c); printf("enter fourth and final value: "); fscanf(stdin, "%d", &d); fprintf(stdout, "the sum of %d, %d, %d, and %d is: %d\n", a,b,c,d, sum(a,b,c,d)); //these lines output different fprintf(stdout, "the avg of %d, %d, %d, and %d is : %0.5f\n",a,b,c,d,avg(a,b,c,d)); // results based on the numbers // one is sum, average, and lowest and greatest numbers. each calls a different function fprintf(stdout, "the greatest value is %d, and the lowest value entered is %d\n",high(a,b,c,d),low(a,b,c,d)); return(0); } // sum(a,b,c,d) is sending copies to v that function.not changing the value or cant change the value of a b c or d int sum(int n1, int n2, int n3, int n4) { int total=0; // this zone basically adds the numbers together and returns total so that when the total=n1+n2+n3+n4; // function main uses it it will see only the return of this function. return(total); } float avg(int m1, int m2, int m3, int m4) { float average=0; // here we take the same numbers , re add them , then convert them to a float. int total=0; // this is so that we can now divide by 4 and get decimals. Once again returns a single result. total=m1+m2+m3+m4; average=(float)total/4; // this causes the division to recognize the float return(average); } int high(int b1, int b2, int b3, int b4) { int greatest=0; if( (b1>b2) && (b1>b3) && (b1>b4)) { greatest=b1; } if( (b2>b1) && (b2>b3) && (b2>b4)) // this uses many ifs to check and find which variable is the largest by { greatest=b2; // comparing to the others. } if( (b3>b1) && (b3>b2) && (b3>b4)) { greatest=b3; } if( (b4>b1) && (b4>b3) && (b4>b2)) { greatest=b4; } } int low(int b1, int b2, int b3, int b4) { int lowest=0; if( (b1<b2) && (b1<b3) && (b1<b4)) { lowest=b1; } if( (b2<b1) && (b2<b3) && (b2<b4)) // same as greatest but tries to find the least greatest variable. { lowest=b2; } if( (b3<b2) && (b3<b1) && (b3<b4)) { lowest=b3; } if( (b4<b2) && (b4<b3) && (b4<b1)) { lowest=b4; } return(lowest); }
Reflect upon your results of the measurement to ascertain your achievement of the particular course objective.
What is the question you'd like to pose for experimentation? State it here.
Collect information and resources (such as URLs of web resources), and comment on knowledge obtained that you think will provide useful background information to aid in performing the experiment.
Based on what you've read with respect to your original posed question, what do you think will be the result of your experiment (ie an educated guess based on the facts known). This is done before actually performing the experiment.
State your rationale.
How are you going to test your hypothesis? What is the structure of your experiment?
Perform your experiment, and collect/document the results here.
Based on the data collected:
What can you ascertain based on the experiment performed and data collected? Document your findings here; make a statement as to any discoveries you've made.
What is the question you'd like to pose for experimentation? State it here.
Collect information and resources (such as URLs of web resources), and comment on knowledge obtained that you think will provide useful background information to aid in performing the experiment.
Based on what you've read with respect to your original posed question, what do you think will be the result of your experiment (ie an educated guess based on the facts known). This is done before actually performing the experiment.
State your rationale.
How are you going to test your hypothesis? What is the structure of your experiment?
Perform your experiment, and collect/document the results here.
Based on the data collected:
What can you ascertain based on the experiment performed and data collected? Document your findings here; make a statement as to any discoveries you've made.
What is the question you'd like to pose for experimentation? State it here.
Collect information and resources (such as URLs of web resources), and comment on knowledge obtained that you think will provide useful background information to aid in performing the experiment.
Based on what you've read with respect to your original posed question, what do you think will be the result of your experiment (ie an educated guess based on the facts known). This is done before actually performing the experiment.
State your rationale.
How are you going to test your hypothesis? What is the structure of your experiment?
Perform your experiment, and collect/document the results here.
Based on the data collected:
What can you ascertain based on the experiment performed and data collected? Document your findings here; make a statement as to any discoveries you've made.