对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更新)相关推荐

  1. MySQL基础——DML语言学习\插入数据\删除数据\更新数据

    接上篇文章 MySQL基础--DDL语言学习 DML语言学习 Data Manipulation Language 数据操纵语言 主要包括表记录的插入(INSERT).更新(UPDATE).删除(DE ...

  2. 电脑基础c语言,[电脑基础知识]c语言教案.ppt

    [电脑基础知识]c语言教案 C语言程序设计 课程介绍 第一章 计算机组成与程序设计语言 内容提要 计算机组成及工作过程 机器语言程序设计 由低级语言到高级语言 C is the most beauti ...

  3. java语言编程基础_java语言编程基础

    java语言基本要素 高级语言如c++.c#.java等都有一些共同性的东西:关键字.标识符. 运算符.注释.数据类型.常量和变量.语句.函数.数组.高级语言在这些要素上大同小异. Java关键字:一 ...

  4. C语言零基础入门级数据类型+运算符+控制流+ASCII 码表+面试题【系统学习第二天】

    C语言零基础入门级数据类型+运算符+控制流 第一项 C语言->数据类型全讲解上 [1]整型int [2]整型修饰符short.long.unsigned [3]符号位 [4]格式控制符%d+%h ...

  5. R learning 十八讲 0018-R语言绘图基础

    0018-R语言绘图基础 2020-07-29更新:使用代码块,看起来更方便.更改了第6节: 这次不介绍如ggplot2等绘图包, 只记录一些R基础就能实现的东西~ 跟着我爪子敲一遍,相信你会有收获! ...

  6. Xamarin XAML语言教程基础语法篇大学霸

    Xamarin XAML语言教程基础语法篇大学霸 前  言 Xamarin是一个跨平台开发框架.它可以用来开发iOS.Android.Windows Phone和Mac的应用程序.使用Xamarin框 ...

  7. Python语言编程基础

    Python 技能目标 理解编程基本原理和思想 掌握python语言的基础语法 能够使用python进行基本的开发工作 熟练使用项目开发IDE:eclipse,PyDev 能够使用Python开发简单 ...

  8. 如何学习c语言 零基础20天学会C语言

    C语言开发 学习C语言不是一朝一夕的事情,但也不需要花费十年时间才能精通.如何以最小的代价学习并精通C语言是本文的主题.请注意,即使是"最小的代价",也绝不是什么捷径,而是以最短的 ...

  9. 保姆级零基础 C 语言学习路线,万字总结!

    从大学接触 C 语言编程,工作之后一直从事互联网 C/C++ 后台开发工作,粗略算下来有 10 多年经验了(但是年限也并不能代表什么),只能说对 C 语言学习有一些经验可以分享给初学者,让你少走一些弯 ...

最新文章

  1. 国内外最好用的9大工作任务管理软件
  2. List查询排序删除泛型 应用
  3. 两个特征是独立好还是正相关好_长文之详解机器学习的数据特征选择问题
  4. nodejs express使用node-xlsx实现文件的上传下载导入导出
  5. LeetCode每日一题 116. 填充每个节点的下一个右侧节点指针
  6. DIV+CSS布局图片加阴影效果方法
  7. STL 之count,count_if,max,max_element,min,min_element和random_shuffle
  8. 蓝桥杯 I.双向排序
  9. JAVA校内报纸实验_实验(实训)中心2011—2012学年第二学期工作计划
  10. php隐藏api,PHP 在 Laravel 中动态隐藏 API 字段
  11. python嵌套列表操作方法_python中多层嵌套列表的拆分方法
  12. 格式化字符串漏洞利用 四、利用的变体
  13. C++之Big Three:拷贝构造、拷贝赋值、析构函数探究
  14. ubuntu系统部署python3.6.4
  15. iOS开源项目周报1229
  16. WEB安全基础 - - -弱口令和暴力破解
  17. 短信验证码注册登录,Python可以用两种方法实现
  18. git官网下载太慢解决方法
  19. CROSS APPLY 和 OUTER APPLY 函数
  20. Win8 配置局域网可以访问IIS网站

热门文章

  1. JSON字符串转为java对象
  2. 【SQL】— 面试SQL,订单金额统计
  3. CAD2:cad常用快捷命令 进入草图设置
  4. 直播回顾:关于龙蜥操作系统软件包构建,这有一份开发者指南(附PPT)
  5. csdn论坛中关于在word中生成日历的问题的解答
  6. Whitted-Style 光线追踪
  7. 知识星球Lottery分布式抽奖系统项目-Note-问题描述/解决方案/Note/Question
  8. CentOS 挂载硬盘,适用于fdisk找不到硬盘的场景
  9. 从作用域到作用域链,思维脑图+代码示例让知识点一目了然!系列(三)
  10. 去除chrome网站https的安全检测