资讯详情

C++练习题(附答案)

一些关于C 的练习题

以前在学校的一些练习~ 你可以做~ 在这里插入图片描述

选择

一、选择题 1、求“ab c \ \ 12\n字符串的长度( ) (A) 5 (B) 6 ? 7 (D) 8 2、C 语言规定:在源程序中,main函数的位置( )。 A.必须在开始 B.必须在系统调用的库函数的后面 C.可以任意 D.必须在最后 3、在每个C 这样的函数必须包含在程序中,函数的函数被称为( )。 A.main B.MAIN C.name D.function 4.当需要输入/输出标准输入/输出设备时,应在文件中使用#include预处理命令包括在内( )头文件。 A.iostream.h B.stdlib.h C.fstream.h D.strstream.h 5、若a=-14,b=3.条件表达式a<b?a:b 1的值为( )。 A.-14B.-13C.3D.4 六、字符串常量 ”\tMyNane\103” 的长度是:( ) (A) 6 (B) 8 ? 12 (D) 14 3、设x=7,执行语句y= x,则y等于( ) (A) 6 (B) 7 ? 9 (D) 8 7下列字符列中,合法的长整形常量为:( ) (A) 4.18e3 (B) 0.46793 ? 4L (D) 956738 8、在C 中,char内存中类型数据的存储形式如下:( ) (A) 原码 (B) 反码 ? 补码 (D) ASCII码 9、若a是int类型变量,表达式a=25/3%3的值为:( )。 A) 3 B) 2 C) 1 D) 0 10.有变量定义 int i, j; 与表达式 i0 && j0 等价表达式为:( ) (A) i||j (B) !i&&!j ? !i==!j (D) i==j

11、设变量int a = 5; 以下表达式计算后,变量b值等于2 ?( ) (A) b=a/2 (B) b=6-(a–) ? b=a%2 (D) b=a>3?3:2 12、if…else为了避免嵌套的二义性,C 规定else子句总与( ) (A)以前最近的if语句 (B)它最近还没有配对if语句 (C)缩排位置相同if语句 (D)最近的if语句 13.逻辑运算符两侧运算对象的数据( ) (A)只能是逻辑数据 (B)只能是整形数据 (C)只能是整形或字符数据 (D)可以是任何类型的数据 14、设变量x,y,a,b,c,d值为1,计算表达式(x=a!=b)&&(y=c!=d)后,变量x,y的值分别是:( ) (A) 0,0 (B) 0,1 ? 1,0 (D) 1,1 15、若a是int类型变量计算表达式a=1000%999的值是( )。 A) 0 B) 1 C) 2 D) 3 16、已知 int x=1, y=0; 执行以下程序段后,y的值为( )。 if(x) { if (x>0) y=1; } else y = -1 ; (A)-1 (B)0 ? 1 (D)不确定 17、 已知 int x=1, y=0, w ; 执行以下程序段后,w的值为( )。 if(x) if(y) w=x&&y; else w=y; (A)0 (B)-1 ?1 (D)不确定 18、语句while(w) … 表达式w的等价表示为:( ) (A) w0 (B) w1 ? w!=0 (D) w!=1 19、语句while(a>b) a–; 等价于( )。 (A)if(a>b)a–; (B)do{a–}while(a>b); ?for(a>b)a–; (D) for(;a>b; a–); 20、已知int i=0,x=0; 下面while句子执行时的循环次数( )。 while( x || i ) { x ; i ; } (A) 3 (B) 2 ? 1 (D) 0 21、执行语句 x=1; while( x<7)cout<<’*’; 后输出结果如下:( ) (A) ***** (B) ****** ? ******* (D) ******** 22、C 中循环语句while和do …while主要区别是( ) (A)do…while循环体至少无条件执行一次 (B)while循环控制条件及do…while循环控制条件的控制方法相反 (C)do …while允许从外部转移到循环体,while不允许 (D)while循环体不能复合句子 若有以下程序段: for(m=1;m<=100;m ) { cin>>y; if(y<0) continue; cout<<m; } 下面正确的说法是( ) (A)当y<整个循环在0点结束 (B)当y>=什么都不输出 (C)cout句子永远不会执行 (D)最多输出100个非负整数 假设a是一个字符型(char)数组,元素a[8]的地址比该数组的首地址大( B ) 个字节。 A.4 B.8 C.16 D.32 25、语句“while(!x)…”等价于( ) (A)while(x0)… (B) while(x!=1)… ? while(x!=0)… (D) while(x1)… 26.正确定义一维数组a( D )。 (A)char a(10) (B) int a[] ?int k=5,a[k] (D)char a[]={‘a’,’b’,’c’} 27、char x[5]={‘a’,’b’,’\0’,’c’,’\0’} ; cout<<x;输出的结果是( ) (A)’a’’b’ (B)ab ? ab c (D)abc 28、在"int a[ ][3]={ {1},{3,2},{4,5,6},{0};"中,a[2][2]值为( )。 A.1 B.0 C.6D.2 设有以下和程序段 char a[3],b[]=“China” a=b; cout<<a; 则( ) (A)编译出错 (B)运行后输出Ch ? 运行后输出Chi (D)运行后输出Chian 判断字符串s1是否大于字符s2的是( ) (A)if(strcmp(s1,s2)>0) (B)if(strcmp(s1,s2)) (C)if(strcmp(s2,s1)>0) (D)if(s1>s2) 31、下面关于C 在字符数组的叙述中,错误的是( )。 (A)字符数组可以放置字符串 (B)字符数组的字符可以整体输入输出 (C)赋值运算符可以在赋值句中使用=对字符数组整体赋值 (D)可以用关系运算符对字符数组的大小 32、以下正确的描述是( )。 A.函数的定义可以嵌套,但函数的调用不能嵌套。 B.函数的定义不能嵌套,但函数的调用可以嵌套。 C.函数的定义和调用都不能嵌套。 D.可嵌套函数的定义和调用。 33.如果有几组名作为函数调用的实参,则传递给虚参( ) (A)数组第一地址 (B)数组第一元素的值 (C)数组中所有元素的值 (D)数组元素的数量 34.下列字符列中可作为字符串常量使用( )。 A. ABC B. ″ABC″ C. ’abc’ D. ’a’ 35.下面的句子赋字符串操作正确的句子是( )。 A. char s[5] = {“ABCDE”}; B. char s[5] = {‘A’,’B’,’C’,’D’,’E’}; C. char *s; s = “ABCDE”; D. char *s; scanf(“%s”, s); 36.以下正确的函数原型声明句是( ) (A)int fun(int a,b); (B)foat fun(int a;int b); (C)double fun( ); (D)int fun(char a[][],b); 38、变量的指针,其含义是指该变量的( )。 A) 值 B) 地址 C) 名 D) 一个标志

39、变量的引用,其含义是指该变量的( )。 A.值 B.类型 C.别名 D.地址 40、有如下代码段: int p,a[10]={1,3,4,5,7,8,10,12,15,16}; p=&a[5]; 则(p-1)的值为( )。 A)1 B) 4C) 7 D) 10 41、设有数组定义:char array[]=”China”;则数组array所占的空间为( )。 A) 4个字节 B) 5个字节 C) 6个字节 D) 7个字节 42、已有定义“int a=5,&ra=a;”则下叙述中,错误的说法是( )。 (A)ra是变量a的引用 (B)ra的值为5 (C)ra是a的地址值 (D)执行“ra=10;”后变量a的值也变为10 43、若有定义“int c[5],*p=c;”,则以下对数组c元素地址的正确引用是( ) (A)p+5 (B)c++ ©&c+1 (D)&c[0] 44、若有以下定义 int a[10] = {1,2,3,4,5,6,7,8,9,10}, *p = a; 则不能表示a数组元素的表达式是( )。 A. *p B. a[10] C. *a D. a[p-a] 45、设有定义“int a = 3, b, p = &a;”则下列语句中使b不为3的语句是( )。 A. b = &a; B. b = p; C. b = a; D. b = a; 46、设 int x = 1, y = 3 , 能正确表示代数式3x|x-y|的C++表达式是( )。 (A)abs(x-y)3x (B)3x(abs(x-y)) ©3x||(x-y) (D)3x(x-y)|| 3x(y-x) 47、下面关于new和delete运算的叙述中,错误的说法是( )。 (A)由new分配的内存空间是连续的 (B)如果当前内存无足够的空间可分配,则new运算符返回NULL (C)由new运算符分配的内存空间,当函数执行结束时系统会自动收回 (D)对于程序中的静态数组占用的存储空间不能使用delete来释放 48、设有说明语句 struct abc { int m; float n; } stype; 则下面错误的叙述是( ) (A)struct 是定义结构体类型的关键字 (B)stype是结构体类型名 (C)m和n都是结构体成员 (D)stype是结构体变量名 50、一个结构体变量所占用的内存字节数是( ) (A)结构体中第一个成员所需的内存字节数 (B)结构体中最后一个成员所需的内存字节数 (C)结构体中占用内存最大的成员所需的字节数 (D)结构体中各成员所需的内存字节数和 51、设a和b是两个结构体变量,下面正确的表达式是( ) (A)a=b (B)a=b+1 ©a>b (D)a==b 52、关于构造函数的叙述中,错误的说法是( ) (A)构造函数的名称必须为类名 (D)构造函数最多只能有一个 (C)创建对象时自动执行构造函数 (D)构造函数无任何函数类型 53、C++中类有两种用法,一种是类的实例化,即生成类对象,另一种是通过( )派生出新的类 (A)复用 (B)继承 (C)重载 (D)封装 54、派生类对象的构造顺序是先调用:( )。 A.派生类的构造函数B.基类的构造函数 C.内嵌对象的构造函数 D.友元类的构造函数 55、派生类对象的析构造顺序是先调用:( )。 A.派生类的析构造函数B.基类的析构造函数 C.内嵌对象的析构造函数 D.友元类的析构造函数 56、假定AB为一个类,则执行"AB a(4),b[4],*p[5]”语句时,自动调用该类构造函数的次数为( )。 A.4 B.5 C.8 D.13 57、派生类的成员函数不能访问基类的( )。 A) 所有成员 B) 公有成员 C) 私有成员 D) 保护成员 58、类的构造函数的作用是( )。 A) 对象的初始化 B) 删除对象时的清理任务 C) 与一般成员函数一样 D) 类的初始化 59、类的析构造函数的作用是( )。 A) 对象的初始化 B) 删除对象时的清理任务 C) 与一般成员函数一样 D) 类的初始化 60、类的构造函数的作用是( )。 A) 对象的初始化 B) 删除对象时的清理任务 C) 与一般成员函数一样 D) 类的初始化 61、类的析构造函数的作用是( )。 A) 对象的初始化 B) 删除对象时的清理任务 C) 与一般成员函数一样 D) 类的初始化 62、作用域运算符::的功能是( )。 A 标识作用域的级别 B 指出作用域的范围 C 给定作用域的大小 D 标识某个成员是属于哪个类 63、派生类的对象对它的基类成员中( )是可以访问的。 A. 公有继承的公有成员 B. 公有继承的私有成员 C. 公有继承的保护成员 D. 私有继承的公有成员 64、设置虚基类的目的是( )。 A. 简化程序B. 消除二义性 C. 提高运行效率 D. 减少目标代码 65、下面程序的运行结果为 ( ) #include<iostream.h> using namespace std; class A { public: A( ){cout<<"1";} ~A( ){cout<<"2";} }; class B:public A { public: B( ) {cout<"3";} ~B( ){cout<<"4";} }; int main( ) { B b;return 0; } A.1234 B.1324 C.1342 D.3142

