更多>> 在线查询

       本中心目前已与多所院校,企事业单位建立深度合作关系。致力成为高校继续教育、人才培训体系的一部分。学历提升、终身学习,是社会持续进步的动力,也是个人持续发展的必由选择。

在线学习
C语言程序设计模拟题一
发布时间:2015-03-03 11:09:51

一、填空题

 

1C语言中基本的数据类型有:____________ ______ .

 

2C语言中普通整型变量的类型说明符为______,在内存中占______字节,有符号普通整型的数据范围是______ .

 

3、整数-35在机内的补码表示为______.

 

4、执行下列语句int a=8  a+=a-=a*a; 后,a的值是______.

 

5、有如下语句:char  A[ ]={I am a student}; 该字符串的长度是______A[3]=______.

 

6、符号“a”和‘a’的区别是______.

 

7、所谓“指针”就是______.&”运算符的作用是______.*”运算符的作用是______.

 

8、有如下输入语句:scanf(“a=%db=%dc=%d”,&a&b&c);为使变量a的值为1b的值为3c的值为2,从键盘输入数据的正确形式应是______.

 

二、选择题

 

1、设整型变量a5,使b不为2的表达式是(     )。

 

A. b=a/2    B. b=6-(——a   C. b=a%2    D. b=a>321

 

2、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与(     )组成配对关系。

 

A. 缩排位置相同的if        B. 在其之前未配对的if

 

C. 在其之前未配对的最近的if     D.同一行上的if

 

3、以下程序的输出结果是(      )。

 

int x=10y=10

 

printf(“%d  %d\n”,x——,——y);

 

A. 10  10      B. 9   9      C. 9   10     D. 10   9

 

4、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第个元素的地址为(     )。

 

A.P+i*2       B.  P+i-1*2      C.  P+i-1     D.  P+i

 

5、选出下列标识符中不是合法的标识符的是(     )。

 

A. hot_do      B. cat1       C. _pri         D. 2ab

 

6、以下程序的输出结果是(     )。

 

int a=5

 

float x=3.14

 

a*=x*(‘E - A’);

 

printf(“%f\n”,(floata);

 

A. 62.000000     B. 62.800000      C. 63.000000     D. 62

 

7、设有说明double*p1[N];其中标识符p1是(     )。

 

A. N个指向double型变量的指针。

 

B. 指向Ndouble型变量的函数指针。

 

C. 一个指向由Ndouble型元素组成的一维数组的指针。

 

D.具有N个指针元素的一维指针数组,每个元素都只能指向double型量。

 

8、在C程序中有如下语句:char *funcint xint y);它是(     )。

 

A. 对函数func的定义。      B. 对函数func的调用。

 

C.对函数func的原型说明。  D. 不合法的。

 

9、以下程序的输出结果是(     )。

 

char str[15]=hello!”;

 

printf(“%d\n”,strlenstr));

 

A. 15         B. 14          C. 7           D. 6

 

10、分析以下程序的输出结果是(     )。

 

main()

 

{int  a=5b=-1c

 

c=addsab);

 

printf(“%d”,c);

 

c=addsab);

 

printf(“%d\n”,c);    }

 

int addsint xint y

 

{static int m=0n=3

 

n*=++m

 

m=n%x+y++

 

returnm);            }

 

A. 23         B. 22         C. 32          D. 24

11、下列描述中不正确的是(     )。

 

A. 字符型数组中可能存放字符串。

 

B. 可以对字符型数组进行整体输入、输出。

 

C. 可以对整型数组进行整体输入、输出。

 

D. 不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。

 

12、以下程序的输出结果是(     )。

 

#define  fx   x*x

 

main()

 

{int a=6b=2c

 

c=fa/fb);

 

printf(“%d\n”,c);

 

}

 

A.  9         B.  6          C.  36           D.  18

 

13、设有如下定义: int x=10y=3z

 

则语句printf(“%d\n”,z=x%yx/y)); 的输出结果是(     )。

 

A. 1      B. 0       C. 4        D. 3

 

14、定义如下变量和数组:int iint x[3][3]={123456789}

 

则语句fori=0i<3i++  printf(“%d  ”,x[i][2-i]); 的输出结果是(     )。

 

A. 1  5  9           B. 1  4  7       C. 3  5  7          D. 3  6  9

 

15、以下对二维数组a进行正确初始化的是(     

 

A. int a[2][3]={{12}{34}{56}}  B. int a[ ][3]={123456}

 

C. int a[2][ ]={123456}             D. int a[2][ ]={{12}{34}}

 

16、两次运行下面的程序,如果从键盘上分别输入63,则输出结果是(     )。

 

int x

 

scanf(“%d”,&x);

 

ifx++>5   printf(“%d”,x);

 

else   printf(“%d\n”,x - -);

 

A. 75      B. 63      C. 74       D. 64

 

17、设有如下定义: char *aa[2]={abcd”,“ABCD}; 则以下说法中正确的是(    )。

 

Aaa数组成元素的值分别是“abcd”和ABCD

 

Baa是指针变量,它指向含有两个数组元素的字符型一维数组

 

Caa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址

 

Daa数组的两个元素中各自存放了字符‘a’和‘A’的地址

 

18、下列程序的输出结果是(     )。

 

char *p1=abcd”, *p2=ABCD”, str[50]=xyz”;

 

strcpystr+2strcatp1+2p2+1));

 

printf(“%s”,str);

 

A. xyabcAB        B. abcABz       C. ABabcz       D. xycdBCD

 

19、下列程序的输出结果是(     )。

 

int a[5]={246810}*P* *k

 

p=a  k=&p

 

printf(“%d”,*p++));

 

printf(“%d\n”,* *k);

 

A. 4 4          B. 2 2        C. 2 4         D. 4 6

 

20、不能把字符串:Hello!赋给数组b的语句是(     )。

 

A. char b[10]={H’,‘e’,‘l’,‘l’,‘o’,‘!’}

 

B. char b[10]  b=Hello!”;

 

C. char b[10]  strcpyb,“Hello!”);

 

D. char b[10]=Hello!”;

三、读程序题

 

1float f=3.1415927

 

printf(“%f%5.4f%3.3f”,fff);

 

则程序的输出结果是          .

 

2int x=6 y=7

 

printf(“%d,”,x++);

 

printf(“%d\n”,++y);

 

程序的输出结果是        .

 

3a=3

 

a+=a<1)?a1

 

printf(“%d”,a);

 

结果是.

 

4for a=1b=1a<=100a++

 

{ ifb>=20   break

 

ifb%3==1

 

{b+=3  continue}

 

b-=5 }

 

程序的输出结果a的值为       .

 

5int y=1 x *p a[ ]={246810}

 

p=&a[1]

 

forx=0x<3x++

 

y + = * p + x);

 

printf(“%d\n”,y);

 

程序的输出结果y的值是      .

 

四、程序填空题

 

1、从键盘上输入10个数,求其平均值。

 

main()

 

{int i

 

float fsum

 

fori=1sum=0.0i<11i++

 

{        

 

    }

 

printf(“average=%f\n”,sum/10);             }

 

2、以下程序是建立一个名为myfile的文件,并把从键盘输入的字符存入该文件,当键盘上输入结束时关闭该文件。

 

#include

 

main()

 

{ FILE *fp

 

char c

 

fp=          

 

do{

 

c=getchar();

 

fputscfp);

 

}whilec=EOF);

 

}

 

3、以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入。请填空。

 

main()

 

{ float xamaxamin

 

scanf(“%f”,&x);

 

amax=x   amin=x

 

while            

 

{ ifx>amax    amax=x

 

if               amin=x

 

scanf(“%f”,&x);                     }

 

printf(“\namax=%f\namin=%f\n”,amaxamin);  }

 

