简单的c语言题,C语言的题

发布时间:2022-11-23

本文目录一览:

  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,程序的输出结果是-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语言选择题,帮忙做一下

  1. 为表示关系x≥y≥z,应使用C语言表达式;
  2. 执行下面程序段;
  3. 若有以下定义: float x; int a,b; 则正确的switch语句是;
  4. 能正确表示a和b同时为正或同时为负的逻辑表达式是;
  5. 选择出合法的判断a和b是否相等的if语句;
  6. 已知int x=10,y=20,z=30,则执行;
  7. 运行下面程序后,输出是;
  8. 执行下列程序后的输出结果是;
  9. 如果c为字符型变量,下面可以判断c是否为空格;
  10. 如果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]