c语言if(x==0x0f){x=0;y^=1;},全国2007年7月高等教育自学考试计算机基础与程序

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

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

课程代码:02275

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

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

1.微机中信息的最小单位是(   )

A.bit

B. byte

C.KB

D. word

2.组成计算机硬件系统的是(   )

A.控制器、运算器和内存储器

B. CPU、显示器和键盘

C.I/O设备、CPU和内存储器

D. 控制器、内存储器和I/O设备

3.(75)10的二进制的表示是(   )

A.(01001001)2

B.(01001010)2

C.(01001011)2

D.(01001100)2

4.字符串常数"CHINA"在内存中存储时占的字节数是(   )

A.5个

B.6个

C.7个

D.8个

5.如果a=1,b=2,c=3,d=4,则表达式a>b?a:c

A.1

B.2

C.3

D.4

6.输出字符串的格式说明符是(   )

A.%c

B.%s

C.%u

D.%g

7.设有说明int x=0,y=0;

则执行if(x++)y=1+x;

else y=2+x;

后,变量y的值是( )

A.0

B.1

C.2

D.3

8.以下程序段所表示的数学函数关系是(   )

y=-1

if(x!=0) if(x>0) y=1;else y=0;

f40b8f3f5e7e3ad142dfafb51b87393e.png

9.执行下面程序段后,输出字符A的个数是(   )

for(i=0;i<=5;i+=2)

printf(″A″);

A.0个

B.3个

C.5个

D.6个

10.若有定义char a[ ]= ″computer″;则存储字符m的数组元素是(   )

A.a[1]

B.a[2]

C.a[3]

D.a[4]

11.若有定义int a [4]={1,2,3,4};则a[a[3]-a[1]*a[1]]的值是(   )

A.1

B.2

C.3

D.4

12.凡是函数中未指定存储类别的局部变量,其隐含的存储类别为(   )

A.自动(auto)

B.静态(static)

C.外部(extern)

D.寄存器(register)

13.如果一个C程序仅由一个源文件组成,则在一个源文件中定义的全局变量的作用域为(   )

A.源文件的全部范围

B.本程序的全部范围

C.本函数的全部范围

D.从定义该变量的位置开始至本文件末尾

14.下列定义中,不是指针数组定义的是(   )

A.int*p[5];

B.float*q[4];

C.int(*r)[6];

D.char*w[7];

15.若有语句int*point,a=4;和point=&a;下面代表地址的一组选项是(   )

A.a,point,*&a

B.&*a,&a,*point

C.*&point,*point,&a

D.&a,&*point,point

16.下列程序的运行结果是(   )

#difine N 9

fun (char s[ ])

{

char*p=s+4,*q=s;

int i;

for(i=0;i<4;i+ +,p+ +,q + +)

{

s[i]=*p;

s[i+4]=*q

}

}

main( )

{

char ss[N]= ″ABCDEFGH″;

fun(ss)

printf(″%s\n″,ss);

}

A.EFGHABCD

B.EFGHEFGH

C.ABCDEFGH

D.ABCDABCD

17.设有结构体的定义如下:(   )

struct cjd {long bh;int*q;char xm[9];};

则sizeof(struct cjd)的值是

A.14

B.15

C.16

D.17

18.设有说明:int x=0x15,y=0x0f;则x&y的结果是(   )

A.0x5

B.0x15

C.0xf0

D.0xf5

19.如果在程序中要使用系统提供的函数strlen,则需要书写的编译预处理命令是(   )

A.#include

B.#include

C.#incLude

D. #incLude

20.由FILE*fp;fp=\fopen(″a:\\abc.txt″,″r+″);可以推知fopen 函数的原型是(   )

A.char *fopen(char,char);

B.FILE*fopen(char*,char*);

C.int fopen (char*,char*);

D.FILF fopen(char* ,char*);二、多项选择题(本大题共5小题,每小题2分,共10分)

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

21.下面基本结构和特性中符合结构化程序设计的要求的有(   )

A.选择结构

B.循环结构

C.顺序结构

D.各结构之间只有一个入口,至多两个出口

E.各结构之间只有一个入口,一个出口

22.若有int x;float;y下面结果为整型数的表达式有(   )

A.(int)(x+y)

B.(int)x+y

C.´a´+x

D.x+(int)y

E.x*y

23.设有定义:int a[2][3];下面关于数组元素引用正确的有(   )

A.a[0][3]

B.a[0][0]

C.a[2][1]

D.a[1][2]

E.a[2][3]

24.设有关于结构体类型的定义:(   )

struct car

{

char*name;

float price;

struct car *next;

}*p,*head=NULL;

下面各选项中正确的有

A.p=(struct car*)MALLOC(sizeof (struct car);

B.p=(struct car*)malloc (sizeof (struct car);

C.p.next=head;

D.p->next=head;

E.p=(struct car *)malloc (sizeof(car);

25.设有说明:int u=1,v=5;则下列表达式的值为1的有(   )

A.u&v

B.v>>2

C.u^u

D.u¦v

E.(u<<3)/5

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

26.什么是常量?C语言中常量有哪几种类型?

27.用while循环结构完成下面程序段的功能.

s=0

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

s+=i;

28.若在一个函数中对变量a,b有如下定义:

static int a;

auto int b;

简述它们之间的异同.

29.设有说明:int a[3][4],(*p )[ 4]=a;请解释p的含义,并用p给出数组元素a[2][1]的二种表示.

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

30.从键盘输入字符A时,写出下面程序的运行结果.(注:字符A的ASCII码是65)

#include ″stdio.h″

main()

{

int k;

k=getchar();putchar(k);

printf(″,%d,%x,%c″,k,k,k+32);

}

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

main()

{

int x,sum=0;

loop1:

scanf(″%d″,&x);

if(x!=8)

{

if(x%2= =0)

{

sum+=x;

printf(″sum =%d\n″,sum);

}

goto loopl;

}

sum-=x;

printf( ″sum=%d\n″,sum);

}

当程序执行时输入数据1 2 3 4 5 6 7 8 ↙,写出程序运行结果.

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

main()

{

int a[3][3],i,j;

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

for(j=0,j<3;j+ +)

a[i][j]=i+j

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

{

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

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

printf(″\n″);

}

}

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

long factor (int m)

{

long int fc;

if(m= =0¦¦m= =1)

fc=1;

else

fc=factor(m-1)*m;

return(fc);

}

main()

{

int n;

long int fac;

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

{

fac=factor(n);

printf(″% Id\n″,fac);

}

}

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

void fl(char a[ ],char b[ ])

{

int i;

for(i=0;a[i];i+ +)

b[i]=a[i];

b[i]=´ \0 ´;

}

void f2(char *c,char*t)

{

while(*c+ + = * t+ +);

}

main()

{

char a[20]= ″basic″,b[20]= ″fortran″,c[20]= ″pascal″;

char*p=b,*q=c;

fl(b,a);

printf(″%s\n″,b);

f2(p,q);

printf(″%s\n″,b);

}

35.阅读下面程序段:

struct number

{

int u[2];

}v={11,15},*p=&v;

int x;

请分析下面语句的含义:

x=(*p),u[0]>p->u[1]?(*p).u[0]:p->u[1];

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

36.用以下近似公式编一个求

1d80bc8d9de402dd11023a5dd9772aac.png,其中n的值由键盘输入.

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

$

$ $ $

$ $ $ $ $

$ $ $

$

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值