2010年4月真题c语言

合集下载

2010年3月全国计算机等级考试二级C语言笔试试卷及参考答案

2010年3月全国计算机等级考试二级C语言笔试试卷及参考答案

一、选择题((1)—(10)、(21)—(40)每题2分,(11)—(20)每题1分。

共70分)(1) 下列叙述中正确的是A)对长度为n的有序链表进行查找,最坏情况下需要的比较次数为nB)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2) C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)D) 对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n log2n)(2) 算法的时间复杂度是指A)算法的执行时间B)算法所处理的数据量C)算法程序中的语句或指令条数D)算法在执行过程中所需要的基本运算次数(3) 软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。

下面属于系统软件的是A)编辑软件B操作系统C)教务管理系统D)浏览器(4) 软件(程序)调试的任务是A)诊断和改正程序中的错误B)尽可能多地发现程序中的错误C)发现并改正程序中的所有错误D)确定程序中错误的性质(5) 数据流程图(DFD图)是A)软件概要设计的工具printf("%c%c%c%c\n",a,b,c,d);}当执行程序时,按下列方式输入数据(从第一列开始,<CR>代表回车,注意:回车是一个字符)12<CR>34<CR>则输出结果是:A、1234B、12C、12D、123 3416、以下关于C语言数据类型使用的叙述中错误的是:A、若要准确无误的表示自然数,应使用整数类型。

B、若要保存带有多位小数的数据,应使用双精度类型。

C、若要处理如"人员信息"等含有不同类型的相关数据,应自定义结构体类型。

D、若只处理"真"和"假"两种逻辑值,应使用逻辑类型。

17、若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是:A、1B、0C、2D、不知道a的值,不能确定18、以下选项中与if(a==1) a=b;else a++;语句功能不同的switch语句是:A、switch(a){ case 1:a=b;break;default : a++;}B、switch(a==1){case 0 : a=b;break;case 1 : a++;}C,switch(a){default: a++;break;Case 1: a=b;}D、switch(a==1){case 1 : a=b;break;case 0 : a++;}19、有如下嵌套的if语句 Cif(a<b)if(a<c) k=a;else k=c;elseif(b<c) k=b;else k=c;以下选项中与上述if语句等价的语句是A、k=(a<b)?a:b;k=(b<c)?b:c;B、k=(a<b)?((b<c)?a:b):((b<c)?b:c);C、k=(a<b)?((a<c)?a:c):((b<c)?b:c);D、k=(a<b)?a:b;k=(a<c)?a;c(20)有以下程序#include <stdio.h>main(){ int i,j,m=1;for(i=1;i<3;i++) { for(j=3;j>0;j--){ if(i*j>3) break;m*=i*j;}}printf("m=%d\n",m)}程序运行后的输出结果是(A) m=6 (B)m=2 (C)m=4 (D)m=5(21)有以下程序#include <stdio.h>main(){ int a=1,b=2;for(;a<8;a++) {b+=a; a+=2;}printf ("%d,%d\n",a,b);}程序运行后的输出结果是(A)9,18 (B)8,11 (C)7,11 (D)10,14(22)有以下程序,其中k的初值为八进制数#include <stdio.h>main(){ int k=011;printf("%d\n",k++);}程序运行后的输出结果是(A)12 (B)11(C)10 (D)9(23)下列语句中,正确的是A) char *s ; s="Olympic";B) char s[7] ; s="Olympic";C) char *s ; s={"Olympic"};D) char s[7] ; s={"Olympic"};(24)以下关于return语句的叙述中正确的是A)一个自定义函数中必须有一条return语句B) 一个自定义函数中可以根据不同情况设置多条return语句C)定义成viod类型的函数中可以有带返回值的return语句D)没有return语句的自定义函数在执行结束时不能返回到调用处(25)下列选项中,能够正确定义数组的语句是A)int num[0..2008]; B) int num[];C) int N=2008; int num[];D)#define N 2008int num[N];(26)有以下程序#include<stdio.h>void fun (char*c,int d){ *c=*c+1;d=d+1;printf("%c,%c,",*c,d);}main(){ char b=’a’,a=’A’;fun(&b,a); printf("%c,%c\n",b,a);}程序运行后的输出结果是A)b,B,b,A B)b,B,B,A C)a,B,B,aD)a,B,a,B(27)若有定义int(*pt)[3];,则下列说法正确的是A)定义了基类型为int的三个指针变量B)定义了基类型为int的具有三个元素的指针数组pt。

