。voidmain(){charch;cout〈〈"pleaseinputaletter:”;cin>〉ch;if(【1】(ch〉=’A')&&(ch〈=’Z’))ch=ch+32;elseif(ch>=’a’&&ch〈=’z’)【2】ch=ch—32;cout〈〈”theconvertedletteris〈〈ch〈〈endl;}9.以下程序运行后的输出结果是______200_______。voidmain(){intx=10,y=20,t=0;if(x==y)t=x;x=y;y=t;cout〈
voidmain(){inti;for(i=1;i+1;i++){if(i〉4){cout<〈i++;break;}cout<〈i++;}}(三)编程题1。百钱百鸡:100元钱买100只鸡,公鸡一只5元钱,母鸡一只3元钱,小鸡一元钱三只,求100元钱能买公鸡、母鸡、小鸡各多少只?2.输出九九乘法表.四、数组与指针部分试题:(一)单选题3。以下数组定义中错误的是()A.intx[][3]={0};B。intx[2][3]={{1,2},{3,4},{5,6}};C.intx[][3]={{1,2,3},{4,5,6}};D。intx[2][3]={1,2,3,4,5,6};4.以下能正确定义二维数组的是()A。inta[][3];B。inta[][3]={2*3};C。inta[][3]={};D。inta[2][3]={{1},{2},{3,4}};5.设有chararray[]="China”;则数组array所占的空间字节数为()A。4B。5C。6D。76.对于以下定义正确的叙述为()charx[]="abcdefg”;chary[]={’a’,'b’,’c','d’,’e’,'f’,’g'};A。数组x和数组y等价B.数组x和数组y的长度相同C.数组x的长度大于数组y的长度D。数组x的长度大于数组y的长度33.以下叙述中正确的是()A.可以在一个函数中调用另一个函数B.可以在一个函数中定义另一个函数C.main()函数必须放在其它函数之前D。所有被调用函数一定要在调用之前进行定义34。以下说法中正确的是()A.C++语言程序总是从第一个函数开始执行B。在C++语言程序中,要调用的函数必须在main()函数中定义C。C++语言程序总是从main()函数开始执行D.C++语言程序中的main()函数必须放在程序的开始部分35.以下程序的输出结果是()voidmain(){inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;cout〈〈*(p+2)<〈endl;}A.3B。4C。1D。236。以下程序的输出结果是()voidmain(){inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;cout〈〈(*p+9)〈〈endl;}A。0B。1C.10D。937.以下程序的输出结果是()voidmain(){inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p+2;cout〈〈(*p+*q)<〈endl;}A。16B.10C。8D.638。以下不能正确进行字符串赋初值的语句是()A.charstr[5]="good!”;B.charstr[]=”good!”;C。char*str="good!”;D。charstr[5]={’g',’o',’o’,’d’,’!’};39。以下程序的输出结果是()voidmain(){charstr[]=”ABCD”,*p=str;cout〈〈int(*(p+4))〈〈endl;}A.68B.’D’C。0D。’0’40。以下程序的输出结果是()voidmain(){charstr[]=”aeiou",*p=str;cout<<*(p+4)<〈endl;}A.oB。uC.eD。f62。以下关于数组的描述正确的是()。A.数组的大小是固定的,但可以有不同的类型的数组元素B.数组的大小是可变的,但所有数组元素的类型必须相同C。数组的大小是固定的,所有数组元素的类型必须相同D。数组的大小是可变的,可以有不同的类型的数组元素63.以下对一维整型数组a的正确说明是()。A。inta(10);B。intn=10,a[n];C。intn;D。constintSIZE=10;cin>〉n;inta[SIZE];inta[n];64.在C++语言中,引用数组元素时,其数组下标的数据类型允许是().A。整型常量B.整型表达式C。整型常量或整型表达式D。任何类型的表达式65。以下对一维数组m进行正确初始化的是().A。intm[10]=(0,0,0,0);B.intm[10]={};C.intm[]={0};D。intm[10]=10*2;66。若有定义:intbb[8];.则以下表达式中不能代表数组元bb[1]的地址的是()。A。&bb[0]+1B。&bb[1]C.&bb[0]++D。bb+167。假定int类型变量占用两个字节,其有定义:intx[10]={0,2,4};,则数组x在内存中所占字节数是()。A。3B。6C。10D.2068。执行下面的程序段后,变量k中的值为().intk=3,s[2];s[0]=k;k=s[1]*10;A。不定值B.33C.30D.1069。以下程序的输出结果是()voidmain(){inti,a[10];for(i=9;i>=0;i——)a[i]=10-i;cout〈〈a[2]〈〈a[5]〈〈a[8]<〈endl;}A。258B。741C。852D。36970.若说明:inta[2][3];则对a数组元素的正确引用是().A.a(1,2)B。a[1,3]C。a[1〉2][!1]D。a[2][0]71.若有定义:intb[3][4]={0};则下述正确的是().A。此定义语句不正确B.没有元素可得初值0C。数组b中各元素均为0D。数组b中各元素可得初值但值不一定为072。若有以下数组定义,其中不正确的是().A。inta[2][3];Bintb[][3]={0,1,2,3};C.intc[100][100]={0};D。intd[3][]={{1,2},{1,2,3},{1,2,3,4}};73。若有以下的定义:intt[5][4];能正确引用t数组的表达式是()。A。t[2][4]B。t[5][0]C。t[0][0]D。t[0,0]74。在定义intm[][3]={1,2,3,4,5,6};后,m[1][0]的值是().A。4B.1C。2D.575。在定义intn[5][6]后第10个元素是()。A.n[2][5]B.n[2][4]C。n[1][3]D。n[1][4]76。下述对C语言字符数组的描述中错误的是()。A.字符数组可以存放字符串B。字符数组中的字符串可以整体输入、输出C。可以在赋值语句中通过赋值运算符"=”对字符数组整体赋值(strcpy())D。字符数组可以像普通数组那样初始化77。下述对C++语言字符数组的描述中正确的是().A。任何一维数组的名称都是该数组存储单元的开始地址,且其每个元素按照顺序连续占存储空间B。一维数组的元素在引用时其下标大小没有限制C。任何一个一维数组的元素,可以根据内存的情况按照其先后顺序以连续或非连续的方式占用存储空间D。一维数组的第一个元素是其下标为1的元素78.不能把字符串:Hello!赋给数组b的语句是()。A.charstr[10]={’H',’e’,’l’,’l','o’,’!’};B.charstr[10];str="Hello!”;C。charstr[10];strcpy(str,"Hello!”);D.charstr[10]=”Hello!”;79.合法的数组定义是()。A.inta[]=”string”;B.inta[5]={0,1,2,3,4,5};C.ints="string”;D.chara[]={0,1,2,3,4,5};80。以下程序运行后,输出结果是().main(){chararr[2][4];strcpy(arr[0],"you”);strcpy(arr[1],”me”);arr[0][3]='&';cout<〈arr[0]〈〈endl;}A。you&meB。youC.meD。err99.若有说明:inta=2,*p=&a,*q=p;,则以下非法的赋值语句是()。A.p=q;B.*p=*q;C.a=*q;D.q=a;100。若定义:inta=511,*b=&a;,则cout<<*b;的输出结果为:()A.无确定值B.a的地址C.512D.511101.已有定义inta=2,*p1=&a,*p2=&a;下面不能正确执行的赋值语句是()。A.a=*p1+*p2;B.p1=a;C.p1=p2;D.a=*p1*(*p2);102。变量的指针,其含义是指该变量的()。A.值B.地址C.名D.一个标志103.若已定义inta=5;下面对(1)、(2)两个语句的正确解释是().(1)int*p=&a;(2)*p=a;A.语句(1)和(2)中的*p含义相同,都表示给指针变量p赋值.B.(1)和(2)语句的执行结果,都是把变量a的地址值赋给指针变量p。C.(1)在对p进行说明的同时进行初始化,使p指向a;(2)变量a的值赋给指针变量p.D.(1)在对p进行说明的同时进行初始化,使p指向a;(2)将变量a的值赋予*p。104。若有语句int*p,a=10;p=&a;下面均代表地址的一组选项是()。A.a,p,*&aB.&*a,&a,*pC.*&p,*p,&aD.&a,&*p,p105。若需要建立如图所示的存储结构,且已有说明double*p,x=0.2345;则正确的赋值语句是()。0.2345pxA.p=x;B.p=&x;C.*p=x;D.*p=&x;106。有如下语句:intm=6,n=9,*p,*q;p=&m;q=&n;如图1所示,若要实现下图所示的存储结构,可选用的赋值语句是()。pqpqmnmnA.*p=*q;B.p=*q;C.p=q;D.*p=q;107。下面判断正确的是()。A.char*s=”girl”;等价于char*s;*s=”girl”;B.chars[10]={”girl”};等价于chars[10];s[10]={"girl”};C.char*s="girl”;等价于char*s;s=”girl”;D.chars[4]="boy”,t[4]="boy";等价于chars[4]=t[4]=”boy"108。以下不能正确进行字符串赋初值的语句是().A.charstr[5]="good!”;B.char*str="good!";C.charstr[]=”good!”;D.charstr[5]={'g','o’,’o’,’d’};109。下面程序段的运行结果是().char*s=”abcde";s+=2;cout〈voidmain(){chars[]=”abcdef";s[3]=’\0’;cout<〈s〈voidmain(){chars[]=”ABCD",*p=s;cout〈〈*(p+3)<〈endl;}8。以下程序运行后的输出结果是4.charstr[]="stop\0\n\"”;cout<〈strlen(str)<〈endl;9.以下程序运行后的输出结果是5。#include#include#include〈string。h>voidmain(){chara[]={’\1','\2’,’\3','\4’,'\0’};cout〈〈sizeof(a)<〈”"〈〈strlen(a)〈〈endl;}8.输入20个整数到一维数组,统计正整数的个数及其和voidmain(){inta[20],i,sum,count;sum=count=0;for(i=0;i<20;i++)cin〉〉a[i];for(i=0;i<20;i++)if(a[i]〉0){count++;sum+=a[i];}cout〈〈count<<""〈max)max=a[i];elseif(a[i]〉str1[i];flag=0;for(i=0;i〈5;i++)if【3】(str[i]!=str1[i]){flag=1;break;}if(flag)cout〈〈”thiswordisnothello”〈〈endl;elsecout〈〈"thiswordishello”〈〈endl;}15.请填空:Wpc建立如图所示存储结构所需的说明语句是【1】charc,*p.建立如图所示给c输入数据的输入语句是【2】cin〉>c.建立如图所示存储结构所需的赋值语句是【3】p=&c。16.若有定义和语句:inta[4]={1,2,3,4},*p;p=&a[2];,则*-—p的值是___2_____。(三)编程题:1。输入字符串,将其中的非数字字符删除后,输出整个字符串五、函数部分的试题:(一)单选题81.C++语言程序中,当函数调用时()。A。实参和形参各占一个独立的存储单元B。实参和形参共用一个存储单元C.可以由用户指定是否共用存储单元D.计算机系统自动确定是否共用存储单元82。关于return语句,下列正确的说法是().A.在主函数和其他函数中均要出现B.必须在每个函数中出现C。可以在同一个函数中出现多次D。只能在除主函数之外的函数中出现一次83.一个函数返回值的类型是由()决定的。A。return语句中表达式的类型B。在调用函数时临时指定C。定义函数时指定的函数类型D.调用该函数的主调函数的类型84.在C++语言的函数中,下列正确的说法是()。A.必须有形参B.形参必须是变量名C。可以有也可以没有形参D。数组名不能作形参85。以下描述正确的是()。A。函数调用可以出现在执行语句或表达式中B.函数调用不能作为一个函数的实参C。函数调用可以作为一个函数的形参D.以上都不正确86。在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是().A。地址传递B。单向值传递C。由实参传给形参,再由形参传回实参D。传递方式由用户指定87。当调用函数时,实参是一个数组名,则向函数传送的是()。A。数组的长度B.数组的首地址C。数组每一个元素的地址D。数组每个元素中的值88.如果在一个函数的复合语句中定义了一个变量,则该变量()。A。只在该复合语句中有效,在该复合语句外无效B.在该函数中任何位置都有效C。在本程序的源文件范围内均有效D。此定义方法错误,其变量为非法变量89。下列说法不正确的是()。A。主函数main中定义的变量在整个文件或程序中有效B。不同函数中,可以使用相同名字的变量C.形式参数是局部变量D.在一个函数内部,可以在复合语句中定义变量,这些变量只在本复合语句中有效90。在一个源程序文件中定义的全局变量的有效范围是().A.本源程序文件的全部范围B.一个C程序的所有源程序文件C。函数内全部范围D.从定义变量的位置开始到源程序文件结束91.以下叙述中不正确的是().A。在不同的函数中可以使用相同名字的变量B。函数中的形式参数是局部变量C。在一个函数内定义的变量只在本函数范围内有效D。在一个函数内的复合语句中定义的变量在本函数范围内有效93。若有以下函数调用语句:fun(a+b,(x,y),fun(n+k,d,(a,b)));在此函数调用语句中实参的个数是().A.3B。4C。5D.695.有如下程序intfunc(inta,intb){return(a+b);}voidmain(){intx=2,y=5,z=8,r;r=func(func(x,y),z);cout〈〈r〈〈endl;}该程序的输出的结果是()。A。12B.13C.14D.1596。有以下程序floatfun(intx,inty){return(x+y);}voidmain(){inta=2,b=5,c=8;cout〈〈(fun((int)fun(a+c,b),a—c)))〈〈endl;}程序运行后的输出结果是()。A.编译出错B。9C。21D。9。097.以下程序的输出结果是()。intf(intb[],intm,intn){inti,s=0;for(i=m;i〈n;i=i+2)s=s+b[i];returns;}voidmain(){intx,a[]={1,2,3,4,5,6,7,8,9};x=f(a,3,7);printf(”%d\n”,x);}A.10B.18C。8D。1598。以下程序的输出结果是()。inta,b;voidfun(){a=100;b=200;}voidmain(){inta=5,b=7;fun();cout<〈a〈〈b〈〈endl;}A。100200B。57C。200100D。75六、文件部分的试题1、C++中输入流类是(cin)类,该类实例的“>〉”运算符作用是将数据从(输入流)读出来,写入(变量)中。2。C++中输出流类是(cout)类,该类实例的“<<"运算符作用是将数据从(变量)读出来,写入(显示器)中。3。要使用输入输出流类,在include语句中应该包含(iostream。h)头文件。