C语言基础一
C语言学习
C语言的特点
- 语言简单、紧凑、使用方便、灵活
- 运算符丰富
- 数据类型丰富
- 具有结构化的控制语句
- 语法限制不太严格,程序设计自由度大
- C语言允许直接访问物理地址,可以对硬件进行直接操作
- 生成代码质量高,程序执行效率高
- 与汇编语言相比,C语言可移植性好
C程序小例子
求两数之和
#include<stdio.h>
void main(){
int a, b, sum;
a = 12;
b = 23;
sum = a + b;
printf("sum is%d\n", sum);//%d表示以十进制整数类型输出
}
求两个数中的最大值
# include<stdio.h>
void main(){//主函数
int max(int x, int y); //对并调用函数max的声明
int a, b, c;
scanf("%d, %d",&a, &b); //输入变量a和b,&表示取地址的意思
c = max(a,b);
printf("max = %d\n", c); // 输出c
} int max(int x, int y){//定义max函数
int z;
if(x > y) z = x;
else z = y;
return(z); //将z的值返回,通过max带回到调用函数的位置
}
scanf函数的作用时将两个数值分别输入到a和b的地址所标志的单元中去,也就是输入给a和b。
求5!
# include<stdio.h>
void main(){//主函数
int i, t;
t = 1;
i = 2;
while(i <= 5){
t = t * i;
i = i + 1;
}
printf("5! = %d\n", t);
}
从上面可以看出:
- C程序是由函数公构成的,一个C程序至少且仅包含一个main函数,也可以包含一个main函数和其他若干个其他函数。所以函数是C程序的基本单位
- 一个函数有两个部分组成
函数首部
函数体:分为
1)声明部分:这个部分定义所用到的变量和所调用的函数。
2)执行部分在某些情况下也可以没有声明部分,甚至可以也没有执行部分。
- 一个C程序总是从main函数开始执行。
- 每个语句和数据声明的最后必须有一个分号,分号是C程序的必要组成部分。
- C语言本身没有输入输出语句,他的输入输出的操作是有库函数scanf和printf等函数来完成的。
程序的灵魂——算法
- 算法的特性
(1)有穷性;
(2)确定性;
(3)有零个或多个输入
(4)由一个或多个输出
(5)有效性
C语言的数据类型、运算符与表达式
常量与变量
常量就是其数值不能改变的量,常量分为:整型常量、实数型常量、字符常量。# define pai 30
# include<stdio.h>
void main(){//主函数
int i, t;
t = 2;
i = pai * t;
printf("i = %d", i);
}
可以用define来在程序开头定义一个常量,这里的这个pai就是符号常量,是不能给符号常量赋值的,习惯上,符号常量用大写,变量名用小写。
###### 使用符号常量的好处
- 含义清楚
- 在需要改变一个变量是=时能做到“一改全改“。
###### 变量
变量代表内存中具有特定属性的一个存储单元,用来存放数据,也就是变量的值。
C语言规定标识符只能是由**字母、数字、下划线三种字符组成,而且第一个字符必须为字母或下划线**
- 整形数据
整型数据在内存中以二进制的形式存放,整形变量将获得两个字节的存储单元,整形变量的基本类型符为int,可以根据数值的范围将其分为:基本整形、短整形,长整形。(int、short、long)
一个整型数据的最大允许值为32767。超过这个范围将会造成数据溢出 - 浮点型数据
即实数,浮点数的两种表现形式:
十进制小数形式:0.0、0.123、123. 、123.0等
指数形式:123e3,表示:123*10^3. 字母E之前必须有数字,且在E后面的指数必须是整数。
一个浮点型数据一般在内存中占4个字节(32位),浮点型数据是按指数形式存储的。
浮点型数据分为:单精度float(32位)、双精度double(64),长双精度long double(128)。
字符型数据
C中字符常量是用单撇号括起来的一个字符。'a'、'x'。
转义字符。字符变量
用来存放字符常量,只能放入一个字符,不能再一个字符变量中方一个字符串。
定义:char c1, c2;
在编译系统中用一个字节来存放一个字符。或说一个字符变量在内存中占一个字节。大小写字母转换例子
# include<stdio.h>
void main(){//主函数
char c1, c2;
c1 = 'a';
c2 = 'b';
c1 = c1 - 32;
c2 = c2 - 32;
printf("%c%c", c1, c2);
字符串常量
字符串常量是一对双撇号括起来的字符序列。不能将一个字符串常量赋值给字符常量。
**C规定在一个字符串常量的末尾加一个“字符串结束标志” ——"\0"。说明“a”在内存里面包含了两个字符。
变量赋初值
算术运算符和表达式:略
C语言基础一的更多相关文章
- 《MSSQL2008技术内幕:T-SQL语言基础》读书笔记(下)
索引: 一.SQL Server的体系结构 二.查询 三.表表达式 四.集合运算 五.透视.逆透视及分组 六.数据修改 七.事务和并发 八.可编程对象 五.透视.逆透视及分组 5.1 透视 所谓透视( ...
- 《MSSQL2008技术内幕:T-SQL语言基础》读书笔记(上)
索引: 一.SQL Server的体系结构 二.查询 三.表表达式 四.集合运算 五.透视.逆透视及分组 六.数据修改 七.事务和并发 八.可编程对象 一.SQL Server体系结构 1.1 数据库 ...
- C#语言基础
第一部分 了解C# C#是微软公司在2000年7月发布的一种全新且简单.安全.面向对象的程序设计语言,是专门为.NET的应用而开发的.体现了当今最新的程序设计技术的功能和精华..NET框架为C#提供了 ...
- C语言基础回顾
第一章 C语言基础 1. C语言编译过程 预处理:宏替换.条件编译.头文件包含.特殊符号 编译.优化:翻译并优化成等价的中间代码表示或汇编代码 汇编:生成目标文件,及与源程序等效的目标的机器语言代码 ...
- 黑马程序员_ C语言基础(二)
------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 概览 今天基础知识分为以下几点内容(注意:循环.条件语句在此不再赘述): 1.Hello W ...
- C#语言基础— 输入与输出
C#语言基础— 输入与输出 1.1函数的四要素:名称.输入.输出.加工 1.2主函数:输出语句.输入语句: Static viod Main(string[] stgs)//下划线部分可以自己指定 { ...
- 【GoLang】GO语言系列--002.GO语言基础
002.GO语言基础 1 参考资料 1.1 http://www.cnblogs.com/vimsk/archive/2012/11/03/2736179.html 1.2 https://githu ...
- R语言基础:数组&列表&向量&矩阵&因子&数据框
R语言基础:数组和列表 数组(array) 一维数据是向量,二维数据是矩阵,数组是向量和矩阵的直接推广,是由三维或三维以上的数据构成的. 数组函数是array(),语法是:array(dadta, d ...
- OC语言基础知识
OC语言基础知识 一.面向对象 OC语言是面向对象的,c语言是面向过程的,面向对象和面向过程只是解决问题的两种思考方式,面向过程关注的是解决问题涉及的步骤,面向对象关注的是设计能够实现解决问题所需功能 ...
- Java学习总结(二)----Java语言基础
1. Java语言基础 2.1 关键字 定义:被java语言赋予特殊含义的单词 特点:关键字中的字母都为小写 用于定义数据类型的关键字 class,interface,byte,short,i ...
随机推荐
- 在ie和chrome浏览器中滚动条样式的设置
1.IE下设置滚动条样式的属性 scrollbar-arrow-color: color; /*三角箭头的颜色*/scrollbar-face-color: color; /*立体滚动条的颜色(包括箭 ...
- Webstorm如何设置背景色为护眼色(豆绿色)
本文主要讲webstorm如何设置背景色. 1.打开idea Settings 选择 Editor——Color Scheme——General 注意:如果是Mac,在webstorm界面按键:“co ...
- 基于TCP_socket套接字实现远程执行命令
基于tcp的套接字实现远程执行命令的操作 ——客户端敲命令,服务端执行 #服务端 import socket import subprocess phone=socket.socket(socket. ...
- Parzen-Window Density Estimation(PWDE)
1.概率密度函数 在在数学中,连续型随机变量的概率密度函数(在不至于混淆时可以简称为密度函数)是一个描述这个随机变量的输出值,在某个确定的取值点附近的可能性的函数.而随机变量的取值落在某个区域之内的概 ...
- MFC中修改程序图标
在使用MFC时,我们经常需要修改我们得到的exe文件的图标.如:写一个随机画圆的小程序,我们就希望该程序的图标是个圆或者是和圆有关的图标.所以,在这里我就记录一下我修改图标的步骤. 顺便提一下,我使用 ...
- Apache Shiro:【2】与SpringBoot集成完成登录验证
Apache Shiro:[2]与SpringBoot集成完成登录验证 官方Shiro文档:http://shiro.apache.org/documentation.html Shiro自定义Rea ...
- SpringMVC:学习笔记(5)——数据绑定及表单标签
SpringMVC——数据绑定及表单标签 理解数据绑定 为什么要使用数据绑定 基于HTTP特性,所有的用户输入的请求参数类型都是String,比如下面表单: 按照我们以往所学,如果要获取请求的所有参数 ...
- 谷歌机器学习速成课程---3降低损失 (Reducing Loss):梯度下降法
迭代方法图(图 1)包含一个标题为“计算参数更新”的华而不实的绿框.现在,我们将用更实质的方法代替这种华而不实的算法. 假设我们有时间和计算资源来计算 w1 的所有可能值的损失.对于我们一直在研究的回 ...
- iOS JS 和 OC交互 / JS 和 native 相互调用
现在app 上越来越多需求是通过UIWebView 来展示html 或者 html5的内容, js 和 native OC代码交互 就非常常见了. js 调用 native OC代码 第一种机制 ( ...
- windows下查看静态库和动态库的导出函数
在window下查看动态库的导出函数可以用vs自带的Depends工具: 查看静态库的信息要用命令行来实现: dumpbin /LINKERMEMBER Test.lib > 1 ...