2000年9月全国计算机等级考试二级试卷C语言程序设计

合集下载

C语言全国计算机二级等级考试教程第一二章(章节带习题)

C语言全国计算机二级等级考试教程第一二章(章节带习题)
10
2.2 标识符、常量和变量
2.2.3 符号常量
在C语言中,可以用一个符号名来代表一个常量,称为符号常
量。但是这个符号名必须在程序中用(#define)进行特别的“
指定"。 例2.2 计算圆面积和周长,此程序中将如何教大家使用符号常量。
#include “stdio.h” /*包含头文件*/
#define PI 3.14159 /*定义符号常量,符号常量名为PI,用PI来代表3.14159*/
main()
/*主函数,程序的入口*/
{double r,s,l;
/*声明部分,定义了3实型个变量*/
r
r=5.0;
/*给变量r赋值*/
函 s=PI*r*r;
数 体
l=2*PI*r;
/*计算圆的面积*/ /*计算圆的周长*/
s
printf(“s=%f,l=%f\n”,s,l/)*;分别圆的面积和周长*/
/*给变量b赋值*/
数 体
area=a*b;
/*将a*b的结果赋值给变量area*/
printf(“a=%f,b=%f,area=%f\n”,a,b,area/)*;分别输出矩形的两条边长和面积*/
1.2
}
3.6
a=1.200000,b=3.600000,area=4.320000
4.32
注意:
1. C程序由函数组成,一个程序必须有一个且只能有一个主函数(main),C程
a
b
1.5000002.500000 2.5000003.500000
a b
内存空间
2.在程序中,声明变量就是在计算机内存中申请了某个内存单元。对变量 进行赋值,实质上就是把数据存入该变量所代表的存储单元中。

二级C语言程序设计全真试题及解答_3套

二级C语言程序设计全真试题及解答_3套

二级C语言程序设计全真试题及解答_3套二级 C 语言程序设计全真试题及解答说明:上机考试正式系统题库中共有 50 套题目,考生随机从中抽取一套进行考试。

例如,如果你考的是二级C 语言上机考试,那么你输入准考证号并确认后,机器将从正式题库的 50 套题中随机为你抽取一套题目(包括一道程序填空题(30 分)、一道程序修改题(30 分)、一道程序设计题(40 分)共3 题)让你考试,如果 3 题都完全答对,那么你上机考试的成绩就是满分100 分。

(注:一般来说,抽题时,填空题第 1 题和修改题第 1 题和编程题第 1 题会对应同时出现,如此类推)第 1 套第一题(30 分)程序通过定义学生结构体变量,存储了学生的学号、姓名和3 门课的成绩。

所有学生数据均以二进制方式输出到文件中。

函数fun 的功能是重写形参 filename 所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其它学生的数据不变。

请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANK1.C 中。

不得增行或删行,也不得更改程序的结构!源程序 BLANK1.C:#include#define N 5typedef struct student{ long sno;char name[10];float score[3];} STU;void fun(char *filename, STU n){ FILE *fp;/**********found**********/fp = fopen( 1 , "rb+");/**********found**********/fseek( 2 ,-(long)sizeof(STU), SEEK_END);/**********found**********/fwrite(&n, sizeof(STU), 1, 3 );fclose(fp);}main(){ STU t[N]={ {10001,"MaChao", 91, 92, 77}, {10002,"CaoKai", 75, 60, 88},{10003,"LiSi", 85, 70, 78},{10004,"FangFang", 90, 82, 87}, {10005,"ZhangSan", 95, 80, 88}};STU n={10006,"ZhaoSi", 55, 70, 68}, ss[N]; int i,j; FILE *fp;fp = fopen("student.dat", "wb");fwrite(t, sizeof(STU), N, fp);fclose(fp);fp = fopen("student.dat", "rb");fread(ss, sizeof(STU), N, fp);fclose(fp);printf("\nThe original data :\n\n");for (j=0; j<="" p="">{ printf("\nNo: %ld Name: %-8s Scores: ",ss[j].sno, ss[j].name);for (i=0; i<3; i++) printf("%6.2f ", ss[j].score[i]);printf("\n");}fun("student.dat", n);printf("\nThe data after modifing :\n\n"); fp = fopen("student.dat", "rb");fread(ss, sizeof(STU), N, fp);fclose(fp);for (j=0; j<="" p="">{printf("\nNo: %ld Name: %-8s Scores: ",ss[j].sno, ss[j].name);for (i=0; i<3; i++) printf("%6.2f ", ss[j].score[i]);printf("\n");}}应填入答案:1.filename2.fp3.fp第二题(30 分)给定程序 MODI1.C 中的函数 Creatlink 的功能是创建带头结点的单向链表, 并为各结点数据域赋 0 到m-1 的值。

2000年9月全国计算机等级考试二级C笔试试题详解

2000年9月全国计算机等级考试二级C笔试试题详解

2000年9月全国计算机等级考试二级C笔试试题详解一、选择题(16)若变量已正确定义并赋值,以下符合C语言语法的表达式是A)a:=b+1 B)a=b=c+2 C)int 18.5%3 D)a=a+7=c+b希希讲解(16):用排除法。

