计算机重修班练习题
更新时间:2024-03-15 12:10:01 阅读量: 综合文库 文档下载
- 计算机重修好过吗推荐度:
- 相关推荐
第一章 练 习 题
一、选择题
1、下列符号中,能用作VC++标识符的是________。 A. If B. double C. a$$ D. char
2、设CH为字符型变量,则语句CH= CH+’d’-’D’;的作用可能是________。 A. 将大写字母转换成对应的小写字母 B.将字母CH转换成d C. 将小写字母转换成对应的大写字母 D.将字母CH转换成D 3、下列正确的C++常量为_________。 A.’\\58’ B.“ab”12” C.1.5e5.0 D.0xABCL
4、设有说明语句:int a=7,b=12,e;以下表达式选项中,e的值为2的是_____。 A. e=b%=(a-a%5) B. e=b%=(a%=5) C. e=b%=b+1-a%5 D. e=(b%=a-a%=5)
5、设变量a,b,c为整型变量,以下选项中存在语法错误的是__________。
A.c=a++ +b B. c=a+b++ C. c=b++=c++ D.c=++a=b++
6、设有说明int x=1,y=1,z=1,c;执行语句c= --x&&--y|| !z--;后,x、y、z的值分别为_________。
A.0、1、1 B.0、1、0 C.1、0、1 D.0、0、1 7、若有以下定义和语句组,int a=-1,b=4,k;k=(a++<0)&&(!(b--<=0));
cout<<“a=”<
9、设有说明int a, b;执行语句b=(a=2*5,a*2),a+15;之后,b的值为__________。
A.10 B.25 C.20 D.35 10、以下选项中存在语法错误的是__________。
A. float x, &j=x; B. int c,&d=c,&e=d; C. char b, &k=b; D. int f, &g; g=f;
11、设有变量定义int x=8,n,*p1=&x,*p2;则下列表达式正确的是__________。
A.p2=&p1 B.*p2=*p1 C.p2=p1 D.n=*p2
12、若有定义enum week{ sun,mon,tue,wed,thu,fri,sat} day1,day2=wed;则下列对变
量操作不正确的是__________。
A.cin>>day1; B. day1=day2 C. day2==day1 D. cout< 二、填空题 1、写出下列程序的运行结果为第一行_______,第二行_______,第三行为_______。 #include \void main (void) { cout <<\< 2、已知 int i,a=3,b=2;求表达式i=(--a==b++);的值及a和b的值。 3、sizeof('a')值为______,sizeof('a'+3)值为______,sizeof( 'a' + 'b')值为______。 4、设有下列语句: int i=17; cin>>hex>>i; cout<<“i=”< 5、已知有变量a的值为9,计算表达式a+=a-=a+a的值是_______。 三、编写程序 1、编写程序,从键盘输入一个两位数的正整数,输出它的十位数与个位数。 2、编写程序,从键盘输入三个实数,输出它们的平方和与平均值。 第一章 练习题答案 选择题: 1、A 2、A 3、D 4、A 5、C 6、B 7、A 8、B 9、C 10、D 11、C 12、A 填空题: 1、m n 'x Sw 2、i=1,a=2,b=3 3、1,4,4 4、i = 23,i=16 5、-18 编程题 1、答案: #include 2、答案: #include 第二章 练 习 题 一、选择题 1、关于下面程序段的正确说法是 ________。 int n=0,s=0; while(!n!=0) s+=++n; cout< A.执行结果是0 B.执行结果是1 C.程序段中控制表达式是非法的 D.程序段执行无限次 2、已知int a, b, c; a=b=c=5;则计算b+=++a>b&&++c>b后a,b和c的值分别是________。 A.6 6 6 B. 5 6 6 C. 6 5 6 D.6 5 5 3、int a=5,b=7,c=15,d;则经过下列表达d=b>a||(c=a+b);运算后,d和c的值是________。 A.0 12 B. 1 12 C. 1 15 D. 1 12 4、设有说明“int a,b;”,执行语句“b=(a=3*5,a*4),a+15”之后,b的值为 ________。 A 15 B 30 C 60 D 90 5、下列C++整型常量正确的有:________。 A.038 B.0XA1L C.0xBH D.097 6、执行下列程序段后,a的值是:________。 int a=0; if(a>0) a++; else if(!(a<4)) if(a<3) a+=3; else a+=4; else a+=5; A.2 B.3 C.4 D.5 7、以下程序的运行结果 ________。 #include int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y){ case 0:a++;break; case 1:b++;break; } case 2: b++; break; a++; } cout< A.1,0 B.0,1 C. 0,0 D.1,1 8、若输入字符串“ABC”,下面程序段的输出是________。 char c; while(cin>>c, c!='\\n') cout< A.222 B.CDE C.676869 D.333 9、对于如下程序段,执行后输出为 ________。 for( int i=0 ; ; ){ if( i% 2==0) { cout< if(i>=4) break; else i++; } A.0 B.0 2 C.0 2 4 D.死循环,不断输出0 10、设变量a,b,c为整型变量,以下选项中存在语法错误的是__________。 A.c=b++=c++ B.c=a+b++ C.c=a+++b D.c=++a=b++ 二、填空题 11、已知 int x,y,z; x=y=z=0; 求计算表达式++x||++y&&++z;后,x,y,z的值分别为______,______,______。 12、设有说明int x=1,y=1,z=1,c;执行语句c= --x&&--y|| !z--;后,x、y、z、c的值分别为______,______,______,______。 13、定义一个字符数组char *str=“abde\\x7\\13\\\\\\n4\\0”;则strlen(str)的值为 ______,sizeof(str)的值为 ______。 14、求∏/4=1-1/3+1/5-1/7+1/9……公式来求∏的值,直到最后一个项的绝对值小于10-4为止。 #include while(fabs(t)>=1e-4) { ______; n+=2; ______; t=s/n; } pi=pi*4; cout< 15、下列程序的运行结果为:______。 #include for(int i=1;(p=ss[i])!='\\0';i++){ switch(p){ case 'A':cout<<\;continue; case 'B':++i;break; default:cout<<\; case 'C':cout<<\;continue; } cout<<\; } cout< 三、编程题 1、编写程序:求100-1000以内的所有素数,并以每行10个数的形式输出。 2、编写程序,从键盘任意输入两个整数,求出它们的最大公约数和最小公倍数。 3、编写程序,从键盘输入一个整型数(不超过5位),判断该是几位数,逆序输出该数每一位上的数字,并输出各个数位上的数字之和。 第二章 练习题答案 选择题:1、B 2、A 3、C 4、C 5、B 6、D 7、D 8、C 9、D 10、A 填空题: 11、1,0,0 12、0,1,0,0 13、4,9 14、pi=pi+t; s=-1*s; 15、**& 编程题: 答案1: #include int t=0,i; for(int n=100;n<1000;n++) { for(i=2;i<=n-1;i++) if(n%i==0) break; if(i>n-1) { cout< } } } 答案2: #include cout<<\输入两个整数(x,y):\< if(x>y) {t=x;x=y;y=t;} for(int i=x; i>0; i--) if(x%i==0&&y%i==0){max=i; break;} for( i=y;;i++) if(i%x==0&&i%y==0){min=i;break;} cout< 答案3 #include int n,s=0,t=0; cout<<\请输入一个(不超过5位)正整数:\ cin>>n; while(n) { int i=n; cout< cout< cout<<\该正整数的各个位上的数字之和为\ cout<<\该数是\位数。\} 第三章 练 习 题 选择题: 1、已定义int a[5]={l00,200,300,400,500};int *P1=&a[0],若b=*++P1,则b和*P1的值分别为( )。 A.100 200 B.200 200 C.101 101 D.100 101 2、设有变量说明int a[ ][2]={{2,5}, {4,8}}; int *pa,(*pb)[2];则执行语句pa=&a[0][0]; pb=a;后, (*(pa+1))与(*(pb+1))的值为:______ A.5,4 B.&a[1][0],4 C.5,&a[1][0] D. &a[0][1], &a[1][0] 3、下列关于数组的应用中,( )是正确的。 A.int a[5]={1, 2, 3, 4, 5}; int b[5]; b=a; cout< B.int a[5]={1, 2, 3, 4, 5}; int b[5]; strcpy(a,b); cout< B.int a[][3]={{3,2,1},{1,2,3}}; C.im a[2][3]={1} D.int a[2][]={{3,2,l},{1,2,3}} 5、下面给出的程序的输出结果不正确的是 _________ 。 A.char *sl,s2[]=“123”; sl=s2; cout<<*sl;结果:123 B.char *sl,s2[]=“123”; sl=s2; cout< 6、设有说明语句int a[10],*p1=a+4;则元素a[8]可以用p1表示为( )。 A.p1[8] B.p1[5] C.p1[3] D.p1[4] 7、设有说明语句char s[10],*p;p=s;则正确的是( )。 A.s=\ 8、char *p[]={ \ A.输出的是元素p[2]的地址 B.输出的是字符串cdef C.输出的是字符c D.有语法错误 9、对于语句char s[20]=\正确的理解是( ) A.系统给s分配5个字节的空间,给p分配5个字节的空间。 B.系统给s分配20个字节的空间,给p分配4个字节的空间。 C.系统给s分配5个字节的空间,给p分配4个字节的空间。 D.数组s中的内容与指针变量p中的内容相同。 10、下列一维数组的定义正确的是( ) A.int a(5); B.int n=5,a[5]; C. const int n=32/6; int a[n]; D.#define S 5.0 int a[S]; 11、关于下列程序段,说法正确的是( ) int n=0; while(n++<=1); cout< A.运行结果为0 B、运行结果为1 C.运行结果为2 D.运行结果为3 12、下列程序段的输出结果是( ) int a[10]={1,2,3,4,5,6,7,8},*p; for(p=a;p A.2468 B.1357 C.24680 D.13570 13、设有定义enum color{red,yellow=0,blue=8,white,green=2}; color c1=red,c2=white;则语句:cout< A.0 9 B. 1 3 C. 0 3 D. 1 9 填空题: 1、已有定义int a[5]={1,3,5,7,9},*p1=&a[1],*p2=&a[3];则p2-p1的值为( ) , (int)p2-(int)p1的值为( ),*p2-*p1的值为( )。(注:一个整型变量在系统中占4个字节)。 2、对于定义的字符串char s1[ ]=“ef\\0\\123\\\\\\n89\\0”,s2[20]=“abc”;则strlen(s1)的值为( ), sizeof(s1)的值为 ( ) , sizeof(s2)的值为 ( ) 。 3、下面程序实现判断字符c是否在字符数组a中。请完善程序。 #include { char a[ ]=\ char c='i'; (1) ; for( int i=0; a[i]!='\\0'; i++ ) if( (2) ){ pos=i+1; (3) ;} if( (4) )cout<<\在第\号元素位置上.\ else cout<<\没找到!\} 4、设有语句char s1[10]=\则输出结果是( ) 5、对于定义的字符串char s1[]=\则strlen(s1)的值是( ),sizeof(s1)的值是( )。 6、#include int a[3][4]={1,2,3,4,5,6,8,9,10},i,j,k; for(i=0;i<3;i++) { k=(1); for(j=3;j>0;j--) (2); (3)=k; } for(i=0;i<3;i++) { for(j=0;j<4;j++) cout< 编程题: 1、试定义一个整型数组,如:int a[10]={3,6,4,1,8,0,5,9,7,2},按照如下要求对数组元素进行处理: (1) 对数组元素按照从小到大的顺序排序,并输出排序后的结果。 (2) 将排好序的数组元素每个元素循环后(右)移一位,并输出移动后的结果。 2、试定义一个二维数组b[4][5],分别用两种方法实现求数组元素的外围元素之和,并以矩阵形式输出二维数组元素和外围元素之和。 3、试定义一个二维数组t[3][4],将二维数组的每列元素循环后移一位,并以矩阵形式分别输出移动前和移动后的二维数组元素。 4、从键盘输入一个整型数12345,将这个数的各个数字分别存放到一个数组 b[10]中,求出这个数的反序数54321,并输出。用函数调用方法实现。 第四、五章 练习题 选择题 1、以下只有在使用时才为该类型变量分配内存的存储类型是___。 A.auto和 static B.auto和 register C.register和 static D.extern和 register 2.以下叙述中不正确的是___ 。 A.预处理命令行都必须以#号开始 B.在程序中凡是以#号开始的语句行都是预处理命令行 C.以下定义中C R是称为宏名的标识符:#define C R 145 D.宏替换不占用运行时间,只占编译时间 3.文件包含预处理语句中,当文件名用双引号括起来时,寻找被包含文件的方 式为___ 。 A.直接按系统设定的标准方式搜索目录 B.先在源程序所在目录搜索,再按系统设定的标准方式搜索 C.仅仅搜索当前目录 D.仅仅搜索源程序所在目录 4.设有宏定义:# define f(x) (-x*2) 执行语句: cout< A.-14 B.5 C.2 D.-5 5.以下说法不正确的为____。 A.在不同函数中可以定义相同名字的变量 B.形参是局部变量 C.在函数内定义的变量只在本函数范围内有效 D.在函数内的复合语句中定义的变量在本函数范围内有效 6.以下程序的输出为 。 #include static char c[ ][6]={\ static char *cp[ ]={c[0],c[1],c[2],c[3]}, **cpp=cp; cout<<**++cpp; } A.F B.P C.A D.E 填空题 1.#include void f(void) { static int i=2; int k=2; i*=2; k*=2; cout<<\} void main( ) { f( ); f( ); } 该程序输出的第一行为 (1) ,第三行为 (2) 2.[程序] #include { extern int a,b; cout< int a=5,b=10; void main() { extern int a,b; f1(); cout< 该程序输出的第一行为(3) ,第二行为(4) 3.[程序] #include int b=2,c=3; ++a;c+=++b; if(++a||++b||++c) cout< int a=3,c; c=b*3;a+=c; cout< a+=c; cout< 该程序输出的第二行为 (5) ,第三行为 4. [程序] #include int fun(int *a, int &b, int c) { static int e=1; int d=2; (6)。 。 *a+=e++; b+=d; c+=::a++; e=*a+b+c; return e; } void main(void) { int a=10,b=1,c=1; cout< cout< cout<<::a+a+b+c<<'\\n'; } 该程序输出的第一行为 (7) ,第二行为(8) ,第三行为(9) 。 5.下列程序的运行结果为( ): #include int a = 0,b = 1,c = 0,d = 20; if( a ) d = -10; else if( !b ) if( !c ) d=15; else d=25; cout<<“d=”< ? 求∏/4=1-1/3+1/5-1/7+1/9……公式来求∏的值,直到最后一个项的绝对值小于10-4为止。 #include { float n=1.0,t=1.0,pi=0.0; //n是分母,t是每一项。 int s=1; //分子 while(fabs(t)>=1e-4) { pi=pi+t; n+=2; s=-s; t=s/n; } pi=pi*4; cout< 第三章 练习题答案 选择题: 1、B 2、C 3、C 4、D 5、A 6、D 7、C 8、B 9、B 10、C 11、D 12、D 13、A 填空题: 1、2,8,4 2、2,10,20 3、(1)int pos=0;(2)a[i]==c;(3)break;(4)pos或pos!=0; 4、ent 5、2,10 6、(1)a[i][3] (2)a[i][j]=a[i][j-1] (3)a[i][0] 第四、五章练习题 答案 选择题 1、B 2、C 3、B 4、D 5、D 6、A 填空题 1、i=4 2、i=8 3、5 10 4、2 1 5、12,3,9 6、10,3,6 7、25 8、53 9、27 /*从键盘输入一个整型数12345,将这个数的各个数字分别存放到一个数组b[10]中,求出这个数的反序数54321,并输出*/ #include int x,k=0,b[10],s=0,t=1; cout<<\ cin>>x; k=fun(b,x); /*方法一:for(int i=0;i for(int i=k-1;i>=0;i--) { s+=t*b[i]; t=t*10; } cout< int fun(int b[],int x){ int i=0; while(x){ b[i]=x; x/=10; i++; } return i; } 从键盘上接收一个字符,判断该字符在字符串中是否存在,如果存在,就将其删掉,否则就将其添加到该字符串的末尾。 如字符串abc124,如果输入字符1,就删掉变为abc24,输入字符3,就添加到字符串末尾,变为abc1243 #include char *search(char *s,char ch){ while(*s){ if(*s==ch)return s; else ++s; } return 0; } void dele(char *str,char ch){ char *p1=search(str,ch); char *p2=p1+1; while(*p2) *p1++=*p2++; *p1='\\0'; } void add(char *str,char ch){ char *p1=str; while(*p1) p1++; *p1++=ch; *p1='\\0'; } void main(){ char str[100]=\ char c; cin>>c; void (*fp)(char*,char); if(search(str,c)) fp=dele; else fp=add; fp(str,c); cout< 综合练习题 一、选择题 1、若有以下定义和语句组,int a=-1,b=4,k;k=(a++<0)&&(!(b--<=0)); cout<<“a=”< 3、设有说明int a, b;执行语句b=(a=2*5,a*2),a+15;之后,b的值为( )。 A.10 B.25 C.20 D.35 4、若有定义int a[][3]={{1,10},{3,2},{4,5,6},{7,8,9}},则元素a[1][2]和a[2][2]的值为___。 A 10、6 B 0、6 C 10、5 D 5、8 5、设有以下语句组 , int x=2,a=1; while(x) a=a+1; 则语句a=a+1执行的次数是 A 0 B 1 C 无限次 D 有限次 6、设有语句序列char s[10],*p=s;则对s[1]的地址表示不正确的是 A.s+1 B.s++ c.&s[0]+1 D p++ 7、设有如下定义 char *aa[2]={“abcd”,”ABCD”}; 则以下说法正确的是 。 A.aa数组元素的值分别是“abcd”,”ABCD”; B.aa是指针变量,它指向含有两个数组元素的字符型一维数组; C.aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址 D.aa数组的两个元素中各自存放了字符?a?,?A?的地址; 8、设有变量说明char s[]=“Program”, *p=s;则以下叙述正确的是__________。 A.s和p中存储的内容相同 B.strlen(s)等于strlen(p) C.sizeof(s)等于sizeof(p) D.sizeof(s)等于sizeof(*p) 9、若定义一个只允许在本源程序中使用的全局变量,则该变量的类型应为_____。 A、 auto B、 static C、extern D、register 二、填空题 1、语句 用于中止本次循环,立即进入下一次循环。 2、在定义函数时,类型前加上关键字 ,该函数就可能成为内联函数。 3、设有下列语句: int i=17; cin>>hex>>i; cout<<“i=”< class A{ int a; public: A(){a=0;cout<<\调用缺省A\\n\ A(int x){ a=x; cout<<\调用A\\n\ void print( ){ cout< class B:public A { int b1,b2; public: B(){ b1=b2=0;cout<<“调用缺省B\\n”; } B(int i){ b1=i;b2=0;cout<<“调用B1\\n”; } B(int m,int n):A(m) { b1=m;b2=n;cout<<“调用B2\\n”; } void show( ){ print(); cout< void main( ) { B c1,c2(2),c3(4,6); c1.show( ) ; c2.show( ) ; c3.show( ) ; } 程序共输出 行,其中第5行是 ,第8行是 ____ 5、class A{ public: int n; }; class B{ Public: int n; }; class C: public B, public A { int n; public: void set(int x){ n=x; } void show( ){cout< void main() { C c; c.set(6); c.show();} 程序输出的结果是 。 6、下列程序的功能是计算1-3+5-7……..-99+101,请完善程序。 #include
正在阅读:
计算机重修班练习题03-15
西式宴会复习资料09-21
切比雪夫不等式证明10-16
思考题12-14
二年级下册应用题易错题集04-08
东北农业大学网络教育2014年专科起点本科入学考试大学语文03-08
我得到了胜利作文700字06-20
疯狂英语口语突破三步曲06-10
课堂实录06-05
环境保护局精神文明建设工作计划02-25
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 练习题
- 重修
- 计算机