Are keys generated by the user or block cipher algorithms themselves? We know block cipher algorithms. In the block cipher algorithms, Key Scheduling is the one crucial part. I see that in some simulation programs of the AES,DES,TripleDES encryption algorithms. In those, some programs are asking for the key dynamically or statically.
Now this time, I need to know clearly how to generate the key in symmetric key encryption.
I mean "is key given by user? or is key ready by default in encryption?"
Key generation and key scheduling are different things. The key scheduling is part of the cipher, the key generation generally isn't.

Symmetric keys should be indistinguishable from random, so often they are the product of a secure random number generator. There are other ways as well, such as derivation from a password using a Password Based Key Derivation Function or as the result of a key agreement algorithm, possibly followed by a Key Based KDF.

DES and triple DES are a bit special as the keys are normally augmented with parity bits that are ignored in the actual cipher. So there may be routines that calculate or verify these parity bits. Those routines are however commonly not considered part of the cipher itself and modern libraries may forgo the parity calculation altogether.