在c语言中,′a′和〃a〃存储所占用的字节数分别是,2006年下半年全国自考(高级语言程序设计)真题试卷...

一、1.单项选择题

0. 以下属于C语言保留字的是(  )

A.fopen

B.include

C.get

D.unsigned

1. C语言中,错误的int类型的常数是(  )

A.100000

B.0

C.37

D.0xaf

2. 在C语言中,"a"和"a"存储所占用的字节数分别是(  )

A.1,1

B.1,2

C.2,1

D.2,2

3. 对于数学表达式

0053f723db0e5131382d4cd8e5a903af.png,正确的C语言表达式是(  )

A.2sqrt(x)+(a+b)/3sin(x)

B.2sqrt(x)+(a+b)/(3sin(x))

C.2*sqrt(x)+(a+b)/3/sin(x)

D.2*sqrt(x)+(a+b/3*sin(x))

4. 设int x=10,a=0,b=25;,条件表达式x<1? a+10:b的值是(  )

A.0

B.1

C.10

D.25

5. C语言中,下列运算符优先级最高的是(  )

A.!

B.%

C.>>

D.==

6. sizeof(double)是(  )

A.函数调用

B.int型表达式

C.double型表达式

D.非法表达式

7. 设有以下程序段:  int a=1,b=10,c=1,x;  x=a&&b||++c;  printf("%d,%d ",x,c);  执行后输出的结果是( )

A.0,0

B.0,1

C.1,0

D.1,1

8. 设int x;,则以下语句中错误的输入是(  )

A.scanf ("%d",x);

B.scanf ("%d",&x);

C.seanf ("%o",&x);

D.scanf ("%x",&x);

9. 设int(*P)();,P的含义是(  )

A.指向一维数组的指针变量

B.指向二维数组的指针变量

C.指向一个整型变量的指针变量

D.指向整型函数的指针变量

10. 在C语言中,运算符"="和"=="的功能分别是(  )

A.关系运算和赋值运算

B.赋值运算和关系运算

C.都是关系运算

D.都是赋值运算

11. 设int x[]={1,2,3,4,5),*p=x;,则值为3的表达式是(  )

A.p+=2,*p++

B.p+=2,*++p

C.p+=2,p++

D.p+=2,++*P

12. 设for(i=0,j=10;(j>0)&&(i<4);i++,j--);,该语句的循环次数是(  )

A.0

B.3

C.4

D.无限

13. 设函数定义如下:  float f1(float a,float b)  {  return(a+b);  }   若有float x=1.1,y=2.2;,则以下语句中正确的函数调用是(  )

A.printf ("%f",f1(x));

B.printf ("%f",f1(&x,y));

C.printf ("%f",f1(*x,*y));

D.printf ("%f",f1(x,y));

14. 结构型变量占用内存的字节数是(  )

A.各成员占用内存字节数之和

B.第一个成员占用的内存字节数

C.占用内存最大成员所需的字节数

D.最后一个成员占用的内存字节数

15. 设enum color {purple,Mack,red,white}d;,若将d赋值为枚举常量red,则正确的是(  )

A.d=(enum color)2;

B.d=(enum color)3;

C.d="red";

D.d=color;

16. 若main()函数带参数,参数个数最多是(  )

A.0

B.1

C.2

D.3

17. 设宏定义#define PI 3.1415926,用宏名PI替换的是(  )

A.算术表达式

B.字符串

C.单精度实型数

D.双精度实型数

18. 调用系统函数labs时,应选用的文件包含是(  )

A.#include "stdio.h"

B.#include "string.h"

C.#include "ctype.h"

D.#include"math.h"

19. 设  struct st  {int i;  int j;  }*P;  main()  {  struct st m[]={{10,1},{20,2},{30,3}};  p=m;  printf ("%d ",(*++p).j);  }  则程序的输出结果是(  )

A.1

B.2

C.3

D.10

二、2.填空题

0. C语言中,标准输入设备的文件指针名是______。

