从一个简单的C语言程序开始

#include <stdio.h>

/*这是一个简单的C语言程序*/   //注释
int main(void)
{
int num;
num = 1;
printf("This is a c program!\n");
printf("Number is %d\n", num);
return 0;
}

#include <stdio.h>,把stdio.h包含到当前程序,stdio.h是C编译器软件包的标准部分,用来键盘输入和屏幕输出

main()是一个函数名,main()函数是C程序的主入口,int表明main()函数返回一个整数,返回给操作系统,参数void表示main()不带任何参数

int和void是标准ANSIC定义的main()的一部分,如果使用ANSIC之前的编译器,要省略void

“{”,为函数体开始

int num;,为声明一个int(整型)类型的变量num,所有的变量都必须先声明才能使用

num = 1;,为赋值表达式语句,把值1赋给变量num

printf('This is a c program!');,调用printf()函数来打印This is a c program!这句话,“'This is a c program!'“为printf()函数的实际参数

printf('Number is %d', num);,也是调用printf()函数来打印,%d为占位符,作用为指明输出num值的位置

return 0;,在main()函数执行完后会返回一个值0,main()函数以return语句结束,如果main()函数中没有return语句,执行完函数后默认返回0

“}”,为函数体结束

可以看到,函数体中每条语句都以分号结尾,如果没有分号,编译器就会报错,如果编译器报错某行缺少分号,就检查上一行是否有分号结尾

程序运行结果:

声明多个变量

int a, b, c;
//也可以这样写
int a;
int b;
int c;

变量的命名

可以用小写字母、大写字母、数字和下划线(_)来命名,变量名称的第1个字符必须是字符或下划线,不能是数字。

C语言中的命名区分大小写,即把一个字母的大写和小写视为两个不同的字符。

操作系统和C库经常使用一个或两个下划线字符开始的标识符,所以尽量避免声明变量的时候使用这种名称。标准标签都以一个或两个下划线字符开始,如库标识符,这样的标识符都是保留的,命名的时候可能会重了,虽然没有语法错误,但是会导致名称冲突

多个函数

#include <stdio.h>

void Test(void);  //函数原型(函数声明)

int main(void)
{
printf("Before run the Test Function\n");
Test(); //函数调用
printf("After run the Test Function\n");
return 0;
} void Test(void) //函数定义
{
printf("This is the Test Function\n");
}

函数原型也称函数声明,它会告诉编译器在程序中要使用该函数,函数原型还指明了函数的属性,第1个void表示Test()函数没有返回值(通常被调用的函数会向主函数返回一个返回值),第2个void表示Test()函数不带参数

函数调用是在main()函数中调用Test()函数

最后的函数定义,是定义Test()函数本身的源代码

程序运行结果:

小结:

C程序由一个或多个C函数组成。

每个C程序必须包含一个main()函数,main()函数为C程序的主入口,是C程序第一个调用的函数

简单的函数由函数头和后面的一对花括号组成,花括号中是由声明、语句组成的函数体。

在C语言中,大部分语句都以分号结尾。

声明语句为变量指定变量名,并标识该变量中储存的数据类型,变量名是一种标识符。

赋值表达式语句把值赋给变量,即把值赋给存储空间。

函数表达式语句用于调用指定的已命名函数,调用函数执行完毕后,程序会返回到函数调用后面的语句继续执行。

printf()函数用于输出内容。

关键字是C语言的词汇。

复习题:

1.C语言的基本模块是什么?

答:函数

6.在main、int、function、char、=中,哪些是C语言的关键字?

答:int和char是C语言的关键字,main是一个函数名,function是函数的意思,=是一个运算符

C Primer Plus学习笔记(一)- C语言概述的更多相关文章

  1. C语言学习笔记01——C语言概述

    作者:Eventi 出处:http://www.cnblogs.com/Eventi 欢迎转载,也请保留这段声明.谢谢! 1 C语言的起源 1972年,贝尔实验室的丹尼斯·里奇(Dennis Ritc ...

  2. java 学习笔记1 java语言概述及开发环境

    高级语言运行机制 高级语言按程序的执行方式分为编译型和解释型两种. java语言比较特殊,Java程序的执行必须经过先编译后解释的步骤. 1 编译生成字节码,只面向JVM(.class) 2Jvm执行 ...

  3. C语言学习笔记一---C语言概述

    一.编程语言与解释语言 1.程序的执行 a.解释:借助一个能试图理解程序的程序,使计算机按要求执行你自己写的程序 b.编译:将所写程序翻译为机器语言写的程序,使计算机按要求执行你自己写的程序 2.两者 ...

  4. C语言学习笔记---1.C语言概述

    1.典型C程序结构 2.C程序细节 2.1#include指令和头文件 #include这行代码是一条C预处理器指令(preprocessor directive).通常,C编译器在编译前会对源代码做 ...

  5. 23 DesignPatterns学习笔记:C++语言实现 --- 2.7 Proxy

    23 DesignPatterns学习笔记:C++语言实现 --- 2.7 Proxy 2016-07-18 (www.cnblogs.com/icmzn) 模式理解

  6. 23 DesignPatterns学习笔记:C++语言实现 --- 2.6 Facade

    23 DesignPatterns学习笔记:C++语言实现 --- 2.6 Facade 2016-07-22 (www.cnblogs.com/icmzn) 模式理解

  7. 23 DesignPatterns学习笔记:C++语言实现 --- 2.5 Factory

    23 DesignPatterns学习笔记:C++语言实现 --- 2.5 Factory 2016-07-18 (www.cnblogs.com/icmzn) 模式理解   1. Flyweight ...

  8. 23 DesignPatterns学习笔记:C++语言实现 --- 2.4 Composite

    23 DesignPatterns学习笔记:C++语言实现 --- 2.4 Composite 2016-07-22 (www.cnblogs.com/icmzn) 模式理解

  9. 23 DesignPatterns学习笔记:C++语言实现 --- 2.2 Adapter

    23 DesignPatterns学习笔记:C++语言实现 --- 2.2 Adapter 2016-07-22 (www.cnblogs.com/icmzn) 模式理解

  10. 23 DesignPatterns学习笔记:C++语言实现 --- 2.1 Bridge

    23 DesignPatterns学习笔记:C++语言实现 --- 2.1 Bridge 2016-07-22 (www.cnblogs.com/icmzn) 模式理解  

随机推荐

  1. PHP开发环境MAMP for Windows

    Windows上的整合PHP开发环境有很多,如:Windows上使用的Wampserver(http://www.wampserver.com/),跨平台的Xampp(https://www.apac ...

  2. java 监控命令

    jps 查找java所有进程及对应pid -v 列出启动参数 有些默认的参数,使用-v是看不到的,需要执行如下: jcmd pid VM.flags jstack pid 查看该进程的堆栈信息 找到进 ...

  3. 泛型学习第一天:List与IList的区别 (一)

    先看代码: using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace L ...

  4. 最全面的linux信号量解析

    信号量 一.什么是信号量 信号量的使用主要是用来保护共享资源,使得资源在一个时刻只有一个进程(线程) 所拥有. 信号量的值为正的时候,说明它空闲.所测试的线程可以锁定而使用它.若为0,说明 它被占用, ...

  5. php中浮点型变量

    $d = (0.1+0.7)*10;//$d为8 //floor函数返回不大于value的最接近的整数,舍去小数部分取整 $e = floor($d);//$e为7 为什么$e为7,而不是8 因为$d ...

  6. nova instance启动中的同步与异步

    instance create:nova/api/servers.create -- self.compute_api.create -- self.compute_task_api.build_in ...

  7. AVFoundation之录音及播放

    录音 在开始录音前,要把会话方式设置成AVAudioSessionCategoryPlayAndRecord //设置为播放和录音状态,以便可以在录制完之后播放录音 AVAudioSession *s ...

  8. QT Creator引用win32 api类库方法(.lib)

    由于Qt Creator使用的是mingW进行程序编译,该编译方式无法识别#pragma comment(lib,"lib\\hvdailt.lib")引用. 所以需要在.Pro文 ...

  9. MVC。

    mvc 开启客户端 和 远程验证 <appSettings> <add key="ClientValidationEnabled" value="tru ...

  10. shell获取ip地址

    Mac: $ ifconfig en0|awk -F"[ ]+" '/inet/{print $2}' fe80::a211:9bff:fe15:%en0 192.168.0.10 ...