当前位置:首页 » 编程语言 » c语言与kn完全等价的表达式
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言与kn完全等价的表达式

发布时间: 2022-09-04 05:58:58

A. 与k=n++完全等价的表达式是

k=n,n=n+1;

++是自增运算符,可以放置在操作数前面,也可以放在后面。而n++ 表示n参与运算后,n的值再自增1;++n表示,n自增1后再参与其它运算.

k=n++表示n自增1后,赋值给k。

(1)c语言与kn完全等价的表达式扩展阅读:

自增自减运算符存在于C/C++/C#/Java/Python等高级语言中,它的作用是在运算结束前(前置自增自减运算符)或后(后置自增自减运算符)将变量的值加(或减)一。

相较于这些语言中的+=和-=运算符,自增运算符更加简洁,且可以控制效果作用于运算之前还是之后,具有很大的便利性。

前置后置区别的举例:

a = i++;

相当于 a = i; i++;

a = ++i;

相当于 i++; a = i;

B. k=n++完全等价的表达式是

n++,是后加的,就是说,先用n的值,再让它+1比如,原来n为4那么n++为4,然后,n就变成5了 ①k=n,n=n+1 是可以的,k=n,n赋给k之后,k=4,然后,n+1变成了5

C. 还是C语言

第1题 以下四个选项中不能看作一条语句的是
A、{; }
B、a=0,b=0,c=0;
C、if(a>0)
D、if(b==0)m=1;n=2;

【我的答案】
C

A可以,{}起到的作用是对变量的什么周期进行限定,防止名称空间污染
C 如果,,,,,(没有后半句了),看着都不爽,就选他了
--------------------------------------------

第2题 C语言提供的合法关键字是
A、swicth
B、cha
C、Case
D、default

【我的答案】
D

A错了,我靠这不会是英文考试吧,竟然还有switch的拼写问题!
D正确
--------------------------------------------

第3题 能正确表示逻辑关系“a≥10或a≤0”的C语言表达式是
A、a>=10 or a<=0
B、a>=10 || a<=0
C、a>=10 && a<=0
D、a>=10 | a<=0

【我的答案】
B

或者是 || 不是 or
| 是位操作符 - 位或
--------------------------------------------

第4题 下述语句的输出为
int m=-1;
printf(“%d,%u,%o”,m,m,m);
A、-1,-1,-11
B、-1,32767,-177777
C、-1,32768,177777
D、-1,65535,177777

【我的答案】
D

我不知道,但是猜猜看:
1 %d 正常输出
2 %u unsigned, 那么-1就变成了极大极大极大的数,记住,爱到尽头便是恨,(就是正数的极大值)
3 %o 八进制, 你见过负的么?我暂时木有

选择D

--------------------------------------------

第5题 设有变量int x=0,y=1,z=1,则运行表达式:x=y++>z--后,x,y,z的值分别是
A、1,1,1
B、1,2,0
C、0,1,1
D、0,2,0

【我的答案】
D

考察运算符优先级,单目大于双目:
y++ ==> y=1;y=y+1;y=2;
z-- ==> z=1;z=z-1;z=0;
然后从右向左

x=( 1>1 ) ==> 错的 ==> X=0

选D
--------------------------------------------

第6题 若有定义:“int a=8,b=5,c;”,执行语句“c=a/b+0.4”后,c的值为
A、1.4
B、1
C、2.0
D、2

【我的答案】
B

考察C语言的类型隐式转换
C=a/b + 0.4 = 8/5+ 0.4 = 1.00000 + 0.4 = 1.4000000 => (int)1.400000 = 1 => 选B

--------------------------------------------

第7题 假定x和y为double型,则表达式x=2,y=x+3/2的值是
A、3.500000
B、3
C、2.000000
D、3.000000

【我的答案】
D

y=x+3/2 = 2+ 1.5 = 2+1 = 3 (double)3 ==> 3.000000 ==> 选D

--------------------------------------------

第8题 以下程序的输出结果是
int
main()
{
int a=0,i;
for(i=1;i<5;i++)
{
switch(i)
{
case 0:
case 3:a+=2;
case 1:
case 2: a+=3;
default: a+=5;
}
}
printf(“%d\n”,a);
}
A、31
B、13
C、10
D、20

【我的答案】
A

i=1 a=0; a=a+8=8
i=2 a=a+8=16;
i=3 a=a+10=26;
i=4; a=a+5=31;
选A

--------------------------------------------

第9题 已有定义:int x=3,y=4,z=5;则表达式!(x+y)+z-1&&y+z/2的值是
A、6
B、0
C、2
D、1

【我的答案】

!(x+y)+z-1&&y+z/2:

z=5; z/2=2; y=4; 4+2=6;

z-1=4;

!(x+y)=!(7)=0;

