指令
#define _CRT_SECURE_NO_WARNINGS //保障scanf函数可能失常运行
#include <stdio.h> //函数printf应用
#include <string.h> //函数strlen应用
关键词
getchar()
while(1)
char
short
int
long
long long
float
double
scanf
printf
extern
const
arr[](数组)
strlen
模板
//编写代码的文件
#include <stdio.h> //编译预处理指令
//main函数是程序的入口
//main函数有且只有一个
int main() //定义主函数
{ // 函数开始的标记
printf("hello world"); //输入所指定的一行信息
//避免程序闪退,咱们要观看运行后果
// getchar(); //获取一个字符,不输出就会始终期待
//或
// while(1); //通过死循环来卡住程序,避免闪退
return 0; //函数执行结束时返回函数值0
} //函数完结的标记
数据类型
char //字符数据类型
short //短整型
int //整形
long //长整形
long long //更长的整形
float //单精度浮点数
double //双精度浮点数
数据类型所占内存空间的大小
{
printf("%d\n", sizeof(char); //1
printf("%d\n", sizeof(short); //2
printf("%d\n", sizeof(int); //4
printf("%d\n", sizeof(long); //4
printf("%d\n", sizeof(long long); //8
printf("%d\n", sizeof(float); //4
printf("%d\n", sizeof(double); //8
return 0; //完结
}
计算机中的单位
bit(比特位)-->byte(字节)-->kb-->mb-->gb-->tb-->pb
1byte = 8bit
1kb = 1024byte
1mb = 1024kb
1gb = 1024mb
1tb = 1024gb
1pb = 1024tb
类型的应用
{
//类型 变量 = 数据
char = 'w';
int age = 20;
return 0; //完结
}
全局变量和局部变量
#include <stdio.h> //预处理指令
int num = 10; //全局变量
int main() //主函数
{
int num = 10; //局部变量
printf("num=%d\n", num); //全局变量名与局部变量名雷同时,部分优先
return 0; //完结
}
全局变量 – {}内部定义的变量
局部变量 – {}外部定义的变量
{}内不能定义雷同的变量名
不倡议全局变量名与局部变量名一样
变量的应用
{
//初始化
int num_1 = 0;
int num_2 = 0;
//输出函数
scanf("%d %d", &num_1, &num_2);
//求和
int sum = num_1 + num_2;
//输入函数
printf("%d\n", sum);
return 0; //完结
}
在源文件的第一行放
#define _CRT_SECURE_NO_WARNINGS //保障scanf函数可能失常运行
在VS工程中创立新的.c或者.cpp文件的时候,都是拷贝newc++file.cpp这个文件的!在此文件增加的数据,创立新源文件都会存在!
办法:在VS的装置门路下有一个文件 newc++file.cpp 的文件,通过everything搜寻查找到并关上门路,复制此文件到桌面批改,批改后替换原文件
变量的作用域
局部变量
局部变量的作用域是:变量所在的部分范畴
全局变量
全局变量的作用域是:整个工程
申明来自内部的符号(都是源文件)extern int num;
变量生命周期
局部变量
局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期完结
全局变量
全副变量的生命周期是:整个程序的生命周期
常量的分类
#define _CRT_SECURE_NO_WARNINGS //保障scanf函数可能失常运行
#include <stdio.h> //预处理指令
//字面常量
//const润饰的常变量
//define定义的标识符常量
//枚举常量
//define定义的标识符常量(在这里定义)
#define MAX 100
#define STR "abcdef"
//枚举常量(在这里定义)
enum Color
{
//这三个就是枚举常量
RED,
GREEN,
BLUE
};
enum Sex
{
//这三个就是枚举常量
MALE,
FEMALE,
SECRET
};
int main() //主函数
{
//int num = 10; //字面常量
//const润饰的num,实质是变量,然而不能间接批改,有常量的属性
const int num = 10; //const润饰的常变量
//num = 20; //err,有const润饰,num不能被批改
printf("%d\n", num); //10
//define定义的标识符常量(在这里应用)
printf("%d\n", MAX); //100
int num_1 = MAX;
printf("%d\n", num_1); //100
printf("%s\n", STR); //abcdef
//枚举常量(在这里应用)
//三原色 Red Green Blue
//创立一个变量
int num_2 = 10;
enum Color num_3 = RED;
return 0; //完结
}
字符串
% c 打印字符
% s 打印字符串
% d 打印整型
% f 打印float类型的数据
% lf 打印double类型的数据
% zu 打印sizeof的返回值
#define _CRT_SECURE_NO_WARNINGS //保障scanf函数可能失常运行
#include <stdio.h> //函数printf应用
#include <string.h> //函数strlen应用
int main() //主函数
{
//char 字符类型 单引号是字符,双引号是字符串
char num = 'w'; //字符
//"abcdef" 字符串 arr[] 数组
//字符串能够间接应用printf()打印
//晓得或者限度字符串长度,行将数值填写于[]中
//不晓得则为空,依据字符串长度主动调整
//查看值:点击F10(逐过程), 晓得return0 --> 调试 --> 窗口 --> 监督 --> 1,2,3,4都能够,查看后果arr会多一个值:'\0'
// \0示意字符串完结,并不在字符串内容中
char arr[ ] = "abcdef"; //a b c d e f \0
char arr_1[ ] = { 'a', 'b', 'c', 'd', 'e', 'f'}; //a b c d e f
char arr_2[ ] = { 'a', 'b', 'c', 'd', 'e', 'f','\0'}; //a b c d e f \0
//字符串只有遇到\0才会完结(\0的重要性一)
printf("%s\n", arr); //abcdef
//printf("%s\n", arr_1); //abcdef烫烫烫烫烫abcdef
printf("%s\n", arr_2); //abcdef
//求字符串长度的一个函数 头文件 string.h
int len = strlen("abc");
printf("%d\n", len); //3
//(\0的重要性二)
printf("%d\n", strlen(arr)); //6
printf("%d\n", strlen(arr_1)); //22
printf("%d\n", strlen(arr_2)); //6
return 0; //完结
}
转义字符
转义字符在字符串中仅示意一个长度,即一个字符
\ ? 在书写间断多个问号时应用,避免他们被解析成三字母词
\' 用于示意字符常量'
\" 用于示意一个字符串外部的双引号
\\ 用于示意一个反斜杠,避免它被解释为一个转义序列符
\a 正告字符,蜂鸣
\b 退格符
\f 进纸符
\n 换行
\0 字符串终止
\r 回车
\t 程度制表符
\v 垂直制表符
\ddd ddd示意1 - 3个八进制的数字。如: \130(八进制)->X(ASCII值)
\xdd dd示意2个十六进制数字。如 : \x -> 300
ASCII编码
{
//\ 本义符 转变了字符原来的意思
//\? ??) => ] 三字母词 当初编译器极少有
//printf("%s\n", "(are you ok\?\?)"); //(are you ok??)
//printf("%s\n", "(are you ok??)"); //(are you ok]
//\'
//printf("%c\n", '\''); //'
//printf("%c\n", 'w''); //err
//\"
//printf("%s\n","ab\"c"); //ab"c
//printf("%c\n", "ab"c"); //err
//\\
//printf("ab\\0c"); //ab\0c
//printf("ab\0c"); //ab
//\a
//printf("\a"); //会有零碎提示音
//\b,\f和\v 没有什么用
//\n 换行
//printf("abc\n"); //abc
//printf("abcn"); //abcn
//\0 只取\0以前的字符串
//printf("abc\0def"); //abc
//\r 只取\r当前的字符串
//printf("abc\rdef"); //def
//\t 从结尾到第8位
//printf("ab\\tcdef\n"); //ab\tcdef
//printf("ab\tcdef"); //ab def
//\ddd
//八进制的130
//printf("%c\n", '\130'); //X
//\xdd
//先将16进制的30转化为十进制,再对照ASCII表
printf("%c\n", '\x30'); //0
return 0; //完结
}
正文
{
//c语言的正文格调(嵌套正文时有缺点)
/*
prinf("hello world")
*/
//c++的正文格调(倡议)
//这段代码不要了就正文(第一种正文,即不要运行)
//printf("%s\n", "NO!")
//创立指针变量p,并赋值为NULL(第二种正文,即解释此段代码的意思)
int* p = NULL;
return 0; //完结
}
发表回复