自学考试、计算机基础与程序设计(09.4-12.7)试题汇总

更新时间:2023-10-22 18:48:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

全国2009年4月自考计算机基础与程序设计试题

课程代码:02275

一、单项选择题(本大题共20小题,每小题1分,共20分)

在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。

1.衡量存储器的基本单位是( ) A. bit B. byte C. KB D. word

2.Windows操作系统是( ) A. 单用户、单任务 B. 单用户、多任务 C. 多用户、单任务 D. 多用户、多任务 3.组成微机主存储器的是( ) A. CD—ROM和RAM B. 硬盘和RAM C. 硬盘和CD—ROM D. ROM和RAM 4.下列数据中最大数是( ) A. (1010010)2 B. (123.4)8 C. (84.5)10 D. (55)16

5.在Turbo C 2.0中,运行一个程序后,要查看运行结果可按键( A. Alt+F1 B. Alt+F5 C. Alt+F9 D. Alt+F10

6.下列是合法C语言常量的是( ) A. e B. 7E4.0 C. E4 D. -9.13E-30

7.设有int a=3,b=-4,c=5;表达式(a

8.以指数形式输出实型数的格式说明符是( ) A. %u B. %x C. %f D. %e

9.下列程序的输出结果是( ) main( ) { int x=5,y; if(x<0)y=-1; if(x==0)y=0; y=1;

printf(″%d″,y); }

A. -5 B. -1 C. 0 D. 1

10.下列程序段的输出结果是( ) i=1; while(i<3){ j=1;

while(j<=i){

) printf(″%d″,i+j); j++; } i++;

printf(″\\n″); }

A. 2 3 3 4 B. 2 3 4 C. 2 3 D.2

3 4 3 4

11.已知str1和str2是字符数组名,下面函数中能正确地完成字符串输出的是( ) A. puts (str1,str2) B. puts (str2) C. putchar (strl) D. putchar (str1,str2) 12.下列关于函数的说明中不正确的是( ) A. 函数名后面可以不要一对圆括号 B. 函数参数类型必须作说明

C. 函数形参个数可以是一个、多个或没有 D. 空函数被调用时不做任何工作

13.若有定义:int a[5];则a数组中首元素的地址可以表示为( ) A. &a B. a+1 C. a D. &a[1]

14.设有char s=″\\ta\\017bc″;则指针变量s指向的字符串在内存中所占的字节数是 ( ) A. 5 B. 6 C. 7 D. 9

15.下列关于结构体类型的定义正确的是( ) A. struct tree B. struct tree

{ int branch; { int branch; char name[20]; char name[20], char relation; char relation, }; };

C. struct tree D. struct tree

{ int branch { int branch; char name[20] char name[20]; char relation char relation; } }

16.下列各个位运算符的优先级从左到右依次降低的是( ) A. | & ? > > B. ? & > > | C. ~ > > ? | D. ~ > > | ?

17.设有说明:int u=1,v=3,w=5;表达式:v &~~u|w的值是( ) A. 3 B. 5 C. 6 D. 8

18.设有下列程序:( ) #include″stdio.h″ main( ) {

unsigned x=8,y=2;

printf(″%d\\n″,y|~(x&y)); }

该程序的运行结果是 A. -1 B. 0xff C.127 D. 65535

19.若有定义∶# define P(x) x x x+1和说明语句:int a=2;则表达式P(2)的值是( ) A. 6 B. 8 C. 9 D. 10

20.在语句fgets(str,n,p);中,下列说法不正确的是( ) A. str是字符指针 B. 一次可以读n个字符 C. str是字符数组名 D. 一次可以读n-1个字符

二、多项选择题(本大题共5小题,每小题2分,共10分)

在每小题列出的五个备选项中至少有两个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选、少选或未选均无分。

21.下列关于计算机的叙述中正确的是( ) A. CPU是计算机系统的部件 B. I/O设备不是计算机系统的部件

C. 计算机区别于其他计算工具的本质特点是能存储数据 D. “裸机”是指不配置任何软件的计算机

