Linux下C语言程序设计基本知识及基本数据类型

来源:互联网 发布:下载东西软件 编辑:程序博客网 时间:2024/06/06 12:25

一、C语言程序设计基础


1、程序设计语言发展

(1)机器语言:计算机唯一能够执行的语言(0、1序列)不具备移植性;

(2)汇编语言:把机器指令符号化,要转化成机器语言才能执行,无法移植;

(3)高级语言:执行的单位不是指令而是语句,移植性好;

(4)第四代语言:如SQL语言等查询语句;

(5)自然语言:人工智能如语音,还不成熟。


2、计算机数据表示

(1)数值型数据:如二进制、八进制、十进制和十六进制;

(2)非数值型数据:如ASCII码所代表的字符。


3、最简单的C语言程序解释

#include <stdio.h>

int main()

{

printf("Hello world!\n");

return 0;

}

这段代码执行后会在屏幕上输出 Hello world!


(1)#include <stdio.h>

#include 用来包含C语言发头文件,它会将它后面包含的文件在预处理期间,把文件的原来的内容替换到当前的位置;

头文件的包含方式:

a、< >: 这样的包含方式,它会去系统默认的头文件存放目录找<>包含起来的文件(系统默认的目录:/usr/include);

b、" ": 先在你的程序所在目录查找头文件,如果找不到,再去系统目录下找。

stdio.h 这个文件内部声明是C语言的标准输入输出相关的函数。


(2)int main() {}

这是函数的定义形式,main是一个函数,这个东西运行结束,要往外抛出一个值,int代表要抛出的值的类型。

main函数是C语言程序的入口函数,所有C语言的程序都是从main开始执行的,C语言有且只有一个main函数。

{} 内部语句叫块语句,函数所有的代码都要在大括号之内。

{} 内部定义的变量都叫局部变量,外部定义的变量叫全局变量。


(3)printf("Hello world!\n");

printf 是一个函数,功能是往标准输出打印数据,有一些固定的格式。

双引号括起来的东西叫字符串 ,printf 可以直接打印字符串。

'\n' 这个是换行的意思。

printf 它的声明是在 stdio.h这个文件里面,所以要使用 printf 必须要包含 stdio.h文件。

C语言的语句都是以 分号 ; 结尾。


(4)return 0;

return 代表一个函数运行结束,结束的时候抛出一个值,这个值的类型必须跟函数定义的时候类型一致。

对于main函数来讲,return  后面的值 代表程序的结束状态。

return 后面的语句不再执行。


4、程序的执行过程

程序的执行有4个过程分别是预编译、编译、汇编、链接。

(1)预编译:处理由#开头的命令并去掉注释生成预编译文件xxx.i;

指令:gcc -E 源文件 -o 预编译文件.i

(2)编译:把预编译文件变成汇编

指令:gcc -S 源文件或预编译文件 -o 汇编文件.s

(3)汇编:将汇编文件编译成二进制

指令:gcc -c 源文件或汇编文件 -o 二进制文件.o

(4)链接:将其他文件或者库进行链接并执行。



二、基本数据类型


1、常用单位介绍

(1)位:最小的存储单位,仅可以容纳0或1(单位:b);

(2)字节:一个字节等于8位(单位:B)


2、基本数据类型

(1)字符型(char):单个字符;

(2)整型(int short long unsigned):所有整数;

(3)浮点型或实型(float double):所有实数;

(4)数组类型([ ])

(5)结构体类型(struct)

(6)共用体类型(union)

(7)枚举类型(enum)

(8)空类型(void)


3、基本数据类型的大小

我们通过sizeof这个函数来验证各种数据类型的所占字节

sizeof是C语言的一个关键字,用来查看数据类型所占空间大小

#include <stdio.h>


int main()
{
        //sizeof 是看数据类型所占空间大小,这个大小是以 字节(B)为单位
        //char 是C语言的字符数据类型
        //%d  用在printf 中表示往屏幕打印一个数字
        printf("short:%d\n",sizeof(short));    
        printf("int:%d\n",sizeof(int));    
        printf("long:%d\n",sizeof(long));    
        printf("long long:%d\n",sizeof(long long));    
        printf("char:%d\n",sizeof(char));    
        printf("float:%d\n",sizeof(float));
        printf("double:%d\n",sizeof(double));
    
        return 0;
}

运行的结果为

short:2
int:4
long:4
long long:8
char:1
float:4
double:8

需要注意的是long类型在32位操作系统下是4字节,在64位系统下是8字节。


4、数据的输入和输出

(1)数据输入:

scanf()函数:输入整型scanf("%d",&a);在输入数据之前一定要对变量进行定义,不要忘了&取地址符

输入浮点型%f,输入单个字符%c,输入字符串%s。

getchar()函数:从设备输入一个字符如getchar("a");

(2)数据输出:

printf()函数:输出整型printf("%d",a);输出浮点型%f,输出单个字符%c,输出字符串%s。

putchar()函数:向终端输出一个字符putchar("a");









原创粉丝点击