C重要资料学习知识重点情况总结及其习题集(new).doc

上传人:小** 文档编号:2542220 上传时间:2020-04-19 格式:DOC 页数:44 大小:193.21KB
返回 下载 相关 举报
C重要资料学习知识重点情况总结及其习题集(new).doc_第1页
第1页 / 共44页
C重要资料学习知识重点情况总结及其习题集(new).doc_第2页
第2页 / 共44页
点击查看更多>>
资源描述

《C重要资料学习知识重点情况总结及其习题集(new).doc》由会员分享,可在线阅读,更多相关《C重要资料学习知识重点情况总结及其习题集(new).doc(44页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、.第2章 基本数据类型、运算符与表达式【习题】一、 选择题1. 下列数据类型不是C+语言基本数据类型的是( )。(a)字符型 (b)整型 (c)浮点型 (d)数组一、 下列字符列中,可作为C+语言程序自定义标识符是( )。选择题2.(a)x (b)-var (c)new (d)3i3. 下列数中哪一个是8进制数( )。(a)0x1g (b)010 (c)080 (d)01b4. 已知a=1,b=2,c=3,则表达是+a|-b&+c的值为( )。(a)0 (b)1 (c)2 (d)35. 下列表达式选项中,( )是正确的。(a)+(a+) (b)a+b (c)a+b (d)a+b6. 已知枚举类

2、型定义语句为:( )。enum colorRED,BLUE,PINK=6,YELLOW,GREEN,PURPLE=15;则下列叙述中错误的是( )。(a)枚举常量RED的值为1 (b)枚举常量BLUE的值为1(c)枚举常量YELLOW的值为7 (d)枚举常量PURPLE的值为15二、 填空题1. c+语言标示符是以字母或_下划线_开头的,由字母、数字、下划线组成。2. 在C+语言中,char型数据在内存中的存储形式是_ ASCII_。3. 在内存中,存储字符x占用1个字节,存储字符串“x”要占用_2_个字节。4. 符号常量可以用宏定义define和_ const_表示。5. 转义字符序列中的首

3、字符是_。6. 空字符串的长度是_0_。7. 表达式coutn;还可以表示为coutendl。三、 编程题1. 编写一个程序,输入一个三位数,分别输出该数的百位、十位和个位。【参考答案】一、 选择题1 d2 a3 b4 b5 c6 a7 c二、 填空题1 下划线2 ASCII3 24 const5 6 07 coutendl;8 a+b a-b a-b9 iomanip.h iostream.h三、 编程题1#includevoid main()int num,var1,var2,var3;cout请输入一个三位数:num;if(num999|num100) /用于检查输入数据的合法性cout

4、您的输入有误!endl;elsevar1=num/100;var2=(num-var1*100)/10;var3=num%10;cout百位数为:var1endl十位数为:var2endl个位数为:var3endl;第3章 C+程序的流程控制【习题】一、 选择题1 在循环语句中使用break语句的作用是( )。(a)结束本次循环 (b)结束该层循环 (c)结束所有循环 (d)结束程序执行2 对if后的括号中的表达式,要求i不为0的时候表达式为真,该表达式表示正确的为( )。(a)i (b)!i (c)i0 (d)i=03 下列循环语句的执行次数是( )。while(!1) cout”ok!”;

5、(a)0次 (b)1次 (c)2次 (d) 无数次4 运行下列程序结果为( )。#includevoid main() int i; for (i=0;i=10;i+) if (i%2) couti; else continue; (a)246810 (b)12345 (c)678910 (d)13579二、 填空题1 结构化程序设计的三种基本结构是顺序结构、选择结构(分支结构)、循环结构。2 continue语句实现的作用是_跳出本次循环。_。3若输入”china 2008!”,运行下列程序的输出结果为_。#include #include void main( ) char c; int

6、letters=0,digits=0,others=0; coutPlease input a line charaters=a & c=A & c=0 & c=9) digits+; else others+; coutletters:lettersendl digitsdigitsendl othersothersendl;please input a line charatersletters:5digits:4others:24本程序完成1!+2!+18!的计算,请将程序补充完整。#include#includevoid main() double sum=0,fac=1; for(i

7、nt i=1;i=18;i+) _ fac*=i _ _ sum+=fac _ cout1!+2!+18!= setiosflags(ios:fixed)setprecision(0) sumsetprecision(6)endl;三、 编程题1. 输入某学生成绩,若成绩在90-100输出优秀,若成绩在80-89输出良好,若成绩在70-79输出中,若成绩在60-69输出”及格”,若成绩在0-59输出”不及格”。2. 输入三人数,按从小到大的大顺序输出。3. 在100200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。【参考答案】一、选择题1. b 2. a3. a4. d二、填空

