当前位置: 首页 > article >正文

10.18学习

1.c语言中格式说明符

 %d  或  %i :十进制整数( int  类型)。

 %u :无符号十进制整数( unsigned int  类型)。

 %x  或  %X :十六进制整数(使用小写或大写字母)。

 %o :八进制整数。

 %c :字符( char  类型)。

 %s :字符串( char  类型的数组或指针)。

 %f :浮点数( float  或  double  类型),默认精度为6位小数。

 %e  或  %E :科学计数法表示的浮点数(例如  1.2345e+02 )。

 %g  或  %G :通用浮点数表示,根据数值的大小自动选择  %f  或  %e 。

 %p :指针的值,通常以十六进制形式显示,并带有前缀  0x 。

 %n :读取的字符数(用于  scanf  等函数)。

★长度修饰符

 %h :短整型( short int )。

 %l :长整型( long int )。

 %ll  或  %I :长长整型( long long int ,C99标准)。

 %j :有符号整数类型,至少可以存储  intmax_t  值(C99标准)。

 %z :大小为  size_t  的整数(C99标准)。

 %t :大小为  ptrdiff_t  的整数(C99标准)。

 %L :长双精度浮点数( long double  类型)。

★精度修饰符

 .<number> :指定浮点数的精度,即小数点后的位数。

标志

 + :总是显示正负号。

 - :左对齐输出。

   (空格):显示空格代替正号。

 # :显示替代形式(例如,十六进制数的前缀  0x  或  0X ,八进制数的前缀  0 )。

 0 :用零填充空白位置。

示例

printf("Integer: %d\n", 10);

printf("Unsigned: %u\n", 10);

printf("Hex: %x\n", 10);

printf("Octal: %o\n", 10);

printf("Character: %c\n", 'A');

printf("String: %s\n", "Hello");

printf("Float: %f\n", 3.14159);

printf("Exponential: %e\n", 3.14159);

printf("General: %g\n", 3.14159);

printf("Pointer: %p\n", &i);

printf("Long int: %ld\n", (long int)10);

printf("Long long int: %lld\n", (long long int)10);

printf("Precision: %.2f\n", 3.14159);

 

2.scanf的用法

int scanf(const char *format, ...);

 format :一个格式字符串,指定了输入值的预期类型和顺序。

 ... :可变参数列表,表示要填充的变量的地址。

 scanf 函数会根据格式字符串中的格式说明符来读取输入,并将其转换为相应的数据类型,然后存储在提供的变量中。

注意事项

①scanf 函数返回成功读取的输入项数量,如果遇到错误或到达文件末尾,则返回 EOF 。

②使用 scanf 时,应该总是检查返回值,以确保输入成功。

③scanf 不会跳过空白字符,如空格、制表符或换行符。如果需要跳过这些字符,可以在格式字符串中使用空格。

④scanf 不检查变量的大小,如果输入的数据超出变量的存储能力,可能会导致缓冲区溢出。

⑤对于字符串输入, scanf 会在遇到空白字符时停止读取,因此如果输入中包含空格,应该使用 fgets 函数代替。

由于 scanf 的这些限制,现代C编程中更推荐使用 fgets 和 sscanf 等函数来处理输入,因为它们提供了更好的控制和安全性。


http://www.kler.cn/news/355247.html

相关文章:

  • [Linux] 创建可以免密登录的SFTP用户
  • 单片机常见的存储器
  • Tomcat的下载安装与使用
  • Ubuntu 22.04静态IP的修改
  • 2024最新R语言结构方程模型(SEM)在生态学领域中的实践应用
  • 微信小程序UI自动化测试实践(Minium+PageObject)
  • css的思考
  • 《PyTorch深度学习快速入门教程》学习笔记(第16周)
  • 550,游戏玩法分析四
  • Lumerical学习——优化和参数扫描(Optimization and parameter sweeps)
  • LeetCode:1884. 鸡蛋掉落-两枚鸡蛋(dp Java)
  • Java面经--JVM篇
  • 【存储设备专栏 2.2 -- linux 下 fdisk -l 命令详细介绍2 】
  • 【计算机网络】IPv4地址的表示方法
  • Nest.js 实战 (十四):如何获取客户端真实 IP
  • taro+taro-ui学习
  • RK3588的demo板学习
  • 【GPT提问技巧】如何高效提问GPT:掌握核心技巧,获取高质量回答的终极指南!
  • manjaro kde 24 应该如何设置才能上网(2024-10-13亲测)
  • 【论文速读】Adapter tuning:Parameter-Effificient Transfer Learning for NLP