2016年3月c语言真题及答案详解,高级语言程序设计(一)2016年4月真题

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

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

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

1.C语言的保留字(又称关键字)是(  )

A.sum1

B.main()

C.continue

D.integer

2.错误的C语言常数是(  )

A.0

B.3E0

C."d"

D."123"

3.设int x=2;,执行语句printf("%d ", x++);后输出结果是(  )

A.2

B.3

C.4

D.5

4.设int a=0,循环次数为0的语句是(  )

A.while(1);

B.for(; a!=0; );

C.for(a; a==0; a++);

D.do{ a++; }while(1);

5.if(表达式)中“表达式”的类型是(  )

A.逻辑的

B.关系的

C.算术的

D.任意的

6.设int a=1, b=2, c=3;,能将c的值同时赋给a和b的表达式是(  )

A.a=b=c

B.a==b=c

C.(a=c)ll(b=c)

D.a==b==c

7.在一个文件的不同函数中不能重名的是(  )

A.函数名

B.形式参数

C.auto型内部变量

D.register型内部变量

8.下列函数头正确的是(  )

A.void fun(a, b)

B.void fun(int a, b)

C.void fun(int a, int b)

D.void fun(var int a, var int b)

9.设int a[2][3]={1, 2, 3, 4, 5};,值为0的数组元素是(  )

A.a[1][2]

B.a[1][1]

C.a[0][1]

D.a[0][0]

10.下列是递归函数的是(  )

A.int f(int n)

{    if(n!=0) return 1;

else return 0;

}

B.int f(int n)

{    if(n%2==0) return 0;

else return 1;

}

C.int f(int n)

{     if(n==0) return 0;

else return n+f(n-1);

}

D.int f(int n)

{    if(n==0) return =;

else return (--n);

}

11.设int x=1, y=2, z=3;,下列for语句正确的是(  )

A.for(; ; );

B.for(z=0; z

C.for(z=0; z

D.for(z=0, z

12.设int x;,与x==0等价的表达式是(  )

A.x==1

B.!x

C.x!=0

D.x!=1

13.正确定义一维数组的是(  )

A.float r(6);

B.float n=6,r[n];

C.#define N 6

float r[N];

D.int n;

scanf("%d", &n);

float r[n];

14.设int s=5, t=6, *p, *q;,下列程序段正确的是(  )

A.p=&s; q=p;

B.p=&s; q=*p;

C.p=&s; q=t;

D.p=&s; q=&t; *p=q;

15.当文件结束时,系统函数feof()的返回值是(  )

A.-1

B.0

C.1

D.非0

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

11.设int x=100;,表达式x%2=(x+1)%2的值是_______。

12.设int a=2, b-3; 表达式a<

13.设char s[10]= "peace";,执行语句printf("%d ", strlen(s));后输出结果是_______。

14.设float a;,执行表达式(double)a后,a的类型是_______。

15.设int x=10, y=20;,执行语句printf("%d ", x>y?x:y);后输出结果是_______。

16.设struct{ float x, y; }z, *p=&z;,用指针引用成员x的方式是(*p).x或_______。

17.设int x=3, y=2, z=1;,表达式!x>-y>=z的值是_______。

18.系统函数double fabs(double x)的功能是_______。

19.若函数的形式参数和实际参数均为数组类型,则函数调用时参数的传递方式是_______。

110.使用系统函数sin()时,用到的文件包含命令县_______。

三、程序分析题(本大题共4小题,每小题4分,共16分)

21.#include void main(){   int i;   char *country[ ]={"Brazil", "Russia", "India", "China", "SouthAfrica"};   for(i=1; i<4; i+=2) printf("%s ", country [i]);}

22.#include void main(){   int a=10, b=0;   while(1)   {       a+=2; b+=a;       if(b>20)   break;    };    printf("a=%d, b=%d ", a, b);}

23.#include < stdio.h>int z=2;int fun(int x){    static int y=0;    return(--y+x+z);}void main(){    int i;    for(i=1; i<3; i++) printf("%d#",fun(5);    printf(" ");}

24.#include void main(){    int i;    char *st="CHINA";    for(i=0; i<5; i+=2) printf ("%c", *(str+i));    printf(" ");}

四、程序填充题(本大题共3小题,每小题6分,共18分)

31.从键盘输入某个职工的工号、姓名和工资保存至结构型变量并输出。#include typedef struct employee{   int number;   char name[20];   float salary;}_______;    /*第一空*/void main(){    EMP em;    scanf("%d%s%f", &em.number, _______, &em.salary);    /*第二空*/    printf("Number: %d Name: %s Salary: %.1f ", _______);    /*第三空*/}

32.键入一串字符,以回车换行符为结束标志,统计并输出其中大写英文字母的个数。#include void main(){    char a;    int s=_______;    /*第一空*/    while((c=getchar()!=' ')          if(_______) s++; /    *第二空*/    printf("大写英文字母个数s=%d ",_______);    /*第三空*/}

33.从键盘为二维数组输入数据,分别计算并输出两条对角线元素值之和。#include  #define N 4void main(){   int [N][N], i, j, sum1=0, sum2=0;   for(i=0; i

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

41.从文本文件old.txt读取字符,将其中的英文字母"a"、"b"、"c"、"d"和"e"分别替换为"+"、"-"、"*"、"/"和"%",其余字符不变,然后写入文本文件 new.txt。

42.(1)编写函数负fa,计算并输出直角三角形的面积;(2)编写函数fb,计算并输出梯形的面积;(3)编写主函数,键入直角三角形的底(d)和高(h),调用函数fa计算并输出该直角三角形的面积;键入梯形的上底(a)、下底(b)和高(c),调用函数fb计算并输出该梯形的面积。(输出结果保留两位小数)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值