1. 从第一个C语言程序了解C语言
  2. 了解关键字
  3. 了解函数
  4. 注释
  5. C语言的执行流程
  6. 标识符
  7. C语言的学习重难点

从第一个C语言程序了解C语言

  上图是一个在控制台上显示“Hello, World!”的C语言源代码。

  其中 #include <Stdio.h>是预处理文件。通常程序在编译之前需要处理一些内容,这些内容称为“预编译处理命令”,它们通常以#号开头,并不用分号结尾,所以不是C语言的程序语句。

  在这里的预编译处理命令(#include <Stdio.h>)称为文件包含命令,其作用是编译之前把程序需要用到的系统自定义函数printf()的一些信息文件Stdio.h文件包含进来。以".h"结尾的文件称为头文件。  

  在使用标准函数库中的输入输出函数时,编译系统要求程序提供有关的信息(例如对这些输入输出函数的声明),#include<stdio.h>的作用就是用来提供这些信息的,stdio.h是C编译系统提供的一个文件名,stdio是“standard input & output”的缩写,即有关标准输入输出的信息。
  在程序中用到系统提供的标准函数库中的输入输出函数时,应在程序的开头写上一行:#include"stdio.h"或者是#include<stdio.h>,这样才能调用库函数。二者主要在于查找效率上有差别,#include<stdio.h>一般用包含系统文件,它是查找先从系统目录查找开始查找;#include "stdio.h"一般用包含项目文件,它是查找先从项目目录查找开始查找。
  在编写C语言中,常用到printf()和scanf()函数,他们就是stdio.h中的两个标准输入输出函数,所以编程语句中如果要用到此两个函数就一定要在头文件中加入#include<stdio.h>。

了解关键字

  所谓关键字就是已经被C语言本身使用,不能用作其他用途的字(词)。所以,在用户定义变量、函数等时,不可以使用和关键字同名的标识符。

  C语言中一共有32个关键字,它们分别是:

数据类型关键字

A. 基本数据类型(5个)

  void 声明函数无返回值或无参数,申明无类型指针,显式丢弃运算结果

  char 字符类型数据,属于整形数据的一种

  int 整形数据,通常为编译器指定的机器字长

  float 单精度浮点数据类型,属于浮点数据的一种

  double 双精度浮点数据类型,属于浮点数据的一种

B. 类型修饰关键字(4个)

  short 修饰int,短型整型数据,可省略被修饰的int

  long 修饰int,长整型数据,可省略被修饰的int

  signed 修饰整型数据,有符号数据类型

  unsigned 修饰整型数据,无符号数据类型

C. 复杂类型关键字(5个)

  struct 结构体声明

  union 共同体声明

  enum 枚举声明

  typedef 声明类型别名

  sizeof 得到指定类型活特定类型变量的大小

D. 存储级别关键字(6个)

  auto 指定为自动变量,由编译器自动分配及释放。通常在栈上分配

  static 指定为静态变量,分配在静态变量区,修饰函数时,指定函数作用域为文件内部

  register 指定为寄存器变量,建议编译器将变量存储到寄存器中使用,也可以修饰函数形参,建议编译器通过寄存器而不是堆栈传递形参

  extern 指定对应变量为外部变量,即标识变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义

  const 与volatile合成“CV”特性,指定变量不可被当作当前线程/进程改变(但有可能被系统或者其他线程/进程改变)

  volatile 与volatile合成“CV”特性,指定变量的值有可能会被系统或者其他进程/线程改变,强制编译器每次从内存中取得该变量的值

流程控制关键字

A. 跳转结构(4个)

  return 用在函数体上,返回特定值(或者是void值,既不返回值)

  continue 结束当前循环,开始下一轮循环

  break 跳出当前循环或者switch结构

  goto 无条件跳转语句(不建议使用)

B. 分支结构(5)

  if 条件语句,后面不需要放分好

  else 条件语句否定分支(与if连用)

  switch 开关语句(多重分支语句)

  case 开关语句中的分支标记

  default 开关语句中的“其他”分支,可选

C. 循环结构(3)

  for for循环结构

  do do循环结构

  while while循环结构

了解函数

  C语言是由函数构成的。一个程序可以由多个函数组成,但必须有一个主函数(main函数)、且只有一个主函数。

    int main说明该主函数返回值类型为int,所以在函数体总最后一行可以看到return 0;

    main(int argc, const char * argv[]),括号中的内容代表函数的参数。

  函数由:返回值类型 函数名(形参){函数体}组成。

  主函数是由系统调用的,其他函数在调用前必须对其申明。由于C语言编译是自上而下的顺序,所以,如果自定义函数在主函数之前,在主函数中调用该函数时,不需要对该函数声明。而,自定义函数在主函数之后,在主函数中调用该函数时需要对该函数进行申明。

注释

  程序里如果没有注释,当把程序移交给其他程序员维护或者检查很久以前写的程序时,往往会抓狂。有效的注释体现程序的读取性和设计思想。

注释方法:

  单行注释:以“//”开始至改行结束之间的内容都是注释

  多行注释:以“/*”开始,到“*/”结束,这之间的内容都是注释,包括换行

  单行注释可以嵌套多行注释和单行注释,但这样没有实际意义

  多行注释可以嵌套单行注释,但多行注释不可以嵌套多行注释,当多行注释嵌套时如下图,多行注释遇到第一个“*/”后就结束了,所以第二个“*/”不是注释结尾符。

  良好的注释容易让其他程序员或者隔了很久也能轻松的看懂程序设计思想和程序和功能。多人维护同一程序时,加上修改注释也是很好的维护方式。

/*
2014年1月1日 第一次修正 作者:张三 备注:修复***bug
2014年6月2日 第二次修正 作者:李四 备注:更改***参数
2015年2月3日 第三次修正 作者:王五 备注:根据客户需求新增*** */

C语言的执行流程

  1. 程序员变成以'.c'格式结尾的C语言源程序

  2. 编译器编译为以'.o'格式结尾的目标文件

  3. 把目标文件和库函数整合成一个以'.out'格式结尾的可执行文件

标识符

  在C语言中,符号常量、变量、数组、函数等都需要一定的名称,我们把这种名称叫做标识符。

  标识符划分为:关键字,预定义标识符和用户标识符。

用户自定义的标识符的命名规则:

  1. 由字母、数字、下划线及美元符号$组成

  2. 不能以数字开头

  3. 不能和关键字重名

  4. 严格区分大小写

标识符的命名规范;

  1. 有意义的名字(可以增加代码可读性)

  2. 遵循驼峰命名规范(当标识符由多个单词组成时3种方式:1. 第一个单词首字母小写,其他单词首字母大写;2. 每个单词首字母都大写;3. 每个单词之间以下划线连接)

  

C语言的学习重难点   

  #1 运算符:自增、自建运算符

  #2 进制:各种进制转换、原码、反码、补码

  #3 数组:一维数组、二维数组、多维数组

  #4 循环:多重循环的嵌套、排序、查找

  #5 函数:递归函数、递归调用

  #6 指针:一级指针、多级指针、指针和数组、函数、结构体之间的关系

  #7 内存管理:C语言的内存管理问题、内存泄漏、野指针

  #8 有参宏及条件编译

  #9 多文件并发、多文件编译、多文件开发

第一个C语言程序的更多相关文章

  1. C语言学习-01第一个C语言程序

    一 C语言的历史 C语言是一门通用计算机编程语言,应用广泛.C语言的设计目标是提供一种能以简易的方式编译.处理低级存储器.产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言. 尽管C语言提供 ...

  2. 李洪强iOS开发之【零基础学习iOS开发】【02-C语言】02-第一个C语言程序

    前言 前面已经唠叨了这么多理论知识,从这讲开始,就要通过接触代码来学习C语言的语法.学习任何一门语言,首先要掌握的肯定是语法.学习C语言语法的目的:就是能够利用C语言编写程序,然后运行程序跟硬件(计算 ...

  3. C语言入门(2)——安装VS2013开发环境并编写第一个C语言程序

    在C语言入门系列中,我们使用Visual studio 2013 Professional作为开发工具.本篇详细介绍如何安装Visualstudio 2013 Professional并写出我们第一个 ...

  4. 如何把一个c语言程序做成windows服务开机自启动

    原文:如何把一个c语言程序做成windows服务开机自启动 目前写的程序是一个用c语言实现socket侦听的,那么如何把这个程序做成开机自启动呢? 我们是通过vs6.0,编译后生成了.exe文件,然后 ...

  5. Android For JNI(一)——JNI的概念以及C语言开发工具dev-c++,编写你的第一个C语言程序,使用C启动JAVA程序

    Android For JNI(一)--JNI的概念以及C语言开发工具dev-c++,编写你的第一个C语言程序 当你的Android之旅一步步的深入的时候,你其实会发现,很多东西都必须去和framew ...

  6. 概率图模型 基于R语言 这本书中的第一个R语言程序

    概率图模型 基于R语言 这本书中的第一个R语言程序 prior <- c(working =0.99,broken =0.01) likelihood <- rbind(working = ...

  7. 我的第一个C语言程序

    从自学开始到现在应该有块一个月了,之前一直想要写博客一直没想好要自己建博客还是找平台来写.现在想想 其实都一样,不论在哪里,都可以记录自己学习的成长记录.这是我的第一篇关于C语言学习的博客,希望这只是 ...

  8. C语言入门:02.第一个C语言程序

    一.开发工具的选择(1)可以用来写代码的工具:记事本.UltraEdit.Vim.Xcode等(2)选择Xcode的原因:苹果官方提供的开发利器.简化开发过程.有高亮显示功能 (3)使用Xcode新建 ...

  9. iOS_02_第一个C语言程序(理解编译、连接、运行)

    一.开发工具的选择 1. 可以用来写代码的工具:记事本.ULtraEdit.Vim.Xcode等. 2. 选择XCode的原因:苹果公司官方提供的开发利器.简化开发的工程.有高亮显示功能. 3. 使用 ...

随机推荐

  1. SpringMVC框架下的拦截器

    在eclipse的javaEE环境下:导包.... web.xml文件中的配置: <?xml version="1.0" encoding="UTF-8" ...

  2. 《利用python进行数据分析》读书笔记--第六章 数据加载、存储与文件格式

    http://www.cnblogs.com/batteryhp/p/5021858.html 输入输出一般分为下面几类:读取文本文件和其他更高效的磁盘存储格式,加载数据库中的数据.利用Web API ...

  3. sublime SublimeTmpl 添加vue模板

    sublime2安装时候报错在control中加下面的代码 重新启动,可以进行安装 import urllib2,os; pf='Package Control.sublime-package'; i ...

  4. windows下的c语言和linux 下的c语言以及C标准库和系统API

    1.引出我们的问题? 标准c库都是一样的!大家想必都在windows下做过文件编程,在linux下也是一样的函数名,参数都一样.当时就有了疑问,因为我们非常清楚 其本质是不可能一样的,源于这是俩个操作 ...

  5. mysql实战之 批量update

    mysql实战之批量update 现阶段我们的业务量很小,要对admin_user表中的relationship字段进行更新,指定id是409.已知409是公司内的一服务中心,需要把该服务中心放到区代 ...

  6. AfxBeginThread中使用updatedata出错

    原因:MFC对象不支持多线程操作,不能供多个线程进程使用,所以尽量不要在线程里面更新界面. 解决办法: 1.将工程改为release 2.使用控件来SetWindowText 3.在线程里面发送消息 ...

  7. apache域名本地映射

    A: 第一步(搜索allow) 第二步(搜索vhost) 第三步(搜索rewrite) B: C:

  8. 多MAVEN项目部署到tomcat中_之使用DBUG进行单步调试

    1.改成你想localhost:8080默认进入的目录 这个步骤会造成 code\.settings\org.eclipse.wst.common.component 文件的更改<propert ...

  9. mysql安装,配置。

    看到百度经验上有一篇文章比较好,后来发现是舍友写的,他同意后,便复制到我的博客园中,希望更多小白看到,原地址:http://jingyan.baidu.com/article/597035521d5d ...

  10. easyx与VS2015

    7.10 之前在文件头将__acrt_iob_func重定义&__iob_func,在格子涂色的程序中解决了问题:然而在俄罗斯方块的程序中出现了更多的问题,好像是FILE在其他外部依赖项cor ...