读书共享 Primer Plus C-part 5

时间:2021-05-16 05:35:29

第五章 运算符、表达式和语句

  1. 关于+- 的一元运算符和二元运算符的区别
    a++:a先创建自身的一个副本,然后a自增1,最后返回副本的值
a+=1: 事实上相当于++a
a=a+1: 虽然有点雷同于a+=1,但不同的是此时右值的a和1做相加操作,形成一个副本然后赋值给a,所以有额外操作
++a:将a自增1并返回a
鉴于a++和++a的差别,C++Primer建议用++a作为for循环的递增量

2.关于除法四舍五入

#include<stdio.h>
#include<string.h>
int main()
{ int a = ;
int b = ;
int c = (int)(a/1.0/b+0.5);
printf("%d \n",c); return ; }

/1.0 在保持值不动的情况下。使得结果是浮点数,同时进行+0.5保持四舍五入效果。

3. 关于运算优先级

关于运算符的结合从右到左(暂时不清楚可能造成什么误解)

第六章 c控制语句:循环

1.何为真何为假

假只有一个0,其他全部是真。

#include<stdio.h>

int main()
{
while(-1.01)
{
printf("this is true\n"); } }

读书共享 Primer Plus C-part 5

2.关于昨天遗留问题--大字符串如何输入

#include<stdio.h>

int main()
{ char ch = getchar();
while(ch != '\n')
{
putchar(ch);
ch = getchar() ; }
putchar(ch);
return ;
}

读入字符串

#include<stdio.h>

int main()
{ char ch = getchar();
char str[] = {};
int i = ;
while(ch != '\n')
{
str[i++]=ch;
// putchar(ch);
ch = getchar() ; }
str[i]=ch;
putchar(ch);
printf("*%s \n",str);
return ;
}

读书共享 Primer Plus C-part 5

第七章 C控制语句:分支和跳转

  • ctype.h

isalpha() 是否是字幕  isalnum() 是否是数字或者数字

isdigit()是否是纯数字  isblank()空格

islower() isupper()大小写

tolower() toupper() 大小写互转--  如果不是对应的小写不转最终输出的是全小写或者全大写

  • switch的存在意义

1.代码简洁 2.速度快

第八章 字符串输入/输出确认

读书共享 Primer Plus C-part 5

文件的读取跟显示

#include<stdio.h>

int main()
{ char ch;
FILE * fp;
fp = fopen("./while.c","r");
if(NULL == fp)
{ printf(" open fail\n"); }
while((ch=getc(fp))!= EOF)
{
putchar(ch);
} fclose(fp);
return ; }