66、C++中,主函数的个数是( ) 个。 A. 2个 B.1个 C. 任意个 D. 10个

67、下列关于C++注释的叙述中错误的是( )。 A. 以“/”开头并以“/”结尾的字符串为C++的注释符 B. 注释可以出现在任何位置,用以提示和注释程序的意义 C. 程序编译时,不对注释作任何处理 D. 程序编译时,需要对注释进行处理

68、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=‘A’+‘6’-‘3’后,c2中的值为 ( )。 A. D B. 68 C. 不确定的值 D. C 69、设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为( ) 。 A. float B. char C. int D double 70、以下程序段,当输入“3”并回车后,屏幕上显示的内容是( )。 int ch ; ch = getchar () ; putchar (ch) ; A. 2 B. 1 C. 3 D. 0

70、以下程序的输出结果是( ) 。 char c1, c2; c1=65; c2 = 65 + 32 + 1 ; cout<<c1<<c2 ; A. a, B B. A, B C. A, b D. a, b

71、判断char型变量ch是否为大写字母的正确表达式是( )。 A) ‘A’<=ch<=‘Z’ B) (ch>=‘A’)&(ch<=‘Z’) C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch) 72. 以下程序的运行结果是( ) 。 main() { int a,b,d=241; a=d/100%9; b=(-1)&&(-1); cout<<a<<”,”<<b<<endl; } A) 6,1 B) 2,1 C) 6,0 D) 2,0 73. 已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是( )。 if(x>y) z=x; x=y; y=z; A) x=10, y=20, z=30 B) x=20, y=30, z=30 C) x=20, y=30, z=10 D) x=20, y=30, z=20 74. 若运行时给变量x输入12,则以下程序的运行结果是( )。 main() { int x,y; cin>>x; y=x>12 ? x+10 : x-12; cout<<y<<endl; } A) 4 B) 3 C) 2 D) 0 75、以下由while构成循环的次数是 ( )。 int i = 1 ; while ( i == 1 ) i++; A. 执行无限次 B. 语法错 C. 一次也不执行 D. 执行1次