E. 计算机(武汉自考)指令是控制计算机进行操作的命令 22.设有int a=3,b=-5;下列表达式的值等于1的有( ) A. a&&b<0 B. fabs(b)-a-1>0 C. a>b&&b<0 D. (a,2,-5)==(b,2,a) E. a+b<0

23.下列关于break、goto、continue语句的说法中正确的是( ) A. break语句能够用于循环语句中 B. break语句不能用于switch语句中 C. goto语句可以用于直接从多层循环中退出 D. continue语句可用于跳出循环体 E. continue语句不能用于switch语句中

24.若有定义:int y[4][4],( p)[4];及赋值p=y;则下列语句中可以输出数组元数y[2][0]的值的语句是( )

A. printf (″%d\\n″,&y[2][0]); B. printf (″%d\\n″, y[2][0]); C. printf (″%d\\n″,p[2][0]); D. printf (″%d\\n″, y[2]); E. printf (″%d\\n″, ( (y+2)); 25.设有关于结构体类型的定义: struct worker { int id; char name; float salary;

} wl={102035,″Lihua″,2560.50}, p; 下列选项中语句语法正确的有( ) A. p=wl; B. p=&wl;

C. p->id=wl->id D. p->id=wl.id; E. p.salary=wl.salary;

三、简答题(本大题共4小题,每小题4分,共16分) 26.有无default对switch语句有什么不同的影响? 27.写出do-while语句的一般形式及其执行过程。

28.定义 char a[ ]=″I am a student.″, str=a;等价于 char a[ ]= ″I am a student.″, str; str=a; 吗?为什么? 29.设有说明: struct vegetable {

char part; char color; } clove;

char part _ of _ vegetable [3]={″AA″,″BB″,″CC″};

char seven _ color={″11″,″22″,″33″,″44″,″55″,″66″,″77″}; 请分别写出将clove的成员part指向″BB″,成员color指向″55″的C语句。

四、阅读分析题(本大题共6小题,每小题5分,共30分) 30.阅读分析下面程序后,写出程序的运行结果。 # include ″stdio.h″ main ( ) {

int a=978,x,y,z,i,j,w; x=a/100;

y=(a-100 x)/10; z=a-10 y-100 x; i=y>z? z:y; j=y<=z? z:y; w=100 x+10 i+j;

printf(″%d,%d,%d,%d\\n″,x,y,z,w); }

31.阅读分析下面程序后,写出程序的运行结果。 # include ″stdio.h″ main( ) {

int n,m;

for(n=1;n<=5;n++) {

for(m=1;m<=4;m++) printf(″M″,m n); printf(″\\n″); } }

32.阅读分析下面程序后,写出程序的运行结果。 #include″stdio.h″ main ( ) {

int arr[10],i,k=0; for(i=0;i<10;i++) arr[i]=i;

for(i=1;i<=4;i++) {

k+=arr[i]+i; printf(″]″,k); } }

33.阅读分析下面程序后,写出程序的运行结果。 #include″stdio.h″ int fun(int x) { int p; if(x==0||x==1) return(3); p=x-fun(x-2); printf(″]″,p); return (p); } main( ) { fun(9); }

34.阅读下面程序,分析cat函数的功能并写出程序的运行结果。 #include″stdio.h″

void cat(char s,char t) {

while( s) s++;

while(( s++= t++)!=′\\0′); } main( ) {

char sl[80]=″computer″,s2[80]=″Pentium_″; cat(s2,s1);

fac*=x; return fac; }

35.写出下面程序的运行结果 void f2(char*t,char*s) {

while(*t!=′\\0′)t++; while(*s!= ′\\0′) { *t=*s: s++;t++; } *t=*s; }

void main(void) {

char s[80]= ″ ″,*ps[3]={ ″there″,″is a″,″car″}; int i;

for(i=0; i<3;i++) f2(s,ps[i]); printf(″%s\n″,s); }

五、编程题 (本大题共2小题,每小题12分,共24分)

36.从键盘输入10个整数并存放到一维数组中,计算下标为奇数的元素的累加和并输出运行结果。

