2011年12-安徽省计算机等级二级考试真题C语言
- 格式:doc
- 大小:64.00 KB
- 文档页数:10
2011年计算机等级二级C语言章节习题及答案(13)2011年计算机等级二级C语言章节习题及答案(13)第13章文件一、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上。
)13.1 fseek函数的正确调用形式是A)fseek(文件指针,起始点,位移量)B)fseek(文件指针,位移量,起始点)C)fseek(位移量,起始点,文件指针)D)fseek(起始点,位移量,文件指针)正确答案: B13.2 若fp是指向某文件的指针,且已读到文件末尾,则函数feof (f p)的返回值是A)EOFB)-1C)1D)NULL正确答案: C13.3 fscanf函数的正确调用形式是A)fscanf(fp,格式字符串,输出表列);B)fscanf(格式字符串,输出表列,fp);C)fscanf(格式字符串,文件指针,输出表列);D)fscanf(文件指针,格式字符串,输入表列);正确答案: D13.4 下列关于C语言数据文件的叙述中正确的是A)文件由ASCII码字符序列组成,C语言只能读写文本文件B)文件由二进制数据序列组成,C语言只能读写二进制文件C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件正确答案: D13.5 函数fseek(pf, OL,SEEK_END)中的SEEK_END代表的起始点是A)文件开始B)文件末尾C)文件当前位置D)以上都不对正确答案: B13.6 C语言中,能识别处理的文件为A)文本文件和数据块文件B)文本文件和二进制文件C)流文件和文本文件D)数据文件和二进制文件正确答案: B13.7 若调用fputc函数输出字符成功,则其返回值是A)EOFB)1C)0D)输出的字符正确答案: D13.8 已知函数的调用形式:fread(buf,size,count,fp),参数buf 的含义是A)一个整型变量,代表要读入的数据项总数B)一个文件指针,指向要读的文件C)一个指针,指向要读入数据的存放地址D)一个存储区,存放要读的数据项正确答案: C13.9 当顺利执行了文件关闭操作时,fclose函数的返回值是A)-1B)TRUEC)0D)1正确答案: C13.10 如果需要打开一个已经存在的非空文件“Demo”进行修改下面正确的选项是A)fp=fopen("Demo","r");B)fp=fopen("Demo","ab+");C)fp=fopen("Demo","w+");D)fp=fopen("Demo","r+");正确答案: D13.11 若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是A)fopen("A:\user\abc.txt","r")B)fopen("A:\\user\\abc.txt","rt+")C)fopen("A:\user\abc.txt","rb")D)fopen("A:\user\abc.txt","w")正确答案: B13.12 fwrite函数的一般调用形式是A)fwrite(buffer,count,size,fp);B)fwrite(fp,size,count,buffer);C)fwrite(fp,count,size,buffer);D)fwrite(buffer,size,count,fp);正确答案: D13.13 C语言中,文件组成的基本单位为A)记录B)数据行C)数据块D)字符序列正确答案: D13.14 C 语言中,系统的标准输入文件是指A)键盘B)显示器C)软盘D)硬盘正确答案: A13.15 有以下程序#includemain(){ FILE *fp; int i=20,j=30,k,n;fp=fopen("d1.dat","w");fprintf(fp,"%d\n",i);fprintf(fp,"%d\n",j);fclose(fp);fp=fopen("d1.dat","r");fscanf(fp,"%d%d",&k,&n); printf("%d %d\n",k,n);fclose(fp);}程序运行后的输出结果是A)20 30B)20 50C)30 50D)30 20正确答案: A13.16 阅读以下程序及对程序功能的描述,其中正确的描述是#includemain(){ FILE *in,*out;char ch,infile[10],outfile[10];printf("Enter the infile name:\n");scanf("%s",infile);printf("Enter the outfile name:\n");scanf("%s",outfile);if((in=fopen(infile,"r"))==NULL){ printf("cannot open infile\n");exit(0);}if((out=fopen(outfile,"w"))==NULL){ printf("cannot open outfile\n");exit(0);}while(! feof(in))fputc(fgetc(in),out);fclose(in);fclose(out);}A)程序完成将磁盘文件的信息在屏幕上显示的功能B)程序完成将两个磁盘文件合二为一的功能C)程序完成将一个磁盘文件复制到另一个磁盘文件中D)程序完成将两个磁盘文件合并并在屏幕上输出正确答案: C13.17 下面的程序执行后,文件test中的内容是#includevoid fun(char *fname,char *st){ FILE *myf; int i;myf=fopen(fname,"w" );for(i=0;ifclose(myf);}main(){ fun("test","new world"); fun("test","hello,");} A)hello, B)new worldhello,C)new worldD)hello, rld正确答案: A13.18 假定当前盘符下有两个文本文件,如下文件名a1.txt a2.txt内容123# 321#则下面程序段执行后的结果为#include "stdio.h"void fc(FILE *p){ char c;while((c=fgetc(p))!=′#′)putchar(C);}main(){ FILE *fp;fp=fopen("a1.txt","r");fc(fp);fclose(fp);fp=fopen("a2.txt","r");fc(fp);fclose(fp);putchar(′\n′);}A)123321B)123C)321D)以上答案都不正确正确答案: A13.19 阅读下面程序,程序实现的功能是(a123.txt在当前盘符下已经存在)#include "stdio.h"void main(){ FILE *fp;int a[10],*p=a;fp=fopen("a123.txt","w");while(strlen(gets(p))>0 ){ fputs(a,fp);fputs("\n",fp);}fclose(fp);}A)从键盘输入若干行字符,按行号倒序写入文本文件a123.txt 中B)从键盘输入若干行字符,取前2行写入文本文件a123.txt中C)从键盘输入若干行字符,第一行写入文本文件a123.txt中D)从键盘输入若干行字符,依次写入文本文件a123.txt中正确答案: D13.20 阅读下面程序,此程序的功能为#include "stdio.h"main(int argc,char *argv[]){ FILE *p1,*p2;int c;p1=fopen(argv[1],"r");p2=fopen(argv[2],"a");c=fseek(p2,0L,2);while((c=fgetc(p1))!=EOF)fputc(c,p2);fclose(p1);fclose(p2);}A)实现将p1打开的文件中的内容复制到p2打开的文件B)实现将p2打开的文件中的内容复制到p1打开的文件C)实现将p1打开的文件中的内容追加到p2打开的文件内容之后D)实现将p2打开的文件中的内容追加到p1打开的文件内容之后正确答案: C二、填空题(请将每一个空的正确答案写在答题卡相应序号后。
2011年全国计算机等级二级C语言模拟试题及答案(9)一、选择题1.一个C语言程序是由()构成。
A.语句B.行号C.数据D.函数2.下面标识符中正确的是()。
A.d&efB.6aC.z4x5cD.a3/b43.在C语言中,存储一个字符型、整型、单精度实型变量所需的空间是()。
型、单精度实型变量所需的空间是()。
A.1、2、4B.1、1、4C.1、2、8D.2、2、84.为了避免嵌套的条件分支语句 if--else中的else总是与()组成成对关系。
A. 缩排位置相同的B. 在其之前未配对的C. 在其之前未配对的最近的ifD. 在同一行上的if5.下列表达式的结果正确的是()。
int aa,bb,cc,dd;aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1;(aa+1==2)?bb=aa+2:aa+3A.2B.3C. 1D.56.设有int x=11 ;则表达式(x+1/3)的值是()。
A.3B. 4C. 11D.127.设有字符串A=“He has 钱!”,则该字符串的长度为()。
A. 9B. 10C. 11D. 88.有如下程序段,则正确的执行结果是()int m=3;while(m<=5){ printf(“%d”,m-3); m++;}A. 0 0 0B.0 1 2C.1 2 3D.无结果9.执行语句:printf("%d",(a=2)&&(b= -2);后,输出结果是()。
A.无输出B.结果不确定C.-1D. 110.有如下定义类型语句,若从键盘输入数据,正确的输入语句是()。
int x; char y; char z[20];A. scanf("%d%c%c",&x,&y,&z);B. scanf("%d%c%s",&x,&y,&z);C. scanf("%d%c%c",&x,&y,z);D. scanf("%d%c%s",&x,&y,z);11. struct ex{ int x ; float y; char z ;} example;则下面的叙述中不正确的是()。
2011年计算机二级C语言编写程序题及答案解析精选【4.1】已知银行整存整取存款不同期限的月息利率分别为:0.315%期限一年0.330%期限二年月息利率=0.345%期限三年0.375%期限五年0.420%期限八年要求输入存钱的本金和期限,求到期时能从银行得到的利息与本金的合计。
【4.2】输入年份year和月month,求该月有多少天。
判断是否为闰年,可用如下C语言表达式:year%4==0&&year0!=0||year@0==0。
若表达式成立(即表达式值为1),则year 为闰年;否则,表达式不成立(即值为0),year为平年。
【4.3】编写一个简单计算器程序,输入格式为:data1op data2。
其中data1和data2是参加运算的两个数,op为运算符,它的取值只能是+、-、*、/。
【4.4】输入n值,输出如图所示矩形。
【4.5】输入n值,输出如图所示平行四边形。
【4.6】输入n值,输出如图所示高为n的等腰三角形。
【4.7】输入n值,输出如图所示高为n的等腰三角形。
【4.8】输入n值,输出如图所示高和上底均为n的等腰梯形。
【4.9】输入n值,输出如图所示高和上底均为n的等腰空心梯形。
【4.10】输入n值,输出如图所示边长为n的空心正六边型。
【4.11】输入n值,输出如图所示图形。
【4.12】输入n值,输出如图所示图形。
【4.13】输入n值,输出如图所示图形。
【4.14】输入n值,输出如图所示图形。
【4.15】输入n值,输出如图所示图形。
【4.16】输入n值,输出如图所示图形。
(例为n=6时)【4.17】编写程序,输出如图所示sin(x)函数0到2π的图形。
【4.18】编写程序,在屏幕上输出一个由*号围成的空心圆。
【4.19】编写程序,在屏幕上绘制如图余弦曲线和直线。
若屏幕的横向为x轴,纵向为y 轴,在屏幕上显示0~360度的cos(x)曲线与直线x=f(y)=45*(y-1)+31的迭加图形。
安徽c语言二级考试真题及答案一、单项选择题(每题2分,共40分)1. 下列关于C语言中变量的叙述中,正确的是()。
A. 变量名必须以字母开头B. 变量名可以包含空格C. 变量名区分大小写D. 变量名可以以数字开头答案:C2. 在C语言中,用于定义一个整型变量的关键字是()。
A. intB. floatC. doubleD. char答案:A3. 在C语言中,以下哪个是合法的标识符?()A. 2variableB. variable2C. variable-2D. variable$2答案:B4. C语言中,以下哪个是正确的字符串字面量?()A. "Hello World"B. 'Hello World'C. "Hello World'D. 'Hello World'答案:A5. 下列哪个选项是C语言中的逻辑运算符?()A. &&B. ||C. !D. A、B和C都是答案:D6. 在C语言中,哪个函数用于计算并返回字符串的长度?()A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A7. C语言中,以下哪个是正确的二维数组声明?()A. int array[3][4];B. int array[][];C. int array[3][];D. int array[4][];答案:A8. 在C语言中,以下哪个是正确的函数声明?()A. int add(int a, int b);B. int add(int, int);C. int add();D. int add(int a);答案:A9. 在C语言中,以下哪个是正确的结构体声明?()A. struct Student {int id;char name[50];};B. struct {int id;char name[50];} Student;C. Student struct {int id;char name[50];};D. struct Student {int id;char name;};答案:A10. 在C语言中,以下哪个是正确的指针声明?()A. int *ptr;B. int *ptr[];C. int ptr*;D. int ptr[];答案:A11. 在C语言中,以下哪个是正确的宏定义?()A. #define PI 3.14B. #define PI = 3.14C. #define PI 3.14;D. #define PI = 3.14;答案:A12. 在C语言中,以下哪个是正确的枚举类型声明?()A. enum Color {Red, Green, Blue};B. enum Color {Red = 1, Green, Blue};C. enum {Red, Green, Blue};D. All of the above答案:D13. 在C语言中,以下哪个是正确的文件操作函数?()A. fopen()B. fclose()C. fgetc()D. All of the above答案:D14. 在C语言中,以下哪个是正确的条件语句?()A. if (condition) statement;B. if statement;C. if (condition) { statement; }D. All of the above答案:D15. 在C语言中,以下哪个是正确的循环语句?()A. for (initialization; condition; increment) statement;B. while (condition) statement;C. do statement while (condition);D. All of the above答案:D二、程序填空题(每题10分,共20分)1. 请填写以下程序中的空白,使其能够正确计算并输出100以内的奇数之和。
A ),机与外部设备B )主机与操作系统C )硬件系统与软件系统D )CPU 、存储器与外部设备A )十进制B )二进制O 八进制D )十六进制A )人工智能B )科学计算O 自动控制D )信息管理A)USBB)SCS1 O1DE D)UBSA )表格结构B )树形结构C )网状结构D )线性结构机密☆启用前二0一三年下半年全国高等学校(安徽考区)计算机水平考试试卷(二级 C 语言程序设计)考生须知:1. 请将准考证号末两位填在试卷第2页右上方的方框内。
2. 单项选择题请在答题卡上填涂;其他内容请在答题卡上作答,试卷上作答无效。
3. 不得将试卷、答题卡、答题卷及稿纸带离考场。
4. 考试试卷为120分钟。
一、单项选择题(每题1分,共40分)1 .一个完整的计算机系统应该包括 1。
2. 在计算机内,数据或指令是以形式传送。
储存及加工处理的。
3. 将计算机用于车票预售,属于计算机在方面的应用。
4. 收发电子邮件的必备条件之一是A )通信双方都要申请一个付费的电子信箱B )通信双方电了信箱必须在同一服务器上C )通信双方都有电子信箱D )电子邮件必须带有附件 5.通常U 盘通过借口与计算机相连。
6. Windows 的文件夹组织结构式一种7. 下列不属于多媒体播放工具的是_7_。
A)windows Media PlayerB )暴风影D )迅雷B )对计算机器起破坏作用的器件D )人为设计的程序B )通过电了邮件进行商务谈判 D )使用信用卡购买商品B )对网络信息进行加密 D )防止计算机数据丢失C ) RealPlayer 实时播放器 8.计算机病毒是一种_8_。
A )含有错误的程序0计算机硬件故障9.电子商务师指_9_。
A )借助于计算机网络进行商务活动 C )使用电子货币进行商品交易10. 安装防火墙的主要目的是_10_A )提高网络的运行效率 C )保护内网不被非法入侵11. C 语言程序中main ()函数可以写在 A )程序文件的开始 C )它所调用的函数的前面D )以上选项均正确 (2013-3)同类题目.下列对c 语言程序的描述中,正确的是A )c 语言程序是从第一个定义的函数开始执行B )c 语言程序总是从最后一个定义的函数执行 O c 语言程序总是从ma in 函数开始执行D ) c 语言函数中main 函数必须放在程序的开始部分)12.下列关于C 语言的叙述错误的是_12—A ) 大写字母和小写字母的意义相同B ) 不同类型的变量可以乐意出现在同一个表达式中C ) 在赋值表达式中,等号(二)左边的变量和右边表达式中的值可以是不同类型D ) 同一个运算符在不同的场合可以有不同的功能 13 .在C 语言中,错误的int 类型常量是_13_A ) 1234B )00039D ) OxAF(2013-3) 是不合法的常量。
2011年9月全国计算机等级考试二级笔试试卷一、选择题A)算法就是程序B)设计算法时只需考虑数据结构的设计C)设计算法时只需考虑结果的可靠性D)以上三种说法都不对(2)下列关于线性链表叙述中,正确的是A)各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B)各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C)进入插入与删除时,不需要移动表中的元素D)以上三种说法都不对(3)下列关于二叉树的叙述中,正确的是A)叶子结点总是比度为2的结点少一个B)叶子结点总是比度为2的结点多一个C)叶子结点数是度为的结点数的两倍D)度为2的结点数是度为1的结点数的两倍(4)软件按功能分为应用软件、系统软件和支撑软件(或工具软件)。
下现属于应用软件的是A)统(5)该系统总体结构图的深度是A)7 B)6 C)3 D)2(6)程序调试的任务是A)设计测试用例B)验证程序的正确性C)发现程序中的错误D)诊断和改正程序中的错误(7)下列关于数据库设计的叙述中,正确是的A)在需求分析阶段建立数据字典B)在概念设计阶段建立数据字典C)在逻辑设计阶段建立数据字典D)在物理设计阶段建立数据字典(8)数据库系统的三级模式不包括A)概念模式B)内模式C)外模式D)数据模式R S T(9)有三个关系R 、S 和T 如下:则由关系R 和S 得到关系T 的操作是 A)自然连接 B)差C)交 D)并(10)下列选项中属于面向对象设计方法主要特征的是A)继承 B)自顶向下 C)模块化 D)逐步求精(11)以下叙述中错误的是A)C 语言编写的函数源程序,其文件名后缀可以是.C B)C 语言编写的函数都可以作为一个独立的源程序文件 C)C 语言编写的每个函数都可以进行独立的编译并执行 D)一个C 语言程序只有一个主函数(12)以下选项中关于程序模块化的叙述错误的是A)把程序分成若干相对独立的模块,可便于编码和调试B)把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块C)可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序 D)可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序 (13)以下选项中关于C 语言常量的叙述错误的是A)所谓常量,是指在程序运行过程中,其值不能被改变的量 B)常量分为整型常量、实型常量、字符常量和字符串常量 C)常量可分为数值常量和非数值常量 D)经常被使用的变量可以定义成常量(14)若有定义语句: int a=10; double b=3.14; ,则表达式'A'+a+b 的值的类型是 A)char B)int C)double D)float (15)若有定义语句: int x=12, y=8, z; ,在其后执行语句z=0.9+x/y;,则z 的值为 A)1.9 B)1 C)2 D)2.4(16)若有定义: int a,b;,通过语scanf("%d;%d",&a,&b);,能把整数3赋给变量a, 5赋给变量b 的输入数据是A)3 5 B)3,5 C)3;5 D)35(17)若有定义语句: int k1=10, k2=20;,执行表达式(k1=k1>k2) && (k2=k2>k1)后,k1和k2的值分别为 A)0和1B)0和20C)10和1D)10和20(18)有以下程序#include <stdio.h> main( ){ int a=1, b=0;if (--a) b++;else if(a==0) b+=2;else b+=3;printf("%d\n",b);}程序运行后的输出结果是A)0 B)1 C)2 D)3(19)下列条件语句中,输出结果与其他语句不同的是A) if(a) printf("%d\n", x); else printf("%d\n",y);B) if(a==0) printf("%d\n", y); else printf("%d\n",x);C) if(a!=0) printf("%d\n", x); else printf("%d\n",y);D) if(a==0) printf("%d\n", x); else printf("%d\n",y);(20)有以下程序#include <stdio.h>main( ){ int a=7;while (a--);printf("%d\n",a);}程序运行后的输出结果是A)-1 B)0 C)1 D)7(21)以下不能输出字符A的语句是(注:字符A的ASCII码值为65,字符a的ASCII码值为97)A)printf("%c\n",'a'-32); B)printf("%d\n",'A')C)printf("%c\n",65); D)printf("%c\n",'B'-1);(22)有以下程序(注:字符a的ASCII码值为97)#include <stdio.h>main( ){ char *s={"abc"};do{ printf("%d",*s%10); ++s; }while (*s);}程序运行后的输入结果是A)abc B)789 C)7890 D)979899(23)若有定义语句: double a,*p=&a; 以下叙述中错误的是A)定义语句中的 * 号是一个间址运算符B)定义语句中的 * 号只是一个说明符C)定义语句中的p只能存放double类型变量的地址D)定义语句中,*p=&a把变量a的地址作为初值赋给指针变量p#include <stdio.h>double f(double x);main( ){ double a=0; int i;for (i=0; i<30; i+=10) a+=f( (double)i);printf("%5.0f\n",a);}double f(double x){ return x*x+1; }程序运行后的输出结果是A)503 B)401 C)500 D)1404(25)若有定义语句: int year=2009, *p=&year;,以下不能使变量year中的值增至2010的语句是A)*p+=1; B)(*p)++; C)++(*p); D)*p++;(26)以下定义数组的语句中错误的是A)int num[]={1,2,3,4,5,6} B)int num[][3]={{1,2},3,4,5,6}; C)int num[2][4]={{1,2},{3,4},{5,6}}; D)int num[][4]={1,2,3,4,5,6};(27)有以下下程序#include <stdio.h>void fun(int *p){ printf("%d\n", p[5]); }main( ){ int a[10]={1,2,3,4,5,6,7,8,9,10};fun(&a[3]);}程序运行后的输出结果是A)5 B)6 C)8 D)9(28)有以下程序#include <stdio.h># define N 4void fun(int a[][N], int b[]){ int i;for (i=0; i<N; i++) b[i]=a[i][i]-a[i][N-1-i];}main( ){ int x[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}}, y[N], i;fun(x, y);for (i=0;i<N; i++) printf("%d,",y[i]); printf("\n");}程序运行后的输出结果是A)-12,-3,0,0, B)-3,-1,1,3, C)0,1,2,3, D)-3,-3,-3,-3,int fun(char *x, char *y){ int n=0;while ( (*x==*y) && *x!='\0') {x++; y++; n++; }return n;}函数的功能是A)查找x和y所指字符串中是否有'\0'B)统计x和y所指字符串中最前面连续相同的字符个数C)将y所指字符串赋给x所指存储空间D)统计x和y所指字符串中相同的字符个数(30)若有定义语句: char *s1="OK", *s2="ok";,以下选项中,能够输出"OK"的语句是A)if (strcm(s1,s2)==0 puts(s1); B)if (strcm(s1,s2)!=0 puts(s2);C)if (strcm(s1,s2)==1 puts(s1); D)if (strcm(s1,s2)!=0 puts(s1);(31)以下程序的主函数中调用了在其前面定义的fun函数#include <stdio.h>∶main( ){ double a[15],k;k=fun(a)∶}则以下选项中错误的fun函数首部是A)double fun( double a[15]) B)double fun( double *a)C)double fun( double a[]) D)double fun( double a)(32)有以下程序#include <stdio.h>#include <string.h>main( ){ char a[5][10]={"china", "beijing", "you", "tiananmen", "welcome"};int i,j; char t[10];for ( i=0; i<4; i++)for (j=i+1; j<5; j++)if( strcmp(a[i], a[j])>0){ strcpy(t,a[i]); strcpy(a[i],a[j]); strcpy(a[j],t); }puts(a[3]);}程序运行后的输出结果是A)beijing B)china C)welcome D)tiananmen(33)有以下程序#include <stdio.h>int f(int m){ static int n=0;n+=m;return n;}main( ){ int n=0;printf("%d,", f(++n));printf("%d\n", f(n++));}程序运行后的输出结果是A)1,2 B)1,1 C)2,3 D)3,3(34)有以下程序#include <stdio.h>main( ){ char ch[3][5]={"AAAA","BBB","CC"};printf( "%s\n", ch[1] );}程序运行后的输出结果是A)AAAA B)CC C)BBBCC D)BBB(35)有以下程序#include <stdio.h>#include <string.h>void fun(char *w, int m){ char s,*p1, *p2;p1=w; p2=w+m-1;while (p1<p2) { s=*p1; *p1=*p2; *p2=s; p1++; p2--; }}main( ){ char a[]="123456";fun( a, strlen(a) ); puts(a);}程序运行后的输出结果是A)654321 B)116611 C)161616 D)123456(36)有以下程序#include <stdio.h>#include <string.h>typedef struct {char name[9]; char sex; int score[2]; } STU;STU f(STU a){ STU b={"Zhao",'m',85,90};int i;strcpy(, );a.sex=b.sex;for (i=0; i<2; i++) a.score[i]=b.score[i];return a;}main( ){ STU c={"Qian",'f',95,92}, d;d=f(c);printf("%s,%c,%d,%d,",,d.sex,d.score[0],d.score[1]);printf("%s,%c,%d,%d\n",,c.sex,c.score[0],c.score[1]);}程序运行后的输出结果是A)Zhao,m,85,90,Qian,f,95,92 B)Zhao,m,85,90,Zhao,m,85,90A)Qian,f,95,92,Qian,f,95,92 B)Qian,f,95,92,Zhao,m,85,90(37)有以下程序#include <stdio.h>main( ){ struct node {int n; struct node *next;} *p;struct node x[3]={{2,x+1}, {4,x+2}, {6, NULL}};p=x;printf("%d,", p->n );printf("%d\n",p->next->n );}程序运行后的输出结果是A)2,3 B)2,4 C)3,4 D)4,6(38)有以下程序#include <stdio.h>main( ){ int a=2, b;b=a<<2; printf("%d\n",b);}程序运行后的输出结果是A)2 B)4 C)6 D)8(39)以下选项中叙述错误的是A)C程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值B)在C程序的同一函数中,各复合语句内可以定义变量,其作用域仅限于本复合语句内C)C程序函数中定义的自动变量,系统不自动赋确定的初值D)C程序函数的形参不可以说明为static型变量(40)有以下程序#include <stdio.h>main( ){ FILE *fp;int k,n,i,a[6]={1,2,3,4,5,6};fp = fopen("d2.dat","w");for (i=0; i<6; i++) fprintf(fp, "%d\n",a[i]);fclose(fp);fp = fopen("d2.dat","r");for (i=0; i<3; i++) fscanf(fp, "%d%d", &k, &n);fclose(fp);printf("%d,%d\n", k, n);}程序运行后的输出结果是A)1,2 B)3,4 C)5,6 D)123,456二、填空题(每空2分,共30分)请将每空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。
安徽省计算机二级c语言笔试试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的叙述中,错误的是()。
A. C语言是一种高级语言B. C语言可以直接在计算机上运行C. C语言具有结构化的特点D. C语言可以用于系统软件和应用软件的开发答案:B2. 在C语言中,以下哪个选项是合法的变量名?()A. 2variableB. intC. _variableD. variable-name答案:C3. 下列哪个选项不是C语言中的运算符?()A. %B. &&C. ::D. <答案:C4. 在C语言中,以下哪个关键字用于定义一个函数?()A. intB. voidC. structD. char答案:B5. 下列关于C语言数组的描述中,正确的是()。
A. 数组的大小在编译时确定B. 数组的大小在运行时确定C. 数组可以存储不同类型的数据D. 数组的索引从1开始答案:A6. 在C语言中,以下哪个选项是正确的字符串字面量?()A. "Hello"B. 'Hello'C. "HelloD. 'Hello'答案:A7. 下列关于C语言指针的叙述中,错误的是()。
A. 指针可以存储地址B. 指针可以存储值C. 指针可以作为函数的参数D. 指针可以被赋值为NULL答案:B8. 在C语言中,以下哪个选项是正确的文件操作函数?()A. printfB. scanfC. fopenD. fclose答案:C9. 下列关于C语言函数的描述中,错误的是()。
A. 函数可以有返回值B. 函数可以没有返回值C. 函数可以有多个返回值D. 函数可以有参数答案:C10. 在C语言中,以下哪个选项是正确的逻辑运算符?()A. &&B. ||C. ==D. =答案:A二、填空题(每题2分,共20分)1. 在C语言中,用于定义一个整型变量的关键字是______。
2011年计算机等级二级C语言笔试题及答案(1)计算机等级考试网更新:2011-6-19 编辑:风清云淡一、填空题1、C语言中基本的数据类型有:__________、__________ 、__________ 。
2、C语言中普通整型变量的类型说明符为__________,在内存中占__________字节,有符号普通整型的数据范围是__________。
3、整数-35在机内的补码表示为__________。
4、执行下列语句int a=8; a+=a-=a*a; 后,a的值是__________ 。
5、有如下语句:char A[ ]={”I am a student”}; 该字符串的长度是__________,A[3]=__________ 。
6、符号”a”和’a’的区别是__________。
7、所谓“指针”就是__________ 。
“&”运算符的作用是__________。
“*”运算符的作用是__________ 。
8、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是__________。
二、选择题1、设整型变量a为5,使b不为2的表达式是()。
A. b=a/2B. b=6-(--a)C. b=a%2D. b=a>3?2:12、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与()组成配对关系。
A. 缩排位置相同的ifB. 在其之前未配对的ifC. 在其之前未配对的最近的ifD.同一行上的if3、以下程序的输出结果是( )。
int x=10,y=10;printf(“%d %d\n”,x--,--y);A. 10 10B. 9 9C. 9 10D. 10 94、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为()。
全国计算机等级考试《二级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程序的模块化主要通过函数来实现。
2011年12月全国高等学校(安徽考区)计算机水平考试试卷(二级C语言程序设计)考试须知:1.请将准考证号末两位填在试卷第2页右上方方框内。
2.单项选择题请在答题卡上填涂;其他内容请在答题卷上作答,试卷上作答无效。
3.不得将试卷、答题卡、答题卷及草稿纸带离考场。
4.考试时间为120分钟。
一、单项选择题(每题1分,共40分)1.在计算机应用领域中,英文缩写“OA”的中文含义是__________。
A)计算机辅助制造B)办公自动化C)计算机辅助教学D)个人计算机2.下列选项中,属于主机范畴的是___________。
A)光盘B)打印机C)U盘D)内存3.与十进制数100不等值的数是__________。
A)(1011011)2 B)(1100100)2 C)(144)8 D)(64)164.下列有关Windows“文件”的叙述,不正确的是_________。
A)文件夹中既可以存放文件,又可以存放文件夹B)文件夹中不能存放同名文件C)不同文件夹中可以存放同名文件D)名称相同的文件和文件夹可以存放在同一文件夹中5.在Windows中右键单击文件后,在弹出的快捷方式中选择“发送到”→“桌面快捷方式”,则_________。
A)移动该文件到桌面B)复制该文件到桌面C)在桌面建立快捷图标D)从桌面发送电子邮件6.最古老、最基本的一种信息保护措施是_________。
A)病毒防护B)防火墙C)加密D)入侵检测7.在计算机多媒体技术中,ASCII码属于__________媒体。
A)感觉B)表示C)储存D)传输8.下列有关计算机病毒的叙述,不正确的是__________。
A)计算机病毒可以把自身复制到内存B)长期不使用感染计算机病毒的计算机,计算机病毒可以自动消失C)计算机病毒可以潜伏在文件中,并不立即发作D)计算机病毒可以侵占系统资源,影响系统运行性能9.网址中http表示________。
A)用户名B)主机的IP地址或域名C)超文本传输协议D)资源在主机上的存放路径10.用高级程序设计语言编写的程序称为_________。
A)源B)可执行C)伪代码D)目标11.以下选项中叙述正确的是____________。
A)C语言程序总是从第一个定义的函数开始执行B)在C语言程序中,被调用的函数必须在main()函数中声明C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分12.C语言程序的三种基本结构是顺序结构、选择结构和________结构。
A)循环B)递归C)转移D)嵌套13.以下选项中不属于C语言的基本数据类型____________。
A)int B)double C)char D)bool14.以下选项中正确的C语言标识符是_________。
A)2b B)x__1 C)a@b D)3#h15.以下选项中关于C语言的叙述错误的是____________。
A)变量不能使用大写字母命名B)在一个表示中可以出现不同类型的变量C)可以将一个字符型常量赋值给一个整型变量D)可以将一个整型常量赋值给一个实型变量16.以下选项中,和语句k=n++;等价的是___________。
A)k=n,n=n+1;B)n=n+1,k=n;C)k=++n;D)k=n+1;17.已知:int i=3,j=2;,则执行语句j*==i+2;printf(“%d”,j);后,输出结果是________。
A)8 B)10 C)12 D)1418.已知:int a=2,b=3,c;,则执行语句c=(a+2,b+2);后,输出结果是__________。
A)2 B)3 C)4 D)519.已知:int x,y;float z;,若要给变量x,y,z输入数据,以下正确的输入语句是______。
A)scanf(“%d,%d,%d”,x,y,z); B)scanf(“%d,%d,%f”,&x;&y;&z);C)scanf(“%d,%d,%f”,&x,&y,&z); D)scanf(“%2d,%2d,%3.2f”,x;y;z);20.华氏温度F和摄氏温度C的关系是c=5/9(F-32)。
已知:float c,f;,由华氏温度F求摄氏温度C的不正确的复制表达式是_______。
A)c=5/9(f-32) B)c=5.0/9*(f-32) C)c=5*(f-32)/9 D)c=(float)5/9*(f-32)21.一个C程序中要调用sqrt()函数时,应在程序中包含的头文件是________。
A)stdio.h B)math.h C)string.h D)stdlib.h22.已知:char c=‘a’;,则执行语句printf(“%c”,c-32);后,输出结果是________。
A)A B)65 C)97 D)出错23.能正确表示逻辑关系“a≥5或a≤﹣1”的C语言表达式是_________。
A)a>=5.or .a<=﹣1 B)a>=5.and.a<=﹣1 C)a>=5&&a<=﹣1 D)a>=5||a<=﹣124.已知:int i=7;则表达式9<=i<=20的值是___________。
dA)0 B)1 C)19 D)表达式不正确25.已知:int a=3,b=6,c=1;则执行语句(a>b)&&(c=b+2);后,c的值是_________。
A)0 B)1 C)6 D)826.if(表达式)……;语句中的表达式___________。
A)只能是关系表达式B)只能是逻辑表达式C)只能是关系表达式或逻辑表达式C)可以是任何表达式27.已知:int k=1;则语句while(k<=5) k++;中循环体语句执行的次数是_________。
A)0 B)4 C)5 D)628.执行下面程序后,输出结果是____________。
#include<stdio.h>Void main(){Int x,y;For(x=1,y=10;x<y;x++)y--;printf(“%d\n”,x);}A) 5 B)6 C)4 D)死循环29.已知以下程序Int p;Do{Scanf(“%d”,&p);}While(p>=100);此处循环的结束条件是_________。
A)p的值大于100 B)P的值大于等于100 C)P的值小于100 D)P 的值小于等于10030.已知:int a[8]={1,2,3,4,5,6,7,8},x;,则执行语句x=s[2]+s[4];后,x的值是_________。
A)8 B)6 C)7 D)331.对一维数组初始化正确的语句是_________。
A)int s[4]={0,1,2,3,4}; B)int s[]={0,1,2,3,4}; C)int s[4];s{0,1,2,3,4}; D) int s[];s{0,1,2,3,4};32.已知:char s[20];以下正确的语句是__________。
A)s=”Merry Christmas”; B)s[20]= ”Merry Christmas”;C)strcpy(s, ”Merry Christmas” ); D)strcpy(”Merry Christmas”,s);33.已知:char a[3][10]={“heifei”,”anqing”,”huangshan”};,能正确显示字符‘q’的语句是___________。
A)printf(“%c”,a[1][2]); B)printf(“%c”,a[2][2]);C)printf(“%c”,a[1][3]); D)printf(“%c”,a[2][3]);34.执行以下程序后,输出结果是__________。
#include<stdio.h>Void swap(int *x,int *y){int t;t=*x,*x=*y,*y=t;}Void main( ){int a=12,b=24;Swap(&a,&b);Printf(“%d,%d”,a,b);}35.若调用函数时用数组名作为实参,则传递给形参的是___________。
A)数组首地址B)数组的第一个元素值C)数组中全部元素的值D)数组元素的个数36.执行以下程序后,输出结果是______________。
#include<stdio.h>Void main( ){ int a[6]={4,2,10,5,20,7},*p=a;Printf(“%d”,*(p+2));A)2B)3C)6D)1037.执行以下程序后,输出结果是______。
#define SQ(a) a*a#include<stdio.h>Void main( ){ int a=3;Printf(“%d”,9/SQ(a));}A) 1 B)3 C)6 D)938.已知:Struct student{int number;Char name[10];Char sex;}s;则以下叙述中正确的是______________。
A)struct是类型名B)s是类型名C)s是结构体变量D)student是结构体变量39.已知:int a=15;,执行语句a=a<<2;后,变量a的值是____________。
A)20 B)40 C)60 D)8040.若要打开已存在的文本文件abc.txt,并对此文件进行读、写操作,则正确的语句是____________。
A)fopen(“abc.txt”,”r”); B) )fopen(“abc.txt”,”r+”);C)fopen(“abc.txt”,”rb”); D) )fopen(“abc.txt”,”w”);二.填空题(每空2分,共20分)1.已知int x=8,y=3;,则执行语句x%=y;后x的值是____________。
2.已知int a=7,b=2;,则执行语句printf(“%d”,a/b);后的输出结果是_____________。
3.执行语句printf(“%.4f”,2012.20122102);后的结果是________________。
4.已知int x=010;,则执行语句printf(”%d”,x);后的输出结果是______________。
5.数学条件式“20<x<30”对应的C语言表达式是___________________。
6.已知int a=1,b=2,c=3,d=4;,则条件表达式a<b?c:d的值是_________________。