老师未批改
1. 不运行代码写出下面语句的执行结果:(未知的值请写出未知理由及原因)
printf("%2.2lf", 2.33333);
2.33printf("%c%c%c", 'A', '49', '44');
该句话会报错, 因为 '49' 和 '\44' 不是一个正确的字符, 不能被正确编译.
非要说答案的话, 只能是 A程序崩溃...printf("%10+-.3lf", 3.1415927);
该句话会报错, 格式控制符写的不对, 不知道该用什么格式, 结果未知.2. 请写出下列各项的转换说明符:
1).宽度和位数相同的十进制整数
// %d
// 如果不加注释, %d 就显示不出来....2).232.666, 使用0填充至10位
%010g3).宽度为30, 左对齐的字符串
%-30s4).宽度为12的十六进制的整数
%#12x5).宽度为15的unsigned long的整数
%15lu6).宽度为7, 左对齐, 字符串中的前5个字符.
%-7.5s3. 请写出读取下列内容的转换说明符
1). 10109
// %d
// 如果不加注释, %d 就显示不出来....2). 22.1111
%lf3). ILoveMark
// %s
// 如果不加注释, %s 就显示不出来....4). I Love Mark (要求一次性读取完成)
%s %s %s5). if 22 (只读取数值)
if %d4. 编程练习
1). 提示用户以 "姓 名" (英语)的格式输入, 用 "名姓" 的方式打印.
/*************************************************************************
> 文件名: lesson16.hw.01.c
> 作者: 花心胡萝卜
> 邮箱: hxhlb@hxcarrot.com
> 创建时间: 2016-09-21 16:19:46
************************************************************************/
#include<stdio.h>
int main() {
printf("请依次输入您的姓和名(英文):\n");
char strFirstName[20] = { 0 };
char strLastName[20] = { 0 };
scanf_s("%s%s", strLastName, sizeof(strLastName), strFirstName, sizeof(strFirstName));
printf("您的英文姓名为:%s%s\n", strFirstName, strLastName);
return 0;
}运行效果:
2). 同上题输出
a). 包括双引号的姓名("姓 名")
b). 打印宽度为20, 左端打印./*************************************************************************
> 文件名: lesson16.hw.02.c
> 作者: 花心胡萝卜
> 邮箱: hxhlb@hxcarrot.com
> 创建时间: 2016-09-21 16:22:11
************************************************************************/
#include <stdio.h>
#include <string.h>
#define WIDTH 20
int main() {
printf("请依次输入您的姓和名(英文):\n");
char strFirstName[20] = { 0 };
char strLastName[20] = { 0 };
scanf_s("%s%s", strLastName, sizeof(strLastName), strFirstName, sizeof(strFirstName));
printf("您的英文姓名为:\"%s%s\"\n", strFirstName, strLastName);
printf("您的英文姓名为:\"%s %-*s\"\n", strLastName, WIDTH - strlen(strLastName) - 3, strFirstName);
return 0;
}运行效果:
3). 要求用户输入当前带宽(MB)以及所需要下载文件的大小(GB), 计算出所需要的时间(小时), 公式为: 需要下载的大小(MB)/(带宽大小/10)=需要的秒数
/*************************************************************************
> 文件名: lesson16.hw.03.c
> 作者: 花心胡萝卜
> 邮箱: hxhlb@hxcarrot.com
> 创建时间: 2016-09-21 16:47:48
************************************************************************/
#include <stdio.h>
#define BASE_MULTIPLES 1024
#define MINUTES_SEC 60
int main() {
int iBandwidth = 0;
double dFileSize = 0.0;
printf("请输入您当前的带宽(MB):\n");
scanf_s("%d", &iBandwidth);
printf("请输入您要下载的文件大小(GB):\n");
scanf_s("%lf", &dFileSize);
double dNeedHours = dFileSize * (double)BASE_MULTIPLES / (double)(iBandwidth / 10)
/ (double)MINUTES_SEC / (double)MINUTES_SEC;
printf("您在带宽为[%d]MB的情况下下载大小为[%g]GB的文件需要的时间为[%.4g]小时!",
iBandwidth, dFileSize, dNeedHours);
return 0;
}运行效果:

4). 使用头文件和宏打印出所有基础类型的最大值和最小值.
/*************************************************************************
> 文件名: lesson16.hw.04.c
> 作者: 花心胡萝卜
> 邮箱: hxhlb@hxcarrot.com
> 创建时间: 2016-09-21 17:20:52
************************************************************************/
#include <stdio.h>
#include <limits.h>
#include <float.h>
int main() {
printf("整数最大值:[%d]\n", INT_MAX);
printf("整数最小值:[%d]\n", INT_MIN);
printf("无符号整数大值:[%u]\n", UINT_MAX);
printf("long整数最大值:[%ld]\n", LONG_MAX);
printf("long整数最小值:[%ld]\n", LONG_MIN);
printf("无符号long整数最大值:[%lu]\n", ULONG_MAX);
printf("long long整数最大值:[%lld]\n", LLONG_MAX);
printf("long long整数最小值:[%lld]\n", LLONG_MIN);
printf("无符号long long整数最大值:[%llu]\n", ULLONG_MAX);
printf("一个字符的位数:[%d]\n", CHAR_BIT);
printf("一个字符最大值:[%d]\n", CHAR_MAX);
printf("一个字符最小值:[%d]\n", CHAR_MIN);
printf("有符号字符的最大值:[%d]\n", SCHAR_MAX);
printf("有符号字符的最小值:[%d]\n", SCHAR_MIN);
printf("无符号字符的最大值:[%d]\n", UCHAR_MAX);
printf("short整数最大值:[%d]\n", SHRT_MAX);
printf("short整数最小值:[%d]\n", SHRT_MIN);
printf("无符号short整数最大值:[%d]\n", USHRT_MAX);
printf("浮点数尾数中的位数:[%d]\n", FLT_MANT_DIG);
printf("浮点数小数点后面精确的位数:[%d]\n", FLT_DIG);
printf("浮点数最大10进制指数:[%d]\n", FLT_MAX_10_EXP);
printf("浮点数最小10进制指数:[%d]\n", FLT_MIN_10_EXP);
printf("浮点数最小值:[%g]\n", FLT_MIN);
printf("浮点数最大值:[%g]\n", FLT_MAX);
printf("浮点数满足x+1.0不等于1.0的最小的正数:[%g]\n", FLT_EPSILON);
printf("也就是说,所有比FLT_EPSILON小的正数x,x+1.0==1.0都是成立的。\n");
return 0;
}运行效果:

如有错误,请提出指正!谢谢.
本文由 花心胡萝卜 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: 2016-10-06 at 03:17 pm

