第二章:C语言基础(三)

作业
1> 将今天的所有课堂代码重新实现一遍,并给出详细注释

cpp 复制代码
#include<stdio.h>

int main(int argc, const char *argv[])
{
	printf("%hu\n", 65530);         //正常输出无符号short类型的数据
	printf("%hd\n", 32760);         //正常输出有符号short类型的数据
	printf("%hd\n", -32760);         //正常输出有符号short类型的数据

	printf("***************************\n");
	printf("%hu\n", 65540);        // 4  因为数据超出了short类型的大小
	printf("%hd\n", 32770);        //-32766  因为达到了有符号short的最大值,则变成最小值
	printf("%hd\n", -32770);       //32766  因为达到了有符号short的最小值后,就变成的最大值

	printf("*****************************\n");
	//sizeof:系统提供的关键字,用于计算给定类型所在的字节数
	//sizeof求出的数据类型为size_t类型,输出格式控制为 %zd
	printf("sizeof(short) = %zd\n", sizeof(short));      // 2
	
	return 0;
}
cpp 复制代码
#include<stdio.h>

int main(int argc, const char *argv[])
{

	printf("%u\n", 4294967295);         //正常输出无符号int类型数据
	printf("%d\n", -2147483648);         //正常输出有符号int数据
	printf("%d\n", 2147483647);         //正常输出有符号int数据
	printf("********************************\n");

	printf("%u\n", 4294967295+1+3);      //3  //超过最大数,就变成最小数
	printf("%u\n", -1);             //4294967295
	printf("%d\n", 2147483650);      //-2147483646
	
	printf("********************************\n");
	printf("sizeof(int) = %zd\n", sizeof(int));      //4
	return 0;
}
cpp 复制代码
#include<stdio.h>

int main(int argc, const char *argv[])
{
	printf("%zd\n", sizeof(10));         //4 在int范围内的整数,默认都是整形

	printf("%zd\n", sizeof(2222222222));//超过有符号int数据范围,默认是长整形

	return 0;
}
cpp 复制代码
#include<stdio.h>

int main(int argc, const char *argv[])
{
	//定义float类型的数据存储小数
	float num = 3.14159265358979323;
	printf("%f\n", num);       //3.141593
	printf("%.10f\n", num);       //3.1415927410  超出精度后,会丢失数据

	//定义double类型的数据存储小数
	double key = 3.14159265358979323;
	printf("%lf\n", key);       //3.141593
	printf("%.10lf\n", key);       //3.1415927410  超出精度后,会丢失数据
	printf("%.17lf\n", key);       // 超出精度后,会丢失数据

	//测试所占字节数
	printf("sizeof(float) = %zd\n", sizeof(float));    //4
	printf("sizeof(double) = %zd\n", sizeof(double));    //8
	printf("sizeof(3.14) = %zd\n", sizeof(3.14));    //8

	
	return 0;
}
cpp 复制代码
#include<stdio.h>

int main(int argc, const char *argv[])
{
	//输出字符的字符身份
	printf("%c\n", 'a');          //a
	printf("%c\n", '0');          //0
	
	//输出字符的整数身份
	printf("%hhd\n", 'a');        //97
	printf("%hhd\n", '0');        //48

	//输出整数的整数身份
	printf("%hhd\n", 65);         //65
	printf("%hhd\n", 7);          //7

	//输出整数的字符身份
	printf("%c\n", 65);          //A
	printf("%c\n", 7);           //警报

	printf("%hhd\n", 130);          //-126
	printf("%hhu\n", 130);          //130
	printf("%hhu\n", -2);           //254

	printf("sizeof(char) = %zd\n", sizeof(char));    //1
	printf("sizeof('A') = %zd\n", sizeof('A'));    //4
	printf("sizeof(65) = %zd\n", sizeof(65));    //4


	printf("hello\r");              //hello
	printf("AA\n");                 //AAllo            

	
	return 0;
}
cpp 复制代码
#include<stdio.h>

int main(int argc, const char *argv[])
{
	printf("%d\n", 520);         //输出整形常量
	printf("%.2lf\n", 3.1415);    //输出实数常量
	printf("\n");                //输出换行
	printf("%hhd\n", '\060');               //输出48
	printf("%#o\n", '\060');               //输出 060
	printf("%hhd\n", '\x11');        //输出17
	printf("%hhd\n", '\x7f');        //输出127
	printf("%#x\n", '\x7f');        //输出 0x7f


	printf("********************************\n");
	printf("%s\n", "hello world");       //输出一个字符串

	
	return 0;
}
cpp 复制代码
#include<stdio.h>

int main(int argc, const char *argv[])
{
	auto int num = 520;     //int num = 520;
	//定义一个自动类型的整形变量num并为其进行初始化
	printf("num = %d\n", num);       //读出变量中的值

	num = 666;                //写入变量的值,赋值操作
	printf("num = %d\n", num);      //666


	//定义一个静态变量
	char value ;
	printf("value = %hhd\n", value);    //定义变量如果不初始化,默认是随机值
	value = 'A';          //赋值操作
	printf("value = %c\n", value);      //A

	//定义静态变量
	static double key = 3.14;
	printf("key = %.2lf\n", key);      //输出数据

	//定义常变量
	const int num_1 = 666;
	printf("num_1 = %d\n", num_1);        //读数据
	num_1 = 999;                  //报错,const修饰的变量是不能被更改的

	
	return 0;
}
cpp 复制代码
#include<stdio.h>

int main(int argc, const char *argv[])
{

	//定义一个自动类型的  有符号的短整形数据,并对其进行初始化
	auto signed short int num = 100;    // short  num = 100;

	printf("num = %hd\n", num);        //100

	num = 32770;                 //给变量重新赋值
	printf("num = %hd\n", num);        //-32766

	//定义一个无符号的数据
	unsigned char key = 265;
	printf("key = %hhd\n", key);          //9
	printf("key = %c", key);               //'\t'

	
	return 0;
}

2> 思维导图

相关推荐
Andy杨2 小时前
20250718-1-Kubernetes 应用程序生命周期管理-应用部署、升级、弹性_笔记
linux·docker·容器
古月-一个C++方向的小白5 小时前
C++11之lambda表达式与包装器
开发语言·c++
写写闲篇儿5 小时前
Python+MongoDB高效开发组合
linux·python·mongodb
沐知全栈开发6 小时前
Eclipse 生成 jar 包
开发语言
杭州杭州杭州6 小时前
Python笔记
开发语言·笔记·python
一个龙的传说7 小时前
linux 常用命令
linux·服务器·zookeeper
tanyongxi667 小时前
C++ AVL树实现详解:平衡二叉搜索树的原理与代码实现
开发语言·c++
Wendy14417 小时前
【线性回归(最小二乘法MSE)】——机器学习
算法·机器学习·线性回归
拾光拾趣录8 小时前
括号生成算法
前端·算法