NOIP 2011初赛模拟试题2(c语言含答案)
二级C语言真题2011年09月.

2011年9月全国计算机等级考试二级笔试试卷C语言程序设计一、选择题下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。
(1)下列叙述中正确的是( )。
A)算法就是程序 B)设计算法时只需要考虑数据结构的设计C)设计算法时只需要考虑结果的可靠性 D)以上三种说法都不对(2)下列关于线性链表的叙述中,正确的是( )。
A)各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B)各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C)进行插入与删除时,不需要移动表中的元素D)以上三种说法都不对(3)下列关于二叉树的叙述中,正确的是( )。
A)叶子结点总是比度为2的结点少一个B)叶子结点总是比度为2的结点多一个C)叶子结点数是度为2的结点数的两倍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)以下叙述中错误的是( )。
2011年国家计算机二级c语言等级考试上机题库100题(含答案)

2011年全国计算机二级C语言上机题题库(超值100题)1: 第1题m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。
答案:int fun(int score[],int m,int below[]){int i,k=0,aver=0;for(i=0;i<m;i++)aver+=score[i];aver/=m;for(i=0;i<m;i++)if(score[i]<aver){below[k]=score[i];k++;}return k;}2: 第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。
答案:void fun(int *a, int *n){int i,j=0;for(i=2;i<1000;i++)if ((i%7==0 || i%11==0) && i%77!=0)a[j++]=i;*n=j;}3: 第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。
答案:void fun(int x, int pp[ ], int *n){int i=1,j=0;k=0,*t=pp;for(i=0;i<=x;i++)if(i%2!=0){t[j]=I;j++;}for(i=0;i<j;i++)if(x%t[i]==0)k++;}*n=k;}4: 第4题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,并依次放在pp所指的数组中。
c语言2011考试题及答案

c语言2011考试题及答案一、单项选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于声明一个变量?A. intB. floatC. doubleD. char答案:A2. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. -variableD. variable$答案:B3. 若有定义`int a = 5;`,则表达式`a++`的值是多少?A. 4B. 5C. 6D. 0答案:B4. 下列哪个选项不是C语言中的基本数据类型?A. intB. floatC. stringD. char答案:C5. 在C语言中,以下哪个运算符用于逻辑与操作?A. &&B. ||C. !D. ~答案:A6. 下列哪个选项是C语言中的循环结构?A. ifB. whileC. switchD. for答案:B7. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A8. 若有定义`float x = 3.14;`,则表达式`x + 2.0`的值是多少?A. 5.14B. 5.1C. 5D. 3.14答案:A9. 在C语言中,以下哪个关键字用于定义一个函数?A. functionB. defC. defineD. void答案:D10. 下列哪个选项是C语言中的位运算符?A. &B. |C. ^D. %答案:A二、填空题(每题2分,共20分)1. C语言中,用于声明一个整型变量的关键字是________。
答案:int2. C语言中,用于声明一个字符型变量的关键字是________。
答案:char3. C语言中,用于声明一个浮点型变量的关键字是________。
答案:float4. C语言中,用于声明一个双精度浮点型变量的关键字是________。
答案:double5. C语言中,用于声明一个布尔型变量的关键字是________。
2011年全国计算机二级C语言考试真题及答案

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】序号的横线上,答在试卷上不得分。
2011年蓝桥杯(第2届)预赛高职C语言真题解析