76、若有说明语句:int a[ 2 ][ 3 ] ={ 0 };,则下面正确的叙述是 ( ) 。 A. 此语句说明不正确 B. 只有a[0 ][ 0]可以得到初值0 C.数组中的每个元素可以得到初值0 D.数组中的每个元素可以得到初值,但不一定为0

77、若有以下语句,则下面 ( ) 是正确的描述。 char x [ ] = “12345”; char y [ ] = { ‘1’, ‘2’, ‘3’, ‘4’, ‘5’ }; A.x数组和y数组的长度相同 B.x数组的长度大于y数组的长度 C. x数组等价于y数组 D.x数组的长度小于y数组的长度

78、在数组中,数组名表示 ( ) 。 A. 数组第一个元素的首地址 B.数组第一个元素的首地址 C.数组所有元素的首地址 D.数组最后一个元素的首地址

79、在C语言中,二维数组元素在内存中的存放顺序是 ( ) 。 A. 按行存放 B. 按列存放 C. 由用户决定 D. 由编译器确定

80、被调用函数调用结束后,返回到 ( ) 。 A. 主调用函数中该被调用函数调用语句处 B. 主函数中该被调用函数调用语句处 C. 主调用函数中该被调用函数调用语句的前一条语句 D. 主调用函数中该被调用函数调用语句的后一条语句

81、有关数组名作为函数参数说法错误的是 ( ) 。 A. 用数组名作为函数参数时,要求形参和实参类型相同 B. 用数组名作为函数参数时,实参传给形参的是数组的首地址 C. 用数组名作为函数参数时,实参将数组各元素的值传给形参 D. 用数组名作为函数参数时,实参和形参共享同一数组

82、在函数内部定义的变量称为 。 A. 全局变量 B. 局部变量 C. 外部变量 D. 静态变量

83、静态变量的说明符为 。 A. auto B. static C. extern D. register 84、变量的指针,其含义是指该变量的_______.

A. 值 B. 地址 C. 名 D. 一个标志 85.若有以下定义,则不能对a数组元素的正确引用是______.

int a[5],p=a; A.&a[5] B. a+2 C. *(p+5) D. *(a+2) 86.若有以下定义,则p+5表示_______.

int a[10],*p=a; A. 元素a[5]的地址 B. 元素a[5]的值 C. 元素a[6]的地址 D. 元素a[6]的值 87、若有定义:int a;,则定义一个指针p,使其可以指向变量a的赋值语句是( )。 A. int p = a; B.int *p = a; C. int *p = &a; D.int p = *a; 88、以下正确的叙述是( )。 A. 数组名实际上是此数组的首地址,所以数组名相当于一个指针变量 B. 若定义数组a[2][3],则a+1和 *(a+1)完全相等 C. 若定义数组a[2][3],则++a和 a[1]完全等价 D. 某函数的形参为一个数组,则调用此函数时只能将数组名作为对应的实参 89、若有以下定义:int n, *p; ,则正确的赋值表达式是( )。 A. p = &n; B.p = n; C. *p = &n; D.*p = *n; 90、以下程序执行后,x 值为 ( )。 main () { int *p, x; x = 20; p = &x; x = *p + 5; cout<<x; } A. 20 B.25 C. 15 D.5 91、下列程序的运行结果是 ( )。 void fun ( int *a, int *b ) { int *k; k = a; a = b; b = k; } main () { int a = 3, b = 6, *x = &a, *y = &b; fun ( x, y ); cout<<a<<b<<endl; } A. 3 6 B.6 3 C. 编译出错 D.0 0 92、以下程序段的执行结果是 ( )。 char a[ ] = “Program”; char * ptr; ptr = a; for ( ptr = a; ptr < a + 7; ptr += 2 ) putchar ( *ptr ); A. Program B.Porm C. 有语法错误 D.Por 93、以下对结构体变量stu1中成员age的非法引用是_______. struct student {int age; int num; }stu1,*p; p=&stu1; A. stu1.age B. student.age C. p->age D. (*p).age 94、设有以下说明语句: srruct ex { int x ; int y ; int z ; }example ; 由以下叙述中不正确的是( ) 。 A. struct是结构体类型的关键字 B. example是结构体类型名 C. x, y, z都是结构体成员名 D. struct ex 是结构体类型

