一、计算机与程序、程序设计语言
一个型号机器语言的指令的集合称为该计算机的机器语言
机器语言是紧密依赖于计算机的硬件的,因此称它为低级语言
用高级语言编写的程序,计算机是不能直接识别和执行的( 计算机只能直接识别二进制的指令 ),必须事先把高级语言编写的程序翻译成机器语言程序,这个“翻译”工作是由称为 “编译系统” 的软件来实现的
二、简单的C语言程序
eg1. 要求在屏幕上显示以下一行信息
This is a C program.
#include <stdio.h>
int main(){
printf("This is a C program.\n");
return 0;
}
解析:
在使用标准函数库中的输入输出函数时,编译系统要求程序提供有关的信息,程序第一行 “ #include <stdio.h>” 的作用就是用来提供这些信息的, stdio.h 是 C 编译系统提供的一个文件名,stdio 是 standard input & output 的缩写,即有关“标准输入输出” 的信息
eg2. 求两数之和
#include <stdio.h>
// 求两个数之和
int main(){
int a,b,sum; // 定义三个 int 类型的变量
a = 123;
b = 456; // 给变量 a,b 赋值
sum = a + b; // 将变量 a 和 b 相加得到的和赋值给变量 sum
printf("sum is %d\n".sum); // 输出 sum 的值
return 0;
}
eg3. 求两个整数中的大者
#include <stdio.h>
int main(){
int max(int x,int y); // 对被调用的 max 函数进行声明
int a,b,c; // 定义变量a、b、c
scanf("%d,%d",&a,&b); // 获取从键盘输入的变量 a 和 b 的值
c = max(a,b); // 调用 max 函数,将得到的值赋值给变量 c
printf("max = %d\n",c); // 输出 c 的值
return 0;
}
int max(int x,int y){
int z; // 定义 int 类型的变量 z
if(x > y)
z = x; // 如果 x 大于 y,将 x 的值赋值给变量 z
else
z = y; // 如果 x 小于 y,将 y 的值赋值给变量 z
return z; // 将变量 z 的值返回
}
总结:
1、C 程序主要是由函数构成的,函数是 C 程序的基本单位(不同的 C 编译系统提供的库函数的数量一般不一致)
2、一个函数由两个部分组成
- 函数首部
- 函数类型
- 函数名
- 函数参数类型
- 函数参数名(形式参数)
- 函数体
- 如果一个函数内有多个大括号,则最外层的一对大括号为函数体的范围
- 组成部分
- 声明部分
- 在这部分中定义所用到的变量和对所调用函数的声明
- 执行部分
- 由若干个语句组成
- 声明部分
- 在某些情况下也可以没有声明部分,甚至可以既无声明部分也无执行部分。这是一个空函数,什么也不做,但这是合法的
3、一个 C 程序总是从 main 函数开始执行的,不论 main 函数在整个程序中的位置如何
4、C 程序书写格式自由,一行内可以写几个语句,一个语句可以写在多行上,程序的各行没有行号
5、每个语句和数据声明的最后必须有一个分号。分号是 C 语句的必要组成部分。分号是不可缺少的。即使是程序中最后一个语句也应包含分号
6、C 语言本身没有输入输出语句。输入输出的操作是由库函数 scanf 和 printf 等函数来完成的。C 对输入输出实行 “函数化” 的方式
7、可以用 “ // ” 对 C 程序中的任何一行或数行做注释
三、运行C程序的步骤和方法
程序:所谓程序,就是一组计算机能识别和执行的指令。每一条指令使计算机执行特定的操作
操作步骤:
用高级语言编写的程序称为 “ 源程序 ”。计算机只能识别和执行由 0 和 1 组成的二进制的指令,而不能识别和执行用高级语言写的指令
为了使计算机能执行高级语言源程序,必须先用一种称为 “ 编译程序 ” 的软件,把源程序翻译成二进制形式的 “ 目标程序 ”,然后再将该目标程序与系统的函数库以及其他目标程序连接起来,形成 可执行的目标程序
编写 --- 编译 --- 连接 --- 运行
为了编译、连接和运行 C 程序,必须要有相应的 C 语言编译系统
目前所用的 C++ 集成环境功能强,使用方便。由于 C++ 和 C 兼容,可以使用 C++ 集成环境对 C 程序进行编译、连接和运行(编译前需要先编写)
四、习题
1、编写一个 C 程序,输出以下信息:
****************************
Very Good!
****************************
#include <stdio.h>
int main(){
printf("****************************\n");
printf(" Very Good! \n");
printf("****************************");
return 0;
}
2、编写一个 C 程序,输入a、b、c 三个值,输出其中最大者
#include <stdio.h>
int main(){
int compare(int a,int b,int c);
int a,b,c,d;
scanf("%d,%d,%d",&a,&b,&c);
d = compare(a,b,c);
printf("d = %d\n",d);
return 0;
}
int compare(int a,int b,int c){
int i;
if(a > b && a > c){
i = a;
} else if(b > a && b > c){
i = b;
} else if(c > a && c > b){
i = c;
}
return i;
}
一 叶 知 秋,奥 妙 玄 心