C语言---程序的一般形式、数据类型、常量变量、运算符、表达式、格式化输入输出
1. 程序的一般形式
(1)注释
① 分类:单行注释( // ): 注释一行.多行注释( /**/ ): 在这个区间内,都属于多行注释,可以换行.
② 作用:提示代码的作用,提示思路 不写注释的后果:出来混总是要还的.
③ 单行注释不能换行
(2) #include #import
① 导入文件,系统提供类库文件中包含一些功能函数,如果想在某个文件中使用,必须导入需要的文件。
② stdio 标准输入输出 standard input output
(3) main 函数,又称主函数,是程序运行的入口位置
(4) 功能代码
(5)return 返回
强调编码规范、代码提示、错误和警告
2. 数据类型
在编写计算机程序时,我们会将数据交给计算机处理,那么在C语言中这些数据如何存储呢。
例如:要存储一个人的身高、年龄,首先这些数据类型不同,先要了解C语言包含哪些数据类型。
(1)数据类型分类
① 基本数据类型。 整型、浮点型、字符型
② 构造类型。 数组、枚举
③ 指针类型。
④ 空类型。 void
3. 基本数据类型
char 字符类型 包含:‘a~z' 'A~Z' '0~9' 存储字符
int 整形类型 包含:1 2 3 4 5 6 7 8 9 0等等 存储整数
float 浮点型 包含: 数字1.2 2.5 3.6 存储小数
short 短整型 包含: 数字 1 2 3 4 5 6 7 8 9等等 存储整数
long 长整型 包含:数字1 2 3 4 5 6 7 8 9等等 存储整数
double 双精度浮点型 包含: 数字1.1 2.5 3.9等等 存储小数
(1)数据存储单位
① 存储单位。 字节Byte,最常用存储单位;位bits,最小存储单位。
② 1字节 = 8位(二进制位) = 2位(十六进制位)
(2)不同数据类型的存储空间不同,存储空间决定了数据类型能够存储数据的范围
① char 1 short 2 int 4 long 8 float 4 double 8
② 数据类型的存储空间与操作系统有关,并不是统一的。但是有一个原则:short <= int <= long <= long long
③ sizeof 运算符,计算每个数据类型占用存储空间。
④ 存储空间决定了存储数据的范围。不要死记硬背,可以查资料,把最常用的记住。溢出:超出了数据类型的取值范围
(3) 整型区分有符号和无符号,无符号的标示符 unsigned。
(4) 区分正数/负数:整数对应的二进制数,最高位1是正数,最高位0是负数。
(5) 整数的存储方式:补码。正数补码:自身;负数补码:绝对值、取反、加1.
(6) 浮点型数的存储方式:指数。 标准指数形式:整数为0,第一位小数不为0.
printf("%lu\n", sizeof(char)); // 1
printf("%lu\n", sizeof(short)); // 2
printf("%lu\n", sizeof(int)); // 4
printf("%lu\n", sizeof(long)); // 8
printf("%lu\n", sizeof(float)); // 4
printf("%lu\n", sizeof(double)); // 8
3. 变量、常量
(1) 常量
① 程序运行期间不能改变的量
② 常量分类
a 整型常量:10
b 实型常量:1.5
③ 字符常量:
a 普通字符(参考ASCII字符表。例如:'a')
b 转义字符(属于操作字符,无法打印显示。例如:\n)
④ 字符串常量:"中国"
(2) 变量
① 程序运行期间可以修改的量
② 变量代表一个存储区域,用于存储数据,相当于容器。存储的内容就是变量的值
③ 变量在使用之前必须定义 三部分:类型、变量名、初值
④ 变量名要求:
只能由 数字、下划线、字母组成,并且不能以数字开头
不能使用系统保留字 int、float等等
不能重复使用定义的变量名
见名知意,驼峰命名法 teacherName,studentName
⑤ 标示符:用来命名变量、类型的有效字符,只能使用数字、字母、下划线表示
定义变量 三步 就算初始值是0,也必须写
强调编码规范(空格使用),语法(只能使用英文字符)
int a = 10; ( 类型 int 变量名 a 初值 10)
float b = 1.5;
char c = 'a';
int m = 0, n = 100; (一行定义多个变量)
练习 定义几个变量
// 定义一个变量age,存储年龄
int age = 0;
// 定义一个变量c_score,存储C语言考试分数,定义一个变量oc_score,存储OC语言考试分数
float c_score = 94.5, oc_score = 89;
// 定义一个变量gender,存储性别
char gender = 'f';
// 修改变量
age = 18;
c_score = 100;
oc_score = 90;
// 代码有提示,提示内容。 如何显示代码提示ESC,确认代码回车或tab
// 声明变量 不设置初值,一般情况下都要求定义变量,特殊情况再说明
// 只声明会造成的问题:存储区域是重复使用的,如果定义变量时不设置初始值,结果可能是0,可能是之前的值 (盘子刷没刷)
// 变量名 既要符合语法要求,也要见名知意。 什么是好代码,人和计算机都能读懂
// 练习:定义变量存储某个老师的姓名、年龄、性别,定义变量存储某个学生的姓名、年龄、C语言分数、性别 (目的:定义变量的语法和规则)
*/
#pragma mark -----------运算符------------
/*
运算符
1、运算符包含很多种:单目、双目、三目。 单、双、三表示参与运算的变量或常量数量
2、优先级不同,不要死记硬背,学会查询表,记住最常用的
3、这节课:赋值运算符、算数运算符、复合运算符
4、学会使用()标记运算优先级,好处:避免错误、代码可读性强
*/
/*
// 赋值运算符 双目运算符
// 左值 等号左侧的值 只能是变量
// 右值 常量、变量、表达式
int a = 0;
int b = a;
// 练习:交换两个变量的值 例子:两个水杯交换水,需要使用第三个杯子临时装一下水
int a1 = 10;
int a2 = 20;
int temp = 0; // 临时
// 将a1的数据复制到temp中
temp = a1;
// 将a2的数据复制到a1中
a1 = a2;
// 将temp的数据复制到a2中
a2 = temp;
// 算数运算符 双目运算符 + - * /
// +
int b1 = 10;
int b2 = b1 + 20;
int b3 = b1 + b2;
// -
int c1 = 50;
int c2 = c1 - 10;
int c3 = c1 - c2 - 10;
// *
// / 除法
// 1、除数不能为0
int d1 = 10 / 0;
// 2、除号两边都是整数,结果也是整数,省略小数部分
int d2 = 3 / 2;
printf("%d\n", d2);
// 3、除号两边都是浮点型,结果是浮点型
float d3 = 4.2 / 2.0;
printf("%f\n", d3);
// 4、除号两边有一个是浮点型,结果是浮点型
float d4 = 3 / 2.0;
float d5 = 3.0 / 2;
// % 取模运算符 获取余数
// 1、取模运算符两边必须都是整数
int e1 = -5 % 3; // 5 对 3 取模,即5除3的余数
printf("e1 = %d", e1);
*/
// 2、余数 < 除数
// 3、公式 a % b a = b * n + 余数
/*
// ++ 自增运算 单目运算符
// 只能给变量使用
// 1、 ++在变量后面
// (1) 相当于 i = i + 1
int i = 10;
i++; // 语句执行后,i = 11
// (2) 先参与运算,后自增
int j = 10;
int k = 50 + j++; // 相当于 k = 50 + j; j = j + 1
printf("%d", k);
// 2、 ++在变量前面
// (1) 相当于 i = i + 1
int x = 10;
x++;
// (2) 先自增,后参与运算
int y = 10;
int z = 50 + ++y; // 相当于 y = y + 1; z = 50 + y
printf("%d", z);
*/
/*
// 复合运算符
// +=
// a+=b 相当于 a = a + b
int a = 10;
a += 5;
printf("%d", a);
// 2、 -=
*/
#pragma mark -----------表达式和语句------------
/*
1、表达式组成:常量、变量、运算符。 表达式是有返回值的。
2、语句:程序执行的最小单位,以;结束
*/
/*
int a = 0;
a = 1;
a = 1 * 5
*/
#pragma mark -----------输出函数------------
/*
1、将需要输出的内容转换成字符串,输出显示在控制台
2、输出内容:普通字符串、将变量的值转换成字符串
3、函数格式 printf(格式字符串, 表达式1, 表达式2...)
*/
/*
// 输出普通字符串 格式字符串使用"输出的内容",不需要表达式
// 使用换行符\n,换行符只实现功能,不显示
printf("hello world!\n");
printf("易荟云\n");
// 输出变量的值 格式字符串由普通字符和转换符组成
// 不同类型的变量有对应的转换符
// 将需要显示变量内容的位置使用转换符占位
int age = 18;
//printf("我今年18岁");
printf("我今年%d岁\n", age);
int number = 10;
printf("我的学号是:%d\n", number);
printf("我今年%d岁,学号:%d\n", age, number);
float c_score = 95.5;
printf("C语言分数:%f\n", c_score);
char gender = 'f';
printf("性别:%c\n", gender);
// 输出格式控制
// 设置字符宽度
// 1、实际长度 大于 设置长度,按照实际长度显示
// 2、实际长度 小于 设置长度,可以补空格 %4d
// 3、实际长度 小于 设置长度,可以补0 %04d
int a = 100;
printf("%2d\n", a); // 补空格
printf("%05d\n", a); // 补0
// 左对齐 - 和 0不能同时出现,0被忽略
printf("%-4d\n", a);
printf("%-04d\n", a);
// 设置小数位 默认小数点后显示6位
float b = 9.54;
printf("%f\n", b);
printf("%.1f\n", b); // 四舍五入
printf("%2.2f\n", b);
// 如何输出转义字符
printf("%%\n");
printf("100%%\n");
float score = 95.5;
printf("%.1f%%\n", score);
// 补充 char类型在存储时就是一个字节的整型数,根据ASCII码表,字符和数字有等价关系
// 输出时 格式符可以相互使用
char x = 'a';
printf("字符x = %c\n", x);
printf("字符x = %d\n", x);
int y = 97;
printf("整型y = %c\n", y);
printf("整型y = %d\n", y);
// 定义时可以相互使用
char m = 98;
int n = 'b';
printf("字符m = %c\n", m);
printf("整型n = %d\n", n);
*/
#pragma mark -----------输入函数------------
/*
1、将控制台输入的内容(字符串),存储到某种数据类型的变量中。 与printf作用相反。
2、scanf格式 格式字符串,变量地址
3、使用:先定义变量
*/
/*
// 转换符必须和变量类型保持一致,否则数据存储会出现问题
int number = 0; // 定义变量用于存储输入的内容
scanf("%d\n", &number);
printf("number = %d", number);
// 输入时 float转换符%f,double转换符%lf
float f1 = 0;
scanf("%f", &f1);
printf("f1 = %f", f1);
double f2 = 0;
scanf("%lf", &f2);
printf("f2 = %f", f2);
*/
/*
// 格式字符串中的内容 与 控制台输入的保持一直
int a1 = 0;
int a2 = 0;
scanf("%d,%d", &a1, &a2);
printf("a1 = %d, a2 = %d", a1, a2);
*/
/*
// 建议:格式字符串内只包含转换符 不要包含其他字符,尤其是\n。回车的作用是结束输入,但是会跟\n匹配,使输入操作出现问题。
// 如果想起到提示作用,可以在输入之前,输出一句提示
int age = 0;
printf("请输入年龄:");
scanf("%d", &age);
printf("年龄:%d", age);
*/
#pragma mark -----------补充------------
/*
// 自动类型转换
float a = 3 + 1.5;
// 强制类型转换
int b = (int)a;
C语言---程序的一般形式、数据类型、常量变量、运算符、表达式、格式化输入输出的更多相关文章
- 速战速决 (1) - PHP: 概述, 常量, 变量, 运算符, 表达式, 控制语句
[源码下载] 速战速决 (1) - PHP: 概述, 常量, 变量, 运算符, 表达式, 控制语句 作者:webabcd 介绍速战速决 之 PHP 概述 常量 变量 运算符 表达式 控制语句 示例1. ...
- 2.1JAVA基础复习——JAVA语言的基础组成注释和常量变量
JAVA语言的基础组成有: 1.关键字:被赋予特殊含义的单词. 2.标识符:用来标识的符号. 3.注释:用来注释说明程序的文字. 4.常量和变量:内存存储区域的表示. 5.运算符:程序中用来运算的符号 ...
- [Java] 数据类型, 变量, 运算符, 表达式
title: [Java] 变量与表达式 你已经学会输出 Hello world 了, 那么现在, 我们来学习关于变量的知识 基本数据类型 在 Java 中, 有 8 种基本的数据类型: 名称 描述 ...
- 【原创】go语言学习(二)数据类型、变量量、常量量
目录 1.标识符.关键字2. 变量量和常量量3. 数据类型4. Go程序基本结构 标识符.关键字 1.标识符是⽤用来表示Go中的变量量名或者函数名,以字⺟母或_开头.后⾯面跟着字⺟母 ._或数字2. ...
- C 数据类型 常量 变量
一 数据类型 1. 什么是数据 生活中时时刻刻都在跟数据打交道 比如体重数据 血压数据 股价数据等 在我们使用计算机的过程中 会接触到各种各样的数据 有文档数据 图片数据 视频数据 还有聊QQ时产生的 ...
- c语言程序命名规范:函数、变量、数组、文件名
函数: //send or recv data task void send_recv_data(void *pvParameters); //get socket error code. retur ...
- C语言基础:进制转换,变量,常量,表达式,基本数据类型,输出函数,输入函数,运算符. 分类: iOS学习 c语言基础 2015-06-10 21:39 25人阅读 评论(0) 收藏
二进制:以0b开头,只有0和1两种数字.如0101 十进制:0~9十个数字表示.如25 十六进制:以0~9,A~F表示,以0X开头.如0X2B 十进制转换为X进制:连除倒取余 X进制转换为十进制:按权 ...
- 【值得收藏】C语言入门基础知识大全!从C语言程序结构到删库跑路!
01 C语言程序的结构认识 用一个简单的c程序例子,介绍c语言的基本构成.格式.以及良好的书写风格,使小伙伴对c语言有个初步认识. 例1:计算两个整数之和的c程序: #include main() { ...
- 第2章 Python编程基础知识 第2.1节 简单的Python数据类型、变量赋值及输入输出
第三节 简单的Python数据类型.变量赋值及输入输出 Python是一门解释性语言,它的执行依赖于Python提供的执行环境,前面一章介绍了Python环境安装.WINDOWS系列Python编辑和 ...
随机推荐
- Python天天学_03_基础三
Python_day_03 金角大王: http://www.cnblogs.com/alex3714/articles/5740985.html ------Python是一个优雅的大姐姐 学习方式 ...
- 窗体操作:GetWindowLong()
函数原型: LONG GetWindowLong( HWND hWnd,int nIndex ) 参数: hWnd:指定窗口的句柄 nIndex:需要获得的信息的类型 值 ...
- [CSP-S模拟测试]:笨小猴(随机化)
题目传送门(内部题118) 输入格式 输入第一行是一个整数$n$,意义如以上所示. 接下来有$2n+1$行,每行为两个正整数,第$i$行的两个正整数分别代表$A_i$和$B_i$. 输出格式 如果无法 ...
- 【转】diamond专题(二)– 核心原理介绍
特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/ ...
- LeetCode 18. 四数之和(4Sum)
题目描述 给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等? ...
- Jquery 选择器的用法
用js 动态生成<ul>标签的<li>条目,因为在动态的创建过程中li的点击事件是不太方便的,因此采用JQuery 的类选择器来实现. html代码: <div id=& ...
- React组件库集锦及学习视频
[转载]https://www.rails365.net/articles/react-zui-hao-de-ui-zu-jian-ku-ji-jin 这里有一篇讨论,说了哪个才是 React 最好的 ...
- 八、MD5加密并封装,并调用封装方法
一.MD5加密 封装Md5 public class Md5 { //十六进制下数字到字符的映射数组 private static final char hexDigits[] = { '0', '1 ...
- awk 数值和字符串比较问题
在linux终端输入如下命令: > echo "10025350462330387914 10025350462330388480" | awk '{if ($1 == $2 ...
- 如何保存 Activity 的状态?
Activity 的状态通常情况下系统会自动保存的,只有当我们需要保存额外的数据时才需要使用到这样的功能.一般来说, 调用 onPause()和 onStop()方法后的 activity 实例仍然存 ...