第四章顺序结构程序设计 学习目的与要求:1.了解C语句的概念及种类。 2.掌握字符数据的输入与输出方式。 3.重点掌握格式输入与输出 3.重点掌握顺序程序设计 字符数据的输入与输出函数。 2.格式输入与输出函数 3.顺序程序设计。 第1讲 知识归纳 1.G语句种类 (1)控制语句 (2)函数调用语句 (3)表达式语句 (4)空语句 (5)复合语句:用{}括起来的多个语句,称为符合语句 (6)赋值语句:如ⅹ=3 这三个语句,在后续内容学习中讲到,(2)、(3)、(4)现在知道有这三种语句即可 只有一个分号的语句,它什么也不做。如; 2. putchar函数(字符输出函数) 格式: putchar(c);∥输出字符变量c中的字符。 注意:在使用 putcher函数之前,一定要加上“包含命令”,即# include< stdio h> getchar函数(字符输入函数) 格式:c= getchar;∥当运行到这个语句时,等待用户输入一个字符,并将输入字符 赋值给c字符变量 注意:在使用 getchar(函数之前,一定要加上“包含命令”,即# include< stdio.h>
第四章 顺序结构程序设计 学习目的与要求:1. 了解 C 语句的概念及种类。 2. 掌握字符数据的输入与输出方式。 3. 重点掌握格式输入与输出。 3. 重点掌握顺序程序设计。 重点: 1. 字符数据的输入与输出函数。 2. 格式输入与输出函数。 3. 顺序程序设计。 第 1 讲 知识归纳 1. C 语句种类 (1) 控制语句 (2) 函数调用语句 (3) 表达式语句 (4) 空语句 (5) 复合语句:用{}括起来的多个语句,称为符合语句。 (6) 赋值语句:如 x = 3 ; 这三个语句,在后续内容学习中讲到,(2)、(3)、(4)现在知道有这三种语句即可。 只有一个分号的语句,它什么也不做。如; 2. putchar 函数(字符输出函数) 格式:putchar (c);// 输出字符变量 c 中的字符。 注意:在使用 putchar()函数之前,一定要加上“包含命令”,即 #include <stdio.h>。 3. getchar 函数(字符输入函数) 格式:c= getchar();// 当运行到这个语句时,等待用户输入一个字符,并将输入字符 赋值给 c 字符变量。 注意:在使用 getchar()函数之前,一定要加上“包含命令”,即 #include <stdio.h>
C语言程序设计上机指导与同步训练 4. pr intf0函数 格式: printf(%d,%f”,a,x); 输出变量列表 格式控制字符串,以%开头,用双引号括起来。 说明:要求格式控制字符串中的格式符,要与所控制的变量类型匹配。 (1)%d控制输出十进制整数 (2)%mdm指定输出宽度,若m<数据宽度,按实际位数输出:若m>数据宽度,则 左端补以空格: (3)%0控制输出八进制整数,输出的数值不带符号 (4)%X控制输出十六进制整数,输出的数值不带符号: (5)%控制输出十进制 unsigned型整数; (6)%c控制输出一个字 (7)%s控制输出一个字符串 (8)%mns,%-mns控制输出一个字符串,m控制输出字符的宽度,n表示从字符串左 端开始,输出字符个数:-表示字符串向左靠,右补空格 (9)%f控制以小数形式,输出一个实数; (10)%mnf,%mnf控制以小数形式,输出一个实数 m表示输出实数的宽度;n表示输出小数的位数; 表示实数输出向左靠,右补空格: l1)%e控制以指数形式输出实数; (12)如输出%,则应在格式控制字符串中使用两个连续的%。 如 printf((%2P9%”,1.0/5);∥输出20.00% 基础训练(A 、填空题 1.C语句分为5种: 、函数调用语句、 、空语句和 一个基本语句的最后一个字符是 3.复合语句又称分程序,是用 括起来的语句 使用C语言库函数时,要用于预编译命令 将有关的“头文件”包括到用 户源文件中 5.使用标准输入输出库函数时,程序的开头要有如下预处理命令: 6.{a=3;c+=a-b,}在语法上被认为是条语句。 7. getchar函数的作用是从终端输入 个字符 8.如果从键盘输入字符'a'并按回车键,请写出以下程序运行效果 #include <stdio. h>
·120· C 语言程序设计上机指导与同步训练 ·120· 4. printf()函数 格式:printf( “% d , % f ” , a , x ) ; 输出变量列表; 格式控制字符串,以%开头,用双引号括起来。 说明:要求格式控制字符串中的格式符,要与所控制的变量类型匹配。 (1) %d 控制输出十进制整数; (2) %md m 指定输出宽度,若 m < 数据宽度,按实际位数输出;若 m >数据宽度, 则 左端补以空格; (3) %o 控制输出八进制整数,输出的数值不带符号; (4) %x 控制输出十六进制整数,输出的数值不带符号; (5) %u 控制输出十进制 unsigned 型整数; (6)%c 控制输出一个字符; (7) %s 控制输出一个字符串; (8) %m.ns,%-m.ns 控制输出一个字符串, m 控制输出字符的宽度,n 表示从字符串左 端开始,输出字符个数;-表示字符串向左靠,右补空格; (9) %f 控制以小数形式,输出一个实数; (10) %m.nf,%-m.nf 控制以小数形式,输出一个实数; m 表示输出实数的宽度;n 表示输出小数的位数; -表示实数输出向左靠,右补空格; (11) %e 控制以指数形式输出实数; (12) 如输出 % , 则应在格式控制字符串中使用两个连续的%。 如 printf(“% .2f%%”,1.0/5) ; //输出 20. 00%。 基础训练(A) 一、填空题 1. C 语句分为 5 种: 、函数调用语句、 、空语句和 。 2. 一个基本语句的最后一个字符是 。 3. 复合语句又称分程序,是用 括起来的语句。 使用 C 语言库函数时,要用于预编译命令 将有关的“头文件”包括到用 户源文件中。 5. 使用标准输入输出库函数时,程序的开头要有如下预处理命令: 。 6. { a=3;c+=a-b; } 在语法上被认为是 条语句。 7. getchar 函数的作用是从终端输入 个字符。 8. 如果从键盘输入字符’a’并按回车键,请写出以下程序运行效果 。 #include <stdio.h> main() {
第二部分¢语言程序设计同步训练 121 putchar(getchar()) 9.以下程序的输出结果为 short i printf(wni:dec=告d,oct=旨O,hex=是x, unsigned=告u\n”,主,主,i,i); 10.以下程序的输出结果为 printf(”*f,号4.3f*n”,3.14,3.1415); 11.以下程序的输出结果为 main() har c= printf("c:dec=号d,Oct=告O,hex=x, ASCII=cn”,C,C,C,C); 12.已有定义intd=-2;执行以下语句后的输出结果为 printf(”*d(1)=d*d(2)=3d*d(3)=8-3d*\n”,d,d,d) printf(*d(4)=告o*d(5)=号7o*d(6)=旨-7o*\n”,d,d,d) 13.以下程序的输出结果为 printf(Mx=dy=旨d*sum*=旨d\n”,x,Y,x+y); printf("10 Squared is: % d\n", 10*10) 14.以下程序的输出结果为 #include <stdio. h> main() f1oata=123.456; double h=8765.4567; printf(”(1)fn",a); printf("(2)814.3f\n",a) printf("(3)6.4f\n", a) printf("(4)影1f\n”,b); printf(”(5)14.31f\n”,b); printf("(6)器8.41fn”,b) printf(”(7).4fn”,b)
第二部分 C 语言程序设计同步训练 ·121· ·121· putchar(getchar()); } 9. 以下程序的输出结果为 。 main() { short i; i=-4; printf(“\ni:dec=%d,oct=%o,hex=%x,unsigned=%u\n”,i,i,i,i); } 10. 以下程序的输出结果为 。 main() { printf(“*%f,%4.3f*\n”,3.14,3.1415); } 11. 以下程序的输出结果为 。 main() { char c=‘x’; printf(“c:dec=%d,oct=%o,hex=%x,ASCII=%c\n”,c,c,c,c); } 12. 已有定义 int d=-2;执行以下语句后的输出结果为 。 printf(“*d(1)=%d*d(2)=%3d*d(3)=%-3d*\n”,d,d,d); printf(“*d(4)=%o*d(5)=%7o*d(6)=%-7o*\n”,d,d,d); 13. 以下程序的输出结果为 。 main() { int x=1,y=2; printf(“x=%d y=%d *sum*=%d\n”,x,y,x+y); printf(“10 Squared is:%d\n”,10*10); } 14. 以下程序的输出结果为 。 #include <stdio.h> main() { float a=123.456; double b=8765.4567; printf(“(1) %f\n”,a); printf(“(2) %14.3f\n”,a); printf(“(3) %6.4f\n”,a); printf(“(4) %lf\n”,b); printf(“(5) %14.3lf\n”,b); printf(“(6) %8.4lf\n”,b); printf(“(7) %.4f\n”,b); }
C语言程序设计上机指导与同步训练 、判断题 1.所谓函数体实际上就是一个复合语句。() 2.C语言本身不提供输入输出语句,输入和输出操作是由函数来实现的。() 3. putchar函数可以向终端输出一个整数数据。( 4.考虑到 printf和 scanf函数使用频繁,系统允许在使用这两个函数时可不加# include 5.任何表达式都可以加上分号而成为有意义的语句。() 三、选择题 1.以下不属于控制语句的是()。 A)表达式语句 B)选择语句C)循环语句D)转移语句 2. putchar函数可以向终端输出一个() A)整型变量表达式值 B)实型变量值 )字符串 D)字符或字符型变量值 getchar函数的参数个数是()。 )0 D)任意 4.以下程序的输出结果是() main() printf("\n*sl=%15s*","chinabeijing") printf("\n*s2=%-5s*","chi") A)*sl=chinabeijing B)*sI=chinabeijing C)*sI=*chinabeijing* D)*sI=chinabeijing* 5. printf函数中用到格式符%5,其中数字5表示输出的字符串占用5列。如果字符串 长度大于5,则输出按方式():如果字符串长度小于5,则输出按方式() A)从左起输出该字串,右补空格 B)按原字符长从左向右全部输出 C)右对齐输出该字串,左补空格 D)输出错误信息 6.已有定义inta=2,和输出语句: print(%8x”a)以下正确的叙述是() A)整型变量的输出格式符只有%d一种 B)%x是格式符的一种,它可以适用于任何一种类型的数据 C)%ⅹ是格式符的一种,其变量的值按十六进制输出,但%8X是错误的 D)%8X不是错误的格式符,其中数字8规定了输出字段的宽度
·122· C 语言程序设计上机指导与同步训练 ·122· 二、判断题 1. 所谓函数体实际上就是一个复合语句。( ) 2. C 语言本身不提供输入输出语句,输入和输出操作是由函数来实现的。( ) 3. putchar 函数可以向终端输出一个整数数据。( ) 4. 考虑到 printf 和 scanf 函数使用频繁,系统允许在使用这两个函数时可不加#include 命令。( ) 5. 任何表达式都可以加上分号而成为有意义的语句。( ) 三、选择题 1. 以下不属于控制语句的是( )。 A) 表达式语句 B) 选择语句 C) 循环语句 D) 转移语句 2. putchar 函数可以向终端输出一个( )。 A) 整型变量表达式值 B) 实型变量值 C) 字符串 D) 字符或字符型变量值 3. getchar 函数的参数个数是( )。 A) 1 B) 0 C) 2 D) 任意 4. 以下程序的输出结果是( )。 main() { printf(“\n*s1=%15s*”, “chinabeijing”); printf(“\n*s2=%-5s*”, “chi”); } A) *s1=chinabeijing * B) *s1=chinabeijing * *s2=**chi* *s2=chi * C) *s1=*chinabeijing* D) *s1=chinabeijing* *s2=chi* *s2=chi * 5. printf 函数中用到格式符%5s,其中数字 5 表示输出的字符串占用 5 列。如果字符串 长度大于 5,则输出按方式( );如果字符串长度小于 5,则输出按方式( )。 A) 从左起输出该字串,右补空格 B) 按原字符长从左向右全部输出 C) 右对齐输出该字串,左补空格 D) 输出错误信息 6. 已有定义 int a=-2;和输出语句:printf(“%8lx”,a);以下正确的叙述是( )。 A) 整型变量的输出格式符只有%d 一种 B) %x 是格式符的一种,它可以适用于任何一种类型的数据 C) %x 是格式符的一种,其变量的值按十六进制输出,但%8lx 是错误的 D) %8lx 不是错误的格式符,其中数字 8 规定了输出字段的宽度
第二部分¢语言程序设计同步训练 123· 能力提高(B) 、选择题 1.以下C程序正确的运行结果是( main () 1ongy=-43456; printf("y=号-81dn”,y) printf("y=8-08ld\n",y) printf("y=081d\n",y) printf("y=8+8ld\n",y) A)y=-43456 B)y=-43456 y=-43456 y=-43456 y=-0043456 0043456 y=-43456 y=+43456 )y=-43456 y=-43456 y=-0043456 y=-0043456 y=00043456 y=-43456 y=+43456 2.以下C程序正确的运行结果是()。 main() int y=2456 printf("y=83on”,y) printf("y=8o\n",y); printf("y=8#8o\n",y)i B)y=4630 y=2456 y=##计##2456 =#######4630 C)y=2456 D)y=4630 y=02456 y=04630 二、若a=3,b=4,c=5,x=1.2,y=24,u=51274,n=128765,cl=a’,c2=b’。想得到 以下的输出格式和结果,请写出程序(包括定义变量类型和设计输出)。 要求输出的结果如下:口表示空格 x=1.200000y=24000002-3.600000 x+y=口3.60口口y+z=1.20口口z+x=2.40 =口51274口n=□口口128765
第二部分 C 语言程序设计同步训练 ·123· ·123· 能力提高(B) 一、选择题 1. 以下 C 程序正确的运行结果是( )。 main() { long y=-43456; printf(“y=%-8ld\n”,y); printf(“y=%-08ld\n”,y); printf(“y=%08ld\n”,y); printf(“y=%+8ld\n”,y); } A) y= -43456 B) y= -43456 y= -43456 y= -43456 y= -0043456 y= -0043456 y= -43456 y=+43456 C) y= -43456 D) y= -43456 y= -43456 y= -0043456 y= -0043456 y=00043456 y= -43456 y= +43456 2. 以下 C 程序正确的运行结果是( )。 main() { int y=2456; printf(“y=%3o\n”,y); printf(“y=%8o\n”,y); printf(“y=%#8o\n”,y); } A) y=2456 B) y=4630 y=2456 y=4630 y=########2456 y=########4630 C) y=2456 D) y=4630 y=2456 y=4630 y=02456 y=04630 二、若 a=3,b=4,c=5,x=1.2,y=2.4,u=51274,n=128765,c1=’a’,c2=’b’。想得到 以下的输出格式和结果,请写出程序(包括定义变量类型和设计输出)。 要求输出的结果如下:□表示空格 a=□3□□b=□4□□c=□5 x=1.200000,y=2.400000,z=-3.600000 x+y=□3.60□□y+z=-1.20□□z+x=-2.40 u=□51274□□n=□□□128765