资源描述
一、选择题(本题共15小题,每小题2分,共30分)
1.下列字符串能作为变量名的是( C )
A)3int B)float C)_2xy D)break
2.以下选项中可作为C语言合法整数的是( D )
A)1010B B)0287 C)0x02h3 D)0x0ffa
3.下列正确的C语句是( C )
A)x=2 B)scanf(“%d”,x); C)int x; D)printf(“%a”,a);
4. 下列正确的C语句是( B )
A)if(x=2) y=x; B)if(x!=2) y=3; C)if(x≥2) y=x; D)if(x≦2)y=3;
5.下列不正确的C语句是( A )
A)char y=x=2; B)x=y=3; C)y=(x-2); D)y=x>=3;
6.ch为字符型变量, 则能将字符a赋给变量ch的语句是( D )
A) ch="a"; B) ch='a' C)ch="97" ; D) ch=97;
7.下列运算优先级顺序描述正确的是( C )
A)关系运算高于算术运算 B)赋值运算高于关系运算
C)逻辑非的运算优先级别最高 D) 赋值运算高于逻辑运算
8.循环体内的continue语句的作用是( A )
A)结束本次循环进行下次循环 B)继续执行循环体中后面的语句
C)跳出本层循环 D)跳出所有的循环
9.设x为整型变量,x=10,则执行语句x+=x-=x-x;后,x的值是( B )
A)10 B)20 C)30 D)40
10.下列能正确判断字符变量ch是否为数字字符的C语言表达式是( C )
A)’0’<=ch>=’9’ B)’0’< ch>’9’ C) ch>=’0’&&ch<=’9’ D) ch>=’0’&ch<=’9’
11.设数组a是10个元素的一维整型数组,n=10,正确的说明语句是( C )
A) char a[10]; B) int a[ ]={1,2}; C) int a[10]; D) int a[n];
12.设整型变量c=8;语句printf(“%d,%d”,c++,++c)的执行结果是( B )
A)8,10 B)9,9 C)8,9 D)9,10
13.设整型变量x=1,y=2,z=3;表达式x= =(y>=z)的值是( B )
A)1 B)0 C)2 D)3
14.设数组a是10个元素的一维整型数组,下列错误的语句是( A )
A)a[10]=9; B) int a[10]={1,2}; C)printf(“%d”,a[0]);D) int a[10];
15.以下能对数组a进行正确初始化的语句是( C )
A)int a[2][3]={{1,2},{ },{5,6}}; B) int a[ ][ ]={{1,2},{3,4},{5,6}};
C) int a[ ][2]={{1,2},{3,4},{5,6}}; D) int a[3][1]={{1,2},{3,4},{5,6}};
二、填充题(本题共10小题,每小题2分,共20分)
1.C程序的基本组成单位是 函数 。
2.C程序中用到的变量在使用前需要 说明/定义 ,C语句必须以 分号 结束。
3.设int a=0 , b=4,c=5;则表达式 !(a || b + c && b – c) 的值是 0 。
4.设a=1,b=2,c=3,d=4,则表达式a<b?a:c<d?c:d的结果为 1 。
5.设x、y、z和k都是int型变量,则执行表达式x=(y=4,x=16,k=32)后,x的值为 32 。
6.假定x和y为int型,执行x=5,y=2,y=x/y后,y的值是 2 。
7.写出判断变量y是字母的C语言表达式: (y>=’a’&&y<=’z’) || (y>=’A’&&y<=’Z’) 。
8.以下程序运行后的输出结果是( 4 )
#include <stdio.h>
void main( )
{ int x=1,y=2,z=3;
if((x<y)&&(y<z)) z+=x; else z+=y;
printf(“%d”, z);
}
9.下列程序的输出结果是 12
#include <stdio.h>
void main( )
{ int x=1,y=2,z=3;
printf(“%d”,(z+=x+y, y=z, x=z+y));
}
10.下列程序的输出结果是 BC
#include <stdio.h>
void main( )
{ int x,y;
x=(int)(87/10);
switch(x)
{ case 9:printf(“%c”,’A’);
case 8:printf(“%c”,’B’);
case 7:printf(“%c”,’C’); break;
default: printf(“%c”,’F’);
}
}
三、程序阅读题(本题共6小题,每小题5分,共30分)
1. 执行以下程序
#include <stdio.h>
void main( )
{ int a[10], i, k=0;
for(i=0;i<10; i++) a[i]=i;
for(i=1;i<4;i++) k+=a[i];
printf(“k=%d”,k);
}
运行后的输出结果是:k=6
2. 执行以下程序
#include <stdio.h>
void main( )
{ int a,b,d=25;
a=d%10;
b=d/10;
printf(“%d,%d\n”,a,b);
}
运行后的输出结果是:5, 2
3.执行以下程序
#include <stdio.h>
void main( )
{ int i,a[5]={0,0,0,0,0};
for(i=1;i<=4;i++)
{ a[i]=a[i-1]*2+1;
printf(“%d,”,a[i]);
}
}
运行后的输出结果是:1,3,7,15
4. 执行以下程序后,
main( )
{ char i=1,j=2,k=3;
if(i++= =1&&(++j= =3||k++= =3))
printf(“%d,%d,%d\n”,i,j,k); else printf(“no value”);
}
运行后的输出结果是:2,3,3
5.在执行以下程序后,
#include <stdio.h>
void main( )
{ int n;
float x=2.7181;
n=100*x;
x=(int)(x*100+0.5)/100.0;
printf(“n=%d,x=%f\n”,n,x);
}
运行后的输出结果是:n=271,x=2.720000
6.执行以下程序,
#include <stdio.h>
main( )
{ int a[4][4]={{1,2,3,4},{5,6,7,8},{11,12,13,14},{15,16,17,18}};
int i=0,j=0,s=0;
while(i++<4)
{ if(i= =2||i= =4) continue;
j=0;
do{ s+=a[i][j]; j++; } while(j<4);
}
printf(“%d\n”,s);
}
运行后的输出结果是:92
四、编程题(本题共3小题,每小题分别为6、6、8分,共20分)
1.计算sum=1/2+2/3+3/5+......前20项的值,并输出。
#include "stdio.h"
void main()
{ int i;
float x=1,y=2,sum=0,t;
for(i=1;i<=20;i++)
{ sum=sum+x/y; t=y; y=x+y; x=t; }
printf ("sum=%f",sum);
}
2.有一个长度为20的整型数组,各个数组元素的值从键盘上输入。从键盘上输入另外一个整数,查找它是否与某个数组元素的值相等,若相等则输出对应的下标,否则输出“cannot find!”。
#include "stdio.h"
void main( )
{ int a[20], i, m,n=-1;
printf("input 20 numbers:\n");
for (i=0;i<20;i++)
scanf("%d",&a[i]);
printf("input another numbers:\n");
scanf("%d",&m);
for (i=0;i<20;i++)
if (a[i] = = m) n=m;
if(n>-1) printf ("%d\n",n); else printf ("cannot find!");
}
3.求100到200间的所有合数并输出,每行输出5个数,每个数占5个字符宽度(合数除了能被2和自身所整除外,还能被其它整型所整除)。
#include "stdio.h"
void main( )
{ int i,j,k=1;
for (i=100;i<201;i++)
for (j=2; j<i; j++)
if (i%j= =0)
{ printf("%5d",i);
if(k%5= =0) printf("\n");
k++; }
else continue;
}
考试试卷第 5 页 共 5 页
展开阅读全文