《C Primer Plus》第六版笔记--4~6章
虽然匆匆忙忙,但还是要做笔记,虽然大概都知道......
挑一些容易忘记的地方
第四章 字符串和格式化输入/输出
- C语言没有专门储存字符串的变量类型,字符串通常被存储在char类型的数组中,字符串在末尾会有一个空字符\0,一种非打印字符,ASCⅡ码是0。C语言中字符串一定以空字符结束,这意味着数组的容量至少比存储字符串的字符数多1。通常可以用'\0'字符来作为遍历字符串的结束条件。
strlen()
函数可以给出字符串的字符长度,包含在string.h的头文件内- sizeof与strlen的区别:sizeof会算出数组占用的总储存空间,strlen会算出数组内用来储存字符串的储存空间数
#define
通常用于设定常量,用法:#define MONEY 100
意思是MONEY就是一个常量,数值为100,没有分号和'='号。C90标准新增了个const
,用于限定一个变量为只读,用法:const int Pen = 1.5
,用法较#define
更为灵活printf
函数的转换说明与各自输出类型
转换说明 | 输出 |
---|---|
%a | 浮点数、十六进制数和p计数法(C99/C11) |
%A | 浮点数、十六进制数和p计数法(C99/C11) |
%c | 单个字符 |
%d | 有符号十进制整数 |
%e | 浮点数,e计数法 |
%E | 浮点数,e计数法 |
%f | 浮点数,十进制计数法 |
%g | 根据值的不同,自动选择%f或%e。%e格式用于指数小于-4或者大于等于精度值 |
%G | 根据值的不同,自动选择%f或%e。%e格式用于指数小于-4或者大于等于精度值 |
%i | 有符号十进制整数(与%d相同) |
%o | 无符号八进制整数 |
%p | 指针 |
%s | 字符串 |
%u | 无符号十进制整数 |
%x | 无符号十六进制整数,采用十六进制数of |
%X | 无符号十六进制整数,采用十六进制数oF |
%% | 打印一个百分号 |
第五章 运算符、表达式和语句
while
语句在使用中,首次到达while循环时,会先去判断括号内条件的情况,括号中内容为真即可开始循环的语句- 运算符优先级:
运算符优先级(从高到低)
运算符 | 结合律 |
---|---|
() | 从左往右 |
+ - (一元) | 从右往左 |
* / | 从左往右 |
+ - (二元) | 从左往右 |
= | 从右往左 |
- ++i比i++效率更高
- 形参与实参
形参:变量
实参:函数调用提供的值
#include <stdio.h>
void pound(int n);// ANSI函数原型
int main()
{
int times = 5;
char ch = '!';//ASCII码是33
float f = 6.0;
pound(times);
pound(ch);
pound(f);
getchar();
return 0;
}
void pound(int n)
{
while (n-- > 0)
printf("#");
printf("\n");
}
第六章 C控制语句:循环
_Bool
使用
_Bool
类型的变量只能储存1(真)和0(假)
#include <stdio.h>
int main(void)
{
long num;
long sum = 0L;
_Bool input_is_good;
printf("Please enter an integer to be summed");
printf("(q to quit): ");
input_is_good = (scanf_s("%ld", &num) == 1);
while (input_is_good)
{
sum += num;
printf("Please enter next integer (q to quit): ");
input_is_good = (scanf_s("%ld", &num) == 1);
}
printf("Those integers sum to %ld.\n", sum);
getchar();
getchar();
getchar();
return 0;
}
C99标准提供了stdbool.h
的头文件,可以用bool
作为_Bool
的别名
OK,这里就是4~6章的大概的重难点啦,祝大家双十一快乐:)
作者:Dragonet-Z
出处:https://www.cnblogs.com/dragonet-Z/p/14689219.html
版权声明:本博客所有文章除特殊声明外,均遵循BY-NC-ND许可协议,转载请注明出处!