C语言初识

2023-11-19

#include <stdio.h>

//这种写法是过时的写法
void main() {

}

//int是整型的意思
//main前面的int表示main函数调用后返回一个整型值
int main() {
	return 0;
}

int main() { //主函数--程序的入口--main函数有且仅有一个

	//在这里完成任务
	//在屏幕伤输出hello world
	//函数-print function - printf 打印函数
	//库函数-c语言本身提供给我们使用的函数
	//别人的东西 - 打招呼
	//#include
	printf("hello 小张\n");
	printf("hehe\n");
	return 0;
}

//char--字符类型
//%d - 打印整型
//%c - 打印字符
//%f - 打印浮点数字 - 打小数
//%p - 以地址的形式打印
//%x - 打印16进制数字
int main() {
	//char ch = 'A';//内存
	//printf("%c\n",ch);//%c -- 打印字符格式的数据
	//short int - 短整型
	//int -- 整型
	int age = 20;
	printf("%d\n", age);//%d -- 打印整型十进制数据
	long 长整型
	long num = 100;
	printf("%d\n", num);
	float f = 5.0f;
	printf("%f\n", f);
	double d = 3.14;
	printf("%lf\n", d);//%lf - 打印双精度浮点数

	return 0;
}

//查看基本数据类型在内存中占用的大小
int main() {
	printf("%d\n", sizeof(char));//1个byte
	printf("%d\n", sizeof(short));//2个byte
	printf("%d\n", sizeof(int));//4个byte
	printf("%d\n", sizeof(long));//4个byte 在不同位数的操作系统中占内存大小不相同
	//sizeof(long)>=sizeof(int) long占4/8个字节 int占4个字节
	printf("%d\n", sizeof(long long));//8个byte
	printf("%d\n", sizeof(float));//4个byte
	printf("%d\n", sizeof(double));//8个byte
	return 0;
}

int main() {
	//年龄
	//20
	short age = 20;//向内存申请2个字节=16个bit位,用来存放20
	float weight = 95.6f;//向内存申请4个字节,存放小数
	return 0;
}

全局变量和局部变量


int num2 = 20;//全局变量 - 定义在代码块({})之外的变量

int main() {

	int num1 = 10;//局部变量 - 定义在代码块({})内部
	return 0;
}

int a = 100;

int main() {

	int a = 10;
	//局部变量和全局变量的名字建议不要相同-容易误会,产生BUG
	//当局部变量和全局变量的名字相同的时候,局部变量优先
	printf("%d\n", a);
	return 0;
}

scanf函数的用法

int main() {
	//计算2个数的和
	int num1 = 0;
	int num2 = 0;
	int sum = 0;
	//输入数据 - 使用输入函数scanf
	scanf("%d%d",&num1,&num2);//&取地址符号
	//C语言语法规定,变量药定义在当前代码块的最前面
	sum = num1 + num2;
	printf("sum = %d\n", sum);
	return 0;
}

作用域和生命周期

int main() {
	//局部变量的作用域
	int num = 0;
	{
		printf("num = %d\n", num);
	}
	return 0;
}

//全局变量的作用域
int global = 2020;

void test() {
	printf("test() -- %d\n", global);
}

int main() {
	test();
	printf("%d\n", global);
	return 0;
}

新建一个文件

//全局变量的生命周期为整个程序
int g_val = 2021;

在刚才的文件中写入