95、若有以下结构体定义,则( ) 是正确的引用或定义。 struct example { int x ; int y ; } v2 ; A. example.x=10 ; B.example v2; v2.x =10; C. struct v2; v2.x = 10; D.struct example v2 = { 10 }; 96、以下程序的运行结果是 ( )。 main () { struct sample { int x ; int y ; }a[ 2 ] = { 1, 2, 3, 4 }; cout<< a[0].x +a[0].y * a[1].y <<endl; } A. 7 B.9 C. 13 D.16 97、编写C++程序一般需经过的几个步骤依次是( ) A. 编辑、调试、编译、连接 B. 编辑、编译、连接、运行 C. 编译、调试、编辑、连接 D. 编译、编辑、连接、运行 98、适宜采用inline定义函数情况是( ) A. 函数体含有循环语句 B. 函数体含有递归语句 C. 函数代码少、频繁调用 D. 函数代码多、不常调用 99、下面对于友元函数描述正确的是( )。 A.友元函数的实现必须在类的内部定义 B.友元函数是类的成员 C.友元函数破坏了类的封装性和隐藏性 D.友元函数不能访问类的私有成员 100、下面选项中不属于面向对象程序设计特征的是( ) 。 A.继承性 B多态性 C相似性 D封装性

填空

二、填空题 1、若有定义int m=5,y=2;则计算表达式y+=y-=m*=y后的y值是【-16】。 2、 若s是int型变量,且s=6,则表达式s%2+(s+1)%2的值为【1】。 3、若有定义:char c=‘\010’;则变量c中包含的字符个数为【1】。 4、已知字母a的ASCII码为十进制数97,且设ch为字符型变量, 则表达式ch=‘a’+‘8’-‘3’的值为【f】。 4、有定义int a;则“a是偶数”的表达式是【a%2==0】 。

