1、完整版)江苏省五年一贯制专转本《C语言程序设计》模拟试卷三(晓庄) 江苏省五年一贯制专转本 《C语言程序设计》模拟试卷三(晓庄) 一、 填空題(每题2分,共20分) 1、一个C语言程序的开发过程包括:编辑、 ,连接和运行4个步骤. 2、设int x=9,y=8;表达式x==y+1的结果是 。 3、若a=3,b=4,c=5,则表达式a ||( b=c)&&b==c的值是 。 4、执行下面程序段后,k值是_______________. k=1;n=263; do{k*=n%10; n/=10 } while(
2、n); 5、以下程序输入123456<CR>后的执行结果是 。 #include〈stdio。h〉 main() {int a,b; scanf(”%2d%3d”,&a,&b); printf("a=%d,b=%d\n”,a,b); } 6、设x,y,z均为int型变量,请写出描述“x或y中有一个小于z"的表达式是: 。 7、.以下程序的运行结果是 。 main () { if(2*2= =5<2
3、2= =4) printf (“T”); else printf (“F"); } 8、设有程序片断: switch (grade) { case ‘A’ : printf(“85-100\n”); case ‘B’ : printf(“70—84n”); case ‘C' : printf(“60—69\n”); case ‘D' : printf(“〈60\n”); d
4、efault : printf(“error! \n”);
}
若grade的值为’C',则输出结果是 。
9、下面程序的运行结果是_________。
#include 5、n,m;
n=10;m=1;k=1;
while(k++<=n)
m*=2;
printf(“%d\n",m);
二、单项选择题(每题2分,共40分)
1、能将高级语言编写的源程序转换成目标程序的是______。
A) 编辑程序 B) 编译程序 C) 解释程序 D) 链接程序
2、以下叙述中正确的是______。
A) 构成C程序的基本单位是函数
B) 可以在一个函数中定义另一个函数
C) main()函数必须放在其它函数之前
D) 所有被调用的函数一定要在调用之前进行定义
3、以下选项中合法的实型常数是______.
A) 6、 5E2。0 B) E-3 C) .2E0 D) 1.3E
4、以下选项中合法的用户标识符是______.
A) long B) _2Test C) 3Dmax D) A.dat
5、已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,则用八进制表示的字符常量‘\101’是______。
A) 字符A B) 字符a C) 字符e D) 非法的常量
6、以下非法的赋值语句是______.
A) n=(i=2,++i); B) j++; C) ++(i+1); D) x=j>0; 7、
7、设a和b均为double型常量,且a=5。5、b=2。5,则表达式(int)a+b/b的值是______。
A) 6.500000 B) 6 C) 5.500000 D) 6。000000
8、已知i、j、k为int型变量,若从键盘输入:1,2,3〈回车〉,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是______。
A) scanf("%2d%2d%2d",&i,&j,&k); B) scanf("”%d %d %d”,&i,&j,&k);
C) scanf("%d,%d,%d”,&i,&j,&k); 8、 D) scanf("i=%d,j=%d,k=%d”,&i,&j,&k);
9、与数学式子3乘以x的n次方/(2x-1)对应的C语言表达式是______.
A) 3*x^n/(2*x-1) B) 3*x**n/(2*x-1)
C) 3*pow(x,n)*(1/(2*x-1)) D) 3*pow(n,x)/(2*x-1)
10、若有以下程序:
main()
{int k=2,i=2,m;
m=(k+=i*=k); printf("%d,%d ”,m,i);
}
执行后的输出结果是______。
A) 8,6 B) 8,3 9、 C) 6,4 D) 7,4
11、已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1&&y+z/2的值是______.
A) 6 B) 0 C) 2 D) 1
12、有一函数
1 x〉0
y= 0 x=0
-1 x<0,
以下程序段中不能根据x的值正确计算出y的值的是______。
A) if(x>0) y=1;else if(x==0) y=0;else y=-1;
B) y=0;if(x〉0) y=1;else if(x<0) y=—1;
C) y=0;if(x〉=0)if(x〉0) y=1; 10、else y=-1;
D) if(x〉=0) if(x>0) y=1;else y=0;else y=-1;
13、以下选项中,与k=n++完全等价的表达式是_______。
A) k=n,n=n+1 B) n=n+1,k=n C) k=++n D) k+=n+1
14、以下程序的功能是:按顺序读入10名学生4门课程的成绩,
计算出每位学生的平均分并输出,程序如下:
main()
{int n,k;
float score,sum,ave;
sum=0。0;
for(n=1;n<=10;n++)
{ for(k=1;k<=4;k 11、
{scanf("%f",&score); sum+=score;}
ave=sum/4.0;
printf(”NO%d:%f ”,n,ave);
}
}
上述程序运行后结果不正确,调试中发现有一条语句
出现在程序的位置不正确。这条语句是______。
A) sum=0。0;
B) sum+=score;
C) ave=sum/4.0;
D) printf(”NO%d:%f ",n,ave);
15、有以下程序段
int n=0,p;
do {scanf("%d",&p);n++;} while(p!=12345&&n〈3); 12、
此处do-while循环的结束条件是______。
A) p的值不等于12345并且n的值小于3
B) p的值等于12345并且n的值大于等于3
C) p的值不等于12345或者n的值小于3
D) p的值等于12345或者n的值大于等于3
16、有以下程序
main()
{int a=15,b=21,m=0;
switch(a%3)
{ case 0:m++;break;
case 1:m++;
switch(b%2)
{default:m++;
case 0:m++;break;
}
}
printf(”%d ”,m) 13、
}
程序运行后的输出结果是______。 A) 1 B) 2 C) 3 D) 4
17、C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是______。
A) void B) int C) float D) double
18.求取满足式 12+22+32+ …… +n2 ≤1000的n,正确的语句是____。
A) for(i=1,s=0;(s=s+i*i)〈=1000;n=i++) ;
B) for(i=1,s=0;(s=s+i*i)<=1000;n=++i) ;
C) for(i=1,s=0;(s=s+i*++i)<= 14、1000;n=i) ;
D) for(i=1,s=0;(s=s+i*i++)〈=1000;n=i) ;
19.已知 char a[][20]={”Beijing","shanghai",”tianjin”,"chongqing”};语句printf(”%c”,a[30]);的输出是____。
A) <空格> B) n C) 不定 D) 数组定义有误
20.对字符数组str赋初值,str不能作为字符串使用的一个是____。
A) char str[]="shanghai”; B) char str[]={”shanghai”};
C) char st 15、r[9]={’s’,’h’,'a','n’,’g’,'h’,’a','i'}; D) char str[8]={ 's','h',’a','n',’g’,'h’,’a’,'i’};
三、程序填空(每题4分,共12分)
1、下面程序的功能是不用第三个变量,实现两个数的对调操作。
#include 16、ntf("a=%d,b=%d\n”,a,b);
}
2、下面程序的功能是将形参x的值转换为二进制数,所得的二进制数放在一个一维数组中返回,二进制数的最低位放在下标为0的元素中。
fun(int x,int b[])
{ int k=0,r;
do
{ r=x% ;
b[k++]=r;
x/= ;
}while(x);
}
3、下面程序的功能是输出1到100之间每位数的乘积大于每位数的和的数。例如数字26,数位上数字的乘积12大于数字之和8.
main()
{ int n,k=1,s=0,m;
f 17、or(n=1;n<=100;n++)
{ k=1;
s=0;
① ;
while( ② )
{ k*=m%10;
s+=m%10;
② ;
}
if(k>s)
printf("%d”,n);
}
}
四、写出以下程序运行结果(每题3分,共12分)
1、从键盘上输入"446755”时,下面程序的输出是____ .
#include 18、witch(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”);
}
2、下面程序的输出结果是____。
main()
{ int i,j,x=0;
for(i=0;i〈2;i++)
{ x++;
for(j=0;j〈—3;j++)
{ if(j%2)
continue;
x++;
}
x++;
}
printf(”x=%d\n",x);
19、
}
3、下面程序的输出结果是____。
#include
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818