DAVID Malan: Este é CS50, e esta é o inicio dunha semana. E o que pensamos facer é puxar para tras a cortina dun dispositivo que moitos de vostedes probablemente xa pasou agora durante anos, pero quizais nunca se coñecido o que é. Polo tanto, este dispositivo probablemente vai mirar familiar para a maioría de vostedes ata agora. [REPRODUCIÓN] -A vitoria das matemáticas e habilidade mecánica é esta nova gran calculadora automática en Universidade de Harvard. Problemas complicados de matemáticas poñer a través da máquina, en forma codificada en cinta son precisamente resolto nun minuto fracción do tempo necesario para a cálculo humano. Deseñado para axilizar toda forma de investigación matemática e científica, o cerebro mecánico xigante vontade traballar a Estados Unidos Mariña ata o final da guerra. [FIN reprodución de vídeo] DAVID Malan: Entón iso é o que ve na Centro de Ciencias, que é onde esta máquina xa está aloxado. De feito, só se ve parte dela. Só unha parte está en exposición, e iso é un dispositivo chamado marca I, e foi esencialmente realmente un enorme calculadora. Foi sucedido polo Mark II, e é do Mark II que realmente ter un pouco de léxico. Este é o primeiro rexistro de algo que está a piques de facer-se todo moi familiarizado con todo o longo do semestre - é dicir, un erro. Entón, el saíu nun punto a Marca Dispositivo II non estaba funcionando correctamente, e tras unha inspección máis próxima, houbo de feito un erro - unha bolboreta - que traza - interior. E desde entón, nos referimos erros en programas como erros. Entón, máis sobre iso máis para vir. Falando en vídeo, así como, non ten, sei que é CS50 obviamente filmado. As conferencias van tipicamente logo clase en unha especie de pre-lanzamento formato inéditos, e, a continuación, un día ou dous despois, poñemos unha resolución ea versión de maior calidade. Pode lembrar Vanessa, que tivo a sorte de xogar con Google Vidro, que Esquecín cargar este tempo. Entón, se quere chegar ata despois da aula e xogar, eles deben traballar hoxe. E se quere ver o que Vanessa vin o outro día, o que vai ver por aquí - déixeme aumentar o volume aquí no meu portátil. [REPRODUCIÓN] -Entón déixeme esta cola é superior. Todo ben. Entón tocar iso. Todo ben. OK, Glass. Gravar un vídeo. Todo ben. Vanessa? [FIN reprodución de vídeo] DAVID Malan: Todo ben, entón a razón que non funcionou para a maioría de vostedes en Ao final da clase se porque eu continúe para gravar unha hora dese imaxes apuntando para min despois Coloque os lentes abaixo. Entón, hoxe, eu vou deixar los fora, pero grazas a vostede Vanessa por ser un bo deporte. Mentres tanto, un par de anuncios antes de avanzar hoxe. Entón, un, CS50 ten unha tradición de facer o que pudermos para tentar facer unha moi gran clase sentir pequeno. E para iso, a maioría toda venres, reunímonos nun restaurante en praza, Fire and Ice, con 30 ou 40 dos seus compañeiros, eu mesmo, algúns dos corpo docente, e só ter un xantar moi casual. Nós moitas veces invitar amigos da industria, alumnos da clase, ex-alumnos da universidade, en realidade, só para falar cada aos outros, falar sobre a vida tras a universidade, vida na universidade, e semellantes. Entón, se quere participar deste primeiro como o xantar o venres 13:15, de cabeza para que URL nalgún momento. O espazo é limitado, polo que imos facer chegar primeiro servir. Pero imos facelo de novo nun recurrente base, así que non se preocupe se non iso nese primeiro lote. Agora, en termos de recursos dende curricularly polo curso hai unha serie enteira, e se non ten tirou a web do curso xa, en particular, en conferencias, verás que todo que fixemos a semana pasada está aí, tanto en vídeo e unha especie de forma electrónica. Pero, ademais dos videos, vai atopar que hai agora texto completo transcritos, por exemplo, de cada charla. Entón, se nós realmente volver a esta pantalla aquí con Vanessa, e navegar para o ángulo inferior da pantalla, vai descubrir que, en realidade, non para A charla do venres, pero se volver Mércores, xa que este recurso ten un uns días, vai considerar que pode realmente tirar para arriba, para mellor ou para peor, cada palabra que eu ou un voluntario no escenario, dixo. E máis do que iso. Pode, en realidade, busca-lo, pode prema en calquera destas frases, ir ao momento en que o vídeo, para todos e ao final da fabricación do material de todo máis navegable. Pero se prefire non seguilo con tantos detalles, vai atopar, por exemplo, este pequeno menú aquí para 1.5x velocidade, a velocidade de 2x, ou i f i xa falan moi rápido para ti, velocidade 0,75 x. Así, entende todo isto é dispoñible alí para ti. Pero, ademais, para conferencias, realizar que tamén fan estes recursos Tamén dispoñible. Diapositivas, exemplo de código, calquera cousa que eu facer no escenario ou no avance da clase, imos publicar alí para que poida xogar xunto na casa ou no Sanders. Pero o que nós tamén pensamos en facelo ano, por primeira vez é tamén fornece-lo con orientacións destes exemplos. Cada vez máis, como eu xa reflexionou sobre o valor das conferencias de CS50, comece a cuestionar o quão útil é a Vostedes sentar alí, para min estar aquí, e para min falar contigo, especialmente como material, o exemplos, se fan máis complexas. Porque, invariabelmente, despois dun certo número de minutos, alguén vai saír da zona, e entón perda algún insight clave dalgúns exemplo, e entón está esencialmente ir para o resto da clase, o que non é o mellor uso de seu tempo, ou, en realidade, o noso colectivamente como unha clase. E entón o que pensamos en tratar de facer, particularmente para algúns dos máis exemplos complexos que eu non podería facer xustiza en clase, que non pode teño tempo para en clase, ou pode só a zona durante, é que imos producir unha serie de directrices destes exemplos para que, se vai, para exemplo, a páxina de vídeo o venres pasado aquí con exemplos, podes ver que para o venres, hai agora esta conexión para orientacións. E o formato destes vai cambiar co paso do tempo. Polo momento, estamos a usar unha simple Lista YouTube. Pero o que eu fixen con o noso equipo de produción despois foi percorrer cada e cada un destes exemplos, de novo, espero que apuntar con máis claridade o que o delivery pode ou debería ser de cada un. Entón vai atopar, por exemplo, a partir da última semana, todos os exemplos scratch pasamos están feitos de forma lineal en que a moda. Polo tanto, Sinto-se libre para participar ou non involucrar neste material. Realmente un tema deste curso particular é que hai probablemente máis en forma de recursos que lle podería absorber máis o curso de un semestre. Pero iso é proposital. Estaba a ser así que, como Cada alumno pode se auto-select con base no seu estilo de aprendizaxe. Entón, se conferencias traballar para ti, gran. Se seccións traballar para ti, gran. Se orientacións para traballar é mellor, óptimo. Realmente vai ser ata a escoller que recursos funcionan mellor para vostede. Finalmente, grazas a un ex-alumno da Por suposto, nós tamén fornecen unha canónica conxunto de notas escriba. Entón, en vez de ter vostedes cabezas abaixo en conferencias rabiscando cousas que xorden en clase, nós, os persoal, pode fornecer-lle co que sentir son un conxunto canónico de notas para libralo de que a distracción, de xeito que se está aquí e comprometida, está verdadeiramente comprometidas co que está a suceder, cos seus compañeiros están a facer enriba escenario, co que pasa na pantalla, e non simplemente escribir textualmente o que pasou ser dito. Así, entende todos estes recursos están dispoñibles para ti. Paso, en resposta a un FAQ, comezará este mércores. Nós esencialmente esperar ata despois de máis outras clases son feitas para que poidamos minimizar o número de cambios que necesitamos facer. Pero chegando este fin de semana, comezando Domingo, será un exemplo, un tempo de o que chamamos super-seccións. Estes serán filmados para aqueles que non poden participar e, esencialmente, o cabezas do curso vai atravesar algúns da porción C do curso, cara a unha final dun conxunto de problemas, que Será o noso primeiro C con base conxunto de problemas. E estes serán só seccións opcionais en anticipación do que vai converterse en seccións recorrentes levaron por do curso 50 plus ensinando compañeiros semanal. Aos domingos ou luns ou martes, nos teñen seccións 90 minutos dunha forma moi sentido tradicional, que será oportunidades para as mans e máis revisión íntima da o material de curso. Sen máis delongas, déixeme presentar cabezas do curso, que son nos bastidores con me, facendo que todo ocorre. Se os que están aquí hoxe, podería unirse a min, Rob e Lauren e José e Lucas, todo dos cales foron co Naturalmente durante algún tempo. RJ é o terceiro membro do noso equipo. Non puido estar aquí hoxe, pero el me pediu para amosar unha foto del. Eu non estou seguro que el quería iso Pero alí está el. E déixeme só permitir que o equipo de dicir Ola e presentar-se de xeito que comeza a coñece-los, así como a súa propio compañeiro ensino este término. Lauren CARBALLO: Oi O meu nome é Lauren Carvalho. Eu son un titor residente en Leverett House. Eu tamén estou super animado para ser un TV de cabeza para CS50 este ano. CS50 é unha clase moi difícil, así como unha clase moi grande, entón se ten algunha dúbida, se se sentir como está quedando atrás, póñase en chegar a calquera de nós en heads@cs50.het, ou para min, se Gústame xogar co meu ouro Puppy retriever. Aquí é Lucas. LUCAS FREITAS: Ei, persoal. O meu nome é Lucas Freitas. Eu son un Júnior [inaudível] ciencia da computación e lingüística. En realidade eu son do Brasil, e eu tamén realizar estudos do leste asiático. Entón, se ten algunha dúbida sobre ciencia da computación, lingua ou calquera cousa, é só me avisar. Ou CS50, especialmente. JOSEPH ONG: Oi Eu son Joseph. Eu son un equipo Senior estudar ciencia en Elliott House. Entón, imos ver. Vai me ver por aí premendo un destes enormes cámaras. Eu son o residente fotógrafo persoal a 50, así como, e moitas veces os alumnos ás veces me confundir con un turista asiático. Entón, se me ver cunha cámara, non fuxa. Só sorría e non se acanhe. E eu espero que che guste 50. Eu gosto moito cando eu peguei, e é por iso que eu teño para TFing Nestes tres anos. ROB BOWDEN: Oi Eu son Rob. Este é o meu cuarto semestre con CS50. I acaba de se formar en maio. Eu estaba en Kirkland. Estou animado para este semestre, e espero que tamén o son. DAVID Malan: Grazas a este ano cabezas, e así a RJ. Entón algunhas notas finais sobre recursos. Un, p axustar 0 xa está de pé. Este só existe na normativa edición, que está destinado ao elementos da clase. Comezando cun conxunto de p, haberá edicións de hackers da maioría dos conxuntos de problemas, que, de novo, vai cubrir o material cun pouco máis de un reto, mentres aínda tocando nalgún dos mesmos temas. Facer un ollo no sitio web do curso para que a especificación para p set 0. O horario de oficina, tamén, comezará esta semana, hoxe, mañá, mércores, e xoves en varias comidas salas no campus. Consulte cs50.net/ohs para o escritorio horas para o curso, e entender iso haberá oportunidades moi casual, Certamente, no inicio do semestre, de atopar co seu portátil durante as vacacións de cerebro. Traer algúns amigos e falar co TFS do curso e CAs con calquera preguntas que pode ter. E eu non podo salientar o suficiente, mesmo para cero e 0 conxunto de problemas, non realmente ningunha pregunta idiota. Non hai alumno moi incómoda facer preguntas. Sinto-se libre para aproveitar deste recurso. Vai estar alí recorrentemente ao longo do semestre, como vai CS50 Discutir. Esta é a discusión en liña do curso foros en que a dirección alí. Que nós tamén imos facer durante as clases é tamén supervisar tanto, grazas ao equipo de profesores do curso. E por iso, se ten unha pregunta durante charla, porque eu dixo algo mal ou non en todos, por todos os medios, pregunta que en tempo real, se ten o seu portátil ou teléfono no sitio web, e imos facer o noso mellor en tempo real para responder a iso. Hai dúbidas sobre CS 50? Entón, un últimas notas da mina. Esta cuestión do SAT unsat. Como finalizar os seus tarxetas de estudio, se non ten, entender que o visión global da SAT unsat, dispoñible para todos os alumnos, en realidade é para axudar a tomar a borda fóra dun curso así, por así dicir, de forma que se atopa-se á noite, 02:00, 03:00, realmente bater a súa cabeza contra a parede onde vostede sabe que é do 99% do o camiño para a conclusión, pero ten tantas outras cousas para facer, Coido que un uso mellor, moitas veces, de tempo dos alumnos é mover-se de feito sobre a esas outras cousas para que poida optimizar o tempo. E SAT unsat é un mecanismo a través do cal pode consolar co feito de que o 99% do camiño existe aínda moi bo. Do mesmo xeito, tamén, se veu para o Por suposto, sen coñecemento previo ou non tanto de fondo como Pensas que os seus compañeiros poidan ter, a verdadeira ou falso, entender que esta é unha oportunidade de ensuciar as mans co curso, poñer os pés na auga, por así dicir, moi parecido que me fixo anos con aprobación / reprovação. Como dixen a semana pasada, tivo o curso, como os outros, non está dispoñible aprobación / reprovação na época, eu probablemente faría Non teño nin nunca pisou a clase, aínda que eu fixen, cinco semanas máis tarde, cambiar a miña mente, o que pode moi ben, e pasar a ou de estado graduada carta. Todo ben. Entón, nós miramos para as cousas como esta en Venres, e nós estamos indo moi rápido a transición cara a algo que parece máis enigmática hoxe. Pero é con todo o mesma idea fundamental. Cal foi o termo xeral que usado para describir unha peza do puzzle que se parecía con isto? Así, unha afirmación. E pode chamar iso de calquera serie de cousas. Pero imos chamalo de un comunicado, e unha declaración só di ao programa - ou, no caso de risco, o sprite - facer algo. Diga Ola neste caso. Algo parecido a iso, en vez chamado o que? É, polo tanto, unha expresión booleana. Unha expresión booleana é só algo o que é verdadeiro ou falso, e así Acoitelado chamalos con esta forma, senón tamén cun punto de interrogación para transmitir a idea de que a resposta a esta pregunta é certo ou falso, si ou non un, 1 ou 0. E usamos estas expresións booleanas dentro construcións como estas, que chamamos o que? Así, a condición ou sector. E a condición que ve aquí en Cero ten un pequeno espazo reservado para a parte do enigma de que xeito, o propósito de que é así que pode arrastralo lo e solta-lo enriba e logo, ditar o programa se este Boolean expresión é certa, facer este conxunto de instrucións, este conxunto de declaracións, máis facelo outro conxunto de instrucións. E lembrar que se pode niño esas cousas. Aínda que non hai moito espazo visualmente en que parte do enigma, risco vai medrar e encoller para caber todo pezas do puzzle que arrastrar e soltar en alí, entón pode realmente Niño e ten un garfo de tres vías vial. If, else if, else. E tamén se pode ir alén do que, nidificación máis e máis, que corresponda. Entón, finalmente vimos construcións como este, tamén coñecido como un circuíto. E este é só algo que fai algo de novo e de novo e de novo. Neste caso, pasa a ser un finito número de veces, pero nós tamén viu un exemplo onde o número de veces veu dunha variable, polo que pode cambiar. E vimos tamén outro bloque completo chamado un bloque que sempre permitiu-nos facer un loop infinito longo. Entón, outra construción que cero 2.0 ten - e os que máis cómodo con fondo anterior son xa está ben familiarizado con esta construír - estas cousas que chamamos que? Entón, chamamos estas funcións, se non, coñecido como procedementos. Hai unha pequena diferenza semántica, pero imos chamalos só funcións. E unha función, en caso de perigo, é unha peza de puzzle personalizado que vostede mesmo pode crear para que teña unha nova peza de puzzle que, neste caso, sería chamado tose, que aparece entre todos os demais pezas do puzzle dispoñibles en cero. Aínda que o MIT non inventou esta peza de puzzle, que fixo. Entón a función permite que cree novas comportamento, darlle un nome de función, e logo chamalo, por así dicir. Really empregar en programas repetidas unha e outra vez, sen ter que esperar para alguén como MIT no camiño para inventar unha nova funcionalidade a partir de cero. Vostede mesmo pode construír estes crebacabezas anacos de si mesmo, e logo reutiliza-los nos seus propios programas. E nós imos ver un exemplo recorrente de que hoxe en diante. Entón, hoxe, nos transición agora para algo máis misterioso. Con todo, ao final do día, algo máis poderosos e expresivos e máis representante do camiño que nós imos ser en todo o semestre toda unha serie de linguas - que de código ou o código fonte. E código fonte, ao parecer, non é o que un ordenador normalmente funciona realmente. O código fonte é algo así. Polo tanto, este é, de novo, se cadra a máis simple programa, podemos escribir nun linguaxe chamada C. Imos comezar a provocar este apart en pouco tempo, e se que realmente se parece grego para vostede agora, confíe en min. Dentro dunha semana ou dúas de tempo, este vai ser todo moi familiar e realmente moi representativo de cada vez exemplos complexos co que tamén se sentir máis cómodo. Pero non pode simplemente executar este tipo de código normalmente. Ten que transformalo en algo que o propio ordenador entende. E así, para iso, necesitamos algo imos chamar un compilador. Un compilador é un programa que leva código fonte, como acaba de ver, como de entrada, e produce e ceros queridos como saída, se non, coñecido como código obxecto. E eses ceros e uns que pode parecer como esta que en definitiva, son entendidas polo seu Mac ou PC. Se vostede xa escoitou a comercialización expresión Intel Inside, que só significa que unha compañía chamada Intel fabricou o cerebro do ordenador - tamén coñecida como a CPU, unidade central de procesamento - e iso é só a cousa que entende patróns de ceros e uns. E así, a través da conversión de código fonte en código obxecto a través deste proceso aquí que nós imos facer cun par de comandos en só un bit, está creación de patróns de ceros e uns que os funcionarios de Intel teñen decidiu representar certas declaracións. Agora, eu non sei ben o que é que por só mirando para estes ceros e uns. A maioría dos seres humanos nos días de hoxe non. Pero en algún lugar hai un patrón de ceros e uns que representan o declaración de impresión. Nalgún lugar no que podería haber unha diferente conxunto de ceros e uns que representar a noción de sempre ou Repita 10 veces, ou mesmo Meow, se é en realidade, un programa que pode incluír algúns sons. Así, en breve, os seres humanos teñen só decidiu, así como fixemos para ASCII - para as letras do alfabeto a semana pasada - os seres humanos decidiron que, aínda estándares máis complexos de ceros e uns representar o comportamento máis complexo como imprimir ou dicindo ou miando. E así, para hoxe, e en gran parte en diante no semestre, imos dar a seguro que alguén ten figurado como facer ese mapeamento. Pero, de acordo con esa idea de de capas na parte superior do traballo de persoas que viñeron antes de nós, vai levar para concedida o feito de que isto está a suceder debaixo do capó. Pero estamos moito máis interesados ​​en construción de cousas que son máis interesante encima de todo isto. E así, de feito, o primeiro programa que escribiu en risco era ese super sinxelo un, Ola Mundo. E pode pensar niso como o programa principal que rexe o risco de comportamento desde o pasado venres. Hoxe, imos comezar a traducir Acoitelado pezas do puzzle en código fonte nesta lingua chamada C de xeito que o que parecía ser esta a Venres, a partir de hoxe en diante, é agora vai estar así. Reconhecidamente máis enigmática. É moi desgustado e tipo de conta entorpecente para ver todas as citas e as comas e os parénteses e así por diante. Pero se comezar a ignorar calquera cousa que Non entendo, e realmente ollar a esencia do texto branca na pantalla, seguramente ve, como eu, "Ola, mundo". Que se aliñan co declaración vermello enriba, e se transforma que a palabra clave principal vai aliñar conceptualmente con ao verde bandeira premendo. Así, noutras palabras, mentres en Scratch imos aplicar este programa Ola Mundo con estas dúas pezas do puzzle, en C, imos implementar lo con estes catro liñas un tanto enigmáticas. Pero como mergullo máis fondo para iso, vai ver que cada un destes carácteres brancos na pantalla de verdade ten algún significado importante, ea maioría dos nosos programas van mira estructuralmente a mesma. Así, unha declaración, para ser claro, o que parecía "say Ola Mundo" en Venres comezará a ollar gusto deste luns. printf ("Ola, mundo"). E hai algunha barra invertida estraño n, hai parénteses, hai punto e coma. Con todo, ao final do día, a tecla takeaway hoxe é que todo o que estamos facendo está traducindo as cousas de imaxe formar a forma de texto. Así, un ciclo que ficou así a semana pasada, vai agora ollar algo así. E déixeme rexeitan, así como no Cero, hai diferentes xeitos de acadar o mesmo obxectivo. Mesmo en C. Non estou mostrándolle o único forma de facer as cousas, pero unha forma de traducir isto para sempre bloque a un circuíto en C. Este aquí, repita 10 veces. Este realmente tipo de dobra o mente a primeira vez que velo. Pero para aplicar que, de agora en diante, imos utilizar un loop for, por así dicir. E, por suposto, hai unha sintaxe que se algo complexo, con I e igual e 0, pero xa que mergullo no que de hoxe en diante, só vai a ver que iso é todo simplemente facer un aritmética básica para levar de 0 en ata 9 ou 10, neste caso. Finalmente, coas variables, vai lembrar unha variable que é unha parte de almacenamento. Ben, o que tivemos na esquerda alí no semana vai parecer un pouco algo como isto esta semana. Pero, de novo, máis sobre iso máis para vir. Tivemos expresións booleanas, que a semana pasada, quedou así. Esta semana en diante, van comezar a ollar un pouco como iso. E este é realmente algo reconfortante. En realidade, é case tan sinxela como os bloques verdes. Pero aquí temos, unha vez máis, unha nova sintaxe con e comercial, pero pode quizais creo que mentres en cero, A dicir-N-D, ao parecer en C, estamos vai dicir comercial e comercial. Pero todo isto vai facer natural, antes de tempo. Condicións. A semana pasada, parecía que este de esquerda. Esta semana, á dereita, é se ve así. Pero, de novo, o principal argumento aquí é que como ve as cousas como que en dereito, e especialmente se menos cómodo, é unha especie de sobre a súa cabeza, está un pouco resaltado que Realmente non teño idea de como eu podería posiblemente, chegar a que a partir de cero - sen trocadilhos - só entender que é realmente o mesmo idea de que, probablemente, me sentín moito máis naturais a semana anterior. E mesmo se non dicir Conxunto de Problemas 0, eu diría que vai atopar que as pezas do puzzle son bastante intuitivo, ou polo menos chegar a ser así ao longo do tempo. Entón imos mergullar dentro Imos ensuciar as mans aquí con Neste primeiro programa sinxelo. É simple e, por suposto, relativa. Para iso, eu vou cambiar pantallas a ese dispositivo Liguei para o CS50 aparello. O aparello CS50 é unha peza de programa que está a ser executado dentro dun ventá no meu Mac, e tamén pode realizar lo nunha fiestra dentro do seu PC, que permíteme ter exactamente o mesmo ambiente do ordenador como cada TF, segundo cada CA, como todos os alumnos na clase. Xa que o aparello CS50 é literalmente outro sistema operativo chamado Linux - especialmente Fedora Linux - e nós, os funcionarios, configurar o proceso de instalación para este sistema de operación, de tal xeito que un, hai un pequeno logotipo no CS50 medio, dous, hai un menú personalizado no parte inferior, e tres, pedagoxicamente, nós simplificamos a interface de usuario como na medida do posible, de xeito que, cando primeiro arrincar esa cousa no seu propio país Mac ou PC, ten a mesma medio ambiente como todos os demais, e ten todas as ferramentas que precisa para o curso sen ter que descubrir como instalar cada un e cada instrumento individualmente. Polo tanto, esta parece relativamente como Mac OS ou Windows. Na parte inferior esquerda, ten esencialmente ter un menú de inicio do tipo, ou un menú Apple. E entón tes o que nós sospeitamos vontade ser os seus tres iconas máis comúns. Unha delas é o Chrome. Hai un navegador dentro do aparello. Dous é un programa chamado gedit, que vimos brevemente a semana pasada, o que é só un editor gráfico. E tres é un programa de terminal, que é unha ventá en branco e negro a partir de pasado que nos permite escribir máis ordes arcanos, pero máis poderoso en noso teclado. Entón, eu estou indo a ir adiante e prema en gedit, e teña a certeza de que problema conxunto 1, que sairá á venda o venres, será oriente-lo a través de todos estes mesmos pasos. Repare que eu teño unha simple interface de usuario con tres partes. Á esquerda, eu teño un gran baleiro fiestra chámase código fonte. É onde eu estou indo a ver un resumo de calquera código que eu escriba. No lado dereito, eu teño un gran tab, actualmente gardadas, e iso é onde meu código está indo. E no fondo, eu teño un incorporado Fiestra de terminal, un branco e negro ventá no que eu poida escribir ordes para compilar e executar os meus programas - que é, facer e realizar os meus programas. Entón, imos comezar polo máis simple. Déixeme ir a Arquivo, Gardar. Eu estou indo a ir adiante e entrar jharvard. Así, o aparello, independentemente daquilo o seu nome é, pertence a un cara chamado John Harvard, que ten unha casa jharvard directorio dentro do cal todas as súas ficheiros vai. É a súa propia copia da súa conta, así que non todos estamos compartindo o mesmo disco duro. Vostede só ten a ilusión do propio John Harvard. De antemán, realmente Dropbox instalado. O aparello ven con preprepared Dropbox para que, se algo sae mal durante o semestre, se ten configurou o seu dispositivo cun libre Conta Dropbox, todos os seus arquivos serán pode facer a copia de seguridade automática para ti Pode facilmente recuperalos. E eu estou indo a ir ao meu Dropbox directorio, e xa está a suceder ser algunhas outras cousas alí. Pero eu estou indo a ir adiante e vai en Arquivo, Gardar. Eu estou indo a ir a jharvard, Dropbox, e aquí enriba, vou dar o meu programa un super sinxelo nome, hello.c, e despois gardar. Entón, eu teño a mesma interfaz agora. O único que cambiou é o guía enriba. Entón, eu estou indo moi rápido para recrear que programa a partir do desliza un momento atrás. Entón, en main (void), e, a continuación, printf, "Ola, mundo", un tanto enigmática barra invertida n, próximo orzamento, peche parénteses, o punto e coma, e entón Ctrl S para gardar. E noten como un aparte que só apareceu aquí na esquina superior esquerda. E iso non é útil hoxe, pero será útil ao longo do tempo. Acaba de ver, unha vez máis, un resumo das o código que escribiu. E por que escribín algo chamado principal, é por iso que a palabra principal estourou ata alí. Pero, na maior parte, Non é necesario que hoxe. Todo ben, entón eu digo que esta é a miña primeiro programa escrito nunha programación linguaxe chamada C. Sabemos que a partir do venres que o que esa cousa vai facer moi uninterestingly cando executa-lo é só amosar - noutras palabras, para imprimir, como un ordenador científico diría - Ola Mundo en pantalla. Entón, para facelo, vai entender que eu teño para ir ata aquí para o meu terminal fiestra, e agora eu teño nun palpebrar rápido. Pero esta é agora unha versión de teclado meu directorio home John Harvard. É unha forma de teclado a través do cal para navegar meu disco duro. Entón eu non podo escribir, en realidade, como eu fixen a semana pasada facer Ola, xa que é vai dicir ningunha regra para procesar o obxecto de aprendizaxe - algo está mal. Non sei ben o que esta mensaxe medios, pero iso é porque, por defecto, cando esta fiestra branco e negro é abriu, estou dentro John Harvard directorio home. Pero onde eu gardar este programa? Na miña carpeta Dropbox. Agora, todos nós medran con ordenadores en que basta con premer dúas veces na icona dun cartafol, el ábrese, e listo. É alí onde o ficheiro chamado ola.c sería. Entón, en realidade, imos facelo. Déixeme ir adiante e minimizar gedit así como faría en Windows ou Mac OS. Déixeme ir a casa carpeta na esquina superior esquerda. Vexo aquí unha morea de carpetas. Aquí está a miña carpeta Dropbox. As marcas de verificación significa que foi sincronizado. E hai algunhas cousas aquí, pero entende que é hello.c de feito alí. E así, Mac OS ou Windows, normalmente, Eu tiña un dobre clic diso, abre-se calquera programa, e eu son bo para ir. Pero agora, polo menos a partir de hoxe, nos que dar un paso atrás só para darlle algunhas ferramentas básicas para a súa Kit ferramenta coa que facer máis cousas poderosas antes de tempo. Entón, neste ventá, eu teño que facer o equivalente a premer dúas veces no Cartafol Dropbox. E para facelo, eu vou escribir para CD cambiar de directorio, Dropbox, entrar. E agora entender os parénteses na miña chamados listo agora di que eu estou en til, o pouco embaralhar símbolo na esquina superior esquerda da maioría dos teclados, / Dropbox. Este é só notación abreviada para dicindo humano, agora está dentro o cartafol Dropbox, como se tivese premendo dúas veces sobre el. Polo tanto, agora se eu ir adiante e escriba make Ola, entrar, vexo moi enigmático mando, pero non é unha mensaxe de erro, parecer, e despois outro palpebrar rápido. E se se lembra, sempre tan axiña o venres, nós fixemos iso. . / Olá O que está a piques de ver é o resultado da miña execución deste programa, ou, en Mac Condicións de sistema operativo e PC, se eu tivese normalmente dobrar facer clic nun programa - unha aplicación. programa ou un. exe, abre-se unha fiestra e carreiras. Escribindo. / Ola é como doble facer clic nun programa para executalo, pero usando o meu teclado. Escriba, Ola mundo. E é iso. Entón, imos provocar este ademais de por iso non se sente moi parecido ao grego. So. / Significa o que? Calquera que xa navegou un teclado ambiente coma este, que é o punto referencia? O directorio actual. Así, o directorio actual é só un sinónimo para un cartafol. Así dicindo dot slash, eu estou dicindo, Buscar un programa chamado Hola en directorio actual - no cartafol actual. Noutras palabras, a miña carpeta Dropbox. E é por iso premendo Intro despois realmente funciona este programa. Se eu LS agora Tipo, teña en conta que eu vexo todo na miña carpeta Dropbox. Obtendo Started.pdf, que Dropbox dálle balde, miñas fotos directorio, un directorio público e non gardada Documento 1 que fixen por erro un hai pouco, foo.c, que eu fixen antes hoxe, e logo, dúas liñas - hello.c e Olá Hello.c é o programa que escribín con gedit, eo que é Ola en verde? A Ola en verde é o executable. Noutras palabras, cando corría ese mando hai pouco - déixeme rolar de volta o tempo - cando eu execute facer Ola, iso é a etapa intermedia aquí. E levou hello.c como entrada - Código fonte aka - e produciu un arquivo chamado Ola como saída, que contén todos estes ceros e uns. E é por iso que, ao final, podo realmente executar un comando como. / Olá Por mor de Intel Inside, o meu ordenador sistema Linux, abre os ceros e aqueles, alimenta-los para o cerebros do meu ordenador - a CPU - e que a CPU sabe, oh, aquí está un estándar de ceros e uns que di imprimir o seguinte cousa na pantalla. Cal é o seguinte? Cita unquote, "Ola mundo". Todo ben, entón un rápido resumo dalgunhas das estes comandos para que poidamos comezar levalos para concedida. Deixe-me ir directo para o onde paramos. E vai lembrar que tiñamos CD no noso back-end dun momento atrás. Estes son, atrévome a dicir, por propósitos de hoxe - quizais esta semana - os únicos comandos que quizais sexa necesario escribir o comando facer ademais de pedir. Entón CD quedou por que? Cambie o directorio. É só o equivalente a dúas veces clic nun cartafol. E como un aparte, se recibe nunca perdeu dentro da súa aparello, de tal xeito que Dropbox - Quero volver para o meu directorio jharvard - En caso de dúbida, CD, entrar, sen ningunha outra palabras, e el só pecha-lo de volta a onde comezou, o que é algo bo acceso. Todo ben, entón agora os outros comandos. LS. Eu escriba que un momento atrás. ¿Que pensas LS representa? Así, a lista, non? Volver o día, cando os seres humanos estaban vindo con estes comandos, eles estaban tratando de ser eficaz, e si escribir L-I-S-T Intro, eles decidiu LS. Iso é bo. Isto soa moi como lista. Nós só LS tipo entrar, e que lista os arquivos ou carpetas no meu cartafol actual. mkdir, probablemente pode adiviñar. Fai directorio. Entón non ir a algún menú Arquivo e seleccione Novo cartafol neste ambiente. Pola contra, escribe o espazo comando mkdir e logo, o nome do filtro que quere crear, e iso será feito. rm, probablemente pode adiviñar. Eliminar ou eliminar. Entón, se quere eliminar un ficheiro, vai ver no conxunto de problemas como pode facelo. E rmdir, eliminar o directorio. Entón, de novo, eu vou adoitan voar a través dalgún destes detalles, un, porque eles non son todo isto moi divertido para pasar tempo, pero dous, nós aporta-lo en moi maior detalle en calquera dos O problema do curso define, en particular as edicións Standard, cada unha das etapas que pode ter escribir así que obteña cada vez máis cómodo con estas cousas. Pero agora déixeme desmembrar outra cousa. Cando ingresaran facer Ola un momento atrás, vimos unha secuencia de comandos enigmática. Vimos, unha vez máis, facer Olá OK, imos facelo. Eu estaba a piques de cometer un erro, pero [Inaudível] agora admitir que eu estaba a piques de e facelo deliberadamente. O que eu fixen de malo agora? Si, entón eu non estou no Dropbox directorio, porque hai un momento que eu ingresaran CD e só presione Intro. Iso me grande de volta a onde eu comecei, que non é o lugar onde o meu ficheiro é, entón eu realmente teño que facer CD Dropbox entrar, e agora podo facer Ola rm inserir, eliminar ficheiro regular Olá Non sei por que é tan enigmática. Isto significa só que está seguro que desexa eliminar Ola? Podes escribir y para si, entrar, e agora foise. E agora, se eu tecleo facer Ola de novo, é vai recrear meu código obxecto, recrear os ceros e uns. Pero o que é o negocio con esta moi longo de mando? Ben, imos provocar este apart en pouco tempo, pero facer - Eu dixen algo de mentira antes - non é un compilador. Facer é un programa que automaticamente descobre como realizar un compilador para ti. Así, a orde que o que realmente debe ser execución, a fin de converterse hello.c en Ola realmente parece un pouco máis como este. E Deus me libre que temos que realmente lembre sempre que escribir todo secuencia de comandos fóra. O obxectivo de facer na vida é lembre que o grao de complexidade para nós e automatizar o que sería doutra forma ser pasos moi tedioso. Pero eu podo achegar diso. Entón, por este cheat sheet pouco aquí, eu pode achegar o que este comando é facendo simplemente escribindo bumbum, que é o nome do compilador estaremos usando este semestre. Se algún de vós xa fixo IOS desenvolvemento para o iPhone ou iPad, Clang é o programa que usou o Xcode para facer os seus apps. Clang, con todo, é só un programa cuxo nome pode escribir no comando solicitar, e introducindo iso agora, Podo presentar algo que é un pouco representativo de ordes para vir. Entón deixe-me facelo manualmente. Entón rm Ola, e agora entende no caso Eu, así como unha comprobación de sanidade mental - . / Ola, o que pensas que eu debe ver se fago isto? Algún tipo de erro. Non hai tal directorio de ficheiros. De modo que un é realmente moi directa. Entón, agora déixeme limpar a pantalla. Control S só limpa a pantalla para eliminar algunhas distraccións. E agora vou a man Tipo de son estridente-o Ola hello.c. Entón o que é iso de facer? Exactamente o mesmo que fixo para facer nós, pero eu tirar algunhas das as palabras superfluas. Clang é o programa que vai tomar un ficheiro c. como entrada e producen ceros e uns como saída. Pero o de agora en diante chamaremos un switch ou unha bandeira. Este é só un argot tecnoloxía por dicir esta é unha palabra que escribir nun ventá que dalgún xeito inflúe o comportamento do programa que está executando. Entón, alguén quere adiviñar que transmite-o? Output. É só alguén decidiuse a dicir saída dun arquivo chamado Ola e tomar como entrada de calquera que sexa a última palabra sobre o o poder é, hello.c, de xeito que se eu acertar Entre agora, nada parece ocorrer. E por incrible que pareza, neste mundo de programación, se nada acontecer, isto pode ser unha cousa boa porque non hai ningún erro mensaxe na pantalla. Ola, Intro. O meu programa xa executado. Pero podo facer cousas estúpidas como isto. clang-o, hihihi, hello.c, entrar, e agora eu teño un idéntico programa chamado hihihi. Se comporta o mesmo, pero o nome é diferente. Polo tanto, esta é só para dicir que se quere para influír no comportamento dunha programa, imos cada vez máis ver cousas chamadas argumentos de liña de comandos. Esta é unha liña. Está escribindo comandos. Ergo, a liña de comandos. E os argumentos de liña de comandos só palabras ou pequenos anacos de sintaxe que dalgún xeito influír no comportamento programas que están sendo executados. Todo ben, que talvez sexa a máis programa chat, podemos escribir e ver. Imos agora facer algo máis interesante. Déixeme ir adiante e crear un novo arquivo. Eu estou indo a ir adiante e gardar esta en Directorio home do John Harvard como, imos chamalo custom.c, para ser un pequeno programa personalizado. Eu estou indo a facer zoom no meu top de as fichas aquí e comezar de novo. Incluír stdio.h estándar. Máis sobre iso nun momento. int main (void), máis en que nun momento. printf ("Ola, David"). Moito máis interesante, non? Polo tanto, agora - non por mor do meu nome, só porque é diferente - facer entrar costume. Personalizado, Ola, David. Pero, aínda que, tamén, é unha mentira branca. Este programa pode moi ben ser chamado David.C, porque non é habitual comportamento de todo. Realmente, quero un programa que pide o usuario para o seu nome. Entón, como podo facelo? Ben, deixe-me ir cara arriba aquí. E antes de usar unha declaración en Cero, antes de usar printf, tamén coñecido como unha función, déixeme primeiro pedir ao usuario para algunha entrada. Entón, para facelo, eu teño facer un par de cousas. Un, eu teño un lugar para almacenar o usuario nome despois de que eu pregunta a el ou por iso. O constructo que eu teño para usar probablemente para almacenar un valor así? Unha variable. Polo tanto, ao contrario do risco, onde acaba de obter unha boa parte do enigma, aquí, temos que usar obviamente palabras a expresarnos. E a partir de agora, cando quere un palabra ou unha frase, na programación, imos chamar iso dunha cadea. Así, unha cadea é unha palabra ou unha frase. É unha secuencia de cero ou máis personaxes, máis formalmente. E se queres como unha variable para existe, ten que dicir darme un. E a forma pola que facelo é dicir string s comas, onde s se pode calquera cousa que sexa. En realidade, s é un pouco por baixo do esperado. Déixeme ir adiante e máis chamalo nome claramente. Déame unha cadea chamada nome. Pero agora, o que é a persoa nome por defecto? Ben, se o ser humano non escribir nada o que evidentemente non vai non haber valor de nome. E ocorre en C, se non dá a un valor variable, que vai ten un valor de lixo. Pode ter algúns ceros aleatorios e queridos, así que está indo só para ver lixo, en realidade, na pantalla se tentar amosar-lo. Pero eu podo fixar iso por dicir, en realidade, tenda dentro do nome despois valor. A forma como almacenar valores en variables é se ten un nome de variable na á esquerda, ten que dalgún xeito poñer o que desexa almacenar nel, á dereita, e a sintaxe para o que está a suceder para ser como segue. Non vimos isto antes, pero tomar na fe por un momento que non existe outra afirmación no mundo que eu vou chamar de novo a función, e esta función é chamado obter cadea. E fai literalmente iso. Dalgunha forma, queda unha secuencia de carácteres a partir do ser humano e, en seguida, fai algo con el. E iso se parece sintaxe enigmática. Normalmente, se está a usar o signo igual - está no mundo, digamos, álxebra, e está realmente dicindo que x é igual a 1. Aquí non estamos dicindo que nome igual obter cadea. Estamos dicindo tenda en nome de que é no lado dereito dese signo igual. O signo igual representa o operador de asignación. É a sintaxe que se pór o que está en á dereita dentro do que é na parte esquerda. Entón, se cadea é unha nova peza de unha función que non só fai algo - pide ao usuario a unha cadea - tamén retorna, por así dicir. Entón imos ver o que está a suceder pasar aquí. Eu estou indo a ir adiante agora e zoom out, e eu estou indo a obter un par de erros na miña solicitude. Vou facer tipo personalizado, introduza. Guau. Unha morea de erros. Todo ben, entón que é o tipo de esmagadora, por suposto en principio, pero botan todo iso moi reconhecidamente mensaxes de erro enigmáticas son referíndose a algúns patróns que imos comezar a ver ao longo do tempo. Entón, iso é o que eu vou arrincar fóra, por que é en primeiro lugar. Uso da cadea do identificador non declarado. Isto só significa que gedit ou Clang, neste caso, non se sabe o que quero dicir con cadea. E iso é porque en C, a programación linguaxe, hai, en realidade, ningunha variable do tipo cadea. C non sabe que existen cordas. Pero nós, CS50 persoal, faga. E así, antes da clase, creado un ficheiro chamado CS50.h. E dentro deste arquivo - e máis sobre a sintaxe para vir - dentro dese ficheiro é a definición do que eu acabei definido verbalmente como unha cadea. Entón, simplemente concluíndo esta liña de código no meu programa, eu son agora ensino gedit e facer e Clang todo en converter o que unha cadea é. Non sei como aínda. En poucas semanas, imos pelar esa capa. Pero, por agora, sei que iso ensina o compilador que a corda realmente é. Entón, agora déixeme aclarar a miña Terminal aquí. Déixeme volver a funcionar facer sempre, e eu resolveron todos os problemas. Entón, iso tamén vai ser un tema recorrente. Eu só escribín un programa de 9 liña, e Eu aínda tiña 18 liñas de erros. Este é un tipo de intimidación. Pero entendo que moitas veces en cascada, tales que un pequeno erro desencadea a confusión ao compilador, e parece moito peor do que é. Entón agora un observador astuto saberá que eu estou a recibir unha secuencia do usuario, pero eu non son realmente facer o que con iso? Eu non estou realmente facendo nada con el. Entón, se eu executar o costume de novo, vai só sentir alí. Que está pasando? Meu programa parece estar preso que liña, diría? Entón, é realmente preso na liña 7. E nós non vimos isto antes, pero na liña 7, hai, outra vez, esta declaración, si cadea. E el fai o que di. Espera-se agora para o ser humano para tirar a corda. Isto é totalmente intuitivo para min, o ser humano, porque non se dixo o que facer. Pero déixeme ir adiante con fe e déixeme finxir que Rob. Intro. Ese non é o programa que eu pretendía. Entón, nós temos o noso primeiro blog. Pero imos intentar razoar a través porque este é o caso. En primeiro lugar, deixe-me corrixir este primeiro problema. Déixeme engadir unha liña aquí que di printf, cal é o seu nome? Imos facer preto cita, pechar parénteses. Agora, deixe-me volver a executar o programa. Problema. Non estou a ver iso. Correcto. Non recopila-lo. Entón, nunha linguaxe como C, porque cambiar o código fonte non significa que cambiou o seu código obxecto para xerar un novo código obxecto, novos ceros e uns. Ten que recompilar. Se eu agora re-executar costume, entrar, ah, un pouco máis clara. O meu nome é Rob. Aínda buggy. E eu diría que hai un par de erros agora. Isto parece horrible, francamente. Como, como mínimo, eu debería ter un espazo alí, ou mover o cursor á nova liña. E, de feito, a nova liña. Isto é unha especie de contrasinal aquí que vimos, pero non definido. O xeito en que comeza un texto para ir á seguinte liña, non facelo. Isto é confuso para o ordenador. Isto parécese dúas liñas separadas de código, ningún dos cales é perfectamente correcta. Vostede xa ten que ser máis explícito e dicir, dáme unha nova liña, que representar no c con barra invertida n. Polo tanto, hai algunhas desas personaxes. Barra invertida n vai corrixir isto estético. Déixeme recompilar o programa. Déixeme volver a executar o meu programa. Isto paréceme mellor. El aínda é moi primitivo, pero tamén é aínda buggy. Polo tanto, hai un - mesmo se nunca programou antes, probablemente pode dar un palpite a razón pola que este programa aínda é fallo. O que eu teño para facelo Eu non fixen aínda? Entón eu teño que realmente facer algo co nome. Así como en principio, realmente pode asignar unha variable como n ou combater, como fixemos no último semana - un valor. Pero se non fai nada con el, nada vai ocorrer. Todo ben, entón imos corrixir. Déixeme escribir a miña variable alí, e déixeme baixar aquí. Déixeme recompilar, déixeme re-run, Rob. Agora eu son só un idiota, non? Polo tanto, este non é realmente quedando me aínda máis. Pero iso foi un perfectamente natural instinto, eu diría, non? Se a variable é chamado de nome, e eu queres que vaia alí, por que non me escriba-lo alí? Ben, por suposto, temos para distinguir agora entre o que é unha cadea? Teña en conta que entre comiñas aquí, Ola nome? Este feito en si é unha cadea. É difícil cifrada. Non é do humano. É de min, o programador orixinal senón que é unha cadea. Entón, se, literalmente, escribir N-A-M-E dentro dunha corda, o que vai obter impreso? Ben, N-A-M-e. No seu lugar, ten que dicir printf, non imprimir fóra literalmente nomear. Imprimir o valor do nome. E para facelo, imos facer o seguinte. E iso é só unha convención humana. Nós en vez dicir% s, e que significa cadea. E entón, ao final das miñas citas próximos, Vou poñer unha coma e pasar un segundo argumento para esta afirmación. Vou escribir o nome alí. Entón agora entender que temos un lixeiramente nova sintaxe. Nós aínda temos dúas parénteses, e a partir deste momento, deixe-me dicir que o material entre parénteses representa argumentos nunha función - insumos que son de algunha maneira vai para influír no seu comportamento. Entón por esa lóxica, cantos argumentos printf non parecen tomando neste momento? Así, parece estar a tomar dous, e iso é de feito implícitas polo comas aquí. Polo tanto, este é un argumento entre comiñas. Aínda que teña unha coma el todo está entre comiñas, o que significa é unha cadea longa. Comas, nome da variable. Entón, agora déixeme afastar. Déixeme volver executalo. Rob. Drogas, o que eu fixen de malo? Todo ben, así que ten que recompilar. Entón, de novo, os erros fáciles de facer no inicio e outra vez. Entón, agora re-executar costume, Rob, entrar, e listo. Temos, agora, un programa personalizado. Entón agora teño un programa que usar algunhas características que son dignos de nota. Un, eu estou usando CS50.h, se non, coñecido como a biblioteca de CS50. E dentro da biblioteca CS50 son funcións que outros escribiron - é dicir, o persoal - para usar e obter cadea é un deles. Dentro da liña 2 é stdio.h, e por que iso existe? Tomé un palpite. Que hai dentro estándar IO pai? Printf. Entón printf, non velo en calquera lugar outra na pantalla. Debe vir co equipo de algunha maneira. Onde é que vén? É dentro - é declarada, por así dicir, no interior da un arquivo chamado stdio.h. Agora, para estas cousas, imos volver para, finalmente, porque é algo distraído por agora. Iso se refire ao noso tipo de retorno. Refírese a un argumento. Pero para hoxe, estamos enfocados só aquí nestas liñas. Así, o nome cadea, só para recapitular, o que iso fai para min? Por iso, declarou unha variable do tipo cadea. Por iso, está destinado a ser por palabras, non para números. Só como un aparte, se eu quería que sexa un número, eu diría algo así como int. Se eu quixese ser un punto flotante valor, algo cun punto decimal, Eu diría float. Pero, polo de hoxe, eu acabo de dicir cadea. E eu teño dado esta variable un nome de nome, pero eu podería chamar calquera cousa. De feito, orixinalmente, eu o chamei S. Iso aquí é só outro comunicado. Cantos argumentos é esta declaración tomando? Entón, é só tomar un, e que é simplemente un detalle estético mostrando algo en a pantalla para min. ¿Que é esta liña 8 facendo en termos laicos? Está quedando un valor a partir do usuario - ou sexa, unha cadea - eo que está a facer con el? É, esencialmente, entregándoo ao cara o lado da man esquerda signo igual xeito que, neste caso, o variable nome realmente pode almacena-lo. E logo outro printf exemplo dunha función. E nós dicimos para chamar a unha función. Para usar unha función para chamar a unha función. Esa cousa aparentemente toma dous argumentos. Este, coma, un agasallo. Este en si é só unha secuencia que contén un espazo reservado. % S significa poñer outra secuencia aquí. E así por poñer o nome despois a coma, que está inserindo que cousa para min. Entón eu podo facer outras cousas aínda. Déixeme ir adiante agora e facer un pouco de programa parvo, pero déixeme borrar tanto, e déixeme crear un loop. Mentres verdade. O símbolo é obviamente certo sempre vai ser verdade. Entón, que tipo de ciclo estou inducindo escrita nunha liña como esta? Entón, un loop infinito, non? Só mentres verdade. Non hai ningunha maneira podo cambiar a palabra certo para ser calquera outra cousa, entón iso é só vai funcionar para sempre. Entón, se nunca tivo realmente un programa no seu Mac ou PC parecer ter pechado, ou que está a facer unha cousa e unha cousa, e só non pode facer o deixar a menos que reinicie o seu ordenador ou puxar arriba o Xestión de tarefas ou similar, aquí está un exemplo. Eu podo dicir: "Eu son un programa de buggy." Pechar cita, peche parénteses, o punto e coma. Entón, de novo, observar os patróns. Aínda que algúns dos nosos sintaxe é novo, a palabra chave tempo, a palabra clave é certo, Repare que eu teño o mesmo tipo de chaves. Eu teño un punto e coma e entre parénteses. Entón, agora imos adiante e compilar iso. Faga o costume, costume. Polo tanto, neste punto, non reiniciar o dispositivo, non? Entón a pregunta aquí é fácil con dous dedos, Control C, imos deixar este programa. Pero pode ver exactamente por iso que esa cousa se repetía unha e outra vez. Podo facer algo un pouco máis complexo como un teaser. Eu estou indo a ir adiante e dicir o seguinte. Para int, que é un enteiro, é só i un nome xenérico que damos a máis variables na programación cando está só contando, é igual a 0. Déixeme ir adiante e dicir, mentres i é, digamos, menos de 100, i plus plus. Imos volver a esta sintaxe, pero iso significa só incrementar i novo. E o que quero facer aquí? Printf "Podo contar a i." Este é un programa de buggy. O que eu realmente quero aquí? Por cento non é, pero non vai adiviñar isto. % D é un enteiro decimal. COMMA i. Déixeme rolar para atrás. Déixeme agora recompilar co make. Déixeme agora reprise co costume. Podo contar realmente maldita rápido cando Eu escriba un programa coma este. Agora imos facer algo un pouco non intencional. Que tal imos facelo mentres eu é maior que ou igual a 0. Que isto vai provocar? Entón, loxicamente, iso non é tan sabio, porque agora si reprise tanto, reconto, Agora podo contar moito, moi alto. Por desgraza, case tan alto como poida conta é de 4 millóns de dólares, de xeito que este vai tardar un pouco. Entón, por que non imos deixar isto como a nosa suspense, prometendo que en Mércores, imos ver se este programa está feito. Dous, imos presentar como vostede mesmo escribir a súa propia función para que moito rapidamente, ata o mércores, nós imos, como nós transición a partir de cero en C, comezar escribir sempre cada vez máis complexo programas que fan moito, moito máis que iso. Imos velo axiña. [Aplausos] COLUMNA 1: Na seguinte CS50, Puzzle Day foi un éxito.