C语言程序设计第1阶段练习题 江南大学机考题库及答案.docx

上传人:b****5 文档编号:4366659 上传时间:2022-11-30 格式:DOCX 页数:10 大小:20.73KB
下载 相关 举报
C语言程序设计第1阶段练习题 江南大学机考题库及答案.docx_第1页
第1页 / 共10页
C语言程序设计第1阶段练习题 江南大学机考题库及答案.docx_第2页
第2页 / 共10页
C语言程序设计第1阶段练习题 江南大学机考题库及答案.docx_第3页
第3页 / 共10页
C语言程序设计第1阶段练习题 江南大学机考题库及答案.docx_第4页
第4页 / 共10页
C语言程序设计第1阶段练习题 江南大学机考题库及答案.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

C语言程序设计第1阶段练习题 江南大学机考题库及答案.docx

《C语言程序设计第1阶段练习题 江南大学机考题库及答案.docx》由会员分享,可在线阅读,更多相关《C语言程序设计第1阶段练习题 江南大学机考题库及答案.docx(10页珍藏版)》请在冰豆网上搜索。

C语言程序设计第1阶段练习题 江南大学机考题库及答案.docx

C语言程序设计第1阶段练习题江南大学机考题库及答案

江南大学网络教育第一阶段练习题

考试科目:

《C语言程序设计》第章至第章(总分100分)

__________学习中心(教学点)批次:

层次:

专业:

学号:

身份证号:

姓名:

得分:

 

一单选题(共20题,总分值40分,下列选项中有且仅有一个选项符合题目要求,请在答题卡上正确填涂。

1.已知i、j、k为int型变量,若从键盘输入:

1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是()。

(2分)

A.scanf(“%2d%2d%2d”,&i,&j,&k);

B.scanf(“%d%d%d”,&i,&j,&k);

C.scanf(“%d,%d,%d”,&i,&j,&k);

D.scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);

2.下列判断char类型变量C1是为数字的最简单且正确的表达式()。

(2分)

A.'0'<=C1<='9'

B.(C1>='0')&&(C1<='9')

C.(C1>=0)&&(C1<=9)

D.('0'<=C1)&&('9'<=C1)

3.以下选项中,与k=n++完全等价的表达式是()。

(2分)

A.k=n,n=n+1

B.n=n+1,k=n

C.k=++n

D.k+=n+1

4.设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是()。

(2分)

A.6.500000

B.6

C.5.500000

D.6.000000

5.字符串”\\\’abcd\123\xAB\t”的长度为(  )。

(2分)

A.8

B.17

C.9

D.10

6.已知c是字符型变量,以下不正确的赋值语句是

()。

(2分)

A.c=”a”

B.c=’a’

C.c=’\141’

D.c=’\x61’+3

7.下面的for循环最多可执行(  )次。

for(x=0,y=0;(y!

=99)&&(x<4);x++);

(2分)

A.4次

B.5次

C.99次

D.0次

8.以下程序的输出结果是用()表示。

main()

{intk=17;

printf("%d,%o,%x\n",k,k,k);

}(2分)

A.17,021,0x11

B.17,17,17

C.17,0x11,021

D.17,21,11

9.以下选项中合法的实型常数是()。

(2分)

A.5E2.0

B.E-3

C..2E1

D.1.3E

10.有以下程序

main()

{inti=1,j=1,k=2;

if((j++‖k++)&&i++)printf("%d,%d,%d\n",i,j,k);

}

执行后输出结果是(  )。

(2分)

A.1,1,2

B.2,2,1

C.2,2,2

D.2,2,3

11.C语言中各种基本数据类型的存储空间长度排列为()。

(2分)

A.char≤long≤int≤float≤double

B.double≤float≤long≤int≤char

C.char≤int≤long≤float≤double

D.float≤int≤long≤char≤double

12.若有以下程序:

main()

{intk=2,i=2,m;

m=(k+=i*=k);

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

执行后的输出结果是()。

(2分)

A.8,6

B.8,3

C.6,4

D.7,4

13.以下非法的赋值语句是()。

(2分)

A.n=(i=2,++i);

B.j++;

C.++(i+1);

D.x=j>0;

14.下列关于C语言用户标识符的叙述中正确的是()。

(2分)

A.用户标识符中可以出现在下划线和中划线(减号)。

B.用户标识符中不可以出现中划线,但可以出现下划线。

C.用户标识符中可以出现下划线,但不可以放在用户标识符的开头。

D.用户标识符中可以出现在下划线和数字,它们都可以放在用户标识符的开头。

15.执行以下程序段后,变量a,b,c的值为()。

intx=11,y=10,a,b,c;

a=(--x==y++)?

--x:

++y;

b=x++;c=y;(2分)

A.a=10,b=10,c=9

B.a=9,b=9,c=12

C.a=9,b=9,c=11

D.a=1,b=9,c=11

16.下列说法中正确的是()。

(2分)

A.在switch语句中一定要使用break语句

B.在switch语句中不一定要使用break语句

C.break语句是switch语句的一部分

D.break只能用于switch语句中

17.若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)

