本文目录一览:
- 1、c语言简单的题
- 2、简单c语言题目
- 3、几道简单的C语言选择题,帮忙做一下
- 4、简单的c语言题
- 5、简单的C语言题
- 6、C语言几道简单的题目
c语言简单的题
第一题:
赋值符号"="右边是由常量,变量,运算符,和函数组成的表达式.A,B中第一个"="右边不是一个表达式.
逗号表达式形式是:表达式1,表达式2,..,表达式n;按从左到右的顺序逐个求解表达式.整个表达式的值就是最后一个表达式n的值.所以C是一个逗号表达式;加一个阔号可以与周围其他逗号区分开,在这里不会有错.
一条语句必须加分号,复合语句必须加中括号.明显D错了.
正确选C
第二题.
自加自减运算符优先与加减运算符;
并且按自右向左顺序执行,显然--i,被先合并了.被执行了,那么此刻i就是等于2,所以再执行-的时候变成了2-2,答案自然是A啦.哈
说明下++,--只能和变量组合,当然右边优先.
+++,---你要怎么拆,首先给我拆给变量,两边都是变量当然又是右边优先啦
简单c语言题目
第一题:a*=16+(b++)-(++c)等价于a=a*
(16+(b++)-(++c));
"()"优先级最高,所以先执行:(b++),在使用b之后,使b加一,因此(b++)=3;(++C),在使用c之前,使C加一,因此(++C)=5。然后将按照加减的结合性."自左向优"计算,因此16+(b++)-(++c)=14;之后
执行a*(16+(b++)-(++c))=28,所以a=28;
第2题:结果应该是1,因为unsigned
short类型的数值范围是0到65535,(-
-!汗,你可找c\c++程序设计的书,那里可以找到数据类型的数值范围)因为int是范围要大多,又因为signeed是以补码形式存放,而unsigned是全部2进制位都用本身表示自己,所以
程序的输出结果是-1;
第3题:x/y=0.5,但要自动转换成int类型,因此x/y=0
,所以1.0+x/y的值为1.0;
第4题:x-=y-z等价于x=x-(y-z),用小学的算法计算x-(y-z)=5,
x的值为5;
x%=y+z等价于x=x%(y+x),因为x%(y+x)=0.5,又因为x,y都为整形(int),所以x的值为0;
第5题;在此语句中printf("#d%d\n",(++x+y++),z+2);
#d是字符输出,%d是输出第一个表达式(自左向右),即是(++x+y++),先执行自增运算符++x值为4,(原理看第一题的说明),y++的值为3,所以(++x+y++)
=7,所以程序执行结果是#d7;
第6题:我觉得你这个题目是你抄错题"a=2,b=3,c=4.5,y=1.6,"中的c应该为x,这题是这样的,先执行(int)x=4,(int)=1,再执行(int)x%(int)y=4(注意,这里4是float类型),在执行(float)(a+b)/2=2.5,所以此表达式的值为6.5
第7题:-
-!你有抄错题没有?
main()
{int
i,j,m,n;
i=8;
j=3;
m=++i;
n=j--;
printf("%d,%d,%d,%d,i,j,m,n);}
/*觉得是printf("%d,%d,%d,%d",i,j,m,n);
*/
m=++i;因此m=9,这里i为9,这个容易理解(第一题);j第一次执行的时候n=j--,这里n=3,j=3;到第2次执行J的时候,即是执行printf("%d,%d,%d,%d,i,j,m,n)语句,这里的j就为2
因此执行结果为:9,2,9,3
第8题:因为abC是真,在C中都用数值1表达真,0表达假,所以m=1,所以表达式m=abc的值是1;
第9题:又抄错题?-
-!“b=2”?
先执行!,在执行关系运算符,ab为真,ca为假,ab为假,在执行逻辑运算符abca为假,abca‖abca‖ab为假,所以abca‖ab的值是0;
第10题:答案肯定为0;"设a=3,b=4,c=5,则表达式!(x=a)(y=b)0的值是"这题你做的出请告诉我,我也不会。(但可以敢肯定的是他的值为0,因为这个表达式的后面那个数据为0)如果将这题这样改写的话“10.设a=3,b=4,c=5,则表达式!(c=a)(c=b)0的值是”,我就有感觉怎做,首先(c=a)为假,!(c=a)为真,(c=b)为假,!(c=a)(c=b)为假,!(c=a)(c=b)0为假,即是0;
几道简单的C语言选择题,帮忙做一下
1、
为表示关系x≥y≥z,应使用C语言表达式
(A)2、
执行下面程序段
(B)3、
若有以下定义:
float
x;
int
a,b;
则正确的switch
语句是
(C)4、
能正确表示a和b同时为正或同时为负的逻辑表达式是(D)5、
选择出合法的判断a和b是否相等的if语句(C)6、
已知
int
x=10,y=20,z=30,则执行(如果那些语句是在if里面的话,那就选A,如果不是,那就选B)7、
运行下面程序后,输出是(B)8、
执行下列程序后的输出结果是(D)9、
如果c为字符型变量,下面________可以判断c是否为空格(A)10、
如果c为字符型变量,判断c是否为空格不能使用(C)
简单的c语言题
你原来的程序
#includestdio.h
#includestring.h
typedef struct{char name[9];char sex;float score[2];}STU;
void f(STU a)
{
STU b={"Zhao",'m',85.0,90.0}; int i;
strcpy(a.name,b.name);
a.sex=b.sex;
for(i=0;i2;i++) a.score[i]=b.score[i];
}
main()
{ STU c={"Qian",'f',95.0,92.0};
f(c);//c传递的是c的值,而不是c的地址,值是不能被赋值的,所以不管函数里发生什么变化,c的值都不会变
printf("%s,%c,%2.0f,%2.0f\n",c.name,c.sex,c.score[0],c.score[1]);
}
我把程序改成这样的话
#includestdio.h
#includestring.h
typedef struct{char name[9];char sex;float score[2];}STU;
void f(STU *a) //*a定义的是接收地址的指针
{
STU b={"Zhao",'m',85.0,90.0}; int i;
strcpy((*a).name,b.name);
(*a).sex=b.sex;
for(i=0;i2;i++) (*a).score[i]=b.score[i];
}
main()
{ STU c={"Qian",'f',95.0,92.0};
f(c);//这里是把c的地址传进函数,所以c会被改成函数里的值
printf("%s,%c,%2.0f,%2.0f\n",c.name,c.sex,c.score[0],c.score[1]);
}
这个输出就是:Zhao,m,85,90
希望能帮到你,可以加我,继续为你解答
简单的C语言题
第一题:a*=16+(b++)-(++c)等价于a=a*
(16+(b++)-(++c));
"()"优先级最高,所以先执行:(b++),在使用b之后,使b加一,因此(b++)=3;(++C),在使用c之前,使C加一,因此(++C)=5。然后将按照加减的结合性."自左向优"计算,因此16+(b++)-(++c)=14;之后
执行a*(16+(b++)-(++c))=28,所以a=28;
第2题:结果应该是1,因为unsigned
short类型的数值范围是0到65535,(-
-!汗,你可找c\c++程序设计的书,那里可以找到数据类型的数值范围)因为int是范围要大多,又因为signeed是以补码形式存放,而unsigned是全部2进制位都用本身表示自己,所以
程序的输出结果是-1;
第3题:x/y=0.5,但要自动转换成int类型,因此x/y=0
,所以1.0+x/y的值为1.0;
第4题:x-=y-z等价于x=x-(y-z),用小学的算法计算x-(y-z)=5,
x的值为5;
x%=y+z等价于x=x%(y+x),因为x%(y+x)=0.5,又因为x,y都为整形(int),所以x的值为0;
第5题;在此语句中printf("#d%d\n",(++x+y++),z+2);
#d是字符输出,%d是输出第一个表达式(自左向右),即是(++x+y++),先执行自增运算符++x值为4,(原理看第一题的说明),y++的值为3,所以(++x+y++)
=7,所以程序执行结果是#d7;
第6题:我觉得你这个题目是你抄错题"a=2,b=3,c=4.5,y=1.6,"中的c应该为x,这题是这样的,先执行(int)x=4,(int)=1,再执行(int)x%(int)y=4(注意,这里4是float类型),在执行(float)(a+b)/2=2.5,所以此表达式的值为6.5
第7题:-
-!你有抄错题没有?
main()
{int
i,j,m,n;
i=8;
j=3;
m=++i;
n=j--;
printf("%d,%d,%d,%d,i,j,m,n);}
/*觉得是printf("%d,%d,%d,%d",i,j,m,n);
*/
m=++i;因此m=9,这里i为9,这个容易理解(第一题);j第一次执行的时候n=j--,这里n=3,j=3;到第2次执行J的时候,即是执行printf("%d,%d,%d,%d,i,j,m,n)语句,这里的j就为2
因此执行结果为:9,2,9,3
第8题:因为abC是真,在C中都用数值1表达真,0表达假,所以m=1,所以表达式m=abc的值是1;
第9题:又抄错题?-
-!“b=2”?
先执行!,在执行关系运算符,ab为真,ca为假,ab为假,!cb为假,在执行逻辑运算符abca为假,abca‖ab为假,abca‖ab!cb为假,所以abca‖ab!cb的值是0;
第10题:答案肯定为0;"设a=3,b=4,c=5,则表达式!(x=a)(y=b)0的值是"这题你做的出请告诉我,我也不会。(但可以敢肯定的是他的值为0,因为这个表达式的后面那个数据为0)如果将这题这样改写的话“10.设a=3,b=4,c=5,则表达式!(c=a)(c=b)0的值是”,我就有感觉怎做,首先(c=a)为假,!(c=a)为真,(c=b)为假,!(c=a)(c=b)为假,!(c=a)(c=b)0为假,即是0;
C语言几道简单的题目
【B】2.变量a与b分别初始为10与20,正确的语句是:
A:
int
a=10,
int
b=20;
B:
int
a=10,
b=20;
C:
int
a=10;
b=20;
D:
int
a=10;
b=20,
【C】3.以下选项中正确的C语言常量是:
A:
0xEfGh
B:
'XYZ'
C:
12.34e5
D:
'\5A'
【A】4.设有double
x;char
s[50];输出双精度浮点数x和字符串s,正确的语句是:
A:
printf("%lf
%s",x,s);
B:
printf("%ld
%s",x,s);
C:
printf("%lf
%s",x,s);
D:
printf("%lf
%s",x,s[50]);
【B】5.语句printf("%.1f,%d\n",10./4,10/8);的输出是:
A:
2.5,1.25
B:
2.5,1
C:
1,1.25
D:
2,1.25
【B】6.设有char
ch;
与语句“ch=getchar();”等价的语句是:
A:
scanf("%c",ch)
B:
scanf("%c",ch);
C:
printf("%c",ch);
D:
printf("%c",ch);
【C】7.
设int
n,m;
使m为n的十进制百位数的语句是:
A:
m
=
n/100;
B:
m
=
n%100;
C:
m
=
n/100%10;
D:
m
=
n%10/100;
【C】8.设float
x,y;
使y为x的小数部分的语句是:
A:
y
=
(int)x;
B:
y
=
int(x);
C:
y
=
x-(int)x;
D:
y
=
x-int(x);
【C】9.
与语句“m
+=
(x=5)
+
(--y);”等价的语句序列是:
A:
m=m+x+y;
x=5;
y=y-1;
B:
x=5;
m=m+x+y;
y=y-1;
C:
x=5;
y=y-1;
m=m+x+y;
D:
y=y-1;
m=m+x+y;
x=5;
【B】10.
设int
n;
对应“n为二位数(10至99)”的判断表达式是:
A:
10=n=99
B:
10=n
n=99
C:
10=n
||
n=99
D:
10=n,
n=99
【A】11.
设char
ch;
判断“ch为数字字符”的表达式是:
A:
ch='0'
ch='9'
B:
ch0
ch9
C:
ch='0'
||
ch='9'
D:
ch=0
||
ch=9
【A】12.
与语句“x+=(a++==b)?c:--d;”功能等价的语句段是:
A:
if
(a==b)
{
a=a+1;
x=x+c;
}
else
{
a=a+1;
d=d-1;
x=x+d;
}
B:
a=a+1;if
(a==b)
{
x=x+c;
}
else
{
d=d-1;
x=x+d;
}
C:
if
(a==b)
{
a=a+1;
x=x+c;
}
else
{
a=a+1;
x=x+d;
d=d-1;
}
D:
if
(a==b)
{
a=a+1;
x=c;
}
else
{
a=a+1;
d=d-1;
x=d;
}
【C】13.
设有in
i;
写出下列语句的运行结果:
for
(i=0;i5;i++)
printf("%d",i);
A:
0123456
B:
012345
C:
01234
D:
0123
【C】14.
设有char
ch;
写出下列语句的运行结果:
for
(ch='B';ch='F';ch++)
putchar(ch);
A:
ABCDEFG
B:
ABCDEF
C:
BCDEF
D:
BCDEFG
【A】15.
以下一维数组定义中,正确的是:
A:
int
a[5]
=
{
1,2,3,4,5
};
B:
int
a[5]
=
1,2,3,4,5;
C:
int
a[1
to
5];
D:
int
a[]
【D】16.以下字符串定义与赋值中,正确的是:
A:
char
s[80];
s
=
{'A',
'B',
'C'};
B:
char
s[80];
s
=
"ABC";
C;
char
s[80]
=
{"A",
"B",
"C"};
D:
char
s[80]
=
"ABC";
【B】17.
在字符串常用函数中,用于复制字符串的函数是:
A:
strlen
B:
strcpy
C:
strcat
D:
strcmp
【B】18.
设有定义:int
i,
a[10];
能正确输入a数组各元素的语句是:
A:
i=10;
scanf("%d",
a[i]);
B:
for(i=0;
i=9;
i++)
scanf("%d",
a+i);
C:for(i=0;i10;i++)scanf("%d",a[i]);D:for(i=0;i10;i++)scanf("%d",
a);
【B】19.
设有定义:int
a[10]={6,7,8,9,10};正确的解释是:
A:
将5个初值依次赋给a[1]至a[5]
B:
将5个初值依次赋给a[0]至a[4]
C:
将5个初值依次赋给a[6]至a[10]
D:
将5个初值依次赋给a[5]至a[9]