1. 开发工具的选择

  2. 可以用来写代码的工具:记事本、UltraEdit、Vim、Xcode等
  3. 选择Xcode的原因:苹果官方提供的开发利器、简化开发过程、有高亮显示功能
  4. 使用Xcode新建一个C程序的源代码文件(拓展名为.c或者.C)
  • 打开Xcode

  • 新建文件

  • 选择文件的类型

  • 输入文件名和选择文件的存放目录

  • 新建完毕

  • 删掉文件里自动生成的所有内容,从零开始

  1. 代码的编写

  1. 程序结构

    1. 先C程序的结构:由函数组成
  • 任何一个C语言程序都是由一个或者多个程序段(小程序)构成的,每个程序段都有自己的功能,我们一般称这些程序段为"函数"。所以,你可以说C语言程序是由函数构成的

  1. 函数的基本概念
  • 函数名:一个程序中由无数个函数组成,每个函数都有自己的名称
  • 调用(执行)函数:根据函数名就可以调用对应的函数,执行相应的功能
  1. C程序的入口
  • C程序的入口是一个名字叫做main的函数,简称main函数
  • 不管整个程序中有多少个函数,都是先执行main函数
  1. 编写程序

    1. 编写main函数(大括号{ }中的内容是函数体)

int main()

{

return 0;

}

  1. 编写多个函数,并且进行调用

int test()

{

return 0;

}

int main()

{

test();

return 0;

}

  1. 使用printf函数输出内容到屏幕上

#include <stdio.h>

int main()

{

printf("Hello World!");

return 0;

}

  1. 编译

  2. 什么是编译:将C源程序翻译成计算机能识别的0和1
  3. 使用什么编译器:Xcode3使用GCC,Xcode4使用LLVM编译器(前端用clang)
  4. 如何使用clang编译器编译程序?
  • 在终端中输入:cc –c 文件名.c
  • 编译成功,会生成.o目标文件
  1. 编译器的错误和警告功能
  • 如果代码有语法问题,编译器会直接报错。并指出错误的个数和具体行号。
  • 只要有1个错误,程序就不能编译成功,也不会生成.o文件
  • 警告信息只是编译器的一些建议,并不影响编译通过
  1. 链接

  2. 链接的作用:将.o文件和C语言函数库组合在一起,生成可执行文件
  3. 由链接器完成,clang编译器里面已经包含了链接指令
  • 在终端中输入:cc 文件名.o
  • 链接成功,会生成a.out可执行文件
  1. 运行

  2. 两种运行方式
  • 直接双击打开a.out文件
  • 终端中使用 ./a.out 指令
  1. 修改文件内容之后,一定要重新编译、链接,再运行
  2. \n的作用:回车换行
  1. 其他clang指令

  • 修改可执行文件名称:cc xxx.o -o 文件名
  • 一起编译、链接:cc xxx.c
  1. 初学者常见错误

  • 不写分号、用了中文分号
  • 字符串少了双引号、或者用了单引号,双引号里面又有双引号
  • 代码没有写在main函数内部、return之前
  • 文件拓展名不是.c或者.C,比如.txt
  • 用绝对路径编译文件,注意目标文件生成的地方
  1. 总结

  2. 整个程序的运行过程

  1. 总结常见文件的拓展名
  • .c是C语言源文件,在编写代码的时候创建
  • .o是目标文件,在编译成功的时候产生
  • .out是可执行文件,在链接成功的时候产生
  1. 总结clang指令
  • 编译:cc –c xxx.c
  • 链接:cc xxx.o
  • 编译、链接:cc xxx.c
  • 运行可执行文件:./a.out
  1. 开发中会遇到哪些错误?如何解决?
  • 语法错误,可以通过编译器的报错信息解决
  • 逻辑错误,需要耐心调试程序
  1. 学习建议
  • 学编程并不是学英文
  • 程序的可读性
  • 初学者不要过于寻根问底
  1. 习题

用2种不同的代码方式输出下面的图案

************

** itcast **

************

内容来源:传智播客李明杰老师授课内容

转载于:https://www.cnblogs.com/codersay/p/4301336.html

