int a=-1; printf(" %d,%un",a,a);程序段的输出

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/02 01:06:08
分析下面的C语言代码:inta=1,b=10;do{b-=a;a++;}while(b--<0);则执行循环语句后

可以这么考虑!inta=1,b=10;do{b-=a;a++;}//执行这条语句时,b=b-a=10-1=9,a=2while(b--0不满足循环条件,跳出循环后b再自减一次,b=8希

inta,b;求表达式(a=1,a++,b=1,a&&b++)?i+1:i+4的值 inti=1,求i++||i++||

(a=1,a++,b=1,a&&b++)?i+1:i+4由于i没有初始化,这个的值应该是个随机数i++||i++||i++是一个逻辑运算,答案应该为“真”,即1

void func(inta,int&b) { a++; b++; } 若执行代码段:int x=0,y=1; func

voidfunc(inta,int&b)//传入的值为0和1,a=0b=1{a++;//a在函数中的值改为1,但是出函数后,x仍然=0b++;//b是引用传参(b相当于y),所以跳出函数后y的值改为2

在C语言中.#include int main() {inta=17 ; intb=5; printf("%d% % %

那不是取余,而是要显示一个%,由于%在输出格式字符串中表示数据类型,所有用%%表示一个%必须是紧靠在一起的!

char *p[4]={1,2,3,4}; 而输出是printf("%d",p[0]) ;printf("%d",p[1

p的值就是p[0]的地址也就是p[0]=*p那*p[0]是什么?再问:指向数组的指针?再答:还不明白么#includeintmain(void){\x09inta[4]={1,2,3,4};\x09i

inta=3,b=2,c=1,则表达式(a>b)==c的值是多少?

值为1a>b为真即1,又1=1,所以也为真,得最终为1

:若有定义:inta[5]={1,2,3,4,5};则语句a[1]=a[3]+a[2+2]-a[3-1];运行后a[1]

数组的下标是从0开始的所以a[1]是指数组中的第二个数,以此类推.所以a[1]=a[3]+a[2+2]-a[3-1];=a[3]+a[4]-a[2]=4+5-3=6最后为6

C语言inta=10,y=0;do{a+=2;y+=a;printf("a=%d y=%d\n",a,y);if(y>2

输出a=12y=12a=16y=28这题目出的太恶心了再问:能不能讲讲具体过程呀?再答:a=10,y=0,第一次进入do循环,a加2为12,y+a为12.打印输出然后判断y小于20,不满足break,

执行了下列语句后a,b的值是多少?inta,b,c;a=b=c=1;++a‖++b&&++c;求解释.

a=2;b=1;a非零,||逻辑值就为1了.所以b根本没执行

void main() { inta[3][4]={1,3,5,7,9,11,13,15,17,19,21,23}; i

2维数组a[3][4]={{1,3,5,7}{9,11,13,15}{17,19,21,23}}这样子可能楼主清楚些,int(*p)[4]=a也就是把a2维数组赋给2维指针p,接下来执行循环首先i=0

#include “stdio.h" main() {inta=2,b=2;c=2; printf("%d\n",a/b

【结果】0【分析】&的优先级比/高所以2/2为1,1的二进制是01而c是2,2的二进制是10,两者相与(&),结果则为00,即0.再问:什么叫相与再答:C语言的逻辑运算中的一种,与运算。只有两者均为1

定义inta=2;则表达式(a*=2,a+3,a+1)的值为

逗号表达式从左往右计算,返回最后一个表达式的值.a*=2后a=4,返回a+1=5

指针的逻辑运算例题 inta[5]={1,3,5,7,9},*p1=a,*p2=0;那么 p1,p2,为真,p2,p1&

p1是指向数组a的首地址的指针,p2为空指针.因为p2为空指针,所以p2取反为真.(即!p2的值为真).p1不为空,所以不管他指向哪,都为真.所以p1,!p2,为真,p2,p1&&p2为假.p1指向数

struct st{int x;int*y;}*p;inta[]={1,2},b[]={3,4};struct st c

答案为cpt->x=10;++pt->x=11;再问:为什么pt->x=10,而不是等于20呢再答:pt此时指向c[2]这个数组中的的第一个

void main() { inta,b=1 a=(b+4,b+=2,++b); printf("%d",a);

答案为4,逗号运算符先运算表达式1:b+4其值为5,整个为真的话整个表达式就等于(b+=2,++b)此处又是逗号运算符,b+=2的值为三b的值也为3,后面++b为4,b值也为4所以a=4再问:那为什么

int i=9999;printf("%d\n",printf("%d",printf("%d",printf("%d"

#include"StdAfx.h"voidmain(){inti=9999;printf("%d\n",printf("%d",printf("%d",printf("%d",i)/*这个输出的

int x=1;if(x=2) printf("you are a good boy"); else printf("y

1结果:youareagoodboy2分析:intx=1;if(x=2)//这个是赋值,表达式结果为非零,当成真.printf("youareagoodboy");//条件成立,执行本行.elsepr

若有定义:floatx=1.5;inta=1,b=3,c=2;则正确的switch语句是

选C。A错,因为浮点型不能用在switch中。B错,本来将浮点型强制转换为整型之后用switch是可以的,但它在swich((int)x)后面多了个分号。C对,a+b的结果也是整型,没问题。D错,因为