内容发布更新时间 : 2024/11/17 21:48:05星期一 下面是文章的全部内容请认真阅读。
4 最简单的C程序设计—顺序程序设计
一、单项选择题
1、printf(\的输出结果是( )。
A. f=3.48% B. f=3.5% C. f=3.48% % D. f=347.8% 2、printf(\;的输出结果是( )。 A. a,97 B. a 97 C. 97,a D. 97 a 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<回车>。则输出结果是:( ) A.1267 B.1256 C.1278 D.1245
4、若一个 int 类型的数据占 2 字节,则程序段:int x= 1;printf(\的输出结果是( )。
A. 65535, 1 B. 1,65535 C. 32767, 32768 D. 32768,32767
5、在TC 中getchar、putchar、printf、scanf 四个函数,均包含在头文件( )中。 A. math.h B. stdio.h C. stbio.h D. stdlib.h 6、复合语句是用( )括起来的语句组。
A. ( ) B. [ ] C. { } D. < >
7、下列格式符中,哪一个可以用于以八进制形式输出整数( )。 A. %d B. ? C. %o D. %ld
8、下列格式符中,哪一个可以用于以十六进制形式输出整数( )。 A. d B. %8x C. ?6 D. %d
9、a 是int类型变量,c是字符变量,下列输入语句中哪一个是错误的( )。 A. scanf(\
C. scanf(\
10、要使double x; long a;的数据能正确的输出,输出语句应是( )。 A. printf(\ B. printf(\C. scanf(\ D. printf(\
二、程序改错题
1、以下程序的功能是,从键盘输入一个字符并鸣笛输出。 # include \ mian( )
- 6 -
{ char c getchar(c);
putchar('007') ; /*鸣笛*/ c=putchar( ); 2、以下程序的功能是,输入长方形的两边长(边长可以取整数和实数),输出它的面积和周长。 main
{ int a,b,s,l;
scanf(\ s=a*b; l=a+b;
printf(\ }
三、写出程序运行结果
1、 main( )
{ int a,b;
scanf(\ printf(\ }
运行时输入:12345678 ,输出结果是 。 2、 main( )
{ int a=3,b=5,x,y;
x=a+1,b+6; y=(a+1,b+6); printf(\ }
输出结果是 __。
四、编程题
1、输入 3 个整数,计算它们的和与平均值,平均值的结果保留 2 位小数。
- 7 -
2、输入两个实数a,b,然后交换它们的值,最后输出(提示:要交换两个数得借助一个中间变量temp。首先让temp存放a的值,然后把b存入a,再把temp存入b就完成了)。
5 选择结构程序
一、单项选择题
1、假定所有变量均已正确定义,下列程序段运行后x 的值是( )。
a=b=c=0, x=35; if(!a) x--; else if(b); if(c) x=3; else x=4; A. 34 B. 4 C. 35 D. 3 2、有以下程序段,其输出结果是:( )
inta,b,c; a=10;b=50;c=30; if(a>b) a=b,b=c; c=a; printf(\b=%d c=%d\\n\
A.a=10 b=50 c=10 B.a=10 b=50 c=30 C.a=10 b=30 c=10 D.a=50 b=30 c=50 3、有以下程序段,其输出结果是:( )
int x=1,y=2,z=3; if(x>y) if(y printf(\ A.331 B.41 C. 2 D.1 4、程序段int x=5,y=8,max; max=(x>y)?x:y; printf(\的输出结果是( )。 A. 5 B. 3 C. 8 D. 13 5、程序段 int x=3,a=1;switch(x) {case 4: a++;case 3: a++;case 2: a++;case 1: a++;} printf (\的输出结果是( )。 A. 1 B. 2 C. 3 D. 4 6、下列语句应将小写字母转换为大写字母,其中正确的是( )。 A.if(ch>='a'&ch<='z') ch=ch-32; B.if(ch>='a'&&ch<='z')ch=ch-32; C.ch=(ch>='a'&&ch<='z')?ch-32:’’; D.ch=(ch>'a'&&ch<'z')?ch-32:ch; 7、有以下程序段,其输出结果是:( ) int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y){ case 0:a++;break; case 1:b++;break; } case 2:a++;b++;break; case 3:a++;b++; - 8 - } printf(\ A.a=1,b=0 B.a=2,b=2 C. a=2,b=1 D. a=1,b=1 二、填空题 1、当a,b,c的值分别为3,4,5时,以下各语句执行后a,b,c的值为多少? (1)if(a>c) {a=b;b=c;c=a;} else {a=c;c=b;b=a;} 执行后a,b,c的值为___,___,___ (2)if(a (3)if(a!=c) ; else a=c;c=b;b=a; 执行后a,b,c的值为___,___,___ 2、若整数x分别等于95、87、100、43、66、79,则以下程序段运行后屏幕显示是什么? switch(x/10) { case 6: case 7: printf(\ case 8: printf(\ case 9: case 10: printf(\ default: printf(\ } x等于 95时,程序段运行后屏幕上显示 x等于 87时,程序段运行后屏幕上显示 x等于100时,程序段运行后屏幕上显示 x等于 43时,程序段运行后屏幕上显示 x等于 66时,程序段运行后屏幕上显示 x等于 79时,程序段运行后屏幕上显示 三、阅读程序,写出运行结果 1、 void main ( ) { int a=10, b=4, c=3; if(a printf(\} 2、void main ( ) { int x=100, a=10, b=20, ok1=5, ok2=0 ; - 9 - if(a 3、 int k,a=1,b=2; k=(a++==b) ? 2:3; printf(\ 4、void main() { int s=1,k=0; switch (s) { case 1: k+=1; case 2: k+=2; default: k+=3; } printf(“%d”,k); } 5.void main() { int s=1,k=0; switch (s) {case1: k+=1;break; case 2: k+=2;break; default: k+=3; } printf(“%d”,k) } 四、选做题 1、输入 3 个整数,按从大到小的顺序输出。 - 10 -