4 最简单的C程序设计—顺序程序设计
时间:2026-01-17
时间:2026-01-17
最简单的C程序设计—顺序程序设计
4 最简单的C程序设计—顺序程序设计
一、单项选择题
1、printf("f=%3.2f%%",3.478);的输出结果是( A )。
A. f=3.48% B. f=3.5% C. f=3.48% % D. f=347.8%
分析:%m.nf指定输出的数据共占m列,其中有n位小数。另外如果想输出字符“%”,则应该在“格式控制”字符串中用连续两个%表示。
2、printf("%c,%d",'a', 'a');的输出结果是( B )。
A. a,97 B. a 97 C. 97,a D. 97 a
分析:%c表示以字符形式输出,%d表示以带符号的十进制形式输出整数。
3、有以下程序段
char c1,c2,c3,c4,c5,c6;
scanf("%c%c%c%c",&c1,&c2,&c3,&c4);
c5=getchar( ); c6=getchar( );putchar(c1);putchar(c2);printf("%c%c\n",c5,c6);
程序运行后,若从键盘输入(从第1列开始):123<回车>45678<回车>。则输出结果是:( D )
A.1267 B.1256 C.1278 D.1245
分析:c1="1",c2="2",c3="3",c4="回车" ,c5="4",c6="5"。678这三个字符就相当于没有输入,因为没有变量让他储存。输出c1,c2,c5,c6,就是输出1,2,4,5。
4、若一个 int 类型的数据占 2 字节,则程序段:int x= 1;printf("%u,%d",x,x);的输出结果是( A )。
A. 65535, 1 B. 1,65535 C. 32767, 32768 D. 32768,32767 分析:在内存中数据是以2进制来表示的, %u表示以无符号十进制形式输出整数,输出65535,;%d表示以带符号的十进制形式输出整数,输出1。
5、在TC 中getchar、putchar、printf、scanf 四个函数,均包含在头文件( B )中。
A. math.h B. stdio.h C. stbio.h D. stdlib.h
6、复合语句是用( C )括起来的语句组。
A. ( ) B. [ ] C. { } D. < >
7、下列格式符中,哪一个可以用于以八进制形式输出整数( C )。
A. %d B. %8d C. %o D. %ld
分析:%d是以带符号的十进制形式输出整数;%8d表示将输入的前8位赋值给变量;%o表示以八进制无符号形式输出整数;将l加在%d间表示用于长整型整数,另外它还可以加在o、x、u前。
8、下列格式符中,哪一个可以用于以十六进制形式输出整数( B )。
A. %16d B. %8x C. %d16 D. %d
分析:%8x表示将数据以16进制显示,其长度为8个字符,不够就不空格。
9、a 是int类型变量,c是字符变量,下列输入语句中哪一个是错误的( C )。
A. scanf("%d,%c",&a,&c); B. scanf("%d%c",a,c);
最简单的C程序设计—顺序程序设计
C. scanf("%d%c",&a,&c); D. scanf("d=%d,c=%c",&a,&c);
分析:%c只要求读入下一个字符,后面不需要用空格或逗号作为两个字符之间的间隔;所以在C选项中会将“,”赋值给c。
10、要使double x; long a;的数据能正确的输出,输出语句应是( D )。
A. printf("%d, %f",a, x); B. printf("%d, %1f",a, x);
C. scanf("%1d, %1f",&a, &x); D. printf("%1d, %lf",a, x);
分析:long a表示长整形整数,输出a时应该在d之前添加l,而C选项中为scanf输入,排除,选d。
二、程序改错题
1、以下程序的功能是,从键盘输入一个字符并鸣笛输出。
# include "stdio.h" mian( ) { char c getchar(c); putchar('007') ; /*鸣笛*/ c=putchar( );
2、以下程序的功能是,输入长方形的两边长(边长可以取整数和实数),输出它的面积和周长。 main
{ int a,b,s,l;
scanf("%d,%d",&a,&b);
s=a*b; l=a+b;
printf("l=%f,s=%f\n",l);
}
三、写出程序运行结果 1、 main( )
{ int a,b;
scanf("%2d%*2s%2d",&a,&b);
printf("%d\n",a+b);
}
运行时输入:12345678 ,输出结果是 68 。
分析:scanf("%2d%*2s%2d",&a,&b)中%2d表示先将输入的前两位数赋值给a;%*2s中*表示附加说明符,表示跳过它指定的列数。
2、
main( )
最简单的C程序设计—顺序程序设计
{ int a=3,b=5,x,y;
x=a+1,b+6; y=(a+1,b+6);
printf("x=%d\ny=%d\n",x,y);
}
输出结果是 x=4(跳下一行)y=11 __。
分析:x=a+1,b+6表示将a+1赋值给x,b+6不参与赋值;
y=(a+1,b+6)表示在逗号前后的a+1与b+6中的后者赋值给y。
四、编程题
1、输入 3 个整数,计算它们的和与平均值,平均值的结果保留 2 位小数。
#include<stdio.h>
void main()
{
int a,b,c;
double sum,avg;
scanf("%d,%d,%d",&a,&b,&c);
printf("%.2f,%.2f\n",sum=a+b+c,avg=(a+b+c)/3);
}
2、输入两个实数a,b,然后交换它们的值,最后输出(提示:要交换两个数得借助一个中间变量temp。首先让temp存放a的值,然后把b存入a,再把temp存入b就完成了)。 #include<stdio.h>
void main()
{
int a,b,temp;
float(“%f,%f,%f”,&a,&b,&temp);
temp=a,a=b,b=temp;
printf(“%f,%f”,a,b);
}
…… 此处隐藏:563字,全部文档内容请下载后查看。喜欢就下载吧 ……