2010年全国自考高级语言程序设计模拟试卷(六)及答案

合集下载

全国2010年4月高等教育自学考试计算机基础与程序设计试题及答案

全国2010年4月高等教育自学考试计算机基础与程序设计试题及答案

全国2010年4月高等教育自学考试计算机基础与程序设计试题及答案课程代码:02275一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1.在Turbo C2.0中,可激活主菜单的键是(D )A.F1B.F5C.F9D.F102.在Turbo C 2.0中,若定义char ch;则变量ch在内存中分配的字节数是( A )A.1个B.2个C.4个D.8个3.若有下列程序段,欲使x=5,y=6,对应正确的输入方法是(其中<CR>表示回车)( C )int x,y;scanf(″%d%d″,&x,&y);A.x=5 y=6<CR>B.x=5,y=6<CR>C.5<CR>D.5,6<CR>6<CR>4.下面程序段的输出结果是( B )main(){int a=2,b=5;printf(″a=%d%%,b=%d%%″,a,b);}A.a=2,b=5B.a=2%,b=5%C.a=%2,b=%5D.a=%d,b=%d5.设有条件表达式(exp)? a++:b--,则下列表达式中能够与该表达式完全等价的表达式是(A )A.(exp!=0)? a++∶b--B.(exp==0)? a++∶b--C.(exp==1)? a++∶b--D.(exp!=1)? a++:b--6.对于for(表达式l;表达式2;表达式3)语句;控制循环结束的表达式是( B )A.表达式1B.表达式2C.表达式3D.表达式l和表达式37.设有下列程序:( A )void main(void){int x[4]={1,3,5,7},i;i=0:printf("%d",x[i++]);}其输出结果是A.1B.3C.5D.78.下列关于函数的说法中,不正确...的是( D )A.函数名后面一定要一对圆括号B.空函数被调用时不做任何工作C.函数形参个数可以是一个、多个或没有D.函数参数类型可不作说明9.指向与文件参数有关的结构体类型的指针变量称为( D )A.函数指针B.整型指针C.字符型指针D.文件指针10.计算机对解释型高级语言的执行方式是( A )A.逐条语句边解释边执行,即解释一条就执行一条B.将整个程序编译完成后再执行,不生成目标程序C.将源程序编译成目标程序,生成并保留目标程序然后执行D.将源程序解释完毕后再执行11.设有int x=2,y,z;执行z=y=x——;后变量y的值是( C )A.0B.1C.2D.312.两次运行下面的程序,如果从键盘上分别输入6和4,则输出的结果是( A )void main(void){int x;scanf("%d",&x);if(x + + >5)printf("%d",x);else printf("%d\n",x——);}A.7和5B.6和3C.7和4D.6和413.在下列选项中,没有构成死循环的程序段是( C )A.int i=100;B.for(;;);while(1){ i=i%100+1;if(i>100)break;}C.int k=1000;D.int s=36;do{++k;}while(k>10000);while(s);一一s;l4.定义如下变量和数组int k;int x[3][3]={9,8,7,6,5,4,3,2,l};则执行下面语句for(k=0;k<3;k++)if(k%2)printf("%5d",x[k][k]);后输出结果是( B )A.3B.5C.7D.9l5.设有下列程序:ff(){int c=9;static int a=1,b=4;if(b==4){a+=c;b++;}else {a+=c;b——;}printf("a=%d,b=%d\n",a,b);}main(){ff();ff();}则该程序执行后,显示的结果为( D )A.a=10,b=5B.a=10,b=4a=19,b=5 a=l9,b=5C.a=10,b=4D.a=10,b=5a=19,b=4 a=19,b=416.下面能正确进行字符串赋值操作的是( C )A.char s[5]={"ABCDE"};B.char s[5]={′A′,′B′,′C′,′D′,′E′};C.char *s;s="ABCDE";D.char *s;scanf("%s",s);17.下面程序段的运行结果是( C )chars *s="abcde";s+=2 printf("%d",s);A.cdeB.字符′c′C.字符′c′的地址D.无确定的输出结果18.下面关于结构体类型变量定义正确的是( A )A.struct bunding {int area=12345;char *name="No1 Hotel";} bl;B.struct building{int area=12345;char *name="Nol Hotel";} b1;.C.building {int area=12345;char *name="No1 Hotel";} b1;D.STRUCT building {int area=12345;char *name="Nol Hotel";} b1;19.设有下面程序:# include"stdio.h"void main(void){unsigned x=1,y=3,z=5;printf("%d\n",z^x&y);}该程序的运行结果是( C )A.0B.3C.4D.520.设有说明:int u=l,v=3,w=5;表达式:u<<=(v|w)的值是( D )A.1B.5C.13D.128二、多项选择题(本大题共5小题,每小题2分,共10分)在每小题列出的五个备选项中至少有两个是符合题目要求的,请将其代码填写在题后的括号内。