s=a;

for(b=1;b<=c;b++)s=s+1;

则与上述程序段功能等价的赋值语句是()。

(2分)

A.s=a+b;

B.s=a+c;

C.s=s+c;

D.s=b+c;

18.已有定义:

intx=3,y=4,z=5;,则表达式!

(x+y)+z-1&&y+z/2的值是()。

(2分)

A.6

B.0

C.2

D.1

19.以下不符合C语言语法的赋值表达式是()。

(2分)

A.d=9+e,e++,d+9

B.k=i==j

C.n1+=n2+3

D.a=b+c=a+7

20.C语言中对于嵌套if语句规定else总是与()配对?

(2分)

A.第一个if

B.其之前最近的if

C.缩进位值相同的if

D.其之前最近的不带else的if语句

二填空题(共5题,总分值30分)

21.斐波纳契数列中头两个数是0和1,从第三个数开始,每个数等于前两个数的和,即:

0,1,1,2,3,5,8,13,21,……等。

求斐波纳契数列的前20个数。

要求每行输出5个数。

请填空。

#include<stdio.h>

main()

{intf,f1,f2,I;

printf(“Fibonacciseries:

\n”);

f1=0;f2=________________________________;

printf(“%6d,%6d,”,f1,f2);

for(I=3;I<=20;_________________________)

{f=________________________________;

printf(“%6d,”,f);

if(________________________________)

printf(“\n”);

f1=f2;f2=________________________________;

}

printf(“\n”);

}(6分)

22.#include“stdio.h”

main()

{charc;scanf(“%c”,&c);

switch(c-‘2’)

{case0:

case1:

putchar(c+4);

case2:

putchar(c+4);break;

case3:

putchar(c+3);

default:

putchar(c+2);break;}

printf(“\n”);}

当分别输入1,2,5时,输出为________________________________、________________________________、________________________________。

(6分)

23.下述程序段的运行结果是__________________________。

intx,y;

x=17;y=26;

printf(“%d”,y/=(x%=6));(6分)

24.break语句的功能__________________________,contitue语句的功能__________________________。

(6分)

25.以下程序实现求100~200,400~600间的全部素数,并以10个数一行的格式输出。

#include<math.h>

main()

{intm,k,I,n=0;

for(m=101;m<=600;m+=2)

{

if(m>200__________________m<400)

__________________________;

k=sqrt(m);

for(I=2;I<=k;I++)

if(m%I==0)

__________________________;

if(__________________________){printf(“%d”,m);n=n+1;}

if(n%10==0)printf(“\n”);

}

printf(“\n”);

}(6分)

三编程题(共2题,总分值30分)

26.采用二分法求方程2(x³)-4(x²)+3x-6=0在(-10,10)之间的根。

(15分)

27.

利用循环实现打印以下图形。

(15分)

 

一单选题(共20题,总分值40分,下列选项中有且仅有一个选项符合题目要求,请在答题卡上正确填涂。

1.答案:

C

解析过程:

2.答案:

B

解析过程:

3.答案:

A

解析过程:

4.答案:

D

解析过程:

5.答案:

D

解析过程:

6.答案:

A

解析过程:

7.答案:

A

解析过程:

8.答案:

D

解析过程:

9.答案:

C

解析过程:

10.答案:

C

解析过程:

11.答案:

C

解析过程:

12.答案:

C

解析过程:

13.答案:

C

解析过程:

14.答案:

B

解析过程:

15.答案:

C

解析过程:

16.答案:

B

解析过程:

17.答案:

B

解析过程:

18.答案:

D

解析过程:

19.答案:

D

解析过程:

20.答案:

D

解析过程:

二填空题(共5题,总分值30分)

21.答案:

1,I++,f1+f2,I%5==0,f

解析过程:

22.答案:

3,66,87

解析过程:

23.答案:

5

解析过程:

24.答案:

提前结束循环,结束本次循环

解析过程:

25.答案:

&&,continue,break,I>k

解析过程:

三编程题(共2题,总分值30分)

26.答案:

#include"stdio.h"

#include"math.h"

main()

{floata=-10,b=10,ab,fa,fab,fb;

fa=a*((2*a-4)*a+3)-6;

do{ab=(a+b)/2;

fab=ab*((2*ab-4)*ab+3)-6;

if((fa*fab)>0)

{a=ab;fa=fab;}

else

{b=ab;fb=fab;}

}while(fabs(fab)>=1e-5);

printf("方程的根为%.2f",ab);

}

解析过程:

27.答案:

#include"stdio.h"

main()

{intI,j,k;charm='A';

for(I=0;I<=4;I++)

{for(j=0;j<=3-I;j++)

printf("");

for(k=0;k<=2*I;k++)

if(k==0||k==2*I)

printf("%c",m+I);

else

printf("*");

printf("\n");}

for(I=0;I<=3;I++)

{for(j=0;j<=I;j++)

printf("");

for(k=0;k<=6-2*I;k++)

if(k==0||k==6-2*I)

printf("%c",m+3-I);

else

printf("*");

printf("\n");

}}

解析过程:

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 小学教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1