2011年全国计算机等级二级C语言模拟试题及答案(15)

合集下载

2011计算机等考二级C语言课后练习题及答案

2011计算机等考二级C语言课后练习题及答案

2011计算机等级二级C语言课后练习题及答案(1)一、单项选择题1.C语言程序的执行,总是起始于【】。

A) 程序中的第一条可执行语句B) 程序中的第一个函数C) main函数D) 包含文件中的第一个函数分析:在一个C语言源程序中,无论main函数书写在程序的前部,还是后部,程序的执行总是从main函数开始,并且在main函数中结束。

本题正确答案为C。

2.下列说法中正确的是【】。

A) C程序书写时,不区分大小写字母B) C程序书写时,一行只能写一个语句C) C程序书写时,一个语句可分成几行书写D) C程序书写时每行必须有行号分析:C语言严格区分大小写字母,如"A1"和"a1"被认为是两个不同的标识符,C程序的书写非常灵活,既可以一行多句,又可以一句多行,且每行不加行号。

本题正确答案为C。

3.下面对C语言特点,不正确描述的是【】。

A) C语言兼有高级语言和低级语言的双重特点,执行效率高B) C语言既可以用来编写应用程序,又可以用来编写系统软件C) C语言的可移植性较差D) C语言是一种结构式模块化程序设计语言分析:C语言是介于汇编语言和高级语言之间的一种语言,由于它可以直接访问物理地址,对硬件操作,所以C语言既可以编写应用程序,又可以开发系统软件,而且C程序可移植性好于汇编语言,程序清晰具有模块化的特点。

本题正确答案为C。

4.C语言源程序的最小单位是【】。

A) 程序行B) 语句C) 函数D) 字符分析:程序行、语句、函数都是由字符构成的,字符是C语言的最小单位。

本题正确答案为D。

5.以下四项中属于C语言关键字的是【】。

A) CHAR B) define C) unsigned D) return分析:C语言有32个关键字(或称保留字),它们都有特定的含意,并且由小写字母组成,所以选项A是错的,选项B不是保留字,选项D是return的错误拼写。

本题正确答案为C。

最新2011年9月全国计算机等级考试二级C语言 (全)

最新2011年9月全国计算机等级考试二级C语言 (全)

第一套1.程序填空程序通过定义学生结构体数组,存储了若干个学生的学号、姓名和三门课的成绩。

函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大排序)。

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

第一处struct student t;第二处for(i=0;i<n-1;i++)第三处if(strcmp(a[i].name,a[j].name)>0)2程序修改给定程序MODI1.C中函数fun的功能是:在p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向上顺序移动。

/**found**/q=p+i;/**found**/while(q>p)3程序设计学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写了函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。

int fun(STREC *a,STREC *b,int l,int h){int i,j=0;for(i=0;i<N;i++)if((a[i].s>=1&&a[i].s<=h)b[j++]=a[i];return j;}第二套1.程序填空给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序连接。

函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。

第一处free(q);第二处q=p->next;第三处q=q->next;2. 程序修改给定程序MODI1.C中函数fun的功能是:用选择法对数组中的n各元素按从小到大的顺序进行排序。

/**found**/p=j;/**found**/p=i;3. 程序设计请编写一个fun函数,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n 返回这些数的个数。

2011年9月全国计算机二级C语言考试真题及答案

2011年9月全国计算机二级C语言考试真题及答案

2011年9月全国计算机等级考试二级笔试试卷C语言程序设计(考试时间90分钟,满分100分)一、选择题((1)—(10)、(21)—(40)每题2分,(11)—(20)每题1分,共70分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。

请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。

(1)下列叙述中正确的是A)算法就是程序B)设计算法时只需考虑数据结构的设计C)设计算法时只需考虑结果的可靠性D)以上三种说法都不对(2)下列关于线性链表叙述中,正确的是A)各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B)各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C)进入插入与删除时,不需要移动表中的元素D)以上三种说法都不对(3)下列关于二叉树的叙述中,正确的是A)叶子结点总是比度为2的结点少一个B)叶子结点总是比度为2的结点多一个C)叶子结点数是度为的结点数的两倍D)度为2的结点数是度为1的结点数的两倍(4)软件按功能分为应用软件、系统软件和支撑软件(或工具软件)。

下现属于应用软件的是A)学生成绩管理系统B)C语言编译程序C)UNIX操作系统D)数据库管理系统(5)该系统总体结构图的深度是A)7 B)6 C)3 D)2(6)程序调试的任务是A)设计测试用例B)验证程序的正确性C)发现程序中的错误D)诊断和改正程序中的错误(7)下列关于数据库设计的叙述中,正确是的A)在需求分析阶段建立数据字典B)在概念设计阶段建立数据字典C)在逻辑设计阶段建立数据字典D)在物理设计阶段建立数据字典(8)数据库系统的三级模式不包括A)概念模式B)内模式C)外模式D)数据模式(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)(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[]="";fun( a, strlen(a) ); puts(a);}程序运行后的输出结果是A) B) C) D)(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语言真题库之选择题(15)

全国计算机等级考试二级C语言真题库之选择题(15)

全国计算机等级考试等级考试真题库之选择题(15)1.下列链表中,其逻辑结构属于非线性结构的是A) 二叉链表B) 循环链表C) 双向链表D) 带链的栈参考答案:A【解析】在定义的链表中,若只含有一个指针域来存放下一个元素地址,称这样的链表为单链表或线性链表。

