大家好,我是贸大的Amy学姐,今天我们将进行考研843专业的第一课时,我将和跟大家一起来学习C++的一些重点内容,希望我的经验能帮助到大家。今天的内容将从以下四点展开: 一.强化班复习规划 二. C++基础知识及运算规则 三.各类控制语句的工作原理和编程规则 四.典型课后题 一. 强化班复习规划 1.强化阶段目标 (1)深度理解并基础概念及运算规则(不是简单的死记硬背),夯实编程基础 (2)利用流程图培养编程逻辑,杜绝逐句读代码,要逐块读(有自己的思路) (3)培养编译思维,精准解读代码输出结果(一定要上机去敲) (4)会读会写,杜绝眼高手低 2.注意事项 (1)注重实操:C++是实用性学科,考试也有编程大题考察,决不能只读不写。 (2)注重检验:手写代码的正误无论是逻辑还是语法,都需要机器的查验。 (3)保持耐心:C++软件错误信息解读和错误代码更改的过程十分煎熬,要保持耐心,自我审视的过程收获颇丰。 常见的软件错误信息,需要自己去了解一下的,不然等你研究生阶段也会很困难。 3.课程计划 (1)以参考教材为主,梳理重难点,为编程进行知识储备 (2)深刻理解课本例题的编译逻辑和运行结果,逐句逐块理解代码 (3)几大重点章节分模块重点讲解,集中攻破 (循环语句,指针和数组肯定是要考的。) (4)典型课后题讲解,传授破题思路,梳理编程逻辑,展示标准代码 4.授课计划 5.课前小建议 (1)提前预习课本、讲义,习题提前完成 (2)思考勾画的课后习题,便于课上更好的理解编程逻辑 (3)课上没听懂的问题及时反映;课下编译不过的题目或看不懂的报错信息,随时在群里问提问 (4)对课程有任何宝贵建议,欢迎随时交流 二.C++基础知识及运算规则 1.数据类型 ·不同类型数据加减原则: ①若两种类型的字节数不同,转换成字节数高的类型 例:设有定义 int x;float y;,则10+x+y值的数据类型是________.(float) ② char型和short型参与运算时,必须先转换成int型。 例:3.5*3+2*7-‘a’=_________.(-72.5) (减去a的ASCII码) 2.常量 ·整型常量: ①.十进制:123(int)、123L(long int) 八进制:在常数开头加一个数字0,020=16 十六进制:在常数开头加一个数字0X,0X20=32 例:下列整型常量的书写中,错误的是(B ). A.0xaf B.0853 C.34 D.OX1B ·浮点型常量: ①. 十进制小数:1.1等,加F是float型,加L是double型。 指数形式:3.14=0.314e1=3.14e0=31.4e-1 例:下列( )属于float类型常量. A A.3.14f B.0.0314E2 C.3.14L D.3.14 ·字符型常量: ‘a’为字符常量,“a”字符串常量,a为变量 符号常量:#define A 10 3.合法标识符(没考过,拓展内容) ·由大写字母、小写字母、下划线(_)和0-9数字组成。 ·不能以数字开头。 ·大写字母和小写字母不同,ME和me不同。 ·不能是C++固定用法单词,例:int、switch、while等 例:下列( )是C++合法的标识符. D A.2op B.-256 C.case D.Dfe 4.常变量 ·const与#define的区别: const定义的是变量,拥有存储单元; #define定义的是常量,所定义的对象仅仅是一个数,没有存储单元 5.运算符优先级 ·去掉一个最高的(小括号),去掉一个最低的(逗号),剩下的是单、双、三、赋值。双目运算符中,顺序为算术、关系和逻辑。 ①(课后题5-4)a=3;a=b=(c=a+=6);则a=________.(9) a=a+6→a=b=c=9 ②(课后题5-7)设x=2.4,a=7,y=4.7,则x+a%3*(int)(x+y)%2/4=________.(2.5) 注意顺序! ③(课后题5-8)设a=2,b=3,x=3.5,y=2.5,则(float)(a+b)/2+(int)x%(int)y=________.(3.5) ④若整型变量a、b、c、d中的值依次为:1、4、3、2.则条件表达式a<b?a:c<d?c:d的值为( ). A A.1 B.2 C.3 D.4 ⑤设x,y和z都是int型变量,且x=3,y=6,z=4,则下面表达式中值为0的是( ). A!((x<y)&& !z||1) B.'x'&&'y' C.x||y+z&&y-z D.x<y ⑥若有如下语句: int a; cout<<((a=3*5,a*4),a+5)<<endl; 则执行后的输出为( ).A A.20 B.15 C.65 D.60 6. a++与++a问题 ·a++这个运算式的结果为a+1,但a的值不变; 而++a,运算式和a的值均变为a+1; 例:①.(课后题7)写出输出结果:(10 12 19 41) #include < iostream> using namespace std; int main( ) { int i,j,m,n; i=8; j= 10; m=++i +j ++ ; n=( ++i) +( ++j) +m; cout<<i<<'\t'<<j<<'\t'<<m<<'\t'<<n<< endl; return 0; } ②.如有int a=11;则表达式(a++*1/4)的值是( ).D A.0 B.2.75 C.3 D.2 ③.若x,i都是int型变量,则执行如下表达式x=(i=1,i+5,i++)后,x的值为( ).B A.2 B.1 C.6 D.7 三. 各类控制语句的工作原理和编程规则 1.选择结择 switch语句: ·每个case语句后必须加上break语句用于跳出switch判定 switch(grade) { case‘A’:cout<<“100\n”;break; Default :cout<<“error\n”; } ·可以多个case共用一组执行语句 例: 2.循环结构 ·While和do-while 例:求1+2+......+100 while和do-while,花括号中的内容一致, while结构可能一次都不执行,do-while结构最少执行一次。 例1.下列while循环语句的循环次数是( ).A while(int i=0) i--; A.0 B.1 C.2 D.无限 例2.下列do...while循环的次数是( ).B int x=-1; do {x=x*x;} while(!x); A. 无限 B.1 C.2 D.0 ·for语句 for(循环变量初赋值1;循环条件2;循环变量增值3) 其中表达式1可省略,表达式2一般不可省略,表达式3可放在循环体最后一句。 例1.执行语句:for(i=1;i++<4;)后,变量i的值是( ).C A.3 B.4 C.5 D.不定 例2.下列for循环的循环体执行次数为( ).D for(int i=0,j=10;i=j=4;i++,j--) A.0 B.1 C.4 D.无限 ·循环的嵌套 循环的嵌套一般在输出矩阵、二维数组、特殊图案等题目中使用,多涉及到行和列,对每个元素遍历输出。 例(课后题24) ·break和continue break语句只能用于循环体和switch语句中,不能单独使用或用于其他语句中。 break语句结束整个循环,比如本来要循环100次,在第50次时break语句运行,则后面的50次循环都不再执行;而如果运行到continue语句,则终止第50次循环,继续执行第51次循环,直至第100次循环结束。 例: (课后题12)给一个不多于5位的正整数,要求:①求出它是几位数;②分别打印出每--位数字;③按逆序打印出各位数字,例如原数为321,应输出123。
四.典型课后题
例1:(课后题15)输入两个正整数m和n,求最小公倍数和最大公约数 建议到时候写代码可以写这么几个汉字,可以让老师不仅知道你这几个要求是满足了的,而且你的个人习惯非常好。 套路都要背下来 !!
例2:(课后题16)输入一行字符,分别统计出其中的英文字母、数字、空格和其他字符的个数。 例3:(课后题18)求1!+2!+...+20! 以上就是今天分享的全部内容啦,如果想了解更多课程内容干货或者我的其他课程可以添加课程顾问微信waijingmao666
|