C语言学习日记——C语言概述

C语言简单的程序结构

1,程序由一个或多个函数组成,必需有main()函数。把一个程序看作一个项目,每个函数即是一个功能。
2,函数由函数头和函数体组成,函数头包括函数名、传入该函数的信息类型和函数的返回类型,函数体被“{}”括起来,由一系列语句,声明组成。
函数由函数头和函数体组成

提高程序可读性的技巧

1,选择有意义的函数名,使用注释。任何一个成熟的程序猿都不会拒绝注释。
2,在函数中用空行分隔概念上的多个部分
3,每条语句各占一行,使用“;“作为语句结尾。

C语言标准

C90 美国国家标准协会与1989年公布,称为ANSI C。国际标准化组织与1990年采纳称为ISO C,ISO C与ANSI C是同一个标准。ANSI/ISO的最终版本通常叫做C89或C90,这是第一个通用C标准。
C99 1994年,ANSI/ISO协会开始修订C标准,最终发布C99标准。该标准的修订目标是实现C语言的国际化、弥补缺陷和提高计算机的实用性,在其他方面会改的相对保守。在具体实现时,并非所有的编译器都能完全实现C99的所有改动,有时需要更改编译器设置才能运行。
C11 2011年,标准委员会发布新的C语言标准C11,C11的修订弱化了”相信程序员“的目标,同时也是为了适应一些新的技术。

本文中使用ANSI/ISO C、ANSI C或ISO C讲解C90与较新标准共有的特性。用C99或C11介绍新的特性,有时也用C90。

C语言编程细节

先看一个简单的C语言程序:

#include <stdio.h>
int main(void)
{
	int num;
	num = 1;

	printf("I am a simple");
	printf("computer.\n");
	printf("My favorite number is %d because it is the first.\n,num");
	
	return 0;
}

接下来我们逐个分析这段代码里面的内容:
1,#include指令和头文件
#include <stdio.h>,这行代码的作用是把文件studio.h中所有的内容都输入到该行所在的位置。
#include是一条C预处理指令。通常,C语言在编译前会对源代码做一些准备工作,即预处理。
所有的C编译器软件包都提供studio.h文件。该文件包含了供编译器使用的输入和输出函数信息。该文件文件名的含义是标准输入/输出头信息。通常在C程序顶部的信息集合被称为头文件。在大多数情况下,头文件包含了编译器创建最终可执行程序要用到的信息。ANSI/ISO C规定了C编译器必须提供哪些头文件。

为什么不内置输入和输出函数?
原因之一是并非所有的程序都会用到输入和输出函数。这体现了C语言轻装上阵的哲学。

2,main()函数
C程序一定从main()函数开始执行,与main()函数的位置无关。main后面的圆括号用于识别main()是一个函数,这一点与python相似。
3,注释
C语言中的注释有两种形式:
第一种:

/*这是注释*/

/*这是多行
的注释*/

/*
也可以这样写
*/

C99新增了另一种风格的注释:

//这种注释只能写一行

int m //也可以这样写

4,声明
int num;
这行代码叫做声明。声明是C语言最重要的特征之一。声明主要完成两件事,其一是说明有什么变量,其二是说明改变量是什么类型。在C语言中所有变量必须先声明再使用。C99和C11允许在使用变量时再进行声明,C99之前的标准要求把声明置于块的顶部。声明具体放置的位置由程序员自己的编写习惯制定。
在一条声明语句中可以有两个变量

int feet,hand;

5,命名
在给变量命名时注意有以下要求:可以使用小写字母、大写字母、数字和下划线来命名,而且第一个字符必须是字母或者下划线,不能是数字。C语言的名称区分大小写。操作系统和C语言库中经常使用以下划线开头的标识符,因此自己命名时最好不要使用以下划线开头的名称。
6,赋值
赋值一般和声明成对存在。声明的作用是创造变量,赋值的作用是给变量赋值。
7,return语句
return语句与函数开头时的语句对应,以上述代码为例,int main(void)中的int表示该函数需要返回一个int值,需要返回值的C函数必须要有return语句对应,否则会报错。

多个函数

先看代码:

# include < stdio . h >
 void butler ( void );/* ANSI / ISO C 函数原型*/
 int main ( void )
 {
 
 printf (" I will summon the butler function .\ n ");
 butler ();
 printf (" Yes . Bring me some tea and writeable DVDs .\ n ");
 
 return 0;
}
 void butler ( void )/*函数定义开始*/
 {
 printf (" You rang , sir ?\ n ");
}

该函数的输出如下:

 I will summon the butler function .
 You rang , sir ?
 Yes . Bring me some tea and writeable DVDs .

在这段代码中bulter()函数出现了三次,一次是函数原型,第二次是调用,第三次是定义。C90中新增了函数原型,函数原型是一种声明形式,告知编译器正在使用那种函数,函数原型也指明函数属性,例如第一个void表示函数没有返回值,第二个void表示函数不带有参数。(void指的是“空的”,不是“无效”)何时执行bulter()取决于她被调用的位置,无论main()在什么位置,所有的C程序都从main()开始执行。

关键字和保留标识符

关键字是C语言的词汇,他们在编程中有特定意义,不能使用他们作为标识符。在下表中列出C语言的关键字,其中粗体表示C90的新增关键字,斜体表示C99标准新增的关键字,斜粗体表示C11新增的关键字。
C语言关键字

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值