8、题1顺序结构、选择结构(分支结构)、循环结构2跳出本次循环。3please input a line charatersletters:5digits:4others:24fac*=i; sum+=fac;三、编程题1#includevoid main() double grade; char* degree; coutgrade; if(grade100|grade0) cout您的输入有误!=70) if(grade80) degree=中; else if(grade=60) degree=及格; else degree=不及格; cout分数:gradeendl degreeendl;

9、2#includevoid main() int num1,num2,num3,num; coutnum1num2num3; if(num1num2) num=num1; num1=num2; num2=num; if(num1num3) num=num1; num1=num3; num3=num; if(num2num3) num=num2; num2=num3; num3=num; cout三个数按从小到大输出为:endl num1endl num2endl num3endl;3#includevoid main() cout在100200中同时满足用3除余2,用5除余3和用7除余2的整数

10、为:endl; for(int i=100;i=200;i+) if(i%3=2&i%5=3&i%7=2) coutiendl; 第4章 数组【习题】一、 选择题1.在C+中对数组下标说法正确的是( )。(a)初始化数组的值的个数可以多于定义的数组元素的个数,多出部分将被忽略。(b)初始化数组的值的个数可以少于定义的数组元素的个数。(c)初始化数组的值的个数必须等于定义的数组元素的个数。(d)初始化数组的值可以通过跳过逗号的方式来省略。如int a3=1,2;2.数组定义为:int a22=1,2,3,4;则a10%3为( )。(a)0 (b)1 (c)2 (d)44.运行下列程序结果为( )

11、。#includevoid main()int a4=1,2,3,4;for(int i=3;i=0;i-)coutai;(a)1234 (b)1324 (c)4231 (d)43215.运行下列程序结果为( )。#includevoid main()int i,j,t,a22=8,7,6,5;for(i=0;i1;i+)for(j=i+1;j2;j+)t=aij;aij=aji;aji=t;for(i=0;i2;i+)for(j=0;j2;j+)coutaij;coutendl;(a)87 (b)78 (c)86 (d)6865 65 75 57二、 填空题1 数组包含_M_行、_N_列和_

12、M*N_个元素。2 定义数组int a10;,若要给该数组的第三个元素赋值100,其语句为_ a2=100_。3 已知数组a中的元素个数为4,下列语句的作用是将下标为i的元素移动到下标为i1的单元,其中1i4。a中原有数据为1,2,3,4,移动后a中元素结果为2,3,4,4。请将下列程序补充完整。#includevoid main()int a4=1,2,3,4;for(int i=0;_i3_;i+) ai=_ ai+1_;4 程序填空运行下列程序后当str是对称的时,输出“是回文”,否则输出“不是回文”,请将程序补充完整。#includevoid main() char str20; ci

13、n.get(str,20);/输入字符串 int i=0, j=0; while (strj)_ j+_; for(j-; ij & stri=strj; i+,j-); if(_i=j _)cout是回文; else cout不是回文;5 运行下列程序的结果为_。#include#includevoid main()int array133=1,2,3,4,5,6,7,8,9,array233,i,j;for(i=0;i3;i+)for(j=0;j3;j+)array2ji=array1ij;for(i=0;i3;i+)for(j=0;j3;j+)coutsetw(3)array2ij;co

14、utendl;1 4 7 2 5 8 3 6 96 运行下列程序的结果为_。#includevoid main()int num6,i,j;cout请输入1到50的六个正整数:;for(i=0;inumi;for(i=0;i6;i+)for(j=1;j=numi;j+)cout*;coutendl;输入为:2 4 1 6 3 1 *三、 编程题1设学生人数N=8,提示用户输入N个人的考试成绩,然后计算出平均成绩,显示出来。2. 将一个二维数组行和列互换,然后存放到另一个二维数组中;【参考答案】一、 选择题1.b2.a4.d5.c6.二、 填空题1mnmn2.a2=100;3i3ai+14j+

15、i=j51 4 7 2 5 8 3 6 96 *三、 编程题解:源程序:#include #include #define N 8float gradesN; /存放成绩的数组void main()int i;float total,average;/提示输入成绩for(i = 0; i N; i+ )cout Enter grade # (i +1) gradesi;total = 0;for (i = 0; i N; i+)total += gradesi;average = total / N;cout nAverage grade: average endl;#include usin

16、g namespace std;#define m 2#define n 3int main()int amn,bnm,i,j;cout请输入一个两行三列的数endl;for (i=0;im;i+)for (j=0;jaij; bji=aij; cout转换为三行两列值为endl; for (i=0;in;i+) for(j=0;jm;j+) coutbijendl; system(pause); return 0;第4章 C+函数与程序结构【内容提要】【习题】一、选择题1.下列函数定义语句正确的是( )。(a)void fun(int var1)int var1=0;coutvar1endl

17、;(b)void fun(int var1,var2)coutvar1+var2endl;(c)int fun(int var1)if(var1)return 1;else return 0;(d)int fun(int var1)if(var1)return 1;elsecout0endl;2.下列叙述中正确的是( )(a)C+语言程序中,main()函数必须在其它函数之前,函数内可以嵌套定义函数。(b)C+语言程序中,main()函数的位置没有限制,函数内不可以嵌套定义函数。(c)C+语言程序中,main()函数必须在其它函数之前,函数内不可以嵌套定义函数。(d)C+语言程序中,main(

18、)函数必须在其它函数之后,函数内可以嵌套调用函数。3.下列对return语句叙述错误的是( )。(a)在函数定义中可能有return语句,也可能没有return语句。(b)在函数定义中可以有多条return语句。(c)在函数定义中每条return语句可能返回多个值。(d)如果函数类型不是void型,则函数定义中必须有return语句。4.C+语言中函数返回值的类型是由( )决定的。(a)return语句中的表达式类型 (b)调用该函数的主调函数类型(c)定义函数时所指定的函数类型 (d)以上说法都不正确5.C+中,关于参数默认值的描述正确的是( )。(a)只能在函数定义时设置参数默认值(b)设

19、置参数默认值时,应当从右向左设置(c)设置参数默认值时,应当全部设置 (d)设置参数默认值后,调用函数不能再对参数赋值6.使用重载函数编程序的目的是( )。(a)使用相同的函数名调用功能相似但参数不同的函数 (b)共享程序代码(c)提高程序的运行速度 (d)节省存储空间7.系统在调用重载函数时,下列不能作为确定调用哪个重载函数的依据的选项是( )。(a)函数名 (b)参数个数 (c)函数类型 (d)参数类型9.数组作为函数的形参,把数组名作为函数的实参时,传递给函数的是( )。(a)数组中各元素的值(b)数组中元素的个数(c)数组中第0个元素的值(d)该数组的首地址10.运行下列程序结果为(

20、)。#include int f(int3,int,int);void main()int a3=0,1,2,3,4,5,6,7,8; coutf(a,3,3)endl;int f(int a3,int row,int col)int i,j,t=1; for(i=0;irow;i+) for(j=0;jcol;j+) aij+; /每个值加1 if(i=j) t*=aij; return t;(a)0 (b)48 (c)105 (d)45相当于 下面矩阵的对角线相乘1 2 34 5 67 8 911.运行下列程序的输出结果为( )。#includeint var;main() int var

21、=2; :var=0; /访问全局变量 if(var1) int var=5; coutvar; coutvar;cout:varendl;return 0;(a)20 (b)000 (c)520 (d)500二、填空题1.一个C+语言程序总是从_ main函数_开始执行。3.在函数原型说明中必须包含的要素有函数类型(如果省略则默认为int型)、_函数名_、_参数表_。4._ const _限定符声明只读变量。5.若某个函数没有返回值,则该函数的类型应定义为_ void _类型。6.一个函数直接或间接地调用自身,这种现象称为函数的_递归调用_。7.在一个函数的定义或声明前加上关键字_ inli

22、ne _则就把该函数定义为内联函数,它主要是解决_程序的运行效率_问题。8.函数的参数传递的方式分为两类,分别是_值传递_方式和_引用传递_方式。9.在c+中,可以有多个同名而处理不同参数类型或个数的函数,称为函数_重载_。12.运行下列程序的结果为_ _。#include void swap(int &,int &);void main() int a=66,b=4; couta=a,b=“ bendl; swap(a,b); couta=a,b=“ bendl;void swap(int &x,int &y) int t=x; x=y; y=t;a=66,b=4a=4,b=6613.运行下

23、列程序的结果为_。#include #include void fun(int array ,int n);void main( )int a10=1,1;int i;fun(a,10);for(i=0;i10;i+) coutsetw(4)ai;coutendl;void fun(int array ,int n)int i;for(i=2;in;i+) arrayi=arrayi-1+arrayi-2;l 1 1 2 3 5 8 13 21 34 5514.运行下列程序,若输入1 2 3 4 5则输出结果为_。#includevoid rev(int n)int x;cinx;if(n=1