37.从键盘上输入10个浮点型数,求出10个数的总和与平均值,并将总和与平均值写到d盘根目录下的文本文件array.dat中。

全国2012年7月高等教育自学考试

计算机基础与程序设计试题

课程代码:02275

一、单项选择题(本大题共20小题,每小题1分,共20分)

在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.下面哪种设备是输入设备?( ) A.键盘 B.打印机 C.显示器 D.投影仪 2.与十进制39等值的二进制数是( ) A.00100111 B.01001001 C.10100111 D.01011000 3.设有 int a=3,b=-4;表达式(a

4.设有int a=3,b=-4,c=5;表达式a=b=c=6+3/5的值是( ) A.3 B.4 C.6 D.6.6

5.以十进制无符号形式输出整数的格式说明符是( ) A. %u B.% x C.%o D.%d 6.下列程序段执行后的输出结果为 int i =-1;

if(i<=0) printf("* * * * \\n");

else printf ("%%%%\n"); ( ) A. * * * * c B. % % % % C. % % % % c D.* * * * 7.执行下面程序段后的y值是 int y=l, x=5; if(x<0)y=-1;

if(x>=0)y=0; ( ) A.-1 B.0 C.1 D.5

8.执行while(表达式)结构循环的条件是( ) A.当表达式的值为0时 B.仅当表达式的值为l时 C.当表达式的值为非0时 D.当表达式的值不为1时 9.下面程序段的输出结果是 a=100;

while (a>120) a= a + l;

printf ("%d\ ( ) A.100 B.101 C.120

D.121

10.下面程序执行后,i的值是 main() { int a[5]={1,2,3,4,5),i =2;

printf ("%d",a[ i + + ]); } ( )

A.1 B.2 C.3 D.4 11.关于函数调用以下错误..的.

描述是( ) A.函数调用可以出现在执行语句中 B.函数调用可以出现在一个表达式中 C.函数调用可以作为一个函数的实参 D.函数调用可以作为一个函数的形参 12.C语言关于递归调用的规则是( )

A.既允许直接递归调用,也允许间接递归调用 B.不允许直接递归调用,也不允许间接递归调用 C.允许直接递归调用,不允许间接递归调用 D.不允许直接递归调用,允许间接递归调用

13.设有语句int a[4][10],* p= * a;则下列表达式中属于地址表达式的是( A.a[1][2] B.a[1] C. * (p+1 * 10 + 2) D.* (a[1]+ 2) 14.下面声明语句正确的是( ) A. int a, * p=a; B.int a, * p = & a;

C. int * p= a,a;

D.int * p = & a, a;

15.下面定义不正确...

的是( ) A. struct star B.struct star { {

int id; int id;

char * name; char * name;

}starl = {1001,\ }; starl = {1001,\C. struct D. struct star { {

int id ; int id ;

char * name ; char * name ; } starl = {123,\ } starl ;

16.下面列出的位运算符中,表示按位异或操作的是( ) A.~ B.! C.^ D.&

17.下面各个位运算符的优先级从左到右依次升高的是( ) A. | ^ & > > B. ^ > > & ~ C. > > | ^ ~ D. ~ | & > > 18.设有说明:int u=l,v=14; 表达式u+-v > >2的值是 ( ) A.0 B.3

) C.4 D.7

19.如果文件存储的是数据在内存中时存放的字节形式,则该文件是( ) A.ASCII码文件 B.文本文件 C.二进制文件 D.设备文件

20.正确使用fopen函数打开C盘根目录下abc . dat文件进行读写的语句是( ) A. fopen ("c:\\abc.dat","w+"); B. fopen("c:\\adc.dat","r+"); C. fopen("c:\\\\abc.dat","w"); D. fopen("c:\\\\abc.dat","r+"): 二、多项选择题(本大题共5小题,每小题2分,共10分)

在每小题列出的五个备选项中至少有两个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选、少选或未选均无分。 21.下面属于合法的C标识符有( ) A._123 B.abc C.123_ D.abc.c E.ab_123

22.若所用变量已正确定义,以下各程序段执行后,变量x值相等的有( A.x=0; B.x=0;i=0; for (i=0;i<=3;i + +) while(i<3) x=i+x; { x=i+x; i + +;

}

C.for(i=0;i<5;i + +) D.x=0;i=0;

x=i+x; lop: x=i+x;

i+ +;

if ( i < =3) goto lop; E.i=0;x=0;

do{ x=x+i;i=i+1; }while(i<=3);

23.设有声明int x[5]={2,4,6,8,10);下面表达式的结果为2的有( A.a[o] B.a[3]-a[2] C.(a[4]-a[2])/2 D.a[3]-a[0] E.a[0]/2+a[l]/4

24.设有如下定义及赋值: int a[5]={1,2,3,4,5), * p; p=a;

则可以输出元素值为3的语句有( ) A. printf ("%d\\n",a+2); B. printf ("%d\\n\S. printf ("%d\n",p[2]); D. printf ("%d\n",* (p+2)); E. printf ("%d\n",a[3]);

25.下面关于结构体类型的定义正确的有( ) A. struct ABC B. struct tree { {

int a, int branch; char b, char name[20];

) ) char * p, char * relation; }; }; C. struct ABC D. struct tree { { int a; int branch, char b; char name[20], char *p ; char * relation, }; }; E. struct {

char name[20]; int weight; int sex; }; 三、简答题(本大题共4小题,每小题4分,共16分) 26.简述'c'与"c"两者是否相同?若不同则指出其差别。

27.请用for循环实现下面程序段的功能。 char ch='Z'; while(ch<='A')

{ printf("%c",ch);

ch――; }

28.简述声明语句int ( * p)[3];中变量p的含义。 29.设有声明

struct student

{ long xh;

char name[10]; short int age; };

struct student a= {1234,\

简单回答结构体名,结构体类型变量,结构体类型变量所占的字节数,以及结构体成员age的值是什么?

四、阅读分析题(本大题共6小题,每小题5分,共30分) 30.写出下面程序的运行结果。 void main ( void) {

int x,y,z; x=l;

y=12 * x; z= x+y/2;

printf (\}

return a;

}

35.阅读下列程序并写出运行结果。 void f1(char*t,char*s); void main(void) {

char s1[20]=\,t1[20]=\; printf(\%s\n%s\n\,s1,t1); f1(t1,s1);

printf(\%s\n\,t1); }

void f1(char*t,char*s) {

while((*t=*s)!=′\0′){ t++; s++; } }

五、编程题 (本大题共2小题,每小题12分,共24分)

36.从键盘输入20个整数存放到数组a 中,计算数组a中下标为奇数的所有元素的和。 37.从键盘上输入20个字符存放到一个字符数组s中。对数组s中的元素按升序(由小到大)排序,再将排序后的结果写到c:\abc.dat文本文件中。

2011年7月高等教育自学考试

计算机基础与程序设计试题

课程代码:02275

一、单项选择题(本大题共20小题,每小题1分,共20分)

在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.下列存储设备中,属于主机范畴的是( ) A.光盘 B.硬盘 C.内存 D.U盘

2.下列属于计算机软件系统的是( ) A.内存储器 B.操作系统 C.显示器 D.CPU

3.在Turbo C2.0中,在主菜单File项中选择Os Shell后,要重新回到Turbo C2.0,应使用的命令是( ) A.Return B.Exit C.Quit D.New

4.下面合法的C语言标识符是( ) A.int_ B.int C.π D.file.c

5.若有int a,b;下面正确使用变量a,b的表达式是( ) A.7.0%3.0 B.(a+b)++ C.7++ D.a+′a′+b

6.下面几种运算符中,优先级最低的是( ) A.| | B., C.= D.?:

7.设有int a=3,b=-4,c=5;表达式(a>b)?a&&c<0:b的值是( ) A.0 B.1

C.3 D.-4

8.设有int x=2,y,z;执行z=y=x++;后变量y的值是( ) A.0 B.1 C.2 D.3

9.若有int a=8,b=5;语句printf(“%d”,a>b);的执行结果是( ) A.0 B.1 C.5 D.8

10.下面程序的输出结果是( ) main( )

{int a=3,b=5; a+=b;b+=a;

printf(“%d,%d”,a,b);} A.3,5 B.5,3 C.8,13 D.13,21

11.若有int a=8,b=12,max,min;执行语句 if(a>b){max=a;min=b;} else{max=b;min=a;} 的结果是( )

A.max的值是8,min的值是12 B.max的值是8,min的值是8 C.max的值是12,min的值是8 D.max的值是12,min的值是12 12.执行下面程序段后,a的值是 int a=100; do

{a++;}while(a>120);( ) A.100 B.101 C.120 D.121

13.若有定义int ch[5][4];则数组ch中的元素的个数是( ) A.9 B.12 C.15 D.20

14.若有定义char str[20];能使数组str得到字符串\am a boy\的正确输入方法是( ) A.gets(str); B.str=getchar( ); C.scanf(\%c\,str); D.scanf(\%s\,str);

15.若主函数调用funl函数,而funl函数调用fun2函数,这种逐级调用称为( ) A.直接递归调用 B.间接递归调用

C.并行调用 D.嵌套调用

16.下面关于函数参数的说法中,不正确的是( ) ...A.实参可以是常量、变量或表达式 B.形参可以是常量、变量或表达式 C.实参可以是数组元素或数组名 D.形参应与其对应的实参类型一致

17.若有定义int b[2][3] ={0},(*p)[3]=b;对b数组第i行第j列(设i,j已正确说明并赋 值)元素的不正确的引用是( ) ...A.*(*(p+i)+j) B.*(p[i]+j) C.*(p+i)+j D.(*(p+i))[j]

18.设有下面的结构体和结构变量定义: Struct tea {

char*name;

float price,weight; };

struct tea teal={\_tea\,2.0,28.5}; struct tea *p_struct=&teal; 语句:

printf(\%s,%.1f \,p_struct—>name,p_struct—>price*p_struct—>weight); 的输出结果是( ) A.57.0 B.57.0,green_tea C.green_tea,57.0 D.green_tea

19.若有定义int x=5,y=6;下面表达式值为0的是( ) A.x^x B.x&y C.x|y D.y>>2

20.下列函数中向文件一次读一个字符的函数是( ) A.fgetc B.fputc C.fgets D.fputs

二、多项选择题(本大题共5小题,每小题2分,共10分)

在每小题列出的五个备选项中至少有两个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选、少选或未选均无分。 21.与十进制100等值的数有( ) A.(1100100)2 B.(1011011)2 C.(144)8 D.(64)16 E.(5F)16

22.下面合法的C语言常量有( ) A.′tc′ B.3e2.5 C.0xfde D.1e8 E.′\\n′

23.下面属于C语言中输入或输出函数的有( ) A.scanf B.printf C.putchar D.main

E.pow

24.下面关于函数的说法中,不正确的有( ) ...A.定义函数时,形参的类型说明可以放在函数体内

B.return后边的值不能为表达式

C.如果函数值的类型与返回值类型不一致,以函数值类型为准 D.如果形参与实参的类型不一致,以实参类型为准 E.形参与实参的对应关系由形参名和实参名决定 25.设有关于结构体类型的定义: struct database

{

char name[20]; float speed;

}dbl={\,125600.56},db2,*p=&db2; 下面选项中语句正确的有( ) A.p=&dbl; B.p=dbl;

C.strcpy(p—>name,\; D.p—>speed=dbl.speed; E.strcpy(p—>name,dbl.name)

三、简答题(本大题共4小题,每小题4分,共16分) 26.下面是求1到100之和的程序 main( )

{ int i,sum=0; for(i=1;i<=100;i++)

sum+=i;

printf(\d\\n\,sum); }

问如何修改循环体,使其仅求前10个数之和。 27.若有下面定义:

int num[10]={0,1,2,3,4,5,6,7,8,9),*p=num; 设数组num的首地址是65484。

问:(1)表达式p+8表示什么?其值是多少? (2)表达式*(p+8)表示什么?其值是多少?

28.设有说明:unsigned x=0x1234;下面表达式(1)、(2)的运算结果的十六进制值是什么? (1)(x&0xff00)>>8|(x&0xff)<<8 (2)x&0xff00>>8|x&0xff<<8 29.设有说明:

struct island {int id;char name[10]; float area;}a,*p=&a;写出对p所指的成员id、area分别赋值101、34521.65,使p所指的指针成员name指向\的C语句分别是: 四、阅读分析题(本大题共6小题,每小题5分,共30分) 30.阅读下列程序并写出运行结果。 main( )

{ int a=55,x,y; x=(int)(a/8.0); y=a-8*x;

printf(\%d,%d\n\,x,y); }

31.阅读下列程序并写出运行结果。 main( )

{ float x;int a=0; scanf(\%f \,&x); switch(x/10-5) { case 7: a++;

case 6:a++;printf(\%d,\,a); case 5:a++;break; case 4:a++;

default:a++;printf(\%d,\,a); case 1:a+=2: }

printf(\%d\n\,a); }

(1)当程序运行后输入115.5后,写出程序的执行结果。 (2)当再次运行程序后输入45后,写出程序的执行结果。 32.阅读下列程序并写出运行结果。 main( )

{ int s=0,k=1,i; for(i=0;i<10;i++) { k=k+i; s+=k;

if(i>3) break; s+=2*k:

printf(\%d\n\,s); }

printf(\%d\n\,s); }

33.阅读下列程序并写出运行结果。 main( )

{ int a[4][4],i,j; for( i=1;i<=3;i++)

for( j=1;j<=3;j++) a[i][j]=i+j; for(i=1;i<4;i++){ for(j=1;j<=i;j++)

printf(\%3d\,a[i][j]);

printf(\\n\; } }

34.阅读下列程序并写出运行结果。 int sum1; main( )

{ int sum2=0,i,f1(int),f2(int); for(i=1;i<=5;i++) sum1+=f1(i); for(i=1;i<=5;i++) sum2+=f2(i);

printf(\1=%d\n\,sum1); printf(\%d\n\; }

int f1(int a)

{ static int s1=1; s1*=a; return s1; }

int f2(int a) { auto int s2=1; s2*=a; return s2; }

35.阅读下列程序并写出运行结果。 main( )

{ char s[]=\,*q=s; int a=0;

for(;q

printf(\\na=%d\n\,a); }

int f(char*p) { int x=0;

while(*p++!=′\\0′) x++; return x; }

五、编程题(本大题共2小题,每小题12分,共24分)

36.从键盘上输入30个整数,输出其中能被3整除的数,并求出所有能被3整除的数之和。 37.从二进制文件c:\\abc.dat中读出10个float型数据存放于数组a中,然后将数组a中的数据按从小到大的次序输出在屏幕上。

全国2012年4月高等教育自学考试

计算机基础与程序设计试题

课程代码:02275

一、单项选择题 (本大题共20小题,每小题1分,共20分)

在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.存储容量1KB等于 ( ) A.23字节 C.220字节

2.下面哪种设备是输出设备? ( ) A.扫描仪 C.鼠标

B.键盘 D.显示器 B.210字节 D.230字节

3.设有int a=3,b=-4,c=5;表达式++a-c+b++的值是 ( ) A.-6 C.-4

B.-5 D.-3

4.设有int x,y;表达式y=(x=1,++x,x+2)的值是 ( ) A.1 C.3

B.2 D.4

5.以十六进制形式输出整型数的格式说明符是 ( ) A.%x C.%o

B.%u D.%d

6.下列语句中,有语法错误的是 ( ) ..A.if(x>y); B.if(x= =y)x+y;

C.if(x!=y) scanf(″%d″,&x)else scanf (″%d″,&y); D.if(x

if(y<0)x-=y; else x+=y;

执行完该程序段后,x的值为 ( ) A.-1

B.0

本文来源:https://www.bwwdw.com/article/9a6f.html

Top