5、下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束 循环。请填空。 int n=0,c; c=getchar(); while( 【c!=’\n】’_; r=m%n; while® {m=n;n=r;【r= m%n】. 8、下面程序以每行4个数据的形式输出a数组,请填空。 #define N 20 main() {int a[N],i; for(i=0;i<N;i++) cin>> a[i] ; for(i=0i<N;i++) {if (【i%4==0】___ cout<<a[i]; } cout<<endl; }

9、 下面程序可求出矩阵a的主对角线上的元素之和,请填空。 main() {int a[3][3]={1,3,5,7,9,11,13,15,17},sum=0,i,j; for(i=0;i<3;i++) for(j=0;j<3;j++) if(【ij||i+j2】___. (a+5)的值是___12______. 11、若有以下定义:int a[2][3]={2,4,6,8,10,12};则a[1][0]的值是__8___. 12、下面程序的运行结果是___254______. #include main() {int a,s,n,count; a=2;s=0;n=1;count=1; while(count<=7){n=na;s=s+n;++count;} cout<<s<<endl; } 12、int n=0; while(n= =1)n++; while循环执行次数是 【0次】 。 13、面向对象程序设计有四个主要特点,即抽象、封装、【继承__】和【】。 14、非成员函数应声明为类的【友元__】函数才能访问这个类的private成员。 14、派生类中的成员不能直接访问基类中的【私有__】成员。 15、在用class定义一个类时,数据成员和成员函数的默认访问权限是【】。 16、在字长为32位的机器中,sizeof(char)=【1】字节,sizeof(unsigned int)=【 4 】字节. 17、C++语法规定,任何变量在使用前必须先【定义】;变量有两个值,一个是变量本身的值,另一个是变量的【地址值】。 18、C++中任何一个数组的名字是一个【常量】指针,该指针的值是该数组【首元素】的地址。 19、函数调用时的参数传递主要分为单向传递和【双向】传递,前者的特点是【形参的改变不影响实参】。 20、函数重载时要求同名函数的参数【个数】或【类型】不同,否则无法确定是哪个函数。 21、静态数据成员是类的所有对象中【共享】的成员,静态数据成员初始化与一般数据成员初始化【不同】。 22、在类中必须声明成员函数的【 原型 】,成员函数的【 实现 】部分可以写在类外。 23、如果需要在被调函数运行期间,改变主调函数中实参变量的值,则函数的形参应该是【 引用 】类型或【 指针 】类型。 24、【 抽象 】类只能作为基类使用,而不能声明它的对象。 25、通过一个【 常 】对象只能调用它的常成员函数,不能调用其他成员函数。 26、拷贝构造函数的形参必须是【 本类对象的引用 】。 27、已知pow(a,b)的值为a的b次方,则数学表达式对应的C++表达式为【2*pow(x,5)】。 28、每个字符指针变量占用内存的【4】个字节的存储空间。 29、假定一维数组的定义为"int a[8]”,则该数组所含元素的个数为【8】。 30、若whi1e循环语句的头部为”while(i++<=10)”,若i的初值为0,同时在循环体中不会修改i的值,则其循环体将被重复执行【11】次后正常结束。 31、在C++中,函数的参数有两种传递方式,它们是地址传递和【值传递】。 32、 C++中比C语言更高级的两种代码复用的方式:【继承】,【模板】 。 33、在C++类中,有一种不能定义对象的类,这样的类只能被继承,称之为【抽象类】,定义该类至少具有一个【纯虚函数】。 34、C语言中没有字符串类型,字符串是通过字符数组来表示的,每一个字符串都有一个结尾字符【\0】,C++中字符串类型是【string】。 34、执行下列代码: string str=“Hello World!”; cout<<str; 程序的输出结果是【Hello World!】 。 35、 完成以下程序,实现求任意一个3位正整数各位数字之和。 #include using namespace std; void main() { int s,m; cin>>m; s=________+m/10%10+m/100; cout<<s; }

36、完成以下程序,实现求任一个非负整数的算术平方根。 #include #include using namespace std;

void main() { int x; double y; cout<<“请输入一个非负整数:”; cin>>x; _____________; cout<<“平方根:”<<y<<endl; }

37.完成以下程序,实现判断某年是否是闰年的功能。 #include using namespace std; void main() { int x; bool leap; cin>>x; leap=false; if(x%40&& x%100!=0||x%4000) leap=true; if ( _______ ) cout<<x<<“年是闰年”<<endl; else cout<<x<<“年是平年”<<endl; } 关键字:选择结构

  1. 完成以下程序,实现判断某年是否是闰年的功能。 #include using namespace std; void main() { int x; bool leap; cin>>x; leap=false; if(x%4==0&& x%100!=0|| __________ ) leap=true; if (leap) cout<<x<<“年是闰年”<<endl; else cout<<x<<“年是平年”<<endl; }

关键字:选择结构

39、完成以下程序,实现判断数x是否为偶数的功能。 #include using namespace std; main() { int x; cout<<“请输入一个数:”; cin>>x; if (_______________) cout<<“是偶数!”; else cout<<“不是偶数。”<<endl; } 关键字:选择结构

40、 完成以下程序,实现下列分数序列的前15项之和。 2/1,3/2,5/3,8/5,13/8,21/13,. . . #include using namespace std; void main() { int I,m,n,k; float s=0; m=1;n=2; for(I=1;I<=15;I++) { s=s+1.0*n/m; k=m; m=n;


} cout<<”s=”<<s<<endl; }

关键字:循环结构 41、完成以下程序,实现下列分数序列的前15项之和。 2/1,3/2,5/3,8/5,13/8,21/13,. . . #include using namespace std; void main() { int I,m,n,k; float s=0; m=1;n=2; for(I=1;I<=15;I++) {


k=m; m=n; n=k+n; } cout<<”s=”<<s<<endl; } 关键字:循环结构

42、 完成下面程序,使其输出l0,并在退出运行时正确释放分配给指针的存储空间。 #include using namespace std; void main() { int *a,*p; a=new int; *a=10; p=a; cout<<*p<<endl; __________; } 关键字:数组与指针

43、完成下面程序,使其输出30,并在退出运行时正确释放分配给指针的存储空间。 #include using namespace std; void main() { int *a,*p; a=________ int; *a=30; p=a; cout<<*p<<endl; delete§; } 关键字:数组与指针 44、完成以下程序,实现两个变量的交换。 #include using namespace std; void main() { void swap(int *x,int *y); int i,j; cout<<“输入两个整数:”; cin>>i>>j; swap(&i,&j); cout<<“i=”<<i<<" j="<<j<<endl; }

void swap(_________) { int p; p=*x; *x=*y; *y=p; } 关键字:数组与指针 45、完成以下程序,实现两个变量的交换。 #include using namespace std; void main() { void swap(int *x,int *y); int i,j; cout<<“输入两个整数:”; cin>>i>>j; swap( ); cout<<“i=”<<i<<" j="<<j<<endl; }

void swap(int x,inty) { int p; __________ *x=*y; *y=p; }

关键字:数组与指针 *答案: &i,&j p=x; 46. 输入10个数,使用选择排序,按升序排序。 #include using namespace std; int main() { int a[10]; int i,j,t,k; cout<<“Input 10 number:”<<endl; for(i=0;i<10;i++) ; for(j=0;j<9;j++) //共进行九轮比较 { k=j; for(i=j+1;i<10;i++) //每轮中找出最小值下标 if(a[i]<a[k]) ;

    t=a[j];
                 ;      //每轮中的最小值与a[j]交换
    a[k]=t;
}
cout<<"the sorted numbers:"<<endl;
for(i=0;         ;i++)
    cout<<a[i]<<" ";
cout<<endl;
return 0;

}

47、编写程序,从键盘输入一个整数,判断是否为水仙花数,在下划线处填上正确的语句。 #include using namespace std; int main() { int a,b,c,num cout<<“输入一个三位数:”<<endl; cin>>num; a=num/100; //求百位数 b= ; //求十位数 c= ; //求个位数 if( ) cout<<num<<“是水仙花数”<<endl; else cout<<num<<”不是水仙花数”<<endl; return 0; }

读程序写结果

三、读程序写结果

1、下面程序段的运行结果是__8_____. i=1;s=3; do{s+=i++; if(s%7==0)continue; else ++i; }while(s<15); cout<<i; 2、 #include using namespace std; void main() { int x,y,z; x=2/47; y=2/47.0; z=int(2/4.0*7); cout<<“x=”<<x<<" y="<<y<<" z="<<z<<endl; } 请写出输出结果。

答案:x=0 y=0 z=3 3、 #include using namespace std; void main() { int x,y,z; x=3; y=++x; z=x; cout<<“x=”<<x<<" y="<<y<<" z="<<z<<endl; } 请写出输出结果。

答案:x=4 y=4 z=4 4、 #include using namespace std; void main() { int x,y,z; x=3; y=x++; z=x; cout<<“x=”<<x<<" y="<<y<<" z="<<z<<endl; } 请写出输出结果。

答案:x=4 y=3 z=4 5、 #include using namespace std; void main() { int x,y,z; x=3; y=x++; z=x; cout<<“x=”<<x<<" y="<<y<<" z="<<z<<endl; } 请写出输出结果。

答案:x=4 y=3 z=4 6. #include using namespace std; void main() { int x,y,z; x=3;y=5; x=x+y; y=x-y; x=x-y; cout<<“x=”<<x<<" y="<<y<<endl; } 请写出输出结果。

答案:x=5 y=3

#include using namespace std; void main() { float a,b,c,t; a=7;b=3;c=15; if (a>b) { t=a;a=b;b=t; } if (a>c) { t=a;a=c;c=t; } if (b>c) { t=b;b=c;c=t; } cout<<a<<","<<b<<","<<c<<endl; } 请写出输出结果。 答案:3,7,15

#include using namespace std; void main() { float x,y; x=-5; if (x<0) y= -1; else; if (x<=10) y=x; else y=x*x+1; cout<<“x=”<<x<<" y="<<y<<endl; } 请写出输出结果。 关键字:选择结构 答案:x=-5 y=-5

#include using namespace std; void main() { char c; cin>>c; if(c>=’a’ && c<=’u’) c=c+5; else if(c>=’v’&&c<=’z’) c=c-21; cout<<c<<endl; } 当输入b时,请问输出的内容是( )。 关键字:选择结构 答案:g

#include using namespace std; void main() { int c; cin>>c; if(c>=8 || c<=3) c=c+5; else c=c-21; cout<<c<<endl; } 当输入2时,请问输出的内容是( )。 关键字:选择结构 答案:7

#include using namespace std; void main() { int i=0; while(++i) { if(i==10) break; if(i%3!=1) continue; cout<<i; } } 请写出输出结果。 关键字:循环结构 答案:147

#include using namespace std; void main() { int a,b; for(a=1,b=2; b<50;) { cout<<a<<’ ‘<<b<<’ '; a=a+b; b=a+b; } } 请写出输出结果。 关键字:循环结构 答案:1 2 3 5 8 13 21 34

#include using namespace std; void main() { for(int i=1,s=0;i<20;i++) { if(i%20 || i%30) continue; cout<<i<<’ '; s+=i; } cout<<s<<endl; } 请写出输出结果。 关键字:循环结构 答案:1 5 7 11 13 17 19 73

