2006年4月全国计算机等级考试二级C语言笔试试题及解析(3)

2019-05-24 18:49

main()

{int a[]={1,2,3,4,5},b[]={6,7,8,9},s=0; s=fun(a,5)+fun(b,4); printf(\}

程序执行后的输出结果是:

A)45 B)50 C)60 D)55

41)有以下程序 1000 main() { union { char ch[2]; int d; }s; s.d=0x4321;

printf(“%x,%x\\n”,s.ch[0],s.ch[1]); }

在16位编译系统上,程序执行后的输出结果是 A)21,43 B)43,21 C)43,00 D)21,00 (42)有以下程序0010 main()

{char *p[]={\ int i,j; long num=0; for(i=0;i<2;i++) {j=0;

11

while(p[i][j]!='\\0')

{ if((p[i][j]-'0'(%2)num=10*num+p[i][j]-'0'; j+=2; } }

printf(\}

程序执行后的输出结果是:

A)35 B)37 C)39 D)3975

(43)执行以下程序后,test.txt文件的内容是(若文件能政党打开)1000 include main() {FILE *fp;

char *s1=\ if((fp=fopen(\

{printf(\

fwrite(s1,7,1,fp); /*把从地址s1开始的7个字符写到fp所指文件中*/

fseek(fP,OL,SEEK_SET);/*文件位置指针移到文件开头*/ rwrite(s2,5,1,fp); fclose(fp); }

A)Basican B)BasicFortran C)Basic D)FortranBasic (44)以下叙述中错误的是:0001

A)C语言源程序经编译后生成后缀为.obj的目标程序

B)C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件

C)用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中 D)C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指

12

(45)以下叙述中错误的是:0100 A)算法正确的程序最终一定会结束 B)算法正确的程序可以有零个输出 C)算法正确的程序可以有零个输入

D)算法正确的程序对于相同的输入一定有相同的结果 (46)以下叙述中错误的是:0001 A)C程序必须由一个或一个以上的函数组成 B)函数调用可以作为一个独立的语句存在 C)若函数有返回值,必须通过return语句返回 D)函数形参的值也可以传回给对应的实参 (47)设有以下定义和语句:1000 char str[20]=\ p=str;

则以下叙述中正确的是: A)*p与str[0]中的值相等 B)str与p的类型完全相同

C)str数组长度和p所指向的字符串长度相等

D)数组str中存放的内容和指针变量p中存放的内容相同 (48)以下叙述中错误的是:0001

A)C程序中的#include和#define行均不是C语句 B)除逗号运算符外,赋值运算符的优先级最低 C)C程序中,j++;是赋值语句

D)C程序中,+、-、*、/、%是算术运算符,可用于整形和实型数的运算(49)以下叙述中正确的是:0100

A)预处理命令行必须位于C源程序的起始位置 B)在C语言中,预处理命令行都以“#”开头

C)每个C程序必须在开头包含预处理命令行:# include

13

D)C语言的预处理不能实现宏定义和条件编译的功能 (50)以下叙述中错误的是:1000 A)可以通过typedef增加新的类型

B)可以用typedef将已存在的类型用一个新的名字来代表 C)用typedef定义新的类型名后,原有类型名仍有效 D)用typedef可以为各种类型起别名,钽不能为变量起别名 二、填空题(每空2分,共40分)

(1)对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为 【1】 。

(2)在面向对象方法中 【2】 描述的是具有相似属必与操作的一组对象。 (3)在关系模型中,把数据看成是二维表,每一个二维表称为一个 【3】 。 (4)程序测试分为静态分析和动态测试。其中 【4】 是指不执行程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。 (5)数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为 【5】 。 (6)若变量a,b已定义为int类型并赋值21和55,要求用printf函数以a=21,b=55的形式输出,请写出完整的输出语句 【6】; 。

(7)以下程序用于判断a、b、c能否构成三角形,若能,输出YES,否则输出NO。当a、b、c输入三角形三条边长时,确定a、b、c能构成三角形的条件是需同时满足三个条件:a+b>c,a+c>b,b+c>a。请填空。 main() {float a,b,c;

scanf(\

if( 【7】 )printf(\、b、c能构成三角形*/ else printf(\、b、c不能构成三角形*/ }

(8)以下程序的输出结果是 【8】 。 main()

{ int a[3][3]={{1,2,9},{3,4,8},{5,6,7}},is,s=0; for(i=0;i<3;i++) s+=a[i][i]+a[i][3-i-1];

14

printf(\}

(9)当运行以下程序时,输入abcd,程序的输出结果是: 【9】 。 insert(char str[]) {int i;

i=strlen(str); while(i>0)

{str[2*i]=str[i]; str[2*i-1]='*'; i-- } printf(\} main()

{char str[40];

scanf(\}

(10)下面程序的运行结果 是: 【10】 fun(int t[],int n) {int I,m;

if(n==1) return t[0]; else

if(n>=2) {m=fun(t,n-1); return m; }

} main()

{int a[]={11,4,6,3,8,2,3,5,9,2}; printf(“%d\\n”,fun(a,10)); }

T18.c(11) 文件如下:现有两个C 程序文件T18.c和myfun.c同在TC系统目录(文件夹)下,其中#include #include “myfun.c”

15


2006年4月全国计算机等级考试二级C语言笔试试题及解析(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:分译法

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: