学习-001-C语言入门

学习内容:

1.标题搭建C语言开发环境(安装VS2022)

标题解决vs提示scanf()函数不安全编译失败

方式一:.c文件顶部加一行代码:#define _CRT_SECURE_NO_WARNINGS 1
修改.c文件

方式二:修改 newc++file.cpp文件
newc++file.cpp文件默认路径:C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\VC\VCProjectItems
修改newc++file.cpp

2.数据类型

2.1C语言数据类型

数据类型长度说明
char1字符数据类型
short2短整型
int4整型
long4 /8长整型
long long8更长的整型
float4浮点型
docuble8双精度浮点型

//C语言没有字符串类型?

	printf("char %d\n", sizeof(char)); 
	printf("short %d\n", sizeof(short));
	printf("int %d\n", sizeof(int));
	printf("long %d\n", sizeof(long));
	printf("long long %d\n", sizeof(long long));
	printf("float %d\n", sizeof(float));
	printf("double %d\n", sizeof(double));

数据类型长度(单位:byte)
计算C数据类型长度

	int age = 20;//向内存申请2个字节=8bit,用来存放20
	float weight = 95.6f;//向内存申请4个字节,存放小数

2.2计算机中的单位

单位名称说明
bit比特位
byte字节1byte=8bit
kb千字节1kb=1024byte
mb1mb=1024kb
gb吉字节1gb=1024mb
tb太字节1tb=1024gb
pb拍字节1pb=1024tb

2.3打印输出类型

	//%d-打印整型 100
	//%c-打印字符 a
	//%s-打印字符串 helloworld
	//%f-打印浮点数字-打小数 1.2
	//%p-以地址的形式打印
	//%x-打印16进制整数
	//%o-打印8进制整数
	//%e-以指数形式输出实数
	int age = 20;
	printf("%d", age);//%d --打印整型十进制数据20
	

3.变量、常量

3.1定义变量的方法

	int age = 35;
	float weight = 45.6f;
	char ch = 'W';

3.2变量的分类

  • 局部变量
  • 全局变量
	#include<stdio.h>
	int global = 2022;//全局变量 定义在代码块({})之外的变量
	int main()
	{
		int local = 2021;//局部变量 定义在代码块内部的变量
		//局部变量与全局变量名称相同时 局部变量优先
		int global = 2020;
		printf("global=%d\n", global);
		return 0;
	}

结果如下
global=2020

3.3变量的使用

	#include <stdio.h>
	int main()
	{
		int num1 = 0, num2 = 0, sum = 0;
		printf("请输入2个数字,用空格分开");
		//输入数据-使用scanf()函数
		//&:取地址符
		scanf("%d %d", &num1, &num2);//控制台 输入2个数字,用空格分开
		printf("num1=%d num2=%d\n",num1,num2);
		sum = num1 + num2;
		printf("sum=%d\n", sum);
		return 0;
	}

结果如下
运行结果

3.4变量的作用于和生命周期

作用域(scope):程序设计概念,通常来说,一般程序代码中所用到的名字并不总是有效/可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。
1.局部变量的作用域是变量所在的局部范围
2.全局变量的作用域是整个工程(使用时需要使用extern进行声明)。
sum.ctest.c
生命周期: 变量的生命周期指的是变量的创建到变量的销毁之间的一个时间
1.局部变量的生命周期:进入作用域生命周期开始,出作用域生命周期结束
2.全局变量的生命周期:整个程序的生命周期

3.5常量

