·124 C语言程序设计上机指导与同步训练 cI=a' dor]97(ASCII c2=B口or98(AsCI) 第2讲 知识归纳 1. scanf o函数 格式: scanf(%d%f”,&a,&x) 变量地址列表;一定是&开头,后面紧跟变量名 格式控制字符串,以%开头,用双引号括起来 说明:要求格式控制字符串中的格式符,要与所控制的变量类型匹配 (1)格式控制字符串中的格式符,与pin函数中的格式符相一致。 (2) scanf(%d%5d“,&a,&b);∥数字5,指定截取数字的位数。 (3)输入数据时,以一个或多个空格作间隔。 (4) scanf(“%d,%d“,&a,&b) 格式之间的号在入时买入 (5)在 scanf O中,这样写是错误的 scanf(“%5.2f,&x); 2不 (6)在 scanf(“%c%“,&cl,&c2);这个语句中,输入字符之间不需要输入空格间隔 符,更不需要输入其他间隔符 2.顺序结构程序设计 (1)根据问题和要求,写出算法思想; (2)会画顺序结构程序的流程图 (3)根据流程图,写出源代码。 基础训练(A) 、填空题 l. printf函数的作用是向终端 若干个任意类型的数据。 intf函数中的“格式控制”,包括 和 两种信息。 3. scanf函数中的“格式控制”后面应当是变量 而不是变量名 4.在用 scanf函数中输入数据时,如果在“格式控制”字符串中除了格式说明以外还 有其他字符,则应在对应位置输入与这些字符相同的 5.在用”C”格式输入字符时,空格字符和“转义字符”都作为有效字符
·124· C 语言程序设计上机指导与同步训练 ·124· c1=’a’ □or□97(ASCII) c2=’B’ □or□98(ASCII) 第 2 讲 知识归纳 1. scanf()函数 格式:scanf ( “% d % f ”, &a , &x ) ; 变量地址列表;一定是 &开头,后面紧跟 变量名; 格式控制字符串,以%开头,用双引号括起来。 说明:要求格式控制字符串中的格式符,要与所控制的变量类型匹配。 (1) 格式控制字符串中的格式符,与 printf()函数中的格式符相一致。 (2) scanf ( “ %d %5d “ , &a , &b) ; //数字 5 ,指定截取数字的位数。 (3) 输入数据时,以一个或多个空格作间隔。 (4) scanf ( “ %d ,%d “ , &a , &b)。 格式符之间的符号,在输入数据时,要原样输入; (5) 在 scanf ()中,这样写是错误的 scanf ( “ % 5. 2 f“ , &x ) ; .2 不能有。 (6) 在 scanf ( “ %c%c “ , &c1 , &c2) ; 这个语句中,输入字符之间不需要输入空格间隔 符,更不需要输入其他间隔符; 2. 顺序结构程序设计 (1) 根据问题和要求,写出算法思想; (2) 会画顺序结构程序的流程图; (3) 根据流程图,写出源代码。 基础训练(A) 一、填空题 1. printf 函数的作用是向终端 若干个任意类型的数据。 2. printf 函数中的“格式控制”,包括 和 两种信息。 3. scanf 函数中的“格式控制”后面应当是变量 ,而不是变量名。 4. 在用 scanf 函数中输入数据时,如果在“格式控制”字符串中除了格式说明以外还 有其他字符,则应在对应位置输入与这些字符相同的 。 5. 在用”%c”格式输入字符时,空格字符和“转义字符”都作为有效字符
第二部分¢语言程序设计同步训练 6.在输入数据时,遇以下情况时该数据认为结束:遇 、或按回车或TAB键 或按指定的宽度结束;或遇非法输入。 7.输入数据时不能规定 8.如果在%后有一个“*”附加说明符,表示 、选择题 1.若inta.b,scan(%od0%od&a,&b);不可以用()作为输入的分隔符 B)空格 C)回车 D)TAB键 2.若x,y均定义为int型,z定义为 double型,以下不合法的 scanf函数调用语句是 () A)scanf("%d%lx, %le, &x, &y, &z) B)scanf( %2d*%od%lf, &x, &y, &z); C) scanf(“%x%*d%o”,&x&y) D)scanf("%x%0%6.2f, &x, &y, &z); 3.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B, 当从第一列开始输入数据时,正确的数据输入方式是() int al, a2; char cl, c2; canf(w告d备d",&a1,&a2) A)1020AB<CR> B)1020<CR> C)10 20 AB<CR> D)10 20AB<CR 4.阅读以下程序,当输入数据的形式为25,13,10<CR>正确的输出结果为( int x canf("d各d旨d",lx,&y,z); printf("x+y+z=&d\n",x+y+z) B)x+y+z=35 C)x+z=35 D)不确定值 5.已有程序段和输入数据的形式如下,程序中输入语句的正确形式应当为( main() printf("\nInput number: " 输入语句 printf("\nf=%f, a=gd\n",f, a) Input number: 4. 5 2<CR>
第二部分 C 语言程序设计同步训练 ·125· ·125· 6. 在输入数据时,遇以下情况时该数据认为结束:遇 、或按回车或 TAB 键; 或按指定的宽度结束;或遇非法输入。 7. 输入数据时不能规定 。 8. 如果在%后有一个“*”附加说明符,表示 。 二、选择题 1. 若 int a,b; scanf(“%d%d”,&a,&b); 不可以用( )作为输入的分隔符。 A), B) 空格 C) 回车 D) TAB 键 2. 若 x,y 均定义为 int 型,z 定义为 double 型,以下不合法的 scanf 函数调用语句是 ( )。 A) scanf(“%d%lx,%le”,&x,&y,&z); B) scanf(“%2d*%d%lf”,&x,&y,&z); C) scanf(“%x%*d%o”,&x,&y); D) scanf(“%x%o%6.2f”,&x,&y,&z); 3. 已有如下定义和输入语句,若要求 a1,a2,c1,c2 的值分别为 10,20,A 和 B, 当从第一列开始输入数据时,正确的数据输入方式是( )。 int a1,a2; char c1,c2; scanf(“%d%d”,&a1,&a2); scanf(“%c%c”,&c1,&c2); A) 1020AB<CR> B) 10 20<CR> AB<CR> C) 10 20 AB<CR> D) 10 20AB<CR> 4. 阅读以下程序,当输入数据的形式为 25,13,10<CR> 正确的输出结果为( )。 main() { int x,y,z; scanf(“%d%d%d”,&x,&y,&z); printf(“x+y+z=%d\n”,x+y+z); } A) x+y+z=48 B) x+y+z=35 C) x+z=35 D) 不确定值 5. 已有程序段和输入数据的形式如下,程序中输入语句的正确形式应当为( )。 main() { int a; float f; printf(“\nInput number:”); 输入语句 printf(“\nf=%f,a=%d\n”,f,a); } Input number:4.5 2<CR>