本文目录一览:
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,程序的输出结果是-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,在执行(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);}执行结果为:9,2,9,3; 第8题:因为abC是真,在C中都用数值1表达真,0表达假,所以m=1,所以表达式m=abc的值是1; 第9题:又抄错题没有?main() {int i,j,m,n; i=8; j=3; m=++i; n=j--; printf("%d,%d,%d,%d,i,j,m,n); } 执行结果为:9,2,9,3; 第10题:答案肯定为0;设a=3,b=4,c=5,则表达式!(x=a)(y=b)0的值是0;
几道简单的C语言选择题,帮忙做一下
- 为表示关系x≥y≥z,应使用C语言表达式;
- 执行下面程序段;
- 若有以下定义: float x; int a,b; 则正确的switch语句是;
- 能正确表示a和b同时为正或同时为负的逻辑表达式是;
- 选择出合法的判断a和b是否相等的if语句;
- 已知int x=10,y=20,z=30,则执行;
- 运行下面程序后,输出是;
- 执行下列程序后的输出结果是;
- 如果c为字符型变量,下面可以判断c是否为空格;
- 如果c为字符型变量,判断c是否为空格不能使用;
简单的c语言题
你原来的程序:
#include<stdio.h>
#include<string.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;i<2;i++) a.score[i]=b.score[i];
}
main()
{
STU c={"Qian",'f',95.0,92.0};
f(c);
printf("%s,%c,%2.0f,%2.0f\n",c.name,c.sex,c.score[0],c.score[1]);
}
我把程序改成这样的话:
#include<stdio.h>
#include<string.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;i<2;i++) (*a).score[i]=b.score[i];
}
main()
{
STU c={"Qian",'f',95.0,92.0};
f(&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,程序的输出结果是-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,在执行(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);}执行结果为:9,2,9,3; 第8题:因为abC是真,在C中都用数值1表达真,0表达假,所以m=1,所以表达式m=abc的值是1; 第9题:又抄错题没有?main() {int i,j,m,n; i=8; j=3; m=++i; n=j--; printf("%d,%d,%d,%d,i,j,m,n); } 执行结果为:9,2,9,3; 第10题:答案肯定为0;设a=3,b=4,c=5,则表达式!(x=a)(y=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: ch>0 && ch<9
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.设有int i; 写出下列语句的运行结果:
for (i=0;i<5;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; i<10; i++) scanf("%d", a[i]);
D: for(i=0; i<10; 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]