Ok so how are you going to track player turns ?
how will you check for this condition? only a loop or a complex recursive function can check each turn if the condition
if (cell11 == 'X' && cell12 == 'X' && cell13 == 'X') |
is fulfilled.
and lastly if your a beginner why do you seek for the hardest if not impossible way instead of learning the correct way ?
NOTE:if you would do the program without any loops your problems will be as following:
1)the programs length will probably be thousands of lines in length because you will need to check for 9 conditions each turn as there is 9 options to lay out x's or o's to win.
2)there is a minimum of 3 turns to win and a maximum of 9 turns to win and in the case of 9 it needs another check as it can be a draw aswell.
3)you need to track somehow which players turn it is (x's or o's) just to keep in mind as you don't want x or o to have infinite turns right? (more correctly you wont want a player to be allowed to put 3 x's in a line without o having a single turn but if you don't want this just cross it out) from here we can come with a conclusion that you need to implement some sort of algorithm to not allow x to be put in a cell when its o's turn and vise versa.
4)if you would want to implement a player vs pc option without loops or arrays a minmax algorithm would become huge in size and very hard if not impossible to make (keep in mind that if you want a menu its a few extra lines of code).
5)lastly using this method of approach is very error prone
if you want everything mentioned above in your code without loops or arrays i would estimate your program about 2000 lines of code (*important: can be shortened substantially with functions)