选择
| 题号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |
|---|---|---|---|---|---|---|---|---|---|---|
| 答案 | B | A | C | D | B | C | D | C | A | |
| 题号 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 答案 | A | D | B | C | D | C | D | D | D | B |
以下叙述正确的是( )。
A.在对一个C++程序进行编译的过程中,可发现注释中的拼写错误
B.在C++程序中,main函数只能有一个
C.C++程序中不区分大小写字母
D.C++程序的每行只能写一条语句
一个最简单的C++程序可以只有一个( )。
A.main函数 B.库函数 C.空函数 D.类的成员函数
下列不属于面向对象方法的基本特征的是( )。
A.封装性 B.多态性 C.模块性 D.继承性
下列概念中不属于面向对象程序设计方法的是( )。
A.对象 B.继承 C.类 D.过程调用
用C++语言编写的程序( )。
A.可立即执行 B.是一个源程序
C.经过编译即可执行 D.经过编译解释才能执行
以下不正确的叙述是( )。
A.在C++程序中,逗号运算符的优先级最低
B.在C++程序中,count和Count是两个不同的变量
C.在定义变量时,必须给变量赋初值
D.表达式1/3+1/3+1/3的结果为0
下列关于C++用户标识符的叙述中,正确的是( )。
A.用户标识符中可以出现下划线和减号
B.在C++程序中,可以把for定义为用户标识符,但不能把define定义为用户标识符
C.用户标识符中可以出现下划线,但不能放在用户标识符的开头
D.用户标识符中可以出现数字,但不能放在用户标识符的开头
设变量a是整型,f是实型,i是双精度型,则表达式a+’a’+i*f值的数据类型为( )。
A. int B. float C. double D. char
在以下选项中,与k=n++完全等价的表达式是( )。
A.k=n,n=n+1 B.n=n+1,k=n C.k=++n D.k+=n+1
设有程序段
int k=10;
while(k) k=k-1;
则下面描述中正确的是( )。
A.while循环执行10次 B.循环是无限循环
C.循环体语句一次也不执行 D.循环体语句执行一次
下列循环语句中有语法错误的是( )。
A.while(x=y) 5; B.while(0);
C.do 2; while(x==b); D.do x++ while(x==10);
对for(表达式1;;表达式3)可理解为( )。
A.for(表达式1;0;表达式3) B.for(表达式1;1;表达式3)
C.for(表达式1;表达式1;表达式3) D.for(表达式1;表达式3;表达式3)
下列说法中正确的是( )。
A.break用在switch语句中,而continue用在循环语句中
B.break用在循环语句中,而continue用在switch语句中
C.break能结束循环,而continue只能结束本次循环
D.continue能结束循环,而break只能结束本次循环
C++规定,函数返回值的类型是由( )。
A.return语句中的表达式类型所决定 B.调用该函数时的主调函数类型所决定
C.调用该函数时系统临时决定 D.在定义该函数时所指定的函数类型所决定
对于某个函数调用,不用给出被调用函数的原型的情况是( )。
A.被调用函数是无参函数 B.被调用函数是无返回值的函数
C.函数的定义在调用处之前 D.函数的定义在别的程序文件中
以下正确的函数定义形式是( )。
A.
double fun(int x;int y)
B.
fun(int x,y)
{z=x+y;return z;} {int z;return z;}
C.
fun(x,y)
D.
double fun(int x,int y)
{int x,y; double z; {double z;
z=x+y; return z;} z=x+y; return z;}
关于全局变量,下列说法正确的是( )。
A.任何全局变量都可以被应用系统中任何程序文件中的任何函数访问
B.任何全局变量都只能被定义它的程序文件中的函数访问
C.任何全局变量都只能被定义它的函数中的语句访问
D.全局变量可用于函数之间传递数据
以下不正确的说法是( )。
A.在不同函数中可以使用相同名称的变量
B.形式参数是局部变量
C.在函数内定义的变量只在本函数范围内有效
D.在函数内的复合语句中定义的变量在本函数范围内有效
在参数传递过程中,对形参和实参的要求是( )。
A.函数定义时,形参一直占用存储空间
B.实参可以是常量、变量或表达式
C.形参可以是常量、变量或表达式
D.形参和实参类型和个数都可以不同
填空
应用程序jisuan.cpp中只有一个函数,这个函数的名称是main。
一个函数由 函数头和函数体两部分组成。
C++程序的语句结束符是 分号( 或 ;) 。
在C++语言的结构化程序设计中, 函数是程序的基本组成单元;在C++语言的面向对象设计中, 类是程序的基本组成单元。
设有如下语句:
int n=10;则n++的结果是10 ,n的结果是11 。
执行下列语句后,a的值是 -264。
int a=12; a+=a-=a\*a;与m%n等价的C++表达式为m-m/n\*n 。
执行语句for(i=1;i++\<4;);后,变量i的值是 5。
- 执行下面程序段后,k值是 36。
k=1;
n=263;
do
{
k\*=n%10;
n/=10;
}while(n);
C++规定,简单变量做实参时,它和对应形参之间的数据传递方式是 值传递。
编写程序,输入a、b、c三个数,输出最大者。所编程序如下,请将缺少的部分补齐。
int main()
{
int a, b, c, t = 0;
cout<< “输入三个数:”<<endl;
cin>>a>>b>>c;
if( a > b ){t=a; a=b; b=t;}
if( _____ ){t=a; a=c; c=t;}
if( b > c ){ ____________;}
cout<< “最大数为:”<< ______ <<endl;
return 0;
}
答案:
a>c;
t=b; b=c; c=t;
c ;
读程序
- 程序1:
#include <iostream>
using namespace std;
int main()
{
int n,a=0,b=0;
cout<<"输入n:";
cin>>n;
switch (n)
{
default: a+=n,b-=n;
case 0:b++;
case 1:a++;
case 2:a++,b++;
}
cout<<"a="<<a<<",b="<<b<<endl;
}
输入n的值为4,请写出程序的运行结果:
a=6,b=-2
- 程序2:
#include <iostream>
using namespace std;
int main()
{
int x=15;
while(x>10&&x<50)
{
x++;
if (x/3) {x++;break;}
else continue;
}
cout<<x<<endl;
}
请写出程序的运行结果:
17
- 程序3:
#include <iostream>
using namespace std;
double f(double x,double y)
{
if (x>=y)
return (x+y)/2.0;
else
return f(f(x+2,y-1),f(x+1,y-2));
}
int main()
{
double z;
z=f(1.0,10.0);
cout<<"z="<<z<<endl;
return 0;
}
请写出程序的运行结果:
z=5.5
写程序
输入一个小写字母,输出其对应的大写字母
#include<iostream> using namespace std; int main() { char c; cout<<"请输入一个小写字母"; cin>>c; if(c >= 'a' && c<= 'z') { c = c - 32; } cout<<c<<endl; return 0; }某运输公司在计算运费时,按运输距离(s)对运费打一定的折扣(d),其标准如下:
s<250 没有折扣
250≤s<500 2.5%折扣
500≤s<1 000 4.5%折扣
1 000≤s<2 000 7.5%折扣
2 000≤s<2 500 9.0%折扣
2 500≤s<3 000 12.0%折扣
3 000≤s 15.0%折扣
输入基本运费p,货物重量w,距离s,计算总运费f。总运费的计算公式为f=p×w×s×(1-d)。其中d为折扣,由距离s根据上述标准求得。
#include<iostream> using namespace std; int main() { int p, w, s; float d, f; cout<<"请输入基本运费:"; cin>>p; cout<<"请输入货物重量:"; cin>>w; cout<<"请输入运输距离:"; cin>>s; if(s < 250) { d = 0; } else if(s < 500) { d = 0.025; } else if(s < 1000) { d = 0.045; } else if(s < 2000) { d = 0.075; } else if(s < 2500) { d = 0.09; } else if(s < 3000) { d = 0.12; } else { d = 0.15; } f = p * w * s * (1 - d); cout<<f<<endl; return 0; }在校运会中,1000m长跑项目分为预赛和复赛,预赛中有24名选手参加比赛,最后成绩排名前8名运动员可以进入复赛。请设计一个体育成绩排序程序,可以实现对24名参赛选手成绩的录入和排序,并输出前8名选手的成绩。
#include<iostream> using namespace std; void sort(float a[], int n) { int i, j, k; for(i = 0; i < n-1; i++) { if(a[j]<a[k]) { k = j; } } if(k != i) { float t = a[i]; a[i] = a[k]; a[k] = t; } } int main() { float s[24]; for(int i = 0; i < 24; i++) { cin >> s[i]; } sort(s, 24); for(int i = 0; i < 8; i++) { cout << s[i] << "\t"; } cout << endl; return 0; }定义一个函数,当n是素数时,返回1,否则返回0。在主函数中输入一个整数,并调用判断素数的函数,判断后输出“此数为素数”或“此数不是素数”。
#include<iostream> using namespace std; int isPrimer(int n) { int i; for(i = 2; i < n; i++) { if (n % i == 0) { return 0; } } return 1; } int main() { int m; cout<<"请输入一个正整数"; cin>>m; if(isPrimer(m)) { cout<<"该数是一个素数。"<<endl; } else { cout<<"该数不是一个素数。"<<endl; } return 0; }已知:
\[m = \frac{max(a,b,c)}{max(a+b,b,c)+max(a,b,b+c)}\]其中max(a,b,c)代表a、b、c中的最大数。输入a、b、c,求m的值,要求将max(a,b,c)定义成函数。
#include<iostream> using namespace std; int max(int x, int y, int z) { int t; t = x > y ? x: y; t = t > z ? t: z; return t; } int main() { int a, b, c; float m; cout<<"输入三个数"; cin>>a>>b>>c; m = float(max(a,b,c)) / (max(a+b,b,c)+max(a,b,b+C)); cout << m << endl; }