200718C语言及C程序概念

1、当天学习的知识点

C语言

C语言是面向过程的结构化的程序设计语言,中级语言,既能编写系统软件,又能编写应用软件

优点

  1. 语法简洁,紧凑,灵活,关键字少(32个关键字)
  2. 运算符丰富,算术运算符、逻辑运算符(与或非)、关系运算符(大于等于小于)
  3. 结构化:体现在函数上,每个函数都是独立的块
  4. 数据类型:int char void 浮点型 数组 指针 结构体;结构体可以让用户自己决定存储什么数据,里面可以有各种类型的数据
  5. 能够直接对硬件和内存进行操作:(指针)
  6. 和高级语言相比,代码质量和效率高
  7. 移植性好 在windows和linux都可以运行
  8. 语法限制不严格:数组下标不会显示越界问题

C程序

  1. 工程名不能出现中文
  2. 整个程序除了注释其他全部使用英文输入法输入
  3. 新建.c源文件时,文件名要加.c,否则默认建立.cpp文件
  4. 程序执行是从上往下
  5. 变量、函数、标签和其他用户定义的对象的名称都称为标识符;
  6. 标识符1、由字母、数字、下划线组成。2、不能由数字开头。3、区分大小写。4、不能和关键字重名。5、不能与系统内置的标识符重名
  7. 变量的定义语句放在函数体的最前面

gcc编译

  1. 运行过程:.C源文件 --> 预处理 --> compile编译 生成.obj文件,可以检查有无语法错误 --> 汇编–>链接–>生成.exe可执行文件;
  2. 预处理:以#号开头的语句 都是在预处理阶段处理。gcc -E xx.c 生成 xxx.i 文件
  3. 编译:生成汇编文件 gcc -S xxx.i 默认生成 .s 后缀的汇编文件
  4. 汇编:对汇编文件进行汇编。gcc -c xxx.s 生成 .o目标文件
  5. 链接:生成可执行文件。gcc xxx.o -o xxx 生成 xxx.out可执行文件
  6. 分号;是语句的一部分,每个C语言都以一个分号结束。

make编译

C数据类型

变量

变量存在的意义:方便管理内存;每一段内存都有地址编号,每个地址编号内可以存放数据,变量名相当于地址编号,通过变量名得到数据
变量的作用:给一段指定的内存空间起名;方便操作这段内存

常量

作用:用于记录程序中不可更改的数据
常量的定义方式

  1. #define 宏常量
  2. const修饰的变量

数据类型

  1. int型数据在32位系统中占用32位(4个字节)的内存空间,在16位系统中占用16位(2字节)空间
  2. float型数据有效数字6位,占用32位(4个字节)的内存空间,例3.14159
  3. double型数据有效数字17位,占用64位(8个字节)的内存空间。
  4. char型数据占用1字节的内存空间,
  5. char<int=long int=float<double=long double
  6. 八进制整型常量以0开头:023、0101; 十六进制:以0x开头
#include<stdio.h>//预处理命令 引入这个文件
//#include甚至不是C语言的语句,开头的#,表明这一行是在编译器接手之前先由C预处理器处理的语句。
//stdio.h:放置的是c语言中的标准输入输出头文件
#define NUM 8  //宏定义 定义常量
int sum(int a,int b);  //函数声明:函数首部加;
int count=10;//全局变量声明

//main()函数是程序的入口,整个工程有且只能有一个,()表明main()是个函数
int main()  //int指明main()函数的返回类型,返回值返回给操作系统,告诉操作系统函数执行成功或失败。
{
	int num=100;//定义变量:向系统申请内存空间,空间大小由 数据类型 决定
	//const int num=100;  const修饰的量不可修改,为常量
	void *p=NULL;  //void 定义函数和指针时使用
	char *name="hello world";  //定义常量

	printf("%d\n",sizeof(int));  //sizeof()计算占用内存的大小
	printf("num=%p\n",&num);  //&num取地址,%p输出地址
	sum(3,4); //函数调用
	printf("hello world\n");
	return 0;
}
/*
函数名:sum
函数功能:求两个int类型数据之和
函数的参数:int a和int b
函数的返回值:int类型的两数之和
*/
//函数定义
int sum(int a,int b) //函数首部:由函数类型、函数名、参数列表构成
{                    //{。。。。}:函数体,{语句}。{}
	return a+b;
}

2、上课没有听懂或者没有理解的地方

不理解为什么在不同位数的系统中,同一数据类型占用的内存空间不同

3、学习的收获

以前学习的C语言知识得到了巩固和扩展。了解了调试功能。了解了注释的重要性

4、作业的思路,不会的地方及不会的原因

创建一个工程,自己编写个函数,比如主函数函数,实现两个数据的比较,并返回最大值。在main里面调用这个函数。
定义一个变量,用if语句和逻辑运算符将较大的数赋值给变量,返回变量

5、其他需要反馈的问题

6、心得体会

感觉C语言的基础知识挺多的,还需要多学多练。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值