IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C语言程序设计(第二章) -> 正文阅读

[C++知识库]C语言程序设计(第二章)

C语言程序设计(第二章)

1、常量的分类及表示形式

在程序运行的过程中,其值不能被改变的量称为常量

(1)整型常量

? 如1000,123854,0.213,-123等都是整型常量

(2)实型常量

①十进制小数形式,由数字和小数点组成

? 如123.456,0.345,-596.2,0.0,12.0等

②指数形式

? 如12.34e3(代表12.34×103),-345.54e-25(代表-346.54×10-25),0.123E-23(代表0.123×10^-23),以字母e或者E表示以10为底的指数,需要注意的是:e或E后面必须为整数

(3)字符常量

①普通字符

? 用单撇号括起来的一个字符,如’a’,‘Z’,‘3’,’#’,’?’。字符常量存储在计算机存储单元中时,并不是存储字符(‘a’,‘Z’),而是以其代码存储的(一般采用ASCII代码),例如字符a的ASCII代码为97,因此,在存储单元中存放的是97(以二进制形式存放)。

②转义字符
转义字符字符值输出结果
\’一个单撇号(’)输出单撇号字符 ’
\"一个双撇号(”)输出双撇号字符 ‘’
\?一个问号(?)输出问号字符 ?
\\一个反斜杠(\)输出反斜杠字符 \
\a警告(alert)传声声音或视觉信号
\b退格(backspace)将光标当前位置后退一个字符
\f换页(form feed)将光标当前位置移到下一页开头
\n换行将光标当前位置移到下一行开头
\r回车(carriage return)将光标当前位置移到本行开头
\t水平制表符将光标当前位置移到下一个Tab位置
\v垂直制表符将光标当前位置移到下一个垂直制表对齐点
\o、\oo、\ooo 其中o代表一个八进制数字与该八进制码对应的ASCII字符与该八进制码对应的字符
\xh[h···] 其中h代表一个十六进制数字与该十六进制码对应的ASCII字符与该十六进制码对应的字符

(4)字符串常量

? 如"boy","123"等,用双撇号把若干个字符括起来。

(5)符号常量

? 用#define指令,指定用一个符号名代表一个常量。如:

#define PI 3.1416    //注意不用分号结束

2、变量

变量需要先定义再使用

#include<stdio.h>
int main()
{
	int a=1,b=2,c,d,sum;           //变量a和变量b在定义时就已经赋值
	c=3;
	d=4;                           //变量c和d,则是先定义,后赋值
	sum=a+b;                       //a变量与b变量的值相加,再赋值给变量sum
	printf("a+b=%d",sum);                
	return 0;
}

3、常变量

C99允许使用常变量,方法是在定义变量时,前面加上const,如:

const int a=3;

4、标识符

在计算机高级语言中,用来对变量、符号常量名、函数、数组、类型等命名的有效字母序列统称为标识符。简单地说,标识符就是一个对象的名字。

C语言规定标识符只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或者下划线。

5、数据类型

在这里插入图片描述

5.1、整形数据常见的存储空间和值的范围

类型字节数取值范围
int(基本整型)4-21474836482147458647,即-2^31(2^31-1)
unsigned int(无符号基本整型)404294967295,即0(2^32-1)
short(短整型)2-3276832767,即-2^15(2^15-1)
unsigned short(无符号短整型)2065535,即0(2^16-1)
long(长整型)4-21474836482147458647,即-2^31(2^31-1)
unsigned long(无符号长整形)404294967295,即0(2^32-1)
long long(双长整型)8-92233720368547758089223372036854775807,即-2^63(2^63-1)
unsigned long long(无符号双长整型)8018446744073709551615,即0(2^64-1)

6、运算符和表达式

C语言提供以下运算符:

运算符符号
算术运算符(+、-、*、/、%、++、–)
关系运算符(>、<、==、>=、<=、!=)
逻辑运算符(!、&&、||)
位运算符(<<、>>、~、|、^、&)
赋值运算符(=,及其扩展赋值运算符)
条件运算符(?:)
逗号运算符(,)
指针运算符(*和&)
求字节数运算符(sizeof)
强制类型转换运算符((类型))
成员运算符( . 、—>)
下标运算符( [ ] )
其他(如函数调用运算符())

6.1、不同类型数据间的混合运算

(1)+、-、*、/ 运算的两个数中有一个数为float或double型,结果是double型,因为系统将所有float型数据都先转换为double型,然后在进行运算。
(2)如果int型与float型或double型数据进行运算,先把int型和float型数据转换为double型,然后进行运算,结果是double型。
(3)字符(char)型数据与整型数据进行运算,就是把字符的ASCII代码与整型数据进行运算。如:

6.2、强制类型转换运算符

可以利用强制类型转换运算符将一个表达式转换成所需类型。(类型名)(表达式)
例如:
(double)a;            //将a转换成double型
(int)(x+y);			  //将x+y的值转换成int型
(float)(5%2);		  //将5%2的值转换成float型

7、C语句的作用和分类

一个函数包含声明部分和执行部分,执行部分是由语句组成的,语句的作用是向计算机系统发出指令,要求执行相应的操作。

C语句可分为五类:

(1)控制语句
语句属性
if()···else···条件语句
for()···循环语句
while()···循环语句
do···while···循环语句
continue结束本次循环语句
break中止执行switch或循环语句
switch多分支选择语句
return从函数返回语句
goto转向语句,在结构化程序中基本不用goto语句

上面9种语句的()中是一个判别条件,“···”表示内嵌的语句,比如:

if(x>y)	z=x; else z=y;        //x>y是一个判别条件  z=x; 和 z=y是c语句
//实际上可以写成
if(x>y)
{
    z=x;
}
else
{
    z=y;
}
(2)函数调用语句

函数调用语句由一个函数调用加一个分号构成,例如:

printf("printf是一个输出函数。");
(3)表达式语句

表达式语句由一个表达式加一个分号构成,最典型的就是由赋值表达式构成的一个赋值语句。例如:

a=3;            //a=3 是一个赋值表达式    a=3; 是一个赋值语句

一个表达式的最后加上了一个分号就成了一个语句

(4)空语句
;
(5)复合语句

可以用{}把一些语句和声明括起来成为复合语句(又称语句块),例如:

{
    float pi=3.14159,r=2,area;
    area=pi*r*r;
    printf("area=%f",area);
}

复合语句常用在if语句和循环中

7.1、赋值语句

着重了解复合的赋值运算符

复合的赋值运算符
a+=3;        //等价于a=a+3
a*=8;        //等价于a=a*8
a%=3         //等价于a=a%3
赋值表达式
a=b=c=5;            //赋值表达式的值为5,a,b,c值均为5
a=5+(c=6)           //表达式值为11,a值为11,c值为6
a=(b=10)/(c=2)      //表达式值为5,b值为10,c值为2

8、数据的输入和输出

首先看一个例题:
求ax2+bx+c=0方程的根,a,b,c由键盘输入,设b2-4ac>=0。
由数学知识可知:如果b^2-4ac>=0,则有两个实根。

在这里插入图片描述

#include<stdio.h>
#include<math.h>                            //调用函数库,该题需要使用sqrt函数(求平方根函数)
int main(){
    double x1,x2,a,b,c,s;
    printf("请输入a、b、c的值:");
    scanf("%lf%lf%lf",&a,&b,&c);			//输入双精度型变量的值需要用格式声明“%lf”  &a表示变量a在内存中的地址
    s=sqrt(b*b-4*a*c);
    x1=(-b+s)/(2*a);
    x2=(-b-s)/(2*a);
    printf("x1=%5.2f\n",x1);					// %5.2f,指定数据占5列,小数占2列
    printf("x2=%5.2f\n",x2);
    return 0;
}

运行结果:
    请输入a、b、c的值:1 3 2
	x1=-1.00
	x2=-2.00

除了printf和scanf,输出和输入函数外,还有一批标准输出输入函数:

printf(格式输出)printf(格式控制,输出表列)scanf(格式输入)scanf(格式控制,地址表列)
putchar(输出字符)putchar(c)getchar(输入字符)getchar()
puts(输出字符串)puts(c)gets(输入字符串)gets(c)

printf函数中用到的格式字符:

格式字符说 明
d,i以带符号的十进制形式输出整数(正数不输出符号)
o以八进制无符号形式输出整数(不输出前导符0)
x,X以十六进制无符号形式输出整数(不输出前导符0x),用x则输出十六进制 数的a~f时以小写形式输出,用X时,则以大写字母输出
u以无符号十进制形式输出整数
c以字符形式输出,只输出一个字符
s输出字符串
f以小数形式输出单、双精度数,隐含输出6位小数
e,E以指数形式输出实数,用e时指数以“e”表示(如1.2e+02),用E时指数以 “E”表示(如1.2E+02)
g,G选用%f或%e格式中输出宽度较短的一种格式,不输出无意义的0。用G 时,若以指数形式输出,则指数以大写表示

scanf函数中用到的格式字符与printf函数中基本一致

8.1、有关数据输入输出的概念

(1)输入输出是以计算机主机位主体而言的
(2)C语言本身不提供输入输出语句,printf和scanf不是C语言的关键字,而只是库函数的名字
(3)要在程序文件的开头用预处理指令#include把有关头文件放在程序中,如:
#include<stdio.h>
  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-02-09 20:30:33  更:2022-02-09 20:30:55 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 7:39:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码