全国2010年1月高等教育自学考试 C++程序设计试题及答案

全国2010年1月高等教育自学考试 C++程序设计试题及答案

全国2010年1月高等教育自学考试C++程序设计试题一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1.在C++中,头文件扩展名为()A..cppB..hC..1ibD..obj2.下列符号中,不属于分隔符的是()A.,B./C.;D.{}3.可替换#definePI3.1415926的语句是()A.float PI 3.1415926;B.const float PI=3.1415926;C.const PI(3.1415926);D.const 3.1415926;4.布尔类型标识符是()A.voidB.shortC.longD.bool5.下列不是C++语言的基本数据类型的是()A.字符类型B.整数类型C.逻辑类型D.枚举类型6.C++允许在结构中定义函数,这些函数称为()A.静态函数B.构造函数C.析构函数D.成员函数7.设函数void inc(int)将形参加1,如有整型变量int i=10;则执行inc(i);后,i的值为()A.9B.10C.11D.未知8.下列哪种默认参数的声明是不正确的()A. int max(int a,int b,int c,int d=0);B. int max(int a,int b,int c=0,int d=0);C. int max(int a=0,int b,int c=0,int d=0);D. int max(int a,int b=0,int c=0,int d=0);9.设int &max(int &,int &)返回两参数中较大者,如有两整型变量int a=10;int b=15;在执行max(a,b)++后,a,b值分别为()A.10,15B.11,15C.10,16D.1l,1610.包含哪种语句的函数不能声明为内联函数()A.循环B.变量自增自减C.if...else…D.变量声明11.定义函数模板中使用的参数类型标识符需使用下列哪组符号括起来()A.<>B.“”C.()D.{}12.一个类拥有多个构造函数,则这些构造函数间为()A.重载关系B.重复关系C.拷贝关系D.无关系13.对于拷贝构造函数point::point(point& p),下列说明正确的是()A.该函数只能访问P的私有成员B.该函数不能访问P的公有成员C.该函数可以访问P的私有和公有成员D.该函数不能访问P的成员14.使用delete[]删除对象数组时,描述正确的是()A.数组中各元素都调用析构函数B.数组中各元素都调用构造函数C.不调用析构函数D.只有首元素调用析构函数15.下列哪个指令属于条件编译指令()A. #elifB. #errorC. #pragmaD. #include16.设类Test中存在成员static int x,则下列哪种初始化方式是正确的()A.Test::int x=25;B.int x=25;C.int Test::x=25;D.int Test x=25;17.下列关于友元的描述错误的是()A.成员函数不可作友元B.类可以作友元C.普通函数可以作友元D.静态函数可以作友元18.在继承中,派生类拥有的基类个数为()A.0个B.1个C.多个D.至少1个19.基类中的protected成员,通过public派生,其在派生类中的可见性为()A.不可访问B.privateC.protectedD.public20.下列哪个不是面向对象的关键要素()A.抽象性B.结构性C.封装性D.多态性二、填空题(本大题共20小题,每小题1分,共20分)请在每小题的空格中填上正确答案。

2010年全国自考高级语言程序设计模拟试卷(四)及答案

2010年全国自考高级语言程序设计模拟试卷(四)及答案

更多优质自考资料,请访问自考乐园俱乐部/club/5346389 2010年全国自考高级语言程序设计模拟试卷(四)一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。

1.下列标识符中,不是C语言保留字的是()A.charB.whileC.minD.default答案:C2.以下能正确定义且赋初值的语句是()A.int n1=n2=10;B.char c=32;C.float f=f+1.1;D.double x=12.3E2.5;答案:B3.设有宏定义“#define R 2+3”,则R*R的宏替换结果正确的是()A.(2+3)*(2+3)B.2+3*2+3C.5*5D. 5.0*5.0答案:B4.执行语句“for (k=4;k>0;k--) { break; --k;}”后,变量k的值是 ()A. 1B. 2C. 3D. 4答案:D5.能将x定义成指向文件的文件型指针的数据定义语句是()A.FILE x;B.file *x;C.file x;D.FILE *x;答案:D6.设 int a=4,b;则执行b=a<<1;语句后,b 的结果是()B. 2C.8D.10答案:C7.执行表达式“x=(y=4,z=16,k=32)”后,x的值为()A. 4B.16C.32D.52答案:C8.函数调用“strcmp(″333″,″300″)”的返回值是 ()A.0B. 1C.任意负整数D.任意正整数答案:D9.若有:char c[5]={′a′,′b′,′\0′,′c′,′\0′}; 则执行语句printf(″%s″,c);的结果为()A.′a′ ′b′B.abC.ab cD.ab\0c答案:B10.设变量x为实型,不能正确表达数学公式xyz的表达式是 ()A.x/y*zB.x*(1/(y*z))C.x/y*1/zD.x/y/z答案:A11.以下循环体的执行次数是()main(){int i,j;for(i=0,j=1;i<=j+1;i+=2,j--)printf(″%d\n″,i);}A. 3B. 2D.0答案:C12.设有定义:char s[12]={″string″};,则printf(″%d\n″,strlen(s));的输出是()A. 6B.7C.11D.12答案:A13.设有数据定义语句“struct xyz { int x;float y;char z;} xyz1;”,则下面的说法中,错误的是()A.struct xyz可以看成一种数据类型符B.xyz是用户选取的结构型名称C.xyz1可以用来定义该结构型变量等D.x是结构型的成员名答案:C14.以只写方式打开一个文本文件,应选择的文件操作方式是()A.″a+″B.″w+″C.″wb″D.″w″答案:D15.已知:int a[3][4],(*p)[4]=a;且a[0][0]的地址为2000,则下列表达式地址不是2008的是()A.*p+1B.a+1C.*(a+1)D.*(p+1)答案:A解析:*p+116.以下与int*q[5];等价的定义语句是()A.int q[5];B.int *q;C.int*(q[5]);D.int(*q)[5];答案:C解析:int*(q[5]);17.已知:float x=1,y;则y=++x*++x的结果为()A.y=9B.y=6C.y=1D.表达式是错误的答案:B解析:y=618.在C语言中,引用数组元素时,其数组下标的数据类型允许是()A.整型常量B.整型表达式C.整型常量或整型表达式D.任何类型的表达式答案:C解析:整型常量或整型表达式19.以下选项中,合法的用户标识符是 ()A.longB.2TestC.3DmaxD. A.dat答案:B解析:2Test20.下列程序段的输出结果是 ()int k=2,n=2,m;m=(k+=n*=k); printf(″%d,%d\n″,m,n);A.8,6B.8,3C.6,4D.7,4答案:C解析:6,4二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。

2010年自学考试《高级语言程序设计》习习题

