文章目录

  • 一、基本构成元素和数据类型
    • 1.数据类型:基本数据类型、构造数据类型、指针类型、空类型
    • 2.常量:整型常量、实型常量、字符型常量、转义字符、符号常量
    • 3.变量:整型变量、实型变量、字符型变量
    • 4.变量:auto、static、register、extern
  • 二、运算符和表达式
    • 1.强制类型转换
    • 2.自增/自减运算符
    • 3.逻辑运算符与逻辑表达式
    • 4.逗号运算符与逗号表达式
  • 三、用户与计算机交互——输入/输出
    • 1.字符数输入/输出
    • 2.字符串输入/输出
    • 3.格式输入函数
  • 四、分支结构程序设计
    • 1.if 语句
    • 1.条件运算符
  • 五、分支结构程序设计
    • 1.while语句
    • 2.转移语句

一、基本构成元素和数据类型

1.数据类型:基本数据类型、构造数据类型、指针类型、空类型

  1. 基本数据类型:整数、字符型、实型(浮点型)、枚举类型
  2. 构造数据类型:数组类型、结构体类型、共同体类型
  3. 指针类型:指针类型的值用来表示某个变量在内存中的地址
  4. 空类型void:(1)对函数返回的限定;(2)对函数参数的限定

2.常量:整型常量、实型常量、字符型常量、转义字符、符号常量

  1. 整型常量:指可以直接使用的整型常数,可以是长整型、短整型、有符号整型和无符号整型
    注:位、字节和字用来描述计算机数据单位或计算机存储单位。这里主要指存储单位。
    最小的存储单位称为位(bit),它可以存储两个值之一(0/1),位是计算机的存储的基本单位,不能在一位中存储更多的信息。可以将计算机的内存划分为多个位,这样内存就可以包含数量很多的位,若要存储更多的信息,就要使用多个位的存储单位。
    字节(byte)是常用的计算机存储单位,1个字节占8位。
    字(word)是自然的存储单位。
    L表示该常量是整数型、U表示该常量是无符号整型
longNumber = 234L ;  表示长整型
unsignedNumber  = 501U;  表示无符号整型
unsignedLomgNumber = 1024U;  表示无符号整型
  1. 八进制常量:需要在数值前用0修饰,数值的每个数码取值是0-7,八进制数通常是无符号数
    十六进制常数:常量数值前用OX或Ox前缀,数值的取值码为0-9,A-F或a-f,表示10-15
    十进制:不需要添加前缀
  2. 计算机的符号数有三种表示方法:原码、反码、补码,对于有符号整数,其在内存中存放的最左边一位表示符号位,0为正数,1为负数
  3. 实型常量:十进制小数常量、指数形式
    十进制常量:也称科学计数方式0-9和小数点组成
    指数形式:e/E
  4. 字符型常量:用单引号括起来的一个字符
    (1)只能由单引号括起来
    (2)只能是一个字符
    (3)区分大小写
  5. 字符串常量:双引号,C语言中,存储字符串常量时,系统会在字符串的末尾自动加一个’\0’字符作为字符串的结束标志。
  6. 符号常量
    #define price 5

3.变量:整型变量、实型变量、字符型变量

  1. 整型变量: 有符号的,可以有负值,signed可以省略 无符号的,>0,unsigned不可以省略
  2. 实型变量: 单精度类型float:占4个字节的内存空间
    %f 双竞速类型double:占8个字节的内存空间
    %f 长双精度类型long double :16 %f
  3. 字符型变量: char,占一个字节

4.变量:auto、static、register、extern

  1. auto和static
    相同:
    作用域都仅限于声明变量的函数中
    区别:
    auto:当函数或语句结束时,系统自动释放空间
    static::变量保持函数上一次运行结束的结果
    运行结果比较:
#include <stdio.h>void auto_fun();
void static_fun();int main()
{printf("auto第一次运行结果:\n");auto_fun();printf("auto第二次运行结果:\n") ;auto_fun();printf("static第一次运行结果:\n") ;static_fun();printf("static第二次运行结果:\n") ;static_fun();return 0;
}void auto_fun()
{auto int autoNum=5;autoNum = autoNum*2;printf("auto运行结果:%d\n",autoNum);} void static_fun()
{static int staticNum = 5;staticNum = staticNum*2;printf("static运行结果:%d",staticNum); }

  1. register变量:寄存器变量 register变量称为寄存器变量,存放在计算机的某个硬件中,而不思内存中,读写速度高。 说明:只有局部自动变量和函数的形式参数可以作为寄存器变量 即使定义变量存储类别为寄存器变量,变量的值也不一定是寄存器变量
    由于大多数计算机的寄存器不占用内存地址,所以无法获取寄存器变量的地址,即使编译器忽略register修饰把变量存储在内存中

  2. extern变量:外部变量
    作用域是从变量定义处开始,到本程序文件的末尾。如果文件在定义之前引用该外部变量,就要用关键字extern对改文件做外部声明。

