当前位置:文档之家› C语言教程第三章顺序结构程序设计

C语言教程第三章顺序结构程序设计

C语言教程第三章顺序结构程序设计
C语言教程第三章顺序结构程序设计

第三章顺序结构程序设计

一、输入输出的概念:

1、输入:键盘扫描仪

2、输出:显示器,打印机

备注:

C语言没有标准的输入输出语句输入输出靠用调用标准库函数来完成.

二、字符输入输出函数.

1、字符:用单引号括起来的一个或者多个字母.

2、字符分类

1>转意字符

…\n?----换行符

…\t?-----跳格

‘\0?---字符串结束标志.

…\a?---响铃

2>普通字符

…a?----97 …b?----98

…A?----65 …B?---66

…0?----48 …1?---49 1

2、字符输出函数putchar( )

<1>功能:向终端输出一个字符.

<2>格式:

putchar(字符表达式)

备注:

(1)字符表达式可以为字符常量,字符变

量.

(2)调用putchar()函数时必须用文件包

含命令包含标准输入输出函数库的

有关信息.

#include

2\字符输入函数getchar( )

<1>功能:从终端接受一个字符,接受的字符可以赋给字符型变量也可以不赋给任何变量.

<2>格式:

字符变量名=getchar()

三格式输入输出.

1、格式输出:

<1> 功能:向终端输出若干个任意类型的数据.

<2> 格式:

Printf(“格式控制符”,输出项表);

备注:

(1)格式控制符:

% 和格式字母组成.

格式字母

d-----以十进制整数形式输出基整形数据. Ld----以十进制整数形式输出长整形数据. o------以八进制形式输出基整型数据.

例题:

阅读下列程序输出结果为.

0x-----以十六进制形式输出基整型数据.

c----输出字符型数据.

f----以十进制小数形式输出单精度数据.

Lf---以十进制小数形式输出双精度数据. e----以指数形式输出单精度数据.

u----输出无符号整型数据.

备注:

(1)普通字符原样输出.

(2)输出项有两项以上中间用逗号分开. 2格式输入:

<1> 功能:从终端接受若干个任意类型的数据.

<2> 格式:

Scanf(“格式控制符”,输入项表).

备注:

(1)格式控制符和输出函数相同.

(2)&----取地址运算符(取变量的地址).

(3)地址:为了访问内存中的某个存储单

元,要其编号,把这种编号称为内存

的地址.

?X

?&x

(4)输入项必须为变量的地址.

(5)输入项有两项以上中间用逗号分开.

(6)输入数值型数据中间用回车符空格

table分开.

(7)普通字符原样输入.

顺序结构:

按照代码出现的先后次序来执行.

例题1:

从键盘输入两个整数编写程序将其进行交换.

例题2:从键输入一个实型数据,编写程序保留二位小数对第三位四五入.

3.144697

(1)3.144697*100=314.4697

(2)314.4697+0.5=314.9697

(3)314

(4)314/100=3.14

例题:从键盘输入三角形三条边取三角形面积.

3^2

Pow(3,2) pow(5,10)

