C语言表达式n为一个偶数,高级语言程序设计(一)2013年10月真题

高级语言程序设计(一)2013年10月真题及答案解析

高级语言程序设计(一)2013年10月真题及答案,该试卷为高级语言程序设计(一)自考历年真题试卷,包含答案及详细解析。

一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸”的相应代码涂黑。错涂、多涂或未涂均无分。

1.正确的自定义标识符是(  )

A.2xy

B.int

C.root%x

D.total

2.正确的C语言常数是(  )

A.012

B."abc"

C.0xfp

D.2e1.25

3.下列不是C语言运算符的是(  )

A.< >

B.^

C.!

D.&=

4.表达式5+6!=0的值是(  )

A.0

B.1

C.6

D.11

5.设float x; -1≤x<3正确的C语言表达式是(  )

A.-1<=x<3

B.-1<=x||x<3

C.x>=-1&&x<3

D.!(x>=-1)&&(x<3)

6.设int a=3;,值为1的表达式是(  )

A.a%3

B.3-++a

C.(a++)%3

D.a>3?2:1

7.设int a=0, b=5, c;,执行语句c=(a==b)||++a;后c的值是(  )

A.0

B.1

C.4

D.5

8.设int m=0;,语句while(m!=0) m++;的循环次数是(  )

A.0

B.1

C.2

D.无限

9.定义数组并初始化正确的是(  )

A.int a[]=(2,4,6,8);

B.int a[]={2,4,6,8};

C.int a[3]={2,4,6,8};

D.int *a[4]={2,4,6,8};

10.设int a[3][5];,该数组两个下标的取值范围分别是(  )

A.0~3和0~4

B.0~3和3~5

C.0~2和0~4

D.3~5和0~5

11.设typedef float REAL;则REAL是(  )

A.变量名

B.常量名

C.函数名

D.类型名

12.设char s[10];,将字符串输入至数组s的正确语句是(  )

A.s=gets();

B.getchar(s);

C.scanf("%s", s);

D.scanf("%s", &s[10]);

13.关于函数叙述正确的是(  )

A.函数必须有形参

B.函数的形参可以是常数

C.函数中只能出现一个return语句

D.函数类型为void时,该函数无返回值

14.设int a[10], *p=a;,与数组元素a[0]等价的是(  )

A.*p

B.p

C.&a

D.a

15.结构型变量所占内存量应是(  )

A.第一个成员占用的内存量

B.最后一个成员占用的内存量

C.所有成员占用内存量的总和

D.成员中占用内存量最大者所需的容量

二、填空题(本大题共10小题,每小题2分,共20分)

11.设int n;,“n为偶数”的C语言逻辑表达式是_________。

12.实现字符串拷贝的系统函数是_________。

13.实(浮点)型分为单、双精度两种,其类型保留字分别是_________。

14.在C语言中,运算符优先级最低的是_________。

15.设int a=3;,执行语句printf("%d", a<<2);后的输出结果是_________。

16.设float x=3.1;,执行语句printf("%.1f", 3.2+(int)x);后的输出结果是_________。

17.设FILE *fp;,若fp指向文件尾部,则feof(fp)的返回值是_________。

18.设char *p="abcd";,执行语句printf("%C", *(p+2));后的输出结果是_________。

19.设char str[]="book ";,执行语句printf("%d",sizeof(str));后的输出结果是_________。

110.若局部变量的存储类型缺省,其默认类型是_________。

三、程序分析题(本大题共4小题,每小题4分,共16分)阅读下列程序,将输出结果写到“答题纸”上。

21.#include int f(int a){   static int d=10;/*静态变量*/   d+=a;   return d;}void main(){    printf("f1=%d", f(3));    printf("f2=%d ", f(5));}

22.#includevoid main(){    int i;     for(i=10; i>0; i--)     {         if(i%3!=0) continue;         printf("%2d", i);     }     printf(" ");}

23.#include void main(){   int i, j, s, a[][3]={{1,2,3},{4,5},{6}};   for(s=0,i=0; i<3; i++)   switch(i)   {      case 0:      case 1:      case 2: for(j=0; j<3; j++) s+=a[i][j]; break;    }    printf("s=%d ",s);}

24.#include struct country{   int no;   char name[20];}a[]={1,"China",2,"Russia",3,"America"},*p=a;void main(){   p++;   printf("%d,%s", (*p).no, (*p).name);   p--;   printf("%d ,%s", p->no, p->name);   printf("%d,%s ", a[2].no, a[2].name);}

四、简答题

程序填充题(本大题共3小题,每小题6分,共18分)请将下列程序横线处缺少的部分补上,使其能正确运行。

31.从键盘输入一系列正(负数作为结束),写入二进制文件data.dat。

f3d5cbd724c78086494af8a955ed8df2.png

32.利用选择排序法实现对数组元素的升序排序。

53353fbe9d1d81ad2fcf40da8423a773.png

33.利用递归法,按下列公式计算并输出函数fx的值。

0475e08a9182e095b0f61fe49dd95e66.png

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

41.从键盘输入x的值,按下列公式计算并输出y的值。

ea7e5a4cf5f5cd6f25bc3a492b284ea4.png

42.(1)写一个函数计算自然数n的阶乘(函数头为long fac(int n));(2)由键盘输入两个自然数a和b且a≤b,调用上述函数计算并输出

9073ce881d072d80ea7bffe1f4d7e63d.png的值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值