苏科大 C语言知识整理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

五、思考与实践

一.在()里填写正确答案。

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

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

(8)a || d-c

(9)!a || c>d

(10)(a||b) && c

(11)(a && d) && c

(12)!a && c>d

五、思考与实践

填空题:(每空2分)

1. C语言中的语句可分为5类,即(控制语句)、(函数调

用语句)、(表达式语句)、(空语句)、(复合语句)。(按书上顺序)

2. printf语句对不同类型的数据有不同的格式字符。例如:格式字符(%d)是用来输出十进制整数,格式字符(%c)是用来输出一个字符。

3. %-ms表示如果串长(<)m(用符号表示),则在m列范围内,字符串向(右)对齐。

4. 复合语句是由({ } )括起来的若干语句组成。(用符号表示)

5. 分析下面程序:

#include

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

main()

{char a; a=’A’;

printf("%d %c",a,a);

}

输入一批正整数,求其中的奇数和。

【源程序代码】

#include

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

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

void main()

{

相关文档
最新文档