C++语言程序设计知识点
更新时间:2023-09-30 18:46:01 阅读量: 综合文库 文档下载
《C++语言程序设计》
第一章 :程序设计基本概念
1.1程序和程序设计
程序:连续执行的一条条指令的集合称为“程序”。 1.1.2程序设计
1.确定数据结2.确定算法3.编码4.在计算机上调试程序 5.整理并写出文档资料 1.2算法
定义:是指为了解决某个特定的问题而采取的确定且有限的步骤。
1有穷性 2确定性 3可行性 4有零个或多个输入 5有一个或多个输出 1.3结构化程序设计和模块化结构 结构化程序由三种基本结构组成
1顺序结构 2选择结构 3循环结构 计算机能直接执行的程序是目标程序
第二章 :C程序设计的初步知识
简单C 语句必须以分号结束
C程序书写格式自由,一个语句可以写在多行上
第二课:C语言的基础知识
2.2标识符,常量和变量 2.2.1 标识符:
定义:由字母,数字和下划线组成,并且第一个字符必须为字母或下划线的。这样的组成就是标识符。
注意:在C中大写字母与小字字母被认为是两个不同的字符。 分类:
关键字:在C中已经定义好了的,不能用作它用的。如if double int 等等。 预定义标识符:如printf scanf
用户标识符:用户根据自己的需求来定义的。
2.2.2常量:
定义:是指在程序的执行的过程中,其值不会被改变的量。 分类:
整型常量:没有小数的常量
如:3 9 1234等等都是。 实型常量:有小数点的常量 如:3.9 3.0 3.
字符常量:由单个字符组成的量 如:?a? ?b? ?3?
字符串常量:至少由一个字符组成的量 如:“a” “abc” “ beijing”
符号常量:符号常量的值到底是多少,这是由在来定义符号常量时来决定的
2.3整型常量与实型常量 整型常量的几个表示方法 十进制数:
八进制数:以0开头的数字,由0-7组成。 下列合法的八进制数是 A,0 B,028 C,-077 D,01.0
十六进制数:以0X开头,由0-9和A-F组成。 A,oxff B,0xabc C,0x11 D,0x19 实型常量 123.4 小数形式:123.4 指数形式:1.234e2
1. 字母e和E之前必须要有数字 2.字母e和E之后的数字必须是整数 3.字母e’和数字之间不能有空格。
A,2.607E-1 0.8103E 2 -77.77 456E-2 0.1e+6 1.23E1.2
2.2.4变量:
1.定义:在程序的运行过程中其值可以被改变的量,就叫变量。
2.原则:变量必须先定义后使用。变量定义的过程就是给变量开辟存储单元的过程。 3.分类:
整型变量:用关键字int来表示. short int 短整型
long int 长整型 在内存中占4个字节 如123L unsigned 无符号 如有-200U这就是错的。 变量的定义:int a 这是定义了一个整型变量a. 实型变量:用关键字 double 或float来表示。 float 单精度 在内存中占4个字节 double 双精度 在内存中占8个字节。
2.2.5 算术表达式
一、基本的算术运算符
+ - * / % 这些是双目运算符(就是指操作对象有两个) 注意:
除%外,其它的运算符的运算对象可以是整型也可以是实型。%的操作对象只能是整型。
如10%3=1 10.7%3 10%4.5 x%3=0 + - 也可以做为单目运算。-5.4 +4.9 说明:
1.如果双目运算符两边运算数的类型一致,则所得结果的类型与运算数的类型一致。如 1.0/2.0=0.5 1/2=0
2.如果双目运算符两边运算数的类型不一致,则系统会自动进行类型转换,使两边的类型一致后,再进行运算。 1.0/2=0.5
3.所有的单精度数据,在运算过程中都以双精度进行运算。 二、优先级
() + - * / % + - 由高——————低 如 (5+1)/2=???
2.5.3 强制类型转换表达式 格式:(类型名) (表达式) 例:(int)3.234=3
(double)10%3=? 2.6赋值表达式
格式:变量名=表达式
注:1.不可以颠倒(左边必须是变量名,右边必须是C语言中合法的表达式)
2.功能就是先求出右边表达式的值,然后把此值赋值给赋值号左边的变量。确切的说是把数据存入以该变量为标识的存储单元中去。a=4 , a=7
3.结合性的优先级仅高于逗号表达式。顺序是自右向左的。如a=2+7/3 4.\是一个赋值号,不是一个等号。
5.x=y。变量的值也是可以传递和赋值的。它的意思就是将变量Y中的值赋值到X中去。同样N=N+1也成立
6.赋值运算符的左侧只能是变量,不能是常量或表达式 a+b=c这就是违法的 7。赋值号的右边也可以是一个赋值表达式。如a=b=7+1; 补充;表达式与语句的区别,
表达式后面加一个分号就是语句。
2.6.2复合赋值表达式 例:
a+=3------a=a+3 同理可得a*=3 /= -= a+=a-=a+a a 的初值是9 a+=a-=18 a+=(a=a-18) a+=(a=-9) a+=a -18
(15)若有定义语句:int x=10;,则表达式x-=x+x的值为( B ) A)-20 B)-10 C)0 D)10
(14)设有定义:int x=2;,以下表达式中,值不为6的是 ( D ) A) x*=x+1 x=x*(x+1) B) x++,2*x C)x*=(1+x) D)2*x,x+=2
(17)若变量均已正确定义并赋值,以下合法的C语言赋值语句是 (A) A)x=y==5; B)x=n%2.5; C)x+n=I D)x=5=4+1;
2.7 ++ 和— —的讲解 ++:自身加1 --:自身减1 如
i=3 i++_______I=i+1 i=4 单目
3++
++I I++
当++在前,先自身加1,然后再干别人让干的事情 。 当++在后,先别人让干的事情然后再干 自身加1。 int i=3; int a;
a=i++; a=3 a=++I;a=4
第三课:输入和输出语句 3.2输出语句的讲解
一、printf函数的一般调用形式
格式:printf(格式控制,输出项1,输出项2,.......); 在printf函数的最后面写上;号就是输出语句。 1,给输出项白提供输出格式说明 格式说明符:
作用:就是使数据按格式说明符的要求进行输出。 组成:由%号和紧跟在其后的格式描述符组成。 int--------%d
float或double---%f或e% char--------%c 2.提供原样输出的文字或字符
在 “ ” 中除了格式说明符之外的内容要全部原样输出。 各个输出项之间要用逗号隔开。
输出项可以是任意合法的常量,变量或表达式。
printf中常用的格式说明
在格式说明符中,每一个格式说明符都必须以%号开头由相应的类型标识字母结束。但在他们之间可以有其它的一个内容: %c :输出一个字符
%d:输出一个十进制的数据 %o:以八进制格式输出。 %X:以十六进制输出 %U:无符号十进制输出 %f:以带小数点的数字输出 %e:以指数形式输出 %s:输出一个字符串。 %%:输出一个%号
M:输出的数据长度是4个长度,当原来的长度大于4个时会自动突破。小于4个时会填充空格。
%x.yf: x代表数制的宽度(包括小数点)。Y代表小数点后面的小数位数。
注意事项:
1.输出比较自由一些,输出有的各个数之到底是什么,取决于格式说明符之间的内容。 2.格式说明符要与输出项一一对应。 3.输出语句中还可以有 \\n \\r \\t \\a
4.尽量不要在输出语句中改变输出变量的值。
5.输出的数据中如果存在变量,一定要定义过的。
输入语句
格式: scanf(格式控制,输入项1,输入项2,...);
例如:想通过键盘输入3个数分别给变量a,b,c。并且他们分别为整型,浮点型,双精度型。
输入语句为scanf(\说明:
1.格式说明符与输出语句一样。
2.在格式串中,必须含有与输入项一一对应的格式转换说明符。
3.在VC6.0的环境下,要收输入的DOUBLE型数据的格式说明符一定要用%lf,否则数据不能正确的输入
4.由于输入是一个字符流,所以当输入的数据少于输入项时,程序会等待用户输入,直到满足要求。当输入的数据多于输入项时,多余的数据会自动作废。 复合语句:多个语句被{}括起来,当成一条语句来执行。 空语句:最后的表示只有一个;
程序举例:
1。编写一个程序,从键盘上输入两个数字,让后让他们互换一下。 #include
int a,b;
printf(\请输入两个数字:\scanf(\printf(\:%d%d\int c;
c=a,a=b,b=c;
printf(\后:%d%d\}
2。编写程序,对一个double型数据进行四舍五入运算。要求保留两位有效小树。
123.4567
123'4567*100=12345.67 12345.67+0.5=12346.17 (int)(12346.17)=12346 12346/100=123.46
第四课:C语言的程序结构
4-1节、关系运算与逻辑运算 一、简介
关系表达式与逻辑表达式的运算结果都会得到一个逻辑值。就是“真”、“假” 在C语言中0表示“假”,非0(无论是负数还是正数都是真,更多时候用1来代替)表示“真”。
二、几个简单的关系运算符
{
说明部分 语句部分
}
2:函数名和形式参数都是用户命名的标识符。在同一个程序中,函数名必须唯一,形式参数名只要在同一函数中唯一即可,可以与其他函数中的变量同名。 3:C语言规定,不能在函数的内部定义函数。
4:若在函数的首部省略了函数返回值的类型名,则说明该函数的返回值是int类型
5:除了返回值类型为int类型的函数外,函数必须先定义后调用。 6:当没有函数返回值,则必须把函数定义成void类型。 例:编写求两个双精度数之和的函数。 double add(double a, double b )
{
double s; s=a+b; return s; }
7-2节、函数的返回值
函数的值通过return语句返回, return 表达式;
此表达式的值必须与函数首部所说明的类型一致,若类型不一致,则以函数值的类型为准。需要注意的是,无论函数体中有多少个return语句,只能执行一次。
函数体内可以没有return语句,这时也必须定义函数为 viod类型。
7-3节、函数的调用
7.3.1函数的两种调用方式 格式为:
函数名(实在参数表)
当实参的个数多于一个时,各实参用逗号隔开。实参的个数必须与调用函数中形参的个数相周,类型一一对应匹配。
如没有形参,则形式为 函数名() 注意后面的小括号不能丢。 如题:
#include
double add(double ,double); main() {
double m,n,z;
scanf(“%lf %lf”,m,n); z=add(m,n); printf(“%lf”,z);\\ }
double add(double a, double b )
{
double s; s=a+b;
return s; }
7.3.2 函数调用时的语法要求
1.调用函数时,函数名必须与所调用的函数名字完全一致。 2.实参的个数必须与形参的个数一致。 3.C语言中规定,函数必须先定义后使用。
4.C语言中,函数可以直接或间接的自己调用自己。称为递归调用 fac(n)=fac(n-1)*n
7-4节、函数的说明
在C语言中凡是未在调用前定义的函数,C编译程序都默认函数的返回值为int 型。对于返回值是其它类型的,若把函数的定义放在调用之后,应该在调用之前对函数进行说明。
说明的格式:
类型名 函数名(参数类型1,参数类型2.。。。。) 也可以用以下格式
类型名 函数名(参数类型1 参数名1,参数类型2 参数名2,……) 函数说明的位置:
一般为了让程序早点识别出程序中的定义好了的函数,一般将其放在程序的开始部分
7-5节、调用函数和被调用函数之间的数据传递 一:三种格式进行传递
1.实在参数和形式参数之间进行数据传递 2.通过return语句把函数值返回调用函数
3.能过全局变量,但这不是一种好的方式,通常不提倡使用。 通过一个程序来看一下数据到底是怎样传递的。 #include
int x=2,y=3,z=0;
printf(“(1)x=%d y=%d z=%d\\n”,x,y,z); try(x,y,z);
printf(“(4) x=%d y=%d z=%d\\n”,x,y,z); }
void try(int x,int y,int z) {
printf(“(2) x=%d y=%d z=%d\\n”,x,y,z); z=x+y; x=x*x; y=y*y;
printf(“(3) x=%d y=%d z=%d\\n”,x,y,z”); }
屏幕上的结果是:
(1) x=2 y=3 z=0 (2) x=2 y=3 z=0 (3) x=4 y=9 z=5 (4) x=2 y=3 z=0
再来一个程序 #include
int x=10,y=20;
printf(“(1)x=%d y=%d\\n”,x,y); swap(x,y);
printf(“(4)x=%d y=%d\\n”,x,y); }
void swap (int a,int b ) { int t;
printf(“(2) a=%d b=%d\\n”,a,b); t=a;a=b;b=t;
printf(“(3)a=%d b=%d\\n”,a,b); }
程序运行结果 (1) x=10 y=20 (2) a=10 b=20 (3) a=20 b=10 (4) x=10 y=20 7.6程序应用举例
编写一个函数isprime(int a),用来判断自变量a是否为素数。若是素数,函数返回整数1,否则返回0.
#include
printf(“enter a integer number:”); scanf(“%d”,&x); if(isprime(x))
printf(“%dis prime \\n”,x); else
printf(“%dis not prime\\n”,x); }
int isprime(int a) { int i;
for(i=2;i<=a/2;i++) if(a%i==0) return 0; return 1;
}
编写函数myupper(ch),把ch中的小写字母转换成大写字母作为函数值返回,其他字符不变。主函数中不断输入字符,用字符@结束输入,同时不断输出结果。 #include
if(ch>=?a?&&ch<=?z?) ch=ch-32; return ch; }
main() {
char c;
while((c=getchar())!=?@?) {
c=myupper(c); putchar(c); } }
编写函数统计输入字符的个数,用@字符结束输入,在主函数中调用此函数,输出统计结果。
#include
long n;
n=countch();
printf(“n=%ld\\n”,n); }
long countch() {
long cn;
for(cn=0;getchar()!=?@?;cn++) ;
return cn; }
7-10----7-13节、课后习题
[7.1] 以下说法中正确的是 C
A)C语言程序总是从第一个定义的函数开始执行
B)在C语言程序中,要调用的函数必须在main函数中定义 C)C语言程序总是从main函数开始执行
D)C语言程序中的main函数必须放在程序的开始部分 [7.2] 以下函数的类型是C
A)与参数x的类型相同 B)void类型 C)int类型 D)无法确定 fff(float x)
{ printf(\
[7.3] 以下函数调用语句中,含有的实参个数是B A)1 B)2 C)4 D)5 func( (exp1,exp2),(exp3,exp4,exp5)); [7.4] 以下程序的输出结果是C
A)11 B)20 C)21 func(int a,int b) { int c c=a+b; return c; }
main()
{ int x=6,y=7,z=8,r;
r=func((x--,y++,x+y),z--);
printf(\
}
[7.5] 以下程序的输出结果是A
A)-1 B)0 C)1
main()
{ int i=2,p;
p=f(i,i+1);
printf(\
}
int f(int a,int b)
{ int c;
c=a;
if(a>b)c=1;
D)31 D)2
正在阅读:
C++语言程序设计知识点09-30
我的兴趣爱好作文500字07-14
论十大关系读后感08-27
刘新路在全国“三品一标”工作会议上的讲话01-15
合成氨变换工段工艺设计01-28
Cjlywis建筑经济与企业管理全国2007年10月高等教育自学考试(附答案)文库09-14
我想成为一名歌手作文400字07-05
一个故事——给心情不好的朋友11-03
产业经济学练习题3306-30
高中生圆梦新时代作文精选04-03
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- C++
- 知识点
- 程序设计
- 语言
- 蛋白质分解代谢
- 读写结合、随文练笔
- 结合自己的教学实践,谈谈你是如何撬动学生学习的支点让学生感受学习是有用的?
- 三年级数学上册一个因数中间有零的乘法教学设计及反思 - 图文
- 2018-创先争优整顿党课心得体会-实用word范文(2页)
- C语言习题
- 《电工基础》复习题
- 建设高效的工作团队
- 集团公司外派董事监事管理办法
- 森林营造技术习题及参考答案
- 西北农林科技大学的景观调查与分析之四季广场
- 浅谈朱自清散文的美学特征
- 六年级下册期中科学试卷分析
- 32全现浇剪力墙结构混凝土浇筑技术交底记录
- LEICA网络RTK使用说明 - 图文
- 机械设备管理制度(很实用,细致完善,适合施工队使用,特别符合旋挖钻机桩基工程施工管理)
- RLC串联电路的零输入响应和阶跃响应 - 图文
- 建筑工程预算复习提纲
- 校务公开民主管理等级评定实施方案 - 图文
- 风控案例五:A公司与B公司垫资贸易案例