C语言第一节 C语言程序与开发工具相关推荐

  1. 数据结构与算法学习笔记(python)——第一节 数组应用程序实战

    前言 本人是一个长期的数据分析爱好者,最近半年的时间的在网上学习了很多关于python.数据分析.数据挖掘以及项目管理相关的课程和知识,但是在学习的过程中,过于追求课程数量的增长,长时间关注于学习了多 ...

  2. 一节课精通Emmet编写开发工具-姜威-专题视频课程

    一节课精通Emmet编写开发工具-2571人已学习 课程介绍         Emmet (前身为 Zen Coding) 是一个能大幅度提高前端开发效率的一个工具.一句命令,一大片代码.让我们一起领 ...

  3. PB安装包,PB安装程序,PB开发工具,powerbuilder安装包,powerbuilder安装程序,powerbuilder开发工具下载地址

    B安装包,PB安装程序,PB开发工具,powerbuilder安装包,powerbuilder安装程序,powerbuilder开发工具下载地址 如果不能打开请复制网址粘贴到浏览器中 http://p ...

  4. 一款小程序增强开发工具 - EWA

    EWA (微信小程序增强开发工具) Enhanced Wechat App Development Toolkit (微信小程序增强开发工具) 项目地址:https://github.com/lyfe ...

  5. GO语言-第一节-初识Go语言

    目录 1.1 语言简史 1.2 语言特性 1.2.1 自动垃圾回收 1.2.2 更丰富的内置类型 1.2.3 函数多返回值 1.2.4 错误处理 1.2.5 匿名函数和闭包 1.2.7 并发编程 1. ...

  6. [iBoard 电子学堂][第二卷 C程序设计语言 ]第一篇 C语言简介

    一.C语言发展史   C语言是一种程序设计语言,由于它既有高级语言的特性,又有低级语言的特性,所以它既能编写基于操作系统的大型应用程序,也能编写直接操作硬件的程序,也就是我们称之为"裸奔&q ...

  7. c语言第一章,C语言修正版第一章

    <C语言修正版第一章>由会员分享,可在线阅读,更多相关<C语言修正版第一章(28页珍藏版)>请在人人文库网上搜索. 1.C,语言,重要性,结构化编程语言,语言的入门课,基础课, ...

  8. 【链块技术36期】智能合约基础语言(一)——Solidity概述和开发工具的使用

    原文链接:区块链技术语言:Solidity(一):概述和开发工具的使用 一.目录 ☛Solidity的概述 ☛Solidity开发工具remix的使用 ☛Solidity本地开发工具remix安装 二 ...

  9. 微信小程序入门的笔记(微信小程序的开发工具已经安装好了)

    小程序项目的基本构成 1.pages 是用来存放所有小程序的页面 2.utils 用来存发工具性质的模块(例如:格式化时间的自定义模块) 3.app.js 小程序项目的入口文件 4.app.json ...

最新文章

  1. java 写一个商店_Java Web开发之基于Session的购物商店实现方法
  2. bzoj1001:[BeiJing2006]狼抓兔子
  3. android java和c混合编程_C/C++在Java、Android和Objective-C三大平台下实现混合编程
  4. Spring Security——集成Spring Session、Redis和JSON序列化解决方案
  5. App Hub上传应用的状态说明
  6. windows版本下的 redis 集群配置
  7. 14005.xilinx移植spi版本flash
  8. Linux串口终端驱动——S3C6410平台
  9. java semaphore 原理_Java并发编程原理与实战二十八:信号量Semaphore
  10. 拯救者Y7000(2018)装黑苹果及90%驱动
  11. 认识智慧城市顶层设计的MCS模式
  12. 进化计算(九)——MOEA/D代码实现及中文详解(Matlab)
  13. html+圆角梯形,用CSS圆角梯形
  14. OSPF—DR与BDR知识点及选举
  15. 【电子存证】互联网企业存证需求与痛点
  16. 《白帽子讲Web安全》浏览器安全
  17. 前端人脸识别解决方案
  18. android身份证自动识别
  19. matlab画出玫瑰线,数学实验 玫瑰线的绘制
  20. STM32F103(一):ADC

热门文章

  1. 莫烦python博客_《莫烦Python》笔记 -- numpy部分
  2. python用turtle画小人-画一个心送给心爱的小姐姐,Python绘图库Turtle
  3. 服务器搭建维护,服务器搭建维护方法
  4. VOC2007xml转YOLO的txt格式代码
  5. java继承的终极奥义_java学习笔记12-继承
  6. 匿名内部类----java
  7. 山东科技大学c语言完全题库,“山东科技大学十大未解之谜”之完全解答
  8. oracle12c 删除pdb用户,oracle 12c pdb测试:创建、开关、删除
  9. android 贝塞尔曲线_OpenGL 实践之贝塞尔曲线绘制
  10. C++函数编译原理和成员函数的实现