c语言 x y 9 6 x,自考“C语言程序设计”模拟试题九

自考“C语言程序设计”模拟试题九

一、选择题

1.一个C语言程序是由(      )构成。

A.语句          B.行号            C.数据           D.函数

2.下面标识符中正确的是(       )。

A.d&ef          B.6a            C.z4x5c           D.a3/b4

3.在C语言中,存储一个字符型、整型、单精度实型变量所需的空间是()。

A.1、2、4      B.1、1、4      C.1、2、8       D.2、2、8

4.为了避免嵌套的条件分支语句 if——else中的else总是与(  ) 组成成对关系。

A. 缩排位置相同的

B. 在其之前未配对的

C. 在其之前未配对的最近的if

D. 在同一行上的if

5.下列表达式的结果正确的是(            )。

int  aa,bb,cc,dd;

aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1;

(aa+1==2)?bb=aa+2:aa+3

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

6.设有int x=11 ;则表达式(x+1/3)的值是(   )。

A.3    B. 4    C. 11    D.12

7.设有字符串A=“He has 钱!”,则该字符串的长度为(   )。

A.  9      B.  10         C. 11         D. 8

8.有如下程序段,则正确的执行结果是(        )

int m=3;

while(m<=5)

{   printf(“%d   ”,m-3); m++;}

A. 0  0   0    B.0  1   2      C.1  2   3    D.无结果

9.执行语句:printf(“%d”,(a=2)&&(b= -2);后,输出结果是(   )。

A.无输出       B.结果不确定     C.-1         D. 1

10.有如下定义类型语句,若从键盘输入数据,正确的输入语句是(   )。

int  x;   char  y;   char  z[20];

A. scanf(“%d%c%c”,&x,&y,&z);

B. scanf(“%d%c%s”,&x,&y,&z);

C. scanf(“%d%c%c”,&x,&y,z);

D. scanf(“%d%c%s”,&x,&y,z);

11. struct ex

{ int x ; float y; char z ;} example;

则下面的叙述中不正确的是(   )。

A. struct结构体类型的关键字    B.  example是结构体类型名

C. x,y,z都是结构体成员名    D.  struct ex是结构体类型

12.在C语言中对于实型数组,其每个数组元素的类型是(         )。

A.  实型          B. 整型      C.  可以为任何类型      D.  不确定

13. 若已定义:int a[9],*p=a;不能表示a[1] 地址的表达式是(         )。

A.  p+1           B.  a+1       C.  a++                 D.  ++p

14. 在TC2.0环境中,对文件进行保存使用的命令是(         )。

A.  OPEN        B.  SAVE      C.  LOAD       D. WRITE TO

15.在C++的类中,用于表示公共类型的关键字是(         )。

A. class       B.  private      C.  protect         D. public

二、填空题

1.在C语言中,正确的标识符是由____________组成的,且由____________开头的。

2. 设p=30,那么执行q=(++p)后,表达式的结果q为______,变量p的结果为________.

若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是_________.

3. 一个变量的指针是指____________.

4. 在C语言程序中,对文件进行操作首先要____________;然后对文件进行操作,最后要对文件实行________操作,防止文件中信息的丢失。

5. 以下程序运行后的输出结果是_________ .该程序的功能是_________ .

main()

{ int x=10,y=20 ,t=0;

if(x!=y) t=x; x=y; y=t;

printf("%d,%d\n",x,y);   }

6. 若fp已正确定义为一个文件指针,d1.dat为二进制文件,请填空,以便为“读”而打开此文件:fp=fopen(                     );。

7. 有以下程序,当输入的数值为2,3,4时,输出结果为___________.

main()

{   int x,y,z;

cout  《  “please input  three number”;

cin 》x》y》z;

sum=x*x+y*2+z;

cout《“sum of number is :”《sum;

}

8. 有以下程序

main()

{   char c;

while((c=getchar())!='?')  putchar( - - c );   }

程序运行时,如果从键盘输入:YDG?N?,则输出结果为               .

9.在循环中,continue语句与break语句的区别是:_________continue语句是语句的区别是:_________continue语句是_________,break 是_________.

三、程序填空与算法题

1. 下面程序是计算10个整数中奇数的和及其偶数的和,请填空。

#include

main()

{   int a,b,c,i;

a=c=0;

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

{  scanf(“%d”,&b);canf(“%d”,&b);

}

printf(“偶数的和=%d\n”,a);

printf(“奇数的和=%d\n”,c); }

2.编写一个自定义函数,实现求两个实数的平方和

3. 以下程序运行后的输出结果是            .

main()

{   char s[ ]=“GFEDCBA”;

int  p=6;

while(s[p]!=‘D’)

{     printf(“%c  ”, p);

p=p-1;     }                 }

4.定义一个反映学生信息的结构体,包括学生的姓名,性别,年龄,成绩等。

5.以下程序输出的结果是                            .

int ff(int n)

{   static int f=l;

f=f*n;

return f;     }

main()

{   int i;

for(i=1;i<=5;i++) printf(“%d\n”,ff(i));    }

6. 设有以下程序:

main()

{  int n1,n2;

scanf(“%d”,&n2);

while(n2!=0)

{   n1=n2;

n2=n2/10;

printf(“%d    ”,n1);   }     }

程序运行后,如果从键盘上输入1298;则输出结果为               .

7.下面程序的功能是:输出 100以内(不包含100)能被 3整除且个位数为 6的所有整数,请填空。

#Include<stdio.h>

main()

{   int i, j;

for(i=1; ____________; i++)

if (________________)

printf(“%d”, j);               }

8.现有一个单链表Head,如下图所示,如果要在元素B和D之间插入一个字符型元素C.

所需要的语句为:(如果用到指针,在图中标出指针的位置)

A

B

Head

D

Z

……

四、编程题

1.   编程实现求解下面的式子的结果

s=1*2+2*3+3*4+…+20*21

2.编程实现求下面的式子的结果

3.编程实现将文本文件file1.dat的内容读出来,显示到屏幕上。

一、选择题

1.D       2.  C        3. A         4.  C       5.  B

6.C       7.  B        8. B         9.  D       10. D

11.B      12. A        13. C        14.  B      15. D

二、填空题

1.字母、数字、下划线;以字母、下划线开头。

2.4,4    -12

3. 该变量的地址。

4.打开;关闭。

5. 20 , 10     变量的交换

6.“d1.dat”, “rb”

7.  sum of number is :14

8. xcf

9.结束本次循环,进入下一次循环;结束循环。

三、程序填空与阅读程序题(参考答案)

1.  if (b%2==0)   a=a+b    else    c=c+b

2.  float  sum(float  x,float  y)

{   return  x*x+y*y;   }

3. A B C

4. struct  student{

char  name[10];

char  sex;

int  age;

float  score;   }

5. 1   2   6    24    120

6.8  9  2  1

7.i<100    if(i%3==0 && i==6)

8.P->NEXT=Q->NEXT;      P->NEXT=NEW;

四、编程题

1.参考答案

main()

{   int  m,n,sum=0;

for (m=1;m<=20;m++)

sum=sum+m*(m+1);

printf(“%s”,sum);

}

2.参考答案

# include “math.h”

main()

{  float x,y;

scanf(“%f”&x);

if (x>6)

y=(x-3)/(2*x-12);

else

y=-2*x*x+4*x-10;

printf(“y=%f”,y);             }

3.main()

{  char ch;

FILE *fp1,*fp2;

fp1=fopen(“file1.dat”, “r”);

fp2=fopen(“file2.dat”, “r”);

fp3=fopen(“file3.dat”, “w”);

Ch=fgetc(fp1);

While(ch!=EOF)

{   fputc(ch,fp3); fputc(ch,fp3);

Ch=fgetc(fp1);  }

Ch=fgetc(fp2);

While(ch!=EOF)

{   fputc(ch,fp3); fputc(ch,fp3);

Ch=fgetc(fp2);  }

Fclose(fp1);

Fclose(fp2);

Fclose(fp3);

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值