200718C语言及C程序概念
文章目录
- 1、当天学习的知识点
- C语言
- 优点
- C程序
- gcc编译
- make编译
- C数据类型
- 变量
- 常量
- 数据类型
- 2、上课没有听懂或者没有理解的地方
- 3、学习的收获
- 4、作业的思路,不会的地方及不会的原因
- 5、其他需要反馈的问题
- 6、心得体会
1、当天学习的知识点
C语言
C语言是面向过程的结构化的程序设计语言,中级语言,既能编写系统软件,又能编写应用软件
优点
- 语法简洁,紧凑,灵活,关键字少(32个关键字)
- 运算符丰富,算术运算符、逻辑运算符(与或非)、关系运算符(大于等于小于)
- 结构化:体现在函数上,每个函数都是独立的块
- 数据类型:int char void 浮点型 数组 指针 结构体;结构体可以让用户自己决定存储什么数据,里面可以有各种类型的数据
- 能够直接对硬件和内存进行操作:(指针)
- 和高级语言相比,代码质量和效率高
- 移植性好 在windows和linux都可以运行
- 语法限制不严格:数组下标不会显示越界问题
C程序
- 工程名不能出现中文
- 整个程序除了注释其他全部使用英文输入法输入
- 新建.c源文件时,文件名要加.c,否则默认建立.cpp文件
- 程序执行是从上往下
- 变量、函数、标签和其他用户定义的对象的名称都称为标识符;
- 标识符1、由字母、数字、下划线组成。2、不能由数字开头。3、区分大小写。4、不能和关键字重名。5、不能与系统内置的标识符重名
- 变量的定义语句放在函数体的最前面
gcc编译
- 运行过程:.C源文件 --> 预处理 --> compile编译 生成.obj文件,可以检查有无语法错误 --> 汇编–>链接–>生成.exe可执行文件;
- 预处理:以#号开头的语句 都是在预处理阶段处理。gcc -E xx.c 生成 xxx.i 文件
- 编译:生成汇编文件 gcc -S xxx.i 默认生成 .s 后缀的汇编文件
- 汇编:对汇编文件进行汇编。gcc -c xxx.s 生成 .o目标文件
- 链接:生成可执行文件。gcc xxx.o -o xxx 生成 xxx.out可执行文件
- 分号;是语句的一部分,每个C语言都以一个分号结束。
make编译
C数据类型
变量
变量存在的意义:方便管理内存;每一段内存都有地址编号,每个地址编号内可以存放数据,变量名相当于地址编号,通过变量名得到数据
变量的作用:给一段指定的内存空间起名;方便操作这段内存
常量
作用:用于记录程序中不可更改的数据
常量的定义方式
- #define 宏常量
- const修饰的变量
数据类型
- int型数据在32位系统中占用32位(4个字节)的内存空间,在16位系统中占用16位(2字节)空间
- float型数据有效数字6位,占用32位(4个字节)的内存空间,例3.14159
- double型数据有效数字17位,占用64位(8个字节)的内存空间。
- char型数据占用1字节的内存空间,
- char<int=long int=float<double=long double
- 八进制整型常量以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语言的基础知识挺多的,还需要多学多练。
200718C语言及C程序概念相关推荐
- 全面解读Objective-C语言及Cocoa特性——《Objective-C基础教程》
媒体评论 "这是我读过的最好的一本编程书.我从头到尾逐字逐句地读完了它,可读性真强啊!试问,现在有几本技术书能达到这种程度?" --Amazon 读者评论 "这本书结构清 ...
- go二维map_mirrorlang——从0设计二维内存寻址语言及vm(五.内存管理的思考)
目录 鹏鹏李李:mirrorlang--从0设计二维内存寻址语言及vm [目录]zhuanlan.zhihu.com 由一段函数开始思考内存布局 func longestPalindrome(s s ...
- python是什么语言汇编_编程语言及python介绍
编程语言及python介绍 1.编程语言分类 机器语言 优点:执行效率高 缺点:开发效率极低,跨平台性差 汇编语言 优点:较机器语言执行效率稍低 缺点:较机器语言开发效率稍高,仍然很低,跨平台性差 高 ...
- linux服务器上装r,linux服务器安装R语言及Rstudio server
在linux服务器上使用R语言及Rstudio server cat /etc/redhat-release: 查看服务器系统版本 1. R 程序包获取 查看最新版本的下载链接,使用wget获取 wg ...
- c语言(15 5)是多少,试题五(共 15分) 阅读以下关于 C语言及 C代码的叙述,回答问题 1至..._考试资料网...
试题五(共 15分) 阅读以下关于 C语言及 C代码的叙述,回答问题 1至问题 3,将答案填入答题纸的对应栏内. [说明] 在开发某嵌入式系统时,设计人员根据系统要求,分别编写了如下三部分程序,其中: ...
- python编程语言介绍-编程语言及python介绍
编程语言及python介绍 1.编程语言分类 机器语言 优点:执行效率高 缺点:开发效率极低,跨平台性差 汇编语言 优点:较机器语言执行效率稍低 缺点:较机器语言开发效率稍高,仍然很低,跨平台性差 高 ...
- 填入c语言,试题五(共 15分) 阅读以下关于 C语言及 C代码的叙述 回答问题 1至问题 3 将答案填入答题纸的对...
问题详情 试题五(共 15分) 阅读以下关于 C语言及 C代码的叙述,回答问题 1至问题 3,将答案填入答题纸的对应栏内. [说明] 在开发某嵌入式系统时,设计人员根据系统要求,分别编写了如下三部分程 ...
- 剖析Intel IA32架构下C语言及CPU浮点数机制
(转载请注名原作者及出处) pdf格式下载:http://www.binghua.com/Soft/Class2/Class5/200409/63.html 剖析Intel IA32架构下C语言及CP ...
- 懂「互联网语」的程序员,是个狠人。
借用一下时下很火的「互联网语」 做程序员的乐趣 是只有进场的人才能获得的红利 与程序员相处 绝对是令人WOW的用户体验 但是别真信那些个程序员说的话 哪怕有无数江湖传言为他背书 不然你良久建立的心智模 ...
最新文章
- 使用TESSERACT来识别字符
- 索引的使用规则和设计考虑
- Leetcode 5
- shell 查看空行与删除空行
- usaconbsp;chapternbsp;2.1nbsp;castle
- 什么是协方差(covariance)?(延伸到 协方差矩阵、多元高斯分布、PCA)
- 春节挣一波快钱,Top 19 接私活平台
- 人工势场法(APF) —— Path Planning
- 图论及其应用 2019年 期末考试答案总结
- bscroll制作轮播图,jq和vue两种方式,带下边的点点
- 机器学习_深度学习毕设题目汇总——数据分析_数据挖掘
- ACM入门-最小生成树及其应用
- ORB-SLAM2代码阅读笔记(十):sim3求解
- ORA-00955:名称已由现有对象使用;
- 火爆社区的开源数据可视化工具 datart 新用户体验教程
- 萨班斯-奥克斯利法案 (SOX) 特权账号管理
- 小米3刷android 6.0,安卓6.0版MIUI7曝光:小米3/小米4/小米Note将尝鲜
- 如何获取两个经纬度点之间的中心点的经纬度
- 基于ArduinoNano的LED点阵时钟探索(1)四合一MAX7219+DS3231
- Python实现TOPSIS分析法(优劣解距离法)
热门文章
- IPv6 RIPng (PT)
- ASP.Net MVC——使用 ITextSharp 完美解决HTML转PDF(中文也可以)
- jquery如何获取checkbox,并判断是否选中
- nginx 压缩和缓存设置
- 关闭fedroa19开关机画面
- 利用rpm包搭建lamp环境及论坛的创建
- Windows下 Apache+PHP5+MYSQL5+phpmyadmin 规范安装
- 机器学习库一:scikit-learn
- linux blind函数,Linux网络编程入门
- java怎么显示qt文件后缀,在qt中执行java文件