C )(S B )(S A )(S S AVE ---=***

S=(A+B+C)/2

A 、

B 、

C 三边从键盘输入.

#include

SQRT( )

C语言程序的设计教程第三章练习题题目

单选题 1、若定义a=3,b=4, 执行printf( “%d, %d”,(a,b),(b,a)); 的输出结果为() 。 A. 3,4 B. 4,3 C. 3,3 D. 4,4 2、如果要求在if 后的判断条件是a 不等于0,则下列选项中能正确表达这一关系的是() A. a<>0 B. !a C. a=0 D. a 3、为了避免嵌套的if-else 语句的二义性,C 语言规定else 总是与()组成配对关系。 A. 缩排位置相同的if B. 在其之前未配对的if C. 在其之前尚未配对的最近的if D. 同一行上的if 4、有定义int t = 0; 则有循环while(t=1){ …},则下列关于while循环语句的描述中正确的是()。 A. 循环控制表达式的值为0 B. 循环控制表达式的值为1 C. 循环控制表达式的值不合法 D. 以上说法都不对 5、若有定义:int x ,i; 则下列for 循环语句: for(i = 0,x = 0; i<= 9 && x!=876;i++) scanf( “%d”,&x); 下列选项中,描述正确的是( ) A. 最多执行10次 B. 最多执行9 次 C. 是无限循环 D. 循环体一次也不执行 6、关于下面的for 循环语句 int i,k; for(i = 0,k = - 1;k = 1;i++,k++) printf( “***** ”); 下列选项中,描述正确的是( ) A. 判断循环结束的条件非法 B. 是无限循环 C. 只循环一次 D. 一次也不循环 7、C语言程序的三种基本结构是( )。 A. 顺序结构,选择结构,循环结构 B. 递归结构,循环结构,转移结构

C语言顺序结构

第四章C语言顺序结构 4.1 C语句概述 一般来说,程序设计语言中的流程控制结构分为3种:顺序结构、选择结构和循环结构。 表达式语句由表达式加上分号“;”组成,其一般形式为:表达式; 函数调用语句由函数名、实际参数加上分号“;”组成。其一般形式: 函数名(实际参数表) 控制语句用于控制程序的流程,以实现程序的各种结构方式。C语言中共有9种控制语句,可以将其分为如下3类: 复合语句:把多个语句用{}括起来组成的一个语句称为复合语句。在程序中应把复合语句看成是单条语句,而不是多条语句。 空语句:只有分号“;”组成的语句。 4.2 赋值语句 赋值语句是表达式语句的一种,是由赋值表达式再加上分号构成的表达式语句,其一般形式为:变量=表达式; 注意在变量声明中给变量赋初值和赋值语句的区别。给变量赋初值是变量声明的一部分,赋初值后的变量与其后的其它同类变量之间仍必须用逗号间隔,而赋值语句则必须用分号结尾。例如int a=1,b;是在变量声明中对变量a赋初值,其等效于如下两条语句; int a,b; /*定义整型变量a,b*/ a=1; /*为变量a赋值*/ 在变量声明中,不允许给多个连续变量赋初值。下列说明是错误的:int a=b=c=1;,必须写为int a=1,b=1,c=1; 4.3 格式输入输出 格式输入输出即向标准输出设备显示器输出数据的语句。 4.3.1 printf函数——格式输出 printf函数称为格式输出函数,其关键字最末一个字母“f”即为格式(format)之意。printf函数的功能是按用户指定的格式,把指定的数据显示到显示器屏幕上。printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用printf函数之前必须包含stdio.h文件。 printf函数调用的一般形式为: printf(“格式控制字符串”,输出列表) 其中,格式字符串用于指定输出格式,可由格式字符串和非格式字符串两种组成。格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位等。例如:“%d”表示按十进制整型输出,“%f”表示按十进制浮点型输出,“%c”表示按字符型输出。 类型符类型意义 d 以十进制形式输出带符号整数(整数不输出符号)

C语言顺序结构

第四章C语言顺序结构 4、1 C语句概述 一般来说,程序设计语言中得流程控制结构分为3种:顺序结构、选择结构与循环结构。 表达式语句由表达式加上分号“;”组成,其一般形式为:表达式; 函数调用语句由函数名、实际参数加上分号“;”组成。其一般形式: 函数名(实际参数表) 控制语句用于控制程序得流程,以实现程序得各种结构方式。C语言中共有9种控制语句,可以将其分为如下3类: 复合语句:把多个语句用{}括起来组成得一个语句称为复合语句。在程序中应把复合语句瞧成就是单条语句,而不就是多条语句。 空语句:只有分号“;”组成得语句。 4、2 赋值语句 赋值语句就是表达式语句得一种,就是由赋值表达式再加上分号构成得表达式语句,其一般形式为: 变量=表达式; 注意在变量声明中给变量赋初值与赋值语句得区别。给变量赋初值就是变量声明得一部分,赋初值后得变量与其后得其它同类变量之间仍必须用逗号间隔,而赋值语句则必须用分号结尾。例如int a=1,b;就是在变量声明中对变量a赋初值,其等效于如下两条语句; int a,b; /*定义整型变量a,b*/ a=1; /*为变量a赋值*/ 在变量声明中,不允许给多个连续变量赋初值。下列说明就是错误得:int a=b=c=1;,必须写为int a=1,b=1,c=1; 4、3 格式输入输出 格式输入输出即向标准输出设备显示器输出数据得语句。 4、3、1 printf函数——格式输出 printf函数称为格式输出函数,其关键字最末一个字母“f”即为格式(format)之意。printf函数得功能就是按用户指定得格式,把指定得数据显示到显示器屏幕上。printf函数就是一个标准库函数,它得函数原型在头文件“stdio、h”中。但作为一个特例,不要求在使用printf函数之前必须包含stdio、h文件。 printf函数调用得一般形式为: printf(“格式控制字符串”,输出列表) 其中,格式字符串用于指定输出格式,可由格式字符串与非格式字符串两种组成。格式字符串就是以%开头得字符串,在%后面跟有各种格式字符,以说明输出数据得类型、形式、长度、小数位等。例如: “%d”表示按十进制整型输出,“%f”表示按十进制浮点型输出,“%c”表示按字符型输出。 表4-1 d 以十进制形式输出带符号整数(整数不输出符号) f 以小数形式输出单、双精度实数

C语言实验二程序、总结 顺序结构与输入、输出方法

实验二顺序结构与输入/输出方法 一实验目的 1 学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自增减运算 符的使用。 2 掌握C语言中赋值语句的使用。 3 掌握C语言中各种数据的输入/输出方法,能正确使用基本格式符。 二实验内容 1 输入下面的程序: #include main() { int i,j,m,n; i=8;j=10; printf("%d,%d,%d,%d\n",i,j,m,n); /* 第5行 */ m=++i; n=j++; /* 第6行 */ printf("%d,%d,%d,%d\n",i,j,m,n); /* 第7行 */ } 运行程序,分析第5行和第7行输出的不同。 调试分析:因为第五行的m,n没有赋初值,所以对应的m,n输出是乱的数字,第七行的m,n在第六行已赋初值,且i和j也相应的自加,结果如下图 ⑴将第6行按如下修改以后再运行,分析第5行和第7行输出的不同。 m=i++; n=++j; /* 第6行 */ 调试分析:m=i++是(m=i,i=i+1)。 n=++j;是(j=j+1,n=j)结果如 下图 ⑵在程序最后增加两行,记录并分析该行的输出。 i=j=8; /* 第8行 */ printf("%d,%d,%d,%d\n",i,++i,j,j++); /* 第9行 */ 调试分析:结果如下图

2 运行以下程序,并分析输出结果 #include main() { int a=-2; long b; float c; b=20000+20000; c=1.23e-1; printf("a=%d,%3d,%-3d,b=%Ld\n",a,a,a,b); printf("a=%o,%x,%u\n",a,a,a); printf("d=%f,%8.2f,%.2f\n",c,c,c); printf("d=%e,%8.2e,%g\n",c,c,c); printf("%c,%s,",'\072',"China"); printf("|-%5.2s|%5.2s|\n","China","China"); } 调试分析: 这个实验主要考察整型,长整型和浮点型等之间的输出,对浮点型小数点左右个数的考察,输出结果如下图 3 按格式要求输入、输出数据。 #include 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%c",&c1,&c1,&c2); /* 第8行 */ printf("a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n",a,b,x,y,c1,c2); } 运行该程序,按如下方式在键盘上输入数据,写出输出的结果。 a=3,b=7 85,71.82 Aa 调试分析:主要是考察对输入输出的理解,以及输入输出要注意的问题,结果

c语言顺序结构程序设计练习题10道

c语言顺序结构程序设计练习题 1、编写程序:输入一矩形的长和宽,计算该矩形的面积。 2、编程:输入求的半径R,计算并输出球的体积。 3、编程:输入三个数,求出这三个数的和以及平均值,并在屏幕上输出。 4、编程:输入一个三位整数x(999=>x>=100),将其分解出百位、十位、各位,并求出各位之和以及各位之积 5、编程:已知三角形的三边a=3,b=4,c=5,求其面积s。(提示:假设有一个三角形,边长分别为a、b、c,三角形的面积S可由以下公式求得:S=sqrt(p(p-a)(p-b)(p-c)),而公式里的p 为半周长:p=(a+b+c)/2。 6、编写一个C程序,输出以下信息: ************************** Very Good! ************************** 7、编写一个程序,输入a、b、c三个值,输出其中最大值. 8、写出程序运行的结果: main() { int i,j,m,n; i=8; j=10; m=++i; n=j++; printf(“%d,%d,%d,%d”,i,j,m,n); } 9、写出程序运行的结果: main() { char a ,b, c1,c2; float x ,y; a = 3; b =7; x = 8.5; y = 71.82; c1 = ' A' ; c2 = 'a '; printf("a= %d b = %d/n",a,b); printf("x = %f y = %f",x,y); printf("c1= %c,c2 =%c",c1,c2); } 10、求ax2+bx+c=0方程的根,a,b,c由键盘输入,假设b2-4ac>0。

C语言程序的设计教程第三章练习题题目

单选题 1、若定义a=3,b=4,执行printf(“%d, %d”,(a,b),(b,a));的输出结果为()。 A.3,4 B.4,3 C.3,3 D.4,4 2、如果要求在if后的判断条件是a不等于0,则下列选项中能正确表达这一关系的是()。 A.a<>0 B.!a C.a=0 D.a 3、为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其之前尚未配对的最近的if D.同一行上的if 4、有定义int t = 0;则有循环while(t=1){…},则下列关于while循环语句的描述中正确的是()。 A.循环控制表达式的值为0 B.循环控制表达式的值为1 C.循环控制表达式的值不合法 D.以上说法都不对 5、若有定义:int x ,i;则下列for循环语句: for(i = 0,x = 0; i<= 9 && x!=876;i++) scanf(“%d”,&x); 下列选项中,描述正确的是() A.最多执行10次 B.最多执行9次 C.是无限循环 D.循环体一次也不执行 6、关于下面的for循环语句 int i,k; for(i = 0,k = -1;k = 1;i++,k++) printf(“*****”); 下列选项中,描述正确的是() A.判断循环结束的条件非法 B.是无限循环 C.只循环一次 D.一次也不循环 7、C语言程序的三种基本结构是()。 A.顺序结构,选择结构,循环结构 B.递归结构,循环结构,转移结构 C.嵌套结构,递归结构,顺序结构

D.循环结构,转移结构,顺序结构 8、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为()。 A.a<>0 B.!a C.a=0 D.a 9、两次运行下面的程序,如果从键盘上分别输入6和4,那么输出结果是()。 void main() { int x; scanf("%d",&x); if (x++ > 5) printf("%d",x); else printf("%d\n",x--); } A.7和5 B.6和3 C.7和4 D.6和4 10、运行以下程序后,如果从键盘上输入china#,那么输出结果为()。 #include void main() { int v1=0,v2=0; char ch; while ((ch=getchar())!='#') switch (ch) { case 'a': case 'h': default: v1++; case '0': v2++; } printf("%d,%d\n",v1,v2); } A.2,0 B.5,0 C.5,5 D.2,5 11、有如下程序:

C语言(顺序结构)习题与答案

一、单选题 1、以下程序的功能是:给r输入数据后计算半径为r的圆面积s。程序编译时出错。main() /*Beginning */ { int r; float s; scanf("%d",&r); s=π*r*r; printf("s=%f\n",s); } 出错的原因是()。 A.计算圆面积的赋值语句中使用了非法变量 B.存放圆半径的变量r不应该定义为整型 C.注释语句书写位置错误 D.输出语句中格式描述符非法 正确答案:A 解析: A、π这个符合不是C语言的合法标识符,应提前进行常量定义 2、有以下程序 main() { int m=12,n=34; printf("%d%d",m++,++n); printf("%d%d\n",n++,++m); } 程序运行后的输出结果是()。 A.12343514 B.12353514 C.12343513

D.12353513 正确答案:B 解析: B、m++ ++在m后,先使用m的值输出,后给m增1 ++m,++在m前,先给m的值增1后,再输出m 3、有定义语句:int b;char c[10]; ,则正确的输入语句是()。 A.scanf("%d%s",b,c); B.scanf("%d%s",&b,&c); C.scanf("%d%s",b,&c); D.scanf("%d%s",&b,c); 正确答案:D 解析: D、输入语句整型变量 b 需要取地址 &,c是数组名,本身就代表地址,所以不需要取地址符& 4、有以下程序 main() { int m,n,p; scanf("m=%dn=%dp=%d",&m,&n,&p); printf("%d%d%d\n",m,n,p); } 若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是()。 A.123 456 789 B.m=123 n=456 p=789 C.m=123n=456p=789 D.m=123,n=456,p=789 正确答案:C 解析: C、输入语句中出现普通字符要按原样输入 5、有以下程序

第3章习题参考答案(c语言教材)

第3章课后习题参考答案 一、选择题 题号 1 2 3 4 5 6 7 8 9 10 答案 C B D A B A A C A A 题号11 12 13 14 15 16 17 18 19 答案 A B D D B A B D C 二、填空题 1)1 2)2008 3)b 4)261 5)25 21 37 三、编程题 1.编写程序。计算输出球的表面积S和体积V。球半径r在程序运行时由键盘输入。 #include "stdio.h" #define PI 3.14159 void main( ) { float r, S, V; printf ("请输入圆的半径(r):") ; scanf("%f", &r ) ; S = 4 * PI * r * r ; V = ( 4.0/ 3.0) * PI * r * r * r ; //还可写成4/3.0或4.0/3; 但不能写成4/3,因为4/3值为1 printf ("r =%6.2f, S=%6.2f, V=%6.2f \n", r, S, V ) ; }

