学院期中考试错题改错-创新互联

1.已知int k,m=1;执行语句k=-m++;后k的值是(-1)。

10年积累的成都做网站、成都网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有黄陂免费网站建设让你可以放心的选择与我们合作。

2.若有定义和语句:int s,p; s=p=5;

p=s++,++p,p+2,p++;

则执行语句后p的值是(7)。//注意所求的是p的值

3.已知各变量的类型说明如下:

int m=8,n,a,b;

unsigned long w=10;

double x=3.14,y=0.12;

则以下符合C语言语法的表达式是(A)。

A.a+=a-=(b=2)*(a=8)                                     B.n=n*3=18

C.x%3  //只有整形可以用%                             D.y=float(m)

4.设a=5,b=6,c=7,d=8,m=2,n=2,则执行(m=a>b)&&(n=c>d)后n的值为(2)。

//&&会短路,n的值不变

5.已知x=45,y='a',z=0;则表达式(x>=z&&y<'z'||!y)的值为(1)。

// &&优先级高于||

6.下面程序输出的是(v1=8,v2=8,v3=8,v4=8)。

main()

{ char *s="12134211";

int k,v1=0,v2=0,v3=0,v4=0;

for(k=0;s[k];k++)

switch(s[k])

{ default:v4++;

case 1:v1++;

case 2:v2++;

case 3:v3++;

}

printf("v1=%d,v2=%d,v3=%d,v4=%d\n",v1,v2,v3,v4);

//定义的是字符,而case里面的是数字,匹配不上,所以始终是default里面的执行,又因为没有break,下面的也跟着执行,所以答案都是8。

7.下列程序的输出结果是____12_______________。

void main()

{ int x=3,y=5;

printf("%d",x=(x--)*(--y));}//注意--在前后的区别

8.以下程序的输出结果为__1234_______。

int a=1234;

printf("%2d\n",a);

// %2d的意思是输出占2位,若位数不够就直接输出。假如输出的数是9,对应的输出的 9,9前面有一空格。

9.以下程序段的输出结果为(261)。

int a=177;

printf("%o",a);

//这里的%o表示以八进制输出

如果是自己计算的话,八进制计算方法可以是这样:
177除以8商22,余数为1
22除以8商2,余数为6
2除以8商0,余数为2
注意各次除法的余数:
八进制结果就是261。

10.定义int x,y;执行y=(x=1,++x,x+2);后,y的值为(4)。

11.定义int x=10,y,z;执行y=z=x;x=y==z;后,x的结果为(1)。

12.若输入字母c,程序的输出结果为___c,C_____;若输出字符*,程序将(继续等待用户输入下一个字符)。

main()

{ char c1,c2;

c1=getchar();

while(c1<97||c2>122) c1=getchar();//这个循环确保输入的数据c1是小写字母

c2=c1-32;

printf("%c,%c\n",c1,c2);

}

13.执行以下语句后,x的值为(1),z的值为(0)。

int x,y,z;

x=y=z=0;

++x||++y&&++z;//||的短路

14.运行以下的程序后,如果从键盘上输入china#<回车>,则输出的结果为____5,5_______。

#include

main()

{ int v1=0,v2=0;

char ch;

while((ch=getchar())!='#')

switch(ch)

{ case 'a':

case 'h':

default:v1++;

case '0':v2++;

}

printf("%d,%d\n",v1,v2);

}

//当ch = 'c'时,从第一个case判断,一直到default才匹配,此时执行v1++;

注意,由于default后面是没有break语句的,所以程序会继续执行v2++;

15.输入一串字符,统计其中字母个数,数字个数,空格个数及其他符号的个数。

答案:#include

void main()

{ int n1=0,n2=0,n3=0,n4=0;

char c;

while((c=getchar())!='*')

{ if(c>='a'&&c<='z'||c>='A'&&c<='Z') n1++;

else if(c>='0'&&c<='9') n2++;

else if(c==' ') n3++;

else n4++;

}

printf("%d,%d,%d,%d",n1,n2,n3,n4);

}

16.设计一个计算器,能实现“+,-,*,%,/”五种计算。

如输入:3+2,输出:3+2=5

答案:#include

int  main()

{ int n1,n2;

char c;

scanf("%d%c%d",&n1,&c,&n2);

switch(c)

{case '+':printf("%d%c%d=%d",n1,c,n2,n1+n2);break;

case '-':printf("%d%c%d=%d",n1,c,n2,n1-n2);break;

case '*':printf("%d%c%d=%d",n1,c,n2,n1*n2);break;

case '/':printf("%d%c%d=%d",n1,c,n2,n1*1.0/n2);break;

case '%':printf("%d%c%d=%d",n1,c,n2,n1%n2);break;

}

}

17.输入两个正整数m,n(假设m

#include
int main()
{ int i,j,m,n,flag=1;
scanf("%d %d",&m,&n);
for(i=m;i{
for(j=2;j{
if(i%j==0)
{flag=0;break;}
}
if(flag) printf("%d\n",i);//注意flag的应用
}
}


你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


网页标题:学院期中考试错题改错-创新互联
转载注明:http://azwzsj.com/article/edppe.html