C/C++对错题的讲解-----1,也希望能帮到兄弟们

个人主页:

仍有未知等待探索_洛谷刷题,小项目,数据结构-CSDN博客

专题分栏---选择题:

PTA_仍有未知等待探索的博客-CSDN博客

第一题:

 此题选A:这题考察的是转义字符中的/0dd形式,其中d是八进制的数字。当d不是八进制的数字,整个将会被忽略,但会保留最后一位的数字充当该字符。例如‘\092’打印出来的就是2,'\0339'打印出来则是9。

第二题:

 此题选A:对于define定义的宏常量,需要注意,直接带入,不要”自作多情“。就如上题,直接把3+2,4+5带入fun(x,y),得到fun(3+2,4+5)=3+2*4+5=16。

 

 在例如这题,LENGTH=WIDTH+1,让你算x,x=LENGTH*20=WIDTH+1*20=100,兄弟们千万不要自作主张的加上括号!

第三题

C 语言规定,在一个源程序中,main函数的位置()

A. 必须在最开始 B. 必须在系统调用的库函数的后面 C. 可以任意 D. 必须在最后

main函数的位置是可以任意的,在自定义函数的时候,既可以放在main函数的上面,也可以放在main函数的下面(只不过需要在main函数上面进行声明)

第四题

C语言中哪一种形式声明了一个指向char类型变量的指针p,p的值不可修改,但p指向的变量值可修改?( )

作业内容

A. const char *p

B. char const *p

C. char*const p

D. const char *const p

A:错误,const修饰*p,表示p指向的内容不能修改

B:错误,同上

C:正确,const修饰p本身,表示p的指向不能修改,p指向的空间中内容可以修改

D:错误,第一个const表示p指向的内容不能修改,第二个const表示p不能指向其他变量

总结一下:const char *p,p所指向的内容不能修改,char const *p,p的所指向的空间不能改变(也就是指针p里面存的地址不能改变),const char *const p,p所指向的内容不能修改并且指针p里面存的地址不能改变。

第五题

以下关于指针的说法,正确的是( )

作业内容

A. int *const p与int const *p等价

B. const int *p与int *const p等价

C. const int *p与int const *p等价

D. int *p[10]与int (*p)[10]等价

A:错误,int* const p中,const修饰指针变量p本身,表示p的指向不能改变,

  int const *p中,const修饰p指针解引用之后的结果,表示p指向的内容不能改变

  因此,不等价

B:错误,同上

C:正确,const都修饰p指针解引用之后的结果,表示p指向的内容不能改变

D:错误,int *p[10]定义了一个指针数组,数组中10个元素,每个元素都是int*类型的指针

  int (*p)[10]定义了一个数组指针,该指针只能指向存储10个整形元素的数组

第六题

以下能对二维数组a进行正确初始化的语句是:( )

作业内容

A. int a[2][]={{0,1,2},{3,4,5}};

B. int a[][3]={{0,1,2},{3,4,5}};

C. int a[2][4]={{0,1,2},{3,4},{5}};

D. int a[][3]={{0,,2},{},{3,4,5}};

对于二维数组int array[M][N], 说明如下:

 1. M和N都必须为常数,

 2. M代表数组有M行,N代表每行中有N个元素

 3. 其中M可以省略,省略后必须给出初始化表达式,编译器从初始化结果中推断数组有多少行

 4. N一定不能省略,因为N省略了就不能确定一行有多少个元素,也不能确定数组有多少行

A:错误,参数上述说明

B:正确,参考上述说明

C:错误,数组有两行,但是初始化给了三行

D:错误,初始化不允许{0,,2}该种情况存在

因此,选择B

第七题

关于while(条件表达式) 循环体,以下叙述正确的是( )? (假设循环体里面没有break,continue,return,goto等等语句)  

作业内容

A. 循环体的执行次数总是比条件表达式的执行次数多一次

B. 条件表达式的执行次数总是比循环体的执行次数多一次

C. 条件表达式的执行次数与循环体的执行次数一样

D. 条件表达式的执行次数与循环体的执行次数无关

while循环中,当条件表达式成立时,才会执行循环体中语句,每次执行期间,都会对循环因子进行修改(否则就成为死循环),修改完成后如果while条件表达式成立,继续循环,如果不成立,循环结束。

故:while循环条件将会比循环体多执行一次。

因此:选择B

=========================================================================

这是我自己的错题,也希望你们不要在这块掉坑里了!

如果上文有什么表述不清楚或者错误的欢迎一起指出来,见谅!

兄弟们要是有错题的话,欢迎在评论区一起探讨,一起进步!

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

仍有未知等待探索

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值