A)中包含一个不合法的运算符“:=”,错;C)明显错;D)可分解为两个表达式:a+7=c+b和a=a+7,其中第一个是错的,因为C规定:赋值号的左面只能是单个变量,不能是表达式或常量等。

因此,正确答案是B),它实际上相当于:a=(b=c+2),进而可分解为两个表达式:b=c+2和a=b。

(17)C语言中运算对象必须是整型的运算符是A) %= B) / C) = D) <=希希讲解(17):前几年曾经考过类似的题目,很简单,正确答案是A)。

C规定:取余运算符的运算对象必须是整型,复合运算符“%=”中包含%运算,它的运算对象也必须是整型。

(18)若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是A) 1 B)2 C)2.0 D)2.5希希讲解(18):该题的解答请参阅本站的“整数除法的注意事项”和“逗号表达式”两个主题讲座,那里有详细的分析。

正确答案是C)。

(19)若变量a,i已正确定义,且i已正确赋值,合法的语句是A) a==1 B)++i;C)a=a++=5; D)a=int(i);希希讲解(19):(A)中是一个表达式,因为缺少分号,所以不是语句;(C)的错误同(16)题(D)的错误一样;(D)若改为a=(int)i;则是合法的语句,小括号写错了位置,从另一个角度理解,(D)的写法应该是一个函数调用语句,函数名是int,小括号中的i是实参,这样的话,函数名int又是不合法的,因为C 规定:用户标识符(包括函数名)不能是关键字,而int是一个关键字。

所以,正确答案是(B),它相当于语句i=i+1;(20)若有以下程序段int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后c3中的值是A)0 B)0.5 C)1 D)2希希讲解(20):因为运算表达式中有一个浮点型数据1.0,所以,运算结果应该也是一个浮点类型,只有(B)符合这一条件,仅根据这一点就可以确定(B)是正确答案。

全国计算机等级考试二级C语言程序设计真题精选3(含答案)

全国计算机等级考试二级C语言程序设计真题精选3(含答案)

全国计算机等级考试二级C语言程序设计真题精选3一、单项选择题1.下列关于C语言文件的叙述中正确的是()。

A.文件由一系列数据依次排列组成,只能构成二进制文件B.文件由结构序列组成,可以构成二进制文件或文本文件C.文件由数据序列组成,可以构成二进制文件或文本文件√D.文件由字符序列组成,其类型只能是文本文件解析:C语言将文件看作是一个字符(字节)的序列,即由一个一个字符(字节)数据顺序组成。

根据数据的组成形式,可将文件分为两种:①ASCII文件,又称文本(text)文件,它的每一个字节可放一个ASCII码,代表一个字符;②二进制文件,是把内存中的数据按其在内存中的存储形式原样输出到磁盘上存放。

所以C文件就是一个字节流或一个二进制流。

2.有以下程序:#includ<stdio.h>main()inm=1,n=2,*p=&m,*q=&n,*r; r=p,p=q;q=r; printf("%d,%d,%d,%",m,n,*p,*q);}程序运行后的输出结果是()。

A.1,2,1,2B.1,2.2,1 √C.2,1,2,1D.2,1.1,2解析:本题定义了两个整型变量,然后用两个指针分别指向这两个整型变量,接着对指针进行交换,那么原来指向第一个整数的指针将指向第二个整数,原来指向第二个整数的指针将指向第一个整数。

