更多>> 在线查询

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

在线学习
C语言程序设计模拟试题二
发布时间:2015-03-03 11:15:35

一、填空题

 

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

 

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

 

3、设整型变量n的值为2,执行语句“n+=n-=n*n”后,n的值是______.

 

4、共用体和结构体的定义格式类似,不同点是______.

 

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

 

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

 

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

 

8、下列程序的输出结果是______.

 

int astint xint yint * cpint * dp

 

{ *cp=x+y  *dp=x-y  }

 

main()

 

{ int a=4b=3cd

 

astab&c&d);

 

printf(“%d%d/n”,cd);}

 

二、选择题

 

1、以下选项中属于C语言的数据类型是(     )。

 

A. 复合型    B. 双精度型     C. 逻辑型     D. 集合型

 

2、以下说法中正确的是(     )。

 

A. C语言程序总是从第一个的函数开始执行

 

B. C语言程序中,要调用的函数必须在main()函数中定义

 

C. C语言程序总是从main()函数开始执行

 

D. C语言程序中的main()函数必须放在程序的开始部分

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

5、若已定义:int a[9] *p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式为(     )。

 

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

 

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

 

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

 

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

 

7、定义如下变量和数组: int i 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

 

8、读出以下语句的输出结果是(      )。

 

int x=10y=10

 

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

 

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

 

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

 

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

 

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

 

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

 

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

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

 

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

 

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

 

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

 

11、以下语句的输出结果是(     )。

 

int a=-1b=4k

 

k=+ +a<0&&!(b - -<=0);

 

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

 

A. 104    B. 103    C. 003    D. 004

 

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

 

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

 

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

 

printf(“%s”,str);

 

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

 

13、执行下面的程序后,a的值是(     )。

 

#define SQRX X*X

 

main( )

 

{ int a=10k=2m=1

 

a/=SQRk+m/SQRk+m);

 

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

 

A. 10   B. 1   C. 9   D. 0

 

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

 

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

 

15、下列程序执行后输出的结果是(     )。

 

int d=1

 

fun int p

 

{ int d=5

 

d + =p + +

 

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

 

main( )

 

{ int a=3

 

funa);

 

d + = a + +

 

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

 

A.84   B. 96   C. 94   D. 85

 

16、表达式:10=9的值是(     )。

 

A.true   B.非零值   C.0    D.1

 

17、若有说明:int ij=7*p=&i;则与i=j;等价的语句是(     )。

 

A. i= *p  B. *p=*&j  C. i=&j D. i=* *p

 

18、不能把字符串: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!”;

 

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

 

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

 

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

 

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

 

char str[15]=hello!”;

 

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

 

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

三、阅读程序题

 

1int x=6y=7

 

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

 

程序的输出结果是______.

 

2float f=3.1415927

 

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

 

则程序的输出结果是______.

 

3a=3

 

a+=a<1a1 printf(“%d”,a);

 

结果是______.

 

4main( )

 

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

 

p=a  k=&p

 

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

 

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

 

程序的输出结果是______.

 

5main()

 

{int ab

 

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

 

{ ifb>=20  break

 

ifb%3==1

 

{b+=3continue}

 

b-=5}  }

 

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

 

四、程序填空题

 

1、求主次对角线之和。

 

main()

 

{static int a[ ][3]={97512468}

 

int Ijs1=0s2=0

 

forI=0I<3I++

 

forj=0j<3j++

 

{if           

 

s1=s1+a[I][j]

 

if           

 

s2=s2+a[I][j]

 

}

 

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

 

}

 

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

 

main()

 

{int i

 

float fsum

 

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

 

 

 

}

 

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

 

}

 

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

 

#include

 

main()

 

{

 

FILE *fp

 

char c

 

fp=  

 

do

 

{

 

c=getchar();

 

fputscfp);

 

}whilec=EOF);

 

; ;

 

}

 

五、编程题

 

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

 

2、从键盘输入的10个整数中,找出第一个能被7整除的数。若找到,打印此数后退出循环;若未找到,打印“not  exist”。

 

3、有一个一维数组,内放10个学生成绩,写一个函数,求出平均分。

 

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

一、填空题

 

1int 2个字节,-32768~ +32767 .

 

2、整型、实型、字符型。

 

3- 4.

 

4、结构体的成员占有各自不同的空间,而共用体的各成员放到同一存储空间。

 

5a=1b=3c=2

 

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

 

771.

 

二、选择题

 

1B     2C     3D      4C      5C

 

6D     7C     8D      9C      10D

 

11D    12D    13B     14B     15A

 

16D    17B    18B     19C     20D

 

三、阅读程序题

 

1 68

 

2 3.1415933.14163.142

 

3 4

 

4 24

 

5 8

 

四、程序填空题

 

1I==j  I+j==2

 

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

 

3fopen(“myfile”,wfclosefp);

五、编程题

 

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 Ia

 

forI=1I<=10I++

 

{ scanf(“%d”,&a);

 

{ ifa%7==0

 

printf(“%d”,a);break} }

 

ifI==11

 

printf(“not exist”);}

 

3float averagefloat array[ ]int n

 

{ int I

 

float aversum=array[0]

 

forI=1I

 

sum=sum+array[I]

 

aver=sum/n

 

returnaver);}

 

main()

 

{  float avescore[10]

 

int I

 

forI=0I<10I++

 

scanf(“%f”,&score[I]);

 

ave=averagescore10);

 

printf(“%f\n”,ave);}

 

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].averageindex=I}

 

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

 
 上一篇:C语言程序设计模拟题一
 下一篇:土木工程师试题


                 京ICP备2022006194号-1