2018秋季开始学习c语言

1.printf格式化输出函数

2.基本数据类型,int整型,float浮点型,double双精度浮点型,char字符型

3.算数运算符

+加法,-减法,*乘法,/除法,%求余,对于整数间的除法是采取直接舍弃小数部分的方式,而不是什么四舍五入噢。

对于浮点数间的除法则能获得一个相对逼近结果的值(如果除不尽或位数特别多的话)。

百分号(%)在这里是表示求余数的意思,但求余运算符要求两边的操作数都要是整数,其结果也是整数。

当一个运算符的几个操作数类型不同时,编译器需要将它们转换为共同的某种数据类型,才能进行运算。通常情况下,编译器会将占用坑位比较小的操作数,先转换为与坑位较大的操作数的相同类型,然后再进行运算。这样做的目的就是为了确保计算的精确度。

除了编译器帮你自动转换不同类型的操作数之外,C 语言还允许你强制转换操作数的数据类型。做法就是在操作数的前边用小括号将目标数据类型括起来。

4.关系运算符

<小于,<=小于等于,>大于,>=大于等于,他们几个优先级相同但比后面几个优先级高,==等于,!=不等于,这两个优先级相同

逻辑运算符,!非,&&与,||或,优先级依次前面高于后面

5.分支语句,

if语句

if语句的几种表达示例;

第一种

…… // 其它语句
if (表达式)
{
…… // 逻辑值为真所执行的语句、程序块
}
…… // 其它语句

第二种

…… // 其它语句
if (表达式)
{
…… // 逻辑值为真所执行的语句、程序块
}
else
{
…… // 逻辑值为真所执行的语句、程序块
}
…… // 其它语句

第三种

…… // 其它语句
if (表达式1)
{
…… // 逻辑值为真所执行的语句、程序块
}
else if (表达式2)
{
…… // 逻辑值为真所执行的语句、程序块
}
else if (表达式3)
{
…… // 逻辑值为真所执行的语句、程序块
}
.
.
.
else if (表达式n)
{
…… // 逻辑值为真所执行的语句、程序块
}
else
{
…… // 逻辑值为真所执行的语句、程序块
}
…… // 其它语句

6.switch语句和分支嵌套,处理多分支结构,可以使用switch

…… // 其它语句
switch (表达式)
{
case 常量表达式1: 语句或程序块
case 常量表达式2: 语句或程序块
……
case 常量表达式n:语句或程序块
default: 语句或程序块
}
…… // 其它语句
复制代码

这里每个 case 后边的常量是匹配 switch 后边表达式的值

case 后边必须跟一个常量值,而不能是一个范围

如果所有的 case 均没有匹配的,那么执行 default 的内容

default 是可选的,如果没有 default,并且所有的 case 均不匹配,那么 switch 语句不执行任何动作

switch 语句中的 case 和 default 事实上都是“标签”,用来标志一个位置而已。当 switch 跳到某个位置之后,就会一直往下执行,所以我们这里还需要配合一个 break 语句,让代码在适当的位置跳出 switch。

分支的嵌套:如果一个if语句中包含另一个if语句,这个就是if语句的嵌套

悬挂else;

……
if (x == 0)
if (y == 0)
error();
else
z = x + y;
……

这个程序本身没有错误,但是因为C语言规定else会与它离得近的if结合

这个程序应该是这样:

if (x == 0)
{
if (y == 0)
{
error();
}
}
else
{
z = x + y;
}
……

while语句,只要表达式为真,那么就会不断执行循环体里面的语句或程序块

do...while语句,他和while差不多,前一个是先判断结果为真,才执行循环体,后一个是先执行一次循环体,再判断表达式是否为真

for语句

for (表达式1; 表达式2; 表达式3)
循环体

三个表达式用分号隔开,其中:

表达式1是循环初始化表达式

表达式2是循环条件表达式

表达式3是循环调整表达式

表达式1,2,3都可以进行省略,但分号不能省,程序的可读性也会降低