2010年4月操作系统试卷和答案

2010年4月操作系统试卷和答案

全国2010年4月高等教育自学考试操作系统试题一、单项选择题(本大题共20小题,每小题1分,共20分)1.有关汇编语言表述正确的是( B )A.每个语句都与多条机器指令相对应B.每个语句都与一条机器指令相对应C.多个语句与一条机器指令相对应D.有的语句与一条机器指令相对应2.UNIX的第一个版本Version1是在______计算机上开发的。

( C )A.PDP-5 B.PDP-6 C.PDP-7D.PDP-83.具有微型化和实时性特点的操作系统是( D )A.单用户微机操作系统B.实时操作系统C.单道批处理操作系统D.嵌入式操作系统4.CPU执行程序时,将每次从主存读出当前要执行的一条指令存入( B )A.程序计数器B.指令寄存器C.指令译码器D.地址寄存器5.CPU在管态下可以执行计算机的( D )A.特权指令B.非特权指令C.访管指令D.一切指令6.用户与UNIX系统进行交互作用的界面是( C )A.windows B.APIC.shell D.GUI7.进程是程序的一次执行过程,在执行过程中进程的状态不断发生变化,进程的这种特性称为( A )A.动态性B.并发性C.同步性D.异步性8.进程名存放在该进程控制块PCB的______区域中。

( B )A.说明信息B.标识信息C.现场信息D.管理信息9.造成某进程状态从就绪态转变成运行态的原因是(D )A.上次分配给该进程的处理器时间太短B.有更高优先级的进程要运行C.该进程需要更多的处理器时间运行D.该进程被进程调度程序选中10.不属于...进程控制原语的是( A )A.接收原语B.撤消原语C.阻塞原语D.唤醒原语11.存储管理的目的是尽可能地方便用户使用和( B )A.执行用户程序B.提高主存利用率C.提高主存的速度D.增加主存实际容量12.以下存储管理技术中,可以实现虚拟存储器的技术是( D )A.单用户连续存储管理B.固定分区存储管理C.可变分区存储管理D.页式存储管理13.最基本的文件操作是( A )A.打开操作、读写操作、关闭操作 B. 读写操作、增补操作、关闭操作C.打开操作、增补操作、关闭操作D.打开操作、读写操作、增补操作14.在UNIX的文件系统中,空闲磁盘块的组织方式是( D )A.顺序B.链接C.索引D.成组链接15.假设磁盘的读写头在55号柱面上操作时,有新请求访问的柱面号为100、39、124、16和126。

2010计算机等级考试 二级C语言上机100题

2010计算机等级考试 二级C语言上机100题

2: 第 2 题 请编写函数 fun,它的功能是:求出 1 到 1000 之内能北 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; }
-2-
case ‘k’: case ‘l’: case ‘m’: case ‘n’: case ‘o’: case ‘p’: case ‘q’: case ‘r’: case ‘s’: case ‘t’: case ‘u’: case ‘v’: case ‘w’: case ‘x’: case ‘y’: case ‘z’: } tt++; } }
pp[10]++;break; pp[11]++;break; pp[12]++;break; pp[12]++;break; pp[14]++;break; pp[15]++;break; pp[16]++;break; pp[17]++;break; pp[18]++;break; pp[19]++;break; pp[20]++;break; pp[21]++;break; pp[22]++;break; pp[23]++;break; pp[24]++;break; pp[25]++;break;

2010年上海市高等学校计算机等级考试试卷二级_C语言程序设计_(_E_卷)

2010年上海市高等学校计算机等级考试试卷二级_C语言程序设计_(_E_卷)

2010年上海市高等学校计算机等级考试试卷二级 C语言程序设计( E 卷)(本试卷考试时间 120 分钟)一、单选题 ( 本大题 15 道小题,每小题 1 分,共 15 分),从下面题目给出的A、B、C、D四个可供选择的答案中选择一个正确答案。

1. 以下C程序中预处理命令写法正确的是:答案: DA. #include (stdio.h)B. #include [stdio.h]C. #include {stdio.h}D. #include <stdio.h>2. 设有变量定义语句char a; 则下面的赋值语句中 ( ) 是正确的。

