网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 网络学院 >> 程序设计 >> VC编程 >> 文章正文
  计算机基础与程序设计试题            【字体:
计算机基础与程序设计试题
作者:佚名    文章来源:不详    点击数:    更新时间:2007-9-12    
 

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

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

1.存储量1MB等于(   )

A.23字节          B.210字节       C.220字节        D.230字节

2.下面数据中最小数是(   )

A.(0.1100)2      B.(0.64)8                  C.(0.8125)10          D.(0.D)16

3.Turbo C 2.0中,寻求在线帮助可按键(   )

A.F1         B.F5                C.F9              D.F10

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

A.-4          B.0                 C.1            D.3

5.若有下列程序段,欲使a=2b=3,对应正确的数据输入方法是(   )

(其中<CR>表示换行)

int a, b;     scanf(a=%d, b=%d,&a,&b);

A.2<CR>                                                  B.a=2  b=3<CR>

  3<CR>

C.a=2, b=3<CR>                                       D.2,3<CR>

6.下面程序段的输出结果是(   )

main( )

{   int s, p;

s=p=5;

p=--s;

p++;++p;

printf(%d\n,p);

}

A.5               B.6               C.7                 D.8

7.关于if语句下面叙述正确的是(   )

A.只有当if语句中表达式的值等于1时,才执行if的内嵌语句

B.只有当if语句中表达式的值为假时,才执行if的内嵌语句

C.只有当if语句中表达式的值等于0时,才执行if的内嵌语句

D.只要if语句中表达式的值非0时,就执行if的内嵌语句

8.若执行下面程序时,从键盘输入数据34,则程序的输出结果是(   )

main( )

{    int a,b,s;

scanf(%d, &a,&b);

s=a;

if(a<b)  s=b

s=s*s;

printf(%d,s);

}

A.9              B.12             C.16                 D.25

9.int x=0; while(x= =0); 的循环次数是(   )

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

for (i=1; i<3;i++)

{for (j=1;j<3;j++)

   printf(%d , i+j);
 printf(
\n);}

A.2  3  3  4                                          B.2  3  4

C.2  3                                                    D.2

  3  4                                                        3  4

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

mian (  )

{   int a[5]={2,4,6,8,10},i;

i=2;

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

}

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

main(  )

{  int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};

   int i,j,k=0;

   for(i=0;i<3;i++)

k=k+a[i][0];

   printf(%d\n″,k);

}

13.以下正确的函数定义形式是(   )

A. double fun(int x, int y)                           B. double fun(int x; int y)

C. double fun(int x, int y);                          D. double fun(int x, y);

14.关于变量以下不正确的说法是(   )

A.在不同函数中可以使用相同名字的变量

B.形式参数是全局变量

C.在函数内定义的变量只在本函数范围内有效

D.在函数内的复合语句中定义的变量是局部变量

15.设有语句int a[4][10],*p=*a;则下列表达式中不是地址表达式的是(   )

A.&a[1][2]          B.a[3]              C.*(p+1*10+2)      D.p+1*10+2

16.下面关于结构体类型变量定义不正确的是(   )

A. struct score                                          B. struct

   {                                                            {

int math;                                                 int math;

int Chinese;                                             int Chinese;

    }Li, Wang;                          }Li, Wang;

 

C. struct score                                          D. struct score

  {                                                             {

int math;                                                  int math;

int Chinese;                                              int Chinese;

   };                                                           };Li, Wang;

struct score Li, Wang;

17.下面各个运算符的优先级从左到右依次降低的是(   )

A.&  >>   |   ^                                    B.~   &  >>  |

C.>>   &  ^   |                                     D.~  >>  &  ^

18.设有说明:int u=1, v=2;表达式:u+v<<2的值是(   )

A.-1                 B.1            C.9            D.12

19.下面程序段中,能完成的功能是(   )

FILE *fp;

char ch;

fp=fopen(file1, rb+);

ch=fgetc(fp);

A.建立文件指针fp与文件file1的联系      B.file1文件中读一个字符

C.file1文件中写一个字符                     D.打开名为file1的二进制文件

20.在格式:fread(stu,size,n,fp);中,下面说法不正确的是(   )

A.stu是内存中存放数据的首地址             B.n表示读n

C.size是一个数据块的字节数                   D.fp表示文件指针

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

21.微机系统的主机包含的部件有(     

A.输入设备     B.存储器   C.输出设备    D.运算器     E.控制器

22.下面各选项中,能正确进行字符串操作的有(     

A. char s[ ]={a, b, c, d, e, \0};

B. char s[10];s=abcde;

C.char s[10];strcpy(s, abcde)

D.char s[10];getchar(s);

E.char s[10];gets(s);

23.若有以下定义和语句,则能正确表示数组a首元素地址的表达式有(     

double a[5],*p1

p1=a;

A.a           B.p1+1              C.*p1      D.&a[1]        E.p1

24.设有说明: int u=1, v=3, w=7;下面表达式的值为3的有(     

A.w>>1&v|u                                            B.u&v&w

C.u|v&w                                                  D.w&v<<1

E.v^w|u

25.C语言中,下面关于文件说法正确的有(     

A.按数据的组织形式,可分为文本文件和二进制文件

B.文件只能是ASCII码文件

C.文件能用fopen( )函数打开

D.文件只能是二进制文件

E.对打开的文件可以进行读或写操作

三、简答题(本大题共4小题,每小题4分,共16分)

26.简述C语言中标识符的命名规则并说明C语言中哪些名是用标识符来标识的?

27.变量有哪几种存储类别?指明它们存储数据的区域。
正在装载数据……

28.定义char*str=computer″;是将字符串″computer″赋值给变量str,这种说法对吗?为什么?

29.设有说明:

struct flower {char *part; char * color;} mum;

char*part_of_flower[3]={ ″花″,″茎″,″叶″}

char*seven_color[7]={ ″赤″,″橙″,″黄″,″绿″,″青″,″蓝″,″紫″}

试写出将mum的成员part定义为″花″、成员color定义为″黄″的C语句。

四、阅读分析题(本大题共6小题,每小题5分,共30分)

30.阅读下面程序,写出运行结果。

main( )

{  int a=789, x,y,z;

   x=a/100;

   y=a/10-10*x;

   z=a-10*y-100*x

printf(%d,%o,%x,%d, x,y,z,100*z+10*y+x);

}

31.阅读下面程序,并回答问题:

main( )

{  int a,b,x,y;

   scanf(%d,%d,&a,&b);

   x=a*a+b*b

   if(x>100)

   {y=x/100;printf(%d,y);}

   else printf(%d,a+b);}

1)若程序运行时,输入69,输出结果是什么?

2)说明程序的功能。

32.阅读下面程序,并回答问题:

main( )

{  int u,v,a,b,t,r;

   u=24;v=16;

   if(u>v){t=u;u=v;v=t;}

   a=u;b=v;

   while ((r=b%a)!=0)

{b=a;a=r;}

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

1)程序输出结果是什么?(2)该程序完成什么功能?(3)若将while循环替换为do-while循环,请写出相应的程序段。

33.阅读下面程序,写出运行结果。

int a=5, b=5;

chang1( )

{  int a=4;

   printf(a1=%d,b1=%d\n,a,b++);

}

chang2(int a, int b)

{  a++; b--;}

main( )

{  chang1( );a++,b++;chang2(a,b);

   printf(a2=%d,b2=%d\n,a,b);}

34.阅读下面程序,写出运行结果。

#include <stdio.h>

#include <string.h>

main( )

{  char p1,p2,srt[50]= abc, str1[50];

   p1=abc;p2=abc;

   puts(str);

   strcpy(str1,p1);

   p1=str1;

   printf(%s\n,strcat(p1,p2));

   strcpy(str+1,p1);

   printf(%s\n,str);}

35.设有说明语句int*p; 请分析下面语句的含义:

p=(int *)malloc(sizeof(int));

free(p);

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

36.从键盘输入n*n个整型数(n20,组成nn列数组,打印出其上三角数组。

37.用循环语句编程打印下列图案,并以ASCII码的形式写到c盘根目录下的1x.dat文件中。(第一行的″$″在第20列)

      $

    $ $ $

  $ $ $ $ $

$ $ $ $ $ $ $

 


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

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

1. CPU处理数据和指令的基本单位是字(Word),一个字的字长是(   )

A. 8bits                 B. 16bits         C. 32bits        D. CPU数据总线有关的bit位数

2. 与十进制1100等值的十六进制数是(   )

A. 44A                  B. 44C            C. 54A        D. 54C

3. 退出Turbo C 2.0返回系统,在主菜单File项中可选择(   )

A. Load          B. New               C. Save                    D. Quit

4. 设有int a=3, b=-4, c=5;表达式(a<b? a+b a-bb+4,a-=b+4)的值是(   )

A. –1             B. 0                   C. 3                       D. 7

5. 若有下列程序段,欲使a=2b=3,对应正确的数据输入方法是(   )

(其中<CR>表示换行)

  int a, b;

  scanf(a=%d  b=%d,&a, &b);

A. 2<CR>                                                        B. a=2 b=3<CR>

   3<CR>

C. a=2, b=3<CR>                                             D. 2,3<CR>

6. 下面程序段的输出结果是(   )

main()

{  int s, p;

   s=p=5;

   p=++s;

     p++; ++p;

     printf(%d\n,p);

   }

A. 5                                                                B. 6

C. 7                                                                D. 8

7. 下列if语句中,有语法错误的是(   )

A. if(x>y);

B. if(x=y)  x+y;

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

D. if(x<y)  {x++; y++;}

8. 下面程序段执行后的输出结果是(   )

int  i=-1;

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

else printf(%%%%\n);

A. ****                                                           B.%%%%

C. %%%%c                                                    D. ****c

9. 下面程序段的循环次数是(   )

int  k=2;

while(k==0)  printf(%d,k);

k--; printf(\n);

A. 0                  B. 1         C. 2                           D. 无限次

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

a=100;

while(a>120);

  a=a+1;

printf(%d,a);

A. 100            B. 101        C. 120                       D. 121

11. 下面程序执行后,i的值是(   )

main( )

{  int a [5]={1,2,3,4,5},i=2

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

}

A. 1                                                                B. 2

C. 3                                                                D. 4

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

main( )

{  int i, x[3][3]={9,8,7,6,5,4,3,2,1};

for(i=0;i<4;i+=2)   printf(%d, x[i][1]);

}

A. 5        1                                                      B. 5        2

C. 8        2                                                      D. 9        3

13. C程序中,若用基本数据类型所定义的变量调用函数,正确的说法是(   )

A. 由系统自动指定对应实参和形参是否共用存储单元

B. 对应实参和形参各占一个独立的存储单元

C. 对应实参和形参共用一个存储单元

D. 可以由用户指定对应实参和形参是否共用存储单元

14. 下面叙述中正确的是(   )

A. 不同函数中可以使用相同名字的变量

B. 形式参数是局部变量

C. 在一个函数内部定义的变量只能在本函数范围内有效

D. 在一个函数内部的复合语句中定义的变量在本函数范围内有效

15. 设有语句int  a[4][10],*p=*a;则下面表达式中属于地址表达式的是(   )

A. a[1][2]                                                               B. a[1]

C. *(p+1*10+2)                                               D. *(a[1]+2)

16. 下面定义不正确的是(   )

A. struct star                                                   B. struct star

  {                                                                    {

int  id                                                            int  id;

char  *name;                                                  char  *name;

  }  star1={1001, Moon};                          };  star1={1001, Moon};

C. struct                                                          D. struct  star

  {                                                                    {

int  id;                                                          int  id;

char  *name;                                                    char  *name;

  }  star1={123, Sun};                                  }  star1;

17. 下面各个位运算符的优先级从左到右依次升高的是(   )

A. | ^ & >>                                                      B. ^ >> & ~

C. << | ^ ~                                                       D. ~ | & >>

18. 设有说明:int u=1, v=14;表达式u+v>>2的值是(   )

A. 0                                                                B. 3

C. 5                                                                D. 7

19. 如果将文件指针fp指向文件末尾,正确的语句是(   )

A. feof(fp);            B. rewind(fp);    C. fseek(fp,0L,0);          D. fseek(fp,0L,2);

20. 下面程序段中,不能完成的功能是(   )

FILE *fp;

char ch =v;

fp=fopen(boy, rb+);

fputc(ch,fp);

A. 建立文件指针fp与文件boy的联系            B. boy文件中读取一个字符

C. boy文件中写一个字符                           D. 打开名为boy的二进制文件

二、多项选择题(本大题共5小题,每小题2分,共10)在每小题列出的五个备选项中有二至五个是符合题目要求的。

21. 总线是连接微机CPU、内存和外设之间传送信号的公共通道,微机的总线包括有

A. 电源线    B. 数据线    C. 地址线          D. 控制线   E. 网络线

22. 若定义 char c[11]; 可将字符串″I am a boy 赋给数组c,下面正确的选项有

A. c=I am a boy;                                       B. getchar(c);

C. gets(c);                                                       D. scanf(%s,c);

E. for(i=0;i<10;i++) scanf(%c,&c[i];c[10])=’\0’;

23. 若有如下定义和语句,则能正确表示数组a首元素地址的表达式有

int  a[10], *p;

p=a;

A. a[0]                                      B. a   C. p+1         D. p  E. *p

24. 设有说明:int  x=1, y=3; 下面表达式的值为2的有(     

A. y&~x    B. x^y    C. x|y     D. y|x>>1   E. x<<1|y>>2

25. C语言中,关于符号FILE下面说法正确的有(     

A. FILEC的关键字

B. FILE表示一种关于文件参数的结构体类型

C. FILE表示一种关于文件参数的结构体变量

D. FILE*可以用来说明文件指针

E. 文件指针指向的变量的数据类型是FILE

三、简答题(本大题共4小题,每小题4分,共16分)

26C语言中如何表示“真”和“假”?系统如何判断一个量的“真”和“假”?

27.什么是“直接递归调用”?什么是“间接递归调用”?

28.判断下面两程序段正确与否,并说明原因。

1char  str[12];  str=program;

2char *str;  str=program;

29.设有说明:

struct language {long spearer; char country[20];} chinese;

试写出对chinese的成员spearercountry分别赋值1250000000和”China”的C语句。

四、阅读分析题(本大题共6小题,每小题5分,共30分)

30.阅读下面程序,写出运行结果(已知AASCII码为65aASCII码为97)。

#include stdio. h

main( )

{  int k=100;char m;

m=k; putchar(m);

printf(,%d,%c,%o, k,m-32,m);

}

31.阅读下面程序,并回答问题:

main()

{  int x, y, z, c;

   scanf(%d%d%d,&x, &y, &z);

   if(x<z){c=y; y=z; z=c;}

   if(x<z){c=x; x=z; z=c;}

   if(x<y){c=x; x=y; y=c;}

   printf(%d, %d, %d, x, y, z);

}

1)若程序运行时,输入325,则输出结果是什么?

2)写出程序所实现的功能。

32.阅读下面程序,并回答问题:

main( )

{  int  m, n;

m=65;

n=14;

while(m!=n)

{  while(m>n)m-=n;

   while(n>m)n-=m;

}

printf(m=%d\n, m);

}

1)程序输出结果是多少?

2)外循环执行完一次时,mn的值分别是多少?

3)将while(n>m)n-=m;语句删除后,程序运行情况如何?

33.阅读下面程序,并回答问题:

gcd(int x, int y)

{  int  temp;

   while (y){temp=x%y; x=y; y=temp;}

   return x;

}

main()

{  int  a, b, y;

   scanf(%d, %d, &a, &b);

   y=gcd(a,b);

   printf(″最大公约数是:%d, y);

}

1gcd函数的返回值类型是什么?

2)若将return x写成return y会得到什么样的结果?

