您的位置:首页 > 运维架构 > Linux

linux c/c++ 编程之-----C语言基本语法

2013-11-03 22:15 549 查看
C语言(语法)-linux

由上面的例子可知,C程序的源代码有下面的特点

(1)程序一般用小写字母书写。

(2)大多数语句结尾必须要分号作为终止符,表示一个语句结束。同一个语句需要写在一行上。

(3)每个程序必须有一个主函数,主函数用main()声明,并且只能有一个主函数。在Linux系统中,main主函数应该是int类型。

(4)每个程序中的自定义函数和主函数,需要用一对大括号括起来。

(5)程序需要使用#include <>语句来包含系统文件,这些系统文件完成系统函数的定义。

(6)一个较完整的程序大致包括下面这些内容。

y 包含文件:一组#include <*.h>语句。

y 用户自定义函数:用户已编写的完成特定功能的模块。

y 主函数:程序自动执行的程序体。

y 变量定义:定义变量以存储程序中的数据。

y 数据运算:程序通过运算完成各种逻辑功能。这些运算由各种语句和函数实现的。

y 注释:注释写在/* */符号之间,不是程序的必需部分,但是可以增强程序的可读性。

一些语句:





printf(“格式控制字符串”,输出变量列表) ;

scanf("<格式化字符串>",<地址表>);

++写在后面时,表示取得值然后再自加,

++写在前面时,表示先自加再取值.

转移控制语句

continue ; //跳过下面语句,直接进入下次循环

break ;//跳过整个

return ;

数组与指针

定义数组

int[5]

int[] //可以不指定变量的个数,在访问变量时可以动态改变数组中变量的个数。

指针:

指针是一种特殊的数据类型,用来存储一个变量的地址。通过一个指针,可以访问这个指针所指向的变量。在使用指针时需要考虑到变量的存储关系的



指针操作符 : * &

* 取变量

& 取地址



指针与数组的关系

定义一个数组的时候,就是定义这个数组的头指针,然后分配若干个存储单元。定义的数组名称是可以直接赋值给一个指针, 而这个指针可以指向这个数组的第一个元素。下面的程序可以说明数组与指针的这种关系。指针可以做加法和减法的算术运算,相当于指针的位置从这一位置向后或向前移动若干个单元。这里移动的单元,指的是可以存储相应的变量的内存空间,而不一定是这么多个字节字符数组是一种特殊的数组。定义一个字符数组以后,这个字符数组会返回一个头指针。可以根据这个头指针来访问数组中的每一个字符



函数

定义函数时,每一个参数都有一个具体的数据类型

在C程序中,如果需要调用后面的自定义函数,需要在程序最前面声明函数。如果未声明,程序就会发生错误,提示程序中找不到相应的函数。

函数的声明方法,是在程序的最前面,列出程序中可能调用的自定义函数。需要列出与函数定义相同的类型名、函数名、参数列表。

main函数是有一个返回值的,如果程序执行成功,则返回一个整型值1。程序中常常省略这个返回值。

argc 是一个整型变量,表示参数的个数。

*argv[]是一个指针型数组,数组中的每一个指针指向一个参数的字符数组

值调用:进行函数调用时候,给形式参数分配内存空间,并把实际参数的值直接传递给形式参数。这一过程是参数值的直接传递过程.一旦形式参数获得了值,形式参数的变化对实际参数没有任何影响。

引用调用:当用指针或数组作为函数的参数时,可以用指针来访问实际参数的值。形式参数的变化将直接引起实际参数的变化。

函数返回值

y 用指针来访问主函数中的变量:函数可以通过指针来访问函数外部的变量。这种函数虽然没有返回值,但是对外部变量产生了影响。指针访问外部变量的方式,可以看作是一种特殊的返回值。

y 返回一个指针:指针是一种特殊的数据类型。函数中的指针可以作为返回值返回给主函数。这类函数需要用指针数据类型来声明。

结构体struct

struct student

{

type1 v1;

type2 v2;

}

结构体与指针

struct student * stu;

(*stu).v1; //*stu is a struct

stu->v1 //等价的,->表示指针所指向的变量
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: