初学C语言小白总结1

关于我

我的方向是凝聚态物理,主要的研究内容是第一性原理计算,所以老师对于C语言有一定的要求。但是我之前没有学过C语言,所以想寒假学习下。我的博客就记录我的学习过程。
我一直是跟着CSDN的博主: 编程反思录
他的微信公众号是: 不会编程的程序圆
他开了一个C语言基础学习课程,我也在按部就班的跟着学习,一下的内容就是我前四章的学习总结。今天总结的内容分成两个部分,一部分是C语言基础概念总结,主要是通过编程反思录博主的教学例子,学到C语言的基础知识。另一部分就是编程反思录博主的课堂练习题总结的自己容易犯得错误。

C语言基础概念总结

我学习的第一个程序:

  #include //指令;函数头
  
  int main(void){ //函数;函数头
  
  printf("Hello,World\n"); //语句,打印字符串printf函数

  return 0 ;//表示程序终止
  }

程序输出结果:Hello,World

1. 指令----放在程序编译之前,作预处理。

#include----把头文件stdio.h中的所有内容都输入该位置。
include文件----共享许多程序共有的信息。
stdio.h-----包含了输入和输出函数。

2. 函数
C语言里的函数有两种,一种是程序员自己编写的函数,另一种就是C程序提供的函数,可以直接使用,也称库函数。

int main(void)
return 0

main函数----C程序是从main () 函数开始执行。main函数是程序唯一的入口;
int -----int 是main函数的返回类型,这表明main函数的返回值是整型;
()-----括号内包含的信息是函数的参数;
void-----表示是该例中没有传入参数;
renturn-----表示main函数在这里结束;
0-----main函数返回值是0,表示程序正常终止。
总结:C程序是从main () 函数开始运行到main () 函数结尾结束。main () 函数的返回类型是 int。程序向操作系统返回0,表示程序正常终止。

printf(“Hello,World\n”)

printf-----打印字符串函数,就是程序结束后可以输出内容;
“ ”-----双引号里就是打印的内容;
\n-----表示换行的字符。

我学习的第二个程序

  #include//函数头
  int main(void){  //函数头

  int height=168;//初始化赋值;声明;函数体
  int weight;//定义变量名weight;声明;函数体
  
  weight=120;//赋值表达式语句;语句;函数体
  printf("我的体重是:%d\n,身高与体重的比是:%d",weight,height/weight);//语句;函数体

  return 0;//函数体
  }

程序的输出结果:
我的体重是120
身高与体重的比是:1

3. 格式
就书写格式,编程反思录博主建议,将所有的声明全部放在函数体头部,声明与语句空出一行。

4. 声明-----定义变量名,格式为:数据类型+变量名。
int weight------定义变量名weight ,输入的类型int ,表明是整数型。
int height=168------区别于上面的变量名声明,它是在输入变量名的同时,对变量名进行赋值。是初始化赋值声明。

5. 语句-----程序执行命令的语句。
weight=120-----赋值式表达语句,将变量名weight赋值为120。
printf(“我的体重是:%d\n,
身高与体重的比是:%d”,weight,height/weight)
-----
对比第一个例句中的printf语句,这里复杂了多,但是这里完整的给我们展示了一个复杂的printf语句的表达形式。
" "-----双引号里,仍然是输出的内容,注意这里出现了%d,程序输出的结果没有%d。
%d-----是占位符,通过输出结果,我们知道%d就是代表程序要输出的结果值。
weight,height/weight-----引号外面用逗号隔开的是变量名和变量表达式。每一个%d是和引号后面出现的变量名、表达式是一一对应的。

编程反思录课堂习题总结

在写总结之前,我想告诉大家,做练习题的时候,一定要做完一题就对比答案检查自己的错误。我当时是想一下子把所有的题目都做完,有时候做一道题我都要浪费一个小时的时间。不要把自己想的过于聪明,觉得自己的逻辑是自洽的。
当时我还咨询了编程反思录博主,觉得自己进展的太慢。他提醒我编程的前期是要模仿正确的答案。在答案中才能找到自己是哪里不足,不是一味的闷着头去做题。

6.书写问题:常犯的错误

