Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1139018
  • 博文数量: 322
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 3276
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-17 09:21
文章分类

全部博文(322)

文章存档

2010年(155)

2009年(167)

我的朋友

分类: 嵌入式

2009-12-19 09:11:55

4.1    选择题
(323)    根据下面的定义,能打印出字母M的语句是____。
struct person

    char name[9];
    int age;
};
struct person linkman[10] = 
{
"JHON",17,
"PAUL",19,
"MARY",18,
"ADAM",16
};
 
a. printf("%c\n", linkman[3].name);
b. printf("%c\n", linkman[3].name[1]);
c. printf("%c\n", linkman[2].name[1]);
d. printf("%c\n", linkman[2].name[0]);
(d)
 
(324)    下面语句不正确的是:
a. printf("the number of 17 is %o", 17);
b. printf("the number of 30 is %x", 30);
c. printf("%c", 'ab');
d. #define stg "a fling bird"
printf("%s", stg);
(c)
 
(325)    printf函数中用到格式符%5s ,其中数字5表示输出的字符串占用5列。如果字符串长度小于5,则输出按方式_____。
a. 从左起输出该字串,右补空格
b. 按原字符长从左向右全部输出
c. 右对齐输出该字串,左补空格
d. 输出错误信息
(c)
(326)    已有定义 int a=-2;和输出语句:printf("%8lx",a);以下正确的叙述是____。
a. 整型变量的输出格式符只有%d一种
b. %x 是格式符的一种,它可以适用于任何一种类型的数据
c. %x 是格式符的一种,其变量的值按十六进制输出,但%8lx 是错误的
d. %8lx 不是错误的格式符,其中数字8规定了输出字段的宽度
(d)
(327)    若x ,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语法是______。
a. scanf(" %d%lx,%le",&x,&y,&z);
b. scanf("%2d * %d%lf"&x,&y,&z );   
c. scanf("%x %* d%o",&x,&y);
d. scanf("%x%o%6.2f",&x,&y,&z);   
(b)
(328)    以下说法正确的是____。
a. 输入项可以为一实型常量,如scanf("%f",3.5);
b. 只有格式控制,没有输入项,也能进行正确输入,如scanf("a=%d,b=%d");
c. 当输入一个实型数据时,格式控制部分应规定小数点后的位数, 如scanf("%4.2f", &f);
d. 当输入数据时,必须指明变量的地址,如scanf("%f", &f);
(d)
(329)    请阅读以下程序:
main()
{
int  a=5, b=0, c=0;  
if(a=b+c)  printf("***\n  ");
e1se   printf("$$$\n");
}
以上程序_____。
a. 有语法错不能通过编译       b. 可以通过编译但不能通过连接 
c. 输出***                  d. 输出$$$
(d)
(330)    根据下面程序(每行程序前面的数字表示行号)正确的是_____。
 1   main()
 2  {
 3     int  a[3] = {3*0};
 4     int  i; 
 5     for(i=0; i<3; i++)  scanf("%d", &a[i]);
 6     for(i=1;i++) a[0] = a[0]+a[i];
 7     printf("%d\n",a[0]);
 8   }
a. 没有错误            b. 第3行有错误
b. 第5行有错误        d. 第7行没有错误  
(d)
(331)    下面程序有错的行是_____。
 1  main()
 2{
 3    int  a[3]={1};
 4    int  i;
 5    scanf("%d",&a);
 6    for(i=1;i<3;i++)  a[0]=a[0]+a[i];
 7    printf("a[0]=%d\n",a[0]);
 8  }
 a. 3      b. 6    c. 7      d. 5
(d)
(332)    根据下面程序(每行程序前面的数字表示行号)正确的是_____。
1    main()
2    {
3       float a[10]={0.0};
4       int  i;
5       for(i=0;i<3;i++)  scanf("%d",&a[1]);
6       for(i=0;i<10;i++)  a[0]=a[0]+a[i];
7       printf("%d\n",a[0]);
8     }
a. 没有错误             b. 第3行有错误
c. 第5行有错误         d. 第7行有错误
(d)
(333)    根据下面程序(每行程序前面的数字表示行号)正确的是_____。
 1  main()
 2  { 
 3     int a[3]={0};
 4     int i;
 5     for(i=0; i<3; i++)  scanf("%d", &a[i]);
 6     for(i=1; i<4; i++)  a[0] = a[0]+a[i];
 7     printf("%d\n", a[0]);
 8  } 
a. 没有错误                b. 第3行有错误
c. 第5行有错误           d. 第6行有错误
(d)
(334)    若变量已正确定义,执行语句scanf("%d%d%d ",&k1,&k2,&k3)时,______是正确的输入。
a. 2030,40      b. 20 30 40   c. 20, 30 40    d. 20, 30,40
(b)
(335)    执行语句 printf(" ______",  2); 将得到出错信息。
a. %d            b. %o        c. %x        d. %f
(d)
(336)    若变量已正确说明为float类型,要通过语句scanf("%f %f %f ",&a,&b,&c);给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是:
a. 10<回车>                                  b. 10.0,22.0,33.0<回车>
22<回车>
33<回车>
c. 10.0<回车>                                d. 10 22<回车>
22.0 33.0<回车>                              33<回车>
(b)
阅读(745) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~