2010年自学考试《高级语言程序设计》习习题
B.r1:=i1DIVi2/i2;
C.r1:=i1/r2;
D.i2:=i1/i2;
2.设ch为字符变量,下列哪一个语句是正确的( )
A.ch:=‘-3’;
B.ch:=-ch;
C.ch:=ch;
D.ch:=‘R’+‘T’;
3.下列哪一个可用作用户自定久标识符( )
BEL
B.A(i)
C.A+name
五、编写程序
1、PROGRAMsum(input,output);
VAR
n,i:integer;
x,s,t:real;
BEGIN
S:=1,t:=1
read(x,n);
FORi:=1TOnDO
BEGIN
t:=-t*x;
S:=S+t/i
END;
writeln(S)
END;
评分细则:
s,t初值占1分;
输入占1分;
UNTILch=‘·’;
FORch:=‘A’TO‘Z’DO
IF(chINa)AND(chINb)
THENwrite(ch)
END.
评分细则:
统计第一句大字字母,2分;
统计第二句中大写字母,2分;
输出共同的大写英文字母,6分。
S=1-x+x2/2-x3/3+…+(-1)nxn/n(n=1,2…)。其中x,n由终端输入。(x为实型,n为整型)
2、编一程序,输入二维整数数组A5×5所有元素之值,寻找并输出该数组中最大元素之值(设只有一个)及其位置(行号和列号)。
3、编一程序,从终端输入两个英文句子,每句均以句号结束,输出此两句子中都出现的所有大字英文字母。
BEGIN
( ④ );

2010年10月高等教育自学考试C程序设计试题

2010年10月高等教育自学考试C程序设计试题
29
二、填空题(本大题共20小题,每小题1分,共20分)
21.设要把一个文件输出流对象myFile与 文件“f:\myText.txt相关联,所用的 C++语m 句y是fi:le.open(“f:\\myText.txt”)
说明:文件流分为三种:输入文件流,输出文件 流,输入输出文件流。分别对应的类是: ifstream,ofstream,fstream。使用这三个 类时要包含头文件:fstream。
28
私有派生: 基类的private成员在私有派生类中为不可访问成 员 基类的protected成员在私有派生类中为私有成员 基类的public成员在私有派生类中为私有成员
保护派生: 基类的private成员在保护派生类中为不可访问成 员 基类的protected成员在保护派生类中为私有成员 基类的public成员在保护派生类中为保护成员 多重继承中访问权限的变化同单一继承
编译时程序内调用内联函数的地方被替换为函
数体内的语句,能够提高程序运行效率,但会
增加程序的长度。在类体内定义的函数自动为
内联函数。内联函数必须在调用之前说明为内
联函数。
13
9.int Func(int,int);不可与下列哪个函数构成重 载( B ) A.int Func(int,int,int); B.double Func(int,int); C.double Func(double,double); D.double Func(int,double);
8
5.使用值传递方式将实参传给形参,下列说法正确的 是(A) A.形参是实参的备份 B.实参是形参的备份 C.形参和实参是同一对象 D.形参和实参无联系
说明:C++中参数传递方式分为两种:值传递和 地址传递(即引用传递)。

全国2010年10月高等教育自学考试C++程序设计试题及参考答案

全国2010年10月高等教育自学考试C++程序设计试题及参考答案

全国2010年10月高等教育自学考试C++程序设计试题课程代码:04737一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1.C++中注释“∥”的有效范围是( A )A.从“∥”开始到行尾B.从“∥”开始到下一个“∥”C.“∥”及其后一个字符D.从“∥”开始到程序尾2.假定MyClass为一个类,则该类的复制构造函数的声明语句为( C )A.MyClass&(MyClass x);B.MyClass(MyClass x);C.MyClass(MyClass &x);D.MyClass(MyClass *x);3.下列选项不是C++关键字的是()A.typedefB.voidC.boolD.inc4.用于标识十进制常量的前缀或后缀是()A.无前后缀B.后缀L或lC.前缀0D.前缀0x5.设int x=56;int r=x;若cout <<&x;显示0012FF7A,则cout <<&r;输出值为()A.56B.00l2FF7AC.0012FF7BD.未知6.使用下列哪个流格式控制符可设置转换基数为八进制()A.decB.octC.hexD.endl7.C++中是否允许在类结构中定义函数()A.不允许B.允许C.仅允许定义构造函数D.只不允许定义构造函数8.设函数void subone(int &)将形参减1,如有整型变量int k=10,则执行subone(k);后,k的值为()A.9B.10C.11D.未知9.对函数int max(int a,int b=0,int c=0,int d=0,int e=0);下列调用方式正确的是()A.int m=max(10,11,12,13,14);B.int m=max(10,,12,13,14);C.int m=max(10,1l,,13,14);D.int m=max(10,11,12,,14);10.类MyClass的定义如下:class MyClass{public:MyClass(){}MyClass(int i){value=new int(i);}int * value;};若要对value赋值,则下面语句正确的是()A.MyClass my;my.value=10;B.MyClass my;*my.value=10;C.MyClass my;my.*value=10;D.MyClass my(10);11.包含哪种语句的函数不能声明为内联函数()A.变量定义B.if……elseC.位操作D.switch12.声明函数模板的关键字是()A.inlineB.templateC.constD.short13.对于类中的成员,使用public修饰,表明该成员的访问权限是()A.公有的B.私有的C.保护的D.不可见的14.一个类中是否可以允许一个无参数构造函数和一个全部都是默认参数的构造函数共存()A.不允许B.允许C.无法确定D.视构造函数的函数,可确定15.析构函数的参数个数为()A.0个B.1个C.至少1个D.多于1个16.非静态成员函数都会有一个隐含指针,它是()A.self指针B.this指针C.current指针D.one指针17.下列访问公有静态成员的方式,错误的是()A.类名::静态成员名B.对象名.静态成员名C.对象指针->静态成员名D.对象指针.静态成员名18.声明友元使用下列哪个关键字()A.class B.constC.friend D.virtual19.派生类继承了基类的()A.所有成员B.部分成员C.数据成员D.成员函数20.基类private成员,通过public派生,其在派生类中为()A.private B.protectedC.public D.不可访问二、填空题(本大题共20小题,每小题1分,共20分)请在每小题的空格中填上正确答案。

