文档库 最新最全的文档下载
当前位置:文档库 › 简单程序设计

简单程序设计

第3章 编程语句 —— 简单程序构建的方法

一.选择题
1.以下程序的输出为 。
#include
int main( )
{
double x=213.82631;
printf("%-6.2e\n",x);
return 0;
}
A) 213.82 B) 21.38e+01 C) 2.14e+02 D) -2.14e2
2.语句printf(“%%d%d”, 123); 将输出:
A) %123%d B) %%d123 C) %d123 D)上述语句语法有错
3.以下程序的输出结果是 。
#include
int main( )
{
int x=3,y=2,z=1;
printf ("%s=%d\n", "x/y&z",x/y&z);
printf ("%s=%d\n", "x^y&~z", x^y&~z);
return 0;
}
A)x/y&z=0 B)x/y&z=1 C)s=x/y&z=0 D)x/y&z=1
s=x^y&~z =1 x^y&~z =1 x^y&~z =0 x^y&~z =0
4. 执行语句scanf (“%c%c%c”,&c1,&c2,&c3),输入abc时,变量c1、c2、c3的值分别为 。
A)'a', 'b', 'c' B)'a','b', '' C)'a', '', 'b' D)'a','','c'
5.有以下程序段:
int m=0,n=0;char c='a';
scanf("%d%c%d",&m,&c,&n);
printf("%d,%c,%d\n",m,c,n);
若从键盘上输入:10A10<回车键>,则输出结果是 。
A)10,A,10 B)10,a,10 C)10,a,0 D)10,A,0
6.若有以下变量说明和数据的输入方式,则正确的输入语句为 。
变量说明:float x1,x2;
输入方式:4.52<回车>
3.5<回车>
A)scanf(“%f,%f”,&x1,&x2); B)scanf(“%f%f”,&x1,&x2);
C)scanf(“%3.2f %2.1f”,&x1,&x2); D)scanf(“%3.2f%2.1f”,&x1,&x2);
7. 下面程序的运行结果是 。
#include
#define DATA 20+7
int main( )
{
printf("DATA=%d",DATA/3);
return 0;
}
A)DATA=22 B)DATA=21 C)DATA=9 D)以上都不对
8. 设c1,c2均是字符型变量,则以下不正确的函数调用为 。
A)scanf(“c1=%cc2=%c”,&c1,&c2); B)c1=getchar( );
C)putchar(c2); D)putchar(c1,c2);
9.若a为整型变量,则以下语句 。
a=-2L;printf(“%d\n”,a);
(A)赋值不合法 (B)输出值为-2 (C)输出为不确定值 (D)输出值为2
10.有以下程序
#include
int main( )
{ int x=102,y=012;
printf(“%2d,%2d\n”,x,y);
return 0;
}
执行后输出结果是 。
(A)10,01 (B)02,12 (C)102,10 (D)02,10
11. 以下程序输出的结果是 。
#include
int main( )
{
printf("\n*a=%15s*","chinazhongguo");
printf("\n*b=%-5s*", "chi");
return 0;
}
A)*a=chinazhongguo* B)*a=chinazhongguo*
b=**chi* *b=chi *
C)*a=* chinabeijing* D)*a= chinazhongguo*
*b=chi* *b=chi *
12.若变量c定义为float类型,当从终端输入283.1900 (代表回车键),能给变量c赋以283.19的输入语句是 。
A)sc

