[C语言]程序练习(一)

news2025/2/3 1:53:15

你好,这里是争做图书馆扫地僧的小白。

个人主页:争做图书馆扫地僧的小白_-CSDN博客

目标:希望通过学习技术,期待着改变世界。

目录

前言

一、常量练习

(一)整型常量

(二)浮点型常量

(三)字符常量

(四)字符串常量

二、变量练习

(一)变量的初始化和赋值

(二)强制类型转换

(三)隐式强转

总结


前言

        本系列的程序练习,是对应本人C语言专栏里面的学习笔记的相关程序,后续逐步将整理每处知识点对应的程序练习,希望对学习C语言的朋友们有所帮助。

        本篇将包含常量练习里面的整型常量、浮点型常量,字符常量和字符串常量,变量练习的变量的初始化和赋值,强制类型转换,隐式强转。具体的知识点请看C语言学习笔记(上)-CSDN博客


提示:以下是本篇文章正文内容,下面案例可供参考

一、常量练习

(一)整型常量

#include <stdio.h>

int main()
{
	//常量一般是用来给变量赋值的
	short a = 100;
	printf("a = %d\n", a);

	long int a1 = 1000;
	printf("a1 = %ld\n", a1);

	long long int a2 = 0x12AA;
	printf("a2 = %#llx\n", a2);

	return 0;
}

(二)浮点型常量

#include <stdio.h>

int main()
{
	float a = 3.1415926;
	printf("a = %f\n", a);  //默认显示6位小数,超过的部分,四舍五入

	//可以使用 %.nf 的方式,用来显示需要显示的小数位数
	printf("a1 = %.2f\n", a1);// 3.14

	double a2 = 3.1415926;
	printf("a2 = %lf\n", a2);// 默认也是显示6位小数
	printf("a2 = %.2lf\n", a2);// 3.14

	//指数形式
	float a3 = 314;
	printf("a3 = %e\n", a3);//可以按指数形式输出

	//也可以使用指数常量给变量赋值
	float a4 = -5.67e-3;
	printf("a4 = %f\n", a4);//-0.005670

	return 0;
}

(三)字符常量

#include <stdio.h>

int main()
{
	//定义一个字符类型的变量
	char a1 = 'A';
	printf("a1 = [%d] [%c]\n", a1, a1);// 65  A

	//字符常量可以参与运算
	char a2 = 'M'+1;  
	printf("a2 = [%d] [%c]\n", a2, a2);

	char a3 = 67;//使用字符的ascii码给变量赋值
	printf("a3 = [%d] [%c]\n", a3, a3);

	return 0;
}

(四)字符串常量

#include <stdio.h>

int main()
{
	//字符串直接输出
	printf("hello\n");
	printf("%s\n", "hello");

	//可以将字符串保存在字符数组中,通过数组进行输出
	char str[32] = "hello";
	printf("str = [%s]\n", str);

	//也可以定义一个指针直接指向字符串常量
	char *p = "hello,world"; 
	printf("p = %s\n", p);
 
    //注意:C语言中遇到 '\0' 就结束
	char *p1 = "hel\0lo";
	printf("p1 = %s\n", p2);//hel

	return 0;
}

二、变量练习

(一)变量的初始化和赋值

#include <stdio.h>

int main()
{
	//初始化:在定义变量的同时,给变量赋一个初值
	int a1 = 100;
	printf("a1 = %d\n", a1);

	//如果定义变量没有初始化,则存储随机值
	int a2;
	printf("a2 = %d\n", a2);
    //初始化可以用0初始化
	int a3 = 0;
	printf("a3 = %d\n", a3);

	//变量是可以被重新赋值
	a3 = 520;	
	printf("a3 = %d\n", a3);

	//变量之间可以做运算
	a2 = a1+a3;
	printf("a1 = %d  a2 = %d  a3 = %d\n", a1, a2, a3);
	
	//一行中可以定义多个变量,用逗号分隔
	int a4,a5,a6;

	return 0;
}

(二)强制类型转换

#include <stdio.h>

int main()
{
	int a = 3;
	int b = 2;
	float ret1 = a/b;	//ret1 等于1
	printf("ret1 = %f\n", ret1);
	
	//将a和b的类型转换成 float 来参与本次运算
	//相当于 把 1.500000 赋值给 ret2
	float ret2 = (float)a/(float)b;
	printf("ret2 = %f\n", ret2);//1.500000

	//a和b的类型不会改变
	printf("a = %d  b = %d\n", a, b);//3  2

	return 0;
}

