c语言标准更新,基础C语言的基础(19.12.1更新)
对c语言中基本数据类型及表达式的理解
主函数
int main(){
//此处省略一系列代码
return 0;
}
main()函数即主函数
【小括号括起来的是参数】【大括号括起来的是代码块→去完成特定功能】
所有的程序的入口点都是main函数
int main(int argc,char * argv[]) 此为标准模板,即规定参数,main是系统给的
ps int argc:参数个数 (全称 argument count)
char * argv[]:每个参数组成的字符串组成的数轴(其中无 * 放的是字符如j,有 * 放的是字符串如jeck)
主函数结束一般都有写return 0,
此即int返回值 记录当前程序的运行状态——
0:正常结束→资源自有分配 非零:1 异常结束→没收
printf与scanf以及系列变量
int main(int argc,char*argv[])
{
printf ("%d\n",argc);
printf ("%s\n",argv[0]);
printf("hello\nworld\n");
return 0;
}
以上输出结果为 1
此项目存储所在位置
(argc,argv[0]代表意义见上)
printf 输出语句:输出字符串-特征符号为"" |相连于终端口 console
scanf 输入:终端输入-即用户用设备点按键 |相连于终端口 console
变量用来记录数据( 以下基本数据类型→只能存一个值 )
注意:\n 表示换行
\t 表示一个缩进
scanf格式化输入
若缓冲区:123 456
int a;拿走123
char b=' ';拿走空格
int c=;拿走456
则终端:123 456
int main(){
int pwd=0;
scanf("jack%d",&pwd);
printf("pwd=%d\n",pwd);
int num1,num2;
scanf("%d %d",&num1,&num2);
printf("%d %d\n",num1,num2);
return 0;
}
正常运行结果
scanf引号内即"用户输入的格式",所以输入jack123,才能输出显示123,因此最好不要在scanf里面随便写内容
若不按格式来则输出为0
下面的方式scanf("%d%d",&num1,&num2); 这样用户要一个一个敲,比较麻烦
且当两个放一起而上方不按格式输入时,输入的数字会被沿用到下方的输入格式
比较皮运行结果
int 整型数据 用于整数如1 2 3 4 5 6 2342 格式符%d
long 长整型 用于数值大的整数 格式符%ld
floot 单精度浮点数 用于小数如1.5 94.3 82.6 格式符%f
double 双精度浮点数 用于小数如1.4 格式符%f
char 字符 用于单个字符如'd' 'a' 格式符%c
string 字符串 用于多个字符如"jack" "rose" 格式符%s
short 短整型 用于整数 格式符%d
bool 布尔型 用于判断如是,成立true;不是,不成立 false 格式符%d
pps//二级缓存可了解一下
不同变量占据的内容空间不一样
[sizeof() 是一种内存容量度量函数,则可以此验证]
int main(){
printf("%d\n",sizeof(int));
printf("%d\n",sizeof(long));
printf("%d\n",sizeof(short));
printf("%d\n",sizeof(double));
printf("%d\n",sizeof(char));
printf("%d\n",sizeof(bool));
printf("%d\n",sizeof(float));
return 0;
}
DEV C++中的输出结果
以上可得出各变量的内存度量值
(格式符为真实值预留位置,并控制显示的格式)实用及延展见下
int main(){
int count =0;
count = 3;
printf("%02d\n",count);
printf("%d\n",count);
long size=230;
printf("%ld\n",size);
system ("pause");
return 0;
}
运行结果
%d 为整数型预留位置 %ld为大数值整数型预留位置
衍生%02d 及整数列数不足两位时自动用0补齐
int main(){
float score = 3.141592;
printf("%f\n",score);
printf("%.2f\n",score);
return 0;
}
运行结果
衍生%.2f表示保留小数点后两位;可类推%.3f表示保留小数点后三位等等
int main(){
char choose='y';
printf("%c\n",choose);
printf("%d\n",choose);
bool status=false;
printf("%d\n",status);
return 0;
}
运行结果
当%d保留位置后输入的为字符时,其输出为字符对应ASCII码值
当将代码中的y换为一个中文字时,执行出错,因为一个中文占两个字符
%d也为布尔型预留位置,非零即真(true)1,换成3时显示1,零即假(false)0,
运算符
符号
代表意义
符号
代表意义
+
加或正号
-
减或负号
*
乘法
!=
不等于
/
除法取整数部分
%
除法取余数部分
ps:x=x%5 可表示0-4这一范围,因为% 是整除取余数,x%5得 0-4
符号
代表意义
符号
代表意义
&&
且(两个同时成立)
双竖线
或(只要一个成立即可)
++
自增
--
自减
==
等于(用于判断)
=
赋值
ps:+=即a=a+一个数的简写 ;-=同理; !=不等于
对c语言中的全局与局部变量的理解
根据变量作用域的不同可分为局部变量和全局变量
局部变量
(在函数内部定义的变量,作用域为函数内部,该函数外无法使用)
全局变量
(在所有函数外定义的变量,一般与头文件在一块儿,作用域从声明开始直到程序结束)
PS:
同一源文件中可以有同名的局部变量与全局变量,但在局部变量的作用域里,同名的全局变量无效
可以在不同的函数里使用同样的变量名代表不同变量
局部变量不能赋值为同名全局变量的值
PS可以在优酷搜索舞动的排序来方便理解
冒泡排序
实现方式:每次都遍历一个数组比较大小,找到最大的一个数沉底,如果数组有N个元素。
第一次需要
选择排序
实现方式:外层循环控制需要遍历多少次(n-1) 再内层循环遍历出当前最小的数
等等
define用于定义常量时即为数值定义别名 ,也可以为类型定义别名
define的好处:1 加强了代码的可读性,2 增强可操作性便于代码修改。(当多处使用#define定义的别名时,别名对应的值需要修改时,可以直接在#define处快速修改)
下面是使用 #define 预处理器定义常量的形式:
#define example -1
扩展了解可看const
函数的使用
函数由一个函数头和一个函数主体组成,俗语说就是代码块 { } == 的独立空间
[每个 C 程序都至少有一个函数,即主函数 main() ]
函数可以用来区分代码块,即封装代码块,好处是运用灵活
使用函数需要了解的几个组成部分:
1.返回类型:一个函数可以返回一个值。return_type 是函数返回的值的数据类型。有些函数执行所需的操作而不返回值,在这种情况下,return_type 是关键字 void。
2.函数名称:这是函数的实际名称。函数名和参数列表一起构成了函数签名。
3.参数:参数就像是占位符。当函数被调用时,您向参数传递一个值,这个值被称为实际参数。参数列表包括函数参数的类型、顺序、数量。参数是可选的,也就是说,函数可能不包含参数。
4.函数主体:函数主体包含一组定义函数执行任务的语句。
一个功能对应一个函数(如下命名)
1.init
2.isExists;
3.bubleSort;
4.play
5.userInput
6.返回 ↓
函数名(type param1,type param2){
代码块
return ;
}
函数使用需要知道的几个过程
函数声明(函数声明会告诉编译器函数名称及如何调用函数。函数的实际主体可以单独定义。)
△针对定义的函数 max(),作函数声明为:
int max(int num1, int num2);
△在函数声明中,参数的名称并不重要,只有参数的类型是必需的,因此下面也是有效的声明:
int max(int, int);
ps:参数类型诸如 void int float char
pps:有驼峰命名法 add download parse
scaleImageToSize
int add(int a, int b){
}
ppps:形式参数:这个代码块的局部变量
调用函数(创建 C 函数时,会定义函数做什么,然后通过调用函数来完成已定义的任务。)
定义函数执行的两种方式
声明和实现一起(操作如下)
int add(int a, int b){
int sum = a + b;
return sum;
}
int minus(int a, int b){
return a - b;
}
先声明 后实现(操作如下)
int minus(int a, int b);
int add(int a, int b);
void test(void);
int main(int argc, const char * argv[]) {
//函数的使用
//通过调用函数的函数名();
add(1, 2);
int result = add(3, 3);
return 0;
}
详情可点击段首链接
c语言标准更新,基础C语言的基础(19.12.1更新)相关推荐
- MySQL基础——DML语言学习\插入数据\删除数据\更新数据
接上篇文章 MySQL基础--DDL语言学习 DML语言学习 Data Manipulation Language 数据操纵语言 主要包括表记录的插入(INSERT).更新(UPDATE).删除(DE ...
- 电脑基础c语言,[电脑基础知识]c语言教案.ppt
[电脑基础知识]c语言教案 C语言程序设计 课程介绍 第一章 计算机组成与程序设计语言 内容提要 计算机组成及工作过程 机器语言程序设计 由低级语言到高级语言 C is the most beauti ...
- java语言编程基础_java语言编程基础
java语言基本要素 高级语言如c++.c#.java等都有一些共同性的东西:关键字.标识符. 运算符.注释.数据类型.常量和变量.语句.函数.数组.高级语言在这些要素上大同小异. Java关键字:一 ...
- C语言零基础入门级数据类型+运算符+控制流+ASCII 码表+面试题【系统学习第二天】
C语言零基础入门级数据类型+运算符+控制流 第一项 C语言->数据类型全讲解上 [1]整型int [2]整型修饰符short.long.unsigned [3]符号位 [4]格式控制符%d+%h ...
- R learning 十八讲 0018-R语言绘图基础
0018-R语言绘图基础 2020-07-29更新:使用代码块,看起来更方便.更改了第6节: 这次不介绍如ggplot2等绘图包, 只记录一些R基础就能实现的东西~ 跟着我爪子敲一遍,相信你会有收获! ...
- Xamarin XAML语言教程基础语法篇大学霸
Xamarin XAML语言教程基础语法篇大学霸 前 言 Xamarin是一个跨平台开发框架.它可以用来开发iOS.Android.Windows Phone和Mac的应用程序.使用Xamarin框 ...
- Python语言编程基础
Python 技能目标 理解编程基本原理和思想 掌握python语言的基础语法 能够使用python进行基本的开发工作 熟练使用项目开发IDE:eclipse,PyDev 能够使用Python开发简单 ...
- 如何学习c语言 零基础20天学会C语言
C语言开发 学习C语言不是一朝一夕的事情,但也不需要花费十年时间才能精通.如何以最小的代价学习并精通C语言是本文的主题.请注意,即使是"最小的代价",也绝不是什么捷径,而是以最短的 ...
- 保姆级零基础 C 语言学习路线,万字总结!
从大学接触 C 语言编程,工作之后一直从事互联网 C/C++ 后台开发工作,粗略算下来有 10 多年经验了(但是年限也并不能代表什么),只能说对 C 语言学习有一些经验可以分享给初学者,让你少走一些弯 ...
最新文章
- 国内外最好用的9大工作任务管理软件
- List查询排序删除泛型 应用
- 两个特征是独立好还是正相关好_长文之详解机器学习的数据特征选择问题
- nodejs express使用node-xlsx实现文件的上传下载导入导出
- LeetCode每日一题 116. 填充每个节点的下一个右侧节点指针
- DIV+CSS布局图片加阴影效果方法
- STL 之count,count_if,max,max_element,min,min_element和random_shuffle
- 蓝桥杯 I.双向排序
- JAVA校内报纸实验_实验(实训)中心2011—2012学年第二学期工作计划
- php隐藏api,PHP 在 Laravel 中动态隐藏 API 字段
- python嵌套列表操作方法_python中多层嵌套列表的拆分方法
- 格式化字符串漏洞利用 四、利用的变体
- C++之Big Three:拷贝构造、拷贝赋值、析构函数探究
- ubuntu系统部署python3.6.4
- iOS开源项目周报1229
- WEB安全基础 - - -弱口令和暴力破解
- 短信验证码注册登录,Python可以用两种方法实现
- git官网下载太慢解决方法
- CROSS APPLY 和 OUTER APPLY 函数
- Win8 配置局域网可以访问IIS网站