C-作业(八次)

更新时间:2023-10-30 01:35:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

每题空一行,每次作业空五行

要抄题目,不得缺题 第一次作业

1.什么是程序?什么是程序设计?

解:程序就是一组计算机能识别和执行的指令。程序设计是给出解决特定问题程序的过程。 2.为什么需要计算机语言?高级语言的特点?

解:人和计算机交流信息,要解决语言问题,需要创造一种计算机和人都能识别的语言,这就是计算机语言。高级语言的特点:语言简洁、紧凑,使用方便、灵活;运算符、数据类型丰富;具有结构化的控制语句;语法限制不太严格,程序设计自由度大;允许直接访问物理地址,能进行位操作,可以直接对硬件进行操作;程序可移植性好。生成目标代码质量高,程序执行效率高。

5.请参照本章例题,编写一个C程序,输出以下信息: 解:#include

int main()

{printf(“**********************\\n\\n”); printf(“ Very Good!\\n\\n”);

printf(“**********************\\n\\n”); return 0; }

6.编写一个C程序,输入a,b,c三个值,输出其中最大值。 解:#include

int main() {

int a,b,c,max;

printf(\ scanf(\ max=a; if(max

max=c;

printf(\ return 0; }

第二次作业

1.假如我国国民生产总值的年增长率为9%,计算10年后我国国民生产总值与现在相比增长多少百分比。计算公式为p=(1+r)n,r为年增长率,n为年数,p为与现在相比的倍数。 #include #include int main() {

float p,r,n; r=0.1; n=10;

p=pow(1+r,n); printf(\

return 0; }

3. 购房从银行贷了一笔款d,准备每月还款额为p,月利率为r,计算多少月能还清。设d为300000元,p为6000元,r为1%。对求得的月份取小数点后一位,对第2位按四舍五入处理。

#include #include int main() {

float d=300000,p=6000,r=0.01,m; m=log10(p/(p-d*r))/log10(1+r); printf(\return 0;

}

4.分析下面的程序 #include int main() {

char c1,c2; c1=97;

c2=98;

printf(\printf(\return 0;

}

(1)运行时会输出什么信息?为什么? c1=a,c2=b

c1=97,c2=98

第1行是将c1,c2按%c的格式输出,97是字符a的ASCII代码,98是字符b的ASCII代码。第2行是将c1,c2按%d的格式输出,所以输出两个十进制整数。

(2)如果将程序第4,5行改为c1=197;c2=198;运行时会输出什么信息?为什么?

由于VC++字符型数据是作为signed char类型处理的,它存字符的有效范围为0-127,超

过此范围的处理方法,不同的系统得到的结果不同,因而用%c格式输出时,结果是不可预料的。用%d格式输出时,输出c1=-59,c2=-58。这是按补码形式输出的。 (3)如果将程序第3行改为int c1,c2;运行时会输出什么信息?为什么? 如果给c1,c2赋的值是97和98,则输出结果与(1)相同。如果给c1,c2赋的值是197和198,则用%c输出时,是不可预料的字符,用%d输出时,输出整数197和198,因为它们在int类型的有效范围内。

5.用下面的sacnf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’。问在键盘上如何输入?

#include int main() { }

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

scanf(\scanf(\scanf(\return 0;

a=3b=7

8.5 71.82Aa

6.请编程序将”China”译成密码,密码规律是:用原来的字母后面第4个字母代替原来的字母。 #include int main() {

char c1='C',c2='h',c3='i',c4='n',c5='a'; c1=c1+4;

c2=c2+4; c3=c3+4; c4=c4+4; }

c5=c5+4;

printf(\return 0;

第三次作业

3.写出下面各逻辑表达式的值。设a=3,b=4,c=5。 (1)a+b>c&&b==c 0 (2)a||b+c&&b-c 1 (3)!(a>b)&&!c||1 1 (4)!(x=a)&&(y=b)&&0 0

(5)!(a+b)+c-1&&b+c/2 1

4.有3个整数a,b,c,由键盘输入,输出其中最大的数。 #include int main() {

int a,b,c;

printf(\请输入三个整数:\scanf(\if(a

printf(\else printf(\printf(\

else if(a

else

printf(\ return 0; }

6.有一个函数:写程序,输入x的值,输出y相应的值。 #include int main() { int x,y; printf(\输入x:\

scanf(\if(x<1) { }

else if(x<10) { } else {

y=2*x-1;

printf(\ y=2*x-1=%d\\n\y=x;

printf(\ y=x=%d\\n\

y=3*x-11;

printf(\ y=3*x-11=%d\\n\ } return 0; }

8.给出一百分制成绩,要求输出成绩等级’A’、’B’、’C’、’D’、’E’。90分以上为’A’,80-89分为’B’,70-79分为’C’,60-69分为’D’,60分以下为’E’。 #include int main() {

float score; char grade;

printf(\请输入学生成绩:\scanf(\

while(score>100||score<0) { printf(\输入有误,请重输\ }

scanf(\

switch((int)(score/10)) {case 10:

case 9:grade='A';break; case 8:grade='B';break; case 7:grade='C';break; case 6:grade='D';break; case 5: case 4: case 3: case 2: case 1:

case 0:grade='E'; }

printf(\成绩是%5.1f,相应的等级是%c\\n\return 0;

}

9.给一个不多于5位的正整数,要求:①求出它是几位数②分别输出每一位数字③按逆序输出各位数字,例如原数为321,应输出123。 #include #include int main() {

int num,indiv,ten,hundred,thousand,ten_thousand,place; printf(\请输入一个整数(0-99999):\scanf(\

本文来源:https://www.bwwdw.com/article/fcj2.html

Top