




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2011年计算机等级二级C语言章节习题及答案(7)温馨提示:帮考网计算机二级C语言免费练习题,如需完整题库请登录 一、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上。)8.1 若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是A)函数调用可以作为独立的语句存在B)函数调用可以作为一个函数的实参C)函数调用可以出现在表达式中D)函数调用可以作为一个函数的形参考生答案: 正确答案: D8.2 在调用函数时,如果实参是简单的变量,它与对应形参之间的数据传递方式是A)地址传递B)单向值传递C)由实参传形参,再由形参传实参D)传递方式由用户指定考生答案: 正确答案: B8.3 以下正确的说法是A)定义函数时,形参的类型说明可以放在函数体内B)return后边的值不能为表达式C)如果函数值的类型与返回值类型不一致,以函数值类型为准D)如果形参与实参类型不一致,以实参类型为准考生答案: 正确答案: C8.4 以下正确的说法是A)用户若需调用标准库函数,调用前必须重新定义B)用户可以重新定义标准库函数,若如此,该函数将失去原有含义C)系统根本不允许用户重新定义标准库函数D)用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动调用考生答案: 正确答案: B8.5 以下叙述正确的是A)函数可以嵌套定义但不能嵌套调用B)函数既可以嵌套调用也可以嵌套定义C)函数既不可以嵌套定义也不可以嵌套调用D)函数可以嵌套调用但不可以嵌套定义考生答案: 正确答案: D8.6 下面对C语言的描述中,正确的是A)函数一定有返回值,否则无法使用函数B)C语言函数既可以嵌套定义又可以递归调用C)在C语言中,调用函数时,只能将实参的值传递给形参D)C语言程序中有调用关系的所有函数都必须放在同一源程序文件中考生答案: 正确答案: C8.7 下列说法中错误的是A)静态局部变量的初值是在编译时赋予的,在程序执行期间不再赋予初值B)若全局变量和某一函数中的局部变量同名,则在该函数中,此全局变量被屏蔽C)静态全局变量可以被其他的编辑单位所引用D)所有自动类局部变量的存储单元都是在进入这些局部变量所在的函数体(或复合语句)时生成,退出其所在的函数体(或复合语句)时消失考生答案: 正确答案: C8.8 以下程序有语法错误,有关错误原因的正确说法是main() int G=5,k;void prt_char();。.k=prt_char(G);。.A)语句 void prt_char();有错,它是函数调用语句,不能用void说明B)变量名不能使用大写字母C)函数说明和函数调用语句之间有矛盾D)函数名不能使用下划线考生答案: 正确答案: C8.9 以下正确的函数头定义形式是A)double fun(int x,int y)B)double fun(int x;int y)C)double fun(int x,int y);D)double fun(int x,y);考生答案: 正确答案: A8.10 以下所列的各函数首部中,正确的是A)void play(var :Integer,var b:Integer)B)void play(int a,b)C)void play(int a,int b)D)Sub play(a as integer,b as integer)考生答案: 正确答案: C8.11 不合法的main函数命令行参数表示形式是A)main(int a,char *c)B)main(int arc,char *arv)C)main(int argc,char *argv)D)main(int argv,char *argc)考生答案: 正确答案: C8.12 下面函数调用语句含有实参的个数为func(exp1,exp2),(exp3,exp4,exp5);A)1B)2C)4D)5考生答案: 正确答案: B8.13 设有如下函数fun (float x) printf(“n%d”,x*x);则函数的类型是A)与参数x的类型相同 B)是voidC)是int型 D)无法确定考生答案: 正确答案: C8.14 有以下程序float fun(int x,int y) return(x+y);main() int a=2,b=5,c=8;printf(“%3.0fn”,fun(int)fun(a+c,b),a-c);程序运行后的输出结果是A)编译出错B)9C)21D)9.0考生答案: 正确答案: B8.15 以下程序中函数sort的功能是对a数组中的数据进行由大到小的排序void sort(int a,int n) int i,j,t;for(i=0;ifor(j=i+1;jif(ai t=ai;ai=aj;aj=t;main() int aa10=1,2,3,4,5,6,7,8,9,10,i;sort(&aa3,5);for(i=0;i10;i+) printf(“%d,”,aai);printf(“n”);程序运行后的输出结果是A)1,2,3,4,5,6,7,8,9,10,B)10,9,8,7,6,5,4,3,2,1,C)1,2,3,8,7,6,5,4,9,10,D)1,2,10,9,8,7,6,5,4,3,考生答案: 正确答案: C8.16 下列程序执行后的输出结果是void func1(int i);void func2(int i);char st=“hello,friend!”;void func1(int i) printf(“%c”,sti);if(i3) i+=2;func2(i);void func2(int i) printf(“%c”,sti);if(i3) i+=2;func1(i);main() int i=0; func1(i); printf(“n”);A)helloB)helC)hloD)hlm考生答案: 正确答案: C8.17 以下函数返回a所指数组中最大值所在的下标值fun(int *a,int n) int i,j=0,p;p=j;for(i=j;iif(aiap) _;return(p);在下划线处应填入的内容是A)i=pB)ap=aiC)p=jD)p=I考生答案: 正确答案: D8.18 有以下程序int f(int n) if(n=1) return 1;else return f(n-1)+1;main() int i,j=0;for(i=1;i3;i+) j+=f(i);printf(“%dn”,j);程序运行后的输出结果是A)4B)3C)2D)1考生答案: 正确答案: B8.19 有如下程序:long fib(int n) if(n2) return(fib(n-1)+fib(n-2);else return(2);main() printf(“%dn”,fib(3);该程序的输出结果是A)2B)4C)6D)8考生答案: 正确答案: B8.20 下列函数的运行结果是main() int i=2,p;int j,k;j=i;k=+i;p=f(j,k);printf(“%d”,p);int f(int a,int b) int c;if(ab) c=1;else if(a=b) c=0;else c=-1;return(c);A)-1B)1C)2D)编译出错,无法运行考生答案: 正确答案: A8.21 阅读下列程序,当运行函数时,输入asd af aa z67,则输出为#include#include#includeint fun (char *str) int i,j=0;for(i=0;stri!=0;i+)if(stri!= ) strj+=stri;strj= 0;main() char str81;int n;clrscr();printf(“Input a string : ”);gets(str);puts(str);fun(str);printf(“%sn”,str);A)asdafaaz67B)asd af aa z67C)asdD)z67考生答案: 正确答案: A8.22 以下程序的输出结果是long fun( int n) long s;if(n=1|n=2) s=2;else s=n-fun(n-1);return s;main() printf(“%ldn”, fun(3);A)1B)2C)3D)4考生答案: 正确答案: A8.23 已有变量定义和函数调用语句:int a=25;print_value(&a);下面函数的正确输出结果是void print_value(int *x) printf(“%dn”,+*x);A)23B)24C)25D)26考生答案: 正确答案: D8.24 下面程序应能对两个整型变量的值进行交换。以下正确的说法是main() int a=10,b=20;printf(“(1)a=%d,b=%dn”,a,b);swap(&a,&b);printf(“(2)a=%d,b=%dn”,a,b);swap(int p,int q) int t;t=p;p=q;q=t;A)该程序完全正确B)该程序有错,只要将语句swap(&a,&b);中的参数改为a,b即可C)该程序有错,只要将swap()函数中的形参p和q以及t均定义为指针(执行语句不变)即可D)以上说法都不对考生答案: 正确答案: D8.25 以下程序的输出结果是int f() static int i=0;int s=1;s+=i; i+;return s;main() int i,a=0;for(i=0;i5;i+) a+=f();printf(“%dn”,a);A)20B)24C)25D)15考生答案: 正确答案: D8.26 阅读下面程序段,则执行后输出的结果是#include “stdio.h”main() char fun(char,int);char a=A;int b=13;a=fun(a,b);putchar(a);char fun(char a,int b) char k;k=a+b;return k;A)AB)MC)ND)L考生答案: 正确答案: C8.27 编写求两个双精度数之和的函数,选项中正确的是A)double add(double a,double b) double s;s=a+b;return s;B)double add(double a,b) double s;s=a+b;return (s);C)double add(double a double b) double s;s=a+b;returns;D)double add(a,b) double a,b,s;s=a+b;return (s);考生答案: 正确答案: A8.28 现有如下程序#include “stdio.h”int fun(int x) printf(“x=%dn”,+x);main() fun(12+5);则程序的输出结果是A)12B)13C)17D)18考生答案: 正确答案: D8.29 现有如下程序段#include “stdio.h”int aa(int x,int y);main() int a=24,b=16,c;c=aa(a,b);printf(“%dn”,c);int aa(int x,int y) int w;while(y) w=x%y;x=y;y=w;return x;则程序段的输出结果是A)8B)7C)6D)5考生答案: 正确答案: A8.30 下列程序的输出结果是#include “stdio.h”#define N 3#define M 3void fun(int aMN) printf(“%dn”,*(a1+2);main() int aMN;int i,j;for(i=0;ifor(j=0;jaij=i+j-(i-j);fun(a);A)3B)4C)5D)6考生答案: 正确答案: B8.31 阅读下面程序,则执行后的结果为#include “stdio.h”main() fun3(fun1(),fun2();fun1() int k=20;return k;fun2() int a=15;return a;fun3(int a,int b) int k;k=(a-b)*(a+b);printf(“%dn”,k);A)0B)184C)175D)编译不通过考生答案: 正确答案: C8.32 阅读下面程序,则程序执行后的结果为#include “stdio.h”main() int a=4,b=6,c=7;double d,fun(int,int,int);d=fun(a,b,c);printf(“%lfn”,d);double fun(int a,int b,int c) double s;s=a%b*c;return s;A)27B)27.000000C)28D)28.000000考生答案: 正确答案: D8.33 现有如下程序,则程序的输出结果为#include “stdio.h”int f(int a,int b) int c;if(a0&a10) c=(a+b)/2;else c=a*b/2;return c;main() int a=8,b=20,c;c=f(a,b);printf(“%dn”,c);A)随机数 B)80 C)28 D)14考生答案: 正确答案: D8.34 阅读如下程序段,则程序段的执行后的输出结果为#include “stdio.h”main() char c;int i;char count();int p(char);for(i=0;i30;i+) c=count();p(c);char count() char str=A;str+=1;return(str);p(char c) putchar(c);putchar(n);A)AB)BC)aD)b考生答案: 正确答案: B8.35 阅读程序,则执行后的结果为#include “stdio.h”main() int i,m,n;for(i=0;i3;i+) m=test1();n=test2();printf(“%d,%dn”,m,n);test1() int x=0;x+;return x;test2() static int x=0;x+;return x;A)1,1B)1,3C)3,1D)3,3考生答案: 正确答案: B二、填空题(请将每一个空的正确答案写在答题卡相应序号后。)8.36 当调用函数时,实参是一个数组名,则向函数传递的是【1】。A 考生答案: 正确答案: 数组的首地址8.37 函数fun的功能是:根据以下公式求p的值,结果由函数值返回。m与n为两个正数且要求mn。例如:m=12,n=8时,运行结果应该是495.000000。请在题目的空白处填写适当的程序语句,将该程序补充完整。#include#includefloat fun (int m, int n) int i;double p=1.0;for(i=1;i=m;i+) 【2】;for(i=1;i=n;i+) 【3】;for(i=1;i=m-n;i+) p=p/i;return p;main () clrscr();printf (“p=%fn”,fun (12,8);A 考生答案: 正确答案: p=p*i 正确答案: p=p/i8.38 以下程序的输出结果是【4】。void fun() static int a=0;a+=2; printf(“%d”,a);main() int cc;for(cc=1;cc4;cc+) fun();printf(“n”);A 考生答案: 正确答案: 2 4 68.39 以下程序运行结果是【5】 。long fib (int g) switch (g) case 0 return 0;case 1case2return 1;return (fib (g-1)+fib(g-2);main () long k;k=fib (5);printf (“k=%(dn)”,k);A 考生答案: 正确答案: k=58.40 以下程序的输出结果是【6】。unsigned fun6(unsigned num) unsigned k=1;do k *=num
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 通道运算说课稿-2025-2026学年中职专业课-图形图像处理-计算机类-电子与信息大类
- 鲁教版(五四制)八年级化学:第二单元第三节 水分子的变化 说课稿
- 6.19.2动物的生殖和发育说课稿2025-2026北师大版生物八年级上册
- 三年级信息技术下册 第四单元 第22课《海底蛟龙-潜艇》说课稿 冀教版
- 关于给领导感谢信15篇
- 六一儿童节开幕词18篇
- 中医学自考试题及答案
- 第一单元综合检测卷 (含答案)2025-2026学年统编版语文八年级上册
- 金融科技企业员工股权激励与数据安全合同
- 商业地产抵押担保借款合同范本
- 数据安全国家标准体系(2025 版)
- 潍坊市2026届高三开学调研监测考试物理试题及答案
- 抢救护理记录书写规范与技巧
- 2025至2030中国牙刷丝行业项目调研及市场前景预测评估报告
- 文明礼仪课件高中
- 人教版(2024)八年级上册生物期末复习必考知识点提纲
- DB61-T 5125-2025 绿色生态小区建设评价标准
- 秩序员安全培训完整版
- 感染性休克护理新进展
- 2025年保密教育线上培训考试题及答案
- 面向高效节能的空调换热器微通道结构优化设计与实验验证
评论
0/150
提交评论