2010年全国自考高级语言程序设计模拟试卷(三)及答案

2010年全国自考高级语言程序设计模拟试卷(三)及答案

更多优质自考资料,请访问自考乐园俱乐部/club/5346389 2010年全国自考高级语言程序设计模拟试卷(三)一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。

1.设 char c[5]{′a′,′b′,′c′,′0′}则printf(″%s″,c);的输出是()A.′a′ ′b′B.abC.abcD.″ab\0c″答案:C2.下列程序执行后的输出结果是()# defineMA(x) x*(x-1)main(){ int a=1,b=2;printf(″%d\n″,MA(1+a+b));}A. 6B.8C.10D.12答案:B3.运行下列程序后,输出结果是()int f(int x,int y){ return(x-y); }main(){ int a=40,b=20,c=10;printf(″%d\n″,f(f(a,b),f(b,c)));}A.0B.10C.30D.50答案:B4.若fp指向文件的内部指针指向最后1个数据,则feof(fp)的返回值是 ()A.0B. 1C.EOFD.非零值答案:A5.下列语句中,正确的是()A.typedef v1 int;B.typedef v2=int;C.typedef int v3;D.typedef int=v4;答案:C 更多优质自考资料,请访问自考乐园俱乐部/club/53463896.设有定义语句“int( *ptr)[10];”其中的 ptr 是()A.10个指向整型变量的指针B.指向10个整型变量的函数指针C.一个指向具有10个元素的一维数组指针D.具有10个指针元素的一维数组答案:C7.设有语句“char a[]=″123″,b[]={′1′, ′2′, ′3′};”,正确的说法是()A.a[3]是不可知的任意字符B.数组a、b的长度相等C.b[3]的值为′\0′D.数组a的长度大于数组b的长度答案:D8.能正确定义一个用来向打开文件的文件型指针变量 fp 的语句是()A.file fpB.file *fpC.FILE fpD.FILE *fp答案:D9.设有定义“int a=3,b,*p=&a;”,则下列语句中使 b 不为3的语句是()A.b=*&a;B.b=*p;C.b=a;D.b=*a;答案:D10.假设已定义 char c[6]=″WuHan″,char*s=c 和 int i,则以下输出语句中,错误的是()A.printf(″%s\n″,s);B.printf(″%s\n″,*s);C.for(i=0;i<6;i++) printf(″%c″,c[i]);更多优质自考资料,请访问自考乐园俱乐部/club/5346389D.for(i=0;i<8;i++) printf(″%c″,s[i]);答案:B11.在C语言中,不合法的保留字是 ()A.ifB.CharC.floatD.default答案:B解析:Char12.设有定义“double a=5.0,b=2.5;”,则表达式(int)b+a/b的值是()A. 3B. 4C. 3.0D. 4.0答案:D解析:4.013.语句“printf(″%d\n″,(x=1,x=2));”的输出结果是 ()A. 1B. 2C.0D.语法出错答案:B解析:214.若定义了()struct{ char a[10];short b[4][5];long c[5];}u;则执行printf(″%d\n″,sizeof(u));语句的输出结果是()A.10B.20C.40D.70答案:D解析:7015.语句while(!e);中的条件!e等价于()A.e==0B.e!=1C.e!=0D.~e答案:A解析:e==016.用以表示内存地址的数据类型是()A.整型B.结构型C.指针型D.实型答案:C解析:指针型17.下列表达式中,值为1的表达式是 ()A.3%5B.3/5.0C.3/5D.3<5答案:D解析:3<5 更多优质自考资料,请访问自考乐园俱乐部/club/534638918.设有定义“ int x=8;”,则表达式“x+++1/3”的值是()A.0B. 2C. 3D.8答案:D解析:819.下列程序段的输出结果是 ()char b=′b′,e=′e′;printf(″%d,%c\n″,e-b,e-′a′+′A′);A.2,MB.2,EC.3,MD.3,E答案:解析:ASCⅡ20.关于运行下列程序段的正确说法是 ()int x=3;do { printf(″%d″,x--);}while(!x);A.输出3B.输出32C.输出321D.陷入死循环答案:A解析:输出3二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。

