#include <stdio.h> void main() { char c1,c2; c1='a'; c2='b'; printf("%c %c\n",c1,c2); }
printf("%d %d\n",c1,c2); 再运行,并分析结果。
int c1,c2; 再使之运行,并分析结果。 Char定义字符,而int定义整型,由于输出结果为ASCLL所以结果未变???
c1=a; /*不用单撇号*/ c2=b; 再使之运行,并分析其运行结果。 不加单引号为非定义字符,报错
c1=97; c2=98; 再使之运行,分析其运行结果。 赋值给了A和B,所以打印出数字
c1=300; /*用大于255的整数*/ c2=400; 再使之运行,并分析其运行结果。 大于255无法定义读出
#include <stdio.h> void main() { char c1='a',c2='b',c3='c',c4='\101',c5='\116'; printf("a%c b%c\tc%c\tabc\n",c1,c2,c3); printf("\t\b%c %c\n",c4,c5); } 在上机前先用人工分析程序,写出相应结果,上机后将二者对照。
#include <stdio.h> void main() { short int a,b; unsigned short c,d; int e,f; a=100; b=-100; e=50000; f=32767; c=a; d=b; printf("%d,%d\n",a,b); printf("%u,%u\n",a,b); printf("%u,%u\n",c,d); c=a=e; d=b=f; printf("%u,%u\n",a,b); printf("%u,%u\n",c,d); } 请对照程序和运行结果分析:
原改后·
出错
将65540赋给短整a所得结果
需注意各变量类型的取值范围,不然会发生报错
#include <stdio.h> void main() { int i,j,m,n; i=8; j=10; m=++i; n=j++; printf("%d,%d,%d,%d\n",i,j,m,n); }
原输出结果
m=i++; n=++j; 再运行。 改变后,输出结果i++是先计算后使用,即先加一后将值赋给m,j反之同理
#include <stdio.h> void main() { int i,j; i=8; j=10; printf("%d,%d\n",i++,j++); }
printf("%d,%d\n",++i,++j);
printf("%d, %d,%d,%d\n",i,j,i++,j++); 运行结果,即先得到上面的赋值,在进行计算(+1),在输出结果
#include <stdio.h> void main() { int i,j,m=0,n=0; i=8; j=10; m+=++i; n-=j--; printf("i=%d,i=%d,m=%d,n=%d\n",i,j,m,n); } 所得结果 |
这一节的难点在于自增自减运算符的理解与运用,需熟悉a=++x;表示先计算后使用,即先将x的值自加1,再把值赋给a,而x++,则相反,为先试用后计算,即先将x的值赋给变量a,然后再将x的值自加1. |
C语言,练习1
最新推荐文章于 2024-07-28 21:19:15 发布