1、创建项目 win32控制台
<>点击空项目 去掉安全周期
2、变量和常量
2.1 变量 程序运行中会发生变化的量
如:19期的人数
2.2 常量 不会在程序中发生改变的值
如:圆周率
常量也是有类型
声明 和使用
类型 +变量名
int a; // a就是一个整型变量 a = 3; // 给变量赋值 当前 a 存放的是 3 a = a * 4; // a存放的是:3 * 4 printf_s("%d", a); // 打印 格式占位符
PI --> 常量命名
2.3 变量命名
C语言中命名:数字 字母 下划线 $组成 (不能用数字开头)
驼峰命名法:
几个单词 < 除去第一个单词外 其余单词全部首字母大写 > 这句是重点
比如:
ouguangwithoneball --> ouGuangWithOneBall
iPadMini
写的时候可以加前辍 n整型 int nSunShine
c字符 char cOneBall;
g全局
m成员
3.类型
基本数据类型:int char float double
3.1 整型(整数)
int 有符号整型 (整数) 0 ,1 , 2, -1 , -33 占4个字节
int 的范围是 -2^31 ~ 2^31-1 10位数10十进制 int 最多能存9位数
-2147483648 ~ 2147483647
short 短整形 2个字节 范围比int小
long 在32位也是占用4个字节 范围在这里和int 是一样的
(long 不低于int ) (long long 用得很少 范围是:-2^63 ~ 2^63-1)
3.2 浮点型 小数(实型)
float 单精度浮点型 4个字节 存放范围 精度 运算速度
double 双精度浮点型 8个字节
按范围:float 范围小于 double 3.4*10^38 1.7*10^308
精度 表示小数点的位数 float 可以精确到小数点后 6 ~ 7 位 doulbe 能精确到 16 ~ 17 位
运算速度 float 比 double 小 运算速度比 double快
3.141592654
3.3 字符类型 char
整型 只占用一个字节 -128 ~ 127
0 ~ 127 每一个数字对应一个符号: 'A' 'a' ' '
对应关系 ASCII码表
65 --> ' A ' ' a ' --> 97
字符要用引号括起来 ASCII码就不用
sizeof 求字节 求数据或类型占用的字节大小
sizeof(int)
4. 输入输出
printf scanf --> 头文件 stdio.h
4.1 格式占位符
%d int
%f float
%lf double
%c char
%s 字符串
%x 打印16进制的整型
%o 打印8进制的整数
%p 打印16进制的地址
%e 打印科学计数法形式的浮点型 (不能在scanf里面用)
%g 10进制或者科学计数法形式打印浮点型 (
%u 无符号的10进制整数
% hd short
% ld long
% lld long long
4.2 printf 的格式
printf("打印的字符串 + 格式占位符",打印的内容);
4.2.1 控制精度 小数
%.3f 表示打印3位小数 只能用于浮点型
%f %lf 默认打印小数点后面的6 ~ 7位
4.2.2 控制宽度 --> %2d 打印两位 控制最小打印的位数
位数不够左边填空格 位数够
int x = 12345; 用%2d打印
99乘法表
4.2.3 %-2d - 在右边补空格
%+d 在前面打印符号
%02d 0在右对齐的情况下 在前面用0代替空格补齐
%#x或者%#o 在打印16进制或者8进制的时候前面加前缀
C# sharp
4.3 scanf 格式
scanf("格式占位符",&变量); // 需要用printf()提示用户输入什么内容
标点符号问题
格式占位符 不要写错了
取地址
--> 精度 scanf没有精度
--> 宽度 控制最大输入长度
5.转移字符(以下写的时候)
\t 制表符
\n 表示换行 \r 也是换行 --> \r\n 表示回车
\a 响铃
默认右对齐 %6d 12
< 复合类型 : 数组 结构体 联合枚举 指针 >
代码块:
#include <stdio.h>
int map[10]; // 全局int main() { #if 0/* 变量命名 */int _a, a, $a;int 意会 = 3; // VS 中可以用中文//int 7a; // 不可以用数字放在前面命名#elif 0printf("%d\n", sizeof(int));long long num = 177777070147;printf("%lld", num); // 格式占位符 用来打印long longchar a = 65; // char a = 'A';char x, y, z;x = 0; // 0y = '0'; // 48z = 48; // 和 y 一样的#elif 0double y = 0.00000000000566;printf("%.14lf", y); // 打印小数//printf("%e", y); // 打印科学计数法形式//printf("%x", 56);#elif 0printf("%#x", 56);getchar(); // 暂停 按回车继续printf("%+2d", 12345);getchar(); // 等待字符输入for (int i = 1; i < 10; i++){for (int j = 1; j < i; j++){printf("%d*%d=%2d\t", i, j, i*j);}printf("\n");}#elif 0printf("请输入int:");int x;scanf_s("%d", &x); // 获取x 的值/*** 同时输入变量 %d%d 两个格式占位符写一起 空格或者回车隔开或者tab键** %d,%d 只能用逗号*/getchar(); // 输入的时候敲一个回车printf("x = %d\a\a", x); // 打印x的值#elif 1// 作业:int x;char y;float a;double n;printf("请输入四个数:");scanf("%d %s %f %lf", &x, &y, &a, &n);printf("%d\t%s\t%f\t%lf\n", x, y, a, n);#endifgetchar(); // 防止闪屏return 0; }
// 32位环境 指针大小32位 < int 4个字节 > < long long 8个字节 >