C语言考试综合题

上传人:汽*** 文档编号:473451410 上传时间:2022-12-31 格式:DOC 页数:58 大小:173KB
返回 下载 相关 举报
C语言考试综合题_第1页
第1页 / 共58页
C语言考试综合题_第2页
第2页 / 共58页
C语言考试综合题_第3页
第3页 / 共58页
C语言考试综合题_第4页
第4页 / 共58页
C语言考试综合题_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《C语言考试综合题》由会员分享,可在线阅读,更多相关《C语言考试综合题(58页珍藏版)》请在金锄头文库上搜索。

1、一、单选题1、有以下程序#define N 20 fun(int a,int n,int m) int i,j; for(i=m;i=n;i-) ai+1=ai; main() int i,aN=1,2,3,4,5,6,7,8,9,10; fun(a,2,9); for(i=0;i5;i+) printf(%d,ai); 程序运行后的输出结果是_。 A:10234 B:12344 C:12334 D:12234答案:C评析:本题考查的是循环的嵌套。本题函数fun的作用是将指定的数组元素(从下标n到下标m)向后移一位。由函数调用fun(a,2,9);可知,函数fun用于将a2到a9的各元素依次向

2、后移一位,移完后,a数组中各元素的值分别为1,2,3,3,4,5,6,7,8,9,10,故输出的前5个数组元素为12334。故本题答案为C。等级:1 难度:1 区分度:1出题人:文本导入 修改人: 审核人: 创建时间:2008-06-25 最后修改时间: 知识点:没有定义2、有以下程序#define P 3 void F(int x)return(P*x*x); main() printf(%dn,F(3+5);程序运行后的输出结果是_。 A:192 B:29 C:25 D:编译出错答案:D评析:本题考查的是宏定义。return语句用于从被调函数带回一个函数值。void关键字表示无类型,即不需

3、要从被调函数中带回函数值,所以不需要return语句,故编译时出错。故本题答案为D。等级:1 难度:1 区分度:1出题人:文本导入 修改人: 审核人: 创建时间:2008-06-25 最后修改时间: 知识点:C综合题目部分/知识点/综合/函数的类型和返回值、宏定义3、有以下程序int fun1(double a)return a*=a;int fun2(double x,double y) double a=0,b=0;a=fun1(x);b=fun1(y); return(int)(a+b);main()double w;w=fun2(1.1,2.0);程序执行后变量w中的值是_。 A:5.

4、21 B:5 C:5.0 D:0.0答案:C评析:本题考查的是数值类型的定义与强制转换。本题在进行调用函数fun2()时,又对函数fun1()进行了调用,由于函数fun1()定义为整型,所以第一次调用fun1()时返回的值为1,然后再将1赋值给a,此时由于a为double型,则系统自动类型转换,将1转换成了1.000000赋值给了变量a,以此类推,得b的值为4.000000,然后通过return(int)(a+b);将a+b的值强制转换为int型5返回给主函数,此时又由w的类型为double,所以返回的整型值5又被转换为double型。故输出结果为5.0。故本题答案为C。等级:1 难度:1 区

5、分度:1出题人:文本导入 修改人: 审核人: 创建时间:2008-06-25 最后修改时间: 知识点:C综合题目部分/知识点/综合/函数、不同类型数据间的转换与运算4、若有以下函数首部int fun(double x10, int *n)则下面针对此函数的函数声明语句中正确的是_。 A:int fun(double x, int *n); B:int fun(double, int ); C:int fun(double *x, int n); D:int fun(double *, int *);答案:D评析:本题考查的是函数的声明。 函数声明可以照写已定义的函数的首部,再加一个分号就成为了

6、对函数的声明,在函数声明中也可以不写形参名,而只写形参的类型,但要保证与函数首部写法上的一致,即函数类型、函数名、参数个数、参数类型和参数顺序相同。字符数组可用指针来表示,所以选项D正确。故本题答案为D。等级:1 难度:1 区分度:1出题人:文本导入 修改人: 审核人: 创建时间:2008-06-25 最后修改时间: 知识点:C综合题目部分/知识点/综合/函数的定义方法、指针5、有以下程序void f(int n,int *r) int r1=0;if(n%3=0) r1=n/3;else if(n%5=0) r1=n/5;else f(-n,&r1);*r=r1;main() int m=7