2. 编写程序。计算输出正方形外接圆的面积S。正方形边长a在程序运行时由键盘输入。 #include "stdio.h" #include "math.h" #define PI 3.14159 void main( ) { float a, r, S; printf ("请输入正方形的边长(a):") ; scanf("%f", &a ) ; r = sqrt(2) * a / 2 ; //计算正方形外接圆的半径 S = PI * r * r ; //计算正方形外接圆的面积 printf ( "S=%6.2f \n", S ) ; } /* 注:以上面积计算公式,也可使用:S=PI*a*a/2 因为:S=PI*(sqrt(2)*a/2)* (sqrt(2)*a/2)=PI*a*a/2 这样就不用调用求平方根函数sqrt()了。 */ 3.编写程序。将华氏温度F转换成摄氏温度C输出,要求保留2位小数。华氏温度F在程序运行时由键盘输入。华氏温度F和摄氏温度C的转换公式为C=5×(F-32)/9。 #include "stdio.h" void main( ) { float F, C; printf ("请输入华氏温度(F):") ; scanf("%f", &F ) ; C = 5 *( F-32 ) / 9 ;

c语言程序设计实验报告1--顺序结构

福建农林大学金山学院实验报告 系(教研室):专业:年级: 实验课程: C语言程序设计姓名:学号:实验室号:_ 计算机号:实验时间:指导教师签字:成绩: 实验1:顺序结构程序设计 一、实验目的和要求 1.了解Visual C++ DEV_C++的基本操作方法 2.掌握C程序设计的基本步骤:编辑、编译、连接和运行 3.掌握各种类型数据的输入输出方法 4.能够编写一个简单的程序 二、实验内容和原理 1. 输入并运行一个简单、正确的程序。 # include <> int main( ) { printf ("This is a c program!\n"); return 0; } 2. 要使下面程序的输出语句在屏幕上显示:A,B,34,则从键盘输入的数据格式应为AB34__________ 。 #include<> int main() { char a, b; int c;