答案: AA. a='&';B. a="&";C. a=' ' ';D. a='16' ;3. 设有char ch; 与语句“ch=getchar();”等价的语句是:答案: DA. printf("%c",ch);B. printf("%c",&ch);C. scanf("%c",ch);D. scanf("%c",&ch);4. int a=2, b=5;则表达式21%9/(float)a+4/b*b的运算结果为( )。

答案: CA. 2B. 1C. 1.5D. 05. 能正确表示逻辑关系"a>=10 或 a<=0"的C语言表达式是( )。

答案: CA. a>=10 or a<=0B. a<=0|a>=10C. a<=0||a>=10D. a>=10 && a<=06. 设有int n=60;写出下列语句的运行结果switch (n/10){case 6: printf("@");break;case 5: printf("#");default: printf("$");}答案: DA. @#$B. #$C. $D. @7. 设有int i; 以下语句中,循环次数为100次的语句是:答案: DA. for ( i=0; i<=100; i++ )B. for ( i=0; i<99; i++ )C. for ( i=1; i<99; i++ )D. for ( i=0; i<100; i++ )8. C程序中,用于提前结束本次循环、进行下一次循环的语句是( )。

华中科技大学 2010级信息学院C语言程序设计考试试题A

华中科技大学 2010级信息学院C语言程序设计考试试题A

级信息学院《C 语言程序设计》考试试题(A ) 一、判断下列语句或程序段的对错。

(“×”表示错,“√”表示对)(10分) (1) int x=0,y=x; ( ) (2) #define SIZE 10 ( ) int a[SIZE /2][SIZE]; (3) char *str ; str ="c\test"; ( ) (4) register int n; scanf(“%d ”,&n); ( ) (5) int x ,*px=&x ; float *p=px; ( ) (6) int (*pa)[8],a[6][8]; pa=*a++; ( ) (7) int x ,*px ; *px=&x; ( ) (8) int **pp,a[6][8]; pp=a; ( ) (9) float xyz.1=3; ( ) (10) int x =‘\x78’; ( ) 二、计算下列表达式的值(10分) 设unsigned int a=7, b=17, c=5, d=3; float f; (11) f =c/d; ( ) (12) (!(a+b)+c-1) | | (b+c/3) ( ) (13) (a&b)^( ~c | ~d) ( ) (14) f= (a-b>0 ? c/d : c%d ) ; ( ) (15) b=a++ , a%3 ( ) 三、程序改错(10分) 要求:不得改变程序框架,不得重写程序,无需文字说明,直接在代码上添加、删除和修改。

(16) 用指针的方法实现对输入的3个整数按从小到大的顺序输出显示 #include <stdio.h> void main(void) { int a,b,c;int *pa=&a,*pb=&b,*pc=&c;scanf("%d%d%d",&pa,&pb,&pc);院系________________班级________________姓名________________学号________________成绩________________if(*pa>*pb) swap( pa , pb);if(*pb>*pc) swap( pb , pc);printf("%d\t%d\t%d\n",*pa,*pb,*pc);}void swap(int *px,int *py){int *temp;temp =px;px =py;py =temp;}(17)统计N个字符串中大写字母和数字字符的个数#include <stdio.h>#define N 5void main(void){char string[N][80];char i;int CapitalCount , NumCount;for(i=1;i<=N;i++)scanf("%s",&string[i]);for(i=0;i<=N;i++)CapitalCount +=count(string[i],&NumCount);printf("CapitalCount=%d,NumCount=%d\n",CapitalCount,NumCount); }count(char *pstr , int *result){int temp,i;*result = temp=0;for(i=0 ; i<80 ; i++){if(pstr[i]>='A'&&pstr[i]<='Z')temp ++;if(pstr[i]>=0&&pstr[i]<=9)*result ++;}return temp;}四、程序填空(10分)(18)找N个字符串中最大字符串和最小字符串#include <stdio.h>#include <string.h>#define N 5char *GetMaxMinString( );char *GetMaxMinString( ){int a;char *max;;for(a=1;a<num;a++){if( )max =string[a];if( )*min =string[a];}return max;}void main(void){char string[N][80],*pmax,*pmin;int i;for(i=0;i<N;i++)gets(string[i]);pmax =GetMaxMinString( );printf("Max string is %s,Min string is %s\n",pmax,pmin);}(19)以下程序用二维数组保存多个字符串,用二级指针处理多个字符串的排序。

