C语言学习记录(二)
C语言学习记录(二)
一、知识要点(C语言概述)
1、C语言的发展历史和特点
- C语言的发展历史
- C语言最早在B语言的基础上开发出来,并于1972年在一台计算机上首次实现。
- C语言最开始只是为描述和实现Unix操作系统而设计的。
- C语言又称为中级计算机语言,这是因为它把高级语言的成分同汇编语言的功能联系起来,它既可以编写软件又可以编写操作系统。
- C语言的特点
- 可移植性强:相比于汇编语言,C语言的抽象层次比较高,离硬件比较远,具有更好的移植性。
- 语言简洁紧凑,使用方便灵活:C语言的关键字和控制语句都很少,相比于其他编程语言,代码更加简洁。
- 数据类型和运算符丰富多样:C语言的34种运算符和15个等级的运算优先顺序 使得C的运算类型极其丰富;C语言的的数据类型能够实现各种复杂的数据结构;C语言提供指针,可以直接访问内存。
- C语言生成的目标代码质量好,执行效率高。
2、C语言程序结构
C语言程序的构成
#include <stdio.h>
int main()
{
printf("Welcome to C program!\n");
return 0;
}
预处理部分
#include <stdio>
:它提供标准输入输出函数的有关信息,也就是数据库。#include把能够提供函数信息的stdio.h包含进程序。int main()
:main()是主函数,main是函数名,()用于定义函数参数。int表示此函数为int类型。函数体用{}括起来。printf()
表示将括号内的信息输出,return 0
是将整数0返回主函数。#include <stdio.h>
int main()
{
int a,b,c;//变量声明,定义整形变量
int add(int x,int y);//函数声明。声明本函数要调用add函数
scanf("%d%d",&a&b);
c=add(a,b);//调用add函数
printf("%d",c);
return 0;
}
int add(int x,int y)//定义函数值为整形,形式参数x,y为整形的add函数
{
int z;
z=x+y;
return (z);
}
每个c语言函数有且只有一个主函数,可以包含任意多个不同名的函数。被调用的函数可以是系统提供的库函数,也可以是自己做的函数。
函数的首部和函数体
- 函数首部是函数第一行,包括函数类型、函数名、参数类型,参数名。函数参数可省略。
- 函数体是{}部分,前面一部分是声明部分,用于定义变量,后面一部分是执行部分,负责执行。
每个C语言程序都是从main函数开始执行的。
C语言程序的书写格式:
- c语言所有语句都必须以分号”;“结束。
- 注释可用//,也可用/* */。
3、C语言程序的运行
- 运行代码的基本步骤:编辑、编译、连接、执行。
- 编辑C语言源程序:把源程序代码输入计算机或修改代码的过程就是编辑,建立以.c为扩展名的源程序文件。
- 编译C语言源程序生成目标程序:用专门的编译器将C语言代码转化为机器码文件(扩展名为.obj)。
- 连接生成可执行文件:将编译后的文件与系统的函数库或者其他文件进行连接装配,形成可执行文件(扩展名为.exe)
- 执行可执行程序文件。
二、问题解答
1、试说明C语言的特点。——C语言既能编写各大软件,又能编写操作系统,可以说得上是一个全能语言。
2、举例说明C语言程序的基本构成和书写格式。——基本构成:由主函数和各个子函数构成,函数内部又由首部和函数体构成,函数体里又有声明部分和执行部分;书写格式:自己看着办。。。。
C语言学习记录(二)的更多相关文章
- R语言学习记录(二)
4.对象改值 4.1.就地改值 比如: vec <- c(0,0,0,0,0,0,0) vec[1]<-100 #vec向量的第一个值就变为100 ####对于数据框的改值的方法,如下面的 ...
- Material Calendar View 学习记录(二)
Material Calendar View 学习记录(二) github link: material-calendarview; 在学习记录一中简单翻译了该开源项目的README.md文档.接下来 ...
- Spring Boot学习记录(二)--thymeleaf模板 - CSDN博客
==他的博客应该不错,没有细看 Spring Boot学习记录(二)--thymeleaf模板 - CSDN博客 http://blog.csdn.net/u012706811/article/det ...
- Go语言学习笔记二: 变量
Go语言学习笔记二: 变量 今天又学了一招如何查看go的版本的命令:go version.另外上一个笔记中的代码还可以使用go run hello.go来运行,只是这种方式不会生成exe文件. 定义变 ...
- JavaScript学习记录二
title: JavaScript学习记录二 toc: true date: 2018-09-13 10:14:53 --<JavaScript高级程序设计(第2版)>学习笔记 要多查阅M ...
- 2.VUE前端框架学习记录二
VUE前端框架学习记录二:Vue核心基础2(完结)文字信息没办法描述清楚,主要看编码实战里面,有附带有一个完整可用的Html页面,有需要的同学到脑图里面自取.脑图地址http://naotu.baid ...
- GO语言学习(二)Windows 平台下 LiteIDE 的安装和使用
1. 安装 Go 语言并设置环境变量 参考GO语言学习(一) 2. MinGW 的下载和安装 Windows 下的 Go 调试还需要安装 MinGW. 2.1 下载安装工具的安装 最新版本下载安装工具 ...
- C语言学习记录之二
各种语句及编程笔记记录 1.if & else #include<stdio.h> int main(){ int if (situation) { //m ...
- C语言学习笔记二
第二章 数组 一,定义: 数组是有序数据的结合,同一数据类型 整型数组 int arr[10]={0,1,2,4,5,6,7,8,9}; 字符数组 char str[6]={'h',' ...
- 学习iOS笔记第一天的C语言学习记录
c语言基础学习 int num1 = 15; int num2 = 5; int temp = 0; //先把num1放到temp里 temp = num1; //先把num2放到num1里 num1 ...
随机推荐
- VS Ctrl+D 快速复制上一行
打开 VS 工具-->选项-->环境-->键盘 选择默认值,确定. 搞定!
- OpenLayers结合JSTS实现空间运算
1. 引言 空间运算利用几何函数来接收输入的空间数据,对其进行分析,然后生成输出数据,输出数据为针对输入数据执行分析的派生结果. 可从空间运算中获得的派生数据包括: 作为输入要素周围缓冲区的面 作为对 ...
- LeetCode-846 一手顺子
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/hand-of-straights 题目描述 Alice 手中有一把牌,她想要重新排列这些牌,分成 ...
- sql查询多个结果字段通过逗号分隔为同一行显示、sql查询结果有符号分隔的字段拆分多行显示
一.sql查询多个结果通过逗号分隔为同一行显示 sql查询数据结果 select e.ctrl_desc from t_ctrl_entry e inner join CodeGroupKeyCode ...
- 时钟切换电路(无毛刺)——clock switching glitch free
0.引言 随着越来越多的多频时钟被应用在今天的芯片中,尤其是在通信领域中,经常需要在芯片运行时切换时钟线的源时钟.这通常是通过在硬件中复用两个不同的频率时钟源,并通过内部逻辑控制多路选择器选择线来实现 ...
- Vue mixin混入的介绍
功能:可以把多个组件共用的配置提取成一个混入对象 使用方式: 1.第一步:定义混合,例如: 2.第二步:使用混合(全局混合和局部混合) (1)局部混合 mixins:['XXX'] (2)全局混合 V ...
- Kali配置gmssl密码算法库
Kali配置gmssl密码算法库 一.密码算法库的下载 https://github.com/guanzhi/GmSSL/releases 二.安装配置 1 解压 把刚刚下载的GmSSL 3.0.0. ...
- 同一ip地址不同的主机冲突解决
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HA ...
- Mysql数据库基础第七章:流程控制结构
Mysql数据库基础系列 软件下载地址 提取码:7v7u 数据下载地址 提取码:e6p9 mysql数据库基础第一章:(一)数据库基本概念 mysql数据库基础第一章:(二)mysql环境搭建 mys ...
- SAP MD04屏幕显示增强
需求 在看物料MRP结果的时候,业务人员想要看到工单批次,工单批次是我们这边工单下达后传输到其他系统,然后由其他系统回传回来的. 开发步骤 主要使用二代增强出口:M61X0002 创建增强项目 事务码 ...