C语言复习习题及答案.ppt
《C语言复习习题及答案.ppt》由会员分享,可在线阅读,更多相关《C语言复习习题及答案.ppt(85页珍藏版)》请在三一办公上搜索。
1、数组 习题,数组 习题,单项选择题,1在下列数组定义、初始化或赋值语句中,正确的是.A)int a8;a8=100;B)int x5=1,2,3,4,5,6;C)int x=1,2,3,4,5,6;D)int n=8;int scoren;2若已有定义:int i,a100;则下列语句中,不正确的是.A)for(i=0;i100;i+)ai=i;B)for(i=0;i100;i+)scanf(%d,C,C,返回目录,数组 习题,单项选择题,3与定义char c=GOOD;不等价的是.A)char c=G,O,O,D,0;B)char c=GOOD;C)char c4=GOOD;D)char c
2、5=G,O,O,D,0;4若已有定义:char c8=GOOD;则下列语句中,不正确的是.A)puts(c);B)for(i=0;ci!=0;i+)printf(%c,ci);C)printf(%s,c);D)for(i=0;ci!=0;i+)putchar(c);,C,D,数组 习题,单项选择题,5若定义a 3=0,1,2,3,4,5,6,7;则a数组中行的大小是.A)2B)3C)4D)无确定值6以下程序的运行结果是.#include void f(int b)int i=0;while(bi=10)bi+=2;i+;A)2 7 12 11 13 9 B)1 7 12 11 13 7C)1
3、7 12 11 13 9 D)1 7 12 9 13 7,B,B,main()int i,a=1,5,10,9,13,7;f(a+1);for(i=0;i6;i+)printf(%4d,ai);,数组 习题,单项选择题,7若执行以下程序段,其运行结果是.char c=a,b,0,c,0;printf(%sn,c);A)ab cB)abC)abcD)ab8数组名作为参数传递给函数,作为实际参数的数组名被处理为.A)该数组长度 B)该数组元素个数C)该函数中各元素的值D)该数组的首地址11当接受用户输入的含空格的字符串时,应使用函数.A)scanf()B)gets()C)getchar()D)ge
4、tc(),D,D,B,数组 习题,单项选择题,9执行下面的程序段后,变量k中的值为.int k=3,s2=1;s0=k;k=s1*10;A)不定值B)33C)30 D)010在定义int a54;之后;对a的引用正确的是.A)a24B)a50 C)a00D)a0,0,D,C,数组 习题,程序填空题,1以下程序用来检查二维数组是否对称(即:对所有i,j都有aij=aji)。#include main()int a44=1,2,3,4,2,2,5,6,3,5,3,7,8,6,7,4;int i,j,found=0;for(j=0;j4;j+)for(i=0;i4;i+)if(_)found=_;b
5、reak;if(found)break;if(found)printf(不对称n);else printf(对称n);,aij!=aji,1,数组 习题,程序填空题,2以下程序是用来输入5个整数,并存放在数组中,找出最大数与最小数所在的下标位置,并把两者对调,然后输出调整后的5个数。#include main()int a5,t,i,maxi,mini;for(i=0;iamaxi)_【5】_;printf(最小数的位置是:%3dn,mini);printf(最大数的位置是:%3dn,maxi);t=amaxi;_【6】_;amini=t;printf(调整后的数为:);for(i=0;i5;
6、i+)printf(%d,ai);printf(n);,0,amini ai,maxi=i,amaxi=amini,数组 习题,程序填空题,3给定一3 x 4的矩阵,求出其中的最大元素值,及其所在的行列号:main()int i,j,row=0,colum=0,max;static int a34=1,2,3,4,9,8,7,6,10,-10,-4,4;_【7】_;for(i=0;i=2;i+)for(j=0;j=3;j+)_【8】_;_【9】_;printf(%d%d,row,colum);,max=a00,if(aijmax),max=aij;row=i;colum=j;,数组 习题,程序
7、填空题,4下述函数用于确定给定字符串的长度,请完成程序。strlen(char s)int i=0;while(_【10】_)+i;return(_【11】_);,si!=0,i,数组 习题,程序填空题,5以下程序的功能是从键盘上输入若干个字符(以回车键作为结束)组成一个字符数组,然后输出该字符数组中的字符串,请填空!#includemain()char str81;int i;for(i=0;i80;i+)stri=getchar();if(stri=n)break;stri=0;_【12】_;while(stri!=0)putchar(_【13】_);,i=0,stri+,数组 习题,阅读
8、程序并写出运行结果,1写出下列程序的运行结果并分析之:#include main()static int a45=1,2,3,4,0,2,2,0,0,0,3,4,5,0,0,6,0,0,0,0;int j,k;for(j=0;j4;j+)for(k=0;k5;k+)if(ajk=0)break;printf(%d,ajk);printf(n);,数组 习题,阅读程序并写出运行结果,2写出下列程序的运行结果并分析之:#include main()int a66,i,j;for(i=1;i6;i+)for(j=1;j6;j+)aij=i*j;for(i=1;i6;i+)for(j=1;j6;j+)
9、printf(%-4d,aij);printf(n);,数组 习题,阅读程序并写出运行结果,3写出下列程序的运行结果并分析之:#include main()int a=1,2,3,4,i,j,s=0;j=1;for(i=3;i=0;i-)s=s+ai*j;j=j*10;printf(s=%dn,s);,数组 习题,阅读程序并写出运行结果,4写出下列程序的运行结果并分析之:#include main()int a=0,2,5,8,12,15,23,35,60,65;int x=15,i,n=10,m;i=n/2+1;m=n/2;while(m!=0)if(xai)i=i+m/2+1;m=m/2;
10、elsebreak;printf(place=%d,i+1);,数组 习题,阅读程序并写出运行结果,5写出下列程序的运行结果并分析之:#include main()int a=1,2,3,4,i,j,s=0;j=1;for(i=3;i=0;i-)s=s+ai*j;j=j*10;printf(s=%dn,s);,数组 习题,阅读程序并写出运行结果,6写出下列程序的运行结果并分析之:#include main()char str=1a2b3c;int i;for(i=0;stri!=0;i+)if(stri=0,数组 习题,编程题,1编一程序用简单选择排序方法对10个整数排序(从大到小)。排序思路
11、为:首先从n个整数中选出值最大的整数,将它交换到第一个元素位置,再从剩余的n-1个整数中选出值次大的整数,将它交换到第二个元素位置,重复上述操作n次后,排序结束。2编写一程序,实现两个字符串的连接(不用strcat()函数)。3编写一个把字符串转换成浮点数的函数。4若有说明:int a34 1,2,3,4,5,6,7,8,9,10,11,12;现要将a的行和列的元素互换后存到另一个二维数组b中。试编程。5n皇后问题:在n*n的方阵棋盘上,试放n个皇后,每放一个皇后,必须满足该皇后与其它皇后互不攻击(即不在同一行、同一列、同一对角线上),求出所有可能解。6背包问题:有一个背包,能装入的物品总重量
12、为S,设有N件物品,其重量分别为W1,W2,WN。希望从N件物品中选择若干件物品,所选物品的重量之和恰能放入该背包,即所选物品的重量之和等于S。试编程求解。,数组 习题,编程题,参考源码:,函数 习题,函数习题,单项选择题,C语言中函数形参的缺省存储类型是.A)静态(static)B)自动(auto)C)寄存器(register)D)外部(extern)函数调用语句function(exp1,exp2),18)中含有的实参个数为.A)0 B)1 C)2D)3,B,C,返回目录,函数习题,单项选择题,下面函数返回值的类型是.square(float x)return x*x;A)与参数x的类型相
13、同B)是void型C)无法确定 D)是int型C语言规定,程序中各函数之间.A)不允许直接递归调用,也不允许间接递归调用B)允许直接递归调用,但不允许间接递归调用C)不允许直接递归调用,但允许间接递归调用D)既允许直接递归调用,也允许间接递归调用,D,D,函数习题,单项选择题,一个函数返回值的类型取决于.A)return语句中表达式的类型 B)调用函数时临时指定 C)定义函数时指定或缺省的函数类型 D)调用该函数的主调函数的类型下面叙述中,错误的是.A)函数的定义不能嵌套,但函数调用可以嵌套 B)为了提高可读性,编写程序时应该适当使用注释 C)变量定义时若省去了存储类型,系统将默认其为静态变量
14、 D)函数中定义的局部变量的作用域在函数内部,C,C,函数习题,单项选择题,7)在一个源程序文件中定义的全局变量的有效范围为.A)一个C程序的所有源程序文件 B)该源程序文件的全部范围 C)从定义处开始到该源程序文件结束 D)函数内全部范围某函数在定义时未指明函数返回值类型,且函数中没有return语句,现若调用该函数,则正确的说法是.A)没有返回值B)返回一个用户所希望的值 C)返回一个系统默认值D)返回一个不确定的值,C,D,函数习题,单项选择题,9)函数swap(int x,int y)可实现对x和y值的交换。在执行如下定义及调用语句后,a和b的值分别为.int a=10,b=20;sw
15、ap(a,b);A)10和10B)10和20C)20和10D)20和20 下面错误的叙述是.A)在某源程序不同函数中可以使用相同名字的变量 B)函数中的形式参数是局部变量 C)在函数内定义的变量只在本函数范围内有效 D)在函数内的复合语句中定义的变量在本函数范围内有效,B,D,函数习题,程序填空题,1求s=1!+2!+3!+10!之和。程序如下:#include long int factorial(int n)int k=1;long int p=1;for(k=1;k=n;k+)_;return p;,main()int n;float sum=0;for(n=1;n=10;n+)_;pr
16、intf(%6.3fn,sum);,p=p*k,sum+=factorial(n),或sum=sum+factorial(n),函数习题,程序填空题,2以下函数用以求x的y次方。double fun(double x,int y)int i;double m=1;for(i=1;i_;i+)m=_;return m;,=y,或y+1,m*x,函数习题,程序填空题,3下面定义了一个函数pi,其功能是根据以下的近似值公式来求值:,#include#include double pi(long n)double s=_;long k;for(k=1;k=n;k+)s=s+_;return(_);,0
17、,1/(k*k),sqrt(6*s),答案不唯一,因为若初值不同,则有不同的答案组合。,函数习题,阅读程序并写出运行结果,1下面程序运行的结果是_:#include#define MAX_COUNT 4void fun();main()int n;for(n=1;n=MAX_COUNT;n+)fun();,void fun()static int k;k=k+2;printf(%d,k);,2,4,6,8,函数习题,阅读程序并写出运行结果,2下面程序运行的结果是_:#include int fun(int x)int s;if(x=0|x=1)return 3;s=x-fun(x-3);ret
18、urn s;main()printf(%dn,fun(3);,0,函数习题,阅读程序并写出运行结果,3下面程序运行的结果是_:#include unsigned int fun(unsigned num)unsigned int k=1;dok=k*num%10;num=num/10;while(num);return k;,main()unsigned n=25;printf(“%un”,fun(n);,0,函数习题,阅读程序并写出运行结果,4下面程序运行的结果是_:#include int fun(int x,int y)static int m=0,n=2;n+=m+1;m=n+x+y;
19、return m;,main()int j=4,m=1,k;k=fun(j,m);printf(%d,k);k=fun(j,m);printf(%dn,k);,8,17,函数习题,阅读程序并写出运行结果,5下面程序运行的结果是_:#include void t(int x,int y,int p,int q)p=x*x+y*y;q=x*x-y*y;main()int a=4,b=3,c=5,d=6;t(a,b,c,d);printf(%d,%dn,c,d);,5,6,函数习题,编程题,1编程实现从键盘输入一整数,如果该整数为素数,则返回1,否则返回0。要求单独编写一个求素数的自定义函数。,函数
20、习题,编程题,2编写一函数change(x,r),将十进制整数x转换成r(1r10)进制后输出。,int change(int x,int r)int temp,result=0,count=0;dotemp=x%r;printf(“%dn,temp);/*结果的逆序输出*/result=result+temp*pow(10,count+);x=x/r;while(x);return result;,函数习题,编程题,3求1000以内的亲密数对。亲密数对的定义为:若正整数a的所有因子(不包括a本身)之和为b,b的所有因子(不包括b本身)之和为a,且ab,则称a与b为亲密数对。,函数习题,编程题
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 复习 习题 答案
链接地址:https://www.31ppt.com/p-5426287.html