C语言程序设计--01初识C语言

程序是一组计算机中能识别并执行的命令,只要能让计算机执行这个程序,计算机就会自动的,有条不紊的进行工作,计算机的一切操作都是有程序控制的,离开程序,计算机将一事无成。

计算机语言的分类

  • 机器语言 :只有0和1单纯组成的指令
    例如:
    00010010   00000010   18  02
    00000100   00000011   04  03

  1. 汇编语言 :有英文字母和数字等助记符组成的指令
    例如:
    ADD  AL,3
    POP  eax

  2. 高级语言 :高级语言可以分为面向过程的高级语言和面向对象的编程语言
    面向过程的编程语言:根据具体问题分析出要解决问题所需要的步骤,然后把这些步骤一步一步的实现,在使用的过程中一个一个调用即可。例如常用的C语言、SQL语言就是面向过程的。
    面向对象的编程语言:把构成问题的事务分解成各个对象,建立对象,之后在实现需求时引用对象的方法或者属性来实现即可。常见的面向对象的编程语言有JAVA、C++、VB、C#等等。

C语言的发展简介

1、最迟的C语言只是为了描述和实现Unix操作系统提供一种工作语言而设计的。
2、1983年,美国国家标准化协会(ANSI)成立了一个委员会,根据C语言问世以来各种版本对C语言的发展和扩充制定了第一个C语言标准草案(83ANSI)
3、1989年,ANSI公布了一个完整的C语言标准—ANSIX3.159-1989(常称ANSI,或者C89)
4、1999年,ISO推出了C99版本。C99是对C89及1995基准增补1的修订增补版本。
5、2011年,ISO正式发布了新的C语言的新标准C11,之前被称为C1X,官方名称为ISO/IEC 9899:2011。新的标准提高了对C++的兼容性,并增加了一些新的特性。这些新特性包括泛型宏、多线程、带边界检查的函数、匿名结构等。

C语言特点

1.优点:代码简洁,代码量小,执行速度快,功能强大,编程自由
2.缺点:写代码实现周期长,可移植性较差,语法限制不严格过于自由,经验不足容易出错,对于平台库依赖较多
3.C语言的源代码文件是一个普通的文本文件,扩展名必须是.c(即后缀,例如a.c)

常见的C语言程序结构

#include 包含所需要的函数库头文件(stdio.h、stdlib.h、string等等)

函数返回值类型 函数(函数参数){
	数据类型 变量 = 数值
	printf("要输出的内容");
	scanf("数据表达类型",数据存储位置);
	
	scanf( const char *__restrict __format, ... ) 
	.....
	return 根据函数返回值类型返回函数值;
}

注意:.
一个C语言程序必须要有main函数,其余的函数可以根据以上函数的定义类型来定义,之后在main函数中进行调用即可。

C语言的编译步骤

编译会帮助程序提前规划好内存空间
编译器在编译时就已经确定了静态全局和代码区的空间大小,等待程序运行,一旦开始运行,就会先给静态全局和代码区开辟空间,栈和堆是程序运行至定义处或者mallo开辟空间时再开辟空间

预处理

带#的语句就是预处理指令,预处理指令在预处理的时候进行处理

头文件展开

#include <stdio.h> 包含文件stdio.h (预处理时会将stdio.h文件拷贝至预处理文件中)

删除注释

注释有两种方法: // 行注释
                    /* */块注释

宏替换

#define 代表声明一个宏,在预处理时会将宏给替代

条件编译

条件不成立:

#if 0

#endif

条件成立:

#if 1

#endif

编译

将预处理文件编译成汇编文件,检查语法错误

汇编

将汇编文件编译成二进制.o文件

链接

设置运行环境,堆栈等,链接其它库

gcc编译过程

预处理:gcc  -E  test.c  -o  test.i  其中-E只进行预处理

编 译:gcc  -S  test.i  -o  test.s  其中-S只进行预处理和编译

汇 编:gcc  -c  test.s  -o  test.o  其中-c只进行预处理和编译和汇编

链 接:gcc  test.o  -o test.exe  生成可执行文件,文件名为test

文件后缀解释

.c    C语言文件(源文件)
.i     预处理后的C语言文件
.s     编译后的汇编文件
.o    编译后的目标文件

简单的C语言程序实例

 #include <stdio.h>
  int main()
  {    
       int sum = 0;
       int a,b;
       printf("请输入a的值:");
       scanf("%d",&a);
       printf("请输入b的值:");
       scanf("%d",&b);
       
       sum = a + b;
       printf("a+b的值为:[%d]\n",sum);
       return 0;                                                                                       
 }      

helloworld程序解释

#预处理指令,在预编译时处理
#include <stdio.h> 包含stdio.h文件,stdio.h类似于菜单
//两个斜杠是行注释
符号与()结合代表这个是一个函数
main()函数也叫主函数,整个程序中仅且只有一个main函数,程序从main函数开始执行
int 代表函数结束之后的返回值类型
return 结束这个函数,然后返回值,返回值的类型和函数定义时的返回值类型一致
{}里面的为函数体,所有需要执行的代码必须写在{}中
每一条代码必须以分号;结尾
printf是一个库函数,printf+()就是函数调用

int main()
{
	printf("hello world");//打印到终端
	return 0;
}

system库函数

作用:在程序中启动另一个程序
参数:待启动程序的路径名
原型:

int system(const char *command)
实例:

#include <stdio.h>
#include <stdlib.h>

int main()
{
//system启动程序,如果这个程序系统可以找,不用加路径
//如果环境变量找不到,需要加路径
//windows路径以\\ 或者/
//例如:system("calc");//启动计算器
//system("C:\\User\\Administrator\\Desktop\\test.exe");
//或者system("C:/User/Administrator/Desktop/text.exe");
	system("pause");
	return 0 ;
}

防止VS出现4996警告编号

在文件的最前面加上

//这个宏最后放在.c文件的第一行
#define _CRT_SECURE_NO_WARNINGS

//或者使用这个
#pragma warning(disable:4996)
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值