c程序设计作业 (5)(3页).doc
-c程序设计作业 (5)-第 3 页1、分析下面程序:# include <stdio.h>int main() char c1,c2; c1=97; c2=98; printf("c1=%c,c2=%cn"c1,c2); printf("c1=%d,c2=%dn",c1,c2); return 0;(1)运行时会输出什么信息?为什么?(2)如果将程序第4,5行改为c1=197;c2=198;运行时会输出什么信息?为什么?(3)如果将程序第3行改为int c1,c2;运行时会输出什么信息?为什么?答:(1)程序运行不了,因为程序存在错误。正确的程序为:#include <stdio.h>int main() char c1,c2; c1=97; c2=98; printf("c1=%c,c2=%cn",c1,c2); printf("c1=%d,c2=%dn",c1,c2); return 0; (2)如果将程序第4,5行改为c1=197;c2=198; 运行时会输出: (3)如果将程序第3行改为int c1,c2;运行时会输出:因为int表示整型,%c是输出字符,a的ASCLL代码是97,b的是98,所以输出c1=a,c2=b.%d是表示输出十进制整型,所以输出c1=97,c2=982、用下面的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=A,c2=a。问在键盘上如何输入? #include <stdio.h>int main() int a,b; float x,y; char c1,c2; scanf("a=%db=%d",&a,&b); scanf("%f%e",&a,&y); scanf("%c%c",&c1,&c2); return 0; 答:输入如图: 输出如图: