如何写论文?写好论文?免费论文网提供各类免费论文写作素材!
当前位置:免费论文网 > 范文百科 > 用scanf函数输入数据,使a=3

用scanf函数输入数据,使a=3

来源:免费论文网 | 时间:2016-09-28 14:10:43 | 移动端:用scanf函数输入数据,使a=3

篇一:C语言第三、四章作业题答案

东华理工大学:C语言第三章作业题

闭/开卷 课程类别:考试/考查

第三章 顺序结构程序设计

一、选择题

1.C语言中调用printf进行输出时需要注意,在格式控制串中,格式说明与输出项的个数必须相同。如果格式说明的个数小于输出项的个数,多余的输出项将 A;如果格式说明的个数多于输出项的个数,则对于多余的格式将输出不定值(或0)。 A)不予输出 B)输出空格

C)照样输出 D)输出不定值或0

2.在 scanf函数的格式控制中,格式说明的类型与输入的类型应该一一对应匹配。如果类型不匹配,系统 B 。 A)不予接收

B)并不给出出错信息,但不可能得出正确信息数据 C)能接受正确输入

D)给出出错信息,不予接收输入

3.下列说法正确的是。

A)输入项可以是一个实型常量,如scanf("%f",4.8);

B)只有格式控制,没有输入项也能进行正确输入,如scanf("a=%d,b=%d"); C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如

scanf("%5.3f",&f);

D)当输入数据时,必须指明变量的地址,如scanf("%f",&f);

4.根据题目中已给出的数据的输入和输出形式,程序中输入/输出语句的正确是 main()

{int a;float x;

printf("input a,x:"); 输入语句 输出语句 }

输入形式 input a,x:3 2.1 输出形式a+x=5.10

A)scanf("%d,%f",&a,&x);

printf("\na+x=%4.2f",a+x);

B)scanf("%d %f",&a.&x);

printf("\na+x=%4.2f",a+x);

C)scanf("%d %f",&a,&x);

printf("\na+x=%6.1f",a+x);

D)scanf("%d %3.1f",&a,&x); printf("\na+x=%4.2f",a+x);

5.以下程序的输出结果是。 main() {

int i=010,j=10,k=0x10; printf("%d,%d,%d\n",i,j,k);

A)8,10,16 B)8,10,10 C)10,10,10 D)10,10,16 6.以下程序的输出结果是。 main() {

int i=011,j=11,k=0x11; printf("%d,%d,%d\n",i,j,k); }

A)9,11,17 B)9,11,11 C)11,11,11 D)11,11,16 7.以下程序的输出结果是。 #include<stdio.h> main()

{printf("%d\n",NULL);}

A)不确定的值(因变量无定义) B)0 C)-1 D)1 8.以下程序的输出结果是。 main() {

char c1='6',c2='0';

专用考试纸 请勿浪费 C语言第一章作业题第1页 共12页

printf("%c,%c,%d,%d\n",c1,c2,c1-c2,c1+c2); }

A)因输出格式不合法,输出出错信息B)6,0,6,102 C)6,0,7,6 D)6,0,5,7 9.设有如下定义 int x=10,y=3,z; 则语句

printf("%d\n",z=(x%y,x/y)); 的输出结果是A。

A)3B)0 C)4 D)1 10.设有如下定义 int x=10,y=5,z; 则语句

printf("%d\n",z=(x+=y,x/y)); 的输出结果是 D 。

A)1B)0 C)4 D)3 11.以下程序的输出结果是 main()

{int x=10,y=10;

printf("%d %d\n",x--,--y); }

A)10 10 B)9 9 C)9 10 D)10 9 12.写出下面程序的输出结果。 main() {int x;

x=-3+4*5-6;printf("%d",x); x=3+4%5-6;printf("%d",x); x=-3*4%6/5;printf("%d",x); x=(7+6)%5/2;printf("%d",x); }

A)11 1 0 1B)11 -3 2 1C)12 -3 2 1 D)11 1 2 1 13.写出下面程序的输出结果。 main() {

int x,y,z; x=y=1;

z=x++-1;printf("%d,%d\t",x,z);

z+=-x++ +(++y);printf("%d,%d",x,z); }

A)2,0 3,0 B)2,1 3,0C)2,0 2,1D)2,1 0,1 14.写出下面程序的输出结果 main() { int i,j;

i=20;j=(++i)+i;printf("%d",j); i=13;printf("%d %d),i++,i); }

A)42 14,13 B)41 14,14 C)42 13 13 D)42 13 14

15.若有定义:int x,y;char a,b,c;并有以下输入数据(此处,<cr>代表换行符) 1 2<cr> A B C<cr>

则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是 C 。

A)scanf("x=%dy=%d",&x,&y);a=getchar();b=getchar();c=getchar(); B)scanf("%dy%d",&x,&y);a=getchar();b=getchar();c=getchar(); C)scanf("%d%d%c%c%c%c%c%c",&x,&y,&a,&a,&b,&b,&c,&c); D)scanf("%d%d%c%c%c",&x,&y,&a,&b,&c); 16.若已知a=10,b=20,则表达式!a<b的值为

A)10 B)20C)1 D)0

17.printf函数中用到格式符"%4s",其中数字4表示输出的字符串站用4列。如果字符串长度大于4,则按原字符长从左向右全部输出;如果字符串长度小于4,则输出方式为 C。

A)从左起输出该字符串,右补空格 B)按原字符长从左向右全部输出 C)右对齐输出该字符,左补空格D)输出错误信息 18.以下C程序,正确的运行结果是。 main() {

long y=-34567;

printf("y=%-8ld\n",y); printf("y=%-08ld\n",y); printf("y=%08ld\n",y); printf("y=%+8ld\n",y); }

A)y= -34567 B)y=-34567

专用考试纸 请勿浪费 C语言第一章作业题第2页 共12页

y=- 34567 y=-34567 y=-0034567 y=-0034567 y=-34567y=+ -34567

C)y=-34567 D)y= -34567

y=-34567y=-0034567y=-0034567 y=00034567

y=-34567y=+34567

19. C程序的基本编译单位是。(01~02第二学期试题)

A)函数 B)文件 C)源文件D)子程序 20. 设有如下定义和执行语句,其输出结果为:(03试题) int a=3,b=3;

a = - -b + 1; printf(“%d %d”,a,b);

A)3 2 B)4 2C)2 2D)2 3

21. 根据定义和数据的输入方式,输入语句的正确形式为:。(往届试题) 已有定义:float a1, a2; 数据的输入方式: 4.523 3.52

A)scanf(“%f %f ”, &a1,&a2); B)scanf(“%f ,%f ”, a1, a2);

C)scanf(“%4.3f ,%3.2f ”, &a1,&a2); D)scanf(“%4.3f %3.2f ”, a1,a2);

22. 以下程序的输出结果是:。(往届试题) main( )

{ int I=012, j=12, k=0x12; printf(“%d,%d,%d\n”,I, j, k );

A)10, 12, 18 B)12, 12, 12 C)10, 12, 12 D)12, 12, 18

23. 以下程序的输出结果是:(注:▂表示空格)(往届试题) main( )

{ printf(“\n*s1=%8s*”, “china”);

printf(“\n*s2=%-5s*”, “chi”) ; }

A)*s1=china▂ ▂ ▂* B)*s1=china▂ ▂ ▂*

*s2=chi**s2=chi▂ ▂*

C)*s1=▂ ▂ ▂china* D)*s1=▂ ▂ ▂china*

*s2=▂ ▂chi **s2=chi▂ ▂*

表达式语句。

2. 3.putchar

4.printf是C语言提供的标准输出函数,它的作用是在终端设备上(或系统隐含的输出设备上)按照指定的格式进行输出。

5.printf 6.对不同类型的语句有不同的格式字符。格式字符是用来输出十进制整数, 格式字符是用来输出一个字符,

7.%-ms表示如果串长,则在m列范围内,字符串向 空格。

8.如果要输出字符“&”,则应该在“格式控制”字符串中用表示。 9.getchar函数的作用是

10.符号“&”是运算符,&a是指。

11.scanf函数中的“格式控制”后面应当是 12.C

13.复合语句是由一对括起来的若干语句组成。 14.分析下面程序: #include<stdio.h> main() {

int x=2,y,z;

x*=3+2;printf("%d\n",x);

x*=y=z=4;printf("%d\n",x);

x=y=z;printf("%d\n",x);

x=(y=z);printf("%d\n",x);}

程序的输出结果为。

15.编制程序对实数a与b进行加,减,乘,除计算,要求显示如下结果。 jia=70.000000 jian=30.000000 cheng=1000.000000 chu=2.5000000 程序:

#include<stdio.h> void main(void)

);

二.填空题

1.C语言中的语句可分为5

专用考试纸 请勿浪费 C语言第一章作业题第3页 共12页

); }

将缺少的部分填在空白处。

16.下列程序的输出结果是。 #include<stdio.h> main() {char a; a='A';

printf("%d%c",a,a); }

17.分析下面程序 main {

int x=2,y,z;

x*=3+2;printf("%d\n",x);

x*=y=z=4;printf("%d\n",x);

x=y=1;

z=x++-1;printf("%d,%d\n",x,z);

z+=-x++ +(++y);printf("%d,%d",x,z); }

程序的输出结果是。

18.分析下面程序 main() {

int x,y;

x=16,y=(x++)+x;printf("%d\n",y); x=15;printf("%d,%d\n",++x,x); x=20,y=x-- +x;printf("%d\n",y); x=13;printf("%d,%d",x++,x); }

程序的输出结果是。

19.以下程序的输出结果为:__3.140000,3.142__________。(03试题)main( )

{float a=3.14, b=3.14159;

printf(“%f, %5.3f\n”,a,b);}

20.以下程序的输出结果为:___a回车_________。(04~05第二学期试题)

#include<stdio.h> main( ) { char c1,c2;

c1=?a?; c2=?\n?;

printf(“%c%c”,c1,c2); }

专用考试纸 请勿浪费 C语言第一章作业题第4页 共12页

东华理工大学:C语言第四章作业题

闭/开卷 课程类别:考试/考查

y=1; c=0;

c=x++||y++;

printf(“\n%d%d%d\n”,x,y,c); }

A)110B)211 C)011 D)001 6.以下程序的运行结果是() main( ) {

int c,x,y; x=0; y=0; c=0;

c=x++&&y++;

printf(“\n%d%d%d\n”,x,y,c); }

A)100B)211 C)011 D)001 7.判断字符型变量ch为大写字母的表达式是()

A)?A?<=ch<=?Z?B)(ch>=?A?)&(ch<=?Z?) C)(ch>=?A?)&&(ch<=?Z?)D)(ch>=?A?)AND(ch<=?Z?) 8.判断字符型变量ch为小写字母的表达式是()

A)?a?<=ch<=?z? B)(ch>=a)&&(ch<=z) C)(ch>=?a?)||(ch<=?z?)D)(ch>=?a?)&&(ch<=?z?) 9.以下if语句书写正确的是。()

A)if(x=0;) B)if(x>0)

printf(”%f”,x);{x=x+1; printf(”%f”,x);} else printf(”%f”,-x); else printf(”%f”,-x);

C)if(x>0); D)if(x>0)

{x=x+1; printf(”%f”,x);} {x=x+1; printf(”%f”,x) } else printf(”%f”,-x); else printf(”%f”,-x); 10.分析以下程序: main( )

{ int x=5,a=0,b=0;

if(x=a+b) printf(“** **\n”); elseprintf(“## ##\n”); 以上程序D 。()

A)有语法错,不能通过编译 B)通过编译,但不能连接

第四章 选择结构程序设计

一、选择题

1.下列运算符中优先级最高的是。()

A)> B) + C) && D)!=

2.以下关于运算符优先级的描述中,正确的是。()

A)!(逻辑非)>算术运算>关系运算>&&(逻辑与)>||(逻辑或)>赋值运算 B)&&(逻辑与)>算术运算>关系运算>赋值运算

C)关系运算>算术运算>&&(逻辑与)>||(逻辑或)>赋值运算 D)赋值运算>算术运算>关系运算>&&(逻辑与)>||(逻辑或) 3.逻辑运算符的运算对象的数据类型()

A)只能是0或1 B)只能是.T.或.F. C)只能是整型或字符型 D)任何类型的数据

4.能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是。()

