您的位置:首页 > 其它

字符串/转移字符/数据类型/常量/变量.{printf("%d\n", printf("%d\n", printf("%d\n", i)));}输出什么???及练习题

2020-01-14 10:31 169 查看

#文中屏蔽的一段段就是一个个小知识点的演练
##分别为:字符串/转移字符/数据类型/常量/变量(部分)

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#define MAX 10//预定义

```c
//int i = 43;
//printf("%d\n", printf("%d\n", printf("%d\n", i)));输出什么???
int main()
{
int i = 43;
printf("%d\n", printf("%d\n", printf("%d\n",i)));
//可以看到,printf是int型的,并且他的返回值是你输出的位数,因此,输出结果是43  3  2
//简单解释:首先输出i,43+换行,这是三位数,然后返回值是3,输出3+换行,这时是两位数,输出2;
return 0;
}
//表达式的求值和表达式的属性
//int main()
//{
//	int a = 10;
//	int b = 20;
//	int c = a + b * 10; //1.值属性~210
//	                   //2.类型属性~int
//	return 0;
//}
//局部变量和全局变量 都具有1.生命周期;2.作用域,其中全局变量作用域在整个工程
//未赋初始值的局部变量一般报错或者输出随机值,未赋初始值的全局变量一般默认初始值为0
//全局变量和静态static修饰的局部变量是存储在同一片内存区
//extern int a_b;//彻底声明有a_b这个变量存在
//int main()
//{
//	printf("a_b = %d\n", a_b);
//	return 0;
//}

//void test()
//{
//	static int num = 0;//num为局部变量,超出局部则销毁,但若是在前加上static修饰,则生命周期和全局变量一致。
//	//有static修饰时,早已经进行汇编前定义num,没有对这句指令进行编译,程序执行时直接跳过。
//	num = num++;//每次一进入局部变量范围都令num=0
//	printf("%d ", num);//故输出1 2 3 4 5 6 7 8 9 10
//	//int num = 0;//num为局部变量,超出局部则销毁
//	//num = num++;//每次一进入局部变量范围都令num=0
//	//printf("%d ", num);//故输出1 1 1 1 1 1 1 1 1 1
//}
//int main()
//{
//	int i = 0;
//	for (i = 0; i < 10; i++)
//	{
//		test();
//	}
//	return 0;
//}

//int num = 0;//num为全局变量,仅第一次调用时定义有效
//void test()
//{
//	num = num++;
//	printf("%d ", num);//故输出1 2 3 4 5 6 7 8 9 10
//}
//int main()
//{
//	int i = 0;
//	for (i = 0; i < 10; i++)
//	{
//		test();
//	}
//	return 0;
//}

int main()
{
volatile const int num = 10;//volatile意为保证内存的可见性,保证先去内存里拿,有了此关键字c++程序就会输出20。
int* p = (int *)#//强制改变num类型避免警告
p = 20;
printf("%d\n", num);/若为c++程序,VS2019会对程序优化const表示把10当做常用量放进
register里,所以程序从register里取10比从内存里取20的速度会快,但num所在内存地址的
内容已经被改为20,但register的速度快,所以输出为10/
return 0;
}
//int main()
//{
// int a = 0;
// int p = &a;//p为指针变量
// *p = 20;//*p等效于a
// printf("%d", a);
// return 0;
//}
//int main()
//{
// int age = 0;
// scanf("%d", &age);
// printf("%d\n", age);
// return 0;
//}
//int main()
//{
// //枚举常量enum
// enum Sex
// {
// male,//0 可在定义时自定义其数值
// female,//1
// secret//2
// };//代表数字次序递增
// printf("%d\n", male);
// printf("%d\n", female);
// printf("%d\n", secret);
// return 0;
//
//}
//int main()
//{
// const int n = 10;//const修饰的n为常变量
// int arr[MAX] = { 0 };//[]内只能为常量
//}
//int main()
//{
//
// char c = ‘a’;
// short s = 2;
// int b = 10;
// long l = 30;
// long long ll = 30;
// float f = 3.14f;
// double d = 3.0;
// printf("%d\n", sizeof(char));//1
// printf("%d\n", sizeof(short));//2
// printf("%d\n", sizeof(int));//4
// printf("%d\n", sizeof(long));//4/8
// printf("%d\n", sizeof(long long));//8
// printf("%d\n", sizeof(float));//4
// printf("%d\n", sizeof(double));//8
//char arr[6] = { ‘a’,‘b’,‘c’,‘d’,‘e’,‘f’ };
//printf("%s\n", arr); // 0xccccccc 编译为随机乱码
//printf("%c\n", ‘\060’); // 0 48的字符为0
//printf("%d\n",strlen(“abcde”)); // 5
// int len = strlen(“c:\test\code\34test.c”);
// printf("%d\n", len); // 17个字符
// return 0;
//}

##练习题
###1.打印100~200之间的素数及其程序优化
2.输出乘法口诀表
3.判断1000~2000年之间的闰年
```c
#include<stdio.h>
#include<math.h>
//int main()//打印100~200之间素数,求素数可进行多次优化,借鉴《素数求解的N种境界》
//{
//	int i = 0;
//	int count = 0;
//	for (i = 101; i <= 200; i+=2)//打印100~200之间所有数
//	{
//		int j = 0;
//		for (j = 2; j <= sqrt(i); j++)//判断i是否为素数
//		{
//			if (i % j == 0)
//				break;
//		}
//		if (j > sqrt(i))
//		{
//			printf("%d ", i);
//			count++;
//		}
//	}
//	printf("\n count = %d\n",count);
//	return 0;
//}

//int main()//输出乘法口诀表
////1*1=1
////2*1=2 2*2=4
////3*1=3 3*2=6 3*3=9 ...
//{
//	int i = 0;//i刚好为行数
//	for (i = 1; i <= 9; i++)
//	{
//		int j = 0;//j刚好为列数
//		for (j = 1; j <= i; j++)
//		{
//			printf("%d*%d=%-2d ", i, j, i * j);
//		}
//		printf("\n");
//	}
//	return 0;
//}
int main()//判断1000年~2000年之间的闰年
{
int year = 0;
int count = 0;
for (year = 1000; year <= 2000; year++)
{
if (year%4 == 0)
{
if (year % 100 != 0)
{
printf("%d ", year);
count++;
}
}
if (year % 400 == 0)
{
printf("%d ", year);
count++;
}

}
printf("\n count = %d ",count);
return 0;
}
  • 点赞
  • 收藏
  • 分享
  • 文章举报
不爱学习爱向前的憨仔 发布了3 篇原创文章 · 获赞 0 · 访问量 87 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