2010C 等级考试(答案)

2010C  等级考试(答案)

一、选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。

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

(11)下列关于函数的描述中,错误的是DA)函数可以没有返回值B)函数可以没有参数C)函数可以是一个类的成员D)函数不能被定义为模板(12)若MyClass是一个类名,且有如下语句序列BMyClass c1,*c2;MyClass*c3=new MyClass;MyClass&c4=c1;上面的语句序列所定义的类对象的个数是A)1B)2C)3D)4(13)下列关于继承方式的描述中,错误的是DA)如果不显式地指定继承方式,缺省的继承方式是私有(private)B)采用公有继承方式时,基类中的公有成员在派生类中仍然是公有成员C)采用保护继承方式时,基类中的保护成员在派生类中仍然是保护成员D)采用私有继承方式时,基类中的私有成员在派生类中仍然是私有成员(14)将前缀运算符“--”重载为非成员函数,下列原型中,能正确用于类中说明的是CA)Decr&operator--(int);B)Decr operator--(Decr&,int);C)friend Decr&operator--(Decr&);D)frlend Decr operator--(Decr&,int);(15)若MyTemp是一个只有一个虚拟类型参数的类模板,且有如下语句序列MyTemp p2;MyTemp p3[2];编译系统在处理上面的语句序列时,所生成的模板MyTemp的实例的个数是CA)1B)2C)3D)0(16)在C++中,cin是个BA)类B)对象C)模板D)函数(17)在下列字符中,不允许作为C++标识符的是DA)b B)B C)_D)2(18)下列叙述中,错误的是BA)false是一个逻辑型常量B)"b"是一个字符型常量C)365是一个int常量D)3.1415926是一个double常量(19)若x和y是程序中的两个整型变量,则下列if语句中正确的是AA)if(x==0)y=1;else y=2;B)if(x==0)then y=1else y=2;C)if(x==0)y=1else y=2;D)if x==0y=1;else y=2;(20)要定义整型数组x,使之包括初值为0的三个元素,下列语句中错误的是BA)int x[3]={0,0,0};B)int x[]={0};C)static int x[3]={0};D)int x[]={0,0,0};(21)关于函数中的<返回类型>,下列表述中错误的是DA)<返回类型>中有可能包含关键字intB)<返回类型>中有可能包含自定义标识符C)<返回类型>中有可能包含字符*D)<返回类型>中可能包含[](22)要定义一个引用变量p,使之引用类MyClass的一个对象,正确的定义语句是DA)MyClass p=MyClass;B)MyClass p=new MyClass;C)MyClass&p=new MyClass;D)MyClass a,&p=a;(23)有如下两个类定义class XX{private:double x1;protected:double x2;public:double x3;};class YY:protected XX{private:double y1;protected:double y2;public:double y3;};在类YY中保护成员变量的个数是CA)1B)2C)3D)4(24)下列关于运算符重载的描述中,错误的是AA)可以通过运算符重载在C++中创建新的运算符B)赋值运算符只能重载为成员函数C)运算符函数重载为类的成员函数时,第一操作数是该类对象D)重载类型转换运算符时不需要声明返回类型(25)下列关于类模板的描述中,错误的是DA)类模板的成员函数都是模板函数B)可以为类模板参数设置默认值C)类模板描述了一组类D)类模板中只允许有一个类型参数(26)下列控制格式输入输出的操作符中,能够设置浮点数精度的是AA)setprecisionB)setwC)setfillD)showpoint(27)下列程序段中包含4个函数,其中具有隐含this指针的是Bint fun1();class Test{public:int fun2();friend int fun3();static int fun4();};A)fun1B)fun2C)fun3D)fun4(28)有如下程序#include<iostream>using namespace std;class Test{public:Test(){}Test(const Test&t){cout<<1;}};Test fun(Test&u){Test t=u;return t;} int main(){Test x,y;x=fun(y);return0;}运行这个程序的输出结果是CA)无输出B)1C)11D)111(29)有如下程序#include<iostream>using namespace std;class A{public:A(int i=0):r1(i){}void print(){cout<<'E’<<r1<<’-‘;}void print()const{cout<<'C'<<r1*r1<<’-‘;} void print(int x){cout<<'P'<<r1*r1*r1<<’-‘;} private:int r1;};int main(){A a1;const A a2(4);a1.print(2);a2.print();return0;}运行时的输出结果是DA)P8-E4B)P8-C16-C)P0-E4-(30)下列代码声明了3个类class Person{};class Student:public Person{};class Undergraduate:Student{};下列关于这些类之间关系的描述中,错误的是BA)类Person是类Undergraduate的基类B)类Undergraduate从类Student公有继承C)类Student是类Person的派生类D)类Undergraduate是类Person的派生类(31)有如下程序#include<iostream>using namespace std;Class Base{public:Base(int x=0):valB(x){cout<<valB;}~Base(){cout<<valB;}private:int valB;};class Derived:public Base{public:Derived(int x=0,int y=0):Base(x),valD(y){cout<<valD;} ~Derived(){cout<<valD;}int valD;};int main(){Derived obj12(2,3);retuen0;}运行时的输出结果是AA)2332B)2323C)3232D)3223(32)下面是类Shape的定义:class Shape{public:virtual void Draw()=0;};下列关于Shape类的描述中,正确的是BA)类Shape是虚基类B)类Shape是抽象类看课本267页C)类Shape中的Draw函数声明有误D)语句“Shape s;”能够建立Shape的一个对象s(33)将运算符“+”重载为非成员函数,下列原型声明中,错误的是CA)MyClock operator+(MyClock,long);B)MyClock operator+(MyClock,MyClock);C)MyClock operator+(long,long);D)MyClock operator+(long,MyClock);(34)打开文件时可单独或组合使用下列文件打开模式①ios_base::app②ios_base::binary③ios_base::in④ios_base::out若要以二进制读方式打开一个文件,需使用的文件打开模式为CA)①③B)①④C)②③D)②④(35)有如下程序:#include<iostream>using namespace std;class B{public:B(int xx):x(xx){++count;x+=10;}virtual void show()const{cout<<count<<’_‘<<x<<endl;}protected:static int count;private:int x;};class D:public B{public:D(int xx,int yy):B(xx),y(yy){++count;y+=100;}virtual void show()const{cout<<count<<’-‘<<y<<endl;}private:int y;};int B::count=0;int main(){B*ptr=new D(10,20);ptr->show();delete ptr;return0;}运行时的输出结果是BA)1_120B)2_120C)1_20D)2_20二、填空题(每空2分,共30分)请将每一个空的正确答案写在答题卡【l】~【15】序号的横线上,答在试卷上不得分。