24、)coutx;elserev(n-1);coutx;void main()rev(5);用递归调用:5432115. 运行下列程序结果为_。#includevoid fun(char PrChar=$,int num=10);main() char ch; int num; ch=#; num=20; fun(ch,num); fun(); fun(&); return 0;void fun(char ch,int num) for(int i=0;inum;i+) coutch; coutn;#$&16.运行下列程序结果为_。 #include void fun( );void main(

25、)int i;for(i=0;i5;i+) fun();void fun( )static int m=0; M的值保持不变coutm+;答案:01234三、编程题1. 编写函数将华氏温度转换为摄氏温度,公式为;并在主函数中调用。2. 编写函数利用全局变量统计数组中奇数和偶数的个数。【参考答案】一、选择题1. c 2. b3. c4. c5. b6. a7. c8. b9. d10. d11. c二、填空题1. main函数2. 函数原型3. 函数名、参数表4. const5. void6. 递归调用7. inline、程序的运行效率8. 值传递、引用传递(或地址传递)9. 重载10. 函数范

26、围、文件范围、块范围、函数原型范围11. static12.a=66,b=4a=4,b=6613. 1 1 2 3 5 8 13 21 34 5514. 5432115.#$&16.01234三、编程题1.#includedouble ftoc(double);void main()cout华氏温度104.0度为摄氏ftoc(104.0)度!endl;double ftoc(double f)double c;c=(f-32)*5/9;return c;2.#includeint numo=0,nume=0;void sta(int a,int);void main()const int N=

27、10;int arrayN=0,2,3,4,5,6,7,8,10,12;sta(array,N);cout奇数有numo个,偶数有nume个endl;void sta(int a,int n)for(int i=0;in;i+)if(ai%2=0)nume+;elsenumo+;第6章指针、引用和动态空间管理【习题】一、选择题1. 要使变量i成为int型变量x的别名,正确的定义语句是( )。(a) int &i=x; (b) int i=&x; (c) int &i=&x; (d) int i=x;2. 在下列指针表达式中,与下标访问aij不等效的是( )。(a) *(a+i+j) (b) (

28、*(a+i)j (c) *(*(a+i)+j) (d) *(ai+j)3. 已定义字符串char str5,则下列表达式中不能表示str1的地址的是( )。(a) str+1 (b) str+ (c) &str0+1 (d)&str14. 已知:int a=1,2,3,4,5,6,*p=a,x;下面语句中x的值为5的是( )。(a) p+=3;x=*(p+); (b) p+=5;x=*p+ ; (c) p+=4;x=*+p; (d) p+=4; x=*p+5. 若有说明:int i,j=6,*p;p=&i;则与i=j等价的语句是( )。(a) i=*p; (b) *p=*&j; (c) i=&

29、j; (d)i=*p;6. 设p1和p2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是( )。(a) k=*p1+*p2; (b) p2=k; (c) p1=p2; (d) k=*p1*(*p2);7. 下面函数的功能是( )。int fun(char *x)char *y=x;while(*y+); /执行到结尾,即指针指到字符串的尾部return y-x-1;(a) 求字符串的长度 (b) 求字符串存放位置(c) 比较两个字符串的大小 (d) 将字符串x连接到字符串y后面8. 执行以下程序段后,m的值为( )。int a23=1,2,3,4,5,6;int

30、 m,*p=&a00;m=(*p)*(*(p+2)*(*(p+4); /第1,3,5个元素的乘积(a) 15 (b) 14 (c) 13 (d) 129. 设有如下定义,下面关于ptr正确叙述是( )。 int (*ptr)();(a) ptr是指向一维数组的指针变量。(b) ptr是指向int 型数据的指针变量。(c) ptr是指向函数的指针,该函数返回一个int型数据。(d) ptr是一个函数名,该函数的返回值是指向int型数据的指针。10. 若有如下语句:int *pp,*p,a=10,b=20;pp=&p;p=&a;p=&b;cout*p”,”*ppendl; 则输出结果是( )。(a

31、) 10,20(b) 10,10(c) 20,10(d) 20,20二、填空题1. 运行下列程序结果为_10_。#include void main() int a3=10,15,20;int *p1=a,*p2=&a1; /*P2=15*p1=*(p2-1)+5; /*P1=15*(p1+1)=*p1-5; / A1=10couta1endl;2. 运行下列程序结果为max=15,min-=-5,请将程序补充完整。#includeconst int N=10;void max_min(int arr,int *pt1,int *pt2,int n)int i;*pt1=*pt2=arr0;for(i=1;i*pt1) _*pt1=arri;_if(arri*pt2) _

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com