带链的栈可以用来收集计算机存储空间中所有空闲的存储结点,是线性表。

在单链表中的结点中增加一个指针域指向它的直接前件,这样的链表,就称为双向链表(一个结点中含有两个指针),也是线性链表。

循环链表具有单链表的特征,但又不需要增加额外的存贮空间,仅对表的链接方式稍做改变,使得对表的处理更加方便灵活,属于线性链表。

二叉链表是二叉树的物理实现,是一种存储结构,不属于线性结构。

答案为A选项。

2.设循环队列的存储空间为Q(1: 35),初始状态为front=rear=35。

现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为A) 15B) 16C) 20D) 0或35参考答案:D【解析】在循环队列中,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置。

在循环队列中进行出队、入队操作时,头尾指针仍要加1,朝前移动。

只不过当头尾指针指向向量上界时,其加1操作的结果是指向向量的下界0。

由于入队时尾指针向前追赶头指针,出队时头指针向前追赶尾指针,故队空和队满时,头尾指针均相等。

答案为D选项。

3.下列关于栈的叙述中,正确的是A) 栈底元素一定是最后入栈的元素B) 栈顶元素一定是最先入栈的元素C) 栈操作遵循先进后出的原则D) 以上说法均错误参考答案:C【解析】栈顶元素总是后被插入的元素,从而也是最先被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。

栈的修改是按后进先出的原则进行的。

因此,栈称为先进后出表,或"后进先出"表,所以选择C。

4.在关系数据库中,用来表示实体间联系的是A) 属性B) 二维表C) 网状结构D) 树状结构参考答案:B【解析】关系模型实体间的联系采用二维表来表示,简称表。

2011年3月计算机二级考试c语言试题及答案详细解析

2011年3月计算机二级考试c语言试题及答案详细解析

2011年3月计算机二级考试c 语言试题及答案详细解析2011年3月全国计算机等级考试二级笔试试卷C语言程序设计(考试时间90分钟,满分100分)一、选择题(1-10,21-40每题2分,11-20每题1分,共70分)(1)下列关于栈叙述正确的是A)栈顶元素最先能被删除B)栈顶元素最后才能被删除C)栈底元素永远不能被删除D)以上三种说法都不对(2)下列叙述中正确的是A)有一个以上根结点的数据结构不一定是非线性结构B)只有一个根结点的数据结构不一定是线性结构C)循环链表是非线性结构D)双向链表是非线性结构(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)A)3 B)4 C)6 D)7(4)在软件开发中,需求分析阶段产生的主要文档是A)软件集成测试计划 B)软件详细设计说明书C)用户手册 D)软件需求规格说明书(5)结构化程序所要求的基本结构不包括A)顺序结构 B)GOTO跳转C)选择(分支)结构 D)重复(循环)结构(6)下面描述中错误的是A)系统总体结构图支持软件系统的详细设计B)软件设计是将软件需求转换为软件表示的过程C)数据结构与数据库设计是软件设计的任务之一D)PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是A)数据定义语言B)数据管理语言C)数据操纵语言A)a=(b=4)=3; B)a=b=c+1;C)a=(b=4)+c; D)a=1+(b=c=4);(16)有以下程序段char name[20];int num;scanf("name=%s num=%d",name;&num);当执行上述程序段,并从键盘输入:name=Lili num=1001<回车>后,name 的值为A)Lili B)name=Lili C)Lili num= D)name=Lili num=1001(17)if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是A)必须是逻辑值 B)必须是整数值C)必须是正数 D)可以是任意合法的数值(18)有以下程序#includemain(){ int x=011;printf("%d\n",++x);}程序运行后的输出结果是A)12 B)11 C)10 D)9(19)有以下程序#includemain(){ int s;scanf("%d",&s);while(s>0){ switch(s){ case1:printf("%d",s+5);case2:printf("%d",s+4); break;case3:printf("%d",s+3);default:printf("%d",s+1);break;}scanf("%d",&s);}}运行时,若输入1 2 3 4 5 0<回车>,则输出结果是A)6566456 B)66656 C)66666 D)6666656(20)有以下程序段int i,n;for(i=0;i<8;i++){ n=rand()%5;switch (n){ case 1:case 3:printf("%d\n",n); break;case 2:case 4:printf("%d\n",n); continue;case 0:exit(0);}printf("%d\n",n);}以下关于程序段执行情况的叙述,正确的是A)for循环语句固定执行8次 B)当产生的随机数n为4时结束循环操作C)当产生的随机数n为1和2时不做任何操作D)当产生的随机数n为0时结束程序运行(21)有以下程序#includemain(){ char s[]="012xy\08s34f4w2";int i,n=0;for(i=0;s[i]!=0;i++)if(s[i]>='0'&&s[i]<='9') n++;printf("%d\n",n);}程序运行后的输出结果是A)0 B)3 C)7 D)8(22)若i和k都是int类型变量,有以下for语句for(i=0,k=-1;k=1;k++) printf("*****\n");下面关于语句执行情况的叙述中正确的是A)循环体执行两次B)循环体执行一次C)循环体一次也不执行D)构成无限循环(23)有以下程序#includemain(){ char b,c; int i;b='a'; c='A';for(i=0;i<6;i++){ if(i%2) putchar(i+b);else putchar(i+c);} printf("\n");}程序运行后的输出结果是A)ABCDEF B)AbCdEf C)aBcDeF D)abcdef(24)设有定义:double x[10],*p=x;,以下能给数组x下标为6的元素读入数据的正确语句是A)scanf("%f",&x[6]); B)scanf("%lf",*(x+6));C)scanf("%lf",p+6); D)scanf("%lf",p[6]);(25)有以下程序(说明:字母A的ASCII码值是65)#includevoid fun(char *s){ while(*s){ if(*s%2) printf("%c",*s);s++;}}main(){ char a[]="BYTE";fun(a); printf("\n");}程序运行后的输出结果是A) BY B) BT C) YT D) YE(26)有以下程序段#includemain(){ …while( getchar()!='\n');…}以下叙述中正确的是A)此while语句将无限循环B) getchar()不可以出现在while语句的条件表达式中C)当执行此while语句时,只有按回车键程序才能继续执行D)当执行此while语句时,按任意键程序就能继续执行(27)有以下程序#includemain(){ int x=1,y=0;if(!x) y++;else if(x==0)if (x) y+=2;else y+=3;printf("%d\n",y);}程序运行后的输出结果是A)3 B)2 C)1 D) 0(28)若有定义语句:char s[3][10],(*k)[3],*p;,则以下赋值语句正确的是A)p=s; B)p=k; C)p=s[0]; D)k=s;(29)有以下程序#includevoid fun(char *c){ while(*c){ if(*c>='a'&&*c<='z') *c=*c-('a'-'A');c++;}}main(){ char s[81];gets(s); fun(s); puts(s):}当执行程序时从键盘上输入Hello Beijing<回车>,则程序的输出结果是A)hello beijing B)Hello Beijing C)HELLO BEIJING D)hELLO Beijing(30)以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。

