C语言作业(软件工程),C语言作业软件工程

习题一 C语言基础知识

1、 写出一个C程序的构成

2、 编写一个C语言程序,输出以下信息:

* * * * * * * * * * How are you! * * * * * * * * * *

3、 编写C程序,输入a、b、c的值,输出他们的最小值 4、 C语言的变量先定义后引用的好处? 5、 字符常量和字符串常量的区别是什么? 6、 求下面算术运算表达式的值

(1)x + a%3*(int)(x+y)%2/4 设:x=2.5,a=7,y=4.7

(2)(float)(a+b)/2 + (int)x%(int)y 设:a = 2,b = 3,x=3.5,y = 2.5 7、 写出下列程序的运行结果:

main ( )

{ int i , j , m ,n; i = 5; j =11; m = --i; n = j--;

printf(“%d,%d,%d,%d”,i,j,m,n); }

8、 写出下面表达式运行后a的值,假设a = 12,n=5;

(1) a+=a (2) a-=2; (3) a*=2+3 (4)a/=a+a (5)a%=(n%=2) (6)a +=a-=a*=a 9、 找出下面程序中的错误并改正。

(1) void main( )

{ int x,y=z=5,aver; x=7

AVER=(x+y+z)/3;

Printf(“AVER=%d\\n”,aver); } (2) void main( )

{ char c1 = ‘a’ ;c2 = ‘b’;c3=’c’; int a = 3.5,b=’A’

printf(“a=?=%c,a,b);

printf(“c1=%d,c2=%c”,c1,c2; }

10、写出上机的过程。(即要求背诵的上机过程)

习题二 顺序结构

1、 使用下面的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’。在键盘上如何

输入? void main( ) {

int a,b; float x,y; char c1,c2;

scanf(“a=%d b=%d”,&a,&b); scanf(“ %f %e”,&x,&y); scanf(“ %c %c”,&c1,&c2); }

2、 设圆的半径为r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体

积。用scanf输入数据,输出计算结果。

3、 输入一个华氏温度,要求输出摄氏温度,公式为:

c = 5/9(F-32)

4、编写程序,用getchar函数读入两个字符给c1、c2,然后分别用putchar函数和printf函数输出这两个字符。并思考以下问题:(1)变量c1、c2应定义为字符型还是整型?还是都可以?(2)要求输出c1和c2值的ASCII码,应如何处理?用putchar函数还是printf函数? (3)整型变量与字符变量是否在任何情况下都可以互相代替? 5、写出以下程序的输出结果: void main( ) {

int a1=1,a2=0;a3=2;

printf(“%d,%d,%d”,a1,a1+a2+a3,a3-a1); }

6、已知变量定义如下: int a1,a2; char c1,c2;

要求输入a1、a2、c1、c2的值,正确的输入函数语句为: 。 7、输入一个3位数,将其各数字反序输出(如输入456,输出654)

8、求前驱字符和后继字符。输入一个字符,找出它的前驱字符和后继字符,并按ASCII码值,按从大到小的顺序输出这3各字符及其对应的ASCII码值。 9、分析下列程序的租用: # include void main( ) {

putchar(getchar()-32); }

若从键盘上输入小写字母a,则输出是什么?程序第一行#include命令的作用是什么? 10、将从键盘输入的实型十进制数分离位整数部分和小数部分后输出。如输入123.45,输出位:123.45=123+0.45

习题三 选择结构

1、 什么时算术运算?什么时关系运算?什么时逻辑运算?

2、 C语言中如何表示“真”和“假”?系统如何判断一个量的“真”和“假”? 3、 从键盘输入3个整数a,b,c,输出其中最大的数。

4、 给出一个不多于5位的整数,求出它是几位数并打印出每一位数字?

5、 输入一个由2个整数和一个算术运算符组成的表达式,根据运算符完成相应的运算,并

将结果输出。例如:输入3 * 7,则输出为3*7=21, 输入5 + 3,则输出为5+3=8 6、 假设所有变量都已经正确定义,则程序段:

int a=0,y=10;

if(a=0) y - - ;else if(a>0) y++; else y+=y;

运行后y的值是 。

7、能表示20100或x

8、输入整数a和b,如果a能被b整除,则输出商,如果由余数,则输出商和余数。 9、输入年好和月份,输出这一年该月的天数。 10、由一个函数

x – 1 -5y = x x = 0 x+1 0假设x为整数,编写一个程序输入x的值,输出y值。分别用三种方法写出程序: (1) 不用嵌套的if语句 (2) 用嵌套的if语句 (3) 用switch语句编写

11、把程序补充完整。从键盘输入字符,若是数字字符,则转换成数字后输出。(注:数字=相对应的数字字符-48,即5 = ‘5’-48 )

#include void main( ) { int c;

c = getchar( ); if( )

{ ( ) printf(“%d”,c);

}

} 12、用一组逻辑表达式来简化下列嵌套if语句中的条件(a和b达标条件,A和B代表语句) (2) if(a) A; (1)if(a) if(b) A; else if(b) A else B; else B; else B

习题四 循环结构

2、分析下列程序的输出结果: 1、 分析下列程序的输出结果: # include # include void main( ) void main( ) { int i,j,k=0,m=0; { int i,j,x=0; for(I=0;I<2;I++) for(i=0;i<2;i++) { { x++: for(j=0;j<3;j++) for(j=0;j<3;j++) { if(j%2) continue; k++; x++; k-=j; } } x++; m=i+j; printf(“k=%d,m=%d\\n”,j,m); } } printf(“x=%d”,x); } 3、求出100以内的整数中最大可以被13整除的那一个数,将程序补充完整。 void main ( ) { int i ;

for( ; ;i--) { if( ) break; } printf(“%d\\n”,i);

}

4、 输入两个正整数m和n,求其最大公约数和最小公倍数。

5、 输入一行字符,统计其中英文字符、空格、数字和其它字符的个数。

6、 打印出所有的“水仙花数“,水仙花数是一个3位数,其各位数字立方和等于该数本身。 7、 一个数如果恰好等于它的因子之和,这个数就称为完数,编程找出1000以内的所有完

数,并输出其因子。

8、 求出分数序列2/1,3/2,5/3,8/5,13/8,21/13,……前20项之和 9、 打印九九乘法表 * 10、打印右边的*号图案: *** 11、有一个八层灯塔,每层所点灯数都等于上一层的2 ***** 倍,一共有765盏灯,求塔底灯数。 ******* 12、求3~150以内的所有素数之和。 ***** 13、百马百担问题,有100匹马,驮100担货,大马驮3 *** 3担,中马驮2担,两匹小马驮一担,编程计算共有多少种驮法。 *

你可能感兴趣的:(C语言作业(软件工程))