五、思考与实践
一.在()里填写正确答案。
1. 一个C语言编写的程序总是从( main函数 )开始执行。
2. 在C语言程序中,用关键字(int )定义基本整型变量,用关键字(float)定义单精度实型变量,用关键字(double)定义双精度实型变量。
3. 通常一个字节包含(8)个二进制位。在一个字节中存放的最大(十进制)整数是(127),最小(十进制)整数是(-128)。
4. 在C语言中,注释部分两侧的分界符号分别为(/*)和(*/)。
5. 用字符串的形式表示China (“China”)
6. 字符串“ab\034\\\x79”的长度为(5)。
7. 若s是int型变量,且s=6,则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. 若x和n均是int型变量,且x的初值为12,n的初值为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*=y后y 的值为(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小时内删除。
发表评论