C语言程序阅读题
请写出下列程序的运行结果并上机验证。
1、#include<stdio.h>
run:
void main()
{
int  a=2,b=3;
float  c=5.0, d=2.5;
printf("%f",(a+b)/2+c/d);
}
run:
2、#include "stdio.h"
main()
{
  int x = 18, y = 222, z = 34;
程序设计c语言  printf ("%4d  %4d  %4d\n", x, y, z);
  printf ("%4d  %4d  %4d\n", x, y, z);
}
提示:“-”含义是使输出数据左对齐
run:
3、#include "stdio.h"
main()
{
int x = 4;
printf ("%d\t %d\t %d\n", ++x, ++x, --x);
printf ("%d\t %d\t %d\n", x++, x++, x--);
}
提示:函数printf()对输出变量表里所列诸变量(表达式)的计算顺序是自右向左进行的。
run:
4、用语句scanf("%c%c%c",&c1,&c2,&c3)输入a└┘b└┘c时,变量c1,c2,c3的值分别为        输入abc时,变量c1,c2,c3的值分别为       
A.'a','b','c'                 
B.'a','b','└┘'
C.'a','└┘','b'               
D.'a','└┘','c'
5.假设定义
int x;float y;
且执行“scanf("%3d%f",&x,&y);”语句时,从第1列开始输入数据12345└┘67↓,则x和y的值分别为       
A.12345 ,不确定              B.123 , 45.000000
C.45  ,678.000000          D.345  ,123.000000
6、若定义a1,a2为int型数据,c1,c2为char型数据,且“scanf("%d%c%d%c",&a1,&c1, &a2,&c2);”,则正确的输入格式为       
问:还可以怎么输?
    A.10A└┘20B<回车>                    B.10└┘A└┘20└┘B<回车>
    C.10└┘A20B<回车>                   
D.10A20└┘B<回车>
7、下述程序的输出是       
#include<stdio.h>
run:
void main()
{
int x=-2345;
float y=12.3;
printf("%6d,%06.2F",x,y);
}
8、下述程序的输出结果是       
run:
#include<stdio.h>
void main()
{
printf("\n%s","\tab\%L'\''\060\084\\");
}
9、下列程序的运行结果为       
run:
#include<stdio.h>
void main()
{
char  c1='a',c2='b',c3='c';
printf("a%cb%c\tc%c\n",c1,c2,c3);
}
10、以下程序运行后的输出结果是___________ 。
main()
{ char m;
run:
m=B’+32; printf(“%c “,m);
}
11、已知字符A的ACSII码值为65,以下语句输出结果是_____。
run:
char ch=’B’;
printf(“%c %d ”,ch,ch);
12阅读程序,给出输出结果:
run:
        #include “stdio.h”
        main()
        {
  int a = 3;
  printf (“%d,  %d\n”, a= =3, a = 3);
}
        如果将程序中的printf语句改为:
  printf (“%d,  %d\n”, a==3, a = 2);结果又为多少?
13、若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765, c1=‘a’,c2=‘b’。想得到以下输出格式和结果,请写出程序(包括定义变量类型和设计输出)。
      a=□3□□b=□4□□c=□5
      x=1.200000,y=2.400000,z=-3.600000
      x+y=□3.600□□y+z=-1.20□□z+x=-2.40
      c1=ˊaˊ□or□97(ASCII)
      c2=ˊbˊ□or□98(ASCII)
      (□表示空格,下同)
解:参考源程序如下:
main()
  {int a=3,b=4,c=5;
  long int u=51274,n=128765;
  float x=1.2,y=2.4,z=3.6;
  char c1='a',c2='b';
  printf("a=%2d  b=%2d  c=%2d\n",a,b,c);
  printf("x=%f,y=%f,z=%f\n",x,y,z);
  printf("x+y=%5.2f  y+z=%5.2f  z+x=%5.2f\n",x+y,y+z,z+x);
  printf("u=%6ld  n=%9ld\n",u,n);
  printf("%s %s %d%s\n","c1='a'","or",c1,"(ASCII)");
  printf("%s %s %d%s\n","c2='a'","or",c2,"(ASCII)");
  }
     
14、用scanf下面的函数输入数据,使a=3,b=7,x=8.5,y=71.82, c1=ˊAˊ,c2=ˊaˊ,问在键盘上如何输入?
main()
      {
        int a,b;float x,y;char c1c2;
        scanf("a=%d_b=%d",&a,&b);
        scanf("_x=%f_y=%e",&x,&y);
        scanf("_c1=%c_c2=%c",&c1,&c2);
        }
     
15.若变量x、y、z都是int型的。现有语句:
scanf (%d,%d,%d, &x, &y, &z);
为了使x是12,y是345,z是187,应该在键盘上键入           
run:
16.以下程序的输出结果为(   )
main( )
{printf("*%f,%4.3f*\n",3.14,3.15);}
17、以下程序的输出结果为(   )
main()
      {
run:
char ch1,ch2;
scanf("%3c%3c",&ch1,&ch2);
      printf("ch1=%c,ch2=%c\n",ch1,ch2);

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