anf(“%f”,c); B)scanf(“%8.4f”,&c);
C)scanf(“%6.2f”,&c); D)scanf(“%8f”,&c);
13.设有如下程序段
int x=2002,y=2003;
printf("%d\n",(x,y));
则以下叙述中正确的是________。
A)输出语句中格式说明符的个数少于输出项的个数,不能正确输出
B)运行时产生出错信息
C)输出值为2002
D)输出值为2003
14. putchar 函数可以向终端输出一个 。
A)整型变量表达式的值 B)实型变量的值
C)字符串 D)字符或字符型变量的值
15.下列函数中能够向终端输出一个字符或字符型变量值的是 。
A) gets B) puts C) getchar D) putchar
16. 若有下列语句
char c=’A’;
printf(“%d”,c);
则输出的结果是 。
A) A B) c C) 65 D) 错误的语句
17. 下列程序输入’a’字母后,执行程序后输出的结果是 。
#include
int main( )
{
char c;
c=getchar();
c=c-32;
printf("%c\n",c);
return 0;
}
A)65 B) A C) 97 D) a
18.执行下列程序片段时输出结果是 。
float x=-1023.012;
printf(“\n%8.3f,”,x);
printf(“%10.3f”,x);
A)1023.012, -1023.012 B)-1023.012,-1023.012
C)1023.012,-1023.012 D)-1023.012, 1023.012
19.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,正确的数据输入方式是 。
int a1,a2; char c1,c2;
scanf(“%d%c%d%c”,&a1, &c1,&a2, &c2);
A)10A 20B↙ B)10 A 20 B↙
C)10A20B↙ C)10A20 B↙
20.对于下述语句,若将10赋给变量k1和k3,将20赋给变量k2和k4,则应按 方式输入数据。
????????int k1,k2,k3,k4;
????????scanf(“%d%d”,&k1,&k2);
????????scanf(“%d,%d”,&k3,&k4);
A)1020↙ B)10 20↙ C)10,20 ↙ D)10 20↙
1020↙ 10 20↙ 10,20↙ 10,20↙
21.阅读以下程序,当输入数据的形式为25,13,10正确的输出结果为 。
int main()
{
int x,y,z?;
scanf("%d%d%d",&x,&y,&z);
printf("x+y+z=%d\n"?,x+y+z);
return 0?;
}
A)x+y+z=48 B)x+y+z=35
C)x+z=35 D)不确定值
22.阅读以下程序,若运行结果为如下形式 ,输入输出语句的正确内容是 。
main()
{int x; float y;
printf("enter x,y:")
输入语句
输出语句
}
输入形式 enter x,y: 2 3.4
输出形式 x+y=5.40
A)scanf("%d,%f",&x,&y);printf("\nx+y= %4.2f",x+y);
B)scanf("%d%f",&x,&y );printf("\nx+y=%4.2f",x+y);
C)scanf("%d%f",&x,&y); printf("\nx+y=%6.lf",x+y);
D)scanf("%d%3.1f",&x,&y );printf("\nx+y=%4.2f",x+y);
23.根据定义和数据的输入方式,输入语句的正确形式为 。
已有定义: float fl,f2;
数据的输入方式:4.52
3.5
A) scanf("%f,%f",&f1,&f2); B) scanf("%f%f",&f1,&f2

);
C) scanf("%3.2f%2.1f",&f2,&f1); D) scanf("%3.2f%2.1f",&f1,&f2);
24.printf函数中用到格式符%5s ,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式 。
A) 从左起输出该字串,右补空格 B) 按原字符长从左向右全部输出
C) 右对齐输出该字串,左补空格 D) 输出错误信息
25.printf函数中用到格式符%5s ,其中数字5表示输出的字符串占用5列。如果字符串长度小于5,则输出按方式 。
A) 从左起输出该字串,右补空格 B) 按原字符长从左向右全部输出
C) 右对齐输出该字串,左补空格 D) 输出错误信息
26.已有定义 int a=-2;和输出语句:printf("%8lx",a);以下正确的叙述是 。
A) 整型变量的输出格式符只有%d-种
B) %x 是格式符的-种,它可以适用于任何-种类型的数据
C) %x 是格式符的-种,其变量的值按+六进制输出,但%8lx 是错误的
D) %8lx 不是错误的格式符,其中数字8规定了输出字段的宽度
27.以下说法正确的是 。
A) 输入项可以为-实型常量,如scanf("%f",3.5);
B) 只有格式控制,没有输入项,也能进行正确输入,如scanf("a=%d,b=%d");
C) 当输入-个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%4.2f",&f);
D) 当输入数据时,必须指明变量的地址,如scanf("%f",&f);
28.根据下面的程序及数据的输入方式和输出形式,程序中输入语句的正确形式应该为: 。
main()
{char ch1 ,ch2 ,ch3;
输入语句
printf("%c%c%c",ch1,ch2,ch3);}
输入形式: A B C
输出形式: A B
A) scanf("%c%c%c",&ch1,&ch2,&ch3); B) scanf("%c,%c,%c", &ch1,&ch2, &ch3);
C) scanf("%c %c %c",&ch1,&ch2,&ch3); D) scanf("%c%c",&ch1,&ch2,&ch3);
29.有输入语句:scanf("a= %d,b= %d,c=%d",&a,&b,&c);为使变量a的值为1,b为3,c为2,
从键盘输入数据的正确形式应当是 。
A) 132(回车) B) 1,3,2(回车) C) a=1b=3c=2(回车) D) a=1,b=3,c=2(回车)

