C语言程序设计现代方法1,2,3章
1:浮点型(float)运算比int慢,并且可能存在舍入误差
如float存储0.1,以后使用可能会变成0.099999999987
2:宏定义只用大写,这是大多数C程序猿遵循的规范!
C语言区分大小写,,基本遵循在标识符中只使用小写字母的规范
如:symbolTable,currentPage表示,有时也可这样SymbolTable, CurrentPage
3:GCC有多个命令行选项来控制程序检查的彻底程度
-Wall 使编译器在检查到可能的错误时生成警告消息。与-o结合使用
-W 除了-Wall生成的警告消息外,还需要针对具体情况的额外警告消息
-pedantic 根据C标准的要求生产警告信息,可避免在程序中使用非标准特性
-ansi 禁用GCC的非标准特性,并启用一些不太常用的标准特性
-std=c89或-std=c99 指明使用哪个版本的C编译器来检查程序
4:根据C标准,编译器必须用一个空格字符替换每条注释语句
如:a/**/b=0;
可能会变成a b=0的错误
5:
#include <stdio.h>
int main(void)
{
int i;
float x; i=;
x=839.21f; printf("|%d|%5d|%-5d|%5.3d|\n",i,i,i,i);
printf("|%10.3f|%10.3e|%-10g|\n",x,x,x); return ;//注意空行的留取处
}

