❶ C语言,求过程,
a=4,b=3,c=5,d=6
t(a,b,c,d); 无论t怎么折腾,其参数变量的值都不会反馈到调用函数中的变量,因此c和d的值不变
printf输出:5,6
在调用t函数时,实际上是:函数临时申请4个参数变量,取主程序中a,b,c,d四个变量的值赋值给这4个变量,函数返回后会舍弃临时变量
❷ 请问这道java程序输出的为什么不是23579,而是2357
9%3=0,直接执行continue 跳出了。 所以是2357
❸ 下列程序执行后的输出结果是( )。
d.
程序没错,i=p只是把地址p里的数值赋给i;由于你的数组a没有赋值,所以系统会随机赋值。中间一大堆语句,根最后输出结果没联系,所以不会影响输出结果。
希望对你有帮助。
❹ 一个不懂的C语言习题
看fun3第1个条件
如果n是2或者3,返回1,这个简单,确定能输出2和3了
如果n<2,或者是偶数,只返回0,大于等于2的一个偶数也不能输出了
for循环,从3开始的,到n,步长是2,如果n能整除i,返回0,这个复杂一点
只考虑奇数,5.7.9,其中9能整除3,会返回0,所以9也不能输出了
剩下的返回1,剩下的就是2,3,5,7
❺ 第五届全国ITAT教育工程就业技能大赛C语言程序设计预赛试题及答案谁有啊 请各位帮帮忙啊,急急急!
一、单选题(共60小题,每题1分,共60分)
1. 执行下列程序中的输出语句后,x的值是______。(知识点3.10)
main()
{int x ;
printf(“%d\n”,(x=5*6,x*2,x+20));}
A)30 B)60 C)50 D)80
2. 下列程序的输出结果是_______。(知识点3.8)
main()
{int x=1,y=0,z;
z=(x<=0)&&(y- ->=0);
printf(“%d %d% d%\n”,z,x,y) ;}
A)0 -1 -1 B)0 -1 0 C)0 1 0 D)0 1 -1
3. 在C语言中,下列选项属于合法的长整型常数的是_______。(知识点3.3)
A)0L B)1234567 C)0.0234567 D)3.14159e3
4. 下列选项中属于不正确的赋值语句的是_____。 (知识点3.6)
A)t++; B)n1=(n2=(n3=0)); C)k=i= =j; D)a=b,c=1;
5. 若有定义:int a,b;char x,y;并有以下输入数据: 14 22 XxYy (回车)
则能给a赋整数14,给b赋整数22,给x赋字符x,给y赋字符y的正确程序段是________。 (知识点4.2)
A) scanf(“%d %d”,&a,&b);
x=getchar();y=getchar();
B) scanf(“%d%d %c %c”, &a, &b,&x,&x,&y,&y);
C) scanf(“%d %d %c%c%c %c”, &a,&b,&x,&x,&y,&y);
D) scanf(“%d%d %c %c”, &a, &b,&x,&y);
6. 下列转义字符不正确的是_______。(知识点3. 5)
A)’\\’ B)’\’ C)’\053’ D)’\0’
7. 下列选项可作为C语言赋值语句的是_______。(知识点4.2)
A)x=3,y=5 B)a=b=6 C)i- -; D)y=int(x);
8. 当c的值不为0时,下列选项中能正确将c的值赋给变量a、b的是_______。(知识点5.2)
A)c=b=a; B)(a=c)‖(b=c); C)(a=c)&&(b=c); D)a=c=b;
9. 有以下程序:
main()
{ unsigned int a ;
int b=-1;
a=b;
printf(“%u”,a);}
该程序运行后的输出结果是_______。(知识点4.5)
A)-1 B)65535 C)32767 D)-32768
10. 若x、b、m、n均为int型变量,执行下面语句后b的值为_______。(知识点3.10)
m=20;n=6;
x=(- -m= =n++)?- -m:++n;
b=m++;
A)11 B)6 C)19 D)18
11. 有以下程序:
main()
{ int a=111,b=222;
printf(“%d\n”,a,b);
}
该程序运行后的输出结果是_______。(知识点4.5)
A)错误信息 B)111 C)222 D)111,222
12. 以下程序的输出结果是_______。(知识点4.5)
main()
{ int a=2,c=5;
printf(“a=%%%d,b=%%%d\n”,a,c);}
A) a=%2,b=%5 B) a=2,b=5 C) a=%%%d,b=%%%d D) a=%%d,b=%%d
13. 对于浮点型变量f,能实现对f中的值在小数点后第三位进行四舍五入的表达式是_______。(知识点3.8)
A)f=(f*100+0.5)/100.0 B)f=(f*100+0.5)/100
C)f=(int)(f*100+0.5)/100.0 D)f=(f/100+0.5)*100
14. 设 a=5, b=6, c=7, d=8, m=2, n=2, 执行(m=a>b)&&(n=c>d) 后m,n的值为______。(知识点5.2)
A) 2,2 B) 2,0 C) 0,2 D) 0,0
15. 语句printf(“%d\n”,strlen(“asd\n\x12\1\\”));的输出结果是______。(知识点7.3)
A) 9 B) 11 C) 7 D) 8
16. 有以下程序:
main( )
{
int y=1234;
printf(“y=%6d”,y);
printf(“y=%+06d\n”,y);
}
该程序的运行结果是______。(知识点4.5)
A) y= 1234y=001234 B) y= 1234y=+01234
C) y=1234y=+01234 D) y= 1234y=1234
17. 语句:printf(“%d”, !9);的输出结果是______。(知识点5.2)
A) 0 B) 1 C) 有语法错误 ,不能执行 D) -9
18. 已有定义语句:int x=6,y=4,z=5;执行以下语句后,能正确表示x、y、z值的选项是______。(知识点5.3)
if(x<y)z=x;x=y ;y=z;
A) x=4,y=5,z=6 B) x=4,y=6,z=6
C) x=4,y=5,z=5 D) x=5,y=6,z=4
19. 下列选项中属于正确的switch语句的是______。(知识点5.4)
A)switch(1.0) B)swicth(1)
{ case 1.0 :printf(“A\n”); { case 1 :printf(“A\n”);
case 2.0 :printf(“B\n”); } case 2 :printf(“B\n”);}
C)switch((int)(1.0+2.5)) D)switch(“a”);
{ case 1 :printf(“A\n”); { case “a” :printf(“A\n”);
case 1+2 :printf(“B\n”);} case “b” :printf(“B\n”);}
20. 若k为int型变量,以下语句段执行后的输出结果是______。(知识点5.3)
k=-3;
if(k<=0) printf(“####”)
else printf(“****”);
A) #### B) **** C) ####**** D) 有语法错误 ,不能执行
21. 当a=2,b=3,c=4,d=5时, 执行下面一段程序后x的值为_____。(知识点5.3)
if(a>b)
if(c<d)x=1 ;
else
if(a<c)
if(b>d)x=2 ;
else x=3 ;
else x=4 ;
else x=5 ;
A)2 B)3 C)4 D)5
22. 下列程序的运行结果是________。(知识点6.3)
main()
{ int y=10;
do { y- - ;} while(- -y);
printf(“%d\n”,y- -);}
A)-1 B)1 C)8 D)0
23. 下列程序的运行结果是________。(知识点6.5)
# include <stdio.h>
main()
{
int i ;
for(i=1;i<=5;i++)
{ if(i %2)printf(“*”);
else continue ;
printf(“#”);
}
printf(“$\n”);
}
A)*#*#$ B)#*#*#*$ C)*#*#*#$ D)***#$
24. 若x是int型变量,且有下面的程序片段: (知识点6.5)
for(x=5;x<8;x++)
printf((x%2)?(“**%d”):(“##%d\n”),x);
该程序片段的输出结果是 _______。
A)**5##6 B)##5 C)##5**6##7 D)**5##6**7
**7 **6##7
25. 有以下程序:
main()
{int a=1,b=0;
switch(a)
{ case 1:switch(b)
{ case 0:printf(“****”);break ;
case 1:printf(“####”);break ; }
case 2: printf(“$$$$”);break ; }
该程序的输出结果是________。(知识点5.4)
A)**** B)****$$$$ C)****####$$$$ D) ####$$$$
26. 下列程序段的输出结果是_______。(知识点6.4)
int x=3;
do {printf(“%3d”,x-=2);}
while(!(--x));
A)1 B)3 0 C)1 -2 D)死循环
27. 有以下程序,其中x、y为整型变量;
for(x=0,y=0;(x<=1)&&(y= 1);x++,y--);
printf(“x=%d,y=%d”,x,y);
该程序的输出结果是_____。(知识点6.5)
A)x=2,y=0 B) x=1,y=0 C) x=1,y=1 D) x=0,y=0
28. 有以下程序段:
int n=0,p;
do { scanf(“%d”,&p);n++;} while(p!=12345&&n<3);
此处do-while循环的结束条件是_____。(知识点6.4)
A)p的值不等于12345并且n的值大于3
B)p的值等于12345并且n的值大于等于3
C)p的值不等于12345或者n的值小于3
D)p的值等于12345或n的值大于等于3
29. 在下述程序中,if (i>j) 语句共执行的次数是_____。(知识点6.5)
main()
{ int i=0,j=10,k=2,s=0;
for(;;)
{ i+= k ;
if(i>j)
{ printf(“%d”,s);
break ;
}
s+=i ;
}
}
A)4 B)7 C)5 D)6
30. 以下程序的功能是:按顺序读入10名学生和4门课程的成绩,计算出每位学生的平均分进行输出,但运行结果不正确。
main()
{ int n,k;float score,ave;
ave=0.0;
for(n=1;n<=10;n++)
{ for(k=1;k<=4;k++)
{ scanf(“%f”,&score);
ave+=score/4 ;}
printf(“NO%d:%f\n”,n,ave);}
}
造成程序计算结果错误的语句行是_____。(知识点6.6)
A)ave=0.0; B)for(n=1;n<=10;n++)
C)ave+=score/4 ; D)printf(“NO%d:%f\n”,n,ave);
31. 若有以下定义:char s[10]={‘a’,’b’,’c’,’0’,’\0’,’2’,’\x32’,’\0’};执行语句printf(“%d”,strlen(s));的结果是_____。(知识点7.3)
A)3 B)4 C)8 D)10
32. 设有数组定义:char array[ ]=“abcdef”;则数组array所占的空间为_____。(知识点7.3)
A)4个字节 B)5个字节 C)6个字节 D)7个字节
33. 有以下程序:
main()
{ char str[ ][10]={“China”,“Beijing”},*p=str;
printf(“%s\n”,p+10);}
该程序运行后的输出结果是_____。(知识点10.4)
A)China B)Beijing C)ng D)ing
34. 阅读下面程序,该程序段的功能是_____。(知识点7.1)
#include <stdio.h>
main()
{ int c[ ]={23,1,56,234,7,0,34},i,j,t;
for(i=1;i<7;i++)
{ t=c[i];j=i-1;
while(j>=0&&t>c[j]) { c[j+1]=c[j];j- - ;}
c[j+1]=t;}
for(i=0;i<7;i++)printf(“%d ”,c[i] );
putchar(’\n’);
}
A)对数组元素的升序排列 B)对数组元素的降序排列
C)对数组元素的倒序排列 D)对数组元素的随机排列
35. 下列程序的输出结果是_____。(知识点7.2)
main()
{ int n[3][3],i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)n[i][j]=i+j;
for(i=0;i<2;i++)
for(j=0;j<2;j++)n[i+1][j+1]+= n[i][j];
printf(“%d \n”,n[i][j]);
}
A)14 B)0 C)6 D)值不确定
36. 下列函数调用语句中含有______个参数。(知识点8.3)
func((f1,f2),(f2,f3,f4),f5)
A)3 B)4 C)5 D)6
37. 下列程序的运行结果是_______。(知识点7.3)
#include <string.h>
main()
{ char *p1,*p2,ch[20]=“ABCDEFabcdef”;
p1=“1234”;p2=“abcd”;
strcpy(ch+1,p2+1);strcpy(ch+3,p1+3);
pintf(“%s\n”,ch);}
A)Abc4EFabcde B)Abc4EF C)AbcdEF D)Abc4
38. 下列程序的运行结果是_______。(知识点8.6)
# include <stdio.h>
int f(int a)
{ switch (a)
{ case 0:return 0;
case 1:case 2:return 1;
}
return(f(a-2)+f(a-3));
}
main()
{ int b;
b=f(10);
printf(“b=%d\n”,b);
}
A) 12 B)10 C)9 D)8
39. 有以下程序:
fun(int n)
{ if(n= =1|| n= =2)return 2;
return s=n-fun(n-2);}
main()
{printf(“%d\n”,fun(7));}
该程序运行后的输出结果是_____。(知识点8.6)
A) 1 B)2 C)3 D)4
40. 下列程序中函数sort的功能是对a数组中的数据进行由大到小的排序:
void sort(int a[ ],int n)
{ int i,j,t;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}
}
main()
{ int aa[10]={1,2,3,4,5,6,7,8,9,10 },i;
sort(&aa[3],5);
for(i=0;i<10;i++)printf(“%d,”,aa[i]);
printf(“\n”);
}
该程序运行后的输出结果是_____。(知识点8.4)
A)1,2,3,4,5,6,7,8,9,10, B)10,9,8,7,6,5,4,3,2,1,
C)1,2,3,8,7,6,5,4,9,10, D)1,2,10,9,8,7,6,5,4,3,
41. 下列程序的运行结果是_____。(知识点8.3)
main()
{ int a=3,y;
y=fn(a,a++);
printf(“%d”,y);}
int fn(x,c)
{ int b;
if(x<c)b=1;
else if(x= =c)b=0;
else b=-1 ;
return(b);
}
A)3 B)-1 C)1 D)0
42. 下列程序的运行结果是_____。(知识点7.3)
main()
{ char arr[2][4];
strcpy(arr,“you”);strcpy(arr[1],“me”);
printf(“%s\n” ,arr);}
A)you me B)you C)me D)arr
43. 下列程序的输出结果是_____。(知识点8.8)
int f()
{ static int i=0;
int s=1;
s+=i;i++;
return s;}
main()
{ int i , a=0;
for(i=0;i<5;i++)a+=f();
printf(“%d\n”,a);}
A)20 B)24 C)25 D)15
44. 程序中对fun函数有如下说明:
void *fun();
此说明的含义是_____。(知识点10.6)
A) fun函数无返回值
B) fun函数的返回值可以是任意的数据类型
C) fun函数的返回值是无值型的指针类型
D) 指针fun指向一个函数,该函数无返回值
45. 设有下列定义:static int x,*p=&x,*q;
scanf(“%d,%d”,p,q);
若输入3,4,则x的值为_____。(知识点8.8)
A)3 B)4 C)0 D)无法确定
46. 设有以下程序:
int fun(char *s)
{ int n=0;
while(*s){ n++;s++ ;}
return n ;}
main()
{char y[ ]=“this_is_an_example。”;
printf(“%d\n”,fun(&y[6]));
}
该程序的输出结果是_____。(知识点:10.4)
A)12 B)13 C)14 D)16
47. 下列程序的功能是_____。(知识点:10.4)
int fun(char *a)
{ char *b=a;
while(*b)b++;
{return b-a ;}
}
A) 比较两个字符串的大小 B)字符串的复制
C) 计算字符串的长度 D) 字符串的连接
48. 下列程序的输出结果是_______。(知识点10.2)
main()
{
int k=3,m=5,n=7;
int *pk=&k,*pm=&m,*p;
*(p=&n)=*pk*(*pm);
printf("%d\n",n);
}
A)5 B)7 C)15 D)21
49. 下列程序的执行结果是_______。(知识点10.3)
main()
{ char a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;
printf(“%d”,*--p);}
A)非法 B)a[4]的地址 C)5 D)4
50. 以下函数返回a所指的数组中最小值所在的下标值:
fun(int *a, int n)
{ int i , j=0 , p ;
p=j ;
for(i=j;i<n;i++)
if(a[i]<a[p]) _______ ;
return(p);}
在下划线处应填入_______。(知识点10.2)
A)i=p B)a[p]=a[i] C)p=j D)p=i
51. 下列程序的运行结果是_______。(知识点10.2)
void fun(int *a,int *b)
{ int *k;
k=a;a=b;b=k;}
main()
{ int a=3,b=6,*x=&a,*y=&b;
fun(x,y);
printf(“%d %d”,a,b);
}
A)6 3 B)3 6 C)编译出错 D)0 0
52. 有如下程序:
#define f(x)x*x
main()
{ int i ;
i=f(4+4)/(2+2);
printf(“%d\n”,i);}
该程序执行后的输出结果是_______。(知识点9.1)
A)28 B)21 C)16 D)4
53. 下列程序的输出结果是_______。(知识点11.4)
struct tt;
{ int n1;char n2;float n3;
union uu{int u1[2];char u2[2];}su;
};
main()
{printf(“%d\n”,sizeof(struct tt));}
A)11 B)12 C)7 D)9
54. 下列程序的输出结果是_______。(知识点11.6)
struct LH
{ int n;struct LH *m;}p[4];
main()
{ int i;
for(i=0;i<3;i++)
{p[i].n=i;p[i].m=&p[i+1];}
p[i].m=p;
printf(“%d,%d\n”,(p[1].m)->n,p[3].m->n);
}
A)1,2 B)1,3 C)2,0 D)程序出错
55. 下列程序的输出结果是_______。(知识点11.6)
struct st
{ int x;int *y;}*p;
int dt[4]={10,20,30,40};
struct st aa[4]={50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]};
main()
{ p=aa;
printf(“%d ”,++p->x);
printf(“%d ”,(++p)->x);
printf(“%d ”,++(*p->y));}
A)10 20 20 B)50 60 21 C)51 60 21 D)60 70 31
56. 字符0的ASCII码的十进制数为48,且数组的第0个元素在低位,则以下程序的执行结果是_______。(知识点11.8)
#include <stdio.h>
main()
{ union
{ int i[4];
long k;
char c[6];
}a,*s=&a ;
s->i[0]=0x39;
s->i[1]=0x38;
printf(“%c\n”,s->c[0]);
}
A)5 B)3 C)6 D)9
57. 下列程序的运行结果是_______。(知识点12.2)
main()
{ unsigned c1=0xff,c2=0x00;
c1=c2|c1>>2;c2=c1^0236;
printf(“%x,%x\n”,c1,c2);
}
A)0x3f,0XA1 B)3f,A1 C)ffff,61 D)3f,a1
58. 若有运算符<<,sizeof,^,&=,则它们按优先级由高至低的排列次序正确的是_______。(知识点3.8)
A)sizeof,&= , <<, ^ B)sizeof,<<, ^,&=
C)^,<<,sizeof, &= D)<<,^,&=,sizeof
59. 有以下程序:
#include <stdio.h>
void fun(char *fname,char *st)
{ FILE *myf;int i;
myf=fopen(fname,“w”);
for(i=0;i<strlen(st);i++)fputc(st[i],myf);
fclose(myf);
}
main()
{ fun(“test.t”,“new world”);fun(“test.t”,“hello,”);}
执行该程序后,文件test.t中的内容是_______。(知识点13.4)
A)hello, B)new worldhello, C)new world D)hello,rld
60. 有以下程序:
#include <stdio.h>
main()
{ FILE *fp;int i=20,j=30,k,n;
fp=fopen(“d1.dat”,“w”);
fprintf(fp,“%d\n”,i);fprintf(fp,“%d\n”,j);
fclose(fp);
fp=fopen(“d1.dat”,“r”);
fscanf(fp,“%d%d”,&k,&n);printf(“%d %d\n”,k,n);
fclose(fp);}
该程序运行后的输出结果是_______。(知识点13.4)
A)20 30 B)20 50 C)30 50 D)30 20
❻ C语言问题高分求解
样例输入;2357
是77533吧
没有看出2357和
775
X.33
这个之间的联系
要是77533的话,其实程序很简单,就是一个输出样式的问题
定义6个变量,存储从上到下5个数据,还有一个输入的数据,这样算出来,打印就好了
775 --------------------变量2
X.33 -----------------变量3
____
2325 -----------------变量4
2325 --------------变量5
____
25575 ---------------变量6
输入变量1,截取高3为和低两位存入变量2和变量3
变量4=变量2乘以变量3的低位,变量5=变量2乘以变量3的高位
变量6=变量4+变量5乘以10
这样根据样式吧变量2~变量6打印出来就好了
❼ 跪求C语言高手
s=10,t=25
1: result is 4
2: result is 6
3: result is 8
s=16
10
7
x=9
12
哪有划线?估计是 static int x=2;只有这个可以
51
3个
你连编译都不会么