五、思考与实践
.在()里填写正确答案。
1. 一个C语言编写的程序总是从( main函数  )开始执行。
2. C语言程序中,用关键字(int )定义基本整型变量,用关键字(float)定义单精度实型变量,用关键字(double)定义双精度实型变量。
3. 通常一个字节包含(8)个二进制位。在一个字节中存放的最大(十进制)整数是(127),最小(十进制)整数是(-128)。
4. C语言中,注释部分两侧的分界符号分别为(/*)和(*/)。
5. 用字符串的形式表示China  China
6. 字符串“ab\034\\\x79的长度为(5)。
7. sint型变量,且s6,则s%2+(s+1)%2表达式的值为(1)
8. a,b,c均是int型变量,则计算表达式a=(b=4)+(c=2)后,a,b,c的值分别为(6)(4)(2)。
9. 若有定义int x=3, y=2; float a=2.5, b=3.5;则表达式(x+y)%2+(int)a/(int)b的值为(1)。
10. xn均是int型变量,且x的初值为12n的初值为5,则执行表达式x%=(n%=2)后的值为(0)。
11. 假设所有变量的类型均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为(9)。
12. 以下所有变量的类型均为整型,则sum=pad=5; pad=sum++, pad++, ++pad; 后,pad的值为(7)。
13. 已知int a,b=1; 执行语句a=-b++;a的值为(-1)。
14. 已知int m=5, y=2; 则执行y+=y-=m*=yy 的值为(16)。
15. 表达式8.0*(1/2)的值为(0.0)。
.下列程序完成交换两个变量的功能,请填空。
#include <stdio.h>
void main()
{  int x,y;
      x=10;  y=15;
      printf("before swap:x=%d,y=%d\n",x,y);
        x+=y              y=x-y          x=x-y         
      printf("after swap:x=%d,y=%d\n",x,y);
}
注意:在填写程序中不可修改其它行的程序,包括增加变量定义等。
四、思考与实践
1  在C语言中,关系运算符有(  )
2  在C语言中,当表达式值为(  )时表示“假”,当表达式值为(  ) 时表示“真”。
3 逻辑运算符优先级从高到低:(    )
4  计算下面表达式的值。设a=1,b=2,c=3。(设每小题开始时a,b,c均为此值)
    (1)a = a!=b?b:c                   
    (2)a>b?b+1:c+1
运算符优先级按从高到低排列    (3)(a=4) ? a--:b--
5  写出满足下面条件的关系或逻辑表达式。
    (1)a在区间(3,10)内。
    (2)x是3的倍数。
    (3)x和y的和大于100且x大于45。
    (4)a等于c或b不等于0
    (5)a是小写字母
6  计算下面逻辑表达式的值。设a=0,b=1,c=2,d=4。(设每小题开始时a,b,c,d均为此值)
    (1)a>=b
    (2)c-b==a
    (3)c!=d-b
    (4)b>a && c>b
    (5)a && d-c
    (6)!a && b>c
    (7)(b>a) || c<b
    (8)a || d-c
    (9)!a || c>d
    (10)(a||b) && c<b
    (11)(a && d) && c
    (12)!a && c>d
五、思考与实践
填空题:(每空2分)
1. C语言中的语句可分为5类,即( 控制语句 )、( 函数调用语句 )、( 表达式语句 )、( 空语句 )、( 复合语句 )。(按书上顺序)
2. printf语句对不同类型的数据有不同的格式字符。例如:格式字符(  %d)是用来输出十进制整数,格式字符(  %c)是用来输出一个字符。 
3. %-ms表示如果串长( <)m(用符号表示),则在m列范围内,字符串向( 右 )对齐。
4. 复合语句是由( { } )括起来的若干语句组成。(用符号表示)
5. 分析下面程序:
#include<stdio.h>
main()
{
int x=2,y,z;
x*=3+2;printf("%d\n",x);
x*=y=z=4;printf("%d\n",x);
}
程序的输出结果:
第一行(  5),第二行( 4 )
6. 分析下面程序
main()
{
int x=2,y,z;
x=y=1;
z=x++-1;printf("%d,%d\n",x,z);
z+=-x++ +(++y);printf("%d,%d",x,z);
}
程序的输出结果:
第一行( 2,0 ),第二行(2,1  )。
7. 以下程序的输出结果为:(3.140000,3.141  )。
        main(  )
      {  float  a=3.14, b=3.14159;
          printf(“%f,%5.3f\n”,a,b);  }