#include <stdio.h>
int main()
{extern int externNum;printf("%d\n",externNum);return 0;
}int externNum = 10;

二、运算符和表达式

1.强制类型转换

(类型说明符) (表达式)

float i= 10.5;
int j=(float) i;

2.自增/自减运算符

++i:相当于i=i+1,i先执行自增1,再参与其他运算
–i:相当于i=i-1,i先执行自减1,
i++:相当于i=i+1,i参与运算后,i再执行自增1

3.逻辑运算符与逻辑表达式

&&、||、!

4.逗号运算符与逗号表达式

表达式1,表达2,…,表达式n
求解过程:先求解表达式1,再求解表达式2,一直求解到表达式n,最终的整个表达式的值就是表达式n的值
逗号运算符的优先级是所有运算符中最低的
a=2,5-1,4+3,69;算出a=2
a=(2,5-1,4+3,6
9);算出a=54

三、用户与计算机交互——输入/输出

1.字符数输入/输出

输出:putchar()函数
输入:getchar()函数
putchar()函数每次只能输入一个字符,换行操作使用转义字符’\n’
getchar()函数每次只能接收一个字符,输入数字时也当做字符处理,输入多个字符时只接收第一个字符,getchar()的返回类型是整型,所以可以将返回值赋给一个字符变量、整型变量、或者是作为表达式的一部分
putchar()和getchar()的区别:getchar()函数没有参数,函数返回的的值就是从终端输入的字符

#include <stdio.h>int main()
{char ch;ch = getchar();putchar(ch);putchar('\n');getchar();     //读入回车字符<Enter> putchar(getchar());return 0;
}

2.字符串输入/输出

输出puts() : int puts(char *str);
输入gets():char *gets(char *str);

puts()函数:
参数str是字符指针类型,可以用来指向一个字符串,如果调用成功,就会返回一个非负整数,否则返回EOF(C语言中表示文件结束符)的同时设置错误指示;
会找到字符串中的第一个’\0’字符前所有的字符后换行,即在所要输出的字符串后自动添加’\n’字符

#include <stdio.h>int main()
{char *str = "Hello c's world!";puts("Hello c's world!");puts(str);puts("Hello c's \0 world!'");return 0;
}

gets()函数:
读取字符串时,遇到换行符表示读取结束,读取结束后将换行符转换为字符串终止符’\0’

3.格式输入函数

  1. printf()函数
    格式控制
    %d 十进制
    %ld 十进制长整型
    %c 字符型
    %s 字符串
    %f 实型变量
    %5d 要求输出宽度为5,不够的左边补空格
    %5.4lf 输出的宽度是5,精度是4
    %-10.3s “-”表示如果字符串长度小于10,则字符串左对齐,右补空格;“.3”表示输出的字符串的前3个字符;“%-10.3s”表示输出字符串的前3个字符,并且左对齐
  2. scanf()函数
    scanf(格式控制,地址列表)
    (1) *字符:用以表示输入项,读入后不赋予相应的变量,用来跳过该输入值
    scanf("%d * %d",&a,&b);当输入1,2,3时,把1赋给a,把3赋给c
    (2) 宽度
    scanf("%5d",&a);当输入123456789时,只把12345赋给a
    (3) scanf()函数没有精度控制

四、分支结构程序设计

1.if 语句

if(表达式) 语句
if(表达式) 语句块1 else 语句块2
if(表达式1) 语句1; else if(表达式2) 语句块2; … ;else if(表达式n-1) 语句n-1; else 语句n;
if语句的嵌套

1.条件运算符

  1. 表达式1 ? 表达式2 : 表达式3;
  2. switch语句
switch (表达式)
{case 常量表达式1:语句块1;case 常量表达式2:语句块2;...case 常量表达式n:语句块n;default:语句块 n+1;
}

五、分支结构程序设计

1.while语句

  1. 当型循环语句:先判断条件单的当型
while (表达式)
{语句块;
}
  1. 直到型循环语句:do-while语句
do
{循环体语句;
}while(表达式);
  1. for语句
for(表达式1;表达式;表达式3)
{循环体语句;
}

2.转移语句

  1. goto语句
    goto 标识符;
#include <stdio.h>int main()
{goto flag;pritf("1");flag:printf("2");return 0;
}
  1. break语句:退出break语句
  2. continue语句:终止本次循环,执行下一循环