输出这些东西,负号左对齐,正号右对齐
6:转义字符
\n 换行
\t 制表
\b 退格
\r 回车
\\ 表示反斜杠“\”
\' 表示单引号
\" 表示双引号
\ddd 1到3位八进制所代表的字符
\xhh 1到2位十六进制所代表的字符
printf("\"Hello!\"");输出“Hello!”
+++++++++++++++++++++++++++++++++++++++++
7:scanf
对于以下语句:scanf("%d%d%f%f",&i,&j,&x,&y);
假设用户录入3行
1
-20 .3
-4.0e3
scanf会把他们当做一个连续的数据流:
1 -20 .3 -4.0e3
因为scanf会在寻找每个数的起始位置时跳过空白字符,所以可以成功读取
当输入这一串便一样的时候是否可以正常读取呢?
1-20.3-4.0e3
答案是可以
下面列出了如何读取的:
a:转换说明符%d,第一个非空的输入字符是1;因为整数可以从1开始,所有scanf函数接着读取下一个字符,即 - ,scanf函数识别出 -
不能出现在整数内,所以把1存入变量 i 中,而把字符 - 放回原处
b:转换说明符%d,随后,scanf函数读取字符 - ,2、0和 . 。因为整数不能包含小数点,所以scanf把-20存入变量 j 中,而把字符 . 放回原处
c:转换说明符%f,接下来scanf读取 . 3 和 - 。因为浮点数不能在数字后边有负号,所以scanf函数把0.3 存入变量x中,而把字符 - 放回原处
d:转换说明符%f,最后,scanf函数读取字符 - 4 . 0 e 3 和换行。因为浮点数不能包含换行符,所以,scanf函数把-4.0X10^3存入变量y中,而把换行符放回原处
…………………………
读完了
C语言程序设计现代方法1,2,3章的更多相关文章
- 《C语言程序设计现代方法》第4章 表达式
C语言的一个特点就是它更多地强调表达式而不是语句,表达式是表示如何计算值的公式. 当表达式包含两个或更多个相同优先级的运算符时,运算符的结合性(associativity)开始发挥作用.如果运算符是从 ...
- 《C语言程序设计现代方法》第4章 编程题
1 编写一个程序,要求用户输入一个两位数,然后按数位的逆序打印出这个数. 方法一:没技术含量的 #include <stdio.h> int main() { int high, low; ...
- 《C语言程序设计现代方法》第3章 格式化输入/输出
完整的细节将留到第22章中介绍. 调用printf函数一次可以打印的值的个数没有限制. 注意:C语言编译器不会检查格式串中转换说明的数量是否和输出项的数量相互匹配,也不会检查转换说明是否适合要显示项的 ...
- 《C语言程序设计现代方法》第2章 C语言基本概念
C语言的基本概念 第一个C程序例子. /* pun.c */ #include <stdio.h> int main(void) { printf("To C, or not t ...
- 《C语言程序设计现代方法》第1章 C语言概述
C语言的特点:C语言是一种底层语言.C语言是一种小型语言.C语言是一种包容性语言. C语言的优点:高效.可移植.功能强大.灵活.标准库.与UNIX系统集成. C语言的缺点:C程序更容易隐藏错误.C程序 ...
- 《C语言程序设计现代方法》第2章 编程题
7 编写一个程序,要求用户输入一个美金数量,然后显示出如何使用最少的20美元.10美元.5美元和1美元来付款. 提示:将付款金额除以20,确定20美元的数量,然后从付款金额中减去20美元的总金额.对其 ...
- C语言学习书籍推荐《C语言程序设计 现代方法(第2版)》下载
下载地址:点我 C语言仍然是计算机领域的通用语言之一,但现在的C语言已经和当初的时候大不相同了.本书主要的一个目的就是通过一种“现代方法”来介绍C语言,书中强调标准C,强调软件工程,不再强调“手工优化 ...
- C语言程序设计-现代方法(笔记3)
第十三章 字符串 1.字符串字面量(13.1) 字符串字面量:用一对双引号括起来的字符序列.字符串字面量可以像字符常量一样包含转义字序列. 在字符串字面量中小心使用八进制和十六进制的转义序列. 字符串 ...
- C语言程序设计现代方法_数组(第八章)
C语言不要求检查下标的范围.当下标超出范围时,程序可能会执行不可预知的行为. 看下这个程序: #include <stdio.h> #define N 10 // int main() { ...
- C语言程序设计现代方法_基本类型(第七章)
C语言支持两种不同的数值类型,整数类型,浮点类型. C语言的整数类型有不同的尺寸.int类型通常为32位,但在老的CPU上可能是16位.有些可能是64位. 因此,int型如果在16位CPU上最大值就是 ...
随机推荐
- 【python cookbook】【数据结构与算法】6.在字典中将键映射到多个值上
问题:一个能将键(key)映射到多个值的字典(即所谓的一键多值字典[multidict]) 解决方案:如果想让键映射到多值,需要将这多个值保持到另一个容器如列表或集合中: >>> d ...
- 【python cookbook】【数据结构与算法】3.保存最后N个元素
问题:希望在迭代或是其他形式的处理过程中对最后几项记录做一个有限的历史记录统计 解决方案:选择collections.deque. 如下的代码对一系列文本行做简单的文本匹配操作,当发现有匹配时就输出当 ...
- Erlang-特性
一.模式匹配: 模式匹配作为Erlang的基础,用来完成很多不同的任务:可以用它从数据结构中提取字段值,在函数中进行流程控制,或者当你向一个进程发送消息时,从并行程序刷选那些需要处理的消息: 二.函数 ...
- Positional parameter are considered deprecated; use named parameters or JPA-style positional parameters instead.
这行代码: List<Cat> catList =session.createQuery("from Cat p where p.name.first_name=?") ...
- 快速搭建Redis缓存数据库
之前一篇随笔——Redis安装及主从配置已经详细的介绍过Redis的安装于配置.本文要讲的是如何在已经安装过Redis的机器上快速的创建出一个新的Redis缓存数据库. 一.环境介绍 1) Linux ...
- vlc分析
vlc的主界面对应的代码在vlc-2.2.1\modules\gui\qt4\main_interface.cpp.在相同目录下的qt4.cpp的module模块open函数里边new出实例: /* ...
- Ubuntu中root用户和user用户的相互切换(转)
Ubuntu是最近很流行的一款Linux系统,因为Ubuntu默认是不启动root用户,现在介绍如何进入root的方法. (1)从user用户切换到root用户 不管是用图形模式登录Ubuntu,还是 ...
- 【转】Eclipse插件大全介绍及下载地址
转载地址:http://developer.51cto.com/art/200906/127169.htm 尚未一一验证. eclipse插件大全介绍,以及下载地址 Eclipse及其插件下载网址大全 ...
- man手册中文版实现
1.添加库函数手册 sudo apt-get install manpages-dev 2.让man显示中文 ubuntu源里面已经包含了中文的man包,所以不用从其他地方down了,直接sudo a ...
- uva 816 Abbott的复仇
题目链接:https://uva.onlinejudge.org/external/8/816.pdf 紫书:P165 题意: 有一个最多包含9*9个交叉点的迷宫.输入起点.离开起点时的朝向和终点,求 ...