C语言中的常量和变量的定义形式有所差异。
C语言中的常量分为一下几种:

  1. 字面常量
  2. const 修饰的常变量
  3. #define 定义的标识符常量
  4. 枚举常量
	#include<stdio.h>
	//3.#define 定义的标识符常量
	#define MAX 10//
	//4.枚举常量
	//枚举:一一列举
	//三原色:红、黄、蓝
	enum Sex
	{
		MALE,
		FEMALE,
		SECRET
	};
	int main()
	{
		//const - 常属性
		const int n = 5;//n是变量,但是又有常属性,所以我们说n是常变量
		//1.字面常量
		3;
		100;
		//2.const 修饰的常变量
		const int num = 1;//变量不可修改
		//3.#define 定义的标识符常量
		printf("MAX=%d\n", MAX);
		//数组长度n必须是常量
		int arr[MAX] = { 0 };
		//4.枚举常量
		enum Sex s = FEMALE;
		printf("s=%d\n", s);
		printf("MALE=%d\n",MALE);
		printf("FEMALE=%d\n", FEMALE);
		printf("SECRET=%d\n", SECRET);
		return 0;
	}

示例结果
常量

4.字符串+转义字符+注释

4.1字符串

	"Hello world!";

由双引号(Double Quote)引起来的一串字符称为字符串面值(String Literal),或者简称字符串。
注:字符串的结束标志是一个 \0 的转义字符,在计算字符串长度的时候 \0 是结束标志,不算做字符串内容。

	#include<stdio.h>
	#include<string.h>
	int main()
	{
		//ASCII 编码
		//A=65  a=97
		char arr1[] = "abc";//abc\0
		printf("arr1=%s\n", arr1);
		//strlen()计算字符串长度,结束字符不参与计算
		printf("arr1的length为:%d\n", strlen(arr1));
		//sizeof()计算字符串大小
		printf("arr1的size为:%d\n\n", sizeof(arr1));
	
		char arr2[] = { 'a','b','c' };//abc....随机
		printf("arr2=%s\n", arr2);
		printf("arr2的length为:%d\n", strlen(arr2));
		printf("arr2的size为:%d\n\n", sizeof(arr2));
		
		//添加结束字符: \0  或 0
		char arr3[] = { 'a','b','c','\0' };
		printf("arr3=%s\n", arr3);
		printf("arr3的length为:%d\n", strlen(arr3));
		printf("arr3的size为:%d\n\n", sizeof(arr3));
	
		char arr4[] = { 'a','b','c',0 };
		printf("arr4=%s\n", arr4);
		printf("arr4的length为:%d\n", strlen(arr4));
		printf("arr4的size为:%d\n\n", sizeof(arr4));
	
		char arr5[] = { "abc" };
		printf("arr5=%s\n", arr5);
		printf("arr5的length为:%d\n", strlen(arr5));
		printf("arr5的size为:%d\n\n", sizeof(arr5));
	
		//定义数组大小
		char arr6[4] = { "abc" };
		printf("arr6=%s\n", arr6);
		printf("arr6的length为:%d\n", strlen(arr6));
		printf("arr6的size为:%d\n\n", sizeof(arr6));
		return 0;
	}

示例结果
示例结果

4.2转义字符

	#include<stdio.h>
	int main()
	{
		//1.换行符:\n
		printf("1.abcn");
		printf("\n");
		printf("1.abc\n");
		printf("\n");
		//2.水平制表符:\t
		printf("2.a\tb\tc\n");
		printf("\n");
		//3.转义 8进制  字符
		// \32:32作为8进制代表的那个十进制数字,作为ASCII码值,对应的字符
		// 32->10进制  26->作为ASCII码值代表的字符
		printf("3.%c\n", '\32');
		printf("3.c:\test\32\test.c\n");
		printf("3.c:\\test\\32\\test.c\n");
		printf("\n");
		//4.\xdd  dd表示2个十六进制的数字。如:\x30 ->0
		printf("4.\x61\n");
		printf("\n");
		//5.\ddd ddd表示1~3八进制的数字,如:\130 ->X
		printf("5.\132\n");
		return 0;
	}

示例结果
示例结果

4.3注释

  1. C语言风格:/XXXXXXXXXXXXX/
    缺陷:不能嵌套注释
    不能嵌套注释

  2. C++风格://XXXXXXXXXX
    可以注释一行也可以注释多行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值