C语言学习笔记系列—第二章

在第一章内容中对C语言安装环境以及编写一个最简单的HelloWorld程序进行了简单介绍。作为学习笔记,本文会更倾向于实践理解。深入概念性问题建议使用参考书进行查找,本文就不进行通篇摘抄。

其次编辑文章也是为了提高自身编程能力,巩固基本功,本着已最简单的方式进行编写(如果上来就堆复杂算法,普通人就劝退了)。

学习参考书籍《C Primer Plus》

1,简单运算

1.1,使用C进行乘法运算

程序样例如下(定义参数较为简单,是不好的习惯,前期便于理解使用):

#include <stdio.h>
int main(void)
{
    int a,b,c;  //定义a,b,c
    a = 2;
    b = 6 ;
    c = a * b;
    printf("a与b的乘积c = %d\n",c);  //其中注意\n是换行符
    printf("a与b的乘积c = %d",a*b);
    return 0;
}

首先本程序声明了多个变量,进行了乘法运算(两种写法)输出了两次结果,分别打印了printf两次。并且引用了注释的写法,也是为了便于读懂程序。

首先声明了多个变量(a,b,c)这三个变量的写法也可以本别声明,写法为 int a; int b; int c;。乘法部分相对就简单了使用了a*b即可,特别注意的是c = a * b这个c不代表等于a*b,而是将a*b的结果赋值给c。剩下进行程序运算结果的输出,两次printf特别强调了两种不同写法。所以说printf()函数说明待打印的值不一定是变量,只要可求值得出合适类型值的项即可,如a*b。

1.2,程序输出结果

1.3,对于C语言运算符号小结归纳

算术运算符

加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(--)

关系运算符

大于(>)、小于(<)、等于(==)、 大于等于(>=)、小于等于(<=)和不等于(!=)

逻辑运算符

与(&&)、或(||)、非(!)三种

以上运算符号仅仅是目前学习程度需要的,C语言还有其他运算符号之后补充(一口气都堆上个人觉得辣眼睛)。

2,多个函数

2.1,两个函数写法

之前的几个程序都只使用了printf()函数。除main()以外,还可以加入自己编写的其他函数。下面是程序样例:

//* 在一个C文件中使用两个函数的程序 */
#include <stdio.h>
void TheReader(void);      /* ANSI/ISO C 函数原型 */
int main(void)
{
    printf("Can you give me a thumbs up?\n");
    TheReader();  //第二次使用TheReader
    printf("All right, well, give it a thumbs up when you think about it\n");
    
    return 0;
}

void TheReader(void)       /* 定义函数内容 (第三次TheReader)*/
{
    printf("Let me think about it!\n");
}

TheReader()函数在程序中出现了3次。第1次是函数原型(prototype),告知编译器在程序中要使用该函数;第2次以函数调用(function call)的形式出现在main()中;最后一次出现在函数定义(function definition)中,函数定义即是函数本身的源代码。在main()中调用TheReader()很简单,写出函数名和圆括号即可。当TheReader()执行完毕后,程序会继续执行main()中的下一条语句。

2.2,程序输出结果

输出内容来自作者自我演绎(哈哈)!

3,关键字和保留字符

对于上面提到的算法中,无论是声明(a,b,c)还是定义一个函数TheReader(),其实都是作者随意编出来的。但是关键字对C而言比较特殊,不能用它们作为标识符(如,变量名)。许多关键字用于指定不同的类型,如int。还有一些关键字(如,else)用于控制程序中语句的执行顺序。如果使用关键字不当(用关键字作为变量名),编译器会将其视为语法错误。

下列是ANSI/ISO C 关键字,不用单独背,之后用到就熟悉了。

auto

break

case

char

const

continue

default

do

double

else

enum

extern

float

for

goto

if

int

long

register

return

short

signed

sizeof

static

struct

switch

ypedef

union

unsigned

void

volatile

while

inline

restrict

_Bool

_Complex

_Imaginary

_Alignas

_Alignof

_Atomic

_Static

_assert

_Noreturn

_Thread

_local

_Generic




4,总结

本章主要介绍了程序的简单运算以及多函数应用。

如有不足或有疑问欢迎各位大佬们指正,同时衷心希望非IT专业的小白们能感受到C语言的魅力所在。


[1] 《C Primer Plus》

原文链接:,转发请注明来源!