当前位置:首页 » 编程语言 » c语言题与讲解
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言题与讲解

发布时间: 2022-06-19 02:24:37

c语言选择题一个,求详解

A 是对的,换行会看的更加清晰。
#define size 10 //把size的宏定义为10
char str1[size]的意思就是char str1[10]
char str2[size+2]的意思就是char str2[12]
B,char str[];里面应该要放入具体的容量,比如 char str[10];
C,int num['10']是错误的,int num[10]是对的。
D是错误的,C语言不允许这种写法,不允许定义的变量出现在数组里,因为变量值的改变,就会导致数组的破坏,这样会破坏程序的健壮性。

㈡ C语言题目,求详解

C.*p3=getchar(); 不能正确赋值。
因为p3虽然是指向char的指针,但是它并没有指向可使用的char单元。

㈢ C语言题及讲解

循环 i 从1,到2
f(1) = 1
f(2) = f(2-1) + 1 = 2
j = f(1) + f(2) = 3

㈣ c语言选择题,详解

6、5、下面定义了一个日期结构date、结构变量date1和date2
struct date{
int year;
int month;
int day;
}date1={2000,1,1},date2;
对结构变量date2正确操作的语句是
A、date2=date1;
B、strcpy(date2,date1);
C、date2={2010,12,1};
D、date2={2010-12-1};

你的回答: C (×) 参考答案:A

7、下面定义了一个日期结构struct date
struct date{
int year;
int month;
int day;
}date1;
结构类型占用的内存空间可用sizeof来计算,正确的sizeof格式是
A.sizeof(date1)
B.sizeof(struct date)
C.sizeof(struct date date1)
D.sizeof(date)
A、A正确
B、B正确
C、A和B都正确
D、C和D都正确

你的回答: D (×) 参考答案:C

8、下面定义了一个日期结构struct date
struct date{
int year;
int month;
int day;
}date1;
该结构类型占用的内存空间是多少字节

A、6
B、9
C、12
D、15

你的回答: A (×) 参考答案:C

9、下面定义了一个平面点结构struct point、结构变量point1和结构指针p
struct point{
double x;
double y;
}point1,*p=&point1;
欲将点(100,100)赋值给point1,则不正确的操作语句是

A、point1.x=100;point1.y=100;
B、*p.x=100;*p.point1.y=100;
C、(*p).x=100;(*p).point1.y=100;
D、p->x=100;p->y=100;

你的回答: D (×) 参考答案:B

10、关于嵌套结构的定义描述,正确的是:
A、在定义嵌套的结构类型时,必须先定义成员的结构类型,再定义主结构类型
B、在定义嵌套的结构类型时,必须先定义主结构类型,再定义成员的结构类型
C、在定义嵌套的结构类型时,成员的结构类型和主结构类型的先后顺序无关紧要
D、以上描述都不正确

你的回答: B (×) 参考答案:A

㈤ C语言选择题,求详解

应该选B。

程序结果:

解析:

  1. *p 表示p是一个储存地址的变量

  2. 在这个程序中当运行完p=a;时,*p为"1",*p++也为"1"

  3. *p++和*(p++)相同

  4. printf的运行顺序是从左到右

  5. *p++是把*p存储的地址+1,而p的存储地址是数组的第一个,所以相当于把p的指针往后移一位,也就是说把p指向的数组的位置往后移一位。所以就是321

㈥ C语言题,详解

main中首先定义整型a=3然后要求输出fun(a+fun(d)),这里要先计算fun(d)。当计算fun(d)时,d的值是开头定义的1,就相当于fun(1),带入fun()中计算,然后遇到静态变量申明赋值d=5,然后d+=p,这个时候d+=1,d=6,然后输出d的值就是6,并返回这个6,这是fun(a+fun(d))就变成了fun(3+6)就是9,然后计算fun(9),这时的d是属于fun的局部静态变量,并且不会再次初始化,那么d就是上次退出fun时的值6,然后d=9+6=15,再次输出15,并且返回15,这时fun(a+fun(d))的值就出来了,就是15,总共在函数fun中输出了两次,1次是6,1次是15,然后再main中1次输出15,答案就是61515
希望能帮到你

㈦ C语言 程序分析题 求详解

这个程序应该是把
十进制数
转换成
二进制数
输出
#include
//
头文件
void
main()
{
int
a,b[10],c,i=0;
//
a存储待转换的十进制数,b[10]存储转换后的二进制位,
//
c
是存储
余数

printf("输入一个整数\n");
scanf("%d",&a);
//
输入需转换的十进制数
while(a!=0)
//
只要a不为零,就继续转换
{
c=a%2;
//
把a除以2
的余数赋值给c
a=a/2;
//
把商存入a进行下一次循环
b[i]=c;
//
把余数存到数组中作为二进制中的一位
i++;
}
for(;i>0;i--)
printf("%d",
b[i-1]);
//反向输出余数,即得到二进制
例如输入4
因为4
!=
0
4
/
2
=
2((商=a)...........0(余数=c=b[0])
因为2
!=
0
2
/
2
=
1((商=a)...........0(余数=c=b[1])
因为1
!=
0
1
/
2
=
0((商=a)...........1(余数=c=b[2])
因为
0
=
0
结束循环输出
b[2]
b[1]
b[0]

100,也就是二进制的
4

㈧ C语言题。求详解

++a
先a自增1,然后赋值;a++
先赋值,
然后自增1
b=(++a)+(a++)+(++a)此时a先自增1为9即a=9,
=9+(a++)+(++a)下步a++
先赋值为9算
然后a自增1,就是a=9先运算在变成a=10
=9+9+(++a)此时a=10
做下步时
++a时
a先自增1
为11,且此时a=11
=9+9+11
=29

㈨ 一些c语言题求详解

2.A(d的类型不变)
3.B(\t a \017 b c)
4.C(取整7/3=2)
6.C(%d对应int型a,%lf对应doublr型b)
7.D(一般会输出0)
8.D(注意scanf要等CR才生效,而getchar不等待CR)

㈩ c语言题目求详解

这是一个数组的初始化代码,第一个空代表的是数组的第二行第三列的数据,直接就是取默认值1。