C++复习材料(谭浩强)
C语言程序设计谭浩强(第四版)期末复习试题重点
第一章程序设计和C语言1.1.什么是计算机程序程序..:一组计算机能识别和执行的指令。
只要让计算机执行这个程序,计算机就会自动地、有条不紊地进行工作计算机的一切操作都是由程序控制的,离开程序,计算机将一事无成。
1.2什么是计算机语言计算机语言:人和计算机交流信息的、计算机和人都能识别的语言。
计算机语言发展阶段:机器语言(由0和1组成的指令)符号语言(用英文字母和数字表示指令)高级语言(接近于人的自然语言和数学语言)面向过程的语言(非结构化的语言、结构化语言);面向对象的语言1.3C语言的发展及其特点C语言是一种用途广泛、功能强大、使用灵活的过程性编程语言,既可用于编写应用软件,又能用于编写系统软件。
因此C语言问世以后得到迅速推广。
C语言主要特点:语言简洁、紧凑,使用方便、灵活。
(只有37个关键字、9种控制语句;程序书写形式自由,源程序短)运算符丰富。
(34种运算符;把括号、赋值、强制类型转换等都作为运算符处理;表达式类型多样化)数据类型丰富。
(包括:整型、浮点型、字符型、数组类型、指针类型、结构体类型、共用体类型;C99又扩充了复数浮点类型、超长整型、布尔类型;指针类型数据,能用来实现各种复杂的数据结构的运算。
)具有结构化的控制语句。
(如if…else语句、while语句、do…while语句、switch语句、for语句用函数作为程序的模块单位,便于实现程序的模块化;C语言是完全模块化和结构化的语言)语法限制不太严格,程序设计自由度大。
(对数组下标越界不做检查;对变量的类型使用比较灵活,例如,整型量与字符型数据可以通用;C语言允许程序编写者有较大的自由度,因此放宽了语法检查)允许直接访问物理地址,能进行位操作,可以直接对硬件进行操作。
(C语言具有高级语言的功能和低级语言的许多功能,可用来编写系统软件;这种双重性,使它既是成功的系统描述语言,又是通用的程序设计语言)用C语言编写的程序可移植性好。
《C面向对象程序设计》谭浩强版复习总结
第一章C++ 基础endl 换行并刷新输出流setw(n) 设置字段位数为nhex,oct,dec 十六进制,八进制,十进制表示setfill 定义填充字符setprecision 定义浮点数的精度left,right 左对齐,右对齐showpoint 强制显示小数点以及全部尾部0C++通过给常量命名的方式定义常量:const<数据类型名><常量名>=<表达式>用const定义的标识符常量时,一定要对其初始化。
在说明时进行初始化是对这种常量置值的唯一方法,不能用赋值运算符对这种常量进行赋值。
函数声明的一般形式为函数类型函数名(参数表)函数模板的定义template<typename 或class T>函数定义例子:template<typename T>T max(T a,T b){return(a>b)? a:b;}定义函数模板时可以使用多个类型参数,每个类型参数前面只需加上关键字typename或class,用逗号分隔:template <class T1, class T2, class T3>例子:template<class T1, class T2>T1 max(T1 a,T2 b){return (a>b) ? a : (T1)b;}有默认参数的函数:实参与形参的结合是从左至右进行的,因此指定默认值的参数必须放在形参列表中的最右端引用定义对变量起另外一个名字(别名alias),这个名字称为该变量的引用。
<类型> &<引用变量名> = <原变量名>;其中原变量名必须是一个已定义过的变量。
如:int max ;int &refmax=max;refmax并没有重新在内存中开辟单元,只是引用max的单元。
max与refmax在内存中占用同一地址,即同一地址两个名字。
谭浩强《C语言程序设计》考研练习题库
谭浩强《C语言程序设计》考研练习题库在计算机科学与技术领域,C 语言作为一门基础且重要的编程语言,对于考研学子来说,熟练掌握其知识和技能至关重要。
谭浩强老师的《C 语言程序设计》是众多高校广泛采用的经典教材,而与之配套的考研练习题库,则是考生们巩固知识、提升能力的有力工具。
这套考研练习题库涵盖了 C 语言的各个方面,包括数据类型、运算符与表达式、控制结构、数组、指针、函数、结构体与共用体、文件操作等。
题目类型丰富多样,有选择题、填空题、编程题等,能够全面考查考生对知识点的理解和运用能力。
在数据类型的部分,题库中会有各种关于整型、浮点型、字符型等数据类型的定义、存储方式以及取值范围的题目。
例如,让考生判断某个变量在特定运算中的数据类型转换是否正确,或者给定一个数值,要求考生选择合适的数据类型进行存储。
运算符与表达式的题目则注重考查考生对各种运算符的优先级、结合性的掌握,以及如何正确构建表达式来实现特定的计算目标。
比如,复杂的混合运算中,要求考生确定最终的计算结果,或者根据给定的条件写出相应的表达式。
控制结构是 C 语言的核心之一,这部分的题目会涵盖 ifelse 语句、for 循环、while 循环、dowhile 循环等。
可能会要求考生根据给定的逻辑条件,写出正确的控制结构代码,或者分析一段已有代码的输出结果。
数组是存储相同类型数据的集合,题库中关于数组的题目会涉及数组的定义、初始化、遍历以及数组作为函数参数的传递等。
比如,给定一个数组,要求考生对其进行排序或者查找特定元素。
指针是 C 语言的一个重要特色,也是难点所在。
在题库中,会有大量关于指针的操作、指针与数组的关系、指针作为函数参数等方面的题目。
考生需要熟练掌握指针的概念和用法,才能正确解答这些问题。
函数是 C 语言程序模块化设计的基础,相关题目会考查函数的定义、调用、参数传递、返回值,以及函数的递归调用等。
考生需要理解函数的工作机制,能够编写和调用功能正确的函数。
C语言程序设计谭浩强(第四版)期末复习重点.pdf
}
2.5 结构化程序设计方法
采取以下方法保证得到结构化的程序: ( 1)自顶向下; ( 2)逐步细化; ( 3)模块化设计; ( 4)结构化编码。
第三章 最简单的 C 程序设计
3.1 顺序程序设计举例
例 3.1 有人用温度计测量出用华氏法表示的温度c 解题思路:找到二者间的转换公式
5 c ( f 32)
return 0;
}
3.2.1 常量与变量
1.常量:在程序运行过程中,其值不能被改变的量。
整型常量 :如 1000,12345,0, -345; 实型常量 :十进制小
数形式:如 0.34 -56.79 0.0,指数形式:如 12.34e3 ( 代表 12.34 103);字符常量 :如’ ?’,转义
用 C 语言编写的程序可移植性好。 ( C 的编译系统简洁,很容易移植到新系统;在新系统上运行时,可直接编译
“标准链接库”中的大部分功能,不需要修改源代码;几乎所有计算机系统都可以使用
C 语言)
生成目标代码质量高,程序执行效率高。
1.4.1 最简单的 C 语言程序举例
C 语言允许用两种注释方式: // :单行注释,可单独占一行,可出现在一行中其他内容的右侧。
字符:如’ \n’;字符串常量:如” boy ”;符号常量: #define PI 3.1416
2.变量:在程序运行期间,变量的值是可以改变的。变量必须
先定义 , 后使用, 定义变量时指定该变量的 名字 和
类型。变量名 和 变量值 是两个不同的概念,变量名实际上是以一个名字代表的一个
存储地址。
从变量中取值,实际上是通过变量名找到相应的内存地址,从该存储单元中读取数据。 3.常变量: const int a=3;
C语言程序设计谭浩强第四版期末复习重点
第一章程序设计和C语言1.1.什么是计算机程序程序:一组计算机能识别和执行的指令。
只要让计算机执行这个程序,计算机就会自动地、有条不紊地进行工作计算机的一切操作都是由程序控制的,离开程序,计算机将一事无成。
1.2什么是计算机语言计算机语言:人和计算机交流信息的、计算机和人都能识别的语言。
计算机语言发展阶段:机器语言(由0和1组成的指令)I符号语言(用英文字母和数字表示指令)高级语言(接近于人的自然语言和数学语言)面向过程的语言(非结构化的语言、结构化语言);面向对象的语言1.3C语言的发展及其特点C语言是一种用途广泛、功能强大、使用灵活的过程性编程语言,既可用于编写应用软件,又能用于编写系统软件。
因此C语言问世以后得到迅速推广。
C语言主要特点:语言简洁、紧凑,使用方便、灵活。
(只有37个关键字、9种控制语句;程序书写形式自由,源程序短)运算符丰富。
(34种运算符;把括号、赋值、强制类型转换等都作为运算符处理;表达式类型多样化)数据类型丰富。
(包括:整型、浮点型、字符型、数组类型、指针类型、结构体类型、共用体类型;C99又扩充了复数浮点类型、超长整型、布尔类型;指针类型数据,能用来实现各种复杂的数据结构的运算。
)具有结构化的控制语句。
(如if…else语句、while语句、do…while语句、switch语句、for语句用函数作为程序的模块单位,便于实现程序的模块化;C语言是完全模块化和结构化的语言)语法限制不太严格,程序设计自由度大。
(对数组下标越界不做检查;对变量的类型使用比较灵活,例如,整型量与字符型数据可以通用;C语言允许程序编写者有较大的自由度,因此放宽了语法检查)允许直接访问物理地址,能进行位操作,可以直接对硬件进行操作。
(C语言具有高级语言的功能和低级语言的许多功能,可用来编写系统软件;这种双重性,使它既是成功的系统描述语言,又是通用的程序设计语言)用C语言编写的程序可移植性好。
(C的编译系统简洁,很容易移植到新系统;在新系统上运行时,可直接编译“标准链接库”中的大部分功能,不需要修改源代码;几乎所有计算机系统都可以使用C语言)生成目标代码质量高,程序执行效率高。
《C程序设计(第四版)》,谭浩强 著, 清华大学出版社知识点总结期末复习
一、关键字和标识符关键字:int for if标识符:char str[30];int a; double b; str,a,b是标识符标识符命名规则:字母、数字、下划线、且数字不能开头3test 否tes_3 是u&54 否二、运算符优先级数学运算:+ - * / &关系运算:< > <= >= 低于数学运算逻辑运算:&& || !低于关系运算三、数据类型int char double float表示范围(有类型所占空间长度决定)类型转换:1)隐式转换:赋值时转换int a = 3.2;float b = 3; //a为3 b为3.0运算时转换任何数与float或double类型运算,都转为double2)强制转换:float a =3.2; int b = (int)a; //b为3四、面向过程编程:顺序结构:从上到下依次执行选择结构:if if...else if...else if...else switch分支结构:while() for() do...while();五、模块化编程(函数)函数的定义:返回类型函数名(参数列表)void myPrint(char s[]);int max(int a,int b);函数的调用:1、直接调用max(3,5);2、作为参数调用:printf("%d",max(3,5));3、作为条件调用:if(max(3,5)>2)eg://应用场合:给一个字符串,求数字个数helloChina5AAA6BBB'\n'while(scanf("%c",&tmp)==1 && tmp != '\n'){if('0'<=tmp && tmp<='9')cnt++;}或者:scanf("%s",str)//char str[50];int len = strlen(str);for(int i=0;i<len;i++){if('0'<=str[i] && str[i]<='9')cnt++;}形式参数和实际参数:函数头中的参数就是形式参数,用来点位;实际被处理的是实参局部变量和全局变量局部变量:定义中代码块{ }中的变量;可能在函数中,可能在if、while、for中只在局部有效,出代码块,消失全局变量:定义在代码块{ }之外,全局可用,一直存在。
(完整版)C++复习材料(谭浩强)
第一章C++的初步认识1、C语言的主要特点是:1、C语言是一种结构化的程序设计语言,语言本身简洁、使用灵活方便。
2、它既有高级语言的特点,又具有汇编语言的特点。
3、程序的可移植性好。
4、程序的语法结构不够严密,程序设计的自由度大。
不足:C语言对数据类型检查的机制比较弱;缺少支持代码重用的结构;随着软件工程规模的扩大,难以适应开发特大型的程度等等。
(又把运算符的重载、引用、虚函数等功能加入到C++中,使C++的功能日趋完善。
)2、源程序*.CPP—>目标文件*.OBJ—>可执行文件*.EXE编译过程:1)启动Visual C++,选择“文件”菜单中的“新建”命令,选择“文件”标签中的“C++ Source File”选项。
2)选择源程序存放的目录和输入源程序名,单击“确定”。
3)在编辑器中编写源程序。
4)单击F7或“编译”中的“重建全部”编译源程序,若编译通过,单击“执行”,在DOS屏上看结果,任按一键返回编辑器。
第二章数据类型、运算符与表达式1、CPU<—>(data)内存<—(program)外存用一个字节表示整数,范围为-128~127;用两个字节表示整数,范围为-32768~ 32767。
一般用四个字节表示整数。
2、变量在程序的执行中能够赋值,发生变化。
变量有一个名字,并在使用之前要说明其类型,一经说明,就在内存中占据与其类型相应的存储单元。
变量名、数组名、函数名称为标识符。
标识符只能由字母、数字、下划线这三种字符组成,且第一个字符必须为字母或下划线,长度不大于247个字符,大小写不通用。
(关键字不能作为标识符)。
变量必须使用前定义,以分配空间。
常量是根据其表面形式来判定,整型量即是没有小数点的整数,范围:-231~(231-1),有三种形式:1)十进制(默认方式)2)八进制以0开头3)十六进制以0x开头整型变量:分为有符号型与无符号型。
有符号型:short 在内存中占两个字节,范围为-215~(215-1)int 在内存中占四个字节,范围为-231~(231-1)long在内存中占四个字节,范围为-231~231-1无符号型:最高位不表示符号位unsigned short 在内存中占两个字节,范围为0~216-1unsigned int 在内存中占四个字节,范围为0~232-1unsigned long在内存中占四个字节,范围为0~232-11)整型常量亦有长短之分,常量中无unsigned型,但一个非负的整型常量可以赋给unsigned 型的变量。
C语言程序设计谭浩强期末复习重点
C语言程序设计谭浩强期末复习重点一、C语言基础知识1.C语言概述:C语言的起源和发展,C语言的特点和应用领域。
2.程序的基本组成:程序、进程和线程的概念,C语言程序的基本结构。
3.常量和变量:数据类型的概念和分类,常量和变量的定义和声明,变量的作用域和生存期。
4.表达式和运算符:表达式的定义和分类,运算符的分类和优先级,表达式的求值和类型转换。
5.输入输出函数:标准输入输出库函数的使用,格式化输入输出的实现,文件的读写操作。
6.控制语句:条件语句、循环语句和跳转语句的使用,多重选择语句的嵌套和应用。
二、数组和字符串1.数组的概念和定义:一维数组和二维数组的定义,静态数组和动态数组的区别。
2.数组的输入和输出:数组的初始化和遍历,数组作为函数参数的传递,数组作为函数返回值的应用。
3.字符串的定义和操作:字符串的输入和输出,字符串的存储和长度,字符串的比较和拼接。
4. 字符串函数的使用:字符串函数库的介绍,字符串函数的功能和使用方法,如strlen、strcpy、strcat等。
三、函数和指针1.函数的定义和调用:函数的定义和声明,函数的参数传递和返回值,函数的重载和递归。
2.函数指针的概念和应用:函数指针的定义和声明,函数指针作为参数和返回值的使用。
3.指针的概念和运算:指针的定义和初始化,指针的运算和比较,指针和数组的关系。
4. 动态内存分配和释放:内存的动态分配和释放的方法,malloc、calloc和realloc函数的使用。
5.指针的应用:指针和函数的结合,指针和字符串的处理,指针数组和指向指针的指针的应用。
四、结构和文件1.结构体的定义和使用:结构体成员的定义和访问,结构体数组和指针的应用。
2.文件的读写和操作:文件的打开和关闭,文件的读写操作,文件指针的定位和偏移。
3.文件的管理和处理:文件的目录结构和存储方式,文件的读写权限和错误处理。
4.顺序文件和随机文件:顺序文件的读写方法,随机文件的读写方法,文件的打包和压缩。
谭浩强C语言复习提纲
• 3、将程序补充完整。以下程序从输入数据中统计正整 数和负整数的个数.用输入0来结束输入.变量i存放正整数 个数,变量j存放负整数的个数. • void main() • { 1 i,j,n; • i=j=0; • scanf(“%d”,&n); • while( 2 ) • {if(n>0) ( 3 ) • if(n<0) ( 4 ) • } • printf(“i=%4d j=%4d\n”,i,j); • }
• 丢失重要条件:z应该能够被3整除。 main( ) { int x,y,z,j=0; 循环体执行1000000次 for(x=1;x<=100;x++) for(y=1;y<=100;y++) for(z=1;z<=100;z++) if( z%3==0&&x+y+z==100&&5*x+3*y+z/3==100 ) printf("%2d:cock=%2dhen=%2dchicken=%2d\n",++j,x,y,z); } • 运行程序,正确的结果:
【例2】百钱百鸡问题
中国古代数学家张丘建在他的《算经》中提出了著 名的“百钱百鸡问题”: 鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值 采用穷举 钱一;百钱买百鸡,翁、母、雏各几何? 法求解 设:要买x只公鸡,y只母鸡,z只小鸡,可
得到方程: 公鸡5元一只,母鸡3元一只,小鸡1元三只。100 x + y + z = 100 ① 元买100只鸡,能买公鸡、母鸡、小鸡各多少只? 5 x + 3 y + z / 3 = 100 ② 取值范围:0 <= x、y、z <= 100
谭浩强c语言试题及答案解析
谭浩强c语言试题及答案解析1. 选择题A. 以下哪个选项是C语言中合法的变量名?A) 123abcB) intC) _myVarD) my-var答案:C2. 填空题A. 在C语言中,定义一个整型变量的关键字是______。
答案:int3. 判断题A. C语言中,数组的索引是从0开始的。
答案:正确4. 简答题A. 请简述C语言中指针的概念。
答案:指针是C语言中的一种数据类型,它存储了另一个变量的内存地址。
通过指针,程序可以间接访问和操作变量。
5. 编程题A. 编写一个C语言程序,实现求两个整数的和。
```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("两个整数的和是:%d\n", sum); return 0;}```6. 阅读程序题A. 阅读以下C语言程序,并回答问题:```c#include <stdio.h>int main() {int a = 10, b = 20;printf("%d\n", a + b);return 0;}```问题:程序的输出结果是什么?答案:程序的输出结果是30。
7. 改错题A. 以下C语言程序有错误,请找出并改正。
```c#include <stdio.h>int main() {int a = 5;printf("a的值是:%d", a);return 0;}```错误:printf函数中缺少换行符。
改正:```c#include <stdio.h>int main() {int a = 5;printf("a的值是:%d\n", a);return 0;}```8. 综合题A. 请编写一个C语言程序,实现以下功能:1. 从键盘输入一个字符串。
谭浩强C语言试题库(完整版)
谭浩强C语言试题库(完整版)谭浩强C语言试题库一、单项选择第一章 C语言概述(1) 一个C程序的执行是从A、本程序的MAIN函数开始,到MAIN 函数结束.B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束.C、本程序的MAIN函数开始,到本程序的最后一个函数结束.D、本程序文件的第一个函数开始,到本程序的MAIN函数结束.(2) 以下叙述正确的是A、在C程序中,MAIN函数必须位于程序的最前面.B、 C程序的每行中只能写一条语句.C、 C语言本身没有输入输出语句.D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误.(3) C语言规定,在一个源程序中,MAIN主函数的位置是在:A、必须在最前面.B、必须在系统调用的库函数的后面C、可以在任意位置.D、必须在最后面(4) 一个C程序是由:A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成(5) 以下叙述不正确的是:A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个MAIN函数C、 C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面第二章数据类型、运算符与表达式(1) 若x, i, j, k都是int型变量,则计算下面表达式后,x的值为x =( i=4, j=16, k=32)A、4B、16C、32D、52(2) 下列四组选项中,均不是C语言键字的选项是A、define , IF, typeB、getc, char, printfC、include, scanf, caseE、 if, struct, type(3) 下面四个选项中,均是不合法的用户标识符的选项是A、A,P_0,doB、float,1a0, _AC、b-a, goto, intD、_123, temp, INT(4) 若有代数式3ae/bc,则正确的C语言表达式是A、a/b/c*e*3B、3*a*e/bcC、3*a*e/b*cD、a*e/c/b*3(5) 已知各变量的类型说明如下:int k, a, b;unsinged long w=5;double x=1.42;则以下不符合C语言语法的表达式是A、x%(-3)B、w+=-2;C、k=(a=2,b=3,a+b)D、a+=a-=(b=4)*(a=3)第三章简单C程序设计(1)putchar函数可以向终端输出一个A、整型变量表达式值B、实型变量值C、字符串D、字符或字符型变量值(2)若x,y均定义为int型,z定义为double 型,以下合法的scanf 函数调用语句是A、scanf(“%d%lx,%le”,&x,&y,&z);B、scanf(“%2d*%d%lf”,&x,&y,&z);C、sc anf(“%x%*d%o”,&x,&y,&z);D、scanf(“%x%o%6.2f”,&x,&y,&z);(3)当输入数据的形式为:25,13,10<回车>时,以下程序的输出结果为main(){int x,y,z;scanf(“%d%d%d”,&x,&y,&z);printf(“x+y+z=%d\n”,x+y+z);}A、x+y+z=48B、x+y+z=35C、x+z=35D、不确定值(4) 以下能正确的定义整型变量a,b和c,并对它们赋初值为5的语句是A、int a=b=c=5;B、int a, b, c=5;C、a=5, b=5, c=5;D、a=b=c=5;(5) 若有以下定义,则正确的赋值语句是int a,b; float x;A、a=1, b=2;B、b++;C、a=b=5;D、b=int(x);第四章选择结构程序设计(1)能正确表示“当x的值在[1,10]和[200,210]的范围为真,否则为假”的表达式是A、(x>=1)&&(x<=10)&&(x.>=200)&&(x<=210)B、(x>=1)││(x<=10) ││(x.>=200) ││(x<=210)C、(x>=1) &&(x<=10) ││(x.>=200) &&(x<=210)D、(x>=1)││(x<=10)&& (x.>=200) ││(x<=210)(2)以下程序的运行结果是#include “stdio.h”main(){int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(“%d,%d”,a,b);}A、6,1B、2,1C、6,0D、2,0(3)请阅读以下程序:main(){int a=5 , b=0 , c=0;if (a+b+c) printf(“* * *\n”); else printf(“$ $ $\n”); }以上程序 .A) 有语法错误不能通过编译B) 可以通过编译但不能直接通过连接C) 输出* * *D) 输出$ $ $(4)以下程序的运行结果是 .main(){int m=5;if(m++>5)printf(“%d\n”,m);else printf(“%d\n”,m——);}A) 4B) 5C) 6D) 7(5) 为了避免在嵌套的条件语句中if-else中产生二义性,c语言规定:else子句总是与相配对.A)缩排位置相同的ifB)其之前最近的ifC)其之后最近的ifD)同一行上的if第五章循环控制(1)设有程序段int k=10while (k=0) k=k-1则下面描叙正确的是 .A) while (k=0) k=k-1;B) 循环是无限循环C) 循环体语句一次也不执行D) 循环体语句执行一次(2)下面程序段的运行结果是 . int n=0;while(n++<=2); printf(“%d”,n);A) 2B) 3C) 4D) 有语法错(3)C语言中while和do-while循环的主要区别是 .A) do-while的循环体至少无条件执行一次B) while 的循环控制条件比do-while的循环控制条件严格C) do-while允许从外部转到循环体内D) do-while允许从外部转到循环体内(4)以下能正确计算1*2*3*…*10的程序段是 .A) do {i=1;s=1;s=s*i;i++;}while(I<=10);B) do {i=1;s=0;s=s*i;i++;}while(I<=10);C) i=1;s=1;do {s=s*i;i++;}while(I<=10);D) i=1;s=0;do {s=s*i;i++;}while(I<=10);第六章数组(1)在c语言中,引用数组元素时,其数组下标的数据类型允许是____.A) 整型常量B) 整型表达式C) 整型常量或整型表达式D) 任何类型的表达式(2)以下能对二维数组a进行正确初始化的语句是____.A) int a[2][ ]={{1,0,1},{5,2,3,}};B) int a[ ][3]={{1,2,3},{4,5,6}};C) int a[2][4]={1,2,3,},{4,5},{6}};D) int a[ ][3]={{1,0,1},{},{1,1}};)(3)若有说明:int a[3][4]={0};则下面正确的叙述是____.A) 只有元素a[0][0]可得到初值0B) 此说明语句不正确C) 数组a中各元素都可得到初值,但其值不一定为0D) 数组a中每个元素均可得到初值0(4)下面程序___(每行程序前面的数字表示行号).1 main()2 {3 float a[10]={0};4 int i5 for(i=0;i<3;i++) scanf(“%d”,&a[i];6 for(i=1;i<10;i++) a[0]=a[0]+a{i};7 printf(“%f\n”,a[0]);8 }A) 没有错误B) 第3行有错误C) 第5行有错误D) 第7行有错误(5)若二维数组a有m列,则计算机一元素a[i][j]在数组中位置的公式为____.(假设a[0][0]位于数组的第一个位置上.)A) i*m+jB) j*m+iC) i*m+j-1D) i*m+j+1第七章函数(1)以下正确的函数定义形式是 .A)double fun(int x,int y)C) double fun(int x;int y)D) double fun(int x,int y)E) double fun(int x,y);(2) 以下正确的函数形式是 .A) double fun(int x,int y){z=x+y; return z;}B) fun(int x,y){int z;return z;}C) fun(x,y){int x,y; double z;z=x+y;return z;}D) double fun(int x,int y){double z;z=x+y;return z;}(3) C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是A)地址传递B)单向值传递C)由实参传给形参,再由形参传回给实参D)传递方式(4)C语言允许函数值型缺省定义,此时该函数值隐含的类型是 .A)float型B)int型C)long型D)double型(5)下面函数调用语句含有实参的个数为. func((exp1,exp2),(exp3,exp4,exp5));A)1B)2C)4D)5第八章编译预处理命令(1)请读程序:#define ADD(x) x+xmain(){int m=1,n=2,k=3;int sum=ADD(m+n)*k;printf(“sum=%d”,sum);}上面程序的运行结果是 .A) sum=9B) sum=10C) sum=12D) sum=18(2) 以下程序的运行结果是 . #define MIN(x,y) (x)<(y)? (x)+(y) main(){int I=10,j=15,k;k=10*MIN(I,j); printf(“%d\n”,k);。
C语言程序的设计谭浩强(第四版)期末复习重点
第一章程序设计和C语言1.1.什么是计算机程序:一组计算机能识别和执行的指令。
只要让计算机执行这个程序,计算机就会自动地、有条不紊地进行工程序..作计算机的一切操作都是由程序控制的,离开程序,计算机将一事无成。
1.2什么是计算机语言计算机语言:人和计算机交流信息的、计算机和人都能识别的语言。
计算机语言发展阶段:机器语言(由0和1组成的指令)符号语言(用英文字母和数字表示指令)高级语言(接近于人的自然语言和数学语言)面向过程的语言(非结构化的语言、结构化语言);面向对象的语言1.3C语言的发展及其特点C语言是一种用途广泛、功能强大、使用灵活的过程性编程语言,既可用于编写应用软件,又能用于编写系统软件。
因此C语言问世以后得到迅速推广。
C语言主要特点:语言简洁、紧凑,使用方便、灵活。
(只有37个关键字、9种控制语句;程序书写形式自由,源程序短)运算符丰富。
(34种运算符;把括号、赋值、强制类型转换等都作为运算符处理;表达式类型多样化)数据类型丰富。
(包括:整型、浮点型、字符型、数组类型、指针类型、结构体类型、共用体类型;C99又扩充了复数浮点类型、超长整型、布尔类型;指针类型数据,能用来实现各种复杂的数据结构的运算。
)具有结构化的控制语句。
(如if…else语句、while语句、do…while语句、switch语句、for语句用函数作为程序的模块单位,便于实现程序的模块化;C语言是完全模块化和结构化的语言)语法限制不太严格,程序设计自由度大。
(对数组下标越界不做检查;对变量的类型使用比较灵活,例如,整型量与字符型数据可以通用;C语言允许程序编写者有较大的自由度,因此放宽了语法检查)允许直接访问物理地址,能进行位操作,可以直接对硬件进行操作。
(C语言具有高级语言的功能和低级语言的许多功能,可用来编写系统软件;这种双重性,使它既是成功的系统描述语言,又是通用的程序设计语言)用C语言编写的程序可移植性好。
谭浩强C程序设计第三版复习要点
一、二、介绍部分1。
C程序在UNIX系统下运行cc a.c默认的所有输出为a.out. 可改,如:cc -o f.outf.c 2。
程序包括两个方面,一是对数据的描述也就是数据结构;二是对操作的描述也就是算法。
3。
算法是为解决一个问题采取的方法和步骤。
4。
算法特性:有穷性,确定性,有限输入输出,有效性。
5。
流程图:起止(椭圆),输入输出(平行四边形),判断(菱形),处理(长方形),流程线(-->),连接点(小圆)。
三、数据类型、运算符、表达式1。
C的数据类型:1)基本类型:整型,字符,浮点,枚举2)构造类型:数组,结构体,共用体3)指针类型4)空类型2。
整型:8进制0开头,16进制0x开头3。
整型在内存中是二进制且以补码存放的占2个字节16位。
正数的补码和其原码相同,负数的补码为符号位为1,其它位按位取反再加1。
整型范围:-32768(2^15)~~32767 (2^15 - 1) unsigned (0-2^16)注(INT):32767+1=-32768,原因,+1后,符号位为1,其它为0,这是-32768的补码形式。
如下:1000000000000000 为-327681000000000000001 为-327671000000000000010 为-32766。
区别反码,正数不变,负数将原码除符号位外取反。
实型(4个字节,32位)实型数据是按指数形式存放的。
数符位,+小数部分:.314159,还有指数部为为10的几次方。
4。
字符型:1)转义字符:/n, /t(8列), /b回退, /r回车不换行, /f换页, //2)存的是ASCII码,'a' 97 整型可与字符转换,A 653)C中没有专门存放字符串的变量,用字符数组。
5。
类型转换:char, short-->int; float-->double; int-->unsigned-->long-->double6。
c程序设计谭浩强考试题及答案
c程序设计谭浩强考试题及答案一、单项选择题(每题2分,共20分)1. C语言中,用于定义变量类型的关键字是:A. intB. floatC. doubleD. char答案:A2. 在C语言中,以下哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C3. 下列哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. variable-nameD. variable_name答案:B4. C语言中,用于输出的函数是:A. scanf()B. printf()C. getchar()D. putchar()答案:B5. 在C语言中,以下哪个选项是正确的字符串定义方式?A. char str[5] = "Hello";B. char str[5] = {'H', 'e', 'l', 'l', 'o'};C. char str[5] = "Hello"; // 错误:字符串长度超过数组长度D. char str[] = "Hello"; // 正确:数组长度自动根据字符串长度确定答案:D6. C语言中,以下哪个选项是正确的数组定义方式?A. int array[5] = {1, 2, 3, 4, 5};B. int array[] = {1, 2, 3, 4, 5};C. int array[5] = {1, 2, 3, 4};D. int array[5] = {1, 2, 3, 4, 5, 6}; // 错误:元素个数超过数组长度答案:B7. 在C语言中,以下哪个选项是正确的函数定义方式?A. int function() { return 0; }B. int function() { return 1; }C. int function() { return 2; }D. int function() { return 3; }答案:B8. C语言中,用于计算两个数的和并返回结果的函数是:A. sum()B. add()C. plus()D. calculate()答案:B9. 在C语言中,以下哪个选项是正确的条件语句?A. if (x > 0) { ... }B. if x > 0 { ... } // 错误:缺少括号C. if (x > 0) { ... } else { ... }D. if x > 0 { ... } else { ... } // 错误:缺少括号答案:C10. C语言中,以下哪个选项是正确的循环语句?A. for (int i = 0; i < 10; i++) { ... }B. for (int i = 0; i <= 10; i++) { ... }C. for (int i = 0; i < 10; i--) { ... } // 错误:递减应在循环体内部D. for (int i = 0; i < 10; i++) { ... } // 正确答案:D二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量并初始化为10的语句是:int a = 10;2. C语言中,用于计算两个数的差并返回结果的函数是:int difference(int x, int y) { return x - y; }3. 在C语言中,用于输入的函数是:scanf();4. C语言中,用于计算两个数的除法并返回结果的函数是:int divide(int x, int y) { return x / y; }5. 在C语言中,用于计算两个数的乘积并返回结果的函数是:int multiply(int x, int y) { return x * y; }6. C语言中,用于输出一个字符的函数是:putchar();7. 在C语言中,用于输出一个字符串的函数是:printf();8. C语言中,用于计算两个数的模并返回结果的函数是:int modulus(int x, int y) { return x % y; }9. 在C语言中,用于计算两个数的加法并返回结果的函数是:intadd(int x, int y) { return x + y; }10. C语言中,用于计算两个数的指数并返回结果的函数是:double power(double base, int exponent) { return pow(base, exponent); }三、编程题(每题10分,共20分)1. 编写一个C语言程序,计算并输出两个整数的和。
(完整word版)谭浩强C语言知识点总结
(完整word版)谭浩强C语言知识点总结、选择结构(分支结构)、循环结构。
2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main函数。
3)计算机的数据在电脑中保存是以二进制的形式、数据存放的位置就是他的地址、4)bit是位是指为0 或者1。
b yte 是指字节, 一个字节 = 八个位、概念常考到的:1、编译预处理不是C语言的一部分,不占运行时间,不要加分号。
C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。
2、define PI3、1415926; 这个写法是错误的,一定不能出现分号。
3、每个C语言程序中main函数是有且只有一个。
4、在函数中不可以再定义函数。
5、算法:可以没有输入,但是一定要有输出。
6、break可用于循环结构和switch语句。
7、逗号运算符的级别最低,赋值的级别倒数第二。
第一章 C 语言的基础知识第一节、对C语言的基础认识1、C语言编写的程序称为源程序,又称为编译单位。
2、C语言书写格式是自由的,每行可以写多个语句,可以写多行。
3、一个C语言程序有且只有一个main函数,是程序运行的起点。
第二节、熟悉vc++1、VC是软件,用来运行写的C语言程序。
2、每个C语言程序写完后,都是先编译,后链接,最后运行。
(、c---、obj---、exe)这个过程中注意、c和、obj文件时无法运行的,只有、exe文件才可以运行。
(常考!)第三节、标识符1、标识符(必考内容):合法的要求是由字母,数字,下划线组成。
有其它元素就错了。
并且第一个必须为字母或则是下划线。
第一个为数字就错了2、标识符分为关键字、预定义标识符、用户标识符。
关键字:不可以作为用户标识符号。
main define scanf printf 都不是关键字。
迷惑你的地方If是可以做为用户标识符。
因为If中的第一个字母大写了,所以不是关键字。
预定义标识符:背诵define scanf printf include。
谭浩强C语言基础C语言复习
判断整数m是否为素数程序 main( )
{ int m,i; scanf("%d",&m);
浮点型常量:123.、0.67、1e2 、3E+2、4.34E-4
字符型常量和转义字符(转义字符看P48表3.3):
’2’、‘\123’ 、’\0x3b’
字符串常量: “abcd”
第三章 数据类型、运算符与表达式
2、常量与变量:
变量:1、变量标识符的规定:P39。 2、变量的类型的定义 整型变量:int 、short、long、unsigned int、 unsigned long、unsigned short 实型变量:float、double、long double 字符型变量:char 不同类型的变量的存储单元的大小,所存放数据的类 型及范围。 short int <int、 long int<=float<double 这些变量都是先定义后使用。
第5章
选择结构程序设计
主要内容: 关系表达式和逻辑表达式 选择结构控制语句
(if语句、switch语句)
第五章 选择结构程序设计
1. 关系运算符的使用,特别注意赋值号与等号的区 别。关系表达式的取值。 2. 逻辑运算符的使用。逻辑表达式的取值,特别注 意在有些逻辑表达式中,并不是所有的逻辑运算 符都被执行,如在与运算中,只要有一个运算对 象的值为假,则其它运算符都不被执行,同样在 或运算中,只要有一个运算对象的值为真,其它 运算符都不被执行。 3. 逻辑表达式的运算对象可以为任意数据,非0视 为成立,0视为不成立。如if(9)视作条件成立。 4. 条件运算符: max=(a>b)?a∶b;
scanf与printf函数的区别
计算机考研谭浩强《C程序设计》考研考点复习资料
计算机考研谭浩强《C程序设计》考研考点复习资料第1章程序设计和C语言1.1 考点复习笔记一、计算机程序1程序就是一组计算机能识别和执行的指令2计算机的一切操作都是由程序控制的二、计算机语言1定义人和计算机交流信息,要解决语言问题。
需要创造一种计算机和人都能识别的语言,这就是计算机语言。
2发展阶段计算机语言经历了几个发展阶段:(1)机器语言(2)符号语言(3)高级语言三、C语言的发展及其特点1概述(1)C语言是国际上广泛流行的计算机高级语言。
(2)C语言的祖先是BCPL语言。
2发展最初的C语言只是为描述和实现UNIX操作系统提供一种工作语言而设计的,后来逐步发展为一种高级编程语言,目前C语言使用的标准是1999年修正的C99。
3特点(1)语言简洁、紧凑,使用方便、灵活(2)运算符丰富(3)数据类型丰富(4)具有结构化的控制语句(5)语法限制不太严格,程序设计自由度大(6)C语言允许直接访问物理地址(7)用C语言编写的程序可移植性好(8)生成目标代码质量高,程序执行效率高四、简单的C语言程序(1)一个程序由一个或多个源程序文件组成在一个源程序文件中可以包括3个部分:①预处理指令②全局声明③函数定义(2)函数是C程序的主要组成部分①函数是C程序的基本单位。
②一个C语言程序是由一个或多个函数组成的,有且仅有一个main函数。
③一个小程序只包含一个源程序文件。
④函数既可以是库函数,也可以是用户自定义函数。
(3)函数的两个部分①函数首部函数首部包括函数名、函数类型、函数属性、函数参数(形式参数)名、参数类型。
②函数体即函数首部下面的花括号内的部分。
函数体一般包括两部分:声明部分和执行部分。
(4)程序总是从main函数开始执行的(5)程序中对计算机的操作是由函数中的C语句完成的(6)在每个数据声明和语句的最后必须有一个分号(7)C语言本身不提供输入输出语句(8)程序应当包含注释五、运行C程序的步骤与方法C程序运行步骤图如图1-1所示。
谭浩强C++程序设计复习提纲
清华大学出版社版谭浩强《C++程序设计》复习提纲复习目标:(1)掌握C++的基本语法结构;(2)掌握基本的程序设计算法和技巧;(3)具备初步的高级语言程序设计能力;(4)掌握基本的面向对象程序设计概念和方法。
第一章:C++的初步知识要求:掌握C++程序的构成,基本书写形式,例如:每条语句以分号结束。
掌握c++程序的编写和实现过程(编译—链接—运行),及各个环节的产物。
掌握标识符的命名规则:以下划线或字母开始,后面跟着数字、字母、下划线。
第二章:数据类型和表达式要求:掌握基本的数据类型(主要是int、float、double、char)以及其占用的字节数(书本P20表2-1)以及基本类型的常量(字面常量、符号常量、常变量)和变量的说明方式,命名规则。
字符数据和整型数据的计算(p25例2-2)。
C++的基本算术和赋值运算符(包括复合赋值运算符)以及自增自减运算符,混合运算的表达式中各种运算的优先级及结合方向、类型转换。
例如:int a=123; 则a/100的值为(), a/10%10的值为()。
例如:赋值语句的类型转换:int a=23.6;则a的值为23第三章:程序设计初步1、C++程序的基本组成,利用cout 和cin完成输入与输出。
掌握关系运算和关系表达式,逻辑常量和逻辑表达式的意义和结果(P61)例如:表10>a>3的表达式为()。
2、语句结构:①、赋值的方法例: x=0与x==0的区别②、逻辑判断的控制•双分支选择语句(if语句):if语句的形式,if语句的嵌套•多分支选择语句--switch语句:语句的形式、语义、表达式的类型要求、语句中的break。
③、循环语句•指定次数的循环(for循环)、do循环、do-while循环的形式和使用,执行流程,以及区别。
•循环结束条件•循环控制变量的使用•指定次数循环的提前结束方法(break,continue)。
多重循环(两层)例如:起泡和选择排序算法(书本p138)第四章函数和预处理①、C++程序的结构:从main函数开始,到main函数结束,由函数构成②、函数的定义和声明、调用方式、return语句的作用,以及函数的类型③、函数参数的形式(形式参数与实际参数)和传递方式(参数值的传递)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章C++的初步认识1、C语言的主要特点是:1、C语言是一种结构化的程序设计语言,语言本身简洁、使用灵活方便。
2、它既有高级语言的特点,又具有汇编语言的特点。
3、程序的可移植性好。
4、程序的语法结构不够严密,程序设计的自由度大。
不足:C语言对数据类型检查的机制比较弱;缺少支持代码重用的结构;随着软件工程规模的扩大,难以适应开发特大型的程度等等。
(又把运算符的重载、引用、虚函数等功能加入到C++中,使C++的功能日趋完善。
)2、源程序*.CPP—>目标文件*.OBJ—>可执行文件*.EXE编译过程:1)启动Visual C++,选择“文件”菜单中的“新建”命令,选择“文件”标签中的“C++ Source File”选项。
2)选择源程序存放的目录和输入源程序名,单击“确定”。
3)在编辑器中编写源程序。
4)单击F7或“编译”中的“重建全部”编译源程序,若编译通过,单击“执行”,在DOS屏上看结果,任按一键返回编辑器。
第二章数据类型、运算符与表达式1、CPU<—>(data)内存<—(program)外存用一个字节表示整数,范围为-128~127;用两个字节表示整数,范围为-32768~ 32767。
一般用四个字节表示整数。
2、变量在程序的执行中能够赋值,发生变化。
变量有一个名字,并在使用之前要说明其类型,一经说明,就在内存中占据与其类型相应的存储单元。
变量名、数组名、函数名称为标识符。
标识符只能由字母、数字、下划线这三种字符组成,且第一个字符必须为字母或下划线,长度不大于247个字符,大小写不通用。
(关键字不能作为标识符)。
变量必须使用前定义,以分配空间。
常量是根据其表面形式来判定,整型量即是没有小数点的整数,范围:-231~(231-1),有三种形式:1)十进制(默认方式)2)八进制以0开头3)十六进制以0x开头整型变量:分为有符号型与无符号型。
有符号型:short 在内存中占两个字节,范围为-215~(215-1)int 在内存中占四个字节,范围为-231~(231-1)long在内存中占四个字节,范围为-231~231-1无符号型:最高位不表示符号位unsigned short 在内存中占两个字节,范围为0~216-1unsigned int 在内存中占四个字节,范围为0~232-1unsigned long在内存中占四个字节,范围为0~232-11)整型常量亦有长短之分,常量中无unsigned型,但一个非负的整型常量可以赋给unsigned 型的变量。
2)若一个常量定义为长整型数,则在其后加l或L进行区分。
不同类型的整型数据间的赋值归根到底就是一条:按存储单元中的存储形式直接传送。
#include <iostream.h>void main(){ unsigned short a; short int b= -1; a=b;cout<<"a="<<a<<endl;}结果:65535实型数又称浮点数,有两种表示方式:1)十进制形式:23.0 3.56789 2)指数形式:45e-1e前有数字,后面必须是整数。
实型变量分单精度float 和双精度double 两种形式:float:占四个字节,提供7~8位有效数字。
double: 占八个字节,提供15~16位有效数字。
一般用4个字节表示一个浮点数,也有用8个字节表示的。
字长一定,尾数越多,精度越高;阶码越多,范围越大。
当计算机中出现小于机器所能表示的最小数时,机器只能当零来处理,当出现超过机器所能表示的最大数时,出现溢出现象,一旦出现溢出,就会停止运算。
定点数,浮点数均会出现溢出现象。
字符型数据实际上是作为整型数据在内存中存储的。
计算机是以字符编码的形式处理字符的,因此,我们在计算机内部是以ASCII码的形式表示所有字符的。
所以7位二进制数即可表示出一个字符,我们用一个字节的容量(8位)存储一个字符。
在程序中表示为:char grade ;//定义一个字符型的变量空间(1个字节)grade=…A‟; //必须用… ‟表示,否则易与标识符混同… ‟内括起来的字符表示该字符的ASCII码。
进一步,由于在内存中的形式与整型数据相同,所以,可以直接用其整型值给变量赋值。
非打印字符有些ASCII的字符代表某些操作,不能打印出来,如回车、退格等,可用两种方式表示这些字符。
1)用ASCII码的形式char re=13;2)用转义字符char re=…\n‟;(p24)转义字符虽然包含2个或多个字符,但它只代表一个字符。
编译系统在见到字符“\”时,会接着找它后面的字符,把它处理成一个字符,在内存中只占一个字节。
字符串常量:用" "表示,在内存中顺序存放,以'\0'结束。
如:"CHINA"实际上内存是对应字符的ASCII码形式'a'在内存中占一个字节"a"占两个字节标识符常量在C++中有二种方法定义标识符常量,一种是使用编译预处理指令;另一种是使用C++的常量说明符const。
变量1) 在程序的执行过程中,其值可以改变的量称为变量。
2) 变量名必须用标识符来标识。
3) 变量根据其取值的不同值域,分为不同类型的变量:整型变量、实型变量、字符型变量、构造型变量、指针型变量等等。
4) 对于任一变量,编译程序要为其分配若干个字节(连续的)的内存单元,以便保存变量的取值。
5) 当要改变一个变量的值时,就是把变量的新的取值存放到为该变量所分配的内存单元中;用到一个变量的值时,就是从该内存单元中取出数据。
6) 不管什么类型的变量,通常均是变量的说明在前,使用变量在后。
开辟空间后, 空间中为随机值变量赋初值在定义变量的同时给变量赋值,即在内存中开辟出一个空间后马上给此空间赋值。
但这个空间的值并不是固定不变的,在程序的运行中一样可以改变。
C++的运算符P31强制转换类型(double) a 在强制类型运算后原变量不变,但得到一个所需类型的中间变量。
四、自增、自减运算符(难点)++ --++在前, 先运算,后赋值++在后, 先赋值,后运算1)自增、自减运算符只能用于变量,不可用于常量和表达式因为表达式在内存内没有具体空间,常量所占的空间不能重新赋值3++ (x+y)++ (-i)++2)结合方式自右至左,优先级最高,向右取最大赋值运算符和赋值表达式"="左边必须是变量名。
若“ = ” 两边变量类型不同,在赋值时要进行类型转换。
转换原则:根据左边变量的类型转换。
少字节—>多字节1)若多字节变量为unsigned ,则转换后多余字节补零。
2)若多字节变量为有符号型,则转换后扩展少字节的最高位。
转换后,数据的符号不变。
多字节—>少字节低位照搬"="的结合性为自右至左关系运算符和关系表达式3. 算术运算符的优先级大于关系运算符的优先级关系表达式:用关系运算符将表达式连接起来称为关系表达式。
其值非真即假。
在C++语言中,用非0代表真,用0表示假。
关系表达式的结果只有两个,真为1,假为0。
逻辑运算符注意事项1.作为条件,所有非0值均为真;作为结果,只有0或1两种。
2.不可写为1<x<10 应为:1<x && x<103.当前面的表达式可以得出整个表达式的结果时,不必再求后面的表达式。
sizeof()运算符是一个单目运算符,用于计算某一个操作数类型的字节数。
其格式为:sizeof(<类型>)逗号运算符和逗号表达式表达式1,表达式2,表达式3,…,表达式n顺序求解,结果为最后一个表达式的值,并且优先级最低。
各类数值型数据间的混合运算整型、实型、字符型数据间可以混合运算。
在进行运算时,不同类型的数据要先转换成同一类型的数据再进行运算。
转换规则如下:P33第三章简单的输入输出输入语句:cin要使用C++提供的输入输出时,必须在程序的开头增加一行:#include <iostream.h>输入语句自动过滤空白字符。
字符型变量过滤空白字符。
cin格式过滤空白字符在缺省的情况下,cin自动跳过输入的空格,换言之,cin不能将输入的空格赋给字符型变量,同样地,回车键也是作为输入字符之间的分隔符,也不能将输入的回车键字符赋给字符型变量。
若要把从键盘上输入的每一个字符,包括空格和回车键都作为一个输入字符赋给字符型变量时,必须使用函数cin.get()。
其格式为:cin.get(<字符型变量>);cin.get()从输入行中取出一个字符,并将它赋给字符型变量。
这个语句一次只能从输入行中提取一个字符。
在缺省的情况下,系统约定输入的整型数是十进制数据。
当要求按八进制或十六进制输入数据时,在cin中必须指明相应的数据类型:hex为十六进制;oct为八进制;dec为十进制。
int i,j,k,l;cin>>hex>>i; //指明输入为十六进制数cin>>oct>>j; //指明输入为八进制数cin>>k; //输入仍为八进制数cin>>dec>>l; //指明输入为十进制数当执行到语句cin时,若输入的数据为:11 11 12 12<CR>使用非十进制数输入时,要注意以下几点:1、八进制或十六进制数的输入,只能适用于整型变量,不适用于字符型变量,实型变量。
2、当在cin中指明使用的数制输入后,则所指明的数制一直有效,直到在接着的cin中指明输入时所使用的另一数制为止。
如上例中,输入k的值时,仍为八进制。
3、输入数据的格式、个数和类型必须与cin中所列举的变量类型一一对应。
一旦输入出错,不仅使当前的输入数据不正确,而且使得后面的提取数据也不正确。
输出数据cout与输入cin对应的输出是cout输出流。
当要输出一个表达式的值时,可使用cout来实现,其一般格式为:cout << <表达式> 《<< <表达式>......》;其中运算符“<<”称为插入运算符,它将紧跟其后的表达式的值,输出到显示器当前光标的位置。
…\t‟为转义字符Tab endl为回车或…\n‟cout将双引号中的字符串常量按其原样输出指定输出项占用的宽度:在输出的数据项之间进行隔开的另一种办法是指定输出项的宽度。
如上面的两个输出语句可改写为:cout <<setw(6)<< i<<setw(10)<<j<<endl;_ _ _ _ _ 4_ _ _ _ _ _ _ _ _12其中setw(6)指明其后的输出项占用的字符宽度为6,即括号中的值指出紧跟其后的输出项占用的字符位置个数,并向右对齐。