C语言学习第一周(一)

第一天

C语言介绍

C语言是函数式语言,由多个函数构成,每个函数都有自己的功能

一个程序只能有一个主函数,主函数由系统调用,如果程序没有主函数,这个程序将不会被调用,函数只有在调用的时候才会执行,所以主函数的书写必须要规范

程序运行原理

代码编写者编写源代码生成.c文件,通过编译器编译生成能被计算机识别的.o目标文件,通过链接将所有的目标文件和库函数链接在一起生成可执行的.out文件,最后程序执行。

第二天

关键字:数据类型20个,流程控制类型12个一共32个

标识符

标识符的命名规则

1、只能由数字、字母、下划线、美元符号组成

2、不能以数字开头

3、不能与关键字重名

4、要区分大小写

命名规范

1、首先起一个有意义的名字

2、如果标识符由多个单词组成,除第一个单词外其他单词首字母大写即驼峰命名法

注释

注释是为了让其他程序人员看懂你的代码

注释分类

多行注释/**/:多行注释不可以嵌套多行

单行注释//   :单行注释注释范围是//后面的内容,换行以后退出注释范围

数据类型

整型:短整型short占用两个字节 、整型int占用4个字节 、长整型long占用8个字节

二进制数以0b开头、八进制数以0开头、十进制数计算机默认整型为十进制、十六进制以0x开头

实型:单精度占用四个字节、双精度占用八个字节

单精度float以f结尾、双精度double计算机默认实型为双精度

字符型:

char:以‘‘括起的部分,占用一个字节

常量

是不能改变的数据

常量分:整型常量、实型常量、字符型常量

变量

是代表某个内存空间,取值是可以变化的基本单元

基本格式:变量类型 变量名称;

按作用域分

作用域:变量能够使用的范围

局部变量:在函数或者代码块内定义的变量

局部变量作用域:变量定义开始到所在函数或代码块的“}”截止

全局变量:在函数外定义的变量

全局变量作用域:变量定义开始到文件的末尾

printf函数

使用时需要包含“stdio.h”头文件,是C语言的输出库函数

作用:按照一定的规则输出想要的结果

格式:printf("格式控制字符串",输出项列表);

格式控制字符串包含

%d输出整型

%0md是域宽不够则补位0适用于数据自增输出时,例:int num = 1;num++;printf("%02d",num);输出结果是01、02、...、10、11...

%f输出实型

%f精度问题

float类型默认输出小数点后6位,有效数字是7位

double类型默认输出小数点后6位,有效数字15位

%m.nf问题

m代表域宽即输出的数据一共占多少位

n代表输出的小数点后面几位

例如float num = 3.1415926f; printf("%5.2f",num);输出结果是: 空格3.14,因为n为2所以要输出小数点后两位m为5即域宽为5,不够的域宽补位空格因为是+5则从左向右补空所以输出结果是:空格3.14

%c输出字符型

也叫做占位符,与后面的输出项列表的数据类型,个数相对应。

转义字符

"\n":输出一个回车;"\t":输出一个tab;"\\"输出一个\;"%%":输出一个%;等

scanf函数

又称为阻塞式函数,作用是在函数运行后等待用户输入,如果不输入则程序不会执行会一直等待

格式:

scanf("格式控制字符串",输出地址列表);

&取地址符号

使用注意

1、不能指定%m.n格式,但是可以指定%m格式

2、如果数据类型是整型,输入多个tab,空格,回车都会被系统忽略

3、字符型与整型实型混合输入时避免输入空格等会被字符型吸收可能得不到想要的结果,如果有字符型混合时最好原样输入

4、非法输入将得不到想要的结果

第三天

运算符

是告诉编译器执行特定算术或逻辑操作的符号

分类

按功能分:算术运算符、逻辑运算符、关系运算符、按位运算符

按操作数分:单目运算符、双目运算符、三目运算符

算术运算符:+、-、*、/、%(求余)