scanf("%c%c%d",&a,&b,&c); printf("%c,%c,%d\n",a,b,c); return0; 问题1:要使上面程序的键盘输入数据格式为a=A,b=B,34,输出语句在屏幕上显示的结果也为A,B,34,则应修改程序中的哪条语句怎样修改 scanf( “a=%c,b=%c,%d”,&a,&b,&c ); 问题 2:要使上面程序的键盘输入数据格式为A,B,34,而输出语句在屏幕上显示的结果为“A”,“B”,34,则应修改程序中的哪两条语句怎样修改 scanf( “%c,%c,%d”,&a,&b,&c); printf(“\”%c\”,\”%c\”,%d\n”,a,b,c); 3、编程求一个圆的周长和面积。用scanf输入圆半径,输出保留两位小数。 4、输入一个华氏温度F,要求输出摄氏温度C。公式为 c=5/9(F-32),取两位小数。 5、编程序,用getchar函数读入两个字符给c1、c2,然后分别用putchar函数和printf 函数输出这两个字符。 6. 计算定期存款本利之和。 设银行定期存款的年利率rate为%,并已知存款期为n年,存款本金为capital元,试编程计算n年后的本利之和deposit。要求定期存款的年利率rate、存款期n和存款本金capital 均由键盘输入。(提示:pow为幂函数:pow(2,3)表示23)。 #include <> #include <> int main() { } 三、实验环境

C语言(顺序结构程序设计)习题与答案

1、一个C程序的执行是从( )。 A.本程序的main函数开始,到main函数结束。 B.本程序的main函数开始,到本程序文件的最后一个函数结束。 C.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。 D.本程序文件的第一个函数开始,到本程序main函数结束。 正确答案:A 2、C语言规定:在一个源程序中,main函数的位置( )。 A.必须在系统调用的库函数的后面 B.必须在最开始 C.可以任意 D.必须在最后 正确答案:C 3、下面四个选项中,均是不合法的浮点数的选项是( )。 A.160. 0.12 e3 B.123 2e4.2 .e5 C.-e3 .234 1e3 D..18 123e4 0.

4、下面四个选项中,均是合法浮点数的选项是( )。 A.+le+1 5e-9.4 03e2 B.123e 1.2e-.4 +2e-1 C.-.60 12e-4 -8e5 D.-e3 .8e4 5.e-0 正确答案:C 5、下面正确的字符常量是( )。 A.'' B.'W' C."a" D.'\\'' 正确答案:B 6、下面四个选项中,均是不正确的八进制数或十六进制数的选项是( )。 A. 016 0x8f 018 B. 010 -0x11 0x16

7ff -123 D.oabc 017 0x8 正确答案:C 7、下面不正确的字符串常量是( )。 A."12\12" B."0" C."" D.'abc' 正确答案:D 8、在C语言中,要求运算数必须是整型的运算符是( )。 A./ B.= C.++ D.% 正确答案:D 9、若以下变量均是整型,且num=sum=7;则执行表达式 sum=num++,sum++,++num后sum的值为( )。 A.7 B.9 C.10 D.8 正确答案:D 10、若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是( )。

c语言程序设计第三章课后答案

/*习题3 2*/ #include main() { int rate; double salary,tax; printf("enter salary:\n"); scanf("%lf",&salary); if(salary<=850) rate=0; else if(salary>850&&salary<=1350) rate=5; else if(salary>1350&&salary<=2850) rate=10; else if(salary>2850&&salary<=5350) rate=15; else rate=20; tax=rate*(salary-850)/100; printf("tax=%.2lf\n",tax); } /*习题3 4*/ #include main() { int n,i,A=0,B=0,C=0,D=0,E=0; double grade,sum=0,ave; printf("enter n:\n"); scanf("%d",&n); printf("enter n ge grade\n"); for(i=1;i<=n;i++) { scanf("%lf",&grade); sum=sum+grade; if(grade>=90&&grade<=100) A=A+1; else if(grade>=80&&grade<=89) B=B+1; else if(grade>=70&&grade<=79) C=C+1; else if(grade>=60&&grade<=69) D=D+1; else E=E+1;

