1.int i=10;float x; 执行x=5/i; 后x的值为 ___c_____。
A.0.5 B.0 C.0.0 D.1.0
2. 以下标识符中,哪一个是C++语言的合法标识符 D A) 2abcd B)int C)a-2c D)_char E)#456xy 3. 以下 C 是不正确的转义字符: A) '\\n' B)‟\\‟‟ C)'061' D)'\\0'
4.执行下面的程序后
# define SQR(X) (X) * (X) void main () { int a=10,K=2,m=1;
a /= SQR(K+m) / SQR(K+m); printf(“%d\\n”,a);
}
输出结果是a=___B____。
A.10 B.1 C.9 D.0
5. 现有定义char str1=\"China\; 则有 B A)strcmp(str1,str2)>0 B)strcmp(str1,str2)<0 C)strlen(str1)=6
D)str1与str2所占存储空间大小一样
6.若在程序中有一个全局标识符,名字为a1,在该程序中有一个局部标识符,名字也为a1,如果在局部标识符范围内访问全局标识符,则该全局标识符应表示为 D 。
A. a1 B. a1:: C.:a1 D.::a1 7. 执行以下程序:
void main (void) {
char c=0;
printf(“%c\\n”,c);}
输出结果是 _____A___。
A.„\\0‟ B.语法错,不能执行 C.0 D.一个空行
8.C++语言对嵌套 if 语句的规定是: else 总是和 A 配对 A)其之前最近的 if B) 缩进位置相同的 if C)第一个 if D) 其之前最近且不带 else 的 if
9.设有定义语句enum aa{add,sub,mul,div}opera;,以下对枚举变量opera的操作中,不正确的是
A opera=(enum aa)2 B cin>>opera
C opera=add+1 D if(opera==sub)cout<<”OK”;
10. 对于下面的几个函数:
void f (int x){…} //1
1
int f (int y) {…} //2 int f (int i,int j) {…} //3 float k (int x) {…} //4
__A______是重载函数。
A. 4个全部 B.1和4 C.2和3 D.3和4
11.以下不正确的描述是A A)在 switch 语句中使用 break 语句或continue语句的作用相同
B)在循环语句中使用 continue 语句是为了结束本次循环,而不是终止整
个循环
C)break 语句不能用于循环语句和 switch 语句之外的任何其他语句 D)在循环语句中使用 break 语句是为了使流程跳出循环体,提前结束循环 12.定义int x=3,执行while(x){printf(“%d”,x);x--;}语句后,最后x的值为: A 。 A) 0 B) 1 C) 3 D)-1
13. 如a=2,b=3,c=-1执行 ++a&&++b||++c; 后, b,c的值分别是 A A)3 -1 B)4 0 C)3 0 D)4 -1 14.若有以下语句,则下面 是正确的描述 static char x[]=\"12345\"; static char y[]={'1','2','3','4','5'}; A)x 数组和 y 数组的长度相同 B)x 数组长度大于 y 数组长度 C)x 数组长度小于 y 数组长度 D)strlen(x)的值与strlen(y)的值不相等 15. 若int a=2,b=3,c=4;则表达式a十b—c? a十b:a十c的值为 c 。 A.0 B.1 C.5 D.6
16.C++语言中while 与do-while语句
A)while的循环当条件成立时执行,而do-while当条件不成立时执行 B)do-while允许从循环外跳至循环体内 C)do-while的循环体至少必须执行一次 D)以上说法都不对
17.C++语言中形参的缺省存储类别是 a
A)自动 B)静态 C)寄存器 D)外部
18.程序中有下面的说明和定义,则会发生的情况是 A …
struct ABC{int x; char y;} …
ABC s1,s2; … A编译时错 B程序将顺利编译、连接、执行
C能顺利编译、连接,但不能执行 D能顺利编译,但连接出错
19.C++语言中的函数___ D _____
A)可以嵌套定义 B)可以嵌套调用,不能递归调用 C)不可以嵌套调用 D)可以嵌套调用,不可以嵌套定义
20.下列程序的运行结果为
2
#include void main() { int k=3 ; { int k=5; k+=1; } f(); k+=1; cout< k+=1; return k; } A)8 B)4 C)6 d) 5 二.填空 1.(1)array是一个一维整型数组,有10个元素,前6个元素的初值是9,4,7,49,32,-5,请写出正确的说明语句。 。 (2)如何用赋值语句把39存入第一个元素。 2.将公式 √s(s-a)(s-b)(s-c)转化为C++语言表达式 3.C++语言中以 作为字符串终止标志. 4.以下程序的输出结果是_ ___。 void main(void) { int x = 3; do{ x-= 2; } 5.阅读下列程序,写出程序执行结果 void inv(int x[],n){ int t,I,j,m=(n-1)/2; for(I=0;I<=m;I++){ j=n-1-I; t=x[I];x[I]=x[j];x[j]=t; } return; } 3 printf(“%d\”,x); }while ( ! (- -x)); void main(){ static int I,a[10]={3,7,9,11,0,6,7,5,4,2}; printf( “the original array:\\n”); //输出可不写 for( I=0; I< 10; I++ ) printf(“%d\”,a[I]); cout< 程序输出结果为 6.下程序的输出结果分别是_____和_____。 int abc(void) { static int j; j+=100; return(j); } void main(void) { printf(“%d\\n”,abc() ); printf(“%d\\n”,abc() ); } 7.以下程序输出的第一至第三行分别是__ _____、 ___ ___和____ __。 void main(void) { int i,flag,j,K,count=0; for(i=5;i<30;i+=2){ flag=2,j=2,K=(int)sqrt(i); while(flag&&j<=K) if(i%j==0) flag=0; else j++; if(flag){ printf(“%d”,i); if(++count%3==0) printf(“\\n”); } } } 三.完善程序 4 1.以下程序从读入的整数数据中,统计大于零的整数个数和小于零的整数个数.用输入零来结束输入,程序中用变量i统计大于零的整数个数,用变量j统计小于零的整数个数.请填空. void main() { int n,i,j; printf(\"输入非零的整数(输入零结束程序)\"); i=j=0; printf(“%d”,&n); while { if(n>0) i= ; if(n<0) j= ; ; } printf(\"i=%d, j=%d\\n\ } 2.下面函数的功能是求N个数之和的递归函数(即1+2+3+…..+n) int sum(int n) { if( ) return 1; else return ; } 3.下列函数实现字符串a,b的连接 void stringcat(char a[],char b[]) { int i=0,j=0; while( )i++; while(b[j]!='\\0') { ;i++;j++;} ; } 4.斐波拉契数列中的头两个数是0和1,从第三个数开始,每个数等于前两个数的和,即:0,1,1,2,3,5,8,13,21,...等。下面这个程序就是求斐波拉契数列的前20个数。请填空。 #include int f,f1,f2,i; f1=0;f2= 1 ; printf(“%d\%d\”,f1,f2); for(i=3;i<=20; ) { f= ; 5 printf(“%d\”,f); f1=f2; f2= ; } } 5.以下程序实现在N*N方阵中找出主、次对角线上的最大值、请填空。 #define N 3 void main() { int x[N][N]={1,5,7,4,2,6,4,3,8}; int i,j,row=0,col=0; for(i=0;i void sort(int b[]) { int temp; for (int i=0;i<9;i++) for(int j=i+1; ; ) if( ) { temp=b[j]; b[j]=b[j+1]; ; } } 6 因篇幅问题不能全部显示,请点此查看更多更全内容