0+4&&6=1 选D

--------------------------------------------

第10题 以下程序的输出结果是
main()
{
int a=3;
printf(“%d\n”,a+(a-=a*a));
}
A、-6
B、12
C、0
D、-12

【我的答案】

a+(a-=3*3)
a+(a-=9)
a+(a=a-9)
a+(a=-6);
-6-6 = -12
选D
--------------------------------------------

第11题 以下四个选项中,属于实型常量的是
A、0x12
B、-12345e-3
C、1e0.5
D、e-5

【我的答案】

B
--------------------------------------------

第12题 结构化程序设计方法中有三种基本控制结构,以下不正确的是
A、顺序结构
B、选择结构
C、循环结构
D、数组结构

【我的答案】

D
--------------------------------------------

第13题
void main()
{
int a=5, b=8;
printf(“a=%d b=%d\n”, a,b);
a=a+b; b=a-b; a=a-b;
printf(“a=%d b=%d\n”, a,b) ;
}
输出的结果为
A、a=5 b=8
a=8,b=5
B、a=5 b=8
a=5,b=8
C、a=8 b=5
a=8,b=5
D、a=5 b=8
a=8,b=8

【我的答案】
A 考察交换数字的值a=a+b; b=a-b; a=a-b;

a=5; b=8;
ab交换
a=8 b=5;
选择 A
--------------------------------------------

第14题 执行int j,i=1; j=-i++; 后j的值是:
A、-1
B、-2
C、1
D、2

【我的答案】
A

j=-i++ ==> j=-1;i=2;
选A
--------------------------------------------

第15题 以下程序的输出结果是
main()
{
char c='z';
printf(“%c”,c-25);
}
A、a
B、Z
C、z-25
D、y

【我的答案】
A

char-25=a 选A
--------------------------------------------

第16题 以下选项中合法的用户标识是
A、long
B、_2Test
C、3Dmax
D、A.dat

【我的答案】

D
--------------------------------------------

第17题 以下程序的输出结果是
main()
{
int a=5,b=4,c=6,d;
printf(“%d\n”,d=a>b?(a>c?a:c):(b));
}
A、5
B、4
C、6
D、不确定

【我的答案】
C

d=a>b?(a>c?a:c):(b); a=5>b=4;==> d= a>c?a:c ==> a=5 < c=6; ==> d=c=6; 选C
--------------------------------------------

第18题 以下选项中,与k=n++完全等价的表达式是
A、k=n,n=n+1
B、n=n+1,k=n
C、k=++n
D、k+=n+1

【我的答案】
A

按照运算顺序,
k=n++; ==> k=n;++n; 选A
--------------------------------------------

第19题 已知小写字母的ASCII码为97,对于int a=99, b='b'; printf(“%c,%d”, a , b);的结果是
A、99, b
B、c, 98
C、99, 98
D、c, b

【我的答案】
B

printf(“%c,%d”, a , b)
所以输出为 char,int, 所以为B;
--------------------------------------------

第20题 有如下程序:
main()
{
int x=1,a=0,b=0;
switch(x)
{
case 0:b++;
case 1:a++;
case 2:a++;b++;
}
printf(“a=%d,b=%d\n”,a,b);
}

该程序的输出结果是
A、a=2 b=1
B、a=1 b=1
C、a=1 b=0
D、a=2 b=2

【我的答案】
A

a=0;b=0;
x=1
a=a+2=2;
b=b+1=1;
选 A

--------------------------------------------

D. 求解c语言选择题

