11设有定义:int a=0,b=1;,以下表达式中,会产生“短路”现象,致使变量b的值不变的是
A.a++&&b++B.a++||++bC.++a&&b++D.+a ||++b
参考答案:A
参考解析:运算符“++”放在变量前面时,表示将变量+1,再参与其他操作,a++&&b++时,由于a值是0直接判定与运算结果为0,忽视b++的值。因此b值不发生改变,答案为A选项。
12若有以下程序
则程序的输出结果是
A.3,3.3,7.7,7
B.3,7,7,7,7,7
C.7.7,7,3,3,3
D.7,7,7,3,7,7
参考答案:D
参考解析:在主函数中分别给整型变量i.指针型变量P和指向指针的指针变量r赋初值;调用f函数,并将实参变量r的值传递给形参变量s,在f函数中,通过prind("%d,%d,%d,",k,*t,**s);语句输出7,7,7;返回主函数,通过pfinff("%d,%d,%d\n",i,*P,**r);输出3,7,7。因此D选项正确。
13以下程序调用fun函数求数组中最大值所在元素的下标。
在横线处应填入的内容是
A.*k=iB.k=iC.*k=i-sD.k=i-s
参考答案:A
参考解析:fun函数的功能是求数组中最大值所在元素的下标。通过for循环语句,每次将最大的数给* k,即*k=i。因此A选项正确。
14以下叙述中错误的是
A.在函数外部定义的变量在所有函数中都有效
B.在函数内部定义的变量只能在本函数范围内使用
C.函数中的形参属于局部变量
D.在不同的函数中可以使用相同名字的变量
参考答案:A
参考解析:全局变量有效范围是从定义的位置开始到所在源文件的结束,在这区域内的函数才可以调用,如果在定义函数之后,定义的变量,该变量不能被之前的函数访问所以A选项说法错误,答案为A选项。
15设有某函数的说明为
int*func(int a[10],int n);
则下列叙述中,正确的是
A.形参a对应的实参只能是数组名
B.说明中的a[10]写成a[]或*a效果完全一样
C.func的函数体中不能对a进行移动指针(如a++)的操作
D.只有指向10个整数内存单元的指针,才能作为实参传给a
参考答案:B
参考解析:本题重点考查返回指针值的函数相关知识,返回指针值的函数,一般定义形式为:类型名*函数名(参数列表)。func函数被定义为指针型函数,它的形参int a[10]和int n.分别指一维数组a[0]和整型变量n。
16有以下程序
程序的运行结果是
A.DB.CC.BD.A
参考答案:A
参考解析:首先判断x>1由于x=1不大于1,不进入该if语句,程序跳入else语句判定zx。条件不成立,因此输出字母D,答案为A选项。
17以下关于C语言函数参数传递方式的叙述正确的是
A.数据只能从实参单向传递给形参
B.数据可以在实参和形参之间双向传递
C.数据只能从形参单向传递给实参
D.C语言的函数参数既可以从实参单向传递给形参,也可以在实参和形参之间双向传递,可视情况选择使用
参考答案:A
参考解析:数据只能由实参单向传递给形参称为“值传递”,而不能由形参传回来给实参,A选项正确;数组名、指针等作参数,实参传递给形参的是地址值,这样形参和实参就指向同一段内存单元,在函数体内对形参数据的改变也将影响到实参。实参和形参之间不可双向传递。B、D选项错误。数据不能从形参传递给实参,C选项错误。
18以下fun函数的功能是将形参s所指字符串内容颠倒过来
在横线处应填同入的内容是
A.+1B.-1C.+0D.k=0
参考答案:B
参考解析:本题考查字符串处理函数strlen,strlen计算一个字符串的长度,包含结尾符,所以本题中j的初始化应该是从最后一个字符开始,所以应该将得到的字符串长度减1,选项B正确。
19若有以下程序
则程序的输出结果是
A.China!B.to China!C.me you to China!D.you to China!
参考答案:D
参考解析:该程序首先定义*a和b[],并进行初始化。主函数中通过外层for循环语句,遍历字符数组b[],并且将符合if条件语句的字符赋给数组p;for内层循环语句,遍历字符数组a[]。再将符合if条件语句的结果输出。因此D选项正确。
20若有以下程序
则程序的输出结果是
A.Hay!B.HowareyouC.Howareyou!D.How are you!
参考答案:C
参考解析:主函数中首先定义字符数组a[]="How areyou! ";执行for循环语句,语句if(a[i]!= ")a[j++]=a[i];其功能是将字符数组中的空格去掉。因此C选项正确。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |