级CC++总复习.docx
《级CC++总复习.docx》由会员分享,可在线阅读,更多相关《级CC++总复习.docx(15页珍藏版)》请在冰豆网上搜索。
级CC++总复习
2008级C/C++总复习
一、填空(每空1分,共10分)
1、一个C语言函数由两部分组成,分别是:
——————————————、—————————————————。
2、C语言函数的函数体一般由两部分构成,分别是:
——————和——————————。
3、一个程序往往包括四部分的内容,它们分别是——————、——————、——————————和——————————。
4、一个算法的有5个特点,分别是有穷性、——————、有零个或多个输入、——————————和有效性。
5、结构构成算法的基本单元,常用的三种基本结构有顺序结构、————————和————————。
6、C语言中数据的基本类型有四种,分别是整型、——————、实型和——————。
7、C语言中的构造类型有三种,分别是——————、结构体类型和——————。
8、写出下列数据类型的取值范围,int______________________;shot______________________;long_______________;float____________________。
9、写出下列字符在C语言中的表示形式,换行————;回车————;\_____________;’_____________。
10、floatx=3.9,y=4.7;写出将x+y强制转换为整型的表达式:
————————。
11、inta=12;写出a*=2+3该表达式的返回值:
——————。
12、5>3&&8<9-!
0该表达式的返回值:
——————。
13、已知变量year表示某年的年份,写出判断该年是闰年的表达式:
——————————————————————。
14、写出下列系统函数所在的头函数库,puts()___________;getchar()______________;fabs()____________;strlen()______________。
15、变量的存储类别有四种,分别是auto、________、_________和extern.
16、将NUMBER定义为一个符号常量,其值为80。
———————————————
17、定义一个指针变量px,并使其指向double类型的x变量。
doublex;
______________
18、定义一个学生信息的结构体,包括学号、姓名、性别、年龄、成绩和籍贯六个成员,并定义出该结构类型的两个变量st1,st2。
structstudent
{intnum;
charname[10];
charsex;
_________;
floatscore;
_____________;
};
19、定义了一个共用体及其变量a如下:
union
{intx;
charc;
}a;
a.x=65;
则,a.c=_________(P288)
20、定义了一个枚举类型的变量如下:
enumweek{sun,mon,tue,wed,thu,fri,sat}w1;
则,w1=wed;的返回值是_________。
二、选择题(每题2分,共20分)
1、正确的自定义标识符是()
A.a=2B.a+bC.nameD.default
2、错误的转义字符是()
A.'\091'B.'\\'C.'\0'D.'\''
3、inta,b,c;执行表达式a=b=1,a++,b+1,c=a+b--后,a,b和c的值分别是()
A.2,1,2B.2,0,3C.2,2,3D.2,1,3
4、在C语言中,错误的常数是()
A.1E+0.0B.5.C.0xafD.0L
5.下面运算符优先级最高的是()
A.<=B.=C.%D.&&
6.若数组名作实参而指针变量作形参,函数调用实参传给形参的是()
A.数组的长度B.数组第一个元素的值
C.数组所有元素的值D.数组第一个元素的地址
7.变量的指针含意是指变量的()
A.值B.地址C.存储D.名字
8.设intk;则语句for(k=0;k=1;k++);和语句for(k=0;k==1;k++);执行的次数分别是()
A.无限和0B.0和无限C.都是无限D.都是0
9.某文件中定义的静态全局变量(或称静态外部变量)其作用域是()
A.只限某个函数B.本文件C.跨文件D.不限制作用域
10.设struct{inta;charb;}Q,*p=&Q;错误的表达式是()
A.Q.aB.(*p),bC.p->aD.*p.b
11.C语言的关键字是( )
A.NULL B.file C.include D.typedef
12.正确的自定义标识符是( )
A.if B.a*b C.iF D.8pq
13.存储字符串"a\nb"所用的字节数是( )
A.1 B.2 C.3 D.4
14.在C语言中,正确的说法是( )
A.函数内部和外部定义的变量同名是合法的
B.只要形参和实参都是变量,那么形实结合一定是地址传递
C.变量的定义和声明(也称说明)功能是相同的
D.没有return的函数就失去了返回功能
15.设inta=0,b=5;执行表达式++a||++b,a+b后,a,b和表达式的值分别是( )
A.1,5,7 B.1,6,7 C.1,5,6 D.0,5,7
16.关系表达式a≤x
A.a<=x=a&&x=a||x
(x=b)
17.设inta[3][2];能正确表示a数组元素地址的是( )
A.a[1] B.a[3] C.*a[2] D.&a[3][2]
18.设inta=3,b=4;执行printf("%d,%d",(a,b),(b,a));后的输出结果是( )
A.3,4 B.4,3 C.3,3 D.4,4
19.设chars[10],*p;正确的操作语句是( )
A.p="MBA"; B.s++; C.s="MBA"; D.s[]="MBA";
20.设inta[5][5],*b[5],(*c)[5]=a;则被分别称为是( )
A.数组、数组指针、指针数组 B.数组、指针数组、指针函数
C.数组、数组指针、函数指针 D.数组、指针数组、数组指针
21.算法具有五个特性,以下选项中不属于算法特性的是B
(A)有穷性(B)简洁性(C)可行性(D)确定性
22.以下选项中可作为C语言合法常量的是A
(A)-80.(B)-080(C)-8e1.0(D)-80.0e
23.以下叙述中正确的是C
(A)用C语言实现的算法必须要有输入和输出操作
(B)用C语言实现的算法可以没有输出但必须要有输入
(C)用C程序实现的算法可以没有输入但必须要有输出
(D)用C程序实现的算法可以既没有输入也没有输出
24.以下不能定义为用户标识符是D
(A)Main(B)_0(C)_int(D)sizeof
25.以下选项中,不能作为合法常量的是B
(A)1.234e04(B)1.234e0.4(C)1.234e+4(D)1.234e0
26.数字字符0的ASCII值为48,若有以下程序C
main()
{chara='1',b='2';
printf("%c,",b++);
printf("%d\n",b-a);}
程序运行后的输出结果是
(A)3,2(B)50,2(C)2,2(D)2,50
27.有以下程序A
main()
{intm=12,n=34;
printf("%d%d",m++,++n);
printf("%d%d\n",n++,++m);
}
程序运行后的输出结果是
(A)12353514(B)12353513(C)12343514(D)12343513
28.有以下语句:
intb;charc[10];,则正确的输入语句是B
A)scanf("%d%s",&b,&c);B)scanf("%d%s",&b,c);
c)scanf("%d%s",b,c);D)scanf("%d%s",b,&c);
29.有以下程序A
main()
{intm,n,p;
scanf("m=%dn=%dp=%d",&m,&n,&p);
printf("%d%d%d\n",m,n,p);
}
若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是
A)m=123n=456p=789B)m=123n=456p=789
C)m=123,n=456,p=789D)123456789
30.有以下程序B
main()
{inta,b,d=25;
a=d/10%9;b=a&&(-1);
printf("%d,%d\n",a,b);
}
程序运行后的输出结果是
A)6,1B)2,1C)6,0D)2,0
三、根据题目的功能,补充完整下列程序(每题5分,共20分)
1.输出下列图形。
123456789
23456789
3456789
456789
56789
6789
789
89
9
main()
{inti,j;
for(i=1;i<=_________;i++)
for(j=_________;j<=9;j++)
printf("%2d",j);
printf("\n");
}
2.输出下列图形。
1
13
13 5
13 5 7
13 5 7 9
1 3 5 7 9 11
main()
{inti,j;
for(i=1;i<=___;i++)
{for(j=1;j<=____;j+=2)
printf("%3d",j);
printf("\n");
}
}
3.求整型数组a[10]中模3余2的所有元素。
main()
{inta[10]={1,2,3,11,5,7,33,23,21,43};
inti;
for(i=0;_______;i++;)
if(_________________)
printf(“%4d”,a[i]);
printf(“\n”);
}
4.输入3个实数a,b,c,要求按由小到大的顺序输出。
main()
{
floata,b,c,t;
scanf(“%f%f%f”,&a,&b,&c);
if(a>b)
{_____________________________________________}
if(a>c)
{t=a;a=c;c=t;}
if(____________)
{t=b;b=c;c=t;}
printf(“%5.f,%5.2f