2011年全国计算机等级二级C语言模拟试题及答案

2011年全国计算机等级二级C语言模拟试题及答案

2011年全国计算机等级二级C语言模拟试题及答案(1)一、填空题1、C语言中基本的数据类型有:__________ 、___________ 、___________ 。

2、C语言中普通整型变量的类型说明符为_____________ ,在内存中占___________ 字节,有符号普通整型的数据范围是____________ 。

3、整数-35在机内的补码表示为__________ 。

4、执行下列语句int a=8; a+=a-=a*a;后,a的值是_________________ 。

5、有如下语句:char A[ ]={ ” a I a student ”该;字符串的长度是 ____________ ,A[3]= _______________ 。

6符号” a” a'区别是_____________ 。

7、所谓指针”就是__________ 。

“ &运算符的作用是 _________ 。

“ *运算符的作用是 _________ 。

8、有如下输入语句:scanf(“ a=%d,b=%d,c=%d,&a,&b,&为使变量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 n”,x,--y);A.10 10B.9 9C.9 10D.10 94、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i个元素的地址为( )。

全国计算机等级考试二级C语言真题库之选择题(15)

全国计算机等级考试二级C语言真题库之选择题(15)

全国计算机等级考试等级考试真题库之选择题〔15〕1.以下链表中,其逻辑构造属于非线性构造的是A) 二叉链表B) 循环链表C) 双向链表D) 带链的栈参考答案:A【解析】在定义的链表中,假设只含有一个指针域来存放下一个元素地址,称这样的链表为单链表或线性链表。

带链的栈可以用来收集计算机存储空间中所有空闲的存储结点,是线性表。

在单链表中的结点中增加一个指针域指向它的直接前件,这样的链表,就称为双向链表〔一个结点中含有两个指针〕,也是线性链表。

循环链表具有单链表的特征,但又不需要增加额外的存贮空间,仅对表的链接方式稍做改变,使得对表的处理更加方便灵活,属于线性链表。

二叉链表是二叉树的物理实现,是一种存储构造,不属于线性构造。

答案为A选项。

Q(1: 35),初始状态为front=rear=35。

现经过一系列入队与退队运算后,front=15,rear=15,那么循环队列中的元素个数为A) 15B) 16C) 20D) 0或35参考答案:D【解析】在循环队列中,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置。

在循环队列中进展出队、入队操作时,头尾指针仍要加1,朝前移动。

只不过当头尾指针指向向量上界时,其加1操作的结果是指向向量的下界0。

由于入队时尾指针向前追赶头指针,出队时头指针向前追赶尾指针,故队空和队满时,头尾指针均相等。

答案为D选项。

3.以下关于栈的表达中,正确的选项是A) 栈底元素一定是最后入栈的元素B) 栈顶元素一定是最先入栈的元素C) 栈操作遵循先进后出的原那么D) 以上说法均错误参考答案:C【解析】栈顶元素总是后被插入的元素,从而也是最先被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。

栈的修改是按后进先出的原那么进展的。

