第1章C的初步知识
C语言全国计算机二级等级考试教程第一二章(章节带习题)
2.2 标识符、常量和变量
2.2.3 符号常量
在C语言中,可以用一个符号名来代表一个常量,称为符号常
量。但是这个符号名必须在程序中用(#define)进行特别的“
指定"。 例2.2 计算圆面积和周长,此程序中将如何教大家使用符号常量。
#include “stdio.h” /*包含头文件*/
#define PI 3.14159 /*定义符号常量,符号常量名为PI,用PI来代表3.14159*/
main()
/*主函数,程序的入口*/
{double r,s,l;
/*声明部分,定义了3实型个变量*/
r
r=5.0;
/*给变量r赋值*/
函 s=PI*r*r;
数 体
l=2*PI*r;
/*计算圆的面积*/ /*计算圆的周长*/
s
printf(“s=%f,l=%f\n”,s,l/)*;分别圆的面积和周长*/
/*给变量b赋值*/
数 体
area=a*b;
/*将a*b的结果赋值给变量area*/
printf(“a=%f,b=%f,area=%f\n”,a,b,area/)*;分别输出矩形的两条边长和面积*/
1.2
}
3.6
a=1.200000,b=3.600000,area=4.320000
4.32
注意:
1. C程序由函数组成,一个程序必须有一个且只能有一个主函数(main),C程
a
b
1.5000002.500000 2.5000003.500000
a b
内存空间
2.在程序中,声明变量就是在计算机内存中申请了某个内存单元。对变量 进行赋值,实质上就是把数据存入该变量所代表的存储单元中。
C语言程序设计第1至8章复习知识点总结
printf("max=%d\n",c);
/*输出c的值*/
}
int max(int x, int y) {
int z; if (x>y) z=x; else z=y; return (z); }
/*定义max函数,函数值为整型,x、y为形参,整型*/
/*定义内部变量z*/ /*比较x,y的大小,如果x大于y,则执行z=x*/ /*否则执行z=y*/ /*将z的值返回,通过max带回调用处*/
整理课件
c语言第一至八章总结
2 基本数据类型
1、整型
2、实型
3、字符型
实型
小数形式 :3.14 指数形式:3.14*103 =3.14e003
标准化指数形式:3.14*103
对应 只有一个大于0的整数
字符
ASCII表
例:以下选项中,不能作为合法常量的是( B ) A) 1.234e04 B)1.234e0.4 C) 1.234e+4 D)1.234e0
long
注意:每一步运算都要先
unsigned
转换为同一类型 例:
低
int a=3,b=4;
int
char,short float c=3.0/4,d=b/a;
printf("%f,%f",c,d);
整理课件
c语言第一至八章总结
数据类型的强制转换
例2.8强制类型转换 #include<stdio.h> void main() {
程序设计语言 机器语言 机器语言
可执行
不可以
不可以
可以
文件名后缀
.c 整理课.o件bj
.exe
C语言程序设计习题一
A)8 40 B)10 40 C)10,4 D)8,4 16.下面程序的输出结果是 。 main() {int i,j; i=16;j=(i++)+i;printf(“%d”,j); i=15;printf(“%d %d”,++i,i); } A)32 16 15 B)33 15 15 C)34 15 16 D)34 16 15 17.表达式(int)2.1416的值为 。 A)2 B)2.1 C)0 D)3 18.表达式(double)(20/3)的值为 。 A)6 B)6.0 C)2 D)3 19. 若有以下定义, 则正确的赋值语句为 。 int a, b ; float x; A)a=1, b=2, B)b++; C)a=b=5 D)b= int (x) ; 20. .C语言规定标识符由 等字符组成. A)字母 数字 下划线 B)中划线 字母 数字 C)字母 数字 逗号 D)字母 下划线 中划线 21. 若有如下定义:int a=2,b=3; float x=3.5,y=2.5; 则表达式: (float)(a+b)/2+(int)x%(int)y的值是 。 A)2.500000 B)3.500000 C)4.500000 D)5.000000 22. 有如下语句: printf(“%s,%5.3s\n”,“COMPUTER”,“COMPUTER”);执行语句后的最终 结果为 。 A)COMPUTER ,CMP . B)COMPUTER, CMP. C)COMPU, CMP. D)COMPU, CMP 23. 已知ch是字符型变量,下面不正确的赋值语句是: 。 A)ch=‘\0’ B)ch=‘a+b’ C)ch=‘7’+‘9’ D)ch=7+9 24. 若x和y都为float型变量,且x=3.6, y=5.8 执行下列语句后输出结 果为: 。 printf(“%f”,(x,y));
第1章 C语言基础知识
第一章C语言基础知识一,选择题1 答案是AA正确课本第2页11行B {}可以作为复合语句的标志C main 函数不是用户命名的D 分号是语句结束的标志,肯定是语句的一部分做这个题目需要对书上的概念透彻的理解2 答案是AA 错误课本第4页关于用户标识符是这样介绍的---命名时,标识符的选择由用户自定,但是不能与关键字相同,所以A选项错误。
这个题目考察用户标识符3 答案是B用户标识符是标识符,所以可以是有下划线,但是中划线不属于字母,数字,下划线其中一种。
这个题目考察用户标识符的概念。
4 答案是Bdefine 是预定义标识符,而预定义标识符可以是用户标识符,所以define可以是用户标识,if 是关键字,而关键字不能是用户标识符,所以if不可以是用户标识符5 答案是Dsizeof 是关键字,参照附录二注:6--13 考察用户标识符概念6 答案是DD答案以数字2开头了,不符合标识符定义7 答案是CC答案以数字开头了8 答案是Dint 是关键字9 答案是B答案A 是关键字,答案C是以数字开头了,不符合概念,答案D出现了小数点10 答案是A答案A出现了小数点11 答案是C答案C 以数字开头了12 答案是AB答案中float 是关键字,C答案中3c以数字3开头了,D答案中-5d中- 不属于字母,数字,下划线中一种13 答案是AB答案中-max中-错误,C答案中3COM以字母3开头了,D答案中int 是关键字,不是用户标识符14 答案是BA答案中15. 后面不应该有点,C答案中出现了逗号,D中字母B有问题15 答案是B16 答案是BB中出现了8,而八进制只能有0到7组成17 答案是D答案D中开头是0不是o18 答案是C答案A中E后面是整数,0.5是小数答案B 中E后面不能为空答案D中E前面不能为空本题目考察指数的表示形式19 答案是C答案A中2.0有问题,不能为小数形式答案B中E前面不能为空答案D中E后面不能为空本题目考察指数的表示形式20 答案是AB中八进制中不能出现数字8,C中e后面不能是小数,D中e后面不能为空21 答案是BB中0.4是小数,不正确22 答案是CC中0.5是小数,不正确23 答案是D3.6-5/2+1.2+5%2=3.6-2+1.2+1=3.8本题目考察算术运算符,需要注意整数除以整数结果只能是整数24 答案是D%不能用于实型的计算25 答案是DD答案中$不属于字母,数字,下划线26 答案是AA答案是逗号表达式,B答案中x+1=y是赋值表达式,左边只能是变量,而这里是x=1, 同理答案C中x+10也是错误的,在D答案中,考察的是强制类型转换,正确的是(double)x/1027 答案是A本题考察的是注释需要注意的地方,具体解答见课本第2页中间部分28 答案是B答案A中n2没有定义,答案C中在定义f之前不能使用它,答案D 中E后面必须是整数29 答案是C考察的是强制类型转换,正确的是k%(int)f30 答案是D解题方法是要抓住++m,--n,--m,表达式的值是变量变化之后的值,而n--表达式的值是变量n变化之前的值31 答案是B本题目考察的是负整数与无符号正整数在计算机中存放的格式的一样的,但表示的不同的两个数32 答案是CA答案中%运算对象不能为实型,26.8错误,B答案中考察的赋值运算符,赋值运算符左边必须是变量,所以赋值运算符左边1+2错误,同理答案D错误33 答案是C增量运算符的运算对象只能是变量,而在C答案中++(i+1)中,i+1是表达式34 答案是B本题目考察的是整数除以整数结果是整数,在B答案中1/2结果是0,导致整个表达式的值是0,明显是错误的35 答案是D36 答案是A本题目主要考察n++表达式的值是n变化之前的值,然后使n的值增加137 答案是Bc=a/b+0.4 c=8/5+0.4 c=1+0.4 c=1.4 因为c 是int 型的,所以n的值是1 ,做此题目需要仔细阅读题目38 答案是D(int)a+b/b=(int)5.5+2.5/2.5=5+1.000000=b=6.000000同样a,b的类型是double型的39答案是D40 D41 D42 A二,填空题1 位、0或123 84 八进制、十进制、十六进制5 课本第8页整型变量和第11页实型变量的介绍6 5+3.6/2=5+1.8=6.87 a++表达式的值是a变化之前的值,当然a本身增加了18 把10赋给变量B。
C语言各章节知识点总结
C语⾔各章节知识点总结第⼀部分“C语⾔基础知识”知识点1、C程序的基本结构C程序是由函数构成的。
每个程序由⼀个或多个函数组成,其中必须有且仅有⼀个主函数main( )。
main函数是⼀个可执⾏C语⾔程序的⼊⼝和正常出⼝,⽽不论其在整个程序中书写的位置如何。
在C语⾔中,⼤⼩写字母是有区别的。
(例如习惯使⽤⼩写字母定义变量,⽤⼤写字母定义常量)。
C程序的注释有两种⽅法,⼀种是⾏注释,使⽤“//”;另外⼀种是块注释,使⽤“/* */”,注意“/*”与“*/”不能嵌套使⽤。
C语⾔书写较为灵活,但是提倡采⽤缩进格式进⾏程序书写,以体现语句之间的层次感。
C程序每条语句以“分号”作为结束标志。
以下⼏种情况不得使⽤分号:(1)所定义的函数名称后不得使⽤分号;(2) if…else…语句是⼀个整体,中间不能使⽤分号将其分隔开;(3)预编译命令后不能使⽤分号。
2、C程序开发步骤C语⾔在计算机上的开发过程主要由以下四个步骤组成:第⼀步:编辑。
⽣成后缀名为“.c”的源⽂件第⼆步:编译。
⽣成后缀名为“.obj”的⽬标⽂件第三步:连接。
⽣成后缀名为“.exe”的可执⾏⽂件第四步:运⾏。
3、VC++6.0开发⼯具的使⽤按下功能键Ctrl+F7编译程序;按下功能键F7连接程序;按下功能键Ctrl+F5运⾏程序;若程序在编译和连接过程中有语法错误,则按下功能键F4定位错误所在⾏并根据错误提⽰信息改正错误(原则是先解决error,再解决warning)。
4、C语⾔中标识符的命名规则标识符由字母、数字、下划线组成;规定第⼀个字符必须为字母或下划线。
标识符定义的变量名、函数名、常量名等最好做到“见名知义”;⼤⼩写代表不同含义;不能使⽤关键字;最好不要与C语⾔的库函数同名。
5、C语⾔的数据类型C语⾔的数据类型由基本类型和复杂类型构成。
其中基本数据类型包括字符型(char)、整型(int,short,long)、实型(float,double);复杂数据类型包括指针类型、数组、结构体、联合体。
第1章 C语言基本知识
第一章C语言基本知识一、C语言的产生和发展1、C语言的发展源于人们希望用高级语言编写操作系统。
(C-BCPL第二字母)ALGOL60(高级语言)->CPL(硬件支持)- BCPC->B->C->标准C-> ANSI C -> ISO C2、语言既具有高级语言特性,又具有低级语言特性-中级语言。
二、C语言的特点1、语言简明、紧凑、使用方便、灵活。
2、运算符丰富。
3、数据结构丰富,具有现代化语言的各种数据结构。
4、具有结构化的控制语句。
5、语法限制不太严格,程序设计自由度大。
6、C语言允许直接访问物理地址,能实现汇编语言的大部分功能,可以直接对硬件进行操作。
7、生成目标代码质量高,程序执行效率高。
8、用C语言写的程序可移植性好。
三、C程序的基本规则1、C程序由函数构成。
(亦称为函数语言。
)2、C程序中每条语句都用一个分号结尾,分号是C程序语句的必要组成部分,语句最后的分号不能省略。
3、每个C程序都有一个主函数(main()),且只有一个主函数。
并且程序是从主函数开始执行的。
4、调用C语言的标准函数通常要在程序开头使用包含命令include,C程序中的命令不用分号结尾。
5、C程序中的变量必须先定义,后使用。
6、C语言以小写字母作为基本书写形式,并且C语言要区分字母的大小写,同一字母的大小写被作为两个不同的字符。
7、C程序中可以用“/*……*/”的形式加注释。
8、C程序书写格式自由,一行内可以写几条语句,一条语句可以写在多行。
9.一个函数包含两个部分:(1)函数的说明部分。
包括函数名,函数类型,函数属性,函数参数名等。
如:int max(x,y)int x,y;函数名后必须跟一对圆括弧,函数参数可以没有,如:main( )。
(2)函数体。
函数说明部分下的大括弧,如果一个函数内有多个括弧,则最外一层为函数体范围。
四、字符集字符集是高级语言的编译系统所能识别的字母、数字和特殊符号。
大学课程《C语言程序设计基础》PPT课件:第1章
第1章 C语言程序设计概述
机器语言是计算机能够直接识别的语言,它是一组二进 制编码指令。在计算机应用初期,人们用机器语言编写程序。 但是机器语言是冗长的二进制代码,难理解、难记忆、难编 程,只有少数计算机专业人员才会使用。随着计算机应用技 术的发展,计算机语言一直朝着“人性化”的方向发展,先 后出现了汇编语言和不同种类的高级语言。
第1章 C语言程序设计概述
1.2.1 数据结构与算法 数据结构与算法具有密切的联系。数据结构是加工对象,
算法则是对数据结构加工处理的方法。不同的数据结构可能 需要采取不同的算法,不同的算法可以对不同的数据进行加 工处理。
1.数据结构
何谓数据结构?数据结构在程序中如何表示?
数据结构指的是数据的组织形式,例如,字符数组、方 程组系数矩阵、人员的基本信息表、反映部门组织机构关系 的树形图、反映网络结构及信息的网状图等都是不同的数据 结构。
组织和存储数据的目的是能被计算机处理,即对数据施 加各种运算。因此,可以在逻辑结构上定义运算集合,而在 存储结构上实现这些运算。
第1章 C语言程序设计概述
2.算法
何谓算法?算法如何表示?
所谓算法,是解决某一问题所采取的方法和步骤。程序 设计中的算法把解决问题的每一步骤具体化为计算机的操作, 即算法解决计算机在什么情况下应该“做什么”和“怎样做” 的问题。
第1章 C语言程序设计概述
高级语言的种类很多,不同的语言各有不同的特点与使 用场合,但从原理上看,各种语言都包含一些相同的功能和 结构。对初学者来说,只要选择有代表性的语言,掌握了程 序设计语言的规律和内在功能结构,就很容易学习和应用其 他语言。现在一般都把C语言作为程序设计的入门语言。
第1章 C语言程序设计概述
第一章-C语言基础知识
第一章C语言基础知识(C语言概述、算法、数据类型运算符表达式、位运算)一、判断题R1.在C语言中,逗号运算符的优先级最低。
2.在C语言可执行程序的开始执行点是程序中第一个函数。
3.“5ch”是合法的变量名。
R4.C语言程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上。
5.当输入数据时,必须指明变量的地址,如scanf("%f",&f)N6.表达式i++与++i在任何场合功能完全相同。
7.在赋值表达式中,赋值号左边的变量和右边的表达式之值的数据类型可以不相同。
Float a; int b=1;a=b;R8.C语言程序中,语句以逗号结尾。
()9.在 C 程序中,APH 和aph 代表不同的变量。
( )10. a-=7等价于a=a-7。
( )N11. printf函数中用到格式符%5s ,其中数字5表示输出的字符串占用5列。
如果字符串长度大于5,则输出按原字符长从左向右全部输出。
( )12.如果x>y为真或a<b为真,表达式(x>y)&&(a<b)就为真。
()13.C语言程序的变量必须先定义再使用。
( )14.若a和b是同类型变量,在执行了赋值语句a=b;后b中的值将放入a中,b中的值将丢失。
( )15.程序的执行总是从main函数开始,在程序的最后一个函数中结束。
( )N16.变量的三个属性是指变量的名字、变量的值和变量在内存中的地址。
()17. 运算符优先顺序:赋值运算符<逻辑运算符<关系运算符<算术运算符()18.对应float类型的变量,也可以用等号“==”进行数值的判断。
()19.表达式:1 && 3.14 和 1 & 3 的值一样大。
()01&11=120. 为了正确计算表达式既要考虑运算符的优先级,也要考虑其结合性。
()21.任何C程序都是从main函数开始和结束;22. 在C程序中,使用分号“;”表示语句的结束。
C语言程序设计知识点—第1章 C语言与程序的算法
第一章:C语言与程序的算法主要知识点1.本章目标:了解程序、算法和流程图的概念熟练掌握C 程序的基本结构掌握C 程序的编译和运行过程使用Visual C++ 6.0 创建C程序2.什么是程序程序:为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合3. C 程序的基本结构:#include <stdio.h>void main(){printf("Hello World\n");}以# 开始的语句称为预处理器指令#include语句不是必需的,但是,如果程序有该语句,就必须将它放在程序的开始处以.h为后缀的文件被称为头文件,可以是C 程序中现成的标准库文件,也可以是自定义的库文件。
stdio.h文件中包含了有关输入输出语句的函数main() 函数是C 程序处理的起点。
它表示函数的开始,后面是函数的主体main() 函数可以返回一个值,也可以不返回值。
如果某个函数没有返回值,那么在它的前面有一个关键字void在函数定义的后面有一个左大括号,即{大括号也可以用于将语句块括起来函数主体中的每个语句都以分号结束。
C 程序中的一个语句可以跨越多行,并且用分号通知编译器该语句已结束。
printf("Hello World\n");在屏幕上产生一行输出“Hello world”,并换行(\n)在函数定义的结尾处有一个右大括号,即}4. C 程序中的注释C 程序可以包含注释,以便向读者作一般说明编译器并不处理这些注释在程序中添加注释是一个好的编程习惯,可以增强程序的可读性。
两种注释:(1)/* 此程序由×××编写* 用来打印输出“Hello World”*/(2)// 此程序用来打印Hello World5.问题在以下程序中,完全正确的是()A.#include <stdio.h>main();{/*programming */}printf(“programming!\n”);}B. #include <stdio.h>main(){ /*/programming/*/printf(“programming!\n”);}C. #include <stdio.h>main(){ /*/*programming*/*/printf(“programming!\n”);}D. #include <stdio.h>main(){/*programming*/printf(“programming!\n”)}答案:B对于一个正常运行的C程序,以下叙述中正确的是()。
C语言第1章PPT课件
▪
(1)C程序是由函数构成的,函数是C程序的基本单位。任何
一个C源程序都至少包含main主函数,也可以包含一个main主函数
和若干个其他函数。
▪ (2)一个函数由两部分组成:函数头和函数体。
▪ 函数头即函数的第1行,如例1-1中的int main()。函数体即函数头下 面的花括号{}内的部分。若一个函数内有多个大括号,则最外层的一 对{}为函数体的范围(关于函数的组成部分参见第6章函数)。
程
项
序
目
编
工
辑
作
窗
区
口
窗
口
2021/4/8
13
新建一个C源程序
▪ 在Visual C++主窗口的主菜单栏中选择“文件(File)”, 然后在其下拉菜单中单击“新建(New)”,如图1-6所示。
2021/1-7)中,选择此对话框 的左上角的“文件”选项卡,选择其中的“C++ Source File”选项,其功能是建立新的C++源程序文件。
✓具有低级语言功能的高级语言
✓模块化和结构化语言
✓可移植性好
✓执行效率高
2021/4/8
3
C程序结构
▪ C程序结构由头文件、主函数、系统的库函 数和自定义函数组成,因程序功能要求不 同,C程序的组成也有所不同。其中main 主函数是每个C语言程序都必须包含的部分。
2021/4/8
4
C程序的基本结构
2021/4/8
22
▪ 在得到可执行文件后,就可以直接执行 “例1-1.exe”了。选择“组建(B)”—“执 行[例1-1.exe]”,如图1-15所示。
2021/4/8
23
第一章 C语言基础知识1
第一章 C语言基础知识1.1 选择题1. 以下不是C语言的特点的是()。
A.语言简洁紧凑B.能够编制出功能复杂的程序C.C语言可以直接对硬件操作D.C语言移植性好2.下列字符序列中,不可用作C语言标识符的是()。
A.abc123 B.no.1 C._123_ D._ok 3. 正确的C语言标识符是()。
A._buy_2 B.2_buy C.?_buy D.buy?4. 请选出可用作C语言用户标识符的一组标识符()。
A.void B.a3_b3 C.For D.2adefine _123 -abc DOWORD IF Case sizeof5. 下列符号中,不属于转义字符的是()。
A.\\ B.\0xAA C.\t D.\06. 不属于C语言关键字的是()。
A.int B.break C.while D.character 7. 是C语言提供的合法关键字的是()。
A.Float B.signed C.integer D.Char8. 以下不能定义为用户标示符的是()。
A.scanf B.Void C._3com_ D.int9. 一个C程序是由()。
A.一个主程序和若干子程序组成B.一个或多个函数组成C.若干过程组成D.若干子程序组成10. C语言程序的基本单位是()。
A.程序行 B.语句 C.函数 D.字符11. 下列说法中,错误的是()。
A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B.每个函数都有一个函数头和一个函数体,主函数也不例外C.主函数只能调用用户函数或系统函数,用户函数可以相互调用D.程序是由若干个函数组成的,但是必须有、而且只能有一个主函数12. 以下说法中正确的是()。
A.C语言程序总是从第一个定义的函数开始执行B.在C语言程序中,要调用的函数必须在main( )函数中定义C.C语言程序总是从main( )函数开始执行D .C 语言程序中的main( )函数必须放在程序的开始部分13. C 编译程序是( )。
第一章C语言基础知识
第一章C语言基础知识一、选择题1.计算机能直接执行的程序是( )A.源程序B.目标程序C.汇编程序D.可执行程序2.用户自定义标识符正确的是( )A.3abB.intC.fa2_aD.sin(x)3.可用于C语言用户标识符的是( )A.void,defineB.2c,DOC.For,-abcD.as_b3,_1234.下列为C语言保留字的是( )A.realB.longC.pointerD.integer5.下列不.属于保留字的是()A. defaultB. printfC. structD.unsigned6.下列用户自定义标识符正确的是()A. 4aB. b_1C. -&D. *p7.以下正确的C语言自定义标识符是()A._la B.2a_ C.do D.a.128.合法的用户标识符是()A. defaultB. #defineC. a+bD. book9.自定义标识符正确的是()A.5d_mB.constC.x4yD.book-110.以下属于C语言保留字的是()A.fopen B.include C.get D.unsigned11.以下选项中,能用作用户标识符的是()A.voidB.8_8C._0_D.unsigned 12.可以作为自定义标识符的是()A.2 B.break C.m-n D.m_n13.以下选项中合法的标识符是( )A. 1_1B.1―1C._11D.1_ _14.以下C语言用户标识符中,不合法的是( )A._1B.AaBcC.a_bD.a--b15.可以用作C程序标识符的一组是()A.printB.i\amC.PxqD.Cppoodb one-half line# powaBc 3pai His.age while16.下列不属于C语言保留字的是( )A. charB. whileC. forD. look17.C语言的保留字是( )A. defineB. scanfC. doD. include18.错误..的实型常数是( )A. .0B. 0.E0C. 0.0D.0E+0.019.以下选项中不能作为C语言合法常量的是()A.‘cd' B.0.1e+6 C."\a" D. ‘\011'20.正确的C语言字符常量是( )A.‘\\’B.‘65’C.“A”D.‘/n’21.下列不.能作为常量的是()A. 0582B. 0xa5C. ‘\n’D. 2.5e-222.不.属于字符型常量的是()A. ″s″B. ‘8’C. ‘A’D. ‘\n’23.在C语言中,错误..的int类型的常数是()A.1E5 B.0 C.037 D.0xaf24.在C语言中,错误..的常数表示是()A.0L B.-0x6a C.′6′D.1.234E3.525.以下选项中,能用作数据常量的是()A.o115B.0118C.1.5e1.5D.115L 26.在C语言中,′a′和″a″存储所占用的字节数分别是()A.1,1 B.1,2 C.2,1 D.2,2 27.正确的变量定义是()A.long d=1000L; B.float m1=m2=10.0;C.char c1=‘A’,c2=A; D.double for=0.618;28.表达式的值为0的是()A.5/5%5 B.5>2 C.!4 D.0x7&&729.主函数头中的“main”是()A.常量名B.函数名C.变量名D.类型名30.下列运算符中优先级最高的是()A.?:B.&&C.D.!31.下列运算符的操作数必须是整型的是( )A./B.!C.%D.=32.下列转义字符中,错误..的是()A.′\n′B.′\\′C.′\108′D.′\xbb′33.在C语言中,整型常量的书写形式不.包括()A.二进制B.八进制C.十进制D.十六进制34.以下选项中正确的定义语句是()A.double a;b;B.double a=b=7;C.double a=7,b=7;D.double,a,b;35.设有定义:int x=2;,以下表达式中,值不为6的是()A.x*=x+1B.x++,2*xC.x*=(1+x)D.2*x,x+=236.以下关于C语言数据类型使用的叙述中错误的是()A.若要准确无误差的表示自然数,应使用整数类型B.若要保存带有多位小数的数据,应使用双精度类型C.若要处理如"人员信息"等含有不同类型的相关数据,应自定义结构体类型D.若只处理"真"和"假"两种逻辑值,应使用逻辑类型37.若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是()A.1B.0C.2D.不知道a的值,不能确定38.若有定义语句:int x=10;,则表达式x-=x+x的值为( )A.-20B.-10C.0D.1039.表达式0&&3||4和2&&1的值分别是()A.4和0B.4和1C.1和0D.1和140. 设char c=’A’;int i=l, j;,执行j=!c&&i++;后,i和j的值分别是()A. 1和0B. 1和1C. 2和0D. 2和l41. 设int a;,执行表达式(a=1,2,3),a+1后,a和表达式的值分别是()A. 1和2B. 2和3C. 3和4D. 4和542.设int a=0,b=1;,下列语句错误..的是( )A.a=b=10;B.a++;C.b+=a;D.(a+b)++;43.能正确表达数学关系式0≤x<20的C语言表达式是( )A.0<=x<20B.x>=0||x<20C.x>=0&&x<20D.!(x<=0)&&x<2044.设double x=5.168;,执行printf(“%5.3f\n”,(int)(x*10+0.5)/10.0);后的输出结果是( )A.5.218B.5.210C.5.200D.5.16845.设char ch=‘a’;,执行printf(“%d,%c\n”,ch,ch+2);后的输出结果是( )A.97,cB.97,99C.a,cD.a,a+246.设int i=8,a,b;double x=1.42,y=5.2;,正确的表达式是( )A.a+=(b=4)*(a=3)B.a=a*3=2C.x%(-3)+y* *3D.y=float(i)47.表达式:(int)((double)9/2)-(9)%2的值是( )A、0B、3C、4D、548. 设char k=’a’;float j=2.0;,执行k+=5/j;printf(“%c”, k);后,输出结果是()A. aB. bC. cD. d49.设char c=′A′;int i=1,j;,执行语句j=!c&&i++;后,i和j的值分别是( )A.0和1B.1和0C.1和65D.2和6650.设int x=6;,执行语句x+=x-=x*x;后,x的值是( )A.-60B.0C.6D.3651.设int i=3,j=3;,表达式i+++j的值是( )A.6B.7C.8D.952.设int a=2,b=6,c=8;,表达式(a,b),(c,10)的值是( )A.2B.6C.8D.1053.下列表达式值为0的是()A.6%2B.2&&5C.!2||5D.2||554. 设int a,b;,则表达式(b=2, a=5, b++, a+b)的值是()A. 2B. 5C. 7D. 855.以下关于C语言的叙述中正确的是( )A.C语言中的注释可以夹在变量名或关键字的中间B.C语言中的变量必须在使用之前进行定义C.在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致D.C语言的数值常量中夹带空格不影响常量值的正确表示56.设函数中有整型变量n,为保证在未赋初值的情况下初值为0,应选择的存储类别是A.autoB.registerC.staticD.auto或register57.执行以下程序段后,w的值为( )int w='A',x=14,y=15;w=((x||y)&&(w<'a'));A.-1B.NULLC.1D.058.若有表达式(w)?(--x):(++y),则其中与w等价的表达式是( )A.w==1B.w==0C.w!=1D.w!=059. 设int a=7; float x=2.5, y=4.7;, 则表达式x+3%(int)(x+y)/4的值是()A. 2.75B. 3.5C. 2.5D. 0.060. 设char cl; , 则cl中为小写英文字母字符的正确表达式为()A. ‘a’<=c1=‘z’B. (cl>=‘a’)&&(cl<=‘z’)C. (cl>=a)&&(c1<=z)D. (‘a’<=c1)||(‘z’>=c1)61.设static int a;,执行表达式(a= =1)&&(a=-1)&&(a=2)后,a的值是()A.-1B.0C.1D.262.若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是( )A.a=a++,i++;B.i=(a+k)<=(i+k);C.i=a%11;D.i=!a;63.main(){ int k=011; printf("%d\n",k++); }程序运行后的输出结果是( )A.12B.11C.10D.964.以下叙述中正确的是( )A.C程序的基本组成单位是语句B.C程序中的每一行只能写一条语句C.简单C语句必须以分号结束D.C语句必须在一行内写完65.以下不能正确表示代数式的C语言表达式是( )A.2*a*b/c/dB.a*b/c/d*2C.a/c/d*b*2D.2*a*b/c*d66.C源程序中不能表示的数制是( )A.二进制B.八进制C.十进制D.十六进制67.设int a,b;,与a+=b++;等价的是()A.a=b++;B.a=++b;C.a=a+b++;D.a=a+++b;68.设int a=l,b=2,c=3;,执行表达式(a>b)&&(c=1)后c的值是( )A.0B.1C.2D.369. 已知字符‘A’的ASCII码值是65,且char cl=‘A’, c2=‘D’;则执行语句printf(″%d,%d\n″,cl,c2-2);后的输出结果是()A. A, DB. A, BC. 65, 68D. 65, 6670. 若有下列程序段:int x=l, y=2;x=x+y;y=x-y;x=x-y;则执行后x和y的值分别为()A. 1和2B. 2和2C. 2和1D. 1和171. 设int a=3,b=4;,则printf(“%d,%d,”(a,b),(b,a));的输出结果是()A. 3,4B. 4,3C. 3,4,4,3D. 4,3,3,472.设int x=2,y=4;,值为非0的表达式是()A. 1/x*yB. 1/(x*y)C. 1.0/x/yD. 1/x/ (double)y73.设int a=2,b=5;,结果为0的表达式是()A. a%bB. a&&bC. a=bD. a==b74.设int a=0;错误..的语句是()A. ++a;B. a++;C. a=-a;D. (-a)++;75.设int a=1,b=2,c=3,d=4,f;,执行语句f=(a!=b)?c++:d++;后f的值是()A. 2B. 3C. 4D. 576.下列运算符优先级最高的是()A. +=B. ,C. !D. ?: 77.设int a=1,b=2;,则执行a=b+2,a++,a+b;后a和b的值分别是()A.1和2 B.3和2 C.4和7 D.5和278.设int a=2,b=3,c=4;,则表达式a>b&&b<c||b的值是()A.-1 B.0 C.1 D.279.设int a,x=2;执行语句a=x>0?3*x:(x=10);后,变量x的值是()A.1 B.2 C.6 D.1080.设有以下程序段:int x=2,y=2,z=0,a; a=++x||++y&&z++;printf(″%d,%d,%d\n″,x,y,z);执行后输出的结果是()A.2,2,0 B.3,3,1 C.3,2,0 D.3,2,181.逗号表达式a=2*6,a*3,a+5的值是()A.12 B.17 C.36 D.4182.在C语言中,下列运算符中结合性属于自右向左的是()A.&& B.-- C.* D.( )83.设int x=10, a=0, b=25;,条件表达式x<1?a+10︰b的值是()A.0 B.1 C.10 D.2584.C语言中,下列运算符优先级最高的是()A.! B.% C.( ) D.== 85.设有以下程序段:int a=1, b=10, c=1, x; x=a&&b||++c;printf(″%d, %d\n″,x,c);执行后输出的结果是()A.0,0 B.0,1 C.1,0 D.1,186.在C语言中,运算符″=″和″==″的功能分别是()A.关系运算和赋值运算 B.赋值运算和关系运算C.都是关系运算D.都是赋值运算87.若main()函数带参数,参数个数最多是()A.0 B.1 C.2 D.388.设char a='\70';则变量a中()A.包含1个字符B.包含2个字符C.包含3个字符D.是非法表示89.设int i=10;,表达式30-i<=i<=9的值是()A.0B.1C.9D.2090.以下不能..看作一条C语句的是()A.{;}B.a=5,b=5,c=5;C.if(x>=0&&y=0);D.if(x==0)a=5;b=10;91. 下列关于C语言的叙述错误..的是( )A. 英文字母大小写不加以区分B. 不同类型的变量可以出现在同一个表达式中C. 在赋值表达式中赋值号两边的类型可以不同D. 某些运算符在不同的场合可以有不同的含义92. 下列转义字符中错误..的是( )A. ′\000′B. ′\14′C. ′\x111′D. ′\2′93. 设float a=2,b=4,c=3;以下C语言表达式与代数式(a+b)c计算结果不一..致.的是( )A. (a+b)*c/2B. (1/2)*(a+b)*cC. (a+b)*c*1/2D.c/2*(a+b)94. 设int a=10, b=20, c=30;条件表达式a<b? a=5∶c的值是( )A. 5B. 10C. 20D. 3095. 设int a=9, b=6, c;,执行语句c=a/b+0.8;后c的值是( )A. 1B. 1.8C. 2D. 2.396.设int a;,则逗号表达式a=2,4,a+1的值是( )A.1B.2C.3D.497.设int i; float f; double d; long int e;,则表达式10+′a′+i*f-d/e结果的类型是( )A. doubleB.longC. intD. float98.设int a=0,b=0,m=0,n=0;,则执行(m=a= =b)‖(n=b= =a)后m和n的值分别是( )A.0,0B.0,1C.1,0D.1,1二、填空题1.表达式4&&5+3||1的值是。
C语言课件第1章C语言概述
2020/6/7
11
计算机是人类发明的一种自动机器, 它能完成的工作就是计算。计算机的最
基本功能是可以执行一组基本操作,每 个操作完成一件很简单的计算工作,例 如整数的加减乘除运算等等。为使计算 机能按人的指挥工作,每种计算机都提 供了一套指令,其中的每一种指令对应 着计算机能执行的一个基本动作。
32个关键字,9种控制语句,程序书写形式自由。
3.C语言程序易于移植
C语言将与硬件有关的因素从语言主体中分离出来, 通过库函数或其他实用程序实现它们。
4.C语言有强大的处理能力 5.生成的目标代码质量高,运行效率高
2020/6/7
35
C语言的特点
6.数据类型检查不严格,表达式出现二义性 ,不具备数据越界自动检查功能,运算符 的优先级与结合性对初学者难于掌握。
– 提供了一种表达数据与处理数据的功能 – 要求程序员按照语言的规范编程
2020/6/7
38
1.3 程序与程序设计语言
• 程序与指令 • 程序设计语言的功能 • 程序设计语言的语法 • 程序的编译与编程环境
/*变量定义 */ /*函数声明 */ /*输入一个整数 */ /*调用函数计算阶乘 */ /*输出计算结果 */
return 0;
} int factorial(int n)
/*定义计算 n! 的函数 */
{
int i, fact = 1; for(i = 1; i <= n; i++)
/*循环*/
• C程序设计语言,[美]Brian W. Kernighan, Dennis M. Ritchie,徐宝文等译,机械工业出版社,2019
2020/6/7
7
C语言程序设计案例教程课件 1第一章 C语言概述
1.启动Visual C++6.0环境
启动Visual C++ 6.0方法
单击 “开始”-“程序”-“Microsoft Visual studio 6.0”“Microsoft Visual C++ 6.0”命令
标题栏 工具栏
菜单栏
项目工作区窗口
文档窗口
输出窗口
状态栏
1. 4 C语言程序上机调试步骤和方法
连接。执行连接命令后,输出窗口会显示出连接结果。
1. 4 C语言程序上机调试步骤和方法
4.程序执行
执行方法
在VC++环境中单击工具栏
中的 按钮,或者按
Ctrl+F5键,或者选择“组建”菜单中的“全部重建” 3种方式都可
以运行程序。可执行程序运行后,将显示为DOS控制台状态,按任
意键返回Visual C++ 6.0环境。
在编程时应力求遵循这些规则, 以养成良好的编程风格。
1. 4 C语言程序上机调试步骤和方法
1.4.2 Visual C++集成开发环境
利用Visual C++ 6.0集成环境开发C程序的过程如下: 1.启动Visual C++ 6.0环境 2.编辑源程序文件 3.编译和连接 4.执行
1. 4 C语言程序上机调试步骤和方法
1. 3 软件开发方法
算法的概念 广义上讲,算法是解决某一问题的方法和步骤.
算法的特性 (1)有穷性 (2)确定性 (3)可行性 (4)有零个或多个输入 (5)有一个或多个输出
1. 3 软件开发方法
算法表示方法
1. 3 软件开发方法
三种基本结构
C语言程序设计》基本知识点
C语言程序设计》基本知识点C语言程序设计》教学基本知识点第一章C语言基本知识1.C源程序的框架尽管各个C源程序的功能千变万化,但框架是不变的,主要有:编译预处理、主函数()、函数n()等,主函数的位置不一定在最前面,可以在程序的中部或后面,主函数的名字固定为main。
2.C语言源程序的书写规则:1)C源程序是由一个主函数和若干个其它函数组成的。
2)函数名后必须有小括号,函数体放在大括号内。
3)C程序必须用小写字母书写。
4)每句的末尾加分号。
5)可以一行多句。
6)可以一句多行。
7)可以在程序的任何位置加注释。
3.语句种类语句是程序的基本成分,程序的执行就是通过一条条语句的执行而得以实现的,根据表现形式及功能的不同,C语言的基本语句可以分为五大类。
1)流程控制语句流程控制语句的功能是控制程序的走向,程序的流程有三种基本结构:顺序结构、分支结构和循环结构,任何复杂的程序都可以由这三种基本结构复合而成。
其中后两种结构要用特定的流程控制语句实现。
2)表达式语句表达式语句的形式是:表达式。
即表达式后跟一分号“;”,分号是语句结束符,是一个语句必不可少的成分。
表达式和表达式语句的区别在于表达式代表的是一个数值,而表达式语句则代表一种动作。
最常见的表达式语句是赋值语句。
3)函数挪用语句函数挪用语句实践上也是一种表达式语句,形式为:在一次函数挪用的小括号后面加上一个分号。
(4)空语句空语句的形式就是一个分号,它不代表任何动作,常常作为一个意义迁移转变点利用。
5)复合语句复合语句从形式上看是多个语句的组合,但在语法意义上它只相当于一个语句,在任何单一语句存在的地方都可以是复合语句。
注意复合语句中最后一个语句末尾的分号不能少。
复合语句右大括号后面没有分号。
4.运算符用来表示数据各种操作的符号称为运算符。
运算符实际上代表了一种类型数据的运算规则。
不同的运算符具有不同的运算规则,其操作的数据类型必须符合该运算符的要求,运算结果的数据类型也是固定的。
第一章 C语言基础知识
第一章 C语言基础知识一、选择题1.C语言规定,必须用作为主函数名。
A)Function B)include C)main D)stdio 2.一个C程序可以包含任意多个不同名的函数,但有且仅有一个,一个C程序总是从开始执行。
A)过程B) 主函数C)函数 D)include 3.是C程序的基本构成单位。
A)函数 B) 函数和过程 C) 超文本过程 D) 子程序4.下列说法正确的是。
A)一个函数的函数体必须要有变量定义和执行部分,二者缺一不可B)一个函数的函数体必须要有执行部分,可以没有变量定义C)一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数D)以上都不对5.下列说法正确的是。
A)main函数必须放在C程序的开头B)main函数必须放在C程序的最后C)main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执行的D)main函数可以放在C程序的中间部分,但在执行C程序时是从main函数开始的6.下列说法正确的是。
A)在执行C程序时不是从mian函数开始的B)C程序书写格式严格限制,一行内必须写一个语句C)C程序书写格式自由,一个语句可以分写在多行上D)C程序书写格式严格限制,一行内必须写一个语句,并要有行号7.在C语言中,每个语句和数据定义是用结束。
A)句号 B)逗号 C)分号 D)括号8.下列字符串是标识符的是。
A)_HJ B)9_student C)long D)LINE 1 9.以下说法正确的是。
A)C语言程序总是从第一个定义的函数开始执行B)在C语言程序中,要调用的函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分10.不是C语言提供的合法关键字。
A)switch B)print C)case D)default 12.C语言提供的合法关键字是。
A)continue B)procedure C)begin D)append13. C语言规定: 在一个源程序中, main函数的位置。
C语言考试必考知识点
C语言考试知识点第一章 C语言基本知识【考点1】C程序C语言程序结构有三种: 顺序结构 , 循环结构(三个循环结构), 选择结构(if 和 switch)【考点2】main函数每个C语言程序中main 函数是有且只有一个。
读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。
【考点3】存储形式计算机的数据在电脑中是以二进制的形式保存。
最低的存储单元是bit(位),位是由为 0 或者1构成。
byte 是指字节, 一个字节 = 八个位。
数据存放的位置就是它的地址。
【考点4】注释是对程序的说明,可出现在程序中任意合适的地方,注释从“/*”开始到最近一个“*/”结束,其间任何内容都不会被计算机执行,注释不可以嵌套。
【考点5】书写格式每条语句的后面必须有一个分号,分号是语句的一部分。
一行内可写多条语句,一个语句可写在多行上。
【考点6】标识符合法的用户标识符考查:合法的要求是由字母,数字,下划线组成。
有其它元素就错了。
并且第一个必须为字母或则是下划线。
第一个为数字就错了。
C语言标识符分如下3类(1)关键字。
它们在程序中有固定的含义,不能另作他用。
如int、for、switch等。
(2)预定义标识符。
预先定义并具有特定含义的标识符。
如define、include等。
(3)用户标识符。
用户根据需要定义的标识符,符合命名规则且不与关键字相同。
关键字不可以作为用户标识符号。
main define scanf printf 都不是关键字。
迷惑你的地方If 是可以做为用户标识符。
因为If 中的第一个字母大写了,所以不是关键字。
【考点7】实型数据实型数据的合法形式:小数形式和指数形式。
掌握判定指数形式合法性。
2.333e-1 就是合法的,且数据是2.333×10-1。
考试口诀:e 前e 后必有数,e 后必为整数。
【考点8】字符字符数据的合法形式::'1' 是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。
第1章 C语言程序设计初步
【学习目标】
• • • • • • 掌握C语言程序的基本结构和书写规则 掌握C语言程序的上机操作步骤 熟悉VC 6.0集成开发环境 了解计算机程序设计语言的发展 了解C语言的特点 了解算法及其描述
1.1 计算机程序设计语言的发展
1.机器语言
直接使用二进制编码的程序语言为机器语言。 机器语言程序能在计算机上直接运行,具有占用 内存少、执行速度快的优点,但机器语言不直观、 难记、难认、不易查错,编程非常麻烦,只能被少 数专业人员掌握。 用机器语言编写的程序可移植性差。
x 15 y 12
a=a+1;语句将执行什么 操作呢?
15+12 15 sum
调用格式输出函数
•
•
•
调用printf()格式输出函数在屏幕上显示计算结果。 printf("格式控制字符串",输出列表); 格式控制字符串用来指定输出格式,由普通字符、 格式说明符和控制字符组成。 输出时普通字符原样显示,格式说明符变量的值所 代替,控制字符\n的作用是换行 。
格式控制 字符串 输出列表
printf("sum=%d\n",sum)
普 通 字 符 格 式 说 明 符 控 制 字 符
如果想让输出结果显 示为:15+12=27,应 如何设置printf()函 数的参数?
【归纳总结】
编写C程序的一般过程是: (1) 定义变量; (2) 设置变量的值,可以通过键盘输入或直接赋值; (3) 加工处理,得到结果; (4) 输出结果。
#include <stdio.h> //注明输入输出函数使用的头文件 #include <math.h> //注明sqrt()函数使用的头文件 void main() //定义主函数 { double a,b; //定义变量 scanf("%lf",&a); //调用库函数从键盘输入数据 b=sqrt(a); //计算平方根 printf("平方根为:%7.2lf\n",b); //在屏幕上显示结果 }
C语言程序设计重点知识
C语⾔程序设计重点知识第⼀章 C语⾔概述1、C程序的组成和形式的基本特点(P6-7)(1)C程序是由函数构成的,⼀个C源程序⾄少且仅包含⼀个main函数,也可以包含⼀个main函数和若⼲个其他函数。
(2)⼀个函数由两部分组成①函数的⾸部:即函数的第⼀⾏,包括函数名、函数类型、函数属性、函数参数名、参数类型例:int max (int x, int y)⼀个函数名后⾯必须跟⼀对圆括号,括号内写函数的参数名及其类型。
函数可以没有参数,如main()。
②函数体:即函数⾸部下⾯的花括号内的部分。
如果⼀个函数内有多个花括号,则最外层的⼀对花括号为函数体的范围。
函数体⼀般包括:声明部分、执⾏部分2、运⾏C程序的步骤及每个步骤⽣成⽂件的类型及特点(P7)3、第⼆章算法1、算法的定义⼀个程序应包括①数据结构即对数据的描述;②算法也就是操作步骤。
计算机算法可分为两⼤类:数值运算算法和⾮数值运算算法。
2、算法的特性(P19)1.有穷性;2.确定性;3.有零个或多个输⼊;4.有⼀个或多个输出;5.有效性。
3、描述算法的常⽤⽅法(P20-33)1.⾃然语⾔;2.⽤流程图表⽰算法。
3.N—S图4.计算机语⾔5.伪代码4、C程序算法的3种基本结构及其共同特点(P24-25)三种基本结构:1.顺序结构:最基本;2.选择结构:⼜称选取结构或分⽀结构;3.循环结构:⼜称重复结构;①当(while)型循环;②直到(until)型循环。
共同特点:1. 只有⼀个⼊⼝;2. 只有⼀个出⼝;3. 结构内的每⼀部分都有机会被执⾏到;4. 结构内不存在?死循环?。
5、结构化程序设计的设计原则(P34)1.⾃顶向下;2. 逐步细化;3. 模块化设计;4. 结构化编码。
第三章数据类型、运算符与表达式1、C 语⾔的基本数据类型和构造数据类型(P37)在程序中对⽤到所有数据都必须制定其数据类型。
数据有常量和变量之分,它们分别属于以上这些类型。
2、字⾯常量和符号常量(P37-38)在程序运⾏过程中,其值不能被改变的量称为常量,常量区分为整型常量和实型常量,常量⼀般从其字⾯形式即可判别,这种常量称为字⾯常量或者直接常量。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1章C++的初步知识上学期是以C为蓝本来讲解,这学期需要增加一些C++的内容,这是进入C/C++程序设计II学习的前期准备。
从C到C++C语言是结构化和模块化的语言,它是面向过程的。
能处理小规模的程序。
但当规模较大时会显示岀它的不足。
为了解决这个软件危机,提岀了面向对象的程序设计( object orie nted programming ,OOP )思想。
C++保留了C语言原有的所有优点,增加了面向对象机制。
所以C++也称为“带类的C”。
C++对C的“增强”,表现在以下两个方面:1、在原来面向过程的机制基础上,对C语言的功能作了扩充。
(本章将介绍充分部分)2、增加了面向对象的机制。
\在面向对象的程序设计中仍然要用到结构化程序设计的知识。
下面介绍C++对C的扩充,及与C的差别所在。
最简单的C++程序C++程序在结构上与C的差别如下:1、标准C++规定main函数声明为int型,即此主函数带回一个整型的函数值。
程序如果正常执行,则操作系统返回数值0,否则返回数值-1。
2、系统头文件不带后缀.h,如:#include<iostream>3、使用系统库时要使用命名空间std。
即使用using namespace std; ,这句话的意思是使用命名空间std o C++标准库中的类和函数是在命名空间std中声明的,因此程序中如果需要用到C++标准库,就需要用using namespace std; 来声明,表示要用命名空间std中的内容。
例最简单的只有输出的程序1.3 C1.3.1 Cn";当程序需要执行键盘输入时,可以使用抽取操作符">>",从cin输人流中抽取字符。
例如:int a;cin>>a; 。
\不管把什么基本数据类型的名字或值传给流,它都能懂。
例如,下面的程序是输岀字符串和整数:cout<<"a C++ program.";cout«e ndl;cout<<2;cout«e ndl;return 0;}从上面的程序可以看出,输出的写法可以在同一行串连也可以分在几行。
cin可以和cout 一样的方式调整行,它自动识别变量位置和类型。
例如:int afloat b;char c; ,贝U cin>>a>>b»c; ,也可以写成:cin> >a;cin> >b;cin»ccin能够知道抽取的变量的类型,它将对a,b,c分别给岀一个整型、浮点型和字符型数。
二、输入流与输出流中使用控制符(第七章中详细介绍,这里了解就可以了)流的默认格式输岀有时不能满足特殊要求,如:double average=; coutvvaveragevve ndl;希望显示的是,即保留两位小数,可是却显示了,默认显示6位有效位。
用控制符(manipulators) 可以对I/O流的格式进行控制。
控制符是在头文件中定义的对象。
可以直接将控制符插入流中。
常用控制符如下表所列。
1.3.2 用在C语言中常用命令来定义符号常量,实际上,只是进行字符置换,容易误解可以用下面的默认参数的函数来替代:void poin t(i nt=3,i nt=4);当调用“point()"时,即调用“point(3 4);”它是第3个声明的重载函数。
当调用“point(6);"时,即调用“point(6, 4);”它是第2个声明的重载函数。
当调用“point(7,8);”时,即调用第1个声明的重载函数如果一组重载函数(可能带有默认参数)都允许相同实参个数的调用,将会引起调用的二义性。
例如:void fun c(i nt); // 重载函数之一void func(int , int=4); //重载函数之二,带有默认参数void func(int=3 , int=4); //重载函数之三,带有默认参数func(7); //error:到底调用3个重载函数中的哪个?func(20,30) //error:到底调用后面2个重载函数的哪个?学生练习:将P13例不用重载,改用带有默认参数的函数。
#in clude<iostream>using n amespace std;int max(i nt a,i nt b,i nt c=0){return (a>b?a:b)>c?(a>b?a:b):c;}int mai n(){int a,b,c;cin> >a»b»c;cout<<max(a,b,c)<<" "<<max(a,b)<<e ndl;}1.3.7 变量的引用引用是C++引入的新语言特性,是C++常用的一个重要内容之一,正确、灵活地使用引用,可以使程序简洁、高效。
许多人使用它仅仅是想当然,在某些微妙的场合,很容易岀错,究其原由,大多因为没有搞清本源。
一、引用的概念引用是个别名,就是某一个变量或对象(目标)的别名。
从那时起,引用作为目标的别名而使用。
对引用的改动实际就是对目标的改动,对引用的操作与对变量直接操作完全一样。
引用的声明方法:类型标识符&引用名=目标变量名;女如: int a; int &ra=a; // 定义引用ra,它是变量a的引用,即别名。
说明:(1)&在此不是求地址运算,而是起标识作用。
在看到&ra形式时,当&ra前有类型符时(如int &ra),它就是对引用的声明;如果前面没有类型符(如p=&ra ),则&是取地址运算符。
(2)类型标识符是指目标变量的类型。
(3)声明引用时,必须同时对其进行初始化。
(4 )引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,且不能再把该引用名作为其他变量名的别名。
ra=1; 等价于a=1;(5)声明一个引用,不是新定义了一个变量,它只表示该引用名是目标变量名的一个别名,它本身不是一种数据类型,因此引用本身不占存储单元,系统也不给引用分配存储单元。
故:对引用求地址,就是对目标变量求地址。
&ra与&a相等。
(6)不能对void进行引用。
(7)不能建立数组的引用。
因为数组是一个由若干个元素所组成的集合,所以无法建立一个数组的别名。
(8)由于指针也是变量,所以可以有指针变量的引用。
引用本身不是一种数据类型,所以没有引用的引用,也没有引用的指针。
二、引用的简单使用通过下面的例子来了解引用的简单使用。
//自编例,阅读程序#in elude <>void mai n(){ int intOne;int& rln t=i ntOne;intOn e=5;eout <<"i ntOn e:" < vintOne <<e ndl;eout <<"rl nt:" <<rl nt <<e ndl;rln t=7;eout <<"i ntOn e:" < vintOne <<e ndl;eout <<"rl nt:" <<rl nt <<e ndl;eout <<"&in tO ne:" < <&intOne <<e ndl;eout <<"&rlnt:" <<&rlnt <<endl;}运行结果为:intOn e:5rln t:5intOn e:7三、引用作为函数参数引用的一个重要作用就是作为函数的参数。
以前的C语言中函数参数传递是值传递,如果有大块数据作为参数传递的时候,采用的方案往往是指针,因为这样可以避免将整块数据全部压栈,可以提高程序的效率。
但是现在( C++中)又增加了一种同样有效率的选择(在某些特殊情况下又是必须的选择),就是引用。
例:实现两个变量值的交换传递指针给用户增加了编程和理解的负担,下面我们用引用来实现。
〃例使用引用作形参,实现两个变量的互换#in clude<>void swap(int &p1, int &p2) //此处函数的形参p1, p2都是引用{int p; p=p1; p1=p2; p2=p; 〃这里直接用p1、p2}/*为了在程序中调用该函数,则相应的主调函数的调用点处,直接以变量作为实参进行调用即可而不需要实参变量有任何的特殊要求。
如:对应上面定义的swap函数,相应的主调函数可写为:*/void mai n() {int a,b;cin>>a»b; //输入a,b两变量的值swap(a,b); //直接以变量a和b作为实参调用swap函数cout<<a<< ' ' <<b; // 输出结果}上述程序运行时,如果输入数据10 20并回车后,则输岀结果为20 10。
由上例可看岀:(1 )传递引用给函数与传递指针的效果是一样的。
这时,被调函数的形参就成为原来主调函数中的实参变量或对象的一个别名来使用,所以在被调函数中对形参变量的操作就是对其相应的目标对象(在主调函数中)的操作。
(2)使用引用传递函数的参数,在内存中并没有产生实参的副本,它是直接对实参操作;而使用一般变量传递函数的参数,当发生函数调用时,需要给形参分配存储单元,形参变量是实参变量的副本。
因此,当参数传递的数据较大时,用引用比用一般变量传递参数的效率和所占空间都好。
(3)使用指针作为函数的参数虽然也能达到与使用引用的效果,但是,在被调函数中同样要给形参分配存储单元,且需要重复使用“*指针变量名“的形式进行运算,这很容易产生错误且程序的阅读性较差;另一方面,在主调函数的调用点处,必须用变量的地址作为实参。
而引用更容易使用,更清晰。
如果既要利用引用提高程序的效率,又要保护传递给函数的数据不在函数中被改变,就应使用常引用。
四、返回多个值(增加内容)函数只能返回一个值。
如果程序需要从函数返回两个值怎么办?解决这一问题的办法之一是用引用给函数传递两个参数,然后由函数往目标中填入正确的值。
因为用引用传递允许函数改变原来的目标,这一方法实际上让函数返回两个信息。
引用和指针都可以用来实现这一过程。