第二章: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> 思维导图

相关推荐
hdsoft_huge9 小时前
Java & Spring Boot常见异常全解析:原因、危害、处理与防范
java·开发语言·spring boot
风中的微尘10 小时前
39.网络流入门
开发语言·网络·c++·算法
Ronin30510 小时前
【Linux系统】日志与策略模式
linux·策略模式·日志
未来之窗软件服务10 小时前
幽冥大陆(二)RDIFSDK 接口文档:布草洗涤厂高效运营的技术桥梁C#—东方仙盟
开发语言·c#·rdif·仙盟创梦ide·东方仙盟
ZzzK,10 小时前
JAVA虚拟机(JVM)
java·linux·jvm
西红柿维生素10 小时前
JVM相关总结
java·jvm·算法
小冯记录编程10 小时前
C++指针陷阱:高效背后的致命危险
开发语言·c++·visual studio
1uther11 小时前
Unity核心概念⑨:Screen
开发语言·游戏·unity·c#·游戏引擎
C_Liu_11 小时前
C++:类和对象(下)
开发语言·c++
coderxiaohan11 小时前
【C++】类和对象1
java·开发语言·c++