a.1. 需要成对敲入的符号。
2. 文件名不要出现。号,否则无法生成。c或。cpp文件,所以不能编译和运行。
3. 分号;代表一个语句,只有一个;的语句是空语句,所以下面的**不会报错,但表示若条件成立只执行空语句,并且条件语句结束:
if (a > b);
等价于:if (a > b)
//空语句。
4. 格式化输出中,建议用%#x输出16进制数,前面会带0x,例如。
in x = 15;
printf(“%#x”, x);
结果为0xf
5. if...else if...else语句中只能执行一个分支,即使多个分支中的表达式为真,也只执行第一个为真的分支。
6. 逻辑运算符语句中,可能有的表达式不会执行,例如:
m = 3>2) |k=2)
m = 3<2) &k=2)
其中k=2表达式不会执行。
7. scanf函数中最好不要出现除空格和逗号之外的非格式化控制符,尤其不要使用。在用scanf函数赋值之前,最好进行输入字符的过滤,免得之前输入数据产生影响:
char ch;
while (ch = getchar() n’)
continue;
8. 算术运算中如果有一个为浮点型,则结果也是浮点型,例如:
9. 优先级:
算术》关系》逻辑》赋值(算关逻赋)
10.取余运算符。
如果被除数与除数中有负数,则余数的正负由被除数决定,例如:
11. 自加和自减表达式应避免类似i++与++i的区别,既只单独用自加和自减表达式作为一个语句。
12. 自加和自减表达式只能对整数操作,对浮点数操作可能会出问题,因为浮点数在内存中有时候无法精确存储,例如float 1000.0可能等于999.999999。
13. for和while语句可以相互转换,但for语句的逻辑性更严密,不容易出错,所以尽量选用for循环。
14. 将一个整数val逆序输出:
int val;
int sum = 0;
int m = val;
while (m)
sum = sum*10 + m%10;
m /=10;
printf(“the reversed writing for val is: %d”, sum);
b.1. break只能用来终止距离它最近的for和switch语句,不能用于if,除非if属于循环内部的一个句子。c.d.
e.1. 在用scanf函数获取键盘输入数据后,为过滤掉额外的误输入字符,防止影响后面的数据输入,可以加上下面的语句:
char ch;
while (ch=getchar() n’)
continue;
f.1. 浮点型数据的精度:
float型数据默认为小数点后有6位有效数字,double类型能保证15位有效数字,需要指定小数点后的输出位数,例如:
double a = 1.0;
printf(“%10.9f”, a/3);
g.1. 关系运算符,一共有6个:
前4个的优先级高于后面2个。h.i.
j.k.
l.1. 程序运行的流程:
编译器把c源程序。c翻译成二进制形式的目标程序。obj,然后再将目标程序与系统的函数库以及其他目标程序链接起来,形成可执行的目标程序。
编译:.c或。c++源程序生成。obj目标程序。
链接:将多个。obj链接起来生成。exe文件。
运行:软件请求操作系统,运行链接生成的。exe文件。m.n.
o.p.
1. 判断一个浮点数是否为0的函数:
# include <>
# include <>
bool iszero(float f)
printf("the pi is %9.8lf", 4*sum);
return 0;y.z.
1. 最小公倍数函数:
int least_commultiple(int m, int n)
int i = 1;
while (m*i%n)
i++;return m*i;
2. 最大公约数函数。
int greatest_comdivisor(int m, int n)
int i;
i = m while (m%i ||n%i)
i--;return i;
3. 数值越界:
对于int类型的变量,如果数字过大,则超过的高位字节(例如32位以上)被丢弃,只保留低位字节,如下所示:
int i = 4300000000;
printf("%d", i); 结果为5032704 (4300000000-pow(2,32))
4. 指针变量的值是可以改变的,而数组名代表一个固定的值,不能改变。
5. 字符数组中各元素的值是可以改变的,但字符指针变量指向的字符串常量中的内容是不可以被重新赋值的,例如:
char a house”;
char * b = house”;
a[2] =r合法,因为a[2]本身就是个变量。
b[2] =r不合法,因为b[2]==b+2)==u’,为字符常量,不能对常量赋值。
c语言学习笔记
一元二次方程详解。不管我们写什么样的程序,首先要建起构架。c语言的构架是 include intmain void 我们首先需要把三个系数保存到电脑里面,怎么保存呢?我们会以变量的形式保存到电脑里面。比如说 inta 1 intb 2 intc 3 这个 的意思是赋值的意思,不是相等的意思。什么叫变...
C语言学习笔记
求余 求mod 运算符。变量命名规则 只能以字母数字下划线三种字符组成,且第一个字符必须为字母或下划线。scanf d a prindf d a c语言中,变量名是区分大小写的。int 范围 32768 32768 float的指数部分有8bit 2 8 由于是有符号型,所以得到对应的指数范围 12...
c语言学习笔记
回文数程序。回文数 1234321 12321 费博拉奇序数 1 2,3,5,8,13,21,34 include main void int f1,f2,f3,m f1 1 f2 2 if m 1 f3 1 if m 2 f3 2 else for i 3 i n i f3 f1 f2 f1 f2...