资源描述
江南大学现代远程教育 第一阶段练习题
考试科目:《C语言程序设计》第一章至第四章(总分100分)
学习中心(教学点) 批次: 层次:
专业: 学号: 身份证号:
姓名: 得分:
一 单选题 (共20题 ,总分值40 ,下列选项中有且仅有一个选项符合题目要求,请在答题卡上正确填涂。)
1、 有以下程序
main()
{ int i=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
2、 已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2得值就是( )。 (2 分)
A、 6
B、 0
C、 2
D、 1
3、 执行以下程序段后,变量a,b,c得值为( )。
int x=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
4、 以下程序得输出结果就是用( )表示。
main( )
{ int k=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
5、 已知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);
6、 以下非法得赋值语句就是( )。 (2 分)
A、 n=(i=2,++i);
B、 j++;
C、 ++(i+1);
D、 x=j>0;
7、 已知c就是字符型变量,以下不正确得赋值语句就是
( )。 (2 分)
A、 c=”a”
B、 c=’a’
C、 c=’\141’
D、 c=’\x61’+3
8、 以下不符合C语言语法得赋值表达式就是( )。 (2 分)
A、 d=9+e,e++,d+9
B、 k=i= =j
C、 n1+=n2+3
D、 a=b+c=a+7
9、 若有以下程序:
main()
{ int k=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
10、 字符串”\\\’abcd\123\xAB\t”得长度为( )。 (2 分)
A、 8
B、 17
C、 -9
D、 10
11、 若有如下程序段,其中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;
12、 以下选项中合法得实型常数就是( )。 (2 分)
A、 5E2、0
B、 E-3
C、 、2E1
D、 1、3E
13、 下列说法中正确得就是( )。 (2 分)
A、 在switch语句中一定要使用break语句
B、 在switch语句中不一定要使用break语句
C、 break语句就是switch语句得一部分
D、 break只能用于switch语句中
14、 C语言中对于嵌套if语句规定else总就是与( )配对? (2 分)
A、 第一个if
B、 其之前最近得if
C、 缩进位值相同得if
D、 其之前最近得不带else得if语句
15、 以下选项中,与k=n++完全等价得表达式就是( )。 (2 分)
A、 k=n,n=n+1
B、 n=n+1,k=n
C、 k=++n
D、 k+=n+1
16、 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
17、 下面得for循环最多可执行( )次。
for(x=0;y=0;(y!=99)&&(x<4);x++); (2 分)
A、 4次
B、 5次
C、 99次
D、 0次
18、 下列关于C语言用户标识符得叙述中正确得就是( )。 (2 分)
A、 用户标识符中可以出现在下划线与中划线(减号)。
B、 用户标识符中不可以出现中划线,但可以出现下划线。
C、 用户标识符中可以出现下划线,但不可以放在用户标识符得开头。
D、 用户标识符中可以出现在下划线与数字,它们都可以放在用户标识符得开头。
19、 设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
20、 下列判断char类型变量C1就是为数字得最简单且正确得表达式( )。 (2 分)
A、 '0'<=C1<='9'
B、 (C1>='0')&&(C1<='9')
C、 (C1>=0)&&(C1<=9)
D、 ('0'<=C1)&&('9'<=C1)
二 填空题 (每空2分 ,总分值30 )
21、 break语句得功能__________________________ ,contitue语句得功能__________________________ 。
22、 以下程序实现求100~200,400~600间得全部素数,并以10个数一行得格式输出。
#include <math、h>
main()
{int m,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 分)
23、 下述程序段得运行结果就是__________________________。
int x,y;
x=17;y=26;
printf(“%d”,y/=(x%=6));
24、 #include “stdio、h”
main()
{ char c;scanf(“%c”,&c);
switch (c-‘2’)
{ case 0:
case 1: putchar(c+4);
case 2: putchar(c+4);break;
case 3: putchar(c+3);
default: putchar(c+2);break;}
printf(“\n”);}
当分别输入1,2,5时,输出为________________________________、 ________________________________、________________________________。
25、 斐波纳契数列中头两个数就是0与1,从第三个数开始,每个数等于前两个数得与,即:0,1,1,2,3,5,8,13,21,……等。求斐波纳契数列得前20个数。要求每行输出5个数。请填空。
#include <stdio、h>
main()
{int f,f1,f2,I;
printf(“Fibonacci series :\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”);
}
三 编程题 (共2题 ,总分值30 )
26、 利用循环实现打印以下图形。 (15 分)
27、 采用二分法求方程2(x³)-4(x²)+3x-6=0在(-10,10)之间得根。 (15 分)
ﻫ
ﻫ
ﻫ
展开阅读全文