151、当a=3,b=2,c=1时,表达式f=a>b>c 的值是____。
(填空题)
正确答案:
第1空:0
152、设x,y均为int型变量,请写出描述"x,y符号相同"的表达式____。(不考虑变量取0值的情况)
(填空题)
正确答案:
第1空:x*y>0
153、若a=6,b=4,c=3,则表达式 a&&b||b-c的值是____。
(填空题)
正确答案:
第1空:1
154、设x=3,y=-4,z=5,则表达式!(x>y)+(y!=z)||(x+y)&&(y=z)的值是____。
(填空题)
正确答案:
第1空:1
155、已知A=7.5,B=2,C=3.6,表达式A>B&&C>A || A<B&&!C>B的值是____。
(填空题)
正确答案:
第1空:0
156、若a=3,b=2,c=1,则表达式a-b<c||b==c的值是____。
(填空题)
正确答案:
第1空:0
157、有int a=0,b=4,c=5;则表达式a||b+c&&b!=c的值为____。
(填空题)
正确答案:
第1空:1
158、设int x=9,y=8;表达式x==y+1的结果是____。
(填空题)
正确答案:
第1空:1
159、表达式4/8*(int)2.5/(int(1.25*(3.7+2.3))的值为____。
正确答案:
第1空:0
160、有一学生信息的结构体类型如下定义:
struct st {
int num;
char name[20];
char sex;
struct{int year;int month;int day;}birthday;}stu1;
设该结构体变量stu1中的生日是“1984年2月10日”,birthday.year=____,birthday.month=____。
正确答案:
第1空:1984
第2空:2
161、设int a=5,b=6,表达式(++a==b--)?++a:--b的值是____。
正确答案:
第1空:7
162、有int a=0,b=4,c=5;则表达式a||b+c&&b!=c的值为____。
正确答案:
第1空:1
163、以下程序片段完成两个数的四则运算。请在____内填入正确内容。
float x,y;
char operator;
scanf(”%f%c%f”,&x,&operator,&y);
switch (____)
{ case ’+’: printf(”%g%c%g=%g\n”, x, operator, y, x+y);break;
case ’-’: printf(”%g%c%g=%g\n”, x, operator, y, x-y);break;
case ’*’: printf(”%g%c%g=%g\n”, x, operator, y, x*y); break;
case ’/’: if (y==0.0)
printf(”除零错误!\n”);
else
printf(”%g%c%g=%g\n”, x, operator, y, x/y);
break;
default: printf(”表达式存在错误!\n”);
}
正确答案:
第1空:operator
164、函数gongyu的作用是求整数num1和num2的最大公约数,并返回该值。请填空。
int gongyu(int num1,int num2)
{int temp;
while(_____!=0)
{temp=num1%num2;num1=num2; num2=temp; }
return (____);
}
正确答案:
第1空:
num2
第2空:
num1
165、下面函数的功能是用递归方法求n!。
float fac(int n)
{ float f;
if(n<0) printf("n<0,data error! ");
else if(____) f=1;
else f=____;
return(f);
}
正确答案:
第1空:
n==0||n==1;n==1||n==0
第2空:
n*fac(n-1)
166、下述函数功能是在数组中同时查找最大元素下标和最小元素下标,请填空。
void find (int *a, int n ,int *max, int *min)
{
int i;
*max=*min=0;
for(i=1;i<n;i++)
if(a[i]>a[*max]) *max=____;
else
if(a[i]<a[*min]) _____=i;
}
正确答案:
第1空:i
第2空:*min
167、下面函数的功能是比较两个字符串是否相等,若相等则返回1,否则返回0。请填空。
fun (char *s, char *t)
{
int m=0;
while (*(s+m)==*(t+m) && ____) m++;
return (____);
}
正确答案:
第1空:s[m]!='\0'
第2空:(*(s+m)=='\0’&&*(t+m)=='\0’)?1:0
168、以下函数的功能是删除字符串s中的所有非数字字符。请填空。
void dele(char *s)
{ int n=0,i;
for(i=0;s[i];i++)
if(____) s[n++]=s[i];
s[n]= ____;
}
正确答案:
第1空:
s[i]>='0’&& s[i]<='9’
第2空:
'\0';0
169、若定义 char *p=“abcd”;则 printf(“%d”,*(p++));的输出结果为____。
正确答案:
第1空:97
170、若有int a[10]={1,2,3,4,5,,6,7,8,9,10};*p=a;则*(++p)的值是_____ __。
正确答案:
第1空:2
171、若有定义char ch,*p=&ch; 通过指针p 输出ch 中的字符的语句:putchar____;。
正确答案:
第1空:*p
172、下面函数的功能是将一个整数字符串转换为一个整数,例如:”-1234”转换为1234,请填空使程序完整。
int chnum(char *p)
{ int num=0,k,len,j ;
len = strlen(p) ;
for ( ;*p!=’\0’ ; p++) {
k= ____; j=(--len) ;
while ( j--!=0) k=k*10 ;
num = num + k ;
}
return (num);
}
正确答案:
第1空:*p-‘0’
173、下面函数的功能是将两个字符串s1和s2连接起来,请填空使程序完整。
void conj(char *s1,char *s2)
{
while (*s1) ____;
while (*s2) { *s1= ____; s1++,s2++; }
*s1=’\0’ ;
}
正确答案:
第1空:s1++
第2空:*s2
174、以下程序片段的功能是在a数组中查找与x值相同的元素的所在位置。请填空。
int a[11], x, m;
for(m=0;m<10;m++) scanf("%d", a+m);
scanf("%d", &x);
while (x!=*(a+m))
____;
if (m>0) printf("%5d's position is : %4d\n", x, m);
else printf("%d not been found!\n", x);
正确答案:
第1空:
m--;m=m-1