(三)隐式强转

#include <stdio.h>

int main()
{
	float a = 3.1415;
	int b = a;	//相当于取整的操作
	printf("a = %f  b = %d\n", a, b);

	return 0;
}


总结

        以上就是今天要讲的内容,本文基于博主之前的博客,写的对应于第一篇笔记的程序练习,希望对学习C语言的小伙伴有帮助。如果可以的话,动动你们的小手帮我点点赞和关注。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1328889.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TrustZone之安全启动与引导失败处理

一、引导和信任链 引导是任何TrustZone系统的关键部分。只有在引导流程中之前运行的所有软件组件都是可信的情况下,才能信任某个软件组件。这通常被称为信任链。下图显示了一个简化的信任链: 在我们的示例中,首先运行的代码是boot ROM。我们必须隐式信任boot ROM,因…

六个探索性数据分析(EDA)工具,太实用了!

当进行数据分析时&#xff0c;探索性数据分析(EDA)是一个至关重要的阶段&#xff0c;它能帮助我们从数据中发现模式、趋势和异常现象。而选择合适的EDA工具又能够极大地提高工作效率和分析深度。在本文中&#xff0c;笔者将介绍6个极其实用的探索性数据分析(EDA)工具&#xff0…

《工具箱-SVN》SVN安装、备份、迁移教程

文章目录 一、服务器搭建SVN1.检查SVN是否存在2.安装SVN3.创建版本库4.创建版本库存放文件地址5.修改配置文件5.1 vim authz5.2 vim passwd5.3 vim svnserve.conf 6.启动并查看SVN7.SVN Checkout8.SVN Update9.SVN Commit 二、SVN-无法连接主机&#xff0c;目标计算机积极拒绝&…

CiteSpace最新安装教程

目录 一、CiteSpace特点介绍 二、CiteSpace安装教程 1、安装java 2、配置java环境变量 3、安装CiteSpace 4、运行CiteSpace 一、CiteSpace特点介绍 CiteSpace是一种用于分析学术文献的可视化工具&#xff0c;旨在帮助研究人员理解学术领域的演化、发现研究热点和趋势。 …

SpringBoot+Redis的Bloom过滤器

1.保姆级Linux安装Redis ①把redis.tar.gz下载到linux中&#xff0c;并用命令tar -zxvf安装 ②安装完成进入目录输入make进行编译&#xff0c;编译完成后输入make install 进行安装 ③创建两个文件夹mkdir bin mkdir etc 将redis目录下的redis.conf文件移动到etc文件中&…

Web自动化测试工具的优势分析

Web自动化测试工具在现代软件开发中扮演着关键的角色&#xff0c;帮助团队确保Web应用程序的质量和稳定性。然而&#xff0c;选择合适的Web自动化测试工具对项目的成功至关重要。本文将介绍Web自动化测试工具优势是什么! 1. 自动化执行 Web自动化测试工具能够模拟用户的行为&am…

jar混淆,防止反编译,Allatori工具混淆jar包

文章目录 Allatori工具简介下载解压配置config.xml注意事项 Allatori工具简介 官网地址&#xff1a;https://allatori.com/ Allatori不仅混淆了代码&#xff0c;还最大限度地减小了应用程序的大小&#xff0c;提高了速度&#xff0c;同时除了你和你的团队之外&#xff0c;任何人…

[Angular] 笔记 7:模块

Angular 中的模块(modules) 是代码在逻辑上的最大划分&#xff0c;它类似于C, C# 中的名字空间&#xff1a; module 可分为如下几种不同的类型&#xff1a; 使用模块的第一个原因是要对代码进行逻辑上的划分&#xff0c;第二个非常重要的原因是为了实现懒惰加载(lazy loading)&…

linux静态ip配置方法(vmware虚拟机)

1、背景 自己搭建了一个虚拟机&#xff0c;vmware虚拟机&#xff0c;如果使用动态ip,经常变换地址&#xff0c;登录不方便。 优点&#xff1a; 静态网络配置的好处是该服务器地址是静态ip的&#xff0c;不会随着网络更换而出现波动。 2、配置方法 2.1 进入centos系统&#…

Midjourney V6 引爆社交媒体,AI图像与照片的差别消失;LangChain的2023AI发展状况总结