2010C试题(A卷)

2009~2010学年第二学期C语言期末考试卷答题纸(A卷)专业班级:学号:姓名:一、选择题(用铅笔把选中的方格涂黑20×1=20分)1 2 3 45 6 7 89 10 11 1213 14 15 1617 18 19 20二、填空题(每空占一行,每行写一个答案 15×2=30分)1. 2.3. 4.5. 6.7. 8.9. 10.11. 12.13. 14.15.三、阅读程序题(每空2分,共20分)1. 2.3. 4.5. 6.7. 8.9. 10.四、完善程序题(每空2分,共12分)1. 2. 3. 4. 5. 6.五、编程题(第1小题9分,共18分)1.编程,输入a 1、a 2、...、a 15 后,计算下列表达式的值并输出。

1111111231415++++⋅⋅⋅++a a a a a2.把文本文件x1.dat 复制到文本文件x2.dat 中,要求仅复制x1.dat 中的非空格字符。

一、选择题(用铅笔把选中的方格涂黑20×1=20分)1.完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为 (1) 。

A.连接、编译B.编译、连接C.连接、运行D.运行2.常数的书写格式决定了常数的类型和值,0x1011是(2) 。

A.8进制整型常量B.字符常量C.16进制整型常数D.2进制整型常数3.C语句“x*=y+2;”还可以写作(3) 。

A. x=x*y+2;B. x=2+y*x;C. x=x*(y+2);D. x=y+2*x;4.下列格式符中,可以用于以8进制形式输出整数的是(4) 。

A. %dB. %8dC. %oD. %1d5.下列各语句中,能够且仅输出整型变量a、b中最大值的是(5) 。

A. if(a>b) printf(″%d\n″,a);printf(″%d\n″,b);B. printf(″%d\n″,b);if(a>b) printf(″%d\n″,a);C. if(a>b) printf(″%d\n″,a);else printf(″%d\n″,b);D. if(a<b) printf(″%d\n″,a);printf(″%d\n″,b);6.执行语句“for(s=0,i=1;i<=10;i=i+3) s+=i;”后,变量s、i的当前值是(6) 。