循环嵌套

循环结构跟分支结构一样,都可以实现嵌套。

对于嵌套的循环结构,执行顺序是从内到外:先执行内层循环,再执行外层循环。

break 语句

那么在循环体中,如果我们想要让程序在中途跳出循环,那么我们同样可以使用 break 语句来实现。

执行 break 语句,直接跳出循环体。

有一点需要注意的是,对于嵌套循环来说,break 语句只负责跳出所在的那一层循环,要跳出外层循环则需要再布置一个 break 语句才行。

continue 语句

当满足某个条件的时候,跳过本轮循环的内容,直接开始下一轮循环。这时候我们应该使用 continue 语句。

当执行到 continue 语句的时候,循环体的剩余部分将被忽略,直接进入下一轮循环。

对于嵌套循环来说,continue 语句跟 break 语句是一样的:它们都只能作用于一层循环体。

for 语句和 while 语句执行过程的区别

for 语句和 while 语句执行过程是有区别的,它们的区别在于出现 continue 语句时。

在 for 语句中,continue 语句跳过循环的剩余部分,直接回到调整部分。

在 while 语句中,调整部分是循环体的一部分,因此 continue 语句会把它也跳过。

7.函数

C语言中为我们提供了很多函数例如printf就是

函数的定义

C语言要求函数必须“先定义,再调用”,定义函数的格式如下:

类型名 函数名(参数列表)

{

函数体

}

类型名就是函数的返回值,如果这个函数不准备返回任何数据,那么需要写上 void(void 就是无类型,表示没有返回值)。

函数名就是函数的名字,一般我们根据函数实现的功能来命名,比如 print_C 就是“打印C”的意思,一目了然。

参数列表指定了参数的类型和名字,如果这个函数没有参数,那么这个小括号写一个void即可((void))。

函数体就是指定函数的具体实现过程,是函数中最重要的部分。

函数一般先声明,定义,再调用

定义函数代码例子:

写一个sum,用户输入n,计算1+...+n的值

#include <stdio.h>

int sum(int n);

int sum(int n)
{
int result = 0; do
{
result += n;
} while(n-- > 0); return result;
} int main(void)
{
int n; printf("请输入n的值:");
scanf("%d", &n); printf("1+2+3+...+(n-1)+n的结果是:%d\n", sum(n)); return 0;
}

ok以上就是2018秋季我所学的知识总结

因为这个时候电脑没到位,所以代码打的比较少,但是代码一般看的懂,也会读代码,这个学期多打点代码