7、,r;f(m,&r); printf(%dn,r);程序运行后的输出结果是_。 A:2 B:1 C:3 D:0答案:A评析:本题考查的是指针作为函数的参数和函数的调用。题目中定义了一个指针变量r作为形参的f()函数。在主函数main()中定义了两个变量m和r,同时给m赋初值7,执行f(m,&r);语句,调用f()函数并将m的初值7传递给形参n,将r的地址传给形参指针变量r。f()函数中通过指针r将最后的值返回。首先执行if语句中的条件:n%3=0,7%3=1条件为假,执行第一个else下的语句,同样不满足条件,再执行第二个else下的语句,n自行减一,n=6,再执行if语句,满足条件,r1=2

8、,把r1的值2赋给指针变量r所指向的存储单元,即为主函数r的值,输出结果为2。故本题答案选A。等级:1 难度:1 区分度:1出题人:文本导入 修改人: 审核人: 创建时间:2008-06-25 最后修改时间: 知识点:C综合题目部分/知识点/综合/用指针作函数参数6、有以下程序#include #include void fun( char s10,int n) char t; int i,j;for(i=0;in-1;i+)for(j=i+1;jsj0) t=si0;si0=sj0;sj0=t;main() char ss510=bcc,bbcc,xy,aaaacc,aabcc;fun(ss

9、,5); printf(%s,%sn,ss0,ss4);程序的运行结果是_。 A:xy,aaaacc B:aaaacc,xy C:xcc,aabcc D:acc,xabcc答案:D评析:本题的考查点是循环嵌套。函数fun的功能是对数组中的每个字符串的第一个字符按由小到大的顺序排序,最终输出数组的第一个和第五个的字符串。比较各字符串的首字符可知,字符a最小,字符x最大,所以输出的ss0的值为acc,ss4的值为xabcc。故本题答案为D。等级:1 难度:1 区分度:1出题人:文本导入 修改人: 审核人: 创建时间:2008-06-25 最后修改时间: 知识点:C综合题目部分/知识点/综合/循环的

10、嵌套7、有以下程序void f(int *x,int *y) int t; t=*x;*x=*y;*y=t; main() int a8=1,2,3,4,5,6,7,8,i,*p,*q; p=a;q=&a7; while(pq)f(p,q);p+;q-;for(i=0;i8;i+) printf(%d,ai);程序运行后的输出结果是_。 A:8,2,3,4,5,6,7,1, B:5,6,7,8,1,2,3,4, C:1,2,3,4,5,6,7,8, D:8,7,6,5,4,3,2,1,答案:D评析:本题考查的是函数的调用。本程序中函数f的作用是交换指针变量x和y所指向的存储单元的值。在主函数中

11、,能过p=a;q=&a7;将指针变量p指向了数组的第一个元素,指针变量q指向了数组的最后一个元素。通过f(p,q)调用函数f进行对称的数组元素的交换。当while循环4次(即p=q)后,a数组中各元素的值分别为87654321,所以程序输出的结果为8,7,6,5,4,3,2,1,。故本题答案为D。等级:1 难度:1 区分度:1出题人:文本导入 修改人: 审核人: 创建时间:2008-06-25 最后修改时间: 知识点:C综合题目部分/知识点/综合/函数的正确调用,嵌套调用,递归调用8、已定义以下函数fun(char *p2, char *p1)while(*p2=*p1)!=0)p1+;p2+

12、; 函数的功能是_。 A:将p1所指字符串复制到p2所指内存空间 B:将p1所指字符串的地址赋给指针p2 C:对p1和p2两个指针所指字符串进行比较 D:检查p1和p2两个指针所指字符串中是否有0答案:A评析:本题的考查点是函数。while(*p2=*p1)!=0表示将p1所指向的值赋给*p2,即将p1所指字符串复制到p2所指内存空间。在这里*P2=*p1是赋值操作,而不是比较是否相等,比较应当为双等号=。所以B,C,D都不对。故本题答案为A。等级:1 难度:1 区分度:1出题人:文本导入 修改人: 审核人: 创建时间:2008-06-25 最后修改时间: 知识点:没有定义9、以下程序中函数f的功能是将n个字符串,按由大到小的顺序进行排序。#include void f(char p10,int n)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号