注意:所有答案都要写在答题卡上
一、单项选择题(20分,每题2分)
1.执行下列程序段后,正确的结果是(B)
int k, a[3][3] = {1,2,3,4,5,6,7,8,9};
for(k=0; k<3; k++)
printf(“%2d”, a[k][k]);
A) 1 2 3 B) 1 5 9 C) 1 4 7 D) 3 6 9
2.若a是int类型变量,则计算表达式a=25/3%3的值是:(B)
A)3 B)2 C)1 D)0
3.下面正确的字符常量是:(C)
A)“c” B)‘\\’’ C)‘W’ D)‘’
4. C语言中,运算对象必须是整型的运算符是:(B)
A)% B)/ C)* D)+
5.数字字符0的ASCII值为48,若有以下程序
main()
{
char a='1', b='2';
printf("%c,",b++);
printf("%d\n",b-a);
}
程序运行后的输出结果是。(B)
一个完整的c语言程序A) 3,2 B)50,2 C)2,2 D)2,50
6.以下语句或语句组中,能正确进行字符串赋值的是。(D)
A)char *sp;*sp="right!"; B)char s[10];s="right!";
C)char s[10];*s="right!"; D)char *sp="right!";
7.for(i=0;i<10;i++)
if(i〈=5〉 break;
则循环结束后i的值为(B)
A)0 B)1 C)5 D)10
8.执行下列程序段后,正确的结果是(C)
char x[8] = {8,7,6,5,0,0}, *s;
s = x+1;
printf(“%d\n”, s[2]);
A) n B) 0 C) 5 D) 6
9.C语言规定,简单变量作为实参时,他和对应形参之间的数据传递方式是:A
A)单向值传递 B) 地址传递 C) 相互传递 D) 由用户指定方式
10.设有数组定义:char str[]=”China”;则下面的输出为(C)
printf(“%d”,strlen(str));
A)4 B)5 C)6 D)7
二、填空题(30分,每空2分)
1.下列程序段的输出结果是 3 。
int i=19, j;
j=i%4;
printf(“% d”, j);
2.已知fun1函数的功能是将三个数按由大到小的顺序调整后依次放入a,b,c三个变量中,其中a存放最大的数,利用fun2函数填空完成此功能。
void fun2(int *x,int *y)
{
int t;
t=*x; *x=*y; *y=t;
}
void fun1()
{
int a=20, b=30, c=25;
if(c>b) fun2(__&c,&b____);
if(a<c) fun2(__&a,&c____);
if(a<b) fun2(__&a,&b____);
}
3.已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:B33<回车>,则输出结果是 1 B 。
#include <>
main()
{
char a,b;
a=getchar();
scanf("%d",&b);
a=a-'A'+'0';
b=b*2;
printf("%c %c\n",a,b);
}
4.以下程序运行后的输出结果是 4 3 5 。
main()
{
int a=3,b=4,c=5,t=99;
if(b<a && a<c) { t=a;a=c;c=t;}
if(a<c && b<c) {t=b;b=a;a=t;}
printf("%d %d %d\n",a,b,c);
}
5.若已知a=10,b=20,则表达式!a<b的值是___0______
6.若s是unsigned int型变量,则下面表达式的值是__1__。
s%2+(s+1)%2
7.下面程序将字符数组a复制到字符数组b中。
main()
{
char a[]="I am a boy.",b[20];
int i;
for(i=___0____;a[i]!='\0';i++)
{
__b[i]=a[i]___________;
}
__b[i]=’\0’__;
}
8.若有int a[3][2] = {{1},{3,2},{4,5}};,则a[1][1]的值是 2 。
9.有以下程序,执行后输出结果是 0 。
main( )
{
int t=1,i=5;
for(;i>=0;i--) t*=i;
printf("%d\n",t);
}
10.在循环语句中,break语句的作用是 是用来跳出当前一层循环的 ,continue语句的作用是 终止本次循环。
三、写出程序的运行结果(30分,每题10分)
1.写出程序运行后的输出结果
main()
{
int a=1,b;
for(b=1;b<=10;b++)
{
if(a>=8) break;
if(a%2==1)
{
a+=5;
continue;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论