C语言精华练习题03.docx
《C语言精华练习题03.docx》由会员分享,可在线阅读,更多相关《C语言精华练习题03.docx(13页珍藏版)》请在冰豆网上搜索。
C语言精华练习题03
单选题:
1.执行以下语句的输出结果为()
Inta=3,b=4;
If(a>b)
printf(“较大的值为:
”);
printf(“%d”,a);
else
printf(“%d”,b);
A.编译错误B.3C.4D.0
2.执行以下语句的输出结果为()
charc=‘a’;
if(c<=100)
{
printf(“%d”,c+3);
}
else
{
printf(“字符不能判断”);
}
A.编译错误B.字符不能判断C.aD.d
3.执行以下语句的输出结果为()
doublenumber=3.4;
intabc=97;
if(abc)
{
printf(“%d”,abc)
}
else
printf(“%d”,12);
A.97B.12C.编译错误D.abc
4.执行以下语句的输出结果为()
Inta=1;
If(a=0)
{
printf(“12”);
}
else
printf(“123”);
A.编译错误B.12C.123D.0
5.选择结构就是根据给定的判定条件,判断结果,并根据判断的结果来控制()。
A.程序的流程
B.程序的算法
C.程序的表达式
D.程序的逻辑
6.if...elseif与if...else的区别()。
A.if...elseif为多分支选择结构,if...else为单分支
B.if...elseif为单分支选择结构,if...else为多分支
C.if...elseif为双分支选择结构,if...else为多分支
D.if...elseif为多分支选择结构,if...else为双分支
7.设有inta=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为()
A.1
(一)
B.2
C.3
D.4
8.设有定义:
intk=0;以下选项的四个表达式中与其他三个表达式的值不相同的是()
Ak++
Bk+=1
C++k
Dk+1
9、若以下选项中的变量全部为整型变量,且已正确定义并赋值,则语法正确的switch语句是():
Aswitch(a*b+b*b){default:
break;case3:
y=a+b;break;}case2:
y=a-b;break;
Bswitch(a+b){case1:
case3:
y=a+b;break;case0:
case4:
y=a-b;}
Cswitcha*b{case10:
x=a+b;default:
y=a-b;}
Dswitch(a+9){casec1:
y=a-b;casec1:
y=a+b;}
10、
#include“stdio.h”
#defineA2+1
voidmain()
{
intx=2
inty=A*2+x++;
switch(x){
case6:
case7:
printf(“今天是周末”);
case1:
printf(“今天是周一”);
break;
case2:
printf(“今天是周二”);
break;
default:
:
printf(“你完成任务了吗?
”);
break;
}以上代码运行结果()
A输出:
今天是周末今天是周一
B输出:
今天是周一今天是星期二
C编译出错
D输出:
今天是星期一
11、以下描述正确的是()
A"switch(表达式){case1,2,3:
语句1;break;}"
B"switch(表达式);{case1:
语句1;break;}"
C"switch(表达式){case1.2:
语句1;break;}"
D"switch(表达式){case1:
语句1;break;}"
12、
#include"stdio.h"
voidmain()
{
intx=6;
switch(x)
{
case6;
case7:
printf(“今天是周末”);
case1:
printf(“今天是周一”);break;
case2:
printf(“今天是周二”);break;
default:
printf(“你完成任务了吗?
”);break;
}以上代码运行结果()
A输出:
今天是周末今天是周一
B输出:
今天是周一今天是星期二
C编译出错
D输出:
今天是星期一
13.下面程序执行后的结果是()
intm=5;
switch(m+=2)
{
case6:
m++;
case7:
++m;break;
case8:
m++;
default:
m++;
}
printf(“%d”,m);
A8B6C5D7
14、以下选项中与if(m==1)m++;elsem=b;语句功能不同的switch语句是()
A:
switch(m==1){case0:
m++;break;case1:
m=b;}
B:
switch(m){case1:
m++;break;default:
m=b;}
C:
switch(m){default:
m=b;break;case1:
m++;}
D:
switch(m==1){case1:
m++;break;case0:
m=b;}
15、
#include"stdio.h"
main()
{
floatb=2.5;
intn=1;
if(b=1.5)
{
n++;
}
n+=2;
printf("%d",n);
}:
A5
B3
C6
D4
16、#include"stdio.h"
voidmain()
{
inti=1;
switch(i)
{
case1:
printf("a");
case3:
printf("b");break;
case2:
printf("c");break;
default:
printf("end");
}
}
以上程序执行后的结果是():
Aa
Bab
Cabcend
Dacb
17、已知定义了相关变量,执行下面代码if(a>b)max=a;则()
A运行报错
B判断a>b是否成立,如果成立将a的值赋值给变量max
C判断a>b是否成立,如果不成立将a的值赋值给变量max
D判断a>b是否成立,如果成立将max的值赋值给变量a
18、有以下程序输出正确的是()
#include"stdio.h"
voidmain()
{
intm=1;
switch(m+=2)
{
case1:
m++;
case2:
m++;break;
case3:
m++;
case4:
m++;break;
default:
m++;
}
printf("%d",m);
}
A6
B5
C4
D7
19、什么是宏():
A 在C语言源程序中允许用一个标识符来表示一个字符串
B 在C语言源程序中允许用一个标识符来表示一个整型数
C 以上三项都不对
D 在C语言源程序中允许用一个标识符来表示一个浮点型数
20、#include"stdio.h"
#defineA5
#defineB3+2
voidmain()
{
printf("%d",A*B);
}
运行后的输出结果是():
A 是13
B 是25
C 是17
D 是27
21、voidmain()
{
intx=5,y=7;
x+=x-y;
}
A 是0
B 是3
C12
D 是2
22、以下表达式运行后的结果是什么类型的?
()
voidmain()
{
intx=5;
flaot y=7;
double z=9;
z=x+y*z;
}
A 是int
B 是flaot
C是double
D 类型混乱
24、假设ch为已定义好的字符型变量,则ch=ch+(‘a’-’A‘)与以下()等价
A.ch=ch-32
B.ch-=32
C.ch=ch+32
D.ch+32
25、程序设计中的sum=sum+i中等号代表的是()
A赋值运算
B求和运算
C读写操作
D判断相等的运算
26、inti=5,j=10;
switch(i)
{
case4:
j++;
case5:
j--;
case6:
j++;
case7:
j-=5;
}
printf("%d",j);
以上程序执行后的结果是():
A9
B8
C5
D6
多选题
1.if语句的三大形式()。
A.If
B.If...else
C.If...elseif...
D.If...else...if...
2.If后面只有一条语句时,需要加()个{}。
A.0
B.1
C.2
D.3
3.设变量x和y均已经正确定义并赋值。
以下if语句中,在编译时将产生错误信息的是()
Aif(x++);
Bif(x>y&&y!
=0)
Cif(x>0)x--elsey++;
Dif(y<0){;}elsex++;
4.关于选择结构描述正确的是()
Aif(表达式)
语句1;
如果表达式为真(成立),则只执行语句1;否则什么都不做。
Bif(表达式);
{
语句块1;
}
如果表达式为真(成立),则只执行语句块1(多条语句);否则什么都不做。
Cif后面只有一条语句是,可以不用{},多条语句时一定要加{}
Dif先对条件判断如果条件为真则执行if后面的语句块。
5、设有定义:
inta=2,b=3,c=4;则以下选项中值为0的表达式是():
Aa+b
Ba||(b+b)&&(c-a)
Ca&&b
D(!
a==1)&&(!
b==0)
6、关于switch语句与if相比描述正确的是:
Aswitch相对if来说,还有if比不了的优点就是在选择分支较多时,switch...case结构会生成跳转表,根据变量的取值跳转到合适的分支用switch...case结构会提高程序的效率
Bswitch语句写出的程序,可读性非常好,整体流程看起来清晰明确。
Cswitch表达式只能是常量表达式(判断的是某个值),选择条件的结果可以有n多种值,根据各值选择分支。
Dswitch(表达式);
{
case常量表达式1:
语句1;break;
case常量表达式2:
语句2;break;
......
default:
语句;
}
switch的执行过程是判断表达式的值与case后常量表达式的值哪个相等,执行相应的语句后跳出switch.
7、关于case用法下面哪些是正确的()
A.case"good":
printf("very");break;
B.case2<3&&4>5:
printf("fine");
C.case12>5:
printf("girl");break;
D.case1+4:
printf("goods");
8、下列说法中正确的是():
Aif语句可以嵌套switch语句
Bswitch语句不可以嵌套if语句
Cif语句不可以嵌套switch语句
Dswitch语句可以嵌套if语句
9、关于if语句,下列叙述正确的是()
Aif语句中条件表达式只能是关系表达式或逻辑表达式
Bif语句中条件表达式的括号不可以省略
Celse子句不能作为一个独立的语句单独使用必须是if语句的一部分。
Dif和else后面可以包含多个操作语句,此时要用一对大括号把这多个语句对括起来
10、设变量x和y均已正确定义并赋值,以下if语句中,在编译时将产生错误信息的是(CD)
Aif(x++);
Bif(x>y&&y!
=0);
Cif(x>y)
x--
Dif(y<0)
{;}
else
y++;
else
x++;
11、下面情况描述属于循环结构的是()
A银行输入卡密码可以有三次
B人每天进行无数次的眨眼过程
C学生根据班内温度决定是否开空调
D学生早上考试,一道题一道题的进行做答
12、.C语言中关于转义字符描述正确的是()
A.转义字符是一种特殊形式的字符常量
B.转义字符是以反斜线(\)开头的字符序列
C.转义字符有特定的含义,用于描述特定的控制字符,使用时同样要放到一对单引号内。
D.‘\r’表示的是回车换行
13、在用函数scanf()输入数值型数据时,遇到()情况都认为数据输入结束:
A遇空格符,回车符,制表符(TAB)
B达到输入域宽;
C遇非法字符输入
D.以上都不对
14、关于格式输入、输出函数描述正确的是()
A.scanf函数的一般形式为:
scanf(格式控制字符串,参数地址表);
B.scanf(格式控制字符串,参数地址表);中地址表列中给出各变量的地址。
C.printf(格式控制字符串,输出值是参数表);其中格式控制字符串用于指定输出格式。
D.printf(格式控制字符串,输出值是参数表);非格式字符串在输出时原样输出,在显示中起提示作用。
填空题
1、选择结构中的()语句比()语句处理的情况比较更加全面,其中,()语句写出的程序可读性非常好,整体流程看起来比较清晰。
2、关系运算符有6种,分别是()、()、()、()、()、()。
3、逻辑运算符有3种,分别是()、()、()。
4、switch语句中case后边可以是任意的常量表达式,但是结果只能是()或()。
5、所有的()语句都可以被()替换,但是反过来则不一定
6、()或()都可以转换成多个单if语句。
但是在写程序时还是双分支选择(),多分支选().
7、如果第一次测试循环条件为()的话,”当”型循环与”直到”型循环是一样的,两者没有区别;如果循环体至少要执行一次,则在选择循环结构时一般选择()循环
8、字符’A’的ASCII码值是()
9、函数scanf()要求必须指定用来接收数据的变量的(),否则数据不能正确读入指定的内存单元。
10、main()
{
ints;
scanf(“%d”,&s);
switch()
{
default:
printf("A");break;
case8:
printf("B");
case10:
case9:
printf("C");
case7:
printf("E");break;
case6:
printf("D");break;
}
}
"以上程序如从键盘输入16,输出BCE,switch判断表达式内应应填(不允许直接填入数值)().