int main() {
	//为声明的标识符
	//声明extern外部符号的
	extern int g_val;
	printf("g_val = %d\n", g_val);
	return 0;
}
int main() {
	{
		int a = 10;
		printf("a = %d\n", a);//ok
	}
	printf("a = %d\n", a);//error

	return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言初识 的相关文章

  • 使用 mono/nunit-console/4 在 Mac OS X 控制台上运行测试

    我安装了 Max OS X 10 11 1 上面装有 Xamarin 我编写了简单的测试类 只是为了测试在 Mac OS X 和 Ubuntu 上运行 Nunit 测试 该类实际上有一个返回字符串的方法 using System names
  • 我如何理解这个 C 类型声明?

    double bar int double double double double 在查看讲座幻灯片时 我发现了留给学生的练习 用简单的英语来说 什么是类型bar在这个 C 声明中 Please帮助我解决这个问题 我什至不知道从哪里开始
  • 何时使用 =default 使析构函数默认?

    尽管对构造函数使用 default 对我来说很清楚 即强制编译器在其他构造函数存在时创建默认构造函数 但我仍然无法理解这两种类型的析构函数之间的区别 那些使用 default 的 那些没有显式定义并由编译器自动生成的 我唯一想到的是 gro
  • 为什么在创建矩阵类时使用向量不好?

    对于我的矩阵类 我做了 template
  • 更改 Qt OpenGL 窗口示例以使用 OpenGL 3.3

    我正在尝试更改 Qt OpenGL 示例以使用更现代的 opengl 版本 330 似乎合适 所以我做了 在 main cpp 上设置版本和配置文件 设置着色器版本 更改着色器以使用统一 它现在构建没有任何错误 但我只看到一个空白窗口 我错
  • 如何在 C# / .NET 中创建内存泄漏[重复]

    这个问题在这里已经有答案了 可能的重复 托管代码中是否可能存在内存泄漏 特别是 C 3 0 https stackoverflow com questions 6436620 is it possible to have a memory
  • 在 Xamarin 中隐藏软键盘

    如何隐藏软键盘以便在聚焦时显示Entry在 Xamarin forms 便携式表单项目中 我假设我们必须为此编写特定于平台的渲染器 但以下内容不起作用 我创建自己的条目子类 public class MyExtendedEntry Entr
  • EF Core 通过完全替换断开集合导航属性的更新

    使用 EF Core 5 0 我有一个 SPA 页面 可以加载Group实体及其集合Employee来自 API 的实体 var groupToUpdate await context Groups Include g gt g Emplo
  • 读取 C# 中的默认应用程序设置

    我的自定义网格控件有许多应用程序设置 在用户范围内 其中大部分是颜色设置 我有一个表单 用户可以在其中自定义这些颜色 并且我想添加一个用于恢复默认颜色设置的按钮 如何读取默认设置 例如 我有一个名为的用户设置CellBackgroundCo
  • 如何在 SqlDataReader.Read() 期间从死锁异常中恢复

    我的 NET 应用程序的事件日志显示 它在从 Sql Server 读取数据时偶尔会出现死锁 这种情况通常非常罕见 因为我们已经优化了查询以避免死锁 但有时仍然会发生 过去 我们在调用ExecuteReader函数在我们的SqlComman
  • GCC 和 ld 找不到导出的符号...但它们在那里

    我有一个 C 库和一个 C 应用程序 尝试使用从该库导出的函数和类 该库构建良好 应用程序可以编译 但无法链接 我得到的错误遵循以下形式 app source file cpp text 0x2fdb 对 lib namespace Get
  • 找不到 assimp-vc140-mt.dll ASSIMP

    我已经从以下位置下载了 Assimp 项目http assimp sourceforge net main downloads html http assimp sourceforge net main downloads html Ass
  • 如何获取 QTableView 的标题列表?

    我有一个QTableView我的对话框中的对象 我需要访问该表的水平标题并将它们放入QStringList object 尽管进行了大量搜索 但我在 Qt 文档中找不到如何获取此标头列表 编辑 我发现的最接近的地方是this https w
  • 如何在标准 WPF ListView 中启用 UI 虚拟化

    我正在使用 NET 4 5 VS2012 并且我有一个 ListView 看起来像这样
  • 无法在内存位置找到异常源:cudaError_enum

    我正在尝试确定 Microsoft C 异常的来源 test fft exe 中 0x770ab9bc 处的第一次机会异常 Microsoft C 异常 内存位置 0x016cf234 处的 cudaError enum 我的构建环境是 I
  • 每个租户的唯一用户名和电子邮件

    我正在使用以下代码编写多租户应用程序ASP NET Core 2 1 我想覆盖默认的与用户创建相关的验证机制 目前我无法创建多个具有相同的用户UserName My ApplicationUser模型有一个名为TenantID 我想要实现的
  • 如何在c的case语句中使用省略号?

    CASE expr no commas ELLIPSIS expr no commas 我在c的语法规则中看到了这样的规则 但是当我尝试重现它时 int test float i switch i case 1 3 printf hi 它失
  • 新任务中使用的依赖注入服务

    我在需要时使用依赖项注入来访问我的服务 但我现在想要创建一个并发任务 但这会由于依赖项注入对象及其生命周期而导致问题 我读过这篇文章 标题 防止多线程 Link http mehdi me ambient dbcontext in ef6
  • 每个数据库多个/单个 *.edmx 文件

    我有一个通过 ADO net 数据服务与数据库交互的项目 数据库很大 近 150 个具有依赖关系的表 该项目几年前开始 当时使用的是数据集 现在我们正在转向实体模型关系 由于我们添加了更多需要使用的表 该模型正在不断增长 这是管理这一切的正
  • 更改 Windows Phone 系统托盘颜色

    有没有办法将 Windows Phone 上的系统托盘颜色从黑色更改为白色 我的应用程序有白色背景 所以我希望系统托盘也是白色的 您可以在页面 XAML 中执行此操作

随机推荐