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

相关推荐
狐凄10 分钟前
Python实例题:Python计算概率论
开发语言·python·概率论
liujing1023292910 分钟前
Day09_刷题niuke20250609
java·c++·算法
不7夜宵13 分钟前
力扣热题100 k个一组反转链表题解
算法·leetcode·链表
程序员JerrySUN32 分钟前
Linux 内核内存管理子系统全面解析与体系构建
java·linux·运维
q5673152334 分钟前
分布式增量爬虫实现方案
开发语言·分布式·爬虫·python
勤奋的知更鸟40 分钟前
LLaMA-Factory和python版本的兼容性问题解决
开发语言·python·llama-factory
CIb0la42 分钟前
Ai自动补全编程工具:llama vscode
运维·开发语言·学习·测试工具·程序人生
1candobetter1 小时前
JAVA后端开发——多租户
java·开发语言
rui锐rui1 小时前
大模型模型部署和暴露接口
linux·运维·服务器
孙克旭_1 小时前
day030-Shell自动化编程-函数
linux·运维·自动化