二.填空题
1.语句printf("a\bRe\'CH\'y\\\bou\n");的输出结果是 。
2.以下printf语句中%3d的作用是 ,输出结果是 。
#include
int main()
{
int i=3;
printf(“##%3d\n”,i,i);
return 0;
}
3.若a和b均为int型变量,则以下语句的功能是 。
a+=b; b=a-b; a-=b;
4. 下列程序的输出结果是14.00,请填空使程序完整。
int main ( )
{ int a=9,b=2;
???float x= , y=1.1 , z;
???z=a/2+b*x/y+1/2;
???printf(“%5.2f\n”,z);
return 0;
}
5. 下面的使用scanf函数的输入方式有 种。
int main()
{
int a,b;
scanf(“%d%d”,&a,&b);
return 0;
}

三.程序阅读
1.下面程序的输出结果是 。
#include
int main()
{
int x='f';
printf("%c\n", 'A'+(x-'a'+1));
return 0;
}
2.以下程序的输出结果为 。
int main()
{
pr

intf(“*%f,%4.3f*\n”,3.14,3.1415);
return 0;
}
3.用下面的scanf函数输入,使a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’,问在键盘上如何输入???????????
int main ( )
?{ int a,b;
???float x,y;
???char c1,c2;
???scanf(“a=%d b=%d”,&a,&b);
???scanf(“%f%f”,&x,&y);
???scanf(“%c%c”,&c1,&c2);
return 0?;
}
4.已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:B33<回车>,则输出结果是______。
#include
int main()
{
char a,b;
a=getchar();
scanf("%d",&b);
a=a-'A'+'0';b=b*2;
printf("%c %c\n",a,b);
return 0;
}
5.写出以下程序的输出结果。
??int main ( )
??{ int a=12345;
????float b=-198.345, c=6.5;
printf(“a=%4d,b=%-10.2e,c=%6.2f\n”,a,b,c);
return 0;
??}
6.写出以下程序的输出结果。
? int?main ( )
??{ int x=-2345;
????float y=-12.3;
????printf(“%6D,%06.2F”,x,y);
return 0?;
??}
7. 写出以下程序的输出结果。
??int main ( )
???{ int a=252;
?????printf(“a=%o a=%#o\n”,a,a);
?????printf(“a=%x a=%#x\n”,a,a);
return 0;
???}
8. 写出以下程序的输出结果。
??int?main ( )
??{ int x=12; double a=3.1415926;
????printf(“%6d##,%-6d##\n”,x,x);
????printf(“%f##\n”,a);
return 0;
??}

四.程序改错
1.找出下面程序中的错误,使之能够正常执行。
#include
int main()
{
int x;double y;
scanf(“%d%f”,&x,&y);
return 0?;
}
2.找出下面程序中的错误,使之能够正常执行。
#include
int main()
{
int x, y,sum;
scanf(“%d%d”, x, y);
sum=x+y?;
printf(“sum =%d”,sum);
return 0;
}
3.找出下面程序中的错误,使之能够正常执行。
#include
int main()
{
int x?;
char y?;
x=getchar()?;
y=getchar()?;
putchar(x+y)?;
return 0?;
}
五、编程题
1. 编写程序,读入3个双精度数,求它们的平均值并保留此平均值小数点后一位数,对小数点后第二位数进行四舍五入,最后输出结果。
2. 编写一个简单的C程序,输出以下信息:
* * * * * * * * * * * * *
C program!
* * * * * * * * * * * * *
3. 编写一个程序,输入一个弧度值,并将其换算成角度值(度、分、秒的形式)输出。
提示:设x为弧度,则对应的角度为180*x/∏,其整数部分为度数,余下的部分乘60,其整数部分为分数,再将余下的部分乘60,其整数部分为秒数。
4. 编写一个程序,输入一个摄氏温度,输出其对应的华氏温度。
提示:摄氏温度与华氏温度之间的转换公式为:华氏温度=9*摄氏温度/5+32。
5. 编写一个程序,输入半径,输出其圆周长、圆面积、及圆球体积。










相关文档
相关文档 最新文档