1. 编写程序,将10个整数246、。。。。。。20赋予一个数组,然后使用指针输出该数组各元素的值。
#include <iostream>
using namespace std;
int main()
{int a[10],i,*p;
for(p=a,i=0;p<a+10;p++,i++)
    *p=2*i+2;
for( p=a;p<a+10;p++)
    cout<<*p<<endl;
return 0;
}
2. 把键盘输入的一个大写字符串改为小写字符串并显示出来,其中大小写转换使用用户自定义函数lower()实现。
#include <iostream>
#include <string>
using namespace std;
void lower(char *p)
{char ch;
for(;*p!='\0';p++)
    { ch=*p+32;
      cout<<ch;
    }
cout<<endl;
}
void lower(char *p)
{
for(;*p!='\0';p++)
    cout<<char(*p+32);
  cout<<endl;
}
int main()
{char ch[100],*p;
cout<<"please input a string:"<<endl;
cin>>ch;
p=ch;
lower(p);
return 0;
}
3. 输入一个字符串,删除其中的所有空格后输出,例如,输入h e l l o,输出hello
#include <iostream>
#include <string>
using namespace std;
int main()
{char a[100],b[100];
int i,m,j=0;
cout<<"please input a string:"<<endl;
(a,100);
m=strlen(a);
复合赋值运算符的含义 for (i=0;i<m;i++)
{ if (a[i]!=' ')
  {b[j]=a[i] ; j++; }
else  continue; }
b[j]='\0';
for (j=0;j<strlen(b);j++)
cout<<b[j];
cout<<endl;
return 0;
}
或(不对)
#include <iostream>
#include <iostream>
#include <string>
using namespace std;
int main()
{char a[100],b[100];
int i,m,j=0;
char *p=a,*q=b;
cout<<"please input a string:"<<endl;
(a,100);
for (p=a,i=0;i<strlen(a);i++)
  {if (*(p+i)!=' ')
{*(q+j)=*(p+i);j++;}
  else
    continue;}
*(b+j)='\0';
for (q=b,j=0;j<strlen(b);j++)
cout<<*(q+j);
cout<<endl;
return 0;
}
或:
using namespace std;
int main()
{char a[100];
int i;
char *p=a;
cout<<"please input a string:"<<endl;
(a,100);
for (p=a,i=0;i<strlen(a);i++)
  if (*(p+i)!=' ')
    cout<<*(p+i);
  else continue;
  cout<<endl;
return 0;
}1. 从键盘上输入一个字符,输出其对应的ASCII值。
2.有一分段函数写一程序,输入x的值,输出相应y的值。
                      x      (x<1) 
                y=    2x-1  (1x<10) 
  3x-11  (x10)
3.编写程序,其功能是:输入一个字符串,将其中的所有数字删除、输出改动后的字符串及其长度,例如输入:ab123df354ADFx193输出abdfADFx  8
4.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
5.求Fibonacci数列的前40个数,并按照4列一行输出。
6.编一程序,求1!+2!+3!+…+10!之和。
7.编一程序,将输入数据按小于10,10~99,100~999,1000 以上分类并显示。例如,输入358时,显示358 is 100 to 999。
8.编一程序,求满足如下条件的最大的n 。
    12+22+32+…+n2≤1000
9.编程求100以内的偶数之和。
10.用冒泡法对10个整数排序。
11.两个函数,分别求两个整数的最大公约数和最小公倍数,用main函数调用这两个函数,并输出结果,两个整数由键盘输入。
12.利用指针实现将5个整数输入到数组a中,然后将a逆序复制到数组b中,并输出b中各单元的值。
一、单项选择题(每小题2分,共50分)
1.根据C++语言的语法规则,下列选项中,(    ) 项是不合法的标识符。
A )  day          B)  radius          C)  $abc        D)  y_1
2.执行int a=10,ch=’2’,b=5; 后,表达式(ch>’C’ && a && a>=b)的值是(    )
A) 0            B) “假”          C) 1              D) “真”
3.设有int a=5,d;语句,则执行语句d=1.1*30/++a后,d的值是(      )
A ) 6            B ) 5              C ) 6.6          D ) 5.5
4.下面有关编译预处理命令的说法,哪个是错误的(      )
A ) 编译预处理命令可以提高编程效率  B ) C++编译预处理命令包括宏定义命令
    C ) 在一行中可写多条编译预处理命令  D ) 编译预处理命令不是C++的语句
5.下面关于C++程序书写格式的说法哪个是错误的(        )
A ) 一般一行写一条语句          B ) 一行可写多条语句
C ) 一条语句可以写在多行上        D ) 一行必须写一条语句
6.已知:int a[10],*p,b; 下面(        )是合法的。
A)  a[10]=10        B) b=a[10]            C)  a = p        D) p=a
7. 有以下语句: int  x[]={2,4,6,8,10},*pp=x;则对数组元素的不正确引用是(        )
A)*p++          B)  *(p--)            C)  x[6]          D)  *(++p)
8C++语言的标识符只能由字母、数字和下划线三种字符组成,且第一个字符(        )
A) 必须为字母。                B) 必须为下划线
C) 必须为字母或下划线            D) 可以是字母、数字和下划线中中任意一种字符。
9. int a = 10, b = 11, c = 12;表达式( a + b ) < c && b ! = c的值是(      )
A) 2                B) 0                C)-2              D)  1
10.设有数组定义:char array[10]=computer则数组所占的空间为(      )
A) 10个字节        B) 9个字节          C) 8个字节      D) 7个字节
11下列关于复合赋值运算符的描述,(      )是错误的。
A)  a-=7等价于a=a-7              B) a*=b+5等价于a=a*b+5 
C)  a/=b-3等价于a=a/(b-3)        D)使用复合赋值运算符可以提高计算速度
12. 变量的指针,其含义是指该变量的(       )
A)值                B)地址              C)名              D)一个标志
13. 下列数组定义中,会产生错误的是(       
A) int a[] = {‘0’,’1’,’2’,’3’,’4’,’5’,’6’};
Bint a[10] = {1,2,3,4,5,6};
Cchar a[5] = hello;
D) char a[5] = {‘h’,’e’,’l’,’l’,’o’};
14. 若有说明int a[3][4]={0};”,则下面正确的是(     
A ) 只有元素a[0][0]可得到初值0
B )此说明语句不正确
C )数组a各元素都可得到初值,但其值不一定是0
D ) 数组a中每个元素均可得到初值0
15.  以下不能正确定义二维数组的语句是(      )。
Aint  a[2][2]={{1},{2}};            Bint  a[ ][2]={1,2,3,4} ;
Cint  a[2][ ]={{1,2},{3,4}};        Dint  a[2][2]={{1},2,3};
16. 有以下程序:
int main()
{ int a[][3]={1,4,7,2,5,8,3,6,9};
  int i,j=2;
  for(i=0;i<3;i++)
      { cout <<a[j][i];}
  return 0;}
执行结果是(     
A) 456            B ) 258            C) 369          D)  789

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。