34.阅读下面程序,写出运行结果。

mian( )

{  char * str[ ]={Pascal, C Language, Dbase, Cobol};

   int k;

   for(k=0; k<4;k++)

   printf(%s\n, str[k]);}

35.阅读下面程序段,写出输出结果。

struct num

{  float f1;

   int j;

}u={5.6,8},*p=&u;

printf(%.2f,%d\n,u.f1, u.j);

printf(%.2f,%d\n, (*p).f1,p->j);

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

36.若有nn列数组,试编写一程序,分别求出两条对角线元素之和。(从键盘输入n*n个整型数,n20

37.若在c:\tclt路径下有一个名为zz.dat的文本文件,它包括10个按升序排列的整数,且每两个数之间用逗号隔开,现要插入一个整数使该序列仍保持升序,并把新序列写入到c:\tclt路径下名为zzz.dat的文本文件中。

 


 2005年4月计算机基础与程序设计试题

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

1.与二进制数1011.01等值的十进制数是(   )

A.7.25                                                             B.11.05

C.11.25                                                           D.19.25

2.Unix是(   )

A.单用户、单任务的操作系统                         B.单用户、多任务的操作系统

C.多用户、单任务的操作系统                         D.多用户、多任务的操作系统

3.下面数据中最大的数是(   )

A.1010001.1012                                        B.(121.3)8

C.(97.6)10                                                               D.(51.5)16

4.断电后会使存储器失去信息的是(   )

A.CD-ROM                                                     B.RAM

C.ROM                                                           D.硬盘

5.一个二进制数位也称为一个(   )

A.word                                                           B.byte

C.KB                                                               D.bit

6.下面转义字符中,表示字符串结束的是(   )

A.\ r                                                                B.\ n

C.\ 0                                                                      D.\ f

7.Turbo C2.0中,若定义unsigned int a;则变量a在内存中分配的字节数是(   )

A.1                                                             B.2

C.4                                                             D.8

8.设有int x=2,y,z;执行z=y=x--;后,变量z的值是(   )

A.0                                     B.1                       C.2                              D.3

9.