3.有以下程序:#includ<stdio.h>#include<string.h>strucAina;chab[10];doublc;};strucf (struct);main()struca={1001,"ZhangDa",1098.0}; a=f(a);printf ("%d,%s,%6.1",a.a,a.b,a.c);}strucf(struct)t.a=1002;strcpy(t.b,"ChangRong");t.c=1202.0;returt;}程序运行后的输出结果是()。

2000年秋浙江省计算机等级考试二级C试卷及答案

2000年秋浙江省计算机等级考试二级C试卷及答案

2000年秋等级(二级C语言)考试试卷试题一、计算机基础题(本题共15分)单选题(每题1分,共10分)1.软盘加上写保护后,对它可以进行的操作是()A.只能读盘,不能写盘B.只能写盘,不能读盘C.既可读盘,又可写盘D.既不能读盘,也不能写盘2.在语言处理程序中,编译程序的功能是()A.解释执行高级语言程序B.将汇编语言程序编译成目标程序C.解释执行汇编语言程序D.将高级语言程序翻译成目标程序3.下列有关计算机病毒的说法中,是错误的。

A.游戏软件常常是计算机病毒的载体B.尽量做到专机专用或安装正版软件,是预防计算机病毒的有效措施C.用消毒软件将一片软盘消毒之后,该软盘就没有病毒了D. 计算机病毒在某些条件下被激活之后,才开始起干扰和破坏作用4.在Window95中,桌面是指。

A.电脑桌面B.活动窗口C.文档窗口D.窗口、图标和对话框所在屏幕背景5.在Windows95资源管理器窗口的左窗格中,文件夹图标含有“+”时,表示该文件夹。

A.只含有文件B.是空文件夹C.含有子文件夹D.只含有文件而不含有文件夹6.以下是用十六进制表示的两个连续的存储单元的内容,其中一定不是汉字编码。

A.A0A0H B.1234H C.BBBBH D.ABCDH7.下列有关Word97格式刷的叙述中,是正确的。

A.格式刷既可以复制字体格式也可以复制段落格式B.格式刷只能复制字体格式C.格式刷只能复制段落格式D.格式刷只能复制纯文本的内容8.在Word97表格中,单元格内能填写的信息。

A.只能是文字B.只能是文字或符号C.只能是图像D.文字、符号、图像均可9.调制解调器的功能是实现。

A.数字信号与模拟信号的转换B.数字信号的整形C.模拟信号的放大D.数字信号的编码10.计算机网络最突出的优点是。

A.存储最大B.资源共享C.运算速度快D.运算精度高填空题(每题1分,共5分)1.CPU是计算机的核心部件,该部件主要由组成。

2.十进制数157.375转换成对应的十六进制数是。

《全国计算机等级考试二级教程C语言程序设计》

《全国计算机等级考试二级教程C语言程序设计》

《全国计算机等级考试二级教程——C语言程序设计》课后题及参考答案第一章程序设计基本概念1.1 在TRUBO C环境中用RUN命令运行一个C程序时,所运行的程序的后缀是______.答案:.exe1。

2 C语言源程序文件的后缀是_____,经过编译后,生成文件的后缀是_____,经过连接后,生成文件的后缀是____ _.答案:。

c 。

obj 。

exe1.3 结构化程序由_____、_____、_____三种基本结构组成.答案:顺序、选择、循环第二章 C程序设计的初步知识一、选择题2。

1 以下选项中正确的整型常量是A)12. B)—20 C)1,000 D)4 5 6答案:B2.2 以下选项中正确的实型常量是A)0 B)3。

1415 C)0.329×10(2)(10的2次方) D)。

871答案:D2。

3 以下选项中不正确的实型常量是A)2。

607E-1 B)0。

8103e 2 C)—77。

77 D)456e-2答案:B2。

4 以下选项中不合法的用户标识符是A)abc。

c B)file C)Main D)PRINTF答案:A2.5 以下选项中不合法的用户标识符是A)_123 B)printf C)A$D)Dim答案:C2。

6 C语言中运算对象必需是整型的运算符是A)%B)/ C)!D)**答案:A2.7 可在C程序中用作用户标识符的一组标识符是A)void define WORDB)as_b3 _123 IfC)For -abc caseD)2c DO SIG答案:B2。

8 若变量已正确定义并赋值,符合C语言语法的表达式是A)a=a+7; B)a=7+b+c,a++ C)int(12.3%4)D)a=a+7=c+b答案:B2.9 以下叙述中正确的是A)a是实型变量,C允许进行以下赋值a=10,因此可以这样说:实型变量中允许存放整型值.B)在赋值表达式中,赋值号右边既可以是变量也可以是任意表达式.C)执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b的值,b 的值由原值变为0.D)已有a=3,b=5。

全国计算机等级考试《二级c语言程序设计》复习全书【核心讲义+历年真题详解]74p

全国计算机等级考试《二级c语言程序设计》复习全书【核心讲义+历年真题详解]74p

全国计算机等级考试《二级C语言程序设计》复习全书【核心讲义+历年真题详解]最新资料,WORD格式,可编辑修改!目录第一部分备考指南......................................................第1章考试概述....................................................第2章复习技巧.................................................... 第二部分核心讲义......................................................【公共基础知识】....................................................第1章数据结构与算法..........................................第2章程序设计基础............................................第3章软件工程基础............................................第4章数据库设计基础..........................................【C语言程序设计】..................................................第1章程序设计基本概念........................................第2章C程序设计的初步知识....................................第3章顺序结构................................................第4章选择结构................................................第5章循环结构................................................第6章字符型数据..............................................第7章函数..................................................第8章地址和指针..............................................第9章数组..................................................第10章字符串.................................................第11章对函数的进一步讨论.....................................第12章C语言中用户标识符的作用域和存储类 .....................第13章编译预处理和动态存储分配...............................第14章结构体、共用体和用户定义类型...........................第15章位运算.................................................第16章文件................................................. 第三部分历年真题及详解................................................全国计算机等级考试《二级C语言程序设计》真题及详解(一)............全国计算机等级考试《二级C语言程序设计》真题及详解(二)............全国计算机等级考试《二级C语言程序设计》真题及详解(三)............全国计算机等级考试《二级C语言程序设计》真题及详解(四)............全国计算机等级考试《二级C语言程序设计》真题及详解(五)............全国计算机等级考试《二级C语言程序设计》真题及详解(六)............ 第四部分模拟试题及讲解................................................全国计算机等级考试《二级C语言程序设计》模拟试题及详解(一)........全国计算机等级考试《二级C语言程序设计》模拟试题及详解(二)........第一部分备考指南第1章考试概述一、考试简介全国计算机等级考试(National Computer Rank Examination,简称NCRE),是经原国家教育委员会(现教育部)批准,由教育部考试中心主办,面向社会,用于考查应试人员计算机应用知识与技能的全国性计算机水平考试体系。

全国计算机等级考试《二级C语言程序设计》历年真题精选及详解

全国计算机等级考试《二级C语言程序设计》历年真题精选及详解

全国计算机等级考试《二级C语言程序设计》历年真题精选及详解一、选择题(请在【答题】菜单上选择【选择题】命令,启动选择题测试程序,按照题目上的内容进行答题。

作答选择题时键盘被封锁,使用键盘无效,考生须使用鼠标答题。

选择题部分只能进入一次,退出后不能再次进入。

选择题部分不单独计时。

)1.下列叙述中正确的是()。

A.所有数据结构必须有根结点B.所有数据结构必须有终端结点(即叶子结点)C.只有一个根结点,且只有一个叶子结点的数据结构一定是线性结构D.没有根结点或没有叶子结点的数据结构一定是非线性结构【答案】D【解析】D项正确,线性结构的特点是:①集合中必存在“第一个元素”且惟一;②集合中必存在“最后一个元素”且惟一;③除最后一个元素外,其他数据元素均有惟一的“后继”;④除第一个元素外,其他数据元素均有惟一的“前驱”。

所以没有根结点或没有叶子结点的数据结构一定是非线性结构。

AB两项错误,不是所有数据结构都必须有根结点和叶子结点;C项错误,数据结构中若有中间结点不满足只有一个前件或者后件的条件,就不是线性结构。

答案选择D选项。

2.以下叙述中错误的是()。

A.C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令B.C程序经过编译、链接步骤之后才能形成一个真正可执行的二进制机器指令文件C.用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中D.C语言源程序经编译后生成后缀为.obj的目标程序【答案】A【解析】A项错误,注释语句不会被翻译成二进制的机器指令。

C源程序经过C编译程序编译之后生成后缀为.obj的二进制文件(称为目标文件),然后由“链接程序”(Link)的软件把.obj文件与各种库函数连接起来生成一个后缀为.exe的可执行文件。

答案选择A选项。

3.C语言主要是借助以下()功能来实现程序模块化的。

A.定义函数B.定义常量和外部变量C.三种基本结构语句D.丰富的数据类型【答案】A【解析】C程序的模块化主要通过函数来实现。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

本文由4onc01quwh贡献 doc文档可能在WAP端浏览体验不佳。

建议您优先选择TXT,或下载源文件到本机查看。

2000 年 9 月全国计算机等级考试二级试卷 C 语言程序设计 (考试时间:120 分钟,满分 100 分) 一、选择题((1)--(40)每小题 1 分, (41)--(50)每小题 2 分, 共 60 分 下列各题 A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项在答题卡相应位 置上涂黑,答在试卷上不得分。

 (1) 下列电子邮件地址中正确的是(其中□表示空格) A) Malin&ns.cnc.ac.cn B) malin@ns.cac.ac.cn C) Lin□Ma&ns.cnc.ac.cn D) Lin□Ma@ns.cnc.ac.cn (2) 下列说法中正确的是 A) 为了使用 Novell 网提供的服务,必须采用 FTP 协议 B) 为了使用 Internet 网提供的服务,必须采用 TELNET 协议 C) 为了使用 Novell 网提供的服务,必须采用 TCP/IP 协议 D) 为了使用 Internet 网提供的服务,必须采用 TCP/IP 协议 (3) 下列说法中不正确的是 A) 调制解调器(Modem)是局域网络设备 B) 集线器(Hub)是局域网络设备 C) 网卡(NIC)是局域网络设备 D) 中继器(Repeater)是局域网络设备 (4) 十进制数 397 的十六进制值为 A) 18D B) 18E C) 277 D) 361 (5) 下列说法中不正确的是 A) CD-ROM 是一种只读存储器但不是内存储器 B) CD-ROM 驱动器是多媒体计算机的基本部分 C) 只有存放在 CD-ROM 盘上的数据才称为多媒体信息 D) CD-ROM 盘上最多能够存储大约 650 兆字节的信息 (6) Windows 应用环境中鼠标的拖动操作不 能完成的是 A) 当窗口不是最大时,可以移动窗口的位置 B) 当窗口最大时,可以将窗口缩小成图标 C) 当窗口有滚动条时可以实现窗口内容的滚动 D) 可以将一个文件移动(或复制)到另一个目录中去 (7) 从 Windows 中启动 MS-DOS 方式进入了 DOS 状态, 如果想回到 Windos 状态, DOS 提示符下, 在 应键入的命令为 A) EXIT B) QUIT C) WIN D) DOS -U (8) 要在 WINDOWS 标准窗口的下拉菜单中选择命令,下列操作错误的是 A) 用鼠标单击该命令选项 B) 用键盘上的上下方向键将高亮度条移至该命令选项后再按回车键 C) 同时按下 ALT 键与该命令选项后括号中带有下划线的字母键 D) 直接按该命令选项后面括号中带有下划线的字母键 (9) ASCLL 码(含扩展)可以用一个字节表示,则可以表示的 ASCLL 码值个数为 A) 1024 B) 256 C) 128 D) 8O (10) 字长为 32 位的计算机是指 A) 该计算机能够处理的最大数不超过 232 B) 该计算机中的 CPU 可以同时处理 32 位的二进制信息 C) 该计算机的内存量为 32MB D) 该计算机每秒钟所能执行的指令条数为 32MIPS (11) 在 DOS 系统中,下列文件名中非法的是 A) ABCDEFG1 B) ABCDEFG1.234 C)ABCD_EFG D)ABCD\EFG (12) DOS 系统启动后,下列文件中驻留内存的是 A) CONFIG.SYS B) COMMAND.COM C) AUTOEXEC.BAT D) MEM.EXE (13) DOS 下的“DIR *2”命令将列出当前目录下的 A) 所有名字末尾为字符 2 的非隐含文件和目录 B) 所有名字末尾为字符 2 的非隐含文件 C) 所有非隐含文件 D) 所有非隐含文件和目录 (14) 软驱的盘符为 A,A 盘上只有一个目录\XYZ,而\XYZ 下有若干子目录和文件,若想把 A 盘的 所有内容复制到 C 盘根目录下,应使用的命令为 A) COPY A:\*.* C: B) COPY A:\*.* C:\*.* C) XCOPY A:\*.* C:\ /S D) DISKCOPY A: C: (15) 若要将当前盘目录下的文件 A.TXT 连接在文件 B.TXT 后面,应使用的命令为 A) COPY A.TXT>>B.TXT B) MOVE A.TXT>>B.TXT C) PATH A.TXT>>B.TXT D) TYPE A.TXT>>B.TXT (16) 若变量已正确定义并赋值,下面符合 C 语言语法的表达式是 A) a:=b+1 B) a=b=c+2 C) int 18.5%3 D) a=a+7=c+b (17) C 语言中运算对象必须是整型的运算符是 A) %= B) / C) = D) 〈= (18) 若已定义 x 和 y 为 double 类型,则表达式 x=1,y=x+3/2 的值是 A) 1 B) 2 C) 2.0 D) 2.5 (19) 若变量 a、iI 已正确定义,且 i 已正确赋值,合法的语句是 A) a==1 B) ++i; C) a=a++=5; D) a=int(i); (20) 若有以下程序段, int c1=1,c2=2,c3; c3=1.0/c2*c1; 则执行后,c3 中的值是 A) 0 B) 0.5 C) 1 D) 2 (21) 有如下程序 main0 { int y=3,x=3,z=1; printf(“%d %d\n”,(++x,y++),z+2); } 运行该程序的输出结果是 A) 3 4 B) 4 2 C) 4 3 D) 3 3 (22) 能正确表示逻辑关系:“a≥=10 或 a≤0”的 C 语言表达式是 A) a>=10 or a<=0 B) a>=0|a<=10 C) a>=10 &&a<=0 D) a>=10‖a<=0 (23) 有如下程序 main0 { int x=1,a=0,b=0; switch(x){ case 0: b++; case 1: a++ case 2: a++;b++ } printf(“a=%d,b=%d\n”,a,b); } 该程序的输出结果是 A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2 (24) 有如下程序 main0 { float x=2.0,y; if(x<0.0) y=0.0; else if(x<10.0) y=1.0/x; else y=1.0; printf(“%f\n”,y); } 该程序的输出结果是 A) 0.000000 B) 0.250000 C) 0.500000 D) 1.000000 (25) 有如下程序 main0 { int a=2,b=-1,c=2; if(a if(b<0) c=0; else c++ printf(“%d\n”,c); } 该程序的输出结果是 A) 0 B) 1 C) 2 D) 3 (26) 有如下程序 main0 { int i,sum; for(i=1;i<=3;sum++) sum+=i; printf(“%d\n”,sum); } 该程序的执行结果是 A) 6 B) 3 C) 死循环 D) 0 (27) 有如下程序 main0 { int x=23; do { printf(“%d”,x--);} while(!x); } 该程序的执行结果是 A) 321 B) 23 C) 不输出任何内容 D) 陷入死循环 (28) 有如下程序 main0 { int n=9; while(n>6) {n--;printf(“%d”,n);} } 该程序段的输出结果是 A) 987 B) 876 C) 8765 D) 9876 (29) 设有说明语句:char a=’\72’;则变量 a A) 包含 1 个字符 B) 包含 2 个字符 C) 包含 3 个字符 D) 说明不合法 (30) 有如下函数调用语句 func(rec1,rec2+rec3,(rec4,rec5); 该函数调用语句中,含有的实参个数是 A) 3 B) 4 C) 5 D) 有语法错 (31) 有如下程序 int runc(int a,int b) { return(a+b);} main0 { int x=2,y=5,z=8,r; r=func(func(x,y),z); printf(“%\d\n”,r); } 该程序的输出的结果是 A) 12 B) 13 C) 14 D) 15 (32) 有如下程序段 int *p,a=10,b=1 p=&a; a=*p+b; 执行该程序段后,a 的值为 A) 12 B) 11 C) 10 D) 编译出错 (33) 对于基类型相同的两个指针变量之间,不能进行的运算是 A) < B) = C) + D) (34) 以下函数返回 a 所指数组中最小的值所在的下标值 fun(int *a, int n) { int i,j=0,p; p=j; for(i=j;i if(a[i] return(p); } 在下划线处应填入的是 A) i=p B) a[p]=a[i] C) p=j D) p=i (35) 有如下程序 long fib(int n) { if(n>2) return(fib(n-1)+fib(n-2)); else return(2); } main0 { printf(“%d\n”,fib(3)); 该程序的输出结果是 A) 2 B) 4 C) 6 D) 8 (36) 在 C 语言中,函数的隐含存储类别是 A) auto B) static C) extern D) 无存储类别 (37) 有如下程序 #define N 2 #define M N+1 #define NUM 2*M+1 #main() { int i; for(i=1;i<=NUM;i++)printf(“%d\n”,i); } 该程序中的 for 循环执行的次数是 A) 5 B) 6 C) 7 D) 8 (38) 有以下函数 char fun(char *p) { return p; } 该函数的返回值是 A) 无确切的值 B) 形参 p 中存放的地址值 B) 一个临时存储单元的地址 D) 形参 p 自身的地址值 (39) 有如下程序段 int a=14,b=15,x; char c=’A’; x=(a&&b)&&(c<’B’); 执行该程序段后,x 的值为 A) ture B) false C) 0 D) 1 (40) 若 fp 是指向某文件的指针,且已读到此文件末尾,则库函数 feof(fp)的返回值是 A) EOF B) 0 C) 非零值 D) NULL (41) 若有以下说明和定义 fun(int *c){ } main() { int (*a)()=fun,*b(),w[10],c; ┆ } 在必要的赋值之后,对 fun 函数的正确调用语句是 A) a=a(w); B) (*a)(&c); C) b=*b(w); D) fun (b); (42) 有如下说明 int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为 9 的表达式是 A) *P+9 B) *(P+8) C) *P+=9 D) P+8 (43) 有如下程序 main0 { int n[5]={0,0,0},i,k=2; for(i=0;i printf(“%d\n”,n[k]); } 该程序的输出结果是 A) 不确定的值 B) 2 C) 1 D) 0 (44) 若有以下的定义:int t[3][2];能正确表示 t 数组元素地址的表达式是 A) &t[3][2] B) t[3] C) t[1] D) t[2] (45) 有如下程序 main0 { int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0; for(i=1;i<3;i++) for(j=0;j printf(“%d\n”,s); } 该程序的输出结果是 A) 18 B) 19 C) 20 D) 21 (46) 有如下定义 struct person{char name[9]; int age;}; strict person class[10]={“Johu”, 17, “Paul”, 19 “Mary”, 18, “Adam 16,}; 根据上述定义,能输出字母 M 的语句是 A) prinft(“%c\n”,class[3].mane); B) pfintf(“%c\n”,class[3].name[1]); C) prinft(“%c\n”,class[2].name[1]); D) printf(“%^c\n”,class[2].name[0]); (47) 以下对结构体类型变量的定义中,不正确的是 A) typedef struct aa B) #define AA struct aa { int n; AA {int n; float m; float m; }AA; }td1; AA td1; C) struct D) struct { int n; { int n; float m; float m; }aa; }td1; stuct aa td1; (48) 若已建立如下图所示的单向链表结构, 在该链表结构中,指针 p、s 分别指向图中所示结点,则不能将 s 所指的结点插入到链表末尾仍 构成单向链表的语句组是 A) p =p->next; s->next=p; p->next=s; B) p =p->next; s->next=p->next; p->next=s; C) s->next=NULL; p=p->next; p->next=s; D) p=(*p).next; (*s).next=(*p).next; (*p).next=s; (49) 有如下程序 main() { char s[]=”ABCD”, *P; for(p=s+l; p } 该程序的输出结果是 A) ABCD B) A C) B D) BCD BCD B C CD CD C D D D D (50) 有如下程序 main() { char ch[2][5]={“6937”,”8254”},*p[2]; int i,j,s=0; for(i=0;i<2;i++) p[i]=ch[i]; for(i=0;i<2;i++) for(j=0;p[i][j]>’\0’;j+=2) s=10*s+p[i][j]-‘0’; printf(“%d\n”,s); } 该程序的输出结果是 A) 69825 B) 63825 C) 6385 D) 693825 二、填空题(每空 2 分,共 40 分) 请将每空的正确答案写在答题卡上[1]至[20]序号的横线上,答在试卷上不得分。

相关文档
最新文档