赞
踩
目录
【1】在printf中,可以在参数之间断为两行,但不要在双引号中的字符串中间断开。
【2】C99和C11标准专门为sizeof运算符的返回类型添加%zd转换说明,对于strlen函数同样适用。在之前的版本中,sizeof和strlen返回的实际类型是unsigned int或unsigned long。
【3】#define后跟标识符。
【4】const修饰不同,则存储的位置不同:
【5】在C语言中,const声明的是变量,不是常量。
【6】printf中的转换说明%a和%A的区别为:显示结果中相关字母是小写(%a)/大写(%A)。
【7】printf中可以使用标记:
- | 左对齐 |
+ | 显示正负的符号 |
空格 | 若为正,则在值前面显示空格;若为负,则值前面显示减号 |
# | 可以显示八进制和十六进制的前缀 |
0 | 用前导0代替空格填充字段宽度 |
【8】printf("%7.2f", n);表示小数点后显示2位,全部位数(包含小数点)占7位。
【9】printf返回值是打印出的字符个数。
【10】scanf返回值是接收的项数。例如,scanf("%d,%d", &n, &m);返回值为2.
【11】scanf的转换说明中,double类型为%lf。
【12】scanf接收字符串时会自动加'\0'。同时,scanf以空格和回车作为间隔,因此scanf不能接收包含空格的字符串。
【13】printf中的*修饰符:通过变量来指定字段宽度。例如,printf("%*d", 7, 15);会显示15且前面有5个空格使得总共占7个字符。
【14】scanf中的*修饰符:跳过相应输入项。
题目1
【1】代码:
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int main() { char name[10]; //保存名 char surname[10]; //保存姓 // 提示用户输入名和姓 printf("请输入用户的名:"); scanf("%s", name); printf("请输入用户的姓:"); scanf("%s", surname); // 以“名,姓”的格式打印 printf("%s,%s\n", name, surname); return 0; }【2】结果:
题目2
【1】代码:
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> int main() { char name[10]; //保存名字 // 提示用户输入名字 printf("请输入用户的名字:"); scanf("%s", name); // 操作a:打印名字,包括双引号 printf("\"%s\"\n", name); // 操作b:在宽度为20的字段右端打印名字,包括双引号 printf("\"%20s\"\n", name); // 操作c:在宽度为20的字段左端打印名字,包括双引号 printf("\"%-20s\"\n", name); // 操作d:在比姓名宽度宽3的字段中打印名字 int width = strlen(name) + 3; printf("%*s\n", width, name); return 0; }【2】结果:
题目3
【1】代码:
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> int main() { float num; scanf("%f", &num); printf("The input is %.1f or %e\n", num, num); printf("The input is %+.3f or %E\n", num, num); return 0; }【2】结果:
题目4
【1】代码:
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> int main() { // 提示用户输入身高(单位:英寸)和姓名 float height; char name[10]; printf("请输入用户身高(单位:英寸):"); scanf("%f", &height); printf("请输入用户姓名:"); scanf("%s", name); // 根据指定格式打印 printf("%s, you are %.3f feet tall\n", name, height); return 0; }【2】结果:
题目5
【1】代码:
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> int main() { // 提示用户输入以兆位每秒(Mb/s)为单位的下载速度 float speed; printf("请输入下载速度(单位: Mb/s):"); scanf("%f", &speed); // 提示用户输入兆字节(MB)为单位的文件大小 float size; printf("请输入文件大小(单位: MB):"); scanf("%f", &size); // 计算下载时间 float time = size * 8 / speed; // 打印下载速度、文件大小和下载时间 printf("At %.2f megabits per second, a file of %.2f megabytes\n", speed, size); printf("downloads in %.2f seconds\n", time); return 0; }【2】结果:
题目6
【1】代码:
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> int main() { // 提示用户输入名 char name[10]; printf("请输入用户的名:"); scanf("%s", name); // 提示用户输入姓 char surname[10]; printf("请输入用户的姓:"); scanf("%s", surname); // 一行打印名和姓,一行打印对应的字母数,且结尾对齐 int len_name = strlen(name); int len_surname = strlen(surname); printf("%s %s\n", name, surname); printf("%*d %*d\n", len_name, len_name, len_surname, len_surname); // 字母个数与相应名和姓开头对齐 printf("%s %s\n", name, surname); printf("%-*d %-*d\n", len_name, len_name, len_surname, len_surname); return 0; }【2】结果:
题目7
【1】代码:
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <float.h> int main() { double num1 = 1.0 / 3.0; float num2 = 1.0 / 3.0; // 打印三次结果 // 第一次:显示小数点后6位数字 printf("num1 = %.6lf, num2 = %.6f\n", num1, num2); // 第二次:显示小数点后12位数字 printf("num1 = %.12lf, num2 = %.12f\n", num1, num2);//float精度不准确了 // 第三次:显示小数点后16位数字 printf("num1 = %.16lf, num2 = %.16f\n", num1, num2); // 显示FLT_DIG和DBL_DIG的值 printf("FLT_DIG = %d, DBL_DIG = %d\n", FLT_DIG, DBL_DIG); return 0; }【2】结果:
题目8
【1】代码:
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <float.h> #define GALLON_TO_LITER 3.785 #define MILE_TO_KILO 1.609 int main() { // 提示用户输入旅行里程和消耗的汽油量 float mile, gallon; printf("请输入里程数(单位:英里):"); scanf("%f", &mile); printf("请输入汽油量(单位:加仑):"); scanf("%f", &gallon); // 计算并显示消耗每加仑汽油行驶的英里数 float mile_per_ges = mile / gallon; printf("消耗每加仑汽油行驶的英里数: %.1f\n", mile_per_ges); // 将单位是英里/加仑的值转换为升/100公里 float liter_per_100kilo = (gallon * GALLON_TO_LITER) / (mile * MILE_TO_KILO * 100); printf("消耗每100公里的燃油量:%f\n", liter_per_100kilo); return 0; }【2】结果:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。