大家可以看下我常犯的书写错误,防止自己在细节上马虎。

  #include//这里出错误的地方有两处,studio 改为 stdio,c改为 h.
  int main(){//main 函数正确的书写方式:main(void)
  
  printf("小黄/n")//两个错误,换行符应该是\n,/在编程里是除,还有就是语句后面加;

  return0//这里的错误是return与0之间应该有空格,还有就是分号;也忘记加了
  }

上面这些犯的小错误,虽然看起来没什么重要的,但是在前期自己不看例题,自己编程的时候,经常出错。
还有就是书写规则,为了能让自己的思路清晰,方便自己以后查看,应该声明都放在语句的前面,中间加一个空行。
最重要的是在做题的过程中一定要看清题目给出的输出结果是什么,我经常会忽略题目要求输出一些不起眼的符号。即使是输出来两句话,跟题目要求有一个空格的差别,我觉得也是不行的。作为一个程序员,前期学习的过程一定要前后逻辑严谨,要对自己的程序要求严格。

接下来是两道我错误最多的例题。
7.根据公式求输出结果
题目:编写一个计算球体积的程序,根据公式:v=4/3πr^3,其中r=10cm,注意分数4/3应该写成4.0f/3.0f 。
错误程序
初学C语言小白总结1_第1张图片
正确程序

  #include
  int main(void){

  float r,pi,r2,r3;

  r=10.0f;
  pi=3.1415926f;
  r2=r*r;
  r3=r2*r;

  printf("v=%fcm^3\n",(4.0f/3.0)*pi*r3);//引号里面是要打印出来,引号外面可以是表达式,变量

  return 0;
  }

程序运行的结果:v=41.887871cm^3

分析思路

  1. 在这一题中根据公式,求结果,我们要注意输出的时候,并不是要把整个公式输出,而是只要输出结果。所以我们要将公式作为表达式,放在printf函数的后面,而不是写在前面的双引号里面。
  2. 在这一题中,题目已经给出了建议就是分数的表达,int是整型,而float是小数型。所以前面定义变量名的时候使用的是float。(float函数,编程反思录楼主的学习干货里有详细讲解)

8.不提供公式,需要公式计算输出值
题目编写一个程序,要求用户输入一个美元金额,然后显示出增加5%税率后相应的金额,格式如下:
Enter an amount: 100
With tax added: $105.00
错误程序
初学C语言小白总结1_第2张图片
正确程序

  #include
  int main(void){

  int input;

  printf("Enter an amount:");
  scanf("%d",&input);
  printf("With tax added:$%.2f",(1+0.05)*input);

  return 0;
  }

程序运行结果:
Enter an amount:100
With tax added:$105.00

分析
1.这道题我的错误非常多,首先我的程序书写不够规范,可以明显看到我在定义变量名的时候,没有放在一起,而是写着想到再需要一个变量名,没有回到顶部输入变量名。虽然不是什么很大的问题,但是书写规范,能够节省我们理解程序的时间。
2.从输出结果上,我没有严格遵守题目的条件输出,而且在写完错误的程序后,根本没有意识到自己的错误。
3.我们可以根据输出结果,看到自己编写程序的错误。这道题教的是学会scanf函数的应用(具体内容在编程反思录楼主的文章里)。而我错误的输出内容可以看到多了一个100,这也是我没有理清printf()和scanf()在这道题中的顺序。

以上就是我这几天学习总结。对于初学者来说,学会理解基础例题很重要。很多生涩的基础概念,我们可以在例题中明白每一条指令、语句的作用。其次就是要配合练习题学习,在做题目的过程中,一定要及时总结自己的问题。对于经常出错的题目,要自己反复多做几遍。这样才能在反复的练习中,纠正自己思路,改善我们的书写方法。

最后非常感谢编程反思录楼主,希望自己能一直跟进楼主的教学。另外,非常感谢楼主的不辞辛苦和厌烦的指导我,希望楼楼能被更多人关注!下面是楼主的账号名字,期待和更多的伙伴一起学习!
CSDN的博主: 编程反思录
微信公众号是: 不会编程的程序圆

你可能感兴趣的:(C学习)