int i,j;
sprintf(sa,"%8d",a);
sprintf(sb,"%8d",b);
for(i=0; i<8; i++)
{
for(j=1; j<=8-i; j++)
{
char t =________;
sa[i+j] = 0;
if(strstr(sb, sa+i))
{
if(j>n)_________;
下面的代码对给定的两个正整数求它的最小公倍数。请填写缺少的代码,使程序尽量高效地运行。
int f(int a, int b)
{
int i;
for(i=a; ; ______________ ) {
if(i%b==0) return i;
}
}
参考答案:
i+=a或者i = i + a;
日期间隔计算
人类历史上出现了很多种历法。现行的公历即格里历由儒略历改革而来。它是目前较为精确和规则简明的一种历法,约3300年误差一日。因为闰年问题以及每个月的长度不等,仍然使得某些计算较为麻烦。比如:求两个日期间差多少天。
若当前字符为数字,直接保存;
若当前字符为空格,直接保存,之后修改flag=0。
(2)源程序。
#include <stdio.h>
#include <string.h>
int main()
{
char src[201],dest[201],ch;
int flag=0; // flag=0,1,2分别表示前一字符为空格,字母,数字
2011NOIP初赛C++提高组试题

第十七届全国青少年信息学奥林匹克联赛初赛试题(提高组 C++语言两小时完成)一、单项选择题(共20题,每题1.5分,共计30分。
每题有且仅有一个正确选项)1、在二进制下,1010110+()=1100011。
A.1011B.1101C.1010D.11112、字符“A”的ASCII码为十六进制41,则字符“Z”的ASCII码为十六进制的()A.66B.5AC.50D.视具体的计算机而定3、右图是一颗二叉树,它的先序遍历是()A.ABDEFCB.DBEFACC.DFEBCAD.ABCDEF4、寄存器是()的重要组成部分。
A.硬盘B.高速缓存C.内存D.中央处理器(CPU)5、广度优先搜索时,需要用到的数据结构是()A.链表B.队列C.栈D.散列表6、在使用高级语言编写程序时,一般提到的空间复杂度中的“空间”是指()A.程序运行时理论上所占的内存空间B.程序运行时理论上所占的数组空间C.程序运行时理论上所占的硬盘空间D.程序源文件理论上所占的硬盘空间7、应用快速排序的分治思想,可以实现一个求第大数的程序。
假定不考虑极端的最坏情况,理论上可以实现的最低的算法时间复杂度是(B)A.O(n2)B.O(nlogn)C.O(n)D.O(1)8、为解决Web应用中的不兼容问题,保障信息的顺利流通,(D)制定了一系列标准,设计等,并建议开发者遵循。
A.微软B.美国计算机协会(ACM)C.联合国教科文组织D.万维网联盟(W3C)9、体育课的铃声响了,同学们都陆续地奔向操场,按老师的要求从高到矮站成一排。
每个同学按顺序来到操场时,都从排位走向派头,找到第一个比自己高的同学,并站在他的后面。
这种站队的方法类似于(B)算法。
A.快速排序B.插入排序C.冒泡排序D.归并排序10、1956年()授予肖克利、巴丁和布拉顿,以表彰他们对半导体的研究和晶体管效应的发现。
A.诺贝尔物理学奖B.约翰冯诺依曼奖C.图灵奖D.高德纳奖二、不定项选择题(共10题,每题1.5分,共计15分。
2011.模拟.c.高职(答案)
2011 模拟 c语言高职注意:本套模拟题主要模拟命题形式与考核范围。
真实竞赛题的数量、难度可能与此套模拟题有差异。
说明:本试卷包含两种题型:“代码填空”与“程序设计”。
填空题要求参赛选手在弄清给定代码工作原理的基础上填写缺失的部分,使得程序逻辑正确、完整。
所填写的代码不多于一条语句(即不能出现分号)。
编程题要求选手设计的程序对于给定的输入能给出正确的输出结果。
注意:在评卷时使用的输入数据与试卷中给出的实例数据可能是不同的。
选手的程序必须是通用的,不能只对试卷中给定的数据有效。
1.代码填空(满2分)形如:“abccba”,“abcba”的串称为回文串,下列代码判断一个串是否为回文串。
请补充空白的部分。
char buf[] = "abcde11edcba";int x = 1;for(int i=0; i<strlen(buf)/2; i++)if(buf[i]!=buf[strlen(buf)-i-1]){break;}printf("%s\n", x ? "是":"否");答:buf[i]!=buf[strlen(buf)-i-1]2.代码填空(满分3分)下列代码把一个二进制的串转换为整数。
请填写缺少的语句;char* p = "1010110001100";int n = 0;for(int i=0;i<strlen(p); i++){n = __________________;}printf("%d\n", n);答:n*2+*(p+i)-483.代码填空(满分3分)假设a,b,c是3个互不相等的整数。
下列代码取出它们中居中的数值,记录在m中。
其中的swap()函数可以交换两个变量的值。
请完善代码。
if(a>b) swap(&a, &b);if(b>c) swap(&b, &c);______________________;答:if(a>b) swap(&a, &b);4.代码填空(满分6分)下面函数的目的是求出某个日期是该年度的第几天。
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所指的数组中。
NOIP初赛模拟考试题及答案解析
信息学奥林匹克联赛初赛模拟试题(普及组 C 语言二小时完成)●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一.选择一个正确答案代码(A/B/C/D/E),填入每题的括号 (每题1.5分, 共30分)1.被誉为“人工智能之父”的是()。
A.·诺依曼。
B.巴贝奇。
C.文顿·瑟夫和卡恩。
D.阿兰·图灵。
E.弗雷德里克·特曼。
2.下列哪个不是CPU(中央处理单元)()。
A. Intel ItaniumB. DDR SDRAMC. AMD Athlon64D. AMD OpteronE. IBM Power 53.常见的传输服务器使用()协议发送。
A. HTTPB. SMTPC. TCPD. FTPE. POP34.下列无符号数中,最小的数是()。
A.(11011001)2B.(75)10C.(37)8D.(2A)165.下列哪个软件属于操作系统软件()。
A. Microsoft WordB. PhotoshopC. FoxmailD. WinRARE. Red Hat Linux6.下列哪个不是计算机的存储设备()。
A. 文件管理器B. 存C. 高速缓存D. 硬盘E. U盘7.组成’教授’(jiao shou )’副教授’(fu jiao shou )与’讲师’( jiang shi)这三个词的汉字,在GB2312-80字符集中都是一级汉字.对这三个词排序的结果是()。
A教授,副教授,讲师 B.副教授,教授,讲师C讲师,副教授,教授 D.副教授,讲师,教授8.彩色显示器所显示的五彩斑斓的色彩,是由红色、蓝色和()色混合而成的。
A. 紫B. 白C. 黑D. 绿E. 橙9.以下哪个软件不是即时通信软件()。
A. 网易泡泡B. MSN MessengerC. Google TalkD. 3DS MaxE. QQ10.一台计算机如果要利用线上网,就必须配置能够对数字信号和模拟信号进行相互转换的设备,这种设备是()。
《C语言程序设计》2011-2012-2B答案
《C语言程序设计》2011-2012-2B答案第一篇:《C语言程序设计》2011-2012-2B答案河南理工大学学期《C语言程序设计》笔试试卷(B卷)一、单项选择题(每题1分,共50分),在每小题列出的四个选项中只有一个选项是符合题目要求的,请在答案卡上将正确答案所对应选项的字母涂黑。
1.A2.B3.A4. D5. C6.D7.B8.D9.D10.B11.B12.A13.B14.B15.D16.A17.C18.D19.C20.B21.C22.A23.C24.C25.C26.A27.D28.A29.C30.A31.C32.C33.C34.B35.A36.D37.B38.D39.D40.A41.B42.B43.B44.C45.B46.C47.A48.B49.A50.C二、填空题(每空2分,10个空,共20分)。
51.2652.353.154.‘’55.Pa是指向整型二维数组行的指针变量,每行有10个元素。
56.#define57.递归58.;(分号)59.5.360.12三、程序阅读试题(共10题,每题3分,共30分)61.a10=1,c8=101,dc=b62.852k=4,y=063.m=82,j=764.下面程序的输出结果是____。
ABCDBCDCDD65.YES66.s=-13,count=267.12368.1 2 3 6 7 969.The output is:128765439106782154391070.12《C语言程序设计》试卷第1页(共1页)第二篇:C语言程序设计考试题答案1、已知int i, x[3][4];则不能将x[1][1]的值赋给变量i的语句是______(分数:2 分)A.i=*(*(x+1))B.i=x[1][1]C.i=*(*(x+1))D.i=*(x[1]+1)标准答案是:A。
2、当c的值不为0时,在下列选项中能够将c的值赋给变量a、b的是______.(分数:2 分)A.a=c=b;B.(a=c)&&(b=c);C.c=b=a;D.(a=c)||(b=c);标准答案是:B。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 全国青少年信息学奥林匹克联赛初赛模拟试题 姓名 成绩 一、 单项选择题 (共20 题,每题1.5 分,共计30 分。每题有且仅有一个正确答案.)。 1. 在以下各项中,( )是CPU 的组成部分。 A. Cache B. RAM C. 寄存器 D. 主板 2.SQL语言又称为( ) A. 结构化定义语言 B. 结构化控制语言 C. 结构化查询语言 D. 结构化操纵语言 3.计算机运算速度的单位是( ) A、MTBF B、MIPS C、MHZ D、MB 4.下面是关于微处理器MPU的描述,不正确的是( ) 。 A.微处理器是微型计算机的核心部件 B.微处理器是一块包含运算器和控制器的大规模集成电路芯片 C.微处理器的性能决定了微型计算机的档次 D.我们在购买微型计算机时,应该不断跟踪微处理器的更新 5. 某机字长8位,采用补码形式(其中1位为符号位),则机器数所能表示的范围是( ) A.-127 ~ 127 B.-128 ~ +128 C.-128 ~ +127 D.-128 ~ +128。 6.某计算机字长32位,其存储容量为4MB,若按字编址,它的寻址范围是 ( )。 A、0~1M B、0~4MB C、0~4M D、0~1MB 7.栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是( ) A. ABCED B. DBCEA C. CDABE D. DCBEA。 8. 冗余数据是指可以由其他数据导出的数据,下述关于数据库系统的叙述中正确的是( ) A. 数据库系统减少了数据冗余 B. 数据库系统避免了一切冗余 C. 数据库系统中数据的一致性是指数据类型的一致 D. 数据库系统比文件系统能管理更多的数据 9. 办公自动化(OA)是目前广泛开展的一项计算机应用,按分类,它应属于( ) A.实时控制 B. 科学计算 C. 数据处理 D.计算机辅助设计 10. 结构化程序设计主要强调的是( ) A.程序的规模 B.程序的易读性 C.程序的执行效率 D.程序的可移植性 11. 用树形结构来表示实体之间联系的模型称为( ) A. 关系模型 B. 层次模型 C. 网状模型 D. 数据模型 12. 面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是( ) A. 模拟现实世界中不同事物之间的联系 B. 强调模拟现实世界中的算法而不强调概念 C. 使用现实世界的概念抽象地思考问题从而自然地解决问题 D. 鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考 13.以下对计算机的产生有重要影响的人物是( )。 A.牛顿、维纳、图灵 B.莱布尼兹、布尔、图灵 C.巴贝奇、维纳、麦克斯韦 D. 莱布尼兹、布尔、克雷 14.在C 语言中,表达式23&2^5 的值是( ) A. 5 B. 6 C.7 D. 8 15.某二叉树的前序遍历结点访问顺序是abdgcefh,中序遍历的结点访问顺序是dgbaechf,则其后序遍历的结点访问顺序是( ) 2
A. bdgcefha B.gdbecfha C. bdgaechf D.gdbehfca 16.二维数组A的每个元素是由6个字符组成的串。其行下标从0到8,其列小标从0到9,若按行优先存储,元素A[7][4]的起始地址与当A按列优先存储时( )的起始地址相同,设每个字符占一个字节。 A. A[2][8] B. A[3][9] C. A[5][7] D. A[0][8] 17. 一个8位二进制整数,采用补码表示,且有3个“1”和5个“0”组成,则最小值为( ) A. -127 B.-32 C. -125 D.-3 18. 设A=B=true,C=D=false,以下逻辑运算表达式值为真的有( )。 A. (¬ A∧B)∨(C∧D∨¬A) B. ¬ (((A∧B)∨C)∧D) C. A∧ ¬(B∨C∨D)∨D D. (A∧(D∨C)) ∧B 19. (3C7E)16 + (37)8 的结果是( )。 A. (15519)10 B. (3C9D)16 C. (1100000110111)2 D. (17357)8
20. 已知一棵完全二叉树的叶子结点172个其结点总数为( )
A. 304 B. 343 C. 342 D. 341
二.问题求解(共2 题,每题5 分,共计10 分) 1.有相同外形和颜色的10堆球,同一堆球中每个重量相同,每堆10个,其中9堆100斤,1堆90斤。问如何称一次找出90斤的那堆球。 写出方法和算式。
2.从1到9中取7个不同数字组成7位数,如果不允许5与6相邻,有多少种方法。 三.阅读程序写结果(共4 题,每题8 分,共计32 分) 1. #include int fun(int *s,int n1,int n2) { int i,j; i=n1;j=n2; while(i{*(s+i)+=*(s+j); *(s+j)+=*(s+i); i++;j--; } } int main() {int a[6]={1,2,3,4,5,6},i,*p=a; fun (p,0,3); fun(p,1,4); fun(p,3,5); 3
for(i=0;i<6;i++) printf("%d",*(a+i)); printf("\n"); } 输出:
2.#include "string.h" #include "stdio.h" int strle(char a[],char b[]) { int num=0,n=0; while(*(a+num)!='\0') num++; while(b[n]){ *(a+num)=b[n];num++;n++;} return (num);} int main() { char str1[81],str2[81],*p1=str1,*p2=str2; gets(p1); gets(p2); printf("%d\n",strle(p1,p2)); while(1); } 输入:yruyrruyeterrrrr uitryuii 输出:
3. #include void ive(int x[],int n) { int t,*p; p=x+n-1; while(x{ t=*x; *x++=*p; *p--=t; } } int main() { int i,a[]={1,3,11,4,7,6,5,9,8,0}; ive(a,10); for(i=0;i<10;i++) printf("%d ",a[i]); printf("\n"); while(1); } 输出: 4
4、#include int main() { int k=0; char c='A'; do { switch(c++) { case 'A': k++;break; case 'B': k--; case 'C': k+=2;break; case 'D': k=k%2;continue; case 'E': k=k+10;break; default: k=k/3; } k++; }while(c<’C’) ; printf("k=%d\n",k); while(1); } 输出:
四.完善程序 (前4 空,每空2.5 分,后6 空,每空3 分,共28 分) 1. 输入n组数,每组2个整数,将每组数的逆序和的逆序按习惯输出
#include #include int print(int n) { int i,j,m[n],b[n][20],max,s,sum[n]; char str1[n][20],str2[n][20]; for(i=0;ifor(j=0;j<20;j++) b[i][j]=0; for(i=0;i{scanf("%s %s",str1[i],str2[i]); getchar(); } for(i=0;i{ m[i]=strlen(str1[i]); if(m[i]m[i]=strlen(str2[i]); s= ; for(j=0;j{ if(str1[i][j]!='\0' ) {b[i][j]=str1[i][j]-48+s;s=0;} if( ) { ;} if(b[i][j]>9) { s=b[i][j]/10; ; } else s=0; 5
} if(s!=0) {m[i]++;b[i][j]=s;} } for(i=0;i{s=0; for(j=0;j{ if(b[i][j]==0) { if(s==1) printf("%d",b[i][j]); else s=0; } else {s=1;printf("%d",b[i][j]);} } printf("\n"); } return 0; } int main() { int n; scanf("%d",&n); print(n); while(1); return 0; }输入:3 输出: 24 1 4358 754 305 794
2.在古埃及,人们使用单位分数的和(形如1/a的, a是自然数)表示一切有理数。 如:2/3=1/2+1/6,但不允许2/3=1/3+1/3,因为加数中有相同的。 对于一个分数a/b,表示方法有很多种,但是哪种最好呢? 首先,加数少的比加数多的好,其次,加数个数相同的,最小的分数越大越好。如: 19/45=1/3 + 1/12 + 1/180 19/45=1/3 + 1/15 + 1/45 19/45=1/3 + 1/18 + 1/30, 19/45=1/4 + 1/6 + 1/180 19/45=1/5 + 1/6 + 1/18. 最好的是最后一种,因为1/18比1/180,1/45,1/30,1/180都大。 给出a,b(0计算最好的表达方式。 Input:第一行:N 表示有N组测试数据,每组测试数据为一行包含a,b(0Output:每组测试数据若干个数,自小到大排列,依次是单位分数的分母。 Sample Input 1 19 45 Sample Output
34 1998 1