C语言习题:顺序、选择、循环

顺序结构程序设计 2.3.1 要点导读 () 与scanf()语句。 printf() 与scanf()语句是最通用的输入输出函数,它们可以在程序设计者的控制下以各种格式分别实现数据的输出和输入操作。它们位于库文件中。 2.字符数据的输入输出。 最简单的字符输入输出函数是getchar()和putchar()。两者分别从键盘读一个字符或向显示屏写一个字符。 2.3.2 经典例题分析 1.下列程序运行后输出的结果是。 #include <> void main() 、 { int a=0,b=0; a=10; b=20; printf(“a+b=%d”,a+b); } 分析:printf( )是输出函数,它的括号内由两部分组成: 1)控制字符串,是用双引号括起来的字符串,它包括两种信息: (1) 格式说明。由”%”和格式字符组成,如:%d、%f、%c等。它的作用是将输出 的数据转换成指定的格式输出。 (2) 普通字符。需要原样输出的字符。 - 2)”输出表列”是需要输出的一些数据,可以是表达式。 题目中a的值是10,b的值是20,在 printf(“a+b=%d”,a+b); 格式说明输出表列 中,”a+b= “是普通字符,需原样输出。输出表列是一个表达式,它的结果以整型输出。 答案:a+b=30。 2.下列程序运行后输出的结果是。

#include <> void main() { int a=732; ) printf(“%d\n”,a); printf(“%2d\n”,a); printf(“%10d\n”,a); printf(“%-10d\n”,a); } 分析:d格式符,用来输出十进制整数。其中%d,按整型数据的实际长度输出。%md,m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。 printf(“%d\n”,a);把a的值按原样输出:732。printf(“%2d\n”,a);结果占2列,但732占3列大于2列,所以按实际位数输出:732。printf(%10d\n”,a);结果占10列,但732占3列小于10列,所以左端补7个空格。printf(“%-10d\n”,a); 结果占10列,“-”表示把数值放到左端,732占3列小于10列,所以右端补7个空格。 答案:732 732 □□□□□□□732 /*□表示空格*/ , 732□□□□□□□ 3.已知char a=‘\103’;则语句printf(“%3d”,a);执行后的输出结果为(□表示空格)。 A)□67B)’c’C)67□D)103 分析:’\103’是一个转义字符,表示一个八进制数所代表的字符,转换为十进制为67。printf(“%3d”,a);把’\103’转换为十进制数输出,结果占3列。但67占2列,小于要求的3列,所以左补空格,即□67。 答案:C。 4.下列程序运行后结果是。 #include <> #define a void main() { printf(“%f\n”,a); @ printf(“%e\n”,a); printf(“%4.2f\n”,a); printf(“%3.1f\n”,a); printf(“%10.3f\n”,a); printf(“%-10.3f\n”,a); } 分析:f格式符,用来输出实数,以小数形式输出,小数点后输出6位。所以printf(“%f\n”,a);输出结果为。 %是指,要输出的数占m列,同时小数点保留n位(四舍五入),如果输出的数大于m,

C语言——顺序结构程序设计练习题

顺序结构程序设计习题 一、选择题:(以下各题□代表空格。) 1.以下程序运行的结果是: #include int main() {int m=5,n=10; printf(“%d,%d\n”,m++,--n); } A)5,9 B)6,9 C)5,10 D)6,10 2.以下程序运行的结果是: #include int main() {int a=201,b=012; printf(“%2d,%2d\n”,a,b); return 0 } A)01,12 B)201,10 C)01,10 D)20,01 3.有定义语句int a,b;若要通过语句scanf(“%d,%d,”&a,&b);使变量a得到数值6,变量b 得到数值5,下面输入形式,错误的是: A)6,5<回车> B)6,□□<回车> C)6 5<回车> D)6,<回车>5<回车> 4.设有如下程序: #include int main() {char ch1=’A’,ch2=’a’; printf”%c\n”,(ch1,ch2)); return 0; } 则以下叙述正确的是: A)程序的输出结果为大写字母A; B)程序的输出结果为小写字母a; C)运行时产生错误信息; D)格式说明符的个数少于输出项个数,编译出错。 5.以下程序运行的结果是: #include int main() {int x1=0xabc,x2=oxdef;