A)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100) B)(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100) C)(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100) D)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100) 5.以下程序的运行结果是。() main( ) {

int c,x,y; x=1;

专用考试纸 请勿浪费 C语言第一章作业题第5页 共12页

篇二:C程序设计第三版答案

C程序设计第三版答案

1.5请参照本章例题,编写一个C程序,输出以下信息: ************

Very Goodj!

************

解:

main()

{

printf(" ************\n");

printf("\n");

printf(" Very Good! \n");

printf("\n");

printf(" ************\n");

}

1.6编写一个程序,输入a b c三个值,输出其中最大者。 解:main()

{int a,b,c,max;

printf("请输入三个数a,b,c:\n");

scanf("%d,%d,%d",&a,&b,&c);

max=a;

if(max<b)

max=b;

if(max<c)

max=c;

printf("最大数为:%d",max);

}

第三章

3.3 请将下面各数用八进制数和十六进制数表示:

(1)10 (2)32 (3)75 (4)-617

(5)-111 (6)2483 (7)-28654 (8)21003

解:十 八 十六

(10)=(12)=(a)

(32)=(40)=20

(75)=(113)=4b

(-617)=(176627)=fd97

-111=177621=ff91

2483=4663=963

-28654=110022=9012

21003=51013=520b

3.5字符常量与字符串常量有什么区别?

解:字符常量是一个字符,用单引号括起来。字符串常量是由0个或若干个字符

而成,用双引号把它们括起来,存储时自动在字符串最后加一个结束符号'\0'.

3.6写出以下程序的运行结果:

#include<stdio.h>

void main()

{

char c1='a',c2='b',c3='c',c4='\101',c5='\116';

printf("a%c b%c\tc%c\tabc\n",c1,c2,c3);

printf("\t\b%c %c\n",c4,c5);

解:程序的运行结果为:

aabb cc abc

A N

3.7将"China"译成密码.密码规律:用原来的字母后面第4个字母代替原来的字母,

例如,字母"A"后面第4个字母是"E",用"E"代替"A".因

此,"China"应译为"Glmre".

请编一程序,用赋初值的议程使c1,c2,c3,c4,c5分别变成

'G','1','m','r','e',并

输出.

main()

{char c1="C",c2="h",c3="i",c4='n',c5='a';

c1+=4;

c2+=4;

c3+=4;

c4+=4;

c5+=4;

printf("密码是%c%c%c%c%c\n",c1,c2,c3,c4,c5);

}

3.8例3.6能否改成如下:

#include<stdio.h>

void main()

{

int c1,c2;(原为 char c1,c2)

c1=97;

c2=98;

printf("%c%c\n",c1,c2);

printf("%d%d\n",c1,c2);

}

解:可以.因为在可输出的字符范围内,用整型和字符型作用相同.

3.9求下面算术表达式的值.

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

(2)(float)(a+b)/2+(int)x%(int)y=3.5(设

a=2,b=3,x=3.5,y=2.5)

3.10写出下面程序的运行结果:

#include<stdio.h>

void main()

{

int i,j,m,n;

i=8;

j=10;

m=++i;

n=j++;

printf("%d,%d,%d,%d\n",i,j,m,n);

}

解:结果:9,11,9,10

第4章

4.4.a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,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

c1='a' or 97(ASCII)

c2='B' or 98(ASCII)

解:

main()

{

篇三:C程 第3单元作业2 数据IO

第3单元作业2 数据IO

注:本次作业100分。请将答案写到后面的模板中。

1.说明下列每对scanf格式串是否等价?如果不等价请指出它们的差异。可举例说明。(8分)

(1)“%d”与“ %d”

(2)“%d-%d-%d”与“%d -%d -%d”

(3)“%f”与“%f ”

(4)“%f,%f”与“%f, %f ”

2.假设scanf函数调用的格式如下:(6分)

scanf(“%d%f%d”,&i,&x,&j);

如果用户录入如下信息:

10.3 5 6

调用执行后变量i、x、j的值分别是多少?(假设i j都是int型,x是float型)。

3.假设scanf函数调用的格式如下:(6分)

scanf(“%f%d%f”,&x,&i,&y);

如果用户录入如下信息:

12.3 45.6 789

调用执行后变量x、i、y的值分别是多少?(假设x y都是float型,i是int型)。

4.假设按照下列形式调用scanf函数:(8分)

n=scanf(“%d%f%d”,&i,&x,&j);

(其中i j n都是int型变量,x是float型变量)假设输入流中含有下面所示的字符,请指出这个调用后i、j、n、x的值。此外,请说明一下调用会消耗掉哪些字符。

(1)10?20?30¤

(2)1.0?2.0?3.0¤

(3)0.1?0.2?0.3¤

(4).1?.2?.3¤

5.下面的printf函数产生的输出分别是什么?(8分)

(1)printf(“%6d,%4d”,86,1040 );

(2)printf(“%12.5e”,20.253 );

(3)printf(“.4f”,83.162 );

(4)printf(“%-6.2g”, .0000009979 );

6.编写printf函数调用以下格式来显示float型变量x:(8分)

(1)指数表示形式:最小为8的字段宽度内左对齐;小数点后保留1位数字

(2)指数表示形式:最小为10的字段宽度内右对齐;小数点后保留6为数字

(3)十进制表示形式:最小为8的字段宽度内左对齐;小数点后保留3位数字

(4)十进制表示形式:最小为6的字段宽度内右对齐;小数点后无数字

7.指出如果printf函数用%#012.5g作为转换说明来执行显示操作,下列数据显示的形式:(8分)

(1)83.7361

(2)29748.6607

(3)1054932234.0

(4)0.0000235218

8.按要求补充下面程序代码,并运行通过。(8分)

include <stdio.h>

int main()

{ int a;

unsigned b;

long c;

unsigned long d;

printf("enter a b:\n");

/*参照后面的人机交互形式1,编写一条scanf语句输入变量a b 的值。*/

/*参照后面的人机交互形式2,编写一条printf语句输出a、b的值*/

getchar();

printf("enter c d:\n");

/*参照后面的人机交互形式3,编写一条scanf语句输入变量c d 的值。*/

/*参照后面的人机交互形式4,编写一条printf语句输出c、d的值*/

return 0;

}

要求:补充程序中的printf和scanf,使得程序运行后人机交互形式和程序输出形式如下所示:

enter a b:

a=3?b=4?/* 形式1:编写scanf.注:?表示空格 */

a=??3;b=??4/* 形式2: 编写printf. 说明:要求在3个域宽内右对齐 */

enter c d:

c=51274;d=128765? /* 形式3:编写scanf. */

c=51274?????;d=128765???? /* 形式4:编写printf. 说明:要求在10个域宽内左对齐 */ 思考:删除程序中的getchar() ; 后运行程序会出现什么情况?getchar()在这里什么作用?

9.按要求补充程序代码,并运行通过。(6分)

#include <stdio.h>

int main()

{ char c1,c2;

printf("enter c1,c2:\n");

/*参照人机交互形式1,编写一条scanf语句输入变量c1 c2的值。*/

/*参照人机交互形式2,编写一条printf语句输出c1的两种显示形式:字符和ASCII值*/

/*参照人机交互形式3,编写一条printf语句输出c2的两种显示形式:字符和ASCII值*/

return 0;

}

要求:补充程序中的printf和scanf,使得程序运行后人机交互形式和程序输出形式如下所示:

enter c1 ;c2:

c1=a;c2=b? /* 形式1:编写scanf. */

c1=‘a’?or?97(ASCII) /* 形式2:编写pirntf.说明: 输出字符与其Ascii码值*/

c2=‘b’?or?98(ASCII) /* 形式3:编写pirntf.说明: 输出字符与其Ascii码值*/

10.读程序写结果。下面程序运行后若输入123.45678,输出结果是什么?(4分)

#include <stdio.h>

int main()

{ float x;

printf("enter x:");

scanf("%f",&x);

printf("x=|%-15.4f|\nx=|%15.4f|\nx=|%15.2e|\nx=|%15.4g|\n",x,x,x,x);

}

11.编写一个程序,接收用户录入的日期信息并且将其显示出来。其中,输入日期的形式为月/日/年(即mm/dd/yy),输出日期的形式为年月日(即yymmdd)。格式如下所示:(10分) Enter a date(mm/dd/yy): 2/17/96

You entered the date 960217

提示:输出年月日时都是两位输出,若不满两位则前面补0

12.编写一个程序,对用户录入的产品信息进行格式化。程序运行后需有如下会话:(10分) Enter item number: 583 Enter unit price:13.5 Enter purchase date(mm/dd/yy): 10/24/95

item Unit Purchase

Price Date

583 $ 13.50 10/24/95

其中,数字项和日期项采用左对齐方式;单位价格采用右对齐方式,美元单价的最大取值为9999.99。

提示:使用\t控制列对齐

13.图书用国际标准图书编号(ISBN)进行标识,如0-393-30375-6。编号中的第一个数字说明编写书籍所用的语言(例如,0表示英语,3表示德语)。接下来的一组3个数字表示出版社(例如,393是清华出版社的编号),而随后的一组5个数字则是出版社设定的,用来识别图书(例如,30375是作者莫言的一本书《红高粱》的编号)。最后,结尾一个数字是“校验数字”,它用来验证前面数字的准确性。(10分)

编写一个程序来分解用户录入的ISBN信息,格式如下: Enter ISBN: 0-393-30373-6

Language:0

Publisher:393

Book Number:30375

Check digit:6

第3单元作业2:数据IO

序号:____ 姓名:__ _______实验课时间:_____ _______ 分数:_________


用scanf函数输入数据,使a=3》由:免费论文网互联网用户整理提供;
链接地址:http://www.csmayi.cn/show/58486.html
转载请保留,谢谢!
相关文章