双目运算符、左结合性、*、/、%优先级3级、+、-为4级

%求余运算符注意:

1、n==0没有意义

2、m==0结果为0

3、m>n正常取余

4、m<n结果为m

5、结果正负性取决于第一个操作数

6、参与运算的操作数必须为整型

复合赋值运算符:+=、-=、*=、/=、%=

双目运算符、右结合性、优先级14级

作用等同于a += b--->a = a + b

关系运算符:>、<、>=、<=、==、!=

双目运算符、左结合性、>、<、>=、<=优先级6级,==、!=优先级7级

运算结果只有真(1)假(0)两种可能

逻辑运算符:&&(与)、||(或)、!(非)

运算结果只有真(1)假(0)两种可能

!:单目运算符 优先级2级,右结合性

口诀:真变假,假变真

&&:双目运算符、左结合性,优先级11级

格式:表达式1&&表达式2,口诀:一假则假

或短路:如果表达式1为假则结果为假所以后面表达式都不再计算

||:双目运算符、左结合性,优先级12级

格式:表达式1||表达式2.口诀:一真为真

与短路:如果表达式1为真则结果为假所以后面表达式都不再计算

赋值运算符:

=:双目运算符、右结合性,优先级14级

sizeof运算符:

sizeof(变量、常量、数据类型);

以字节形式给出操作数的存储大小

单目运算符,右结合性,优先级2级

注意:常量字符型是以字符的asicc码值进行存储的,所以sizeof 字符型常量得到的结果是4个字节

三目运算符(条件表达式):

表达式1?表达式2:表达式3;

计算原理:先计算表达式1如果为真则表达式2的值就是整个表达式的值,如果表达式1为假则表达式3的值就是整个表达式的值

三目运算符,右结合性,优先级13级

自增自减运算符:++、--;

格式:变量++、变量--、++变量、--变量

计算原理:int a = 0;a++;相当于a = a + 1;

前缀表达式:运算符在前面就是前缀表达式,先对变量进行自增自减运算,然后再用变量值作为表达式的值,先变后用

后缀表达式:运算符在后面就是前缀表达式,先用变量的值作为表达式的值,然后再进行变量的自增自减运算,先用后变

注意:自增自减运算符只能作用在变量上

逗号运算符:,

格式:表达式1,表达式2,表达式3;

计算原理:分别计算表达式的值,最后表达式3的值作为整个表达式的值

注意:并不是带有逗号的都是逗号表达式例如int a,b;

时间: 07-18

C语言学习第一周(一)的相关文章

201671010140. 2016-2017-2 《Java程序设计》java学习第一周

   java学习第一周        本周是新学期的开端,也是新的学习进程的开端,第一次接触java这门课程,首先书本的厚度就给我一种无形的压力,这注定了,这门课程不会是轻松的,同时一种全新的学习方式:反转课堂,全新的尝试,忐忑的同时,又对这段新的学习路途充满了期待.         第一章,其实就是对java这门课程学习的一个铺垫和前期热身,第二章则是帮助我们了解并试着运用有关工具及了解java开发环境,通过阅读书本,相关课件,相关工具使用文件,同时在上机操作的过程中逐渐吸收知识.     

JAVA学习第一周博客

20145333 <Java程序设计>第一周学习总结 教材学习内容总结 第一章 Java平台概论 Java三大平台:Java SE.Java EE与Java ME Java SE的四个组成部分:JVM.JRE.JDK与Java语言 JRE包括Java SE API和JVM,JDK包括Java程序设计语言.JRE和开发工具. 如果要运行Java程序,必须安装JRE:如果要开发Java程序,必须要取得JDK. 第二章 从JDK到IDE JVM是Java程序唯一识别的操作系统,对JVM来说,可执行文

Java学习第一周

