大一上学期c语言PTA错题总结(自用)(01)-创新互联

1.执行以下程序段后,k的值为4。 

在夷陵等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站建设、网站建设 网站设计制作按需网站策划,公司网站建设,企业网站建设,品牌网站设计,成都营销网站建设,成都外贸网站建设公司,夷陵网站建设费用合理。
int k = 3;
sizeof(++k)

false。在C语言中,sizeof()是一个静态运算符,即编译器只关注括号内数值的类型,而不会对括号里面的参数进行计算。

2.运行包含以下代码段的程序将可能进入死循环。

int i = 1;
while(i>0){ i++; printf("%d ",i); }

false,当数值大到超出int范围就会输出负值。当int型整数超出自己范围时,会从它的最小值重新开始。

3.假设有变量定义语句float f = 1234567890123.123456;,打印语句printf("f = %f", f);的输出是f = 1234567954432.000000 。那么可以这样解释这种想象:因为float类型的数据精度是十进制7~8位,第9位以后的数据是随机的,即下次再输出这个数时,第9位以后的数据可能会不一样。

false

float只有六位有效数字,且每次输出的数据不会变.

4.下面哪个表达式的值是2?

A.6%3    B.-5%3  C.5%-3  D.-5%-3

答案:C.

对于%的结果,其符号取决于%前面的数的符号。

5.scanf()函数在读不到数据时返回(B)

A.NULL

B.0

C.EOF

D.1

scanf()函数有返回值吗?回答是肯定的。

《1.scanf()函数有返回值且为int型。

《2.scanf()函数返回的值为:正确按指定格式输入变量的个数,也即能正确接收到值的变量个数。

例如:

scanf("%d%d", &a, &b);

如果a和b都被成功读入,那么scanf()的返回值就是2;

如果只有a被成功读入,返回值为1;

如果a和b都未被成功读入,返回值为0;

如果遇到错误或遇到end of file,返回值为EOF。
原文链接:https://blog.csdn.net/weixin_39887926/article/details/113316691

6.设有定义“int a=1, b=2, c=3, d=4, m=2, n=2;”, 则执行表达式“(m=a>b)&&(n=c>d)”后,n的值为(D)。

A.1

B.2

C.3

D.0

a&&b     a为1时执行b,a为0,不执行b.

这里要注意逻辑与和逻辑或的执行过程。

7.若x为浮点型,则表达式x=10/4为( B)。

A.2.5

B.2.0

C.2

D.3

注意是B不是C,因为等式右边为两个整型,需计算完后再变为浮点型。

8.表达式8>6>3值是(A )

A.0

B.1

C.3

D.表达式语法错

#includeint main() {
	int a;
	a = (8 >6 >3);
	printf("%d", a);

	return 0;
}

输出值发现a=0; 

运算方向:从左往右,eg.表达式8>6>3的值是0

在程序中连续大于应该是8>6&&6>3
运算时:
8>6是真,表达式 == 1
1>3为假,表达式==0

9.已知字母A的ASCII码为十进制数65,且ch为字符型变量,则执行语句ch='A'+'6'-'3';后,ch中的值为_B_。

A.D

B.68

C.C

D.不确定

既然询问的是值,那么就应该选B而不是A了。

10. 设xyt均为int型变量,则执行语句:x=y=3; t= ++x || ++y;后,y的值为____。

A.不定值

B.3

C.4

D.1

这题与第六题同一类型,注意逻辑或的使用规则。

11.逻辑运算符两侧运算对象的数据类型(D )

A.只能是 0 或 1

B.只能是 0 或非 0 正数

C.只能是整型或字符型的数据

D.可以是任何类型的数据

逻辑运算符两侧运算对象的数据类型:可以是任何合法的类型数据;因为逻辑运算符两边的运算对象,最终都被转换成bool值(逻辑值)操作。0、null转换为false,而所有非零、非false、非null值转换为true;然后进行运算。

12.对下列代码的描述正确的是:

#include "stdio.h"
int main(){
    long num=1;
    while(num++ >0) for(long i=num; i >=0; i--)printf("i :=\n \t %ld \n" , i);
    return 0;
}

 

A.程序有编译错误,不能执行

B.循环条件永为真,循环无限次,程序根本停不下来,打印输出无限行

C.循环有限次,程序正常结束,打印输出有限行

D.程序运行过程必定会出错(崩溃),结果打印输出有限行

选D而不是B,原因暂不清楚!!!

13.表达式 strcmp("box", "boss") 的值是一个_A___。

A.正数

B.负数

C.0

D.不确定的数

考察strcmp(1,2)函数比较的用法:

1.逐个字符相比

2.若1=2,函数值为0;1<2,负整数;1>2正整数;

14.According to the declaration: int x=11;, the value of expressionx++*1/3is__A___.

A.3

B.4

C.0

D.3.667

x++中,++在后,也就是将x的值单独带入表达式中,然后求出表达式的值,求完之后,再给x自己++。


你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


当前名称:大一上学期c语言PTA错题总结(自用)(01)-创新互联
标题来源:http://scyanting.com/article/johes.html