《山东交通学院C++程序设计复习题及参考答案.docx》由会员分享,可在线阅读,更多相关《山东交通学院C++程序设计复习题及参考答案.docx(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C+程序设计A复习题一、单选题(每小题5分,共计60分)1. 一个C程序的执行是从(A)oA.本程序的main函数开始,到main函数结束B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本程序的第一个函数开始,到本程序main函数结束2 .已知各变量的类型说明如下: int k, a, b;unsigned long w=5;double x=l. 5;则以下不符合C语言语法的表达式是(B )oA. w+=-2B. x%(-3)C. k二(a二2, b=3, a+b) D. x= (double) (w)3 .设下面
2、程序的输出结果是(B)o ttinclude void main ()(int a=5, b=3;printf (%dn, a=a/b);A. 5 B. 1C. 3D. 24 .若x为int型,则下面与逻辑表达式!x等价的C语言关系表达式是(C)oA. x=lB. x!=lC. x=0D. x!=0.5 .以下程序的运行结果是(B)o#include void main()int a=3, b=-l, c=l;if (ab)if(b0) c=0;else c+;printfc);A. 0B. 1C. 2D. 36 .下面程序的输出结果是(C)o#include void main()(int
3、a, b;for (a=l, b=2;b5;b+)a+=b;printf(%dn, a);)A. 1B. 9C. 10D. 157 .以下对一维整型数组a的说明正确的是(D )oA. int a(10);B. int n=10, an;C. int n; scanf ( %d”,&n) ; int an ; D. int a10;8.下列描述中不正确的是(C)oA.字符型数组中可以存放字符串B.可以对字符型数组中的字符串进行整体输入输出C.可以对实型数组进行整体输入输出D.不能在赋值语句中通过复制运算符“二”对字符型数组进行整体赋值二、填空题(每题10分,共计20分)1 ,下面程序的运行结果是
4、(10, x )o ttinclude struct stru (int x;char ch;);void func(struct stru b)b. x =100;b. ch=n ;)void main() (struct stru a=10,x;func(a);printf (,z%d, %cn,/, a. x, a. ch);2.以下程序的运行结果是(2 )o ttinclude int f (int x, int y)(int z;z=(xy)?x:y;return z;void main()int a=2, b=4, c;c二f (a, b);printf(%dn,c);1 .证明求
5、斐波那数列的前20项,然后按每行5个数据的格式输出。斐波那数列:1,1,2,3,5,8,131答案:ftinclude void main ()(int k, f 20;f0=fl = l;for(k=2;k20:k+)fk=fk-l+fk-2;for (k=0;k20;k+)if (k%5=0) putchar ( n);printf(8d,fk);2 .编写函数f(),统计字符串中数字字符的个数。其中,main。函数已给出,请将程序补充完整。 ttinclude int f(char str)(void main()(char ss80;printf (enter a line chara
6、cters/);gets(ss);printf (级dn,f (ss);)答案:int f(char str)int n=0,k=0;while (str k != 0)if (str k=? O &str k=5 or a=5|a=5&a=5|a=-l5 .以下程序的运行结果是(B )o#include void main ()int a=16, b=21, m=0;switch(a%3)case 0: m+;break;case 1: m+;switch(b%2)(case 0: m+; break;default: m+;)printf (%dn, m);)A . 1B. 2C. 3D.
7、 4.6 .下面程序的运行结果是(A )o#include void main()int a=10, b=0;dob=b+a;a;while(a5);printf (dn,b);)A. 40B. 45C. 34D. 557 .以下对二维整型数组a进行正确说明是(A )oA. int a34;B. float a(3, 4); C. double a3; D. float a(3) (4);8,设有如下定义,则下面叙述正确的是(D )。char a二” ABCDEF” ;char b = A ,B , C , D , E , F ;A. a和b完全相同B. a和b只是长度相等C. a和b不同,a
8、是指针数组D. a数组长度比b数组大19.下面叙述不正确的是(A )oA.在一个函数内的复合语句中定义的变量只在本函数范围内有效B.在不同的函数中可以使用相同名字的变量C.函数中的形参相当于局部变量D.在一个函数内定义的变量只在本函数范围内有效10.若有定义:int x=5, *p,则使p指向x的赋值表达式是(C)oA. *p=&xB. p=xC. p=&xD. *p=xA. (*p). data, a B. (*p). aC. p-data. a D. p. data, a二、填空题(每题10分,共计20分。)1 .下面程序的输出结果是(33 )ottinclude long f (int
9、n)long t;if (n=l)t=l;elset=n*f(n-1);return t;)int main()long s=0;int i;for(i=l;i5;i+)s+=f (i);三、编程题(20分。)编写函数f(),求1+3+5+7+n.在main()函数中输入n的值(要求为奇数),调用函数求和并 输出结果。答案:#include int f(int n)(int s=0,k;for(k=l ;k=n;k+=2)s+=k;return s;void main()(int m, sum;printf(Henter a odd number:11);scanf(n%dH,&m);sum=f(m);printf(H%dnH,sum);