高级语言程序设计自考模拟试题及答案解析(6)

高级语言程序设计自考模拟试题及答案解析(6)

高级语言程序设计自考模拟试题及答案解析(6)(1/15)单项选择题在每小题列出的四个备选项中只有一个是符合题目要求的。

第1题汇编程序的功能是( )A.将汇编语言程序转换成目标程序B.将汇编语言程序转换成高级语言程序C.将高级语言程序转换为目标程序D.将汇高级语言程序转换为编语言程序下一题(2/15)单项选择题在每小题列出的四个备选项中只有一个是符合题目要求的。

第2题设int x=1;a=9,b=6,c=9,d=8;执行语句:if(a>b)if(c>b)if(b>d)x=2;else x=6;后x的值是( )A.1B.2C.6D.不确定上一题下一题(3/15)单项选择题在每小题列出的四个备选项中只有一个是符合题目要求的。

第3题设int a[10],*p=a;则对数组的正确引用是( )A.a[p]B.p[a]C.*(p+2)D.p+2上一题下一题(4/15)单项选择题在每小题列出的四个备选项中只有一个是符合题目要求的。

第4题若内部变量在离开了定义所在的函数或复合语句后,仍在生存期内。

则该变量是( )A.auto变量B.register变量C.局部变量D.static变量上一题下一题(5/15)单项选择题在每小题列出的四个备选项中只有一个是符合题目要求的。

第5题下列运算符,优先级最低的是( )A.&&B.!D.+=上一题下一题(6/15)单项选择题在每小题列出的四个备选项中只有一个是符合题目要求的。

第6题对于文件打开方式"rb+"描述正确的是( )A.可读写文本文件B.只读文本文件C.可读写二进制文件D.只读二进制文件上一题下一题(7/15)单项选择题在每小题列出的四个备选项中只有一个是符合题目要求的。

第7题设int a=1,b=2,c=4;经过表达式(c=a!=b)&&(a==b)&&(c=b)运算后,a、b和c的值分别是( )A.1,2,0B.1,2,1C.1,2,2 C.1,2,3上一题下一题(8/15)单项选择题在每小题列出的四个备选项中只有一个是符合题目要求的。

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

更多优质自考资料,请访问自考乐园俱乐部/club/5346389 2010年全国自考高级语言程序设计模拟试卷(六)一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。

