c++入门经典习题集.txt骗子太多,傻子明显不够用了。我就是在路上斩棘杀龙游江过河攀上塔顶负责吻醒你的公主。C++入门经典习题集
第一章:基本概念******************************* (1):c++程序至少包含一个main()函数 (2):函数的可执行部分由包含在一对花括号中的语句组成 (3):一对花括号定义了一个语句块 (4):语句用分号结束 (5):关键字是C++中有特殊含义的一组保留字,程序中的实体不能与C++语言中的任何关键字同名
第二章:基本数据类型和计算************************** (1):数值和字符常量被称为字面量 (2):可以把整数字面量定义为十进制,十六进制,或八进制 (3):浮点字面量必须包含小数点和指数,或者两者都包含 (4):C++的所有字面量和变量都有给定的类型 (5):Char类型的变量可以存储单个字符,占用一个字节,char类型在默认的情况下是带符号的,也可以是不带符号的,这取决于编辑器,也可以使用,signed 和 unsigned char 类型的变量存储整数 (6):类型wchat_t 可以存储宽字符,占用两个字节,这也取决于编辑器 (7):变量的名称和类型出现在声明语句中,以一个分号结束,声明一个变量,如果给该变量分配了空间内存,那么也就定义了该变量 (8):变量的声明可以指定初始值,这是一种良好的编程习惯 (9):可以用const保护基本数据类型的"变量"值,编辑器程序源代码文件中检查是否试图修改声明为const的变量
练习题:
1:编写一个程序,计算圆的面积.该程序应提示输入圆的半径,使用公式area = pi*radius*radius 计算面积,在显示结果
2:使用第一题的解决方案,改进代码,使用户输入所需的位数,控制输出的精度 (提示, 使用setprecision()操纵程序)
3:在生日那天,你得到了一个卷尺和一个可以确定角度的仪器,例如测量水平线和树高之间的夹角,如果你知道自己与树之间的距离d和眼睛平视量角器的高度h,就可以用下面的公式计算出树的高 h+d*tan(angle)
创建一个程序,从键盘上输入h, d ,angle 输出树的高度
第三章:处理基本数据类型*************************** (1):关键字typedef允许定义其他类型的同义词 (2):关键字extern允许引用在另一个文件中定义的全局变量.
练习题
1:编写一个程序,计算用户输入非0整数的倒数,该程序应把计算的结果存储在double类型的变量中,再输出它
2:创建一个程序提示用户以十进制形式输入一个整数,在对其二进制表示的最后一位就反,也就是说,如果最后一位是 1 ,那么就把它改为 0,反之亦然,结果应显示为一个十进制数(老师提示:将这个数与1异或就可以了)
3:编写一个程序,计算矩形搁板的一层可以容纳多少个正方形的盒子,且不会出现盒子悬垂的情况,使用double类型的变量表示搁板的长度和深度(单位是英尺),以及盒子一边的长度(单位是英寸),从键盘上读取这些值,需要声明并初始化一个常量,用于把英尺转换为英寸,在一个语句中,计算搁板的一层可以容纳多少个盒子,并把结果赋给一个long的变量
4:如果不运行下面的代码,能不能看出这些代码的输出结果? unsigned int k = 430u;
unsigned int j = (k >> 4) & ~ (~0 << 3); std::cout< 5:编写一个程序,从键盘上读取四个字符,把它们放在一个四字节的整型变量中,把这个变量的值显示为一个十六进制.分解变量的四个字节,以相反的顺序输出它们,先输出低位字节 第四章:选择和决策****************************** (1):可以使用比较运算符比较两个值,得到一个bool类型的值,它可以是true或false (2):可以把bool转换为整型--true强制转换为 1,false转换为 0 (3):可以把数值强制转换为bool类型--0 强制转换为 false, 非 0 转换为true (4):if语句可以根据条件表达式的值执行一个语句或语句块,如果条件是true或非 0 值就执行语句和语句块,反之就不执行 (5):if--- else语句给简单的if语句提供了另一个选项,如果条件为false或0,就执行else语句 (6):switch语句可以根据整数表达式的值,从一组固定的选项中选择 (7):条件运算符根据一个表达式的值,选择两个值中的一个 (8):使用goto语句,可以无条件的分支带有指定标签的语句 练习题 1:创建一个程序,提示用户输入一个1到100之间的整数,使用if语句判断该整数是否在设定的范围之内,如果是,在判断整数是否大于,小于或等于50 2:编写一个程序,接受用户输入的一个字符,使用标准库函数判断它是否为一个元音字母,是否为小写字母,最后输出小写字母,再把字符编码输出为一个二进制的值 3:编写一个程序,只使用条件运算确定输入的整数是否是20或小于20,大于且小于30,大于30,且不超过100,或者大于100 4:编写一个程序,提示用户输入0美圆,和10美圆之间的一个钱款(允许使用小数)判断该钱款,包含多少个25美分,10美分,5美分,和1美分,并把该信息输出到屏幕上,输出的结果在语法上应该是有意义的(如,只需要一个 1 角,输出就应该写为1dime, 而不1dimes) 第五章:循环********************************* (1):循环定义了一个作用域,在循环内定义的变量不能在循环内部访问,特别是for循环 (2):在循环中执行break语句会立即退出循环 (3):do-while循环至少执行一次,只要条件为真就继续执行循环 (4):在循环中执行continue语句会跳过当前迭代的剩余语句,如果循环条件允许就直接执行下次循环 (5):一定要注意循环条件不能永远为真,否则将会用远循环,当然你可以用break强制退出循环 练习题 1:编写一个程序,输出1到用户输入的数字之间的所有奇数的平方 2:创建一个程序,它使用while循环累加用户输入的随机个数的整数和,最后输出所有数字的总和,和浮点数类型的平均值 3:创建一个程序,它使用do--while循环计算用户在一行上输入的非空白字符的个数,在第一次遇到输入中的#字符时,停止记数 4:创建一个程序,输出8个随机大小写字母或数字组成的密码,允许输入重复的字符 5:创建一个程序,循环25次,打印出1到10的数字,和20到25的数字 6:抽奖时要求在1-49之间6个不同的随机数,编写一个程序,每次运行时生成5个抽奖选项 7:在1-49之间选择7个数(这7个数有用户输入) 然后自动输出这7个数的所有排序(如,输入123, 则输出,123,321,231,132,312) 第六章:数组和字符串***************************** (1):数组是同一类型的数值的命名集合,它们存储在连续的内存块中,每个值都可以通过一个或多个索引值来访问 (2):一维数组需要一个索引值来引用其元素,二维数组需要两个索引值,n维数组需要n个索引值 (3):数组的元素可以用在等号的左边和表达式中,其方法和相同类型的变量一样 (4):char类型的一维数组可以用于存储非空字符串 (5):可以让编辑器根据声明语句中初始化值的个数来决定数组中最左边的一维大小 (6):可以把char类型的而维数组用做非空字符串的一维数组 (7):String类型存储了一个字符串,它不需要中止字符,因为sting会跟踪字符串的长度 (8):在string变量名后面的方括号中指定索引值,就可以访问string对象中的个个字符,索引值从0开始 (9):使用+运算符可以把string对象与字符串字面量,字符或另一个string对象连接起来 (10):String类型的对象可以用函数来搜索,修改,和提取字符串 (11):字符串中的存储位置为size_t类型的整数值 (12):声明string类型的数组与声明其他类型的数组所采用发方法是一样的 (13):wstring类型的对象包含wchar_t类型的字符串 练习题 1:创建一个数组,存储至多100个学生的姓,创建另一个数组,存储每个学 生的成绩(0-100),使用一个循环,提示用户给这些输入姓名和成绩,计算平均成绩并显示,然后在一个表中显示所有学生的姓名和成绩 2:一位气象学家每天(周一到周五)都要记录大气的湿度三次(早晨,中午和晚上)编写一个小程序,让用户按年代顺序把这些记录输入到一个5行3列的 float数组中,接着并计算每天的平均湿度和每天3次的星期平均值 3:请看下面的一段程序 #include int main() { string text = \ \\\\had\\\Had had the exminers' appeoval.\ string word = \ cout< for(int index=0;(index=text.find(word, index)) != string::npos; index += (int)word.length(),count++); cout<<\ < 搜索子字符串"had",找出其中所有"had"单词,且不考虑大小写(提示:复制原字符串) 4:编写一个程序,从键盘上读取一任意长度的文本字符串,在提示输入要在该字符串中查找的单词,程序应查找出现在字符串中的所有单词,不考虑大小写,在用与单纯中字符个数相同的的星号来替换该单词,然后输出新字符串,注意必须是替换整个单词,例如:如果用户输入了字符串"Our house is at your disposal.",要查找的单纯是our,则得到的字符串应该是"***house is at your disposal."而不是\disposal.\ 5:编写一个程序,提示输入两个字符串,在测试它们,看看其中一个字符茶是否为另一个字符串颠倒字母顺序而得到的 第七章:指针********************************* (1):指针是一个包含地址的变量 (2):使用地址运算符&可以获取变量的地址 (3):要引用指针指向的值,应使用间接运算符*.它也被称为解除引用运算符 (4):可以对存储在指针中的地址加减整数值,其结果就象指针引用一个数组一样, 指针会变为整数值所指定的数组元素的个数 (5):运算符new会分配自由存储区中的一块内存,返回所分配的内存地址,使它可以在程序中使用 (6):运算符delete可以释放用运算符new分配的内存块 (7):reinterpret_cast<>()运算符号可以把一种类型的指针转换为另一种类型 练习题 1:编写一个程序声明并初始化一个数组,其中包含前50个偶数,使用数组表示法输出该数组中的数字,每一行显示10个数字,在使用数组表示法逆序输出这些数字 2:创建一个程序,在键盘上读取数组的大小,对这个数组进行动态分配内存,以存储浮点数值,使用指针表示法初始化数值的所有元素,是索引位置为n元素值是1.0除以(n+1)的平方,使用指针表示法计算出元素的总和,对该总合除以6,输出该结果的平方根,试着给该程序提供更大的数组大小,例如超过1000000元素,结果有什么有趣的地方吗? 3:请看下面的程序 #include int main() { int height[10]; int count = 0; char reply = 0; do { cout< <<\ cin>>height[count++]; cout<<\ cin>>reply; }while(count < 10 && std::tolower(reply) == 'y'); if(count == 10) { cout< double average = 0.0; for(int i=0;i average += height[i]; average /= count; cout< <<\ 搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新高中教育c 入门经典习题集 全文阅读和word下载服务。
相关推荐: