C语言简介
优点: 运算符丰富 数据类型丰富 C语言是结构式语言 C语言提供了丰富的数据库 生成目标代码质量高,程序执行效率高 适用范围大,可移植性好
缺点: C语言语法限制不太严格,程序设计自由度大 对变量的类型约束不严格
基本代码框架
Hello World
#include <stdio.h>
#include <windows.h>
main()
{
printf("Hello World")
system("pause");
}
C语言编程预备知识
数据类型
基本类型数据:
- 整数:
整型 int (4字节) 短整型 short int (2字节) 长整型 long int (8字节) - 浮点数: 单精度浮点数 float
双精度浮点数 double (8字节) - 字符: char (1字节)
变量
变量的本质: 内存中一段存储空间 变量必须初始化(赋值)
进制 (逢几进一)
十进制:逢十进一 二进制:逢二进一%d表示以十进制输出%X表示以十六进制输出%O表示以八进制输出C语言规定八进制前要加数字0,十六进制前要加0X例:0X32C→十六进制 316^2+216+12 =81288 → 十六进制 5*16+8 = (58)16
常量
整数: 十进制:传统写法
八进制:前面加数字0
十六进制:前面加0X
浮点数:float X =3.2;
字符: 单个字符用单引号括起来,'A' 表示字符A
字符串用双引号括起来, "AB"
问:常量以什么样的二进制代码存储在计算机中
整数:以补码的形式转化为二进制代码存储在计算机中
实数:以IEEE754标准转化为二进制代码存储在计算机中
字符:本质实际也是与整数的存储方式相同
字节
字节是存储数据库的单位,并且是硬件所能访问的最小单位 1字节=8位 1K=1024字节 1M=1024KB 1G=1024M
ASCII
ASCII不是一个值,而是一种规定 ASCII规定了不同的字符使用哪个整数值去表示 他规定了:‘A’==65 ‘b’==98 ‘B’==66 ‘O’=48 ‘C’==97 …
基本的输入Scanf()与输出函数Printf()的用法
Printf() 将变量的内容输出到显示器上
printf("字符串\n");
printf("输出控制符",输出参数);
printf("输出控制符1 输出控制符2",输出参数,输出参数);
printf("输出控制符 非输出控制符",输出参数);
Scanf() 通过键盘将数据输入到变量中
Scanf("输入控制符",输入参数);
功能:将键盘输入的字符转化为输入控制符所规定格式的数据,然后存入以输入参数的 值为地址的变量中
Scanf("非输入控制符 输入控制符",输入参数);
功能:将键盘输入的字符转化为输入控制符所规定格式的数据,然后存入以输入参数的值为地址的变量中非输入控制符必须原样输人
注:Scanf中尽量不要使用非输入控制符尤其是不要用\n
为什么需要输出控制符?
- 01组成的代码可以表示数据也可以表示指令
- 如果01组成的代码表示的是数据的话,那么同样的01代码组合以不同的 输出格式输出就会有不同的输出结果
运算符
算术运算符:+ - × / % 关系运算符:> >= < <= != == 逻辑运算符:! && || 赋值运算符: = += ×= /= -= 优先等级: 算数>关系>逻辑>赋值 除法:俩个数都是int 则商就是int只要有一个是浮点型数据,则商也是浮点型 取余:运算对象必须是整数,余数的符号与被除数相同 被除数%除数
流程控制
定义:程序代码执行的顺序 分类:顺序执行 选择执行 循环执行
顺序执行
选择执行
if (01) if最简单的用法:
if(表达式)
语句;
功能:如果表达式为真,就执行语句如果表达式为假,语句不执行
(02) if的范围问题
if(表达式)
语句A;
语句B;
if默认只能控制语句A的执行或不执行,语句B一定执行
(03)
if(表达式)
{ 语句A;
语句B;
}
此时if可以控制 语句A 语句B,如果想控制多个语句的执行或不执行,就必须把这些语句用{} 括起来
(04) if…else… 用法
if(表达式)
语句A;
else 语句B;
(05) if…else if…else 用法
if(表达式)
语句A;
else if(表达式)
语句B;
else 语句C;
|