指令

#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 scanfprintf 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-->pb1byte = 8bit1kb = 1024byte1mb = 1024kb 1gb = 1024mb1tb = 1024gb1pb = 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;  //完结}