&#x1f989; AI新闻 &#x1f680; Midjourney V6 引爆社交媒体&#xff0c;AI图像与照片的差别消失 摘要&#xff1a;Midjourney V6 第二次社区评价震惊网友&#xff0c;神图细节逼真&#xff0c;光影效果逆天&#xff0c;皮肤质感细腻&#xff0c;已超越昨日版本。V6即将…

Java商城免 费 搭 建:VR全景到SAAS,各种模式一网打尽!

一、技术选型 java开发语言&#xff1a;java是一种跨平台的编程语言&#xff0c;适用于大型企业级应用开发。使用java开发直播商城可以保证系统的稳定性和可扩展性。 spring boot框架&#xff1a;spring boot是一个快速构建spring应用的框架&#xff0c;简化了开发过程&#xf…

新手小白如何做好接口测试!

测试行业中&#xff0c;大多数人接触的都是所谓的功能测试&#xff0c;也就是人为操作设备的输入输出&#xff0c;在这样的一个模式下&#xff0c;实际上有很多的细节的逻辑并无法覆盖到&#xff0c;虽然表面看似没有问题&#xff0c;但经常会发生所谓的不可重现错误、异常错误…

美创「新一代数据安全管理平台」力揽CSA两项殊荣

12月21日&#xff0c;第七届云安全联盟大中华区&#xff08;简称&#xff1a;CSA大中华区&#xff09;大会在深圳隆重召开&#xff0c;本次大会以“云融未来&#xff0c;安全内在”为主题&#xff0c;邀请学者和产业专家们共同探讨云计算在人工智能、数据安全、算力网络等领域的…

opencv入门到精通——图像上的算术运算

目录 目标 图像加法 图像融合 按位运算 目标 学习图像的几种算术运算&#xff0c;例如加法&#xff0c;减法&#xff0c;按位运算等。 您将学习以下功能&#xff1a;cv.add&#xff0c;cv.addWeighted等。 图像加法 您可以通过OpenCV函数cv.add()或仅通过numpy操作res …

C++之深拷贝进阶

目录 拷贝构造函数的深拷贝进阶版本 赋值运算符重载的深拷贝进阶 总结 上期我们学习了C中深拷贝的传统版本&#xff0c;今天我们将学习更为高效的版本。 拷贝构造函数的深拷贝进阶版本 传统版本代码如下&#xff1a; string(string& s):_str(new char[strlen(s._str) …

[Linux] MySQL数据表(数据结构)管理

一、数据库 1.1 数据库的基本概念 数据库&#xff08;database&#xff09;是用来组织、存储和管理数据的仓库 数据库管理系统&#xff08;DBMS&#xff09;&#xff1a;是实现对数据有效组织&#xff0c;管理和存取的系统软件。 数据的建立和维护功能&#xff0c;数据定义…

互联网加竞赛 python图像检索系统设计与实现

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; python图像检索系统设计与实现 &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&#xff1a;3分工作量&#xff1a;3分创新点&#xff1a;4分 该项目较为新颖&#xff0c…

『番外篇五』SwiftUI 进阶之如何动态获取任意视图的 tag 和 id 值

概览 在某些场景下,我们需要用代码动态去探查 SwiftUI 视图的信息。比如任意视图的 id 或 tag 值: 如上图所示:我们通过动态探查技术在运行时将 SwiftUI 特定视图的 tag 和 id 值显示在了屏幕上。 这是如何做到的呢? 在本篇博文,您将学到如下内容: 概览1. “如意如意,…

四种常见的代码覆盖率测试

您听说过“代码覆盖率”吗&#xff1f;在这篇文章中&#xff0c;我们将探讨什么是测试中的代码覆盖率&#xff0c;以及四种衡量它的常用方法。 什么是代码覆盖率 代码覆盖率是衡量测试代码测试了源代码百分比多少的指标。它可以帮助您识别可能缺乏适当测试的代码区域。 通常…

【JVM】一、认识JVM

文章目录 1、虚拟机2、Java虚拟机3、JVM的整体结构4、Java代码的执行流程5、JVM的分类6、JVM的生命周期 1、虚拟机 虚拟机&#xff0c;Virtual Machine&#xff0c;一台虚拟的计算机&#xff0c;用来执行虚拟计算机指令。分为&#xff1a; 系统虚拟机&#xff1a;如VMware&am…