微机原理及接口技术试题以及答案
第一部分C语言程序设计
一、单项选择题(本大题共4小题,每小题1分,共4分)在每小题列出的四个选项中只有一
个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。
1.已知字母A的ASCII码为十进制的65,则下面程序的输出是( )
main()
{ char ch1,ch2;
ch1='A'+'5'-'3';
ch2='A'+'6'-'3';
printf("%d,%c\n",ch1,ch2);
}
A.67,D
B.B,C
C.C,D
D.不确定的值
2.若有代数式3ae
bc
:,则不正确的C语言表达式为( )
A.a/b/c*e*3
B.3*a*e/b/c
C.3*a*e/b*c
D.a*e/c/b*3
3.程序运行结果是( )
main()
{int n=0;
while(n<=2)
{n++
printf('%d',n);
补码的最小负数}
}
A.1
B.1 2
C.1 2 3
D.1 2 3 4
4.设有以下语句:
struct st
{int n;
struct st*next;
};
struct st a[3]={5,&a[1],7,&a[2],9,'\0'},*p;
p=&a[0];
表达式(++p)->n的值为:()
A.5
B.7
C.9
D.'\0'
二、改错题(本大题共4小题,每小题2分,共8分。下面的程序或程序段存在一个错误或
不妥处,请在其下划一条线,并将改正的内容写到每小题后的空白处。)
5.main()
{ int a,b,c, max=0,min=0;
scanf("%d%d%d",&a,&b,&c);
if{a>b&&a>c)max=a;
else if a<c&&a
else max=min=c;
printf("max=%d,min=%d\n",max,min);
}
6.main()
{ int x;
scanf("%d",&x);
switch(x)
{case x==0:printf("x=0\n");break;
default:Printf("x!=0\n");
}
}
7.main( )
{char a[]="china",b[]="good";
printf("%s,%s",a[],b[]);
}
8.#include"stdio.h"
main()
{ file *p;
p=fopen("link.dat","r");
while(!feof(p))
printf("%c\t",fgetc(p));
fcolse(p);
}
三、填空题(本大题共4小题,每小题2分,共8分。)
9.若有定义:int a[3][4]={{1,2},{3,5,7},{4,6,8,10}};则初始化后,a[1][2]得到的初值是______。
10.程序是求数组中最大元素的下标。
main( )
{int s[100],i,k;
for(i=0;i<100;i++)
scanf("%d",&s[i]);
for(i=0,k=0;i<100;i++)
if(s[i]>s[k])__________
printf("k=%d\n",k);
}
11.函数capital_num()的功能是统计一段文字的大写字母数。
#include "stdio.h"
main()
{ char c[256];
int k;
gets(c);
k=capital_num(c);
printf("number of capital is %d\n",k);
}
int capital_num(c)
char c[];
{int n=0,i;
for(i=0;c[i]!='\0';i++)
if(c[i]>='A' &&c[i]<='Z')n++;
_____
}
12.已知int a[10],*p=a;那么数组元素a[5]的地址用p表示为_____
四、程序阅读题(本大题共2小题,每小题4分,共8分。)
13.main()
{int x=1,y=1,i=1;
do
{x=x+y;y=x+y;i++;
printf("x=%d y=%d\n",x,y);

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。