因此,栈称为先进后出表,或"后进先出"表,所以选择C。

4.在关系数据库中,用来表示实体间联系的是A) 属性B) 二维表C) 网状构造D) 树状构造参考答案:B【解析】关系模型实体间的联系采用二维表来表示,简称表。

2011年计算机二级C语言各类题型试题及答案解析精选汇总

2011年计算机二级C语言各类题型试题及答案解析精选汇总

一、单项选择题【1.1】以下不正确的C语言标识符是____。

A) int B) a_1_2 C) ab1exe D) _x【1.2】以下是正确的C语言标识符是____。

A) #define B) _123 C) %d D) \n【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。

••• A) print B) i\am C) Pxq D) str_l ••• _3d one_half My->book Cpp ••• oodbs tart$it line# pow ••• aBc 3pai His.age while【1.4】下面各选项组中,均是C语言关键字的组是。

A) auto,enum,include B) switch,typedef,continue C) signed,union,scanf D) if,struct,type【1.5】下列不属于C语言关键字的是。

A) default B) register C) enum D) external【1.6】C语言程序从main()函数开始执行,所以这个函数要写在____。

A) 程序文件的开始B) 程序文件的最后C) 它所调用的函数的前面D) 程序文件的任何位置【1.7】下列关于C语言的叙述错误的是____A) 大写字母和小写字母的意义相同B) 不同类型的变量可以在一个表达式中C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D) 同一个运算符号在不同的场合可以有不同的含义【1.8】在C语言中,错误的int类型的常数是。

A) 32768 B) 0 C) 037 D) 0xAF【1.9】执行语句printf("%x",-1);屏幕显示____。

A) -1 B) 1 C) -ffff D) ffff【1.10】已知long i=32768;执行语句printf("%d",i);屏幕显示____。

2011年3月计算机二级C语言真题含答案

2011年3月计算机二级C语言真题含答案

2011年3月電腦等級考試二級C語言筆試一、選擇題(1)下列關於棧敘述正確的是A)棧頂元素最先能被刪除B)棧頂元素最後才能被刪除C)棧底元素永遠不能被刪除D)以上三種說法都不對(2)下列敘述中正確的是A)有一個以上根結點的數據結構不一定是非線性結構B)只有一個根結點的數據結構不一定是線性結構C)迴圈鏈表是非線性結構D)雙向鏈表是非線性結構(3)某二叉樹共有7個結點,其中葉子結點只有1個,則該二叉樹的深度為(假設根結點在第1層)A)3 B)4 C)6 D)7(4)在軟體開發中,需求分析階段產生的主要文檔是A)軟體集成測試計畫B)軟體詳細設計說明書C)用戶手冊D)軟體需求規格說明書(5)結構化程式所要求的基本結構不包括A)順序結構B)GOTO跳轉C)選擇(分支)結構D)重複(迴圈)結構(6)下麵描述中錯誤的是A)系統總體結構圖支持軟體系統的詳細設計B)軟體設計是將軟體需求轉換為軟體表示的過程C)數據結構與資料庫設計是軟體設計的任務之一D)PAD圖是軟體詳細設計的表示工具(7)負責資料庫中查詢操作的資料庫語言是A)數據定義語言B)數據管理語言C)數據操縱語言D)數據控制語言(8)一個教師可講授多門課程,一門課程可由多個教師講授。

