1、以下语句或语句组中,不正确的操作是__________。
(A)char t[50];scanf(“%s”,t); (B)char t[]=”English”;
(C)char *p;gets(p); (D)char *p;p=”English”;
2、若有以下定义:
chars[10]=”Computer”,*ps=s;
则不能代表字符m的表达式是__________。
(A)ps+2 (B)ps[2] (C)s[2] (D)ps+=2,*ps
3、对int a[3][3],*p=&a[0][0]; 下列写法中有__________种能正确取到a[2][1]的值
(1)p[7] (2)*(a[1]+4) (3)*(a+2)[1]
(A)0 (B)1 (C)2 (D)3
答案是D、A、C
C语言3道选择题。每道题要说明理由。我做错的,但不知道原因。谢谢
第二题:ps+2是指针,不是取值;若是*(ps+2)就取到m了。第三题:一共9个元素,顺序从0排到8,a[2][1]就是第7个(注意从0开始数)元素。所以,p[7]显然是对的;*(a[1]+4)是把a[1]当指针,+4后刚好指向这个数,用*取出来没有错;看一下*(a+2)[1],本来 (a+2)就是最后一...
C语言选择题(3道题),帮忙解答一下,谢谢!
b=b-a=10-1=9,a=2,再判断条件:b--<0 b=9>0 然后b-- (注意无论判断条件是否满足,都执行),b=8 第二题:答案错了,应选D 程序应该这么看:int a=3,b=2,c=1;int x=10,y=20;if(ab就不满足条件,所以下面的不执行!if(b!=0)if(!x) y=1;else if(x) y=0;y=-1...
问几个C语言的问题,请说下选择的原因,谢谢!
2. 选B了,求余数,两边肯定要是整数了,否者小数怎么求余数啊。char型也是一个整数了 3. 选A了,形参与实参之间传递的方式,是将实参的值复制一份给形参。使用的是两个不同的存储单元。故调用函数时,对形参做的一切修改都不影响实参。4. 3,,这个根据循环条件一步一步算,反正循环变量少...
c语言的题目,不知道原因。
1. B A.float add(int x,y) \/\/int x,y应为int x,int y B.int add(int x,int y) \/\/对 C.char add( ) \/\/函数原意是相加,但无参数,则函数只能返回固定字符,无参数时且最好为char add( void )D.int add(char [ ] [ ]) \/\/函数参数是...
C语言问题,求大神解决,谢谢啦,我是小白,最好能够解释下原因...
第一项的结果不正确。第二项和第四项结果等同都是指向指针的指针操作。可以将二维数组看成一个双重指针,第一个中括号是一个一重指针。比如说a[n][m]中a[0]是一个指向a[0][m]数组首位a[0][0]的指针,而a则是指向指针数组*a[n]的首位a[0]的指针。这样我们来看B选项,*(a+2)表示一...
C语言问题,求大神解决,谢谢拉。。我是小白,解释下原因
主要考察你c语言三目运算符的结合方向 是自右向左的 所以a<b?a:c<d?c:d 可以看成 a<b?a: (c<d?c:d) 1 < 4 ? a : (c < d ? c:d)括号内的表达式也可以看做是一个元素 因为 a = 1 b = 4 所以 条件 a < b 成立 所以选前者 a 答案就是 A) 1 ...
C语言题目,详细解释,每一项为什么,谢谢
这个题目选C。因为定义a[3][4]二维数组后,第一下标的取值范围是0~2三个数,第二下标的取值范围是0~3四个数,即:a[0~2][0~3],共计3×4=12个元素。显然选项C的a[0][4]并不在这个范围内,所以这个元素并不存在,是非法调用。
C语言高手帮忙做这三道题,要详解 谢谢拉!!
x"的值为0时。所以就是x==0.2、C 这题和上题一样,就是(m)表达式为真时,执行a++;为假时,执行a-。表达式m的真假与表达式m!=0一样,所以选C。3、C define是宏定义,这里的效果就是把s(m,n)替换成m\/n,所以s(4+2,2+1)进行替换后就成了4+2\/2+1=4+1+1=6。所以选C ...
几道C语言选择题,要详细过程,本人基础不好,额外加点儿进制解说,谢谢...
1.B 因为以0开头的数是八进制数,而八进制数的数字是0~7,没有8的 C是科学计数法,是可以作为常量的,所以也是正确的 2.B 因为按%d输出,即十进制输出,所以要转换成十进制 x是八进制的23,转换成十进制为2*8+3=19,因为是前置运算符--,先做-1运算再输出,所以为18 3.B i同上,前置++为先...
C语言编程题目三道
include<stdio.h>void cal(int n1,int n2,char f);int main(){ int n1,n2; char f; printf("分别输入两个小于100整数及一个运算符号:\\n"); scanf("%d%d",&n1,&n2); getchar(); scanf("%c",&f); cal(n1,n2,f); return 0;}void cal(int n1,int ...