#include using namespace std; void main() { int i=1; do{ i++; cout<<++i<<” ”; if(i= =7) break; }while(i= =3); }

请写出输出结果。 关键字:循环结构 答案:3 5

#include using namespace std; void main() { int i,t,sum=0; for(t=i=1;i<10;) { sum+=t; ++i; if(i%3==0) t=-i; else t=i; } cout<<“sum=”<<sum; } 请写出输出结果。 关键字:循环结构 答案:sum=9

#include using namespace std; void main() { int i,n,d[10]={1,2,3,4,5,6,7,8,9,10}; i=n=1; while(i<10) { if(n==1) i+=4; else i-=2; if(i<10) cout<<d[i]<<" "; n=1-n; } } 请写出输出结果。 关键字:数组与指针 答案:6 4 8 6 10 8

#include using namespace std; int a[8]={36,25,20,43,12,70,66,35}; void main() { int s0,s1,s2; s0=s1=s2=0; for(int i=0; i<8; i++) { switch(a[i]%3) { case 0: s0+=a[i];break; case 1: s1+=a[i];break; case 2: s2+=a[i];break; } } cout<<s0<<’ ‘<<s1<<’ '<<s2<<endl; } 请写出输出结果。 关键字:数组与指针 答案:114 138 55

#include using namespace std; void main() { int a[]={1,3,5,7,9}; int *p,*q,k; p=&a[0]; q=&a[4]; for(;q-p>0;p++,q–) { k=*p; *p=*q; *q=k; } for(k=0;k<4;k++) cout<<a[k]<<" "; cout<<endl; } 请写出输出结果。 关键字:数组与指针 答案:9 7 5 3

#include using namespace std; void main( ) { int a[3][3]={ {1,3,5},{7,9,11},{13,15,17}}; int *p; for(p=a[0];p<a[0]+9;p++) cout<<p<<" "; cout<<endl; } 请写出输出结果。 关键字:数组与指针 答案:1 3 5 7 9 11 13 15 17 20. #include using namespace std; main() { int x[3][3],i,j; for (i=0;i<3;i++) for (j=0;j<3;j++) ((x+i)+j)=i-j; for (i=0;i<3;i++) for (j=0;j<3;j++) cout<<x[i][j]<<” ”; } 请写出输出结果。 关键字:数组与指针 答案:0 -1 -2 1 0 -1 2 1 0 21. #include using namespace std; int sum(int n) {int c=0; do{ c+=n%10; n/=10; } while(n); return c; } main() { cout<<sum(1234)<<’\t’<<sum(4567)<<endl; } 请写出输出结果。 关键字:函数 答案:10 22 22. #include using namespace std; void main() { int t(int ); int x; x=t(5); cout<<x<<endl; } int t(int a) { if(a>0) return at(a-2); else return 1; } 请写出输出结果。 关键字:函数 答案:15

#include using namespace std; #define N 5 void fun(); void main() { for (int i=1;i<N;i++) fun(); } void fun () { static int a; int b=2; cout<<(a+=3,a+b)<<" "; } 请写出输出结果。 关键字:函数 答案:5 8 11 14 24. #include using namespace std; #define N 5 int f1(int a); void main() { int a(N); cout<<f1(a)<<endl; } int f1(int a) { return(a==0)?1:af1(a-1); } 请写出输出结果。 关键字:函数 答案:120 25. #include using namespace std; int fac(int a); void main() { int s(0); for(int i(1);i<=3;i++) s+=fac(i); cout<<s<<endl; } int fac(int a) { static int b=1; b=a; return b; } 请写出输出结果。 关键字:函数 答案:9 26、#include <iostream.h> using namespace std; class base { public: base(){cout<<“Construction base class.\n”;} ~base(){cout<<“Destruction base class.\n”;} }; class derive:public base { public: derive(){cout<<“Construction derived class.\n”;} ~derive(){cout<<“Destruction derived class.\n”;} }; int main() { derive op; return 0; } 答案:Construction base class. Construction derived class. Destruction derived class. Destruction base class. 27、#include using namespace std; class A { public: A(){cout<<“1”;} ~A(){cout<<“2”;} }; class B:public A { public: B(){cout<<“3”;} ~B(){cout<<“4”;} }; int main() { B b;return 0; } 答案:1342

标签: 横沥板对板连接器bk13c06夷陵板对板连接器bk13c06

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台