則實體教師和課程間的聯繫是A)1:1聯繫B)1:m聯繫C)m:1聯繫D)m:n聯繫(9)有三個關係R、S和T如下:RA B C a 1 2B 2 1C 3 1SA BC 3TC1則由關係R和S得到關係T的操作是A)自然連接B)交C)除D)並(10)定義無符號整數類為UInt,下麵可以作為類UInt實例化值的是A)-369 B)369 C)0.369 D)整數集合{1,2,3,4,5}(11)電腦高級語言程式的運行方法有編譯執行和解釋執行兩種,以下敘述中正確的是A)C語言程式僅可以編譯執行B)C語言程式僅可以解釋執行C)C語言程式既可以編譯執行又可以解釋執行D)以上說法都不對(12)以下敘述中錯誤的是A)C語言的可執行程式是由一系列機器指令構成的B)用C語言編寫的根源程式不能直接在電腦上運行C)通過編譯得到的二進位目標程式需要連接才可以運行D)在沒有安裝C語言集成開發環境的機器上不能運行C根源程式生成的.exe檔(13)以下選項中不能用作C程式合法常量的是A)1,234 B)'123'C)123 D)"\x7G"(14)以下選項中可用作C程式合法實數的是A).1e0 B)3.0e0.2C)E9 D)9.12E(15)若有定義語句:int a=3,b=2,c=1;,以下選項中錯誤的賦值運算式是A)a=(b=4)=3; B)a=b=c+1;C)a=(b=4)+c; D)a=1+(b=c=4);(16)有以下程式段char name[20];int num;scanf("name=%s num=%d",name;&num);當執行上述程式段,並從鍵盤輸入:name=Lili num=1001<回車>後,name的值為A)LiliB)name=LiliC)Lili num=D)name=Lili num=1001(17)if語句的基本形式是:if(運算式)語句,以下關於“運算式”值的敘述中正確的是A)必須是邏輯值B)必須是整數值C)必須是正數D)可以是任意合法的數值(18)有以下程式#includemain(){ int x=011;printf("%d\n",++x);}程式運行後的輸出結果是A)12 B)11 C)10 D)9(19)有以下程式#includemain(){ int s;scanf("%d",&s);while(s>0){ switch(s){ case1:printf("%d",s+5);case2:printf("%d",s+4); break;case3:printf("%d",s+3);default:printf("%d",s+1);break;}scanf("%d",&s);}}運行時,若輸入1 2 3 4 5 0<回車>,則輸出結果是A)6566456 B)66656 C)66666 D)6666656(20)有以下程式段int i,n;for(i=0;i<8;i++){ n=rand()%5;switch (n){ case 1:case 3:printf("%d\n",n); break;case 2:case 4:printf("%d\n",n); continue;case 0:exit(0);}printf("%d\n",n);}以下關於程式段執行情況的敘述,正確的是A)for迴圈語句固定執行8次B)當產生的亂數n為4時結束迴圈操作C)當產生的亂數n為1和2時不做任何操作D)當產生的亂數n為0時結束程式運行(21)有以下程式#includemain(){ char s[]="012xy\08s34f4w2";int i,n=0;for(i=0;s[i]!=0;i++)if(s[i]>='0'&&s[i]<='9') n++;printf("%d\n",n);}程式運行後的輸出結果是A)0 B)3 C)7 D)8(22)若i和k都是int類型變數,有以下for語句for(i=0,k=-1;k=1;k++) printf("*****\n");下麵關於語句執行情況的敘述中正確的是A)循環體執行兩次B)循環體執行一次C)循環體一次也不執行D)構成無限迴圈(23)有以下程式#includemain(){ char b,c; int i;b='a'; c='A';for(i=0;i<6;i++){ if(i%2) putchar(i+b);else putchar(i+c);} printf("\n");}程式運行後的輸出結果是A)ABCDEF B)AbCdEf C)aBcDeF D)abcdef(24)設有定義:double x[10],*p=x;,以下能給數組x下標為6的元素讀入數據的正確語句是A)scanf("%f",&x[6]); B)scanf("%lf",*(x+6));C)scanf("%lf",p+6); D)scanf("%lf",p[6]);(25)有以下程式(說明:字母A的ASCII碼值是65)#includevoid fun(char *s){ while(*s){ if(*s%2) printf("%c",*s);s++;}。

2011年全国计算机二级C语言上机题题库及答案

2011年全国计算机二级C语言上机题题库及答案

{ b[j]=a[i]; j++; } b[j]=‘\0’; }
7: 第7题 请编写一个函数int fun(int *s,int t,int *k),用来求除数组的最 大元素在数组中的下标并存放在k所指的储存单元中。 答案: void fun (int *s, int t, int *k) { int I, max; max=s[0]; for(i=0;i<t;i++) if (s[i]>max) { max=s[i]; *k=I; } }
6: 第6题 请编写一个函数void fun(char a[],char[],int n),其功能是:删 除以各字符串中指定下标的字符。其中,a指向原字符串,删除后的字 符串存放在b所指的数组中,n中存放指定的下标。 答案: void fun(char a[],char b[], int n) { int I,j=0; for (i=0;i<LEN;i++) if (i!=n)
17: 第17题 请编写一个函数fun(char *s),该函数的功能使把字符串中 的内容拟置。 答案: void fun(char *s) { char ch; int I,m,n; i=0; m=n=strlen(s)-1; while(i<(n+1)/2) { ch=s[i]; s[i]=s[m]; s[m]=ch; i++;
for(j=0;j<N;j++) { s+=w[N-1][j]; k++; } for(i=1;i<=N-2;i++) { s+=w[i][0]; k++; } for(i=1;i<=N-2;i++) { s+=w[ return s/=k; }

2011年计算机等级考试二级C语言上机题库(含答案)

2011年计算机等级考试二级C语言上机题库(含答案)

2011年最新版最完整考试题库,相信大家一定都能通过!第一套程序填空给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。

如输入一个数:27638496,新的数为729第一空:{ t=*n%10;第二空:if(t%2!=0)第三空:*n=x;2.程序修改给定程序modi1.c中函数fun的功能是:计算n!。

例如,给n输入5,则输出120.000000。

double fun(int n ){ double result=1.0;/*****found******/if(n==0)return 1.0;while(n>1&&n<170)/*****found******/result*=n--;return result;}程序设计请编写一个函数fun,它的功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。

例如,若输入字符串“-1234”,则函数把它转换为整数值-1234。

long fun(char *p){int i,len,t;long x=0;len=strlen(p);if(p[0]==’-‘){ t=-1;len--;p++;}else t=1;while(*p)x=x*10-48+(*p++);return x*t;第二套1. 给定程序中,函数fun的功能是将形参给定的字符串、整数、浮点数写到文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。

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

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

第1 处FILE * fp;第2 处while (!feof(fp)) {第3 处putchar(ch); ch = fgetc(fp); }2.程序修改给定程序MODI1.C中函数fun的功能是:依次取出字符串中所有数字字符,形成新的字符串,并取代原字符串。

2011年c语言下半年c语言全国高等学校试题与答案

2011年c语言下半年c语言全国高等学校试题与答案
2011年下半年全国高等学校 (安徽考区)计算机水平考试试卷 (二级 C语言程序设计) 考生须知: 1. 请将准证号末的卷第二页右上方方框内。 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)2C)(1 44)8 D)(64)16 4.下列有关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) 语言程序总是从main()函数开始执行 D)C语言程序中的main()函数必须存放在程序的开始部分 12. C语言程序的三种基本结构是顺序结构、选择结构和————结 构。 A)循环 B)递归 C)转移 D)嵌套 13.以下选) double C) char D)bool 14.以下选项中正确的C语言标识符是————。 A) 2b B) x_1 C) a@b D) 3#h 15. 以下选项中有关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)14 18. 已知int a=2,b=3,c',,则执行语句c=(a+2,b+2);后,c的输出结果

2011年9月全国计算机二级等级考试C语言公共基础知识选择92题+填空题46题(含答案)

2011年9月全国计算机二级等级考试C语言公共基础知识选择92题+填空题46题(含答案)

计算机二级C等级考试公共基础知识(1) 下面叙述正确的是______。

(C)A算法的执行效率与数据的存储结构无关B. 算法的空间复杂度是指算法程序中指令(或语句)的条数C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止D. 以上三种描述都不对(2) 以下数据结构中不属于线性数据结构的是______。

(C)A. 队列B. 线性表C. 二叉树D. 栈(3) 在一棵二叉树上第5层的结点数最多是______。

(B)A. 8B. 16C. 32D. 15(5) 下面概念中,不属于面向对象方法的是______。

(D)A. 对象B. 继承C. 类D. 过程调用(6) 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是______。

(B)A. 可行性分析B. 需求分析C. 详细设计D. 程序编码(7) 在软件开发中,下面任务不属于设计阶段的是______。

(D)A. 数据结构设计B. 给出系统模块结构C. 定义模块算法D. 定义需求并建立系统模型(8) 数据库系统的核心是______。

(B)A. 数据模型B. 数据库管理系统C. 软件工具D. 数据库(9) 下列叙述中正确的是______。

(C)A. 数据库是一个独立的系统,不需要操作系统的支持B. 数据库设计是指设计数据库管理系统C. 数据库技术的根本目标是要解决数据共享的问题D. 数据库系统中,数据的物理结构必须与逻辑结构一致(10) 下列模式中,能够给出数据库物理存储结构与物理存取方法的是______。

(A)A. 内模式B. 外模式C. 概念模式D. 逻辑模式(11) 算法的时间复杂度是指______。

(C)A. 执行算法程序所需要的时间B. 算法程序的长度C. 算法执行过程中所需要的基本运算次数D. 算法程序中的指令条数(12) 下列叙述中正确的是______。

(A)A. 线性表是线性结构B. 栈与队列是非线性结构C. 线性链表是非线性结构D. 二叉树是线性结构(13) 设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为______。

(2021年整理)2011年3月份全国计算机等级考试二级C语言选择题带详解题库

(2021年整理)2011年3月份全国计算机等级考试二级C语言选择题带详解题库

编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整版)2011年3月份全国计算机等级考试二级C语言选择题带详解题库)的内容能够给您的工作和学习带来便利。

同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。

本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整版)2011年3月份全国计算机等级考试二级C语言选择题带详解题库的全部内容。

详解题库编辑整理:张嬗雒老师尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布到文库,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是我们任然希望(完整版)2011年3月份全国计算机等级考试二级C语言选择题带详解题库这篇文档能够给您的工作和学习带来便利。

同时我们也真诚的希望收到您的建议和反馈到下面的留言区,这将是我们进步的源泉,前进的动力。

本文可编辑可修改,如果觉得对您有帮助请下载收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为〈(完整版)2011年3月份全国计算机等级考试二级C语言选择题带详解题库> 这篇文档的全部内容。

2011年3月份全国计算机等级考试二级C语言选择题带详解题库一、选择题在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)下列有关数据库的描述,正确的是A)数据处理是将信息转化为数据的过程B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变C)关系中的每一列称为元组,一个元组就是一个字段D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字(1)D 【解析】数据处理是指将数据转换成信息的过程,故选项A)叙述错误;数据的物理独立性是指数据的物理结构的改变,不会影响数据库的逻辑结构,故选项B)叙述错误;关系中的行称为元组,对应存储文件中的记录,关系中的列称为属性,对应存储文件中的字段,故选项C)叙述错误。

2011年计算机等级考试二级C语言全真模拟试卷(3)

2011年计算机等级考试二级C语言全真模拟试卷(3)

2011年计算机等级考试二级C语言全真模拟试卷(3)总分:100分及格:60分考试时间:90分一、选择题(每题1分,共10分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。

请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)<A href="javascript:;"></A>()(2)<A href="javascript:;"></A><Ahref="javascript:;"></A>()(3)下述各描述中不属于白盒测试法原则的是()(4)在C语言中,运算对象必须是整型数的运算符是()(5)以下选项中,与k=n++完全等价的表达式是()(6)与所使用的计算机无关的是数据的()(7)设有定义:float a=2,b=4,h=3;,以下c语言表达式中与代数式(a十B.h/2计算结果不相符的是()(8)<Ahref="javascript:;"></A>()(9)设有如图所示的二叉树<Ahref="javascript:;"></A>则对该二叉树前序遍历的结果是()(10)下列数据结构中按“先进先出”原则组织数据的是()(每题2分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。

请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)<A href="javascript:;"></A>()(2)<A href="javascript:;"></A>()(3)<A href="javascript:;"></A>()(4)已知char**t;则变量t是()(5)<A href="javascript:;"></A>()(6)<Ahref="javascript:;"></A>()(7)如果需要打开一个已经存在的非空文件”Demo”进行修改,下面正确的选项是()(8)以下4个选项中,不能看作一条语句的是()(9)<A href="javascript:;"></A>()(10)<A href="javascript:;">()(11)最简单的交换排序方法是()(12)<Ahref="javascript:;"></A >()(13)<A href="javascript:;"></A>()(14)不属于视图设计顺序的是()(15)某二叉树中有n个度为2的结点,则该二叉树中的叶子结点数为()(16)在结构化分析方法中,数据字典的作用是()(17)<A href="javascript:;"></A>()(18)<Ahref="javascript:;"></A>()(19)<Ahref="javascript:;">< /A>()(20)()(21)<A href="javascript:;"></A>()(22)<Ahref="javascript:;">()(23)<A href="javascript:;"></A><A href="javascript:;"></A>()(24)<Ahref="javascript:;"></A>()(25)<A href="javascript:;"></A>()(26)<A href="javascript:;"></A>()(27)<A href="javascript:;"></A>()(28)面向对象的程序设计主要考虑的是提高软件的()A.可靠性B.可重用性C.可移植性D.可修改性(29)<A href="javascript:;"></A>()(30)()二、填空题(每空2分,共30分)(1)<Ahref="javascript:;"></A>(2)<Ahref="javascript:;"></A>(3)<Ahref="javascript:;"></ A>(4)<Ahref="javascript:;"></A>(5)<A href="javascript:;"></A>(6)<A href="javascript:;"></A>(7)以下函数的功能是求出能整除x且不是偶数的各整数,并按从小到大的顺序放在PP所指的数组中。

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

2011年全国计算机等级二级C语言模拟试题及答案(15)一、填空与选择1. C语言从源程序的书写到上机运行输出结果要经过___________ ____四个步骤。

2. C语言的表达式与语句的区别在于_________________________ __________。

3. C语句_____________ (有、没有)输入、输出语句。

4.结构化程序的编写有_______________________________三种程序结构。

5. C语言中,变量的存储类别共有四种,即时_________________ __和寄存器型。

6.表达式10/3*9%10/2的值是___________________。

7.设有“int x=2,y”说明,则逗号表达式“y=x+5,x+y”的值是_______ __________。

8.设有“int x=1”,则“x>0?2*x+1:0”表达式的值是______________ ________。

9.变量Y满足以下两条件中的任意一个:①能被4整除,但不能被100整除;②能被400整除。

请用逻辑表达式表示所给条件。

___________________________________________________________ ______10.C语言调用函数中,参数的虚实结合是_________________A. 传值B. 传址C. 不分11. 逻辑运算符“&&、||、!”中是短路运算符号是_____________ _______12. C语言是由________________基本单位组成的。

A.过程B.语句C.函数D.程序13.有如下语句: X+Y*Z>39 && X*Z||Y*Z是什么表达式__________A.算术表达式B.逻辑表达式C.关系表达式D.字符表达式14.若进入TC集成环境后,运行(RUN)源程序系统提示包含文件(I nclude)或库文件(Lib) 无法定义时,应修改TC菜单中的哪一项中的哪个子菜单项?A.File\ChangeB. File\DirectoryC. Option\DirectoriesD.TC系统出故障了,应重新安装TC环境。

15.下面几种说法中哪个是正确的?_____________A. else语句需与它前面的if语句配对使用;B. else语句需与前面最接近它的if语句配对使用;C. else语句需与前面最接近它的,且没有和其它else语句配对的if 语句配对;D. 以上都正确。

16.定义结构体的关键字是_______________A. unionB. enumC.structD.typedef17.定义联合体的关键字是___________________18.链表的首指针能根据程序的需要进行移动读取链表中的某项内容,即链表可以没有首指针吗?A.当然可以B.不可以C.无所谓D.最好不要移动首指针19.定义一个数组a是一个具有3个元素的指针数组,它的定义语句格式是____A. <类型标识符> (*a)[3]B. <类型标识符> *a[2]C. <类型标识符> *a[3]D.以上写法都不对。

20.有说明语句:char a[ ]=“this is a book”。

请问该数组到底占了几个字节?_____A.11B.12C.14D.1521.设整型变量a为5,使b不为2的表达式是___________A. b=a/2B. b=6-(--a)C. b=a%2D.b=a>3?2:122.设整型变量n的值为2,执行语句“n+=n-=n*n”后,n的值是____ _____A.0B.2C.-4D. 423.设A,B均为整型变量,下列表达式中不是赋值表达式的是____ ______A. A=b+3,b+5,--bB. A=4*5;C. A=++A-BD.a=b=524.执行语句“x=(a=3,b=a--)”后,x,a,b的值依次为_________A. 3, 3, 2B. 3,2,2C.3,2,3D.2,3,225.下列对数组操作不正确的语句是_________A. int a[5];B.char b[ ]={…h‟,‟e‟,‟l‟,‟l‟,‟o‟};C. int a[ ]={2,3,4,5};D. char b[3 ][ ]={1,2,3,4,5,6};26.设A为存放短整型的一维数组,如果A的首地址为P,那么A 中第I个元素的地址为_______________A. P+I*2B. P+(I-1)*2C. P+(I-1)D. P+I27.如果X=5,执行语句X*=X+=X*3后,则X的值为__________A.100B. 400C. 450D. 90028.下列常量中哪个是不合法的_________________A.2e32.6B. 0.2e-5C. “basic”D. 0x4b0029.下列标识符错误的是_______A. x1yB._123C. 2abD. _ab30. c语言中int型数-8在内存中的存储形式为_____A.1111111111111000B. 1000000000001000C. 0000000000001000D. 1111111111110111二、读程序1.写出下列程序段的输出结果:main(){int x=5;int y=10;printf("%d\n",x++);printf("%d\n",++y); }2.写出下列程序的输出结果:main(){int x,y,z;x=y=z=-1;printf("x=%d\ty=%d\tz=%d\n",x,y,z);++y&&++x||++z;printf("x=%d\ty=%d\tz=%d\n",x,y,z);x=y=z=-1;++x||y++&&z;printf("x=%d\ty=%d\tz=%d\n",x,y,z);}3.下面程序的输出结果是什么?#include "stdio.h"main(){ int x=3;switch(x){ case 1:case 2:printf("x<3\n");case 3:printf("x=3\n");case 4:case 5:printf("x>3\n");default:printf("x unknow\n"); } }4.标记出变量 p、q、 a、b、c、x、y和c1的作用范围和变量性质(局部、全局)int p=1,q=5;float f1(int a){int b,c;char ch;…局部变量ch在此范围内有效 }char c1;char f2(int x,int y){int i,j;5.根据源程序,写出相应的数学表达式#include “stdio.h”main(){int x,y;scanf(“%d”,&x);if (x<0) y= -1;else if (x= = 0)y=0;else y=1;printf(“x=%d,y=%d\n”,x,y); }6.分析下列程序所完成的功能。

main(){int a,b,c,*pa=&a,*pb=&b,*pc=&c,*p; scanf("%d,%d,%d",pa,pb,pc);if (*pa>*pb)p=pa,pa=pb,pb=p;if (*pa>*pc)p=pa,pa=pc,pc=p;if (*pb>*pc)p=pb,pb=pc,pc=p;printf("%d<=%d<=%d",*pa,*pb,*pc); }三、程序填空:(根据题意,将空缺的语句补上。

)1.该程序完成的功能是求1+2+3+…+10的累加和,并进行累加和的输出打印。

变量sum是存放累加值的。

#include "stdio.h"main(){ ________________i=1,sum=0;for(; i<=10;){sum+=i;_________ }printf("%d\n",sum); }2.阅读函数,根据函数完成的主要功能,补充、完善主函数。

float av(float a[],int n){int i;float s;for (i=0,s=0;i<n;i++) s=s+a[i];return (s/n); }main(){float a[10];_______________for (i=0;_________)scanf("%f"______);printf("%f",av(a,10)); }3.从键盘输入一些字符,逐个把它们送到磁盘文件TEXT.txt中,直到输入一个“$”为止。

请将空缺地方补充完善。

#include "stdio.h"main(){FILE *fp;char ch;if ((fp=fopen("test.txt","w"))==NULL){printf("cannot open file\n");;};while(ch!=‟$‟){ fputc(ch,fp);putchar(ch);ch=getchar(); }_______________________; }四、编程:1.输入一单精度二维数组a[4][3],计算该二维数组中的最大元素的值及其所在位置(行、列),并输出计算结果。

2.个学生,每个学生的信息包括学号、性别、姓名、四门课的成绩,从键盘上输入N个学生的信息,要求输出总平均成绩最高的学生信息,包括学号、性别、姓名和平均成绩。

参考答案一、填空与选择1. 编辑、编译、连接、执行2. “表达式”未尾加“;”号就成“语句”3. 没有4. 顺序、分支、循环5 自动型、外部型、静态型9. y%4= =0 && y%100!=0 || y%400==06. 7. 8. 10. 11 12. 13. 14 15 16 173 9 3 A &&、|| C B C C C Union18 19 20 21 22 23 24 25 26 27 28 29 30B C D C C B C D D B A C A二、读程序1. 52. X=-1 Y=-1 Z=-13. X=311 X=-1 Y=0 Z=0 X>3X=0 Y=0 Z=-1 X unknow4. 标记出变量 p、q、 a、b、c、x、y和c1的作用范围和变量性质(局部、全局)5.6. 从小到大排序。

相关文档
最新文档