谭浩强《C程序设计考研真题答案复习笔记
资料全称:谭浩强《C程序设计》(第5版)配套题库【考研真题精选+章节题库】
谭浩强C程序设计第5版题库及答案摘录:
1以下均是合法变量名的是(??)。[武汉科技大学2019研]
A.#name total
B.node ?value_max
C._var ?long
D.stu-code a+b
【答案】B
【解析】C语言中变量名只能包含数字,字母和下划线,且只能以字母和下划线开始。A项含非法字符#,错误;C中long为关键字,变量不能以关键字命名;D中含非法字符-和+。
2以下选项中不属于C语言类型的是(??)。[武汉科技大学2019研]
A.short int
B.unsigned long int
C.char
D.bool
【答案】D
【解析】C语言中没有bool型,只有C++才有boolean型,也称bool。C语言中一般用“0”表示“假”,用“1”表示“真”。
3若有声明语句:int x; char y[20]; double z; 则正确的输入语句是(??)。[武汉科技大学2019研]
A.scanf("%d%c%le\n",&x,&y,&z);
B.scanf("%2d%s%lf",&x,&y,&z);
C.scanf("%d%s%lf",&x,y,&z);
D.scanf("%x%s%3.2f",&x,y,&z);
【答案】C
【解析】y为一维数组名,指向数组首元素的地址,因此不需要再使用取地址运算符&,AB错误;D中%3.2f表示长度为3,小数为2位,但是小数点也占一位,因此D错误,答案选C。
4若a、b和t都为int变量,则下面不能交换变量a和b值的是(??)。[武汉科技大学2019研]
A.t=a; a=b; b=t;
B.a=t; t=b; b=a;
C.t=b; b=a; a=t;
D.a=a+b; b=a-b; a=a-b;
【答案】B
【解析】B中首先把t的值赋值给了a,则a的值已经被取代了,后面执行b=a,则ab的值都等于t的值。
5若有定义:int a=1,b=2; float x=3,w; 则合法的switch语句是(??)。[武汉科技大学2019研]
A.
switch(a)
{
case 1:w=a/b; break;
case 2: w=a%b; break;
}
B.
switch(b)
{
case 1:z=a%b;
case 2: z=a/b; break;
}
C.
switch(x)
{
case 2:w=a%b; break;
case 1:w=a/b; break;
}
D.
switch(a+b);
{
case 3:
case 2:w=a%b; break;
}
【答案】A
【解析】B中,变量z未定义;C中x为浮点型,switch后面的表达式不能是浮点型,只能是整型和字符型;D中swith表达式后面不能加分号,答案选A。
6对下述程序段的描述正确的是(??)。[武汉科技大学2019研]
scanf("%d,%d",&a,&b);
if(a>b)
a=b;b=a;
else
a++; b++;
printf("a=%d,b=%d",a,b);
A.若输入4,5则输出a=5,b=6
B.若输入5,4则输出a=4,b=5
C.若输入5,4则输出a=5,b=5
D.有语法错误,不能通过编译
【答案】D
【解析】if(表达式)后面如果没有用花括号括起来,那么if的子语句只包括**条语句,即在程序中只有a=b是属于if语句块的,if和else中间隔了一条语句b=a,编译无法通过。
7以下正确的描述是(??)。[武汉科技大学2019研]
A.从多层循环嵌套中退出时,只能使用break语句
B.在循环体内使用continue和break语句,作用相同
C.只能在循环体内和switch体内使用break语句
D.continue语句的作用是结束整个循环的执行
【答案】C
【解析】从多层嵌套中退出不是只能使用break语句,也可以使用return或者程序自己执行完,A错误;在循环体内continue代表不执行该次循环中的剩余未执行语句,break代表直接跳出本层循环,BD错误,答案选C。
下一篇 >>