因为学校安排在装修行业实习,所以只能在休息日——周一的时候发博客
今日学习的是:
强制类型转换:
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int i = (int)3.5;
printf("%f", i);
return 0;
}
输入输出函数scanf和printf
printf()是将参数文本输出到屏幕,f是格式化的意思,如下
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
printf("666\n");
return 0;
}
printf输出必须包含stdio.h的头文件
占位符
printf可输出指定占位符,如下
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int a = 5;
float b = 7.54;
float c = 16.1;
printf("%5d\n", a);
printf("%10f\n", b);
printf("%.30f\n", c); //不加“ . ”是右对齐,加“ . ”是左对齐补零
printf("%8.5s\n", "Judy"); //.前右对齐补零,.后左对齐补零
printf("%10s\n", "天下第一");//1个字算2个
return 0;
}
运行结果:
右对齐,左空位补零
加“ . ”,左对齐,右空位补零
“ . ”前右对齐补零,“ . ”后左对齐补零
scanf(读取用户的键盘输入)
int main()
{
int i = 1; //定义i
scanf("%d", &i); //获取输入的字符传到%d
printf("%d", i); //打印%d
return 0;
}
多重读取和输出
int main()
{
//int i = 1; //定义i
//scanf("%d", &i); //获取输入的字符传到%d
//printf("%d", i); //打印%d
int q = 1;
int w = 1;
int e = 1;
int r = 1;
int t = 1;
scanf("%d %d %d %d %d", &q, &w, &e, &r, &r);
printf("%d %d %d %d %d ", q, w, e, t, r);
return 0;
}
字符串数组
int main()
{
char arr[20] = { 0 };
scanf("%s", arr);
printf("%s\n", arr);
return 0;
}
程序输入:asag hdhadh 输出结果:asag 。后面的空格就不输出了
不安全的地方就是:不管数组多大,都存,然后报错
赋值忽略符
int main()
{
int year = 0;
int month = 0;
int day = 0;
scanf("%d-%d-%d", &year, &month, &day);
printf("%d - %d - %d", year, month, day);
return 0;
}
运行结果:输入2023-7-24(必须加“ - ”),
2023 - 7 - 24
*夹在占位符后面
int main()
{
int year = 0;
int month = 0;
int day = 0;
scanf("%d%*c%d%*c%d", &year, &month, &day);
printf("%d - %d - %d", year, month, day);
return 0;
}