2010年硕士研究生入学考试“数据结构与C语言程序设计”试题与答案


13.C 语言规定,简单变量做实参时,它和对应的形参之间的数据传递方式是 A.单向值传递 B.地址传递 C.由实参传给形参,再由形参传回给实参 D.由用户指定传递方式 14.C 语言规定,函数返回值的类型是由 A.return 语句中的表达式的类型所决定 B.调用该函数时的主函数的类型所决定 。
3
C.调用该函数时系统临时决定 D.在定义该函数时所指定的函数的类型所决定 15.下面给出的 4 个定义语句中,与 int *p[5]; 等价的是 。 A.int p[5]; B.int *p; C.int *(p[5]); 16.若有以下定义和语句,则值为 1002 的表达式是 。 struct s{ int age; int num; }; static struct s a[3]={1001,20,1002,19,1003,21},*ptr; ptr=a; A.ptr++->num B.(ptr++)->age C.(*ptr).num D.(*++ptr).age 17.若要通过下面的程序段使得指针变量指向一个存储整型变量的动态存储单元,则程序段中的空 。 白处(横线上方)应该是 int *ptr; ptr= malloc(sizeof(int)); A.int B.int * C.(int *) D.(*int ) 。 18.下面关于宏的叙述中,错误的是 A.宏名无类型,其参数也无类型 B.宏定义不是 C 语句,不必在行的末尾加分号 C.宏替换只是字符替换 D.宏定义命令必须写在文件的开头 。 19.下列关于 C 语言文件操作的叙述中,正确的是 A.对文件的操作必须是先打开文件 B.对文件的操作必须是先关闭文件 C.对文件操作之前必须先测试文件是否已打开,然后再打开文件 D.对文件的操作无顺序要求 20.使用 fopen( )函数以文本方式打开或者建立可读写文件。要求:若指定文件不存在,则建立一 个文件,并使文件指针指向其开头;若指定文件存在,则打开该文件,并将文件指针指向其结尾。下列 。 “文件使用方式”中,正确的是 A.“r+” B.“ a+” C.“ w+” D.“a”

2010上半年程序员考试真题及答案-下午卷

2010上半年程序员考试真题及答案-下午卷试题一【说明】下面的流程图旨在统计指定关键词在某一篇文章中出现的次数。

设这篇文章由字符A(0),…,A(n-l)依次组成,指定关键词由字符B(0),…,B(m-l) 依次组成,其中n>m>=l。

注意,关键词的各次出现不允许有交叉重叠。

例如,在“aaaa”中只出现两次“aa”。

该流程图采用的算法是:在字符串A中,从左到右寻找与字符串B相匹配的并且没有交叉重叠的所有子串。

流程图中,i为字符串A中当前正在进行比较的动态子串首字符的下标,j 为字符串B的下标,k为指定关键词出现的次数。

【流程图】(1) 0—>k (2) i+j (3) i+m (4) i+1 (5) i本题考查用流程图描述算法的能力。

在文章中查找某关键词出现的次数是经常碰的问题。

例如,为了给文章建立搜索关键词,确定近期的流行语,迅速定位文章的某个待修改的段落,判断文章的用词风格,甚至判断后半本书是否与前半本书是同一作者所写(用词风格是否一致)等,都采用了这种方法。

流程图最终输出的计算结果就是文章字符串A中出现关键词字符串B的次数。

显然,流程图开始时应将赋值0,以后每找到一处出现该关键词,就执行增1操作k=k+1. 因此(1)处应填0—>K。

字符串A和B的下标都是从0开始的。

所以在流程图执行的开始处,需要给它们赋值0。

接下来执行的第一个小循环就是判断A(i),A(i+l),…,A(i+j-1)是否完全等于B(0),B(1),…,B(m-l),其循环变量j=0,1,…,m-1。

只要发现其中对应的字符有一个不相等时,该小循环就结束,不必再继续执行该循环。

因此,该循环中继续执行的判断条件应该是A(i+j)=B(j)且j<m。

只要遇到或者(关键词各字符都已判断过)就不再继续执行该循环了。

因此流程图的(2)处应填i+j。

许多考生在(2)处填i,当j增1变化后,仍然使用A(i)进行比较就不对了。