8. 下列程序的输出结果是( 97,A )。
#include<stdio.h>
main()
{char a;
a=’A’;
printf("%d %c",a,a);
}
输入一批正整数,求其中的奇数和。
【源程序代码】
#include <stdio.h>
void main()
{
    int number,sum=0;
    scanf("%d",&number);
    while (number>0)
    {
        if(number%2!=0)
            sum=sum+number;
        scanf("%d",&number);
    }
    printf("sum=%d\n",sum);
    printf("16200115206周忆涵\n");
}
3、编写一个程序,输入一个正整数,要求以相反顺序输出,以myf73.c存盘。
  提示:使用循环的方法,用n存放输入的正整数,n%10可以得到个位上的数字,将其输出,再让n=n/10;使n减小10倍,再用n%10得到数字……直到n=0为止。
【源程序代码】
#include <stdio.h>
void main()
{
    int m,n;
    scanf("%d",&n);
    while(n!=0)
    {
        m=n%10;
        n=n/10;
        printf("%d",m);
    }
    printf("16200115206周忆涵\n");
}
3.  编程求s=1+2+3+4+5……+99+100的值。
【源程序代码】
#include <stdio.h>
void main()
{
    int i,sum=0;
    for(i=1;i<=100;i++)
        sum=sum+i;
    printf("sum is %d\n",sum);
    printf("16200115206周忆涵\n");
}
2.编写程序完成以下功能:输出100以内个位数为6且能被3整除的数。
【源程序代码】
#include <stdio.h>
int main()
{
    int a;
    for(a=1;a<=100;a++)
    {
        if(a%10==6 && a%3==0)
            printf("%d\n",a);
    }
    printf("16200115206周忆涵\n");
    return 0;
}
3. 一个整数,加上100是一个完全平方数,再加上168又是一个完全平方数,求100000以内有多少这样的数,并将其打印出来。
【源程序代码】
#include <stdio.h>
#include <math.h>
int main()
{
    int i,x,y;
    for(i=1;i<=100000;i++)
    {
        x=sqrt(i+100);
        y=sqrt(i+268);
        if(x*x==i+100&&y*y==i+268)
            printf("%d\n",i);
    }
        printf("16200115206周忆涵\n");
        return 0;
}
求一维数组元素的最大值并输出其所对应的下标。
【源程序代码】
#include <stdio.h>
int main()
{
    int i,max,max_i,a[10];
    for (i=0;i<10;i++)
        scanf("%d",&a[i]);
    max=a[0];
    max_i=0;
    for(i=1;i<10;i++)
        if (a[i]>max)
        {
            max=a[i];
            max_i=i;
        }
    printf("The Max Number is a[%d]=%d\n",max_i,max);
    printf("16200115206周忆涵\n");
    return 0;
}
输入一个3行4列的矩阵,要求编程求出其中的最小数,及其所在的行号及列号,以ex8_3.cpp存盘。
【源程序代码】
#include <stdio.h>
void main()
{
    int i,j,max,min;
    int max_row=0,max_col=0,min_row=0,min_col=0;
    int a[3][4]={{12,23,34,5},{45,32,56,6},{9,16,34,21}};
    for(i=0;i<3;i++)
    {
        for(j=0;j<4;j++)
            printf("%4d",a[i][j]);
        printf("\n");
    }
    max=a[0][0];
    min=a[0][0];
    printf("\n");
    for (i=0;i<3;i++)
    for(j=0;j<4;j++)
    {
        if (a[i][j]>max)
        { max=a[i][j]; max_row=i;max_col=j;}
        if (a[i][j]<min)
        { min=a[i][j]; min_row=i;min_col=j;}
    }
    printf("The max number is:a[%d][%d]: %d\n",max_row,max_col,max);
    printf("The min number is:a[%d][%d]: %d\n",min_row,min_col,min);

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