2018秋季C语言学习总结

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秋季我所学的知识总结

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

原文地址:https://www.cnblogs.com/xiao--liang/p/10407039.html

时间: 2024-10-29 21:22:37

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

如何制定一份可实施的2018年大数据学习计划?

我们习惯了"间歇性踌躇满志.持续性混吃等死", 那么2018年快过了一半了,又该做点什么呢? 其实,要想做出改变并非难事,你缺少的只是一个计划(去做).学习大数据分析更是如此,因为大数据是一门综合性的学科,复杂且具有一定系统性,所以大数据的学习更加需要有一个明确的目标和计划,然后按部就班的执行. 那么如何才能制定出一份可行性强的大数据学习计划呢? 我们可以从以下几个方面去制定. 一.目标 首先你需要制定一个明确的你想要实现的长远的目标.比如,半年内学习相关课程,初步掌握大数据基础知识:

2018秋季学期计划

2018秋季学期(计划) 这么多事儿显然做不完 一切以学习法语为优先 不参加任何形式的讨论班.不当助教 自修 类域论 Serre Corps Locaux Milne Class Fields 黎曼流形 Gudmundsson An Introduction to Riemann Geometry 伍鸿熙等 紧黎曼曲面引论 梅加强 黎曼曲面导引 Fourier分析 Folland Fourier Analysis And Its Application 李群 Hall Lie Groups Se

制定一份可实施的2018年大数据学习计划?

如何制定一份可实施的2018年大数据学习计划? 我们习惯了"间歇性踌躇满志.持续性混吃等死", 那么又该做点什么呢? 其实,要想做出改变并非难事,你缺少的只是一个计划(去做).学习大数据分析更是如此,因为大数据是一门综合性的学科,复杂且具有一定系统性,所以大数据的学习更加需要有一个明确的目标和计划,然后按部就班的执行. 那么如何才能制定出一份可行性强的大数据学习计划呢? 我们可以从以下几个方面去制定. 大数据学习交流群:716581014 如何制定一份可实施的2018年大数据学习计划?

大一上学期C语言学习心得总结

经过一个学期的C语言学习,大体算是在这个编程语言上入了门,能够通过一些代码解决特定的问题.当然,每次成功将问题转换成代码都小有激动,虽然只是在黑框上输出了一些数字或是字符串. 编程,虽然还不是很懂,但总感觉不只是学习知识这么简单,更多给我的感受是它在潜移默化中培养了人的一种能力,用自己的话来讲就是一种”代码能力“.对于同一个问题,让大家去解开答案,可能经过一些纸笔的运算都能得出结果,但是如何把这个问题转化成代码,这就是一种能力,而仅仅是将问题转换成代码,这是较为浅层次的能力,更深层的便是通过优化

Perl语言学习笔记 9 正则表达式处理文本

1.替换 s/PATTERN/REPLACE/; #返回是否替换成功的布尔值 可以使用捕获变量,如:s/(\w)/$1/ 匹配失败则不做任何处理 2.定界符 对于没有左右之分的定界符,重复三次即可,如:s///.s### 对于有左右之分的定界符,需使用两对,一对包含模式,一对包含替换字符串,这两对可以不一样,如:s{}{}.s[]{}.s<>[] 3.可选修饰符 /g可进行全局替换,替换所有匹配到的字符串,如:s/ / /g /s:使得 . 匹配所有字符 /i:大小写无关 4.绑定操作符 $f

go语言学习(五)——面向对象编程

主要讲的是"类"和接口&和其他传统语言不一样的地方挺多的,断断续续看了好几天 下面是我的练习代码 // GoStudy0219 project main.go /* go语言学习--面向对象编程(1) go中类型的值语义和引用语义 结构体(类)的定义和初始化 */ package main import ( "fmt" ) func main() { //几种"类"的初始化 v1 := &character{"Tom&q

Perl语言学习笔记 6 哈希

1.哈希的键是唯一的,值可以重复! 2.访问哈希元素 $hashname{"$key"};#哈希为大括号,数组为方括号,键为字符串 $family_name{"fred"} = "firstd";#给哈希元素赋值 3.哈希键支持任意表达式 $foo = "na"; $family_name{$foo."me"};#获取$family_name{"name"}对应的值 4.访问整个哈希 %

JavaScript--基于对象的脚本语言学习笔记(二)

第二部分:DOM编程 1.文档象模型(DOM)提供了访问结构化文档的一种方式,很多语言自己的DOM解析器. DOM解析器就是完成结构化文档和DOM树之间的转换关系. DOM解析器解析结构化文档:将磁盘上的结构化文档转换成内存中的DOM树 从DOM树输出结构化文档:将内存中的DOM树转换成磁盘上的结构化文档 2.DOM模型扩展了HTML元素,为几乎所有的HTML元素都新增了innerHTML属性,该属性代表该元素的"内容",即返回的某个元素的开始标签.结束标签之间的字符串内容(不包含其它

关于c语言学习 谭浩强的书

2007-11-16 13:22:58|  分类: PROGRAMME |  标签: |举报 |字号大中小 订阅 广大有志于从事IT行业的同志们,在你们进入这一行之前千万请看这篇文章!太经典了!对你绝对有启发! 千万别买谭浩强和等级考试的书!!!!!! 整理别人的言论,请大家踊跃讨论!!!!!!!!!!!! 1:书皮上面有那么多的牛人题词,估计也许是自己的水平太低. 2:ANSI只给了两种方式:int main(void) {/*...*/}和 int main(int argc, char *