36.设有以下定义:
int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};
int (*ptr)[3]=a,*p=a[0];
则下列能正确表示数组元素a[1][2]的表达式是(D )。
A.*((*ptr+1)[2]) B.*(*(p+5))
C.(*ptr+1)+2 D.*(*(a+1)+2)
37.对于以下的变量定义,表达式( D)是不正确的。
struct node {
int j, k;
} x, *p=&x;
A.p->k=2 B.(*p).k=2 C.x.k=2 D.x->k=2
38.当已存在一个abc.txt文件时,执行函数fopen (“abc.txt”, “r+”)的功能是( D)。
A.打开abc.txt文件,清除原有的内容
B.打开abc.txt文件,只能读取原有内容
C.打开abc.txt文件,可以读取和写入新的内容
D.打开abc.txt文件,只能写入新的内容
39.有以下程序:
main()
{
char *s[]={"one","two","three"},*p;
p=s[1];
printf("%c,%s\n",*(p+1),s[0]);
}执行后输出结果是( A)。
A.w,one B.n,two C.t,one D.o,two
40.若有以下定义:
int a[]={1,2,3,4,5,6,7,8,9,10},*p=a;
则值为3的表达式是(C )。
A.*p B.*(p+1)
C.*(p+2) D.*(p+3)
41.以下性质不是算法特征是( B)。
A.有穷性 B.可重用性 C.确定性 D.有0个或多个输入
42.以下关于C语言优点说法错误的是( B)。
A.C语言描述简洁、灵活、高效,有丰富的数据类型
B.C语言的源程序无需经过编译连接处理,可以直接被计算机运行
C.C语言提供了功能齐全的函数库,有良好的通用性和可移植性
D.C语言生成目标代码的质量高,程序执行效率高
43.C语言提供合法的数据类型关键字是( B)。
A.Double B.short C.integer D.Char
44.C语言的标识符只能由字母、数字和下划线三种字符组成,且首字符( A)。
A.必须为字母或下划线 B.必须为下划线
C.必须为字母 D.可以是字母、数字和下划线中的任一种字符。
45.以下选项中,与k=n++完全等价的表达式是(A )。
A.k=n,n=n+1 B.k=++n C.k+=n+1 D.n=n+1,k=n
46.设有语句int a=3;则执行语句a+ =a*a;后,变量a的值是( D)。
A.3 B.9 C.12 D.18
47.若有定义int a=7; float x=2.5, y = 4.7; 则表达式x+a%3*(int) (x + y) %2/4的值是( D)。
A.2.750000 B.0.00000 C.3.500000 D.2.500000
48.对y在[3,23]和[100,200]范围内为真的正确表达式为( C)。
A.(y>=3)&&(y<=23)&&(y>=100)&&(y<=200)
B.(y>=3)||(y<=23)||(y>=100)||(y<=200)
C.(y>=3)&&(y<=23)||(y>=100)&&(y<=200)
D.(y>=3)||(y<=23)&&(y>=100)||(y<=200)
49.设x、y、z和k都是整型变量,则执行变量表达式:x=(y=52,z=26,k=32)后,x的值为( C)。
A.4 B.26 C.32 D.52
50.现已定义整型变量int i=1;执行循环语句”while(i++<5);”后,i的值为(C )。
A.1 B.5 C.6 D.以上三个答案均不正确

E. 以下选项中,与k=n++完全等价的是

k = n++, 意思就是k先等于n 然后n = n + 1,选B,这个楼上也要想为什么。。。。
n++; 跟n+=1没区别,当然前提是n为整型数或者字符才可以,指针的话就不行。

F. 在C语言中“%c%c\n”和“%d%d\n“分别说明什么。。。

%c%c 和%d%d 出现在输出语句中具有如下意义:

%c%c 表示输出两个字符数据,%d%d 表示输出两个十进制整型数据。

并且输出的数据是紧挨着的,如果想分开点,可以增加宽度,比如"%5d"就是按照5的宽度输出一个整型数据,或者在两个格式符中间加上空格,逗号,等其他字符也可以,比如"%d,%d"。

(6)c语言与kn完全等价的表达式扩展阅读:

常用的有以下几种格式字符:

一、d格式字符。用来输出十进制整数。有以下几种用法:

1、%d,按整型数据的实际长度输出。

2、%md,m为指定的输出字段的宽度。

3、%ld,输出长整型数据。

二、o格式符,以八进制整型式输出整数。

三、x格式符,以十六进制数形式输出整数。

四、c格式符,用来输出一个字符。

G. 求大神,c语言题目:与条件表达式“(n)(c++):(c--)”中的表达式(n)等价的表达式是 。...

if( n !=0)
(c++);
else
(c--);
问号就是三目运算符.
就是 a?b:c;
当a为真时,即a不等于0时执行b;否则执行c!

给分..不容易啊

H. C语言问题。以下程序段中与语句K=a>b(b>c1:0):0;功能等价的是()

if (a>B)k=1;else if (b<=c)k=1; else if (a>c)k=1;else k=0。选D。

问号表达式 :

(表达式1)?(表达式2):(表达式3)。

如果表达式1成立则执行表达式2,否则执行表达式3。

注意事项:

问号表达式是从右向左运行

例如 :

int a=8,b=3,c=7;

printf("%d",a>b?a>c?a:c:b>c?b:c);

可以分成三步完成

第一步:b>c?b:c 结果为c

第二步:a>c?a:c 结果为a

第三步:前两步的结果分别对应表达式3和表达式2,即a>b?a:c。

最终输出结果为a即8。

(8)c语言与kn完全等价的表达式扩展阅读:

C语言特点:

1、高级语言:它是把高级语言的基本结构和语句与低级语言的实用性结合起来的工作单元。

2、结构式语言:结构式语言的显着特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。

C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。

3、代码级别的跨平台:由于标准的存在,使得几乎同样的C代码可用于多种操作系统,如Windows、DOS、UNIX等等;也适用于多种机型。C语言对编写需要进行硬件操作的场合,优于其它高级语言。