1 00:00:00,000 --> 00:00:00,440 2 00:00:00,440 --> 00:00:00,860 >> COLUNA 1: Tudo bem. 3 00:00:00,860 --> 00:00:03,260 Esse último programa foi um pouco chato. 4 00:00:03,260 --> 00:00:05,510 Vamos em frente e personalizar esta um pouco. 5 00:00:05,510 --> 00:00:07,710 Ao invés de dizer Olá mundo, por que não podemos ir em frente 6 00:00:07,710 --> 00:00:09,680 e dizer, Olá David? 7 00:00:09,680 --> 00:00:12,500 Bem, para fazer isso, eu poderia me aproximar isso em um par de formas. 8 00:00:12,500 --> 00:00:15,760 Eu poderia, é claro, o código apenas difícil David, mas isso não é tudo o que 9 00:00:15,760 --> 00:00:17,650 fundamentalmente diferente a partir da última versão. 10 00:00:17,650 --> 00:00:21,430 Então, vamos dar um salto em frente, desfazer esse alterar, e em vez inserir um novo 11 00:00:21,430 --> 00:00:23,980 linha de código onde a linha cinco era uma vez. 12 00:00:23,980 --> 00:00:28,970 >> Especificamente, o que eu vou fazer aqui é adicionar em nome da cadeia, assim 13 00:00:28,970 --> 00:00:30,920 declarar uma variável. 14 00:00:30,920 --> 00:00:34,240 Observe que em C, não só você tem para dar uma variável de um nome, o qual 15 00:00:34,240 --> 00:00:38,110 Neste caso é o nome, você também tem para especificar que tipo ele é. 16 00:00:38,110 --> 00:00:41,970 Vamos ver outros tipos antes de tempo, entre los inteiros e de ponto flutuante 17 00:00:41,970 --> 00:00:46,480 valores e muito mais, mas por agora, corda é apenas uma palavra ou uma frase, mais 18 00:00:46,480 --> 00:00:49,340 formalmente, uma seqüência de zero, ou mais caracteres. 19 00:00:49,340 --> 00:00:53,760 Então, no momento, esta linha é de cinco dizendo: Dá-me uma variável chamada nome 20 00:00:53,760 --> 00:00:56,560 cujo tipo de dados é string. 21 00:00:56,560 --> 00:01:00,460 >> Agora, eu quero para armazenar um valor lá dentro, e fazer isso em C, usamos o igual 22 00:01:00,460 --> 00:01:03,030 sinal, de outro modo conhecido como o operador de atribuição. 23 00:01:03,030 --> 00:01:04,860 Então eu vou proceder da seguinte forma. 24 00:01:04,860 --> 00:01:10,220 Igual a citação, fecha aspas, D-A-V-I-D, Citação fechado, ponto e vírgula. 25 00:01:10,220 --> 00:01:15,595 O efeito líquido no linha de cinco, agora, é declarar uma string, D-A-V-I-D, armazenando 26 00:01:15,595 --> 00:01:19,480 lo a partir do lado direito desta expressão na variável no 27 00:01:19,480 --> 00:01:21,480 lado esquerdo desta expressão. 28 00:01:21,480 --> 00:01:25,970 Assim, no fim desta linha, temos D-A-V-I-D armazenada dentro de uma variável 29 00:01:25,970 --> 00:01:27,450 chamado nome. 30 00:01:27,450 --> 00:01:28,910 >> Agora vamos usar essa variável. 31 00:01:28,910 --> 00:01:35,010 Na linha seis, eu vou substituir mundo, com um espaço reservado. 32 00:01:35,010 --> 00:01:39,960 % S é definido de acordo com o documentação para printf como sendo um 33 00:01:39,960 --> 00:01:41,690 espaço reservado para uma string. 34 00:01:41,690 --> 00:01:44,620 Em outras palavras, é uma maneira de informar printf que eu vou colocar 35 00:01:44,620 --> 00:01:47,930 algum outro valor aqui, mas deixe-me dizer em apenas um momento que 36 00:01:47,930 --> 00:01:49,180 ele vai ser. 37 00:01:49,180 --> 00:01:52,800 Agora, como devo proceder para dizer printf o que esse valor vai ser? 38 00:01:52,800 --> 00:01:56,850 >> Bem, eu preciso fornecer printf com um segundo argumento, e para fazer isso, eu 39 00:01:56,850 --> 00:02:00,460 precisa colocar uma vírgula após o primeiro desses argumento, que foi este citado 40 00:02:00,460 --> 00:02:04,990 string, e então eu preciso especificar o que valor Eu quero ligar para que 41 00:02:04,990 --> 00:02:07,010 espaço reservado primeiro argumento. 42 00:02:07,010 --> 00:02:10,880 Assim, o nome da minha variável é, de É claro, o nome, de modo que é suficiente para digitar 43 00:02:10,880 --> 00:02:14,000 "Nome" como o segundo argumento para printf. 44 00:02:14,000 --> 00:02:15,070 Agora não se deixe enganar. 45 00:02:15,070 --> 00:02:20,440 Mesmo que haja uma vírgula dentro de a cadeia entre aspas, que é de fato 46 00:02:20,440 --> 00:02:24,370 dentro da corda para que ele não separar um argumento a partir da outra. 47 00:02:24,370 --> 00:02:28,740 Só que desta vírgula que está fora dessa string realmente separa 48 00:02:28,740 --> 00:02:31,700 O primeiro argumento de printf de seu segundo argumento. 49 00:02:31,700 --> 00:02:34,270 >> Vamos agora compilar este programa. 50 00:02:34,270 --> 00:02:36,500 Faça Olá um. 51 00:02:36,500 --> 00:02:39,570 Oh meu Deus, cinco erros gerados, e do meu programa 52 00:02:39,570 --> 00:02:41,100 apenas sete linhas. 53 00:02:41,100 --> 00:02:44,720 Bem, como sempre, não olhe para o passado dos erros na tela. 54 00:02:44,720 --> 00:02:47,960 Olhe para o primeiro, porque talvez em que há um efeito em cascata 55 00:02:47,960 --> 00:02:51,600 apenas um erro em cima do criado aparecimento de mais erros do que há 56 00:02:51,600 --> 00:02:52,570 realmente são. 57 00:02:52,570 --> 00:02:56,620 >> Então deixe-me ir para cima, eo primeiro erro em negrito aqui é o uso de 58 00:02:56,620 --> 00:02:59,140 cadeia do identificador não declarado. 59 00:02:59,140 --> 00:03:00,630 Você quis dizer padrão na? 60 00:03:00,630 --> 00:03:01,990 Bem, não, eu não. 61 00:03:01,990 --> 00:03:06,700 Eu fiz corda dizer, mas acontece que eu esqueci essa seqüência não existe como um 62 00:03:06,700 --> 00:03:10,830 tipo de dados tecnicamente em C. Conceitualmente ele existe, mas a palavra 63 00:03:10,830 --> 00:03:16,210 "String" só existe porque o CS50 funcionários declararam que, por assim dizer, 64 00:03:16,210 --> 00:03:18,160 em um arquivo que nós mesmos escreveram. 65 00:03:18,160 --> 00:03:22,540 Na verdade, apenas como alguém há muito tempo declarou a função printf em um arquivo 66 00:03:22,540 --> 00:03:28,310 chamado IO.H Padrão, nós também o pessoal declarar string como um tipo de dados em 67 00:03:28,310 --> 00:03:32,470 um arquivo que, sem surpresa, é chamado CS50.H. 68 00:03:32,470 --> 00:03:36,340 >> Então, vamos voltar para o topo da minha programar e informar o compilador que 69 00:03:36,340 --> 00:03:40,130 não só eu quiser usar o símbolo corda, eu também quero educar o 70 00:03:40,130 --> 00:03:42,160 compilador sobre o que esse símbolo significa. 71 00:03:42,160 --> 00:03:47,010 E para fazer isso, pura e simplesmente, eu posso ir volta-se para a linha um, inserir uma nova linha 72 00:03:47,010 --> 00:03:54,070 aqui, e acrescentam, "incluem CS50.H" também entre colchetes angulares. 73 00:03:54,070 --> 00:03:58,170 Esta instrução, bem como aquele agora na linha dois, vai informar o 74 00:03:58,170 --> 00:04:02,460 compilador que deveria incluir o conteúdo de CS50.H onde quer que estejam 75 00:04:02,460 --> 00:04:06,620 no meu disco rígido dentro do meu programa, educar assim como para o compilador 76 00:04:06,620 --> 00:04:09,050 que se entende por string. 77 00:04:09,050 --> 00:04:13,420 >> Vamos compilar meu programa depois de salvar as alterações. 78 00:04:13,420 --> 00:04:15,500 Faça Olá um. 79 00:04:15,500 --> 00:04:16,440 Enter. 80 00:04:16,440 --> 00:04:17,730 Muito melhor. 81 00:04:17,730 --> 00:04:23,760 Agora eu tenho um prompt piscando para que eu pode digitar ". / Olá um", e pronto. 82 00:04:23,760 --> 00:04:25,010 Olá David. 83 00:04:25,010 --> 00:04:26,402