x2-=x1; printf(“%X\n”,x2); return 0; } A)ABC B)0XABC C)0X333 D)333 6.以下程序输出的结果是: #include int main() { printf(“\n*s1=%15s*”,”chinabeijing”); printf(“\n*s2=%-5s*”,”chi”); } A)*s1=chinabeijing□□□* S2=**chi* B)*s1=chinabeijing□□□* *s2=chi□□* C)*s1=*□□chinabeijing* *s2=□□chi* D)*s1=□□□chinabeijing* *s2=chi□□* 7.已有定义int a=-2;和输出语句:printf(“%8lx”,a);以下正确的描述是: A)整形变量的输出格式符只有%d一种; B)%x是格式符的一种,它可以适应与任何一种类型的数据; C)%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的 D)%8lx不是错误的格式符,其中数字8规定了输出字段的宽度。 8.以下C程序的运行结果是: #include int main() {long y=-43456; printf(y=%-8ld\n”,y); printf(y=%-08ld\n”,y); printf(y=%08ld\n”,y); printf(y=%+8ld\n”,y); return 0;

程序设计基础-c语言-第三章程序结构-教材习题答案-科学出版社

程序设计基础-C语言(科学出版社教材) 第三章-程序结构教材习题答案 1.0编写程序使整形变量:a=3,b=4,c=5,p=0xfffe,q=0xffff;浮点型变量:x=1.2,y= 2.4,z= 3.6;无符号型变量:u=5127486,n=128765,字符型变量:c1=’a’,c2=’b’; #include void main() { int a,b,c,p,q; float x,y,z; unsigned int u,n; char c1,c2; a=3;b=4;c=5;p=0xfffe;q=0xffff; x=1.2;y=2.4;z=-3.6; u=5127486;n=128765; c1='a';c2='b'; printf("a=%d b=%d c=%d\n",a,b,c); printf("p=%#x q=%#x\n",p,q); printf("x=%f,y=%f,z=%f\n",x,y,z);

printf("x+y=%.2f y+z=%.2f x+z=%.2f\n",x+y,y+z,x+z); printf("u=%8u n=%8u\n",u,n); printf("c1='%c' or %d\n",c1,c1); printf("c2='%c' or %d\n",c2,c2); } 2.0 读入三个双精度数,求出它们的平均值并保留此平均值小数点后二位,最后输出结果。 #include void main() { double a,b,c,d; printf("请输入三个双精度数:"); scanf("%lf,%lf,%lf",&a,&b,&c); d=(a+b+c)/3; printf("d=%.2lf",d ); } 3.0 编写一个程序,要求输入三个整数值a,b,c,把c中的值赋给b, 把b中的值赋给a, 把a中的值赋给c,最后输出a,b,c.

C语言程序设计案例教程第3章参考答案

C语言程序设计案例教程(第二版) 廖湖声叶乃文周珺 人民邮电出版社 第三章习题参考答案 习题 3-1 #include #include int main() { int i,j,c=0; //c用来控制一行输出元素的个数 for(i=2;i<100;i++) //判断从2到100之间那个数为素数 { for(j=2;j<=sqrt(i);j++) //判断到i的平方根即可减少循环次数 { if(i%j==0) break; } if(j>sqrt(i)) { printf("%5d",i); c++; //每输出一个数计数器加1 if(c%5==0) printf("\n"); } } return 0; } 习题 3-2 #include int main() { int i,n; //n为从键盘上接收的数 printf("请输入一个正整数:"); scanf("%d",&n); for(i=2;i

} printf("\n"); return 0; } 习题 3-3 #include /*韩信点兵问题 穷举法实例*/ int main() { int n; printf("假设韩信带兵在1000~10000人之间,则可能的人数为:\n"); for(n=1000;n<10000;n++) { if(n%5==1 && n%6==5 && n%7==4 && n%11==10) printf("%7d",n); } printf("\n"); return 0; } 习题 3-4 #include int main() { int i,j,k,n; //i,j,k分别为水仙花数n的百位、十位、个位 printf("所有的水仙花数为:"); for(n=100;n<1000;n++) //对每个三位数进行分解、判断 { i=n/100; j=n/10%10; k=n%10; if(n==i*i*i+j*j*j+k*k*k) //判断该三位数是否是其各位数立方和 printf("%5d",n); } printf("\n"); return 0; } 习题 3-5

C语言(顺序结构、分支和选择结构)

