字符串/转移字符/数据类型/常量/变量.{printf("%d\n", printf("%d\n", printf("%d\n", i)));}输出什么???及练习题
#文中屏蔽的一段段就是一个个小知识点的演练
##分别为:字符串/转移字符/数据类型/常量/变量(部分)
#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; }
- 点赞
- 收藏
- 分享
- 文章举报
- Python入门(二)——IDE选择PyCharm,输入和输出,基础规范,数据类型和变量,常量,字符串和编码,格式化
- Swift 2.0 学习第1天:常量和变量, 数据类型,字符和字符串
- Python入门(二)——IDE选择PyCharm,输入和输出,基础规范,数据类型和变量,常量,字符串和编码,格式化
- C语言基础:进制转换,变量,常量,表达式,基本数据类型,输出函数,输入函数,运算符. 分类: iOS学习 c语言基础 2015-06-10 21:39 25人阅读 评论(0) 收藏
- C#基础1 输出输入、数据类型、常量与变量
- printf输出%f %lld问题。输出类型和数据类型不匹配会发生什么?
- C语言基础:进制转换,变量,常量,表达式,基本数据类型,输出函数,输入函数,运算符.
- java语言基础day02(变量,进制,数据类型,字符和字符串参与的运算,运算符)
- 17.2015.08.04第十八节课 C#2 (数值类型及调用、引用类型及调用、装拆箱、常量、变量、数据类型转换、算术运算符、赋值运算符、关系运算符、逻辑运算符、字符串的常用方法)
- 前期C语言回顾 进制、C数据类型、常量变量、运算符、表达式、格式化输入输出
- swift学习笔记(一)(常量、变量、数据类型、字符串的拼接、数组、字典)
- C语言---程序的一般形式、数据类型、常量变量、运算符、表达式、格式化输入输出
- 【学习ios之路:C语言】数据类型、常量变量、运算符、表达式、格式化输入输出
- [TwistedFate]C语言学习:C数据类型,常量变量,运算符,表达式,输入输出
- 01 数据类型 、常量变量、运算符、表达式、格式化输入输出
- C语言-数据类型、常量、变量、变量作用域、printf、scanf函数
- 《IOS_C语言--进制,C数据类型、常量、变量、运算符、表达式、格式化输入输出》
- 进击的KFC:第一节C数据类型、常量变量、运算符、表达式、格式化输入输出
- printf输出%f %lld问题。输出类型和数据类型不匹配会发生什么?
- 【总结】0 初识C语言 (数据类型、变量 常量、字符串+转义字符+注释)