2010级C语言期终考试题目(适用于机电学

2010-2011 学年第一学期《C语言程序设计》课内考试卷(A卷)授课班号年级专业学号姓名题号一二三上机(1) 上机(2) 总分审核题分30 18 12 20 20得分一、选择题(30分,每小题1分)得分评阅人1.以下所列的C语言常量中,错误的是( )A. 0xFF B. 1.2e0.5 C.‘#’ D. '\72'2. 下面四个选项中,合法用户标识符的选项是( )A. floatB. _totalC. #123D. M.D.John3. 若有以下类型说明语句:char x; float y; double z;则表达式x+z-y的结果类型为( )A. floatB. charC. intD. double4. 设x、y、s均为int型变量,则执行语句:x=y=2;s=x++||++y;后,y的值为( )A. 不定值B. 2C. 3D. 15. 若有说明语句:char c=‘\67’;则变量c( )A.包含1个字符 B.包含2个字符C.包含3个字符 D.该说明语句不合法6. 若说明x在区间(2,9]中,C语言的表达式为( )A.2<x≤9 B.2<x<=9 C.2<x||x<=9 D.2<x&&x<=97.下面程序段执行后int i = 4;float x;x = i /5;x的值为( )A. 0.8B. 0C. 0.0D. 1.08.设有说明“int a=3,b=5,m;”,则执行表达式m=a<=3 &&a+b<8后,m的值为( )。

A.true B.false C.0 D.19. 完成下列循环语句后,n的值为多少( )。

for(int n=0;n<100;n++){ }A. 0B.99C.100D.10110. 设有定义int a[]={1,2,3,4,5,6,7,8,9,10}, *p=a,i;则数组元素地址的正确表示为( )。

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

2004年4月全国计算机等级考试二级C语言笔试试卷(附参考答案) 一、选择题,(1-40)每题1分,(41-50)每题2分,共60分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。 (1) 1MB等于 A) 1000字节 B) 1024字节 C) 1000×1000字节 D) 1024×1024字节 (2) 与十六进制数200等值的十进制数为 A) 256 B) 512 C) 1024 D) 2048 (3) 所谓“裸机”是指 A) 单片机 B) 单板机 C) 不装备任何软件的计算机 D) 只装备操作系统的计算机 (4) 能将高级语言编写的源程序转换成目标程序的是 A) 链接程序 B) 解释程序 C) 编译程序 D) 编辑程序 (5) 在64位计算机中,一个字长所占的字节数为 A) 64 B) 8 C) 4 D) 1 (6) 在Windows环境下,当一个应用程序窗口被最小化后,该应用程序 A) 继续在后台运行 B) 继续在前台运行 C) 终止运行 D) 暂停运行 (7) 在Windows环境下,能实现窗口移动的操作是 A) 用鼠标拖动窗口中的任何部位 B) 用鼠标拖动窗口的边框 C) 用鼠标拖动窗口的控制按钮 D) 用鼠标拖动窗口的标题栏 (8) 在Windows环境下,PrintScreen键的作用是 A) 打印当前窗口的内容 B) 打印屏幕内容 C) 复制屏幕到剪贴板 D) 复制当前窗口到剪贴板 (9) Internet的通信协议是 A) TCP/IP B) BBS C) WWW D) FTP (10) 下列叙述中正确的是 A) 计算机病毒只感染可执行文件 B) 计算机病毒只感染文本文件 C) 计算机病毒只能通过软件复制的方式进行传播 D) 计算机病毒可以通过网络或读写磁盘等方式进行传播 (11) 一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是 A) 有零个或多个输入 B) 有零个或多个输出 C) 有穷性 D) 可行性 (12) 以下叙述中正确的是 A) C语言的源程序不必通过编译就可以直接运行 B) C语言中的每条可执行语句最终都将被转换成二进制的机器指令 C) C源程序经编译形成的二进制代码可以直接运行 D) C语言中的函数不可以单独进行编译东方教育网提供Http://www.eastedu.com.cn (13) 以下符合C语言语法的实型常量是 A) 1.2E0.5 B) 3.14.159E C) .5E-3 D) E15 (14) 以下4组用户定义标识符中,全部合法的一组是 A) _main B) If C) txt D) int enclude -max REAL k_2 sin turbo 3COM _001 (15) 若以下选项中的变量已正确定义,则正确的赋值语句是 A) x1=26.8%3 B) 1+2=x2 C) x3=0x12 D) x4=1+2=3; (16) 设有以下定义 int a=0; double b=1.25; char c=‟A‟; #define d 2 则下面语句中错误的是 A) a++; B) b++ C) c++; D) d++; (17) 设有定义:float a=2,b=4,h=3;,以下C语言表达式与代数式 计算结果不相符的是 A) (a+B) *h/2 B) (1/2)*(a+B) *h C) (a+B) *h*1/2 D) h/2*(a+B) (18) 有以下程序 main( ) { int x=102,y=012; printf(“%2d,%2d\n”,x,y); } 执行后输出结果是 A) 10,01 B) 02,12 C) 102,10 D) 02,10 (19) 以下4个选项中,不能看作一条语句的是 A) {;} B) a=0,b=0,c=0; C) if(a>0); D) if(b==0) m=1;n=2; (20) 设有定义:int a,*pa=&a;以下scanf语句中能正确为变量a读入数据的是 A) scanf(“%d”,pA) ; B) scanf(“%d”,A) ; C) scanf(“%d”,&pA) ; D) scanf(“%d”,*pA) ; (21) 以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是 A) if((a>B) &&(b>C) ) k=1; B) if((a>B) ||(b>C) ) k=1 else k=0; C) if(a<=B) k=0; D) if(a>B) k=1; else if(b<=C) k=1; else if(b>C) k=1; else k=0; (22) 有以下程序 main( ) { char k; int I; for(i=1;i<3;i++) { scanf(“%c”,&k); switch(k) { case „0‟: printf(“another\n”); case „1‟: printf(“number\n”); } } } 程序运行时,从键盘输入:01,程序执行后的输出结果是 A) another B) another C) another D) number number number number number another number (23) 有以下程序 main( ) { int x=0,y=5,z=3; while(z-->0&&++x<5) y=y-1; printf(“%d,%d,%d\n”,x,y,z); } 程序执行后的输出结果是 A) 3,2,0 B) 3,2,-1 C) 4,3,-1 D) 5,-2,-5 (24) 有以下程序 main( ) { int i,s=0; for(i=1;i<10;i+=2) s+=i+1; printf(“%d\n”,s); } 程序执行后的输出结果是 A) 自然数1~9的累加和 B) 自然数1~10的累加和 C) 自然数1~9中的奇数之和 D) 自然数1~10中的偶数之和 (25) 有以下程序东方教育网提供Http://www.eastedu.com.cn main( ) { int i,n=0; for(i=2;i<5;i++) { do { if(i%3) continue; n++; } while(!i); n++; } printf(“n=%d\n”,n); } 程序执行后的输出结果是 A) n=5 B) n=2 C) n=3 D) n=4 (26) 若程序中定义了以下函数 double myadd(double a,double B) { return (a+B) ;} 并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是 A) double myadd(double a,B) ; B) double myadd(double,double); C) double myadd(double b,double A) ; D) double myadd(double x,double y); (27) 有以下程序 char fun(char x , char y) { if(x return y; } main( ) { int a=‟9‟,b=‟8‟,c=‟7‟; printf(“%c\n”,fun(fun(a,B) ,fun(b,C) )); } 程序的执行结果是 A) 函数调用出错 B)8 C)9 D)7 (28) 设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是 A) p=1; B) *q=2; C) q=p; D) *p=5; (29) 有以下程序 void f(int v , int w) { int t; t=v;v=w;w=t; } main( ) { int x=1,y=3,z=2; if(x>y) f(x,y); else if(y>z) f(y,z); else f(x,z); printf(“%d,%d,%d\n”,x,y,z); } 执行后输出结果是 A) 1,2,3 B) 3,1,2 C) 1,3,2 D) 2,3,1 (30) 有以下程序段 int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b; b=p[5]; b中的值是 A) 5 B) 6 C) 8 D) 9 (31) 31、有以下程序 main( ) { char a[]=”abcdefg”,b[10]=”abcdefg”; printf(“%d %d\n”,sizeof(A) ,sizeof(B) ); } 执行后输出结果是 A) 7 7 B) 8 8 C) 8 10 D) 10 10 (32) 有以下程序 void swap1(int c[]) { int t; t=c[0];c[0]=c[1];c[1]=t;

相关文档
最新文档