第一题:有以下程序
#define f(x)(x*x)
main()
{int i1,i2;
i1=f(8)/(4);
i2=f(4+4)/(2+2);
printf("%d,%d\n",i1,i2);
}
程序运行的输出结果是_____
A.64,28 B.4,4 C.4,3 D.64,64
答案是C,我很奇怪,为什么i2会变小呢?
第二题:以下程序输出的结果是_______
main()
{struct cmplx{int x,int y} cnum[2]={2,4,3,1};
printf("%d\n,cnum[0].y/cnum[0].x*cnum[1].y");
}
A.0 B.2 C.3 D.6
这题选B。我奇怪的是cnum[2]这不是一个只有两个元素的一维数组么,为什么数组中有四个元素;还有前面的struct cmplx,不是只声明了 一个结构体类型么,结构变量都没有~~~最后~~~为什么会有这么一个答案我也不清楚。
另外加个小问题。
include<stdio.h>
main()
{char c1='1',c2='2';
c1=getchar();c2=getchar();
putchar(c1);putchar(c2);}
我奇怪的是,char类型后面跟的如果是整形,不是不能加''么,只有字符的时候才能加''么~~
对不起了各位,第一题是我写错了。应该是i1=f(8)/f(4);
i2=f(4+4)/f(2+2);
C语言常量,两道题求详解
第一题:D 解释:A:0不存在正负 B:‘’中间只能有一个字符,字符串要用“”C:同B 第二题:A 解释:B、C:同上题B、C D:16进制数数要在前面加0x
两道C语言求详细过程
1、A 要获取指针p指向的结构体变量的某个成员的地址(或数组成员首元素的地址)有两种方法:&p->membername或&(*p).membername(当成员是非数组时),p->membername或(*p).membername(当成员是数组时),所以答案是A。2、sum=335 整个程序的作用就是计算某一年的从第1月起一直到输入的某个月的...
C语言练习题两道并解释下原因
第一题:选D 是整除取余,参与运算的两个数都是整型。(int)表示强制取整。对于本题,正确格式:(int)f%i,因此其它三个选项都是错误的。第二题:i的值是30 逗号运算符,按顺序逐一执行表达式,并以最后一个表达式的值作为结果。执行a=2*3,得到a=6,执行a*5,得到30,并将30赋值给i,i的值...
两道很基础的C语言题 求求好心人帮忙给出答案和解析
第一题,从题目看,main中输入了一个字符数组到item,并把这个item传给delnum处理,delnum中的那个循环,是逐个判断s[i]是否是小于'0'或者大于9,即判断s[i]是否非数字,如果非数字,则用s[j++]=s[i]来将内容保存,举个例子,比如输入a9,在delnum中,第一次循环i=0,s[0]为'a',满足if...
两道c语言编程,能不能帮忙分析一下结果为什么不同?
第二道:因为STU中的char name[10]声明的name是个数组,当b=a操作后b就是a的拷贝,但后面对b中的数组的操作不会影响对a中的数组。所以输出结果应该是Zhao,m,290,Qian,f,350。余同上。指针和数组拷贝后都有两个实体,但数组是对两个实体操作,而两个实体指针指向的目标却是同一个。尽管f中对...
c语言选择题,这两道题求c语言大哥解答,详细点哈,谢谢
第一题 和++运算优先级相等,运算自右向左 p++; 相当于p++后再*p,所以p指向&a[1], *p等于11 比+的运算优先级高 p+=1;相当于*p=*p + 1;答案为C 第二题 答案为A S是数组首地址,不是指针,不可移动
C语言简单编程题目两道,求高手做一下。高分!!!
第1题 :include <stdio.h> include <stdlib.h> define MAX 200 int main(void){ int a[MAX], i = 0;srand(time(NULL)); \/\/ 时间种子, 保证真随机, 每次不会相同 while (i < MAX) { a[i] = rand() % 10000; \/\/ 随机获得10000以下数字, 0-9999 if (a[i] < 1000) { ...
C语言两道小题
1:第一题中的r = func((x--,y++,x+y),z--)这一步大家有的说X+Y=6+7 有的说是5+8 到底哪个正确啊 回答:5+8是正确的 你思考的方向有点偏差 ( x--,y++,x+y)是一个逗号表达式,他的求解顺序是从左至右执行,即先求解x-- 再求解 y++ 『(注意!)这里并没有取x和y的...
两道C语言题目,编程实现。1.求8的阶乘。2.求1到8的阶乘和。
1~8的阶乘 include<stdio.h> void main(){ int i,j,m;long int sum;for(i=1;i<=8;i++){ m=1;sum=0;for(j=1;j<=i;j++){ m=m*j;} sum+=m;printf("%d!=%ld\\n",i,sum);} } 8的阶乘:include<stdio.h> void main(){ int i,j=1;for(i=1;i<=8;i++){ j=j...
问两道有关c语言字符指针的问题,请将程序每一步的意思告诉我,谢谢啦...
第一题答案:B。理由:*s与*t都是取出此时地址存储的值,while()语句里面的意思是,当指针s与t都不为空并且s指向的值等于t指向的值。。。当s或者t为空或者t与s指向的值不同时,while()结束,返回此时s指向的值减去t指向的值,所以为比较两个字符串的大小;第二题答案:A。理由:x的地址赋值...