1. 求圆的面积和周长。 2. 输入三角形三边,判断其能否组成三角形,若能,则判断是直角三角形、等腰三角形、 等边三角形、斜三角形。 3. 输入三角形三边,若能组成三角形,则计算三角形的面积。 S=1/2(a+b+c) Area=))()((c s b s a s --- 4. 输入年份,判断其是否是闰年(判断方法,参看课本) 5. 计算圆柱体的体积和表面积 6. 计算如下分段函数 ?????<≤≤<≤=100 10100) log(0||x x x x x x y 7. 从键盘输入一个整数,输入是星期几(分别使用if 语句和switch 语句来实现) 8. 从键盘输入一个整数,输出季节(以北方为例3、4、5是春季,6、7、8是夏季,9、 10、11是秋季,12、1、2是冬季)(分别使用if 语句和switch 语句来实现) 9. 模拟计算器,输入两个数和一个运算符,实现加、减、乘、除的操作(分别使用if 语句 和switch 语句来实现) 10. 求一元二次方程的根 11. 从键盘输入学生成绩,给出其评语(优、良、中、合格、不合格)(分别使用if 语句和 switch 语句来实现) 12. 输入一个三位数,例如123,将其构造成一个新的三位数321后,输出。 13. 输出下三角的九九乘法表 14. 输出如下图形 15. 计算如下问题: ① 1+1/2+1/3+…+1/n ② 1-1/2+1/3-…+1/n(-1)n-1 ③ 1!+2!+3!+4!+5! ④ 1!-2!+3!-4!+5! ⑤ n +++++++++321321211 ⑥ 1)1(321321211+-+++-++++-n n * ** **** ***** ****** * ** **** ***** ****** **** **** **** **** * *** ***** ******* ********* * *** ***** *** *

C语言顺序结构及分支结构编程案例详解

C语言顺序结构及分支结构编程案例详解 文档编制序号:[KKIDT-LLE0828-LLETD298-POI08]

顺序结构入门——及熟悉环境 1、 答案: #include<> int main() { printf("Good Morining\n"); return 0; } 2、已知某种铅密度为11340kg/m3 ,求厘米铅球有多少kg 这里要求:pi的取值为,小数用double表示,printf("%lf"输出) 输入格式:仅仅一个小数 输出格式:无 输出样例: 答案: #include <> #define midu 11340 int main() { double r = ; double v ; double weigh; weigh = v * midu; printf("%lf", weigh); } 3、两个数相加 输入两个整数 输出两个整数的和 比如输入:1 4 输出:5 答案: #include <> void main() { int a,b; int sum;

scanf("%d%d",&a,&b); sum = a+b; printf("%d\n",sum); } 4、输入两个整数a,b, 比如输入: 1 4 输出:-15 答案: #include <> void main() { int a,b; int sum; scanf("%d%d",&a,&b); sum = (a-b)*(a+b); printf("%d\n",sum); } 5、两个数相加后乘以5 输入:两个整数 输出:两个整数的和乘以5 比如输入: 1 4 输出:25 答案: #include <> void main() { int a,b; int sum; scanf("%d%d",&a,&b); sum = (a+b)*5; printf("%d\n",sum); } 6、 输入格式:仅仅一个小数 输出格式:仅仅一个小数 输入样例: 输出样例: 答案: #include <> #define midu 11340 void main ()

数据结构--顺序表的基本操作(C语言实现)

#include #include #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define OVERFLOW -2 #define LIST_INIT_SIZE 100 #define LISTINCREMENT 10 typedefint status ; typedefintElemType ; typedefstruct{ ElemType *elem; intlength,listsize; }SqList; status InitList(SqList&L)//初始化 { L.elem=(ElemType *)malloc(LIST_INIT_SIZE*sizeof(ElemType)); if(!L.elem) exit(OVERFLOW); L.listsize=LIST_INIT_SIZE; L.length=0; return OK; } status Build(SqList&L)//建立表 { inti,n; printf("请输入元素个数n和n个元素\n"); scanf("%d",&n); if(n>LIST_INIT_SIZE)//如果n大于当前空间 { L.elem=(ElemType *)realloc(L.elem,(n+LISTINCREMENT)*sizeof(ElemType)); if(!L.elem) exit(OVERFLOW); L.listsize=n+LISTINCREMENT; } for(i=0;i

C语言程序设计第二版第三章课后习题程序源码详细答案

(1)判断输入的3位正整数是否是水仙花数;#include int main(void) { int n; printf("请输入一个三位正整数:\n"); scanf("%d",&n); int a,b,c; a=n%10; b=(n/10)%10; c=n/100; int w; w=a*a*a+b*b*b+c*c*c; if(w==n) { printf("yes \n"); } else { printf("no \n"); } return 0 ; } (2)判断任意字符,小写改为大写。 #include int main(void) { char ch; ch=getchar(); if(ch>='A'&&ch<='Z') { putchar(ch); printf("\n"); } else { ch=ch-32; putchar(ch);

printf("\n"); } return 0; } (3)计算字母序号。输入大写或者小写字母,输出他们对应的字母表序号。#include int main(void) { char ch; printf("请输入一个字符:\n"); ch=getchar(); int n; if(ch>='A'&&ch<='Z') { n=ch-'A'; printf("%d\n",n); } else if(ch>='a'&&ch<='z') { n=ch-'a'; printf("%d\n",n); } else { printf("输入错误请重新启动输入\n",n); } return 0; } (4)输入一个年份,判断是否是闰年 #include int main(void) { int n; printf("请输入一个年份:\n"); scanf("%d",&n); if((n%4==0&&n%100!=0)||(n%400==0)) { printf("闰年\n"); } else {

相关主题
文本预览
相关文档 最新文档