随风而动,随遇而安......
C语言概述-学习一
程序设计语言发展过程
机器语言:0 / 1
汇编语言:符号语言(操作指令)
高级语言:面向过程(C语言) / 面向对象(Java/C++)
C语言特点
- 语言 简洁紧凑 ,使用 灵活方便 (一共只有32个关键字,9种控制语句,程序书写形式自由,区分大小写)。
- 丰富的 运算符 和 数据类型(共有34种运算符,整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等)。
- 具有 结构化 的控制语句,是 完全模块 和 结构化 语言(主要为设计结构、选择结构、循环结构)。
- 允许直接访问 物理地址,可以 直接对硬件进行操作(能够对位(bit)、字节和地址进行操作,对 操作系统 以及需要对 硬件 操作的场合有优越性)。
- 程序 可移植性好(与汇编语言相比,基本不需要修改就能用于各种型号计算机与操作系统)。
C语言程序结构
C程序主要包括以下部分:
- 预处理器指令
- 函数
- 变量
- 语句 & 表达式
- 注释
#include <stdio.h>
int main()
{
/* 我的第一个 C 程序 */
printf("This is a C program.\n");
return 0;
}
/*
include为指令,作用是将头文件(stdio.h)添加到源文件。
stdio .h 头文件定义了 三个变量类型、一些 宏 和各种函数来执行 输入 和 输出。详情见附录。
main()表示主函数,程序的执行从主函数开始,一个C语言程序有且只能有一个主函数。
其中int代表函数的返回类型是整型。
{代码}括号里的内容称为函数体。
printf(...)是通过include添加的头文件里的另一个的函数,作用是打印输出。
return 0 因为main函数类型为整型,所以要返回一个整型 0 结束程序。
*/
总结:
- 程序的第一行 #include <stdio.h> 是预处理器指令,告诉 C 编译器在实际编译之前要包含 stdio.h 文件。
- 第二行 int main() 是主函数,程序从这里开始执行。
- {}括号将函数体包括起来。
- 第四行 /.../ 将会被编译器忽略,这里放置程序的注释内容。它们被称为程序的注释。
- 第五行 printf(...) 是 C语言 中另一个可用的函数,会在屏幕上显示消息 "This is a C program."。
- 第六行 return 0; 终止 main() 函数,并返回值 0。
C语言运行机制
- 函数库: 是文件,文件里存放了多个函数供你调用。
- 函数库对应的头文件: 扩展名多为 .h ,即head 头。
- 在C语言的源程序中使用 #include <函数库的头文件> 语句引入 函数库,再调用库中的函数。
示例:
1.求两个整数之和
解题思路:
- 设置3个变量:a、b、sum;
- a和b用来存放两个整数;
- sum用来存放之和的数;
- 用赋值运算符 “=” 把结果传递给sum;
#include <stdio.h>
int main()
{
int a,b,sum; //定义整数变量 a,b,sum
a=1; //对变量a,b赋值
b=2;
sum = a + b; // 把变量a,b的和赋值给sum
printf("两个整数之和是 %d\n",sum); //将和输出
return 0;
}
2.求两数之间的较大的数
解题思路:
- 使用一个函数实现求出两数的较大者;
- 在主函数中调用此函数并输出结果;
#include <stdio.h>
#pragma warning(disable:4996)
//4996这个警告是VC2005以后的版本为了提高程序安全性而用的。
//去掉这个警告可以编译非安全函数,包括scanf,printf,strcpy等。
int main()
{
int max(int x, int y); //因为max函数定义在在main之后,需要声明。
int a,b,c;
scanf("%d,%d",&a,&b); //新版本使用scanf_s函数输入。
c = max(a,b); //a,b为实参。
printf("较大的数是:%d\n",c);
return 0;
}
//求两个整数中的较大者的max函数。
int max(int x, int y) //定义max函数,函数值为整型,形参x和y为整型。
{
int z; //max函数中的声明部分,定义本函数中用到的变量z为整型。
if(x>y) z=x; //若x>y成立,将x的值赋给变量z 。
else z=y; //否则(即x>y不成立),将y的值赋给变量z。
return(z); //将z的值作为max函数值,返回到调用max函数的位置。
}
★C语言程序结构的特点:
一个源程序文件包括:
- 预处理指令:#include <stdio.h>等;
- 函数定义;
函数是C语言程序的主要组成部分
- 一个C程序由一个或多个函数组成;
- 必须包含一个main函数(只能有一个);
程序总是从main函数开始执行;
一个函数包括两个部分:
- 函数首部
- 函数体
C程序对计算机的操作由C语句完成
- C程序书写格式是比较自由的;
- 为了清晰可见,习惯上每行只写一个语句;
- 数据声明和语句的末尾必须有分号;
- C语言本身不提供输入输出语句;
- 程序应当包含注释,增加可读性。
C程序的执行步骤
练习
1、以下叙述正确的是___。
(A)在C程序中main函数必须位于程序的最前面。
(B)C程序的每行中只能写一条语句。
(C)C语言本身没有输入输出语句。
(D)在对个C程序进行编译的过程中可发现注释中的拼写错误。
2、C语言规定:在一个源程序中,main函数的位置___。
(A)必须在最开始。
(B)必须在系统调用库函数的后面。
(C)可以任意。
(D)必须在最后。
3、一个C程序的执行是从___。
(A)本程序的main函数开始,到main函数结束。
(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。
(C)本程序的main函数开始,到本程序文件的最后一个函数结束。
(D)本程序文件的第一个函数开始,到本程序main函数结束。
4、以下叙述不正确的是___。
(A)一个C源程序可由一个或多个函数组成。
(B)一个C源程序必须包含一个main函数。
(C)C程序的基本组成单位是函数。
(D)在C程序中,注释说明只能位于一条语句后面。
附录:
#include <stdio.h> 函数库 (包括printf()输出函数、scanf()输入函数等函数)。
#include <math.h> 数学计算(包括abs()求绝对值的函数、sqrt()求开方的函数等等数学计算需要用到的函数)。
#include <sting.h> 字符串处理 (包括strlen()计算字符串长度函数、strcpy()字符串复制函数等等字符串处理函数)。
更多详细内容