C语言复习(计算机二级备考)

一 基础知识

!!!注意:注意区分C语言和python之间的语法区别

!!!变量前必须先定义后使用

python使用缩进表示程序结构(再复合语句当中一般需要用到:),C语言一般使用花括号来表示程序结构,使用缩进只是为了程序格式更美观好看

!!!做程序题时先从main函数看起,不是每一行函数都要搞懂,只要把函数要做的部分弄明白即可

1)程序框架

#include<stdio.h>
int main()
{
    /*定义变量
    数据类型 变量名(要符合标识符命名规则)*/
    int a=5;
    return 0;
}

//从main函数开始,也从main函数结束
//建立新项目时选择控制台应用程序

2)标识符命名规则

不能是关键字,只能由字母、数字、下划线构成,且不能由数字开头,区分大小写。标识符命名借名之义。

3)注释

行注释://   块注释: /*  */

4)占位符

%d  输出整型(\n换行) %f  浮点型  

5)关键字

二 数据类型

一)基本数据类型

1)整型

·分类

·存储形式

·定义变量和输出:1.打印格式:%d 十进制整型输出  %o八进制int类型  %x十六进制int类型,小写输出  %X十六进制大写字母输出  %u无符号整型输出

·整数和整除相除得到整数,其余类型数据相除会得到i扩展后的数据类型

2)实型(浮点型)

·注意:e前面必须要有数字,e后面数字必须为整数

·占位符:单精度浮点类型:%f输出float数据,默认保留6位小数,数据会四舍五入,%.2f保留两位小数  双精度浮点类型:%lf

·浮点型数据保留有限位数字,当超过有限位时。可能会丢失

3)字符型

·字符常量(ASCII码:0~255):实际上是将字符对应的ASCII码值存入变量当中。

A~Z:65~90  a~z:97~122

·字符变量:存放字符常量,一个字节,8个比特位,输出占位符:%c输出字符型

·字符串常量

4)字符串类型

1.由双引号括起来的字符串

二)构造数据类型

1)数组类型

(一)一维数组

1.定义:是在内存中的连续相同类型的变量空间,数组必须在编译时定义长度

2.结构:

3.数组赋值:

·直接赋值:如果只是部分赋值,则其他未赋值元素都为0

·通过循环打印

·数组的冒泡排序

(二)二维数组

1.定义

2.打印

3.二维数组操作要使用循环嵌套

(三)字符串类型和字符串比较

1.定义

2.常用形式:字符串用双引号引起,单引号是字符,要注意区分,特别注意:直接用双引号定义字符串时末尾会添加字符串结束标志\0,若其作为二维数组的面的数据时,得到的打印出的数据也直接再遇见\0时结束。

3.字符串的打印输出:若没有\0时输出数组时可能会乱码

4.字符串的输入

5.注意,当字符串由双引号括起来使用时末尾自动带\0结束标志,在数组赋值时,要注意此类现象,当printf函数遇见\0时就结束,所以打印时,只能打印到所赋值的字符串

输入过程注意:scanf函数遇见空格或换行表示结束

2)结构体

3)链表

三 表达式和运算符

一)输入输出函数

1)scanf函数
·函数格式:scanf(''%d",&a),注意别漏了&符号

2)printf函数

二)运算符

1)算术运算符

2)赋值运算符

3)比较运算符

4)逻辑运算符

在判断条件时,若有多条件,则需用到逻辑运算符

5)位运算符

6)sizeof运算符

1.计算数据类型在内存中占的字节大小,格式:sizeof(变量),sizeof(数据类型)。

7)运算符优先级及类型转换

·类型转换:

四 程序结构

一)顺序结构

按顺序执行程序

二)选择结构

1)if语句

2.if-else语句

3.if-else if -else语句

2)switch语句

如果条件符合后没有写break语句,则会一直往下执行,如果没有选择情况,则会到default语句,相当于ifelse结构中的else语句

3)语句嵌套

条件判断语句可以嵌套,循环结构也可以嵌套。嵌套结构:在花括号里面嵌套循环

4)三目运算符和总结

表达式为真时执行值一,表达式为假时是值二,结构为  表达式?值一:值二

三)循环结构

1)for循环语句结构

判断条件要用括号括起来,在括号里面赋初值和写条件

2)while循环

1.while循环结构:判断表达式也用()括起来

2.while循环使用(C语言里面没有整除,整数除整数得出的结果还是整数)

#include<stdio.h>
int main(viod)
{
	int i=100;
	int a, b, c;//判断水仙花数的程序
	while (i < 1000) 
	{
		a = i % 10;
		b = i / 10%10;
		c = i / 100;
		if (a * a*a + b * b*b + c * c *c== i)
		{
			printf("水仙花:%d\n", i);
		}
		i++;
	}
}

3.do-while循环结构

先执行语句,在进行循环判断

3)continue语句和break语句

1.break语句

2.continue语句:

4)循环嵌套

循环也可以嵌套,外层循环执行一次,内层循环执行一周

五 函数

一)函数

1)定义

2)函数的调用

1.导入头文件  2.使用函数

二)函数的定义和使用

1)函数的定义:

为了实现特定功能的代码块

2)函数调用:

函数调用时,若函数定义在主函数后面,则函数要有函数声明,函数声明格式:

int sum(int a, int b);与函数定义时格式相同,函数声明只是进行声明,并不使用,也不用传入参数。

 三)函数基本操作

1)形参和实参:

定义形参时,是类型+名称

2)函数类型和返回值

·类型:有参函数和无参函数

·返回值

·返回值注意事项:返回类型要和函数定义类型相同

3)函数执行流程

1.若函数定义在主函数之后,则在使用函数之前先声明函数

四)局部变量和全局变量

1)局部变量

2)全局变量

五)宏定义和调用

1)宏定义

2)宏定义的常量习惯用大写字母表示,注意点

3)有参数宏定义,一般会加上括号

六 指针

一)地址与指针变量

二)指针操作

1)打印占位符

%p,打印数据的内存地址,地址由十六进制数表示,&符号表示取地址

2)访问内存地址

1.通过变量名访问,2.通过内存地址访问

3)内存地址示意图

三)指针和指针变量

1)指针变量定义

指针变量是存放地址的变量

2)指针定义和使用

指针变量和变量的关系,指针变量是用来存放地址的,指针变量是一种数据类型。int*是一种类型,p是指针变量&是取地址符号,*是取值运算符,%p是打印十六进制地址

3)指针变量和变量的关系

1.打印变量的值

2.通过指针对变量赋值(指针变量间接复制),指针通过*符号间接找到变量a进行赋值操作。

3.指针变量也是一个变量,变量会存储在内存中

4.指针类型所占内存

四)指针作为函数参数

1)函数参数传递方式

1.值传递和地址传递,普通变量:值传递,指针:地址传递

2.值传递:形参不能改变实参的值

3.地址传递:形参可以改变实参的值

2)

七 文件

一)文件操作

二)文件的打开与关闭

1)文件地打开

2)打开模式

3)

八 结构体

一)定义及使用

1)结构体的定义:

2)结构体的修改

3)结构体的使用

4)

二)结构体变量和结构体数组

1)一个结构体变量只能存储一条信息

2)结构体数组:

1.

三)链表基本使用

1)定义

2)

  • 8
    点赞
  • 81
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值