2018秋季C语言学习总结的更多相关文章

  1. 2018秋季c语言基础课第一次作业

    1)大学和高中最大的不同是没有人天天看着你,请看大学理想的师生关系是?有何感想? 答:邹欣老师提到了很多种关系,不外呼就是两种:平等或者不平等.平等的师生关系与陌生人无异,而自古以来尊师重道却被世人所 ...

  2. 2018秋季C语言基础课第1次作业

    1.翻阅邹欣老师博客关于师生关系博客,并回答下列问题: 1)大学和高中最大的不同是没有人天天看着你,请看大学理想的师生关系是?有何感想? 答:是  Coach / Trainee (健身教练 / 健身 ...

  3. Groovy语言学习--语法基础(1)

    2018年11月末,从上家公司离职后进入现在的公司.进入项目以来,发现项目中有很多groovy脚本,以前没接触过groovy,抽时间系统地学一下,也方便后期项目的开发和维护. groovy和java的 ...

  4. 《C# 语言学习笔记》——定义属性

    属性定义的方式与字段类似,但包含的内容比较多. 属性拥有两个类似于函数的块,一个块用于获取属性的值,另一个块用于设置属性的值.这两个块也称访问器,分别用于get和set关键字定义,可以用于控制对属性的 ...

  5. 《C# 语言学习笔记》——委托

    委托是一种可以把引用存储为函数的类型. 委托的声明非常类似于函数,但不带函数体,且要使用delegate关键字.委托的声明制定了一个返回类型和一个参数列表. 在定义了委托后,就可以声明该委托类型的变量 ...

  6. C语言学习 第八次作业总结

    本次作业其实没有新的内容,主要就是复习上一次的一维数组的相关内容.冯老师布置了5道题目,其中涉及到一些比较简单的排序或者是查找的方法.因为数据很少,所以直接使用for循环遍历就可以了. 关于本次作业, ...

  7. C语言学习 第七次作业总结

    C语言学习 第七次作业总结 数组可以分为数组和多下标数组(在传统的国内C语言书本中,将其称为二/多维数组). 数组名称 在之前的课程中,大家应该都有印象,对于int a这样的定义,会为变量 a 声明一 ...

  8. 技能收获与C语言学习

    你有什么技能比大多人(超过90%以上)更好? 我会的东西很多,喜欢的东西太多,但是很遗憾广而不专,会而不精.学了很多东西我都是为了娱乐,因为以前我们那里过于强调学习,很多爱好也都被扼杀在摇篮里.我觉得 ...

  9. 一份关于Swift语言学习资源的整理文件

    一份关于Swift语言学习资源的整理文件     周银辉 在这里下载 https://github.com/ipader/SwiftGuide

随机推荐

  1. Shell命令-文件压缩解压缩之gzip、zip

    文件及内容处理 - gzip.zip 1.gzip:gzip压缩工具 gzip命令的功能说明 gzip 命令用于压缩文件.gzip 是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多出 .gz ...

  2. docker基础维护命令

    docker images显示当前存在的images docker ps,显示当前的container docker rm containerId 删除指定的container(需要先停止,才能删除) ...

  3. C. Multi-Subject Competition 思维+前缀和+填表加减复杂度(复杂度计算错误)

    题意: 给出n个学生 m类题目 每个人会做s[i]类的题 并且做这个题的能力为r[i]  组成一个竞赛队 要求可以选择一些题目  在竞赛队中 擅长每一个题目的 人数要均等  求max(sigma(r[ ...

  4. Android学习第十天

    计算机表示图形的几种方式 a)         Bmp:以高质量保存,用于计算机 b)         Jpg:以良好的质量保存,用于计算机或网络 c)         Png:以高质量保存 d)   ...

  5. 【APIO2016】【UOJ205】【LOJ2568】烟花表演 可合并堆

    题目大意 有一棵树,每条边都有一个边权,现在你要修改边权,使得修改后根到所有叶子的距离相等. 要求所有边权非负. 修改的代价为\(\lvert\)每条边修改前的边权\(-\)修改后的边权\(\rver ...

  6. SpringBoot2.0初识

    核心特性 组件自动装配: Web MVC , Web Flux , JDBC 等 激活: @EnableAutoConfiguration 配置: /META_INF/spring.factories ...

  7. 浏览器开发者工具----F12 功能介绍

    笔者技巧: 看了些其它回答,有些是用来扒图片的,有些是写爬虫的(这个不要看Elements,因为浏览器会对一些不符合规范的标签做补全或者其它处理,最好是Ctrl+U). 图片的话就不要看Network ...

  8. utf8的大小写敏感性测试及其修改方法

    utf8的大小写敏感性测试及其修改方法 # 测试utf8的大小写敏感性及其修改方法 -- 以下是utf8不区分大小写 # 修改数据库: ALTER DATABASE database_name CHA ...

  9. mysql快速生成批量测试数据

    mysql快速生成批量测试数据 参考资料: https://blog.csdn.net/oahz4699092zhao/article/details/53332148 -- 创建一个临时内存表 ; ...

  10. Fiddler--AutoResponder

    AutoResponder支持创建规则,可以在响应请求时自动触发,常见例子是返回之前捕捉的响应,而不需要访问服务器. 通俗点讲,就是它能在不访问服务器的情况下,使发送的请求得到自己设置的响应. 下图是 ...