机器语言:计算机能直接识别和接受的二进制代码
计算机只能识别和接收由0和1组成的指令
符号语言(汇编语言)| 高级语言
源程序(由高级语言写的程序)通过编译程序进行编译得到目标程序(为机器指令)
#include<stdio.h>
int main()
{
printf("This is a C program.\n");
return 0; //返回0(正常)
}
main:函数的名字,表示“主函数” - 程序的入口,有且仅有一个
int:表示此函数的类型是int类型(整型)
return 0:当main函数执行结束前将整数0作为函数值,返回到调用函数处
函数体由花括号{ } 括起来
printf:输出函数(“ ”内的字符串按原样输出)
\n:换行符
每个语句最后都有一个分号,表示语句结束。
//:注释,从此处到本行末是“注释” - 对运行不起作用。(单行注释)
/* */:块式注释,可包含多行内容 - 以/*开始,*/结束 - 不能嵌套使用
在字符串内的//和/**/都不作为注释的开始。而是作为字符串的一部分。
#include <stdio.h> - 引用输入输出头文件 - 每一次都需要引用这个文件
.h:头文件 - .c:c源文件 - .cpp:c++源文件
//求两整数之和
int a,b,sum; //声明
a = 123; //赋值
b = 456;
sum = a + b;
printf("sum is %d\n",sum);
%d:指定的输出格式 - d表示用“十进制整数”形式输出
printf中第二个sum表示要输出变量sum的值
变量可以声明时赋值 - 如:int a=123,b=456;
//求两个整数中的较大者
int main()
{
int max (int x,int y);
int a,b,c;
scanf("%d,%d",&a,&b);
c = max(a,b);
printf("max = %d\n",c);
return 0;
}
int max(int x,int y)
{
int z;
if(x>y) z=x;
else z=y;
return z;
}
scanf:输入函数,包括两部分,一是双引号内的内容,它指定输入数据按什么格式输入,一定要严格按照此格式输入;二是输入的数据准备放到哪里。
scanf可能会失败,解决方法;在首行加入 - #define _CRT_SECURE_NO_WARNINGS
或者用scanf_s函数:使用方法 - scanf_s("%c",&b,1);//后面追加一个1,表面读取的数量 - 读取字符串:scanf_s("%s",str,100);//同上传递长度。读取整型数据不用。
&a:变量a的地址
scanf("%d%d",&a,&b); - 中间默认允许空格,换行,tab键
————————————
C语言程序的结构
1、一个程序由一个或多个源程序文件组成
(1)一个源程序文件可包括3个部分 - 预处理指令 - 全局声明 - 函数定义
2、运行c程序的步骤与方法:
(1)上机输入和编辑源程序。生成源程序文件 - .c文件
(2)对源程序进行编译,先用c编译系统提供的“预处理器”对程序中的预处理指令进行编译预处理。然后由编译系统对源程序进行编译,生成二进制形式的目标程序 - .obj文件
编译的作用:判定有无语法方面的错误。再将.c文件转成.obj文件
(3)进行连接处理:把所有的编译后得到的目标模块连接装配起来,再与函数库相连接成一个整体,生成可供计算机执行的目标程序,即可执行程序 - .exe文件
(4)运行可执行程序,得到运行结果。
C语言程序仅可以编译执行
程序设计是指设计,编程,调试程序的方法和过程。
4个阶段 - 1、问题建模;2、算法设计;3、编写代码;4、编译调试
c程序在运行过程中所有计算都以二进制方式进行。
算法的5个特性:1、有穷性;2、确定性;3、可行性;4、有零个或多个输入;5、有一个或多个输出。
三种基本结构:顺序结构;选择结构;循环结构
结构化的程序;自顶向下;逐步细化;模块化设计;结构化编码
c程序的模块化主要通过函数来实现
流程图:菱形 - 判断框;椭圆形 - 起止框;长方形 - 处理框;平行四边形 - 输入输出框;箭头 - 连接线;小圆圈 - 连接点