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

相关推荐
梁萌2 小时前
Linux安装Docker
linux·运维·docker·helloworld·容器化部署
彩虹糖_haha2 小时前
Linux高并发服务器开发 第五天(压缩解压缩/vim编辑器/查找替换/分屏操作/vim的配置)
linux·运维·服务器
旺仔学IT2 小时前
Centos7中使用yum命令时候报错 “Could not resolve host: mirrorlist.centos.org; 未知的错误“
linux·运维·centos
Yhame.2 小时前
深入理解 Java 中的 ArrayList 和 List:泛型与动态数组
java·开发语言
qq_433618443 小时前
shell 编程(五)
linux·运维·服务器
mazo_command4 小时前
【MATLAB课设五子棋教程】(附源码)
开发语言·matlab
88号技师4 小时前
2024年12月一区SCI-加权平均优化算法Weighted average algorithm-附Matlab免费代码
人工智能·算法·matlab·优化算法
IT猿手4 小时前
多目标应用(一):多目标麋鹿优化算法(MOEHO)求解10个工程应用,提供完整MATLAB代码
开发语言·人工智能·算法·机器学习·matlab
青春男大4 小时前
java栈--数据结构
java·开发语言·数据结构·学习·eclipse
88号技师4 小时前
几款性能优秀的差分进化算法DE(SaDE、JADE,SHADE,LSHADE、LSHADE_SPACMA、LSHADE_EpSin)-附Matlab免费代码
开发语言·人工智能·算法·matlab·优化算法