您好,欢迎来到伴沃教育。
搜索
您的当前位置:首页c++基础练习题

c++基础练习题

来源:伴沃教育
练习题:

一、选择题(每题2分,共40分)

1.在C++语言中,合法的字符常量是( ) A.‘abc’ B."C" C.'\t' D.M 2.若有说明:

int a[ ][ 4]={1,2,3,4,5,6,7,8,9,10};则a数组的第一维的大小是( ) A.2 B.3 C. 4 D.不确定 3.下列关键字中,哪个是定义友元函数的关键字 A.class B.inline C.friend D.struct 4.若有说明:

int a; double b ; char ch ; 则表达式a+b-c的结果类型是( A.int B.double C.char D.不确定 5.对两个数组a和b进行初始化:

char a[ ]=”china”;

char b[ ]={‘c’,’h’,’i’,’n’,’a’}; 则以下叙述正确的是:

A.a与b数组完全相同 B.a与b长度相同

C.a和b都存放的是字符串 D.a数组比b数组长度长 6.执行以下语句后,x,y,t的值分别为:( ) int x=3,y=4,t=2;

if(x>y) t = x ; x=y ; y=t;

A.4,3,3 B.4,3,2 C.3,4,2 D.4,2,2 7.下面关于break语句的描述中( )是不正确...的 A.break语句可用于if语句,它将退出if语句;

B.break语句可用于switch语句,它将退出switch语句; C.break语句可用于循环体内,它将退出该层循环; D.break语句可在一个循环体内出现多次; 8.下面do-while的循环次数是( ) int n=0; do

cout<A.0 B.1 C.2 D.无限 9.下面程序的输出结果是( ) #include “iostream.h” int n=0; void main( ) {

cout<cout<A.051 B.056 C. 061 D.060

10.当一个函数无返回值时,函数的类型应定义为( ) A.void B.int C.任意 D.无

第 1 页 共 6 页

) 11.某一函数短小简单且使用频繁,应将其定义为( ) A.重载函数 B.递归函数 C.内联函数 D.嵌套函数 12.若有说明: struct student{

char name[10]; float score ; }std[4];

则数组std占用( )个字节的内存空间 A.4 B.40 C.48 D.56 13.下面函数哪个不是类的成员函数( )

A.友元函数 B.拷贝构造函数 C.构造函数 D.析构函数 14.如下说明:

int x , *p=&x; x=8;

则*p的值为:( )

A.&x B.8 C.2000H D.不确定 15.有下面定义,则p+3表示( ) int a[5]={7,3,9,5,2},*p=a;

A.元素a[3]的值 B.元素a[4]的值 C.元素a[3]的地址 D.元素a[4]的地址 16.在C++中,局部变量的隐含存储类型是( ) ....A.auto B.static C.int D.无存储类别 17.下面程序段的执行结果是( )

#define Area(r) r*r ; cout<A.25 B.20 C.13 D.11 18.若有说明:

int int a=1,b=2则a&&b的值为( ) A.0 B.1 C.2 D.3

19.若有说明enum color{Red,Blue ,White};则Red的值是( ) A.0 B.1 C.2 D.无

20.若有说明: int a[2 ][ 4][3];则数组a有( )个数组元素 A.2 B. 12 C.24 D.32

二.填空题(每空2分,共20分)

1、已知int a,b;则表达式a=3,b=6,a++,++b,a+b;的值为 【1】

2、已知int a=1,b=2,c=3,d=4,n=1,m=1;则执行表达式(m=a>b?1:0)&&(n=c>d?0:1)后,m= 【2】

n= 【3】 3、引入类定义的关键字是___【4】_______,类的成员函数通常指定为___【5】_______,类的数据成员通常指定为____【6】_________

4、以下是用折半查找法在数组a(已升序排列)中查找从键盘上输入的数x:

#include “iostream.h” void main(){ ……}//略 int search(int a[ ],int x, int n ){ int low=0,high=n;

第 2 页 共 6 页

int mid=(low+high)/2; while(low<=high )

if(a[mid] >x ) 【7】 ; else if (a[mid]else return mid; return -1;

}

5、如下程序段: int a; int &b=a; a=4; a++;

则a= 【9】 b= 【10】

三、写出下面程序的运行结果(每题4分,共20分) 1、#include “iostream.h” void main(){

int i;

for(i=1;i<=10;i++)

{ if( i %3= =0 ) continue;

cout<2、#include “iostream.h” int fun ( ) {

static int x=1; x++;

cout<{

int k;

for(k=0;k<5;k++) fun( ); }

3、#include “iostream.h” void main(){

int k=1; switch(k)

{ case 1: cout<default : cout<<”Full!”; } }

4、#include “iostream.h” void swap(int x,int y) {int t;

第 3 页 共 6 页

t=x; x=y ; y=t ;} void main()

{ int m=4,n=6;

swap(m,n);

cout<<”m=”<5、 #include “iostream.h”

void fun(int x=0) {cout<四、编程题(每题10分,共20分)

121、编程实现矩阵 34 及其转置矩阵的输出(分别为3行2列,2行3列)

562、现有主函数中调用了函数fun(),根据题意填空,并完成fun()函数 #include 【1】 ; void main()

{ int a[6]={ 20,10,30,40,50,60};

int max=0; fun( a, max); cout<void fun( 【2】 )

{ }

C++程序设计考试题1

一.基础知识应用(20分)

1. 判断下列标识符的合法性(5分)

sin book 5arry _name Example2.1 2. 判断下列哪些是常量和变量(5分)

“china” int n=10 float m 12.45 char ch=’a’ 3. 将下列算式或叙述用C++表达式描述(5分)

a≠b≠c

4. 定义一个10个整型数的一维数组(5分)

二.阅读程序(50分)

1. 阅读下列程序,写出程序的运行过程和结果(15分)

int a=3, b=100;

下面的循环语句将执行 次,执行后a、b的值分别是 、 。 While(b/a>5){

if (b-a>25) a++;

第 4 页 共 6 页

else b/=a;}

2. 阅读下列程序,写出程序的运行过程和结果(15分)

int m, k;

for(k=1,m=0;k<=50;k++){ if(m>=10) break;

if(m%2==0){ m+=5; continue;} m-=3;}

3. 阅读下列程序,写出程序的运行过程和结果(20分)

void insert(int a[ ], int &size, int x) { for(int i=size-1;i>=0;i--) a[i+1]=a[i]; a[0]=x; size++;} void main( )

{int a[ ]={2, 4, 6, 8}; int size=4;

insert(a, size, 0);

for(int i=0;i三.程序填空(30分)

1. 编写程序,查找x=6在数组a中的位置,如果在返回下标,否则返回-1。 search(int a[ ], int size, int x) {for(int i=0;iif( ) break;

if(i{int a[ ]={3,9,6,5,4}; int size=5; cout<for(int i=0; a[i] ;i++) k++;

return ; }

void main( )

{int a[ ]=”china”; cout<同学们,下面的题与“C++程序设计考试题1”类似,最好将“考试题1”解决好再做这套,看效果如何……

C++程序设计考试题2

一.基础知识应用(20分)

1. 判断下列标识符的合法性(5分)

sin main $1 _name a3 2. 判断下列哪些是常量和变量(5分)

“china” const int n=10 int m=5 ‘a’ char ch 3. 将下列算式或叙述用C++表达式描述(5分)

k≤20且字符ch不为’\\0’

第 5 页 共 6 页

4. 定义一个20个字符的一维数组(5分)

二.阅读程序(50分)

1. 阅读下列程序,写出程序的运行过程和结果(15分)

int n, x, k;

下面程序段的功能是 。当n=8,x=3时,x的结果是 。 k=0; do{

x/=2;

k++;} while (k2. 阅读下列程序,写出程序的运行过程和结果(15分)

if(num==1) cout<<”A” else if(num==2) cout<<”B” else if(num==3) cout<<”C” else cout<<”D”

当num的值分别为1、2、3时,上面的程序段的输出分别为什么? 3. 阅读下列程序,写出程序的运行过程和结果(20分)

void delete(int a[ ], int &size) {for(int i=1;i{ int a[ ]={2, 4, 6, 8}; int size=4;

delete(a, size);

for(int i=0;i三.程序填空(30分)

1. 编写程序,查找x=5是否存在于数组a中,如果在返回1,否则返回0。 search(int a[ ], int size, int x) {for(int i=0;iif( ) break;

if(i{int a[ ]={3,9,6,5,4}; int size=5; cout<for(int i=0; a[i] ;i++) if( ) k++; return ; }

void main( )

{int a[ ]=”CShiOOna”; cout<第 6 页 共 6 页

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- bangwoyixia.com 版权所有 湘ICP备2023022004号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务