C语言基础-水平指导(模拟试题① 选择题 答案+解析)

1.(函数自己的调用)
解:
在main函数中,调用了fun函数,且fun(p),
在fun函数中,则x=9;->  q-fun(7);q-fun(5)......3-fun(1);
因为 if(x==0||x==1)  return 3; 所以fun(1)=3;
通过逐步运算,得到 结果: 7

2.(函数模式:if else类型)
cin>>2 则属于  else if(x<5.0)  注意:定义的x 与 y是 float 类型;
所以: y=1.0/x  ,最终y=0.5;


3.(概念题)
C++ 源程序默认扩展名: cpp;

4.
eg:
char *p="hello woorld"
cout<<p<<endl;  这里则输出: hello world
cout<<*p<<endl;  则输出 h;
所以,i=3时,p[i]为  sp, *p[i] 则为 s.
同理 i=1时, *p[i] 为b;

5.
共用体的 长度---在不同类型中,以最长的为主。
long ----4
char-----2
bool-----2
flaot-----4
short-----2

6.(双重循环)
第一重循环: 循环 2 次(其中:for(i=4;i;i-=2)中的i  是指 i!=0)
eg:   while(x); x的判断条件就是 x!=0;
第二重循环:  循环 3次;


7.
注意结合方向,*p++  从右向左结合。且时后缀的方式结合。----*p++ 相当于  (*p,p++)
   所以:x[0]=2
             x[1]=4;
             x[2]=6;


8.
"\t\1026\\"

\t----跳格字符
\102---八进制    十六进制 \x
数字 6
\\  显示 \

一共四个可见字符。

9.
指针p指向了字符数组s的首地址。
while(*p)  ----判断首地址的值是否为0;
调用fun(p)  .指针c指向p。
if()--判断大小写字母
‘a'-'A'=32
'a'=97,'A'=65;
所以 *c-=‘a'-'A'  ,就是*c-32,将小写字母,变为大写字母。
所以最终:OPEN THE DOOR.

10.
注意定义的变量类型:
int m,n,v;
所以做除法的时候,1/2=0;(若定义v为float 则为0.5).

11.
(逗号表达式)
cout<<(m+=n,n)<<endl;
直接显示出n的值:5

12.
define 的函数形式定义,注意:不可随意添加括号,导致优先性混乱。
且sub(a++,b++)为后缀形式!
#define sub(x,y)   (x)*x+y->   (a)*a+b; ->13

13.
判断条件while(num<=2)
所以:第一次输出2(因为num++)
          第二次输出3(同理)
所以结果:23

14.
注意(是双重switch语句循环。)
且 switch(y)  该复合语句并没有在结尾加上 break;
所以,在执行完switch后,紧接着执行下一个 语句:  case1:.....
所以:1,2

15.(注意:对数组元素的引用,其实就是解引用);
int a[12]={0},*p[3],i;
for(i=0;i<3;i++)  p[i]=&a[i*4];  ----这一步首先要看懂第一步,int *p[3], 这个数组里的每一个成员都是指针类型,可以指向地址。
                                                       所以 p[i]=&a[i*4],就是 p这个数组里面每一个元素的指向。
所以,引用数组元素 要加 引用符号:*
所以,p[0],是错误的引用。

16.
首先要懂:凡是定义了字符串,则系统会默认为该字符串增加结束字符  '\0'.
且  char *x1="abcedf"   x1是首先指向该字符串的首地址的,同理于x2。
当 x1++ ,则,字符串变为“bcdef'\0'”,当x2++,字符串变为“b'\0'”
所以,在字符串比较函数 strcmp中,x1中的b和x2中的b一样,但是x1中的c大于结束字符。
所以返回大于0 的值。
所以结果:1.

17.
注意循环条件 。while(1)  这个循环条件是是会一直循环下去的,除非遇到 else 的break;
按照 程序中的算法即可。
所以结果:1.6

18.
直接按照 f函数中的运算即可: x=1*1;
                                               x=1*2=2......
所以结果:24.

19.(一下为修改过的正解)
A.形参与实参的类型不一样,因该以形参的值为主。
B.函数与返回值类型不一样,以函数的类型为主。
C.形参类型说明可以在函数体内,以形参类型为主
D.return 语句后面值可以为表达式。

20.(一下为修改过的正解)
A.任何一个对象只可以属于一个具体的类。
B.对象是类的一个实例。
C.一个类可以有多个对象。
D.类与对象的关系和数据类型和变量的关系相似。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值