1. 一个C语言程序的基本组成单位是______。

2. C语言中,&作为双目运算符表示的运算是______。

3. 连接两个字符串的系统函数名是______。

4. 设float a [4][5];,则数组a中第一维下标的最大值是______。

5. 设char str[]="book";,则执行printf ("%d ",sizeof(str));后输出的值是______。

6. 27.设

#define F(x)x*x

main()

{inta=3,b=4,c;

c=F(a+b);

printf ("%d ",c);

}

则程序执行后输出的值是______。

7. 设int a;float b;char c;long d;double e;,则表达式a/c-b+d-e值的类型是______。

8. 29.设

int x=5:

x+=x-=x+x;

则执行printf ("%d ",x);后输出的值是______。

9. 设

union

{

int i;long j;char k;

}t,*p=&t;

则用指针法给t的成员i赋值为20的语句是______。

三、3.程序分析题

0. main()

{int i,s=0;

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

printf ("%d ",s);

}

1. main()

{int x=15,y=21,z=0;

switch(x%3)

{case 0:z++;break;

case 1:z++;

switch(y%2)

{default:z++;

case 0:z++;break;

}

}

printf ("%d ",z);

}

2. main()

{int a=0,b=5,c=3;

while(c>0&&a<5)(b=b-1;

++a:

c--;

}

printf ("%d,%d,%d ",a,b,c);

}

3. int z=5;

f()

{static int x=2;int y=5;

x=x+2;z=z+5;

y=y+z;

printf ("%5d%5d ",x,z);

}

main()

{static int x=10;int y;

y=z:

printf ("%5d%5d ",x,z);

f();

printf ("%5d%5d ",x,z);

f();

}

4. struct prob

{char*a;

int b;

}x[]={"Zhang San",19,"Li Si",21,"Wang Wu",20);

main()

{int i,m1,m2;

m1=m2=X[0].b;

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

if(x[i].b>m1)m1=x[i].b;

else if(x[[i].b<m2)m2=x[i].b;

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

if(x[i].b!=m1&&x[i].b!=m2)

{print("%s:%d ",x[i].a,x[i].b);

break;

}

}

四、4.程序填充题

0. 用递归方法写出计算n的阶乘的函数,调用该函数计算并输出n=0,1,2,……,10时各阶乘的值。

计算公式:

697e29c5cd1b258448d46556af5d11bf.png

long fac(int n)

{

if(______)return(1);/*第一空*/

else return______;/*第二空*/

}

main()

{

int m;long int fa;

for(m=0;m<=10;m++)

{

______;/*第三空*/

printf ("%d!=%1d ",m,fa);

}

}

1. 使用二维数组形式并按下列形式输出数据

0 1 2 3 4

1 2 3 4 5

2 3 4 5 6

3 4 5 6 7

4 5 6 7 8

main()

{int i,j,______;/*第一空*/

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

for(j=0;j<s;j++)a[i][j]=______;/*第二空*/

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

{

for(j=0;j<5;j++)printf ("%2d",a[i][j]);

______;/*第三空*/

}

}

2. 键入一串字符(换行作为结束标志),统计字符的个数,将该串字符及字符个数显示到屏幕上并写入文件str.dat中。

#include<stdio.h>

main()

{

char ch;int sumch=0;

FILE*fp;

fp=fopen ("str.dat","w");

while((ch=getchar())!=______)/*第一空*/

{

sumch++;

putchar(ch);

fputc(______,fp);/*第二空*/

}

printf("sumch=%d ",sumch);

fprintf(______,"sumch=%d ",sumch);/*第三空*/

fclose(fp);

}

五、5.程序设计题

0. 为实型变量x输入一个值后,输出x的值、x的平方根、x的平方、x的立方根和x的立方。

1. 输入三个整型数,找出其中数值最大者并输出。

2. 根据Fibonacci数列公式:

a6fd693cfbcb016923b8661026527c44.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值