第一周学习了JDK的安装和环境的配置,初步了解了Java与C的不同之处,学习了Java的变量.基本数据类型.以及面向对象的基础.并且自行完成了一些简单Java程序的编写. (1)学习了为什么使用抽象类,使用抽象类是为了让程序员在继承时不会忘记复写, abstract class Printer { void open() { System.out.println("open "); } void close() { System.out.println("close"

马哥linux运维学习第一周作业

本周作业内容: 1.描述计算机的组成及其功能. 计算机组成按照两大部分 分别为硬件与软件 硬件分为五个部分: <1·控制器 <2·运算器 <3·存储器 <4·输入设备 <5·输出设备 CPU是控制器与运算器的集合,功能是对程序进行控制及对数据的加工 内存与硬盘 数据及缓存数据的存放 主板为 I/O设备的总线 鼠标键盘为 I/O设备 软件分为2个部分 系统软件 指控制与协调外部设备,并支持应用软件的使用.主流的操作系统有Windows.linux.unix.apple ios

GO语言学习第一天——HelloWorld

环境搭建 下载地址: http://golang.so/dl/go1.3.windows-amd64.msi http://golang.so/dl/go1.3.windows-386.msi http://golang.so/dl/go1.3.linux-amd64.tar.gz http://golang.so/dl/go1.3.linux-386.tar.gz 代码编辑工具可选择goeclipse,LiteIDE或者文本编辑器+插件. 简单的示例 helloWorld.go package

第一周命令总结

第一周命令总结 1.感悟 来到马哥教育是一种缘分,见到传说中的马哥也确实激动了一下.来了之后心里比较忐忑,担心自己跟不上.听完马哥开班的一席话,感觉只要这段时间努力,不浪费时间.每天都完成老师布置的作业,多敲实验,多总结,半年后肯定有收获.付出总会有回报的. 2.学习 第一周学习很快就结束了,这一周主要讲的是计算机基础,自己大学学的是计算机,所以基本上都理解,不过有些只是还需要巩固,比如磁盘信息,系统发展史等.首先学习的是安装如何在虚拟机里安装LINUX,如何使用工具进行远程连接管理.安装完成后

20155336 2016-2017-2《JAVA程序设计》第一周学习总结

# 20155336  2016-2017-2<JAVA程序设计>第1周学习总结 ## 教材学习内容总结 开学的第一周,带着些许的欣喜和好奇,听完了老师的第一堂课.说心里话学习JAVA仿佛观看一部英文影视作品一样头疼, 因为总会有许许多多相似的名字让你记得晕头转向.JAVA也是一样,什么JVM啊JRE啊JDK啊 (/(ㄒoㄒ)/~~)  等等一系列 的英文缩写,让人心神意乱~~但总体上对JAVA有了一个初步的了解.通过课上老师的介绍以及课下对JAVA书第一章的浏览, 我简单的了解了JAVA艰辛

20145216 史婧瑶《信息安全系统设计基础》第一周学习总结

20145216 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 Linux基础 1.ls命令 ls或ls .显示是当前目录的内容,这里“.”就是参数,表示当前目录,是缺省的可以省略.我们可以用ls -a .显示当前目录中的所有内容,包括隐藏文件和目录.其中“-a” 就是选项,改变了显示的内容.如图所示: 2.man命令 man命令可以查看帮助文档,如 man man : 若在shell中输入 man+数字+命令/函数 即可以查到相关的命令和函数:若不加数字,那man命令默认从数字较

20145311 《信息安全系统设计基础》第一周学习总结

20145311 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 常用的部分命令 CTRL+SHIFT+T:新建标签页,编程时有重要应用: ALT+数字N:终端中切换到第N个标签页,编程时有重要应用: Tab:终端中命令补全,当输入某个命令的开头的一部分后,按下Tab键就可以得到提示或者帮助完成: CTRL+C:中断程序运行 Ctrl+D:键盘输入结束或退出终端 Ctrl+S: 暂定当前程序,暂停后按下任意键恢复运行 Ctrl+A: 将光标移至输入行头,相当于Home键 Ctrl+E