五、编程题

 

1. 三个整数abc,由键盘输入,输出其中最大的一个数。

 

2.输出1900~2000年中所有的闰年。每输出3个年号换一行。(判断闰年的条件为下面二者之一:能被4整除,但不能被100整除。或者能被400整除。)

 

3.请编一个函数int funint a),它的功能是:判断a是否是素数,若a是素数,返回1;若不是素数,返回0.A的值由主函数从键盘读入。

 

4.N个学生,每个学生的信息包括学号、性别、姓名、四门课的成绩,从键盘上输入N个学生的信息,要求输出总平均成绩最高的学生信息,包括学号、性别、姓名和平均成绩。

参考答案

 

 

一、填空题

 

1)整型、实型、字符型。

 

2int2-32768~ +32767

 

31111111111011101

 

4- 112

 

514,‘m

 

6)“a”是字符串常量,而‘a’是字符常量。

 

7)存放地址值的变量或常量,或者答地址。

 

8)取运算对象的地址。 取指针变量所指的内容。a=1b=3c=2

 

二、选择题

 

1C     2C     3D     4B      5D

 

6A     7C     8C     9D      10A

 

11C    12C    13D    14C     15B

 

16C    17D    18D    19C     20B

 

三、阅读程序题

 

1 3.1415933.14163.142

 

2 68

 

3 4

 

4 22

 

5 19

 

四、程序填空题

 

1scanf(“%f”,&f);    sum+=f

 

2fopen(“myfile”,w    fclosefp);

 

3x>=0.0      x<=amin

 

五、编程题

 

1main()

 

{int abc

 

printf(“请输入三个整数:”);

 

scanf(“%d%d%d”,&a&b&c);

 

ifa

 

ifb

 

else      printf(“max=%d\n”,b);

 

else ifa

 

else    printf(“max=%d\n”,a);}

 

2#includestdio.h

 

main()

 

{int In

 

forn=0I=1900I<=2000I++

 

{ifI%4==0&&I0=0||I@0==0

 

{printf(“%d  ”,I);n++}

 

ifn%3==0

 

printf(“\n”);}  }   }

3#includestdio.h

 

int funint a

 

{int I

 

ifa==2     return 1    I=2

 

while((a%I)!=0&&I<=sqrt((floata))

 

I++

 

ifa%I==0

 

{printf(“%d is not a prime!”,a);

 

return 0}

 

printf(“%d is a prime!”,a);

 

return 1  }

 

main()

 

{int x

 

printf(“\n please enter a number:”);

 

scanf(“%d”,&x);

 

printf(“%d\n”,funx));  }

 

4#includestdio.h

 

#define N 3

 

struct student

 

{long stu_num      char sex

 

char name[15]      int score[4]

 

float average   }

 

main()

 

{int Ijindex     float summax

 

struct student stuarr[N]

 

forI=0I

 

{printf(“please input %d student information\n”,I+1);

 

scanf(“%ld%c%s”,&stuarr[I].stu_num&stuarr[I].sexstuarr[I].name);

 

forj=0j<4j++

 

scanf(“%d”,&stuarr[I].score[j]); }

 

forI=0I

 

{sum=0.0

 

forj=0j<4j++

 

sum+=stuarr[I].score[j]

 

stuarr[I].average=sum/4.0}

 

max=stuarr[0].average

 

index=0

 

forI=1I

 

ifstuarr[I].average>max

 

{max=stuarr[I].average

 

index=I  }

 

printf(“总平均成绩最高的学生信息是学号=%ld,性别=%c,姓名=%s,平均成绩=%4.1f\n”,stuarr[index].stu_numstuarr[index].sexstuarr[index].namestuarr[index].average);

 

 
 上一篇:人力资源管理就是企业管理
 下一篇:C语言程序设计模拟试题二


                 京ICP备2022006194号-1