2203-C语言基础知识
文章目录
- 一、基本构成元素和数据类型
- 1.数据类型:基本数据类型、构造数据类型、指针类型、空类型
- 2.常量:整型常量、实型常量、字符型常量、转义字符、符号常量
- 3.变量:整型变量、实型变量、字符型变量
- 4.变量:auto、static、register、extern
- 二、运算符和表达式
- 1.强制类型转换
- 2.自增/自减运算符
- 3.逻辑运算符与逻辑表达式
- 4.逗号运算符与逗号表达式
- 三、用户与计算机交互——输入/输出
- 1.字符数输入/输出
- 2.字符串输入/输出
- 3.格式输入函数
- 四、分支结构程序设计
- 1.if 语句
- 1.条件运算符
- 五、分支结构程序设计
- 1.while语句
- 2.转移语句
一、基本构成元素和数据类型
1.数据类型:基本数据类型、构造数据类型、指针类型、空类型
- 基本数据类型:整数、字符型、实型(浮点型)、枚举类型
- 构造数据类型:数组类型、结构体类型、共同体类型
- 指针类型:指针类型的值用来表示某个变量在内存中的地址
- 空类型void:(1)对函数返回的限定;(2)对函数参数的限定
2.常量:整型常量、实型常量、字符型常量、转义字符、符号常量
- 整型常量:指可以直接使用的整型常数,可以是长整型、短整型、有符号整型和无符号整型
注:位、字节和字用来描述计算机数据单位或计算机存储单位。这里主要指存储单位。
最小的存储单位称为位(bit),它可以存储两个值之一(0/1),位是计算机的存储的基本单位,不能在一位中存储更多的信息。可以将计算机的内存划分为多个位,这样内存就可以包含数量很多的位,若要存储更多的信息,就要使用多个位的存储单位。
字节(byte)是常用的计算机存储单位,1个字节占8位。
字(word)是自然的存储单位。
L表示该常量是整数型、U表示该常量是无符号整型
longNumber = 234L ; 表示长整型
unsignedNumber = 501U; 表示无符号整型
unsignedLomgNumber = 1024U; 表示无符号整型
- 八进制常量:需要在数值前用0修饰,数值的每个数码取值是0-7,八进制数通常是无符号数
十六进制常数:常量数值前用OX或Ox前缀,数值的取值码为0-9,A-F或a-f,表示10-15
十进制:不需要添加前缀 - 计算机的符号数有三种表示方法:原码、反码、补码,对于有符号整数,其在内存中存放的最左边一位表示符号位,0为正数,1为负数
- 实型常量:十进制小数常量、指数形式
十进制常量:也称科学计数方式0-9和小数点组成
指数形式:e/E - 字符型常量:用单引号括起来的一个字符
(1)只能由单引号括起来
(2)只能是一个字符
(3)区分大小写 - 字符串常量:双引号,C语言中,存储字符串常量时,系统会在字符串的末尾自动加一个’\0’字符作为字符串的结束标志。
- 符号常量
#define price 5
3.变量:整型变量、实型变量、字符型变量
- 整型变量: 有符号的,可以有负值,signed可以省略 无符号的,>0,unsigned不可以省略
- 实型变量: 单精度类型float:占4个字节的内存空间
%f 双竞速类型double:占8个字节的内存空间
%f 长双精度类型long double :16 %f - 字符型变量: char,占一个字节
4.变量:auto、static、register、extern
- 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); }
register变量:寄存器变量 register变量称为寄存器变量,存放在计算机的某个硬件中,而不思内存中,读写速度高。 说明:只有局部自动变量和函数的形式参数可以作为寄存器变量 即使定义变量存储类别为寄存器变量,变量的值也不一定是寄存器变量
由于大多数计算机的寄存器不占用内存地址,所以无法获取寄存器变量的地址,即使编译器忽略register修饰把变量存储在内存中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,69);算出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.格式输入函数
- printf()函数
格式控制
%d 十进制
%ld 十进制长整型
%c 字符型
%s 字符串
%f 实型变量
%5d 要求输出宽度为5,不够的左边补空格
%5.4lf 输出的宽度是5,精度是4
%-10.3s “-”表示如果字符串长度小于10,则字符串左对齐,右补空格;“.3”表示输出的字符串的前3个字符;“%-10.3s”表示输出字符串的前3个字符,并且左对齐 - 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 ? 表达式2 : 表达式3;
- switch语句
switch (表达式)
{case 常量表达式1:语句块1;case 常量表达式2:语句块2;...case 常量表达式n:语句块n;default:语句块 n+1;
}
五、分支结构程序设计
1.while语句
- 当型循环语句:先判断条件单的当型
while (表达式)
{语句块;
}
- 直到型循环语句:do-while语句
do
{循环体语句;
}while(表达式);
- for语句
for(表达式1;表达式;表达式3)
{循环体语句;
}
2.转移语句
- goto语句
goto 标识符;
#include <stdio.h>int main()
{goto flag;pritf("1");flag:printf("2");return 0;
}
- break语句:退出break语句
- continue语句:终止本次循环,执行下一循环
2203-C语言基础知识相关推荐
- R语言基础知识详解及概括
R语言基础知识详解及概括 目录 R语言基础知识详解及概括 R数据可视化示例 R语言进行数据创建
- python代码计算矩形面积_学习资料Python语言基础知识笔记以及答案
01. Python语言基础知识等笔记: 02. Python作业答案: [例2-3]通过输入函数input()输入股票代码.股票名称.当天股票最高价和最低价,通过输出函数print()输出股票代码+ ...
- 计算机java语言教程,计算机JAVA教程二讲Java语言基础知识.doc
计算机JAVA教程二讲Java语言基础知识 2.1简单数据类型 2.1.1 标识符和保留字 1.标识符 程序员对程序中的各个元素加以命名时使用的命名记号称为标识符(identifier).Java语言 ...
- java填空题_Java语言基础知识填空题
Java语言基础知识填空题 想学java语言的人,要多做题才能巩固知识,下面小编为大家带来了Java语言基础知识的填空题,欢迎大家阅读! Java语言基础知识填空题. 1.浮点型数据根据数据存储长度和 ...
- c打印无符号整数_C语言基础知识:printf的输出格式,C/C++语言编程讲解
C语言基础知识:printf的输出格式 printf()函数是格式输出函数,请求printf()打印变量的指令取决与变量的类型.例如,在打印整数是使用%d符号,在打印字符是用%c 符号.这些符号被称为 ...
- -wl是不是c语言的标识符,C语言基础知识考试
第一章 C语言基础知识 一.选择题 1.C语言规定,必须用 作为主函数名.(0级) A)Function B)include C)main D)stdio 2.一个C程序可以包含任意多个不同名的函数, ...
- C语言中的标识符以字母或下划线开头,牛逼大神整理的C语言基础知识,你确定你不码下来?...
[[怪兽爱C语言]牛逼大神整理的C语言基础知识,你确定你不码下来?]https://toutiao.com/group/6577344220355363341/?iid=15906422033& ...
- MATLAB基础教程(2) 语言基础知识
本教程主要讲到MATLAB语法.运算符.数据类型.数组索引及处理等等语言基础知识.大概可分四大部分: (1)输入命令 输入命令- MATLAB & Simulink- MathWorks 中国 ...
- 无锡c语言编程培训学校,无锡c语言培训班——C语言基础知识
原标题:无锡c语言培训班--C语言基础知识 1. 每个C程序有且只有一个主函数main(),且程序必须从main()函数开始执行,并在main()函数中结束. 2.在C语言中,用e来表示科学计数法时, ...
- c语言二级考试基础知识,2018年计算机二级考试《C语言》考点:C语言基础知识...
2017年计算机等级考试已经结束,出国留学网为考生们整理了2018年计算机二级考试<C语言>考点,希望能帮到大家,想了解更多资讯,请关注我们,小编会第一时间更新哦. 2018年计算机二级考 ...
最新文章
- vue修改代码同步页面_vue修改数组中对象属性值页面不同步更新渲染问题处理
- 你可以通过这13种方法帮助Linux发展
- TIOBE 11月编程语言排行:Java首次跌出前二,Python 势不可挡。
- java包 类 方法_Java中包与包之间方法的调用及其关键字区分(基础)
- css网格_CSS网格容器
- Matlab【基础】【02】 将APP打包生成可执行EXE文件
- 阿里小二平时和商家交流的时候,明确告知流量喜欢什么样的产品?
- WPF之Binding基础三 Binding的路径Path
- 左右方块消除html5,html5消除方块游戏总结-对象
- 小琪不小气 - 微信自带表情符号的默认代码
- linux中如何从txt转为nc文件,【转】linux下nc的使用
- 长微博android,凑合着用吧:Android版长微博
- 开展软件测试的目标和目的究竟是什么?
- 饥荒专用服务器全图显示代码,饥荒联机地图全开代码
- 计算机知识学习——window10台式电脑显示未插入扬声器或耳机解决方案
- 阿里云二手域名哪些值得买?
- iPerf 3.13 的交叉编译,移植,使用
- 项目进度紧张,如何确保保质保量完成?
- vim 中:wq和:wq的不同之处
- linux字符设备和块设备的区别 以及网络设备