2203-C语言基础知识相关推荐

  1. R语言基础知识详解及概括

    R语言基础知识详解及概括 目录 R语言基础知识详解及概括 R数据可视化示例 R语言进行数据创建

  2. python代码计算矩形面积_学习资料Python语言基础知识笔记以及答案

    01. Python语言基础知识等笔记: 02. Python作业答案: [例2-3]通过输入函数input()输入股票代码.股票名称.当天股票最高价和最低价,通过输出函数print()输出股票代码+ ...

  3. 计算机java语言教程,计算机JAVA教程二讲Java语言基础知识.doc

    计算机JAVA教程二讲Java语言基础知识 2.1简单数据类型 2.1.1 标识符和保留字 1.标识符 程序员对程序中的各个元素加以命名时使用的命名记号称为标识符(identifier).Java语言 ...

  4. java填空题_Java语言基础知识填空题

    Java语言基础知识填空题 想学java语言的人,要多做题才能巩固知识,下面小编为大家带来了Java语言基础知识的填空题,欢迎大家阅读! Java语言基础知识填空题. 1.浮点型数据根据数据存储长度和 ...

  5. c打印无符号整数_C语言基础知识:printf的输出格式,C/C++语言编程讲解

    C语言基础知识:printf的输出格式 printf()函数是格式输出函数,请求printf()打印变量的指令取决与变量的类型.例如,在打印整数是使用%d符号,在打印字符是用%c 符号.这些符号被称为 ...

  6. -wl是不是c语言的标识符,C语言基础知识考试

    第一章 C语言基础知识 一.选择题 1.C语言规定,必须用 作为主函数名.(0级) A)Function B)include C)main D)stdio 2.一个C程序可以包含任意多个不同名的函数, ...

  7. C语言中的标识符以字母或下划线开头,牛逼大神整理的C语言基础知识,你确定你不码下来?...

    [[怪兽爱C语言]牛逼大神整理的C语言基础知识,你确定你不码下来?]https://toutiao.com/group/6577344220355363341/?iid=15906422033& ...

  8. MATLAB基础教程(2) 语言基础知识

    本教程主要讲到MATLAB语法.运算符.数据类型.数组索引及处理等等语言基础知识.大概可分四大部分: (1)输入命令 输入命令- MATLAB & Simulink- MathWorks 中国 ...

  9. 无锡c语言编程培训学校,无锡c语言培训班——C语言基础知识

    原标题:无锡c语言培训班--C语言基础知识 1. 每个C程序有且只有一个主函数main(),且程序必须从main()函数开始执行,并在main()函数中结束. 2.在C语言中,用e来表示科学计数法时, ...

  10. c语言二级考试基础知识,2018年计算机二级考试《C语言》考点:C语言基础知识...

    2017年计算机等级考试已经结束,出国留学网为考生们整理了2018年计算机二级考试<C语言>考点,希望能帮到大家,想了解更多资讯,请关注我们,小编会第一时间更新哦. 2018年计算机二级考 ...

最新文章

  1. vue修改代码同步页面_vue修改数组中对象属性值页面不同步更新渲染问题处理
  2. 你可以通过这13种方法帮助Linux发展
  3. TIOBE 11月编程语言排行:Java首次跌出前二,Python 势不可挡。
  4. java包 类 方法_Java中包与包之间方法的调用及其关键字区分(基础)
  5. css网格_CSS网格容器
  6. Matlab【基础】【02】 将APP打包生成可执行EXE文件
  7. 阿里小二平时和商家交流的时候,明确告知流量喜欢什么样的产品?
  8. WPF之Binding基础三 Binding的路径Path
  9. 左右方块消除html5,html5消除方块游戏总结-对象
  10. 小琪不小气 - 微信自带表情符号的默认代码
  11. linux中如何从txt转为nc文件,【转】linux下nc的使用
  12. 长微博android,凑合着用吧:Android版长微博
  13. 开展软件测试的目标和目的究竟是什么?
  14. 饥荒专用服务器全图显示代码,饥荒联机地图全开代码
  15. 计算机知识学习——window10台式电脑显示未插入扬声器或耳机解决方案
  16. 阿里云二手域名哪些值得买?
  17. iPerf 3.13 的交叉编译,移植,使用
  18. 项目进度紧张,如何确保保质保量完成?
  19. vim 中:wq和:wq的不同之处
  20. linux字符设备和块设备的区别 以及网络设备

热门文章

  1. d3d(Direct X)中的comptr技术详解
  2. 计算机毕业设计 SSM+Vue租购汽车管理系统 车辆租赁类型管理系统 租车违章管理系统
  3. 人体排毒时间与自然健康的生活方式
  4. 【个人向】琉璃流光年——半山 下阙
  5. java 8583报文解析_8583报文解析实例
  6. 宝物志分享:三星堆出土绝美黄金面具,制作工艺惊人
  7. cdh6.3.2部署过程发现的问题
  8. 我用Python自动抢微信红包!
  9. Cesium创建水面效果
  10. 干货 | 万字长文带你复习线性代数!(二)