首页 > 编程语言 >C语言程序设计现代方法_读书笔记

C语言程序设计现代方法_读书笔记

时间:2024-10-15 22:21:02浏览次数:7  
标签:字符 转换 读书笔记 格式 C语言 说明 printf 程序设计

C语言程序设计现代方法

第2章 C语言基本概念

(P10)在C语言中,函数仅仅是一系列组合在一起并且赋予了名字的语句。

(P14)一旦变量被赋值,就可以用它来辅助计算其他变量的值。

(P17)C语言的一个通用原则:在任何需要数值的地方,都可以使用具有相同类型的表达式。

(P19)在C语言中,标识符可以含有字母、数字和下划线,但是必须以字母或者下划线开头,C语言是区分大小写的。

(P21)程序布局

  • 语句可以分开放在任意多行内。例如,下面的语句非常长,很难将它压缩在一行内:
    printf("Dimensional weight (pounds): %d\n",
    \(\quad\)(volume + INCHES_PER_POUND - 1) / INCHES_PER_POUND);
  • 空行可以把程序划分成逻辑单元,从而使读者更容易辨别程序的结构。就像没有章节的书一样,没有空行的程序很难阅读。

第3章 格式化输入/输出

3.1 printf 函数

(P28)printf函数的格式串

  • printf(格式串, 表达式 1, 表达式 2, ...);

    格式串包含普通字符和转换说明(conversion specification),其中转换说明以字符%开头。转换说明是用来表示打印过程中待填充的值的占位符。跟随在字符%后边的信息指定了把数值从内部形式(二进制)转换成打印形式(字符)的方法,这也就是“转换说明”这一术语的由来。

(P29)转换说明的说明

  • 更一般地,转换说明可以用%m.pX格式或%-m.pX格式,这里的m和p都是整数常量,而X是字母。m和p都是可选的。如果省略p,m和p之间的小数点也要去掉。在转换说明%10.2f中,m是10,p是2,而X是f。在转换说明%10f中,m是10,p(连同小数点一起)省去了;而在转换说 明%.2f中,p是2,m省去了。
  • 最小栏宽(minimum field width)m指定了要显示的最少字符数量。如果要显示的数值所需的字符数少于m,那么值在字段内是右对齐的。(换句话说,在值前面放置额外的空格。)在m前放上一个负号会导致左对齐。
  • 精度(precision)p的含义很难描述,因为它依赖于转换指定符(conversion specifier)X的选择。

标签:字符,转换,读书笔记,格式,C语言,说明,printf,程序设计
From: https://www.cnblogs.com/poincare1220/p/18468674

相关文章

  • 【C语言】预编译+编译+汇编+链接
    文章目录翻译环境和运行环境翻译环境预处理(预编译)编译汇编链接运行环境接下来是预处理阶段的一系列知识,认真阅读哦预定义符号#define定义常量#define定义宏带有副作用的宏参数宏替换的规则宏函数的对比#和##命名约定#undef命令行定义条件编译头文件的包含嵌套文件包含......
  • C语言——数组超详细版总结
    目录1一维数组1.1一维数组的创建与初始化1.2.1一维数组的创建1.2.2一维数组的初始化1.2一维数组的访问1.3一维数组在内存中的存储2二维数组2.1二维数组的创建与初始化2.1.1二维数组的创建2.2.2二维数组的初始化2.2二维数组的访问2.3二维数组在内存中的......
  • 【C语言】动态内存管理及相关笔试题
    文章目录一、为什么有动态内存分配二、malloc和free1.malloc函数的使用2.free函数的使用三、calloc和realloc1.calloc函数的使用2.realloc函数的使用四、常见动态内存分配的错误五、动态内存经典笔试题题1题2题3六、总结C/C++中程序内存区域划分一、为什么有动态......
  • 【C语言】sizeof
    tmp_buf=(char*)malloc(size)不可以直接使用`sizeof`来查看动态分配内存的大小。在C语言中,`sizeof`操作符是在编译时确定类型或对象的大小,并不能用于动态获取malloc分配的内存大小。下面解释为什么不能用`sizeof(tmp_buf)`查看动态分配的内存大小:1.编译时vs运行时:siz......
  • C语言学习笔记(3)
    提前批第二题:#include<stdio.h>#defineN10voidReadData(inta[],intn);voidPrintData(inta[],intn);voidMaxMinExchange(inta[],intn);voidmain(){ inta[N],n; printf("Inputn(n<=10):\n"); scanf("%d",&n); if(n>0&......
  • C语言学习第二章
    目录1、程序设计1.1、选择结构1.2、循环语句1.3、break(退出)与continue(继续)1.4、goto语句2、例题1、求解1~100的和2、从键盘上输入一个学生的成绩,判断该学生成绩等级:3、完成两个数的四则运算4、输入整数a和整数b,将a时将其反序<>5、从键盘输入一个三位整数,判断它......
  • 基础架构补全—C语言基础入门篇(二)
    前言:    上一篇博客我仅简单对C语言语法基础进行了简单介绍,这次我将对其中遗漏知识进行补全及延申,但冰冻三尺非一日之寒,现在我也只不过是站在C语言的光辉大门前罢了,尚没有彻底迈出一步,希望各位能共励共勉,在接下来的学习中都能,鹏程发韧,培风图南,日进一卒,功不唐捐!1.注释......
  • C语言经典100例-第八题(想提升C语言代码能力的看过来!)
    持续更新!!!1.刷题链接和地址: C语言教程|菜鸟教程 菜鸟教程C语言专栏这里的"C经典100例"(看红色框框)2.解题:2.1读题:题目呢,就是输出99乘法表,就是1*1=12*1=2,然后一直到9*9,也是很简单的一道题目 这个就是输出的结果样式 2.2解题思路:首先呢,我们是不是应该考虑......
  • 【C语言刷力扣】2206.将数组划分成相等数对
    题目:解题思路:    题目中要求元素成数对出现,即每个元素出现偶数次。用哈希表存放每个数出现的次数,再循环查看每个数的次数是否位偶数。typedefstruct{intkey;intcount;UT_hash_handlehh;}hashEntry;booldivideArray(int*nums,intnumsS......
  • 关于我、重生到500年前凭借C语言改变世界科技vlog.4
    文章目录猜数字游戏专题1.随机数生成1.1rand1.2srand1.3time1.4随机数的范围2.猜数字游戏的实现希望读者们多多三连支持小编会继续更新你们的鼓励就是我前进的动力!猜数字游戏专题掌握了前面学习的vlog的知识,尤其是分支与循环,我们可以写一个经典有趣的游戏:猜数......