1.设int a=3;则表达式a<1&&--a>1的运算结果和a的值分别是()A.0和2B.0和3C.1和2D.1和3答案:A2.若给定条件表达式:“(a)?(b++):(b--),”则与表达式 a 等价的表达式是()A.a==0B.a==1C.a!=0D.a!=1答案:C3.设有下列数据定义语句,则表达式值是字母M的是()struct P {char name[10]; int age;};struct P c[3]={ {″John″ ,17},{″Paul″,19},{″Mary″,18}};A.*c[3].nameB.c[3].*nameC.c[2].name[0]D.c+2->name[0]答案:C4.设有下列数据定义语句,则表达式“sizeof(abc)”的值是()struct { char a; short b; float c[2]; }abc;A. 4B.7C.8D.11答案:D5.执行下列程序段后的输出是 ()int a=3,b=2;printf(″%d,%d″,b=a<b,a=a<b);A.0,0B.0,1C.1,0D.1,1 答案:C 更多优质自考资料,请访问自考乐园俱乐部/club/53463896.设x和y均为int型变量,则执行下面的循环后,y的值为() for(y=1;x=1;y<=50;y++)if(x>=10) break;A.10B.9C.11D.8答案:A7..执行下面的程序段后,变量 k 中的值为()int k=3,s[2];s[0]=k;k=s[1]*10;A.不定值B.33C.30D.10答案:A8.结构型变量占用内存的字节数是()A.各成员占用内存字节数之和B.第一个成员占用的内存字节数C.占用内存最大成员所需的字节数D.最后一个成员占用的内存字节数答案:A9.若已定义:int a[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0≤i≤9,则对 a 数组元素不正确的引用是()A.a[p-a]B.*(&a[i])C.p[i]D.a[10]答案:D10.运行下列程序后,输出结果是()f(int x,int y,int *z){ return(*z=x*x+y*y); }main(){int a=3;f(f(1,2,&a),f(1,2,&a),&a);printf(″%d″,a);}A.9B.10C.50D.60答案:C11.下列程序的运行结果是()# include<stdio.h>main(){int a=2,c=5;printf(″a=%d,b=%d\n″,a,c);}A.a=%2,b=%5B.a=2,b=5C.a=d,b=dD.a=%d,b=%d答案:B12.下列表达式的值为0的是()A.3%5B.3/5.0C.3/5D.3<5答案:C13.设有定义″#define R 2+1″,则R*R的宏替换结果正确的是()A.(2+1)*(2+1)B.2+1*2+1C.3*3D.(2+1)*2+1答案:B解析:2+1*2+114.执行语句“for (k=2;++k<4;k++) ++k;”后,变量k的值是 ()A. 2B. 4C. 5D. 6答案:D解析:615.下列程序段的输出结果是 ()A.B.C.D.答案:解析:do-while和for循环均是先执行循环体语句,后判断表达式16.设整型变量a、b、c、d均为0,执行下列程序段后变量d的值是() if (!a) ++d;else if (b); if (c) d=2;else d=3;A.0B. 1C. 2D. 3答案:D解析:317.下列语句中,正确的是()A.char a[3][]={′abc′,′1′};B.char a[][3]={′abc′,′1′};C.char a[3][]={′a′,″1″};D.char a [][3]={″a″,″1″}答案:D解析:char a [][3]={″a″,″1″}18.设有定义语句“int x=3,*p=&x;”,则值不为3的表达式是()A.xB.*pC.p+0D.*&x答案:C解析:p+019.以下程序的输出结果是()int d=1;fun(int p){ staticint d=5;d+=p;printf(″%d″,d);return(d);}main(){ int a=3;print(″%d\n″,fun(a+fun(d)));}A.699B.669C.61515D.6615答案:C解析:6151520.设有整型变量i、j,则下列程序段中“内层循环体”执行的次数是 ()for (i=5;i;i--)for (j=0;j<2;++j) 内层循环体;A.8B.10C.12D.15答案:B解析:10二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。

错填,不填均无分。

1.函数中定义的static型变量的作用域是___。

答案:该函数体内部2.若有定义:char c=′\010′;则变量 c 中包含的字符个数为___。

答案:1个3.语句 for(i=1;i==1;i++);循环的次数是___。

答案:14.若有定义:int x=3,y=2;float a=2.5,b=3.5;则下面表达式的值为___。

(x+y)%2+(int)a/(int)b答案:15.如果使用“r”操作方式打开一个并不存在的文件,则fopen()函数的返回值是___。

答案:NULL或06.若定义了int a[10],*p;,将数组元素a[8]的地址赋给指针变量p的赋值语句是___。

答案:p=&a[8];(或p=a+8;)7.设有定义“int x=1;”,则表达式“x-=x*=x*x”的值是______答案:0更多优质自考资料,请访问自考乐园俱乐部/club/53463898.“FILE*p”的作用是定义了一个文件型指针p,其中的“FILE”是在头文件中定义的_________答案:stdio.h9.磁盘文件的主要用途之一,也是文件的特点是:_______________答案:能长期保存数据10.执行语句“x=(a=3,b=a--)”后,x,a,b的值依次为____________答案:2,3,2三、程序分析题(本大题共5小题,每小题5分,共25分)阅读下列程序,将输出结果写到各题右侧的空白处。

1.main(){int a=1,b=3,c=5,d=7,x;if(a<b)if(c<d) x=1;else if(a<c)if(b<d) x=2;elsex=3;elsex=4;elsex=5;printf(″%d\n″,x);}答案:12.#include ″stdio.h″main(){int i=1,j=3;printf(″%d,″,i++);{ int i=0;i+=j*2;printf(″%d,%d,″,i,j);}printf(″%d,%d″,i,j);}答案:1,6,3,2,33.main(){ int x[3][6]={{1,2,3},{4,5,6},{7,8,9}},(*p)[6]=x,s=0,k;for (k=0;k<6;k++)s=s+*(*(p+1)+k);printf(″%d\n″,s);}输出结果为?答案:154.main(){char ss[10]=″a program″;int num=4;sub(ss,0,num-1);sub(ss,num,6);sub(ss,0,6); printf(″%s\n″,ss);}sub(ss,num1,num2)char *ss;int num1,num2;{char t, * p;p=ss+num2;ss=ss+num1;while(ss<p){t= *ss;*ss=*p; * p=t;ss++;p --;} 答案:ogra pram5.main(){ int n,k=1;for (n=1;n<20;n++){ k=1;while (k<=n){ if (n==k*k)printf(″%d,″,n);k++;}}}答案:1,4,9,16 更多优质自考资料,请访问自考乐园俱乐部/club/5346389四、程序填充题(本大题共3小题,每小题6分,共18分)给出下列程序,将横线处缺少的部分补上,使其能正确运行。

1.图中空白处答案应为:___,___,___。

答案:a [i]min=a[i]max,min2.图中空白处答案应为:___,___,___。

更多优质自考资料,请访问自考乐园俱乐部/club/5346389答案:float *max, float *min*p*max=*(p+i*6+j)3.根据对 n 的输入,求1+2+3+…+n 的和。

float sum(int x){int i;float s;;/*第一___空 */for (i=1;i<=x;i++)s + =i;;/* 第二___空 */}main(){ int n;scanf(″%d″,); /* 第___三空 */printf(″%f\n″,sum(n));}答案:s=0.0return s &n五、程序设计题(第1小题5分,第2、3小题各6分,共17分)1.编一个程序,输入一个3×3的实数矩阵,求两个对角线元素中各自的最大值。

答案:main(){ float s[3][3],max1,max2,x;int i,j;for(i=0;i<3;i++)for(j=0;j<3;j++){ scanf(″%f″,&x);s[i][j]=x;}max1=s[0][0];for(i=1;i<3;i++)if(max1<s[i][i])max1=s[i][i];max2=s[0][2];if(max2<s[1][1])max2=s[1][1];if(max2<s[2][0])max2=s[2][0];printf(″max1=%f\n,max1);printf(″max2=%f\n,max2); }2.编函数,将短整数m转换成字符串存入指针变量p指向的字符型数组。

答案:void f(short m,char *p){ char s[5];int k=4;if (m<0) { *p=′-′; p++; m=-m; }while (m!=0){ s[k]=′0′+m%10; k--; m=m/10; }for (k++,k<5;k++,p++)*p=s[k];*p=′\0′;return;}3.设计结构型,包含学生的编号、姓名、任课教师姓名。

相关文档
最新文档