C语言简单输入输出练习及解析
- 格式:doc
- 大小:14.00 KB
- 文档页数:2
C语言简单输入输出练习及解析main() ??{ int a,b;float c,d;long e,f;unsigned int u,v;char c1,c2;scanf("%d,%d",a,b);scanf("%f,%f",c,d);scanf("%1d,%1d",e,f);scanf("%o,%o",u,v);scanf("%c,%c",c1,c2);printf("\n");printf("a=%d,b=%d\n",&a,&b);printf("c=%f,d=%f\n",&c,&d);printf("e=%d,f=%d\n",&e,&f);printf("u=%o,v=%\n",&u,&v);printf("c1=%d,c2=%d\n",&c1,&c2);}1,这个程序有语法错误吗?为什么?2,调试上述程序无语法错误后,用下面的数据对程序进行测试:a=123, b=456, c=17.6, d=71837.657, e=70000, f=2174506, u=62000, v=58765,c1=‘a‘,c2=‘b‘分析运行结果。
3,输入e和f的语句改为:scanf("%d,%d",&e,&f );再用上述数据测试并分析结果4,将输入u和v的语句改为:scanf("%d,%d",&u,&v );再用上述数据测试并分析结果5, 将输入e和f的语句改为:printf("e=%d,f=%d\n",e,f);再用上述数据测试并分析结果6, 将输入u和v的语句改为:printf("u=%u,v=%u\n",u,v);或printf("u=%d,v=%d\n",u,v); 再用上述数据测试并分析结果7,请同学们自己修改程序和改变数据输入的形式,分析各种情况下的输入与输出"#include#includemain(){int a,b;float c,d;long e,f;unsigned u,v;char c1,c2;SCON=0x52;TMOD=0x20;TH1=0xf3;TR1=1;scanf("%d,%d",&a,&b);scanf("%f,%f",&c,&d);scanf("%ld,%ld",&e,&f); scanf("%o,%o",&u,&v);scanf("%c,%c",&c1,&c2); printf("\n");printf("a=%d,b=%d\n",a,b); printf("c=%f,d=%f\n",c,d); printf("e=%ld,f=%ld\n",e,f); printf("u=%o,v=%v\n",u,v); printf("c1=%c,c2=%c\n",c1,c2); }。
C语言编程题带答案C 语言作为一门广泛应用的编程语言,在学习过程中,通过编程题的练习可以更好地掌握其语法和逻辑。
下面为您带来几道 C 语言编程题以及详细的答案解析。
题目一:求两个整数的和要求编写一个 C 语言程序,输入两个整数,计算并输出它们的和。
```cinclude <stdioh>int main(){int num1, num2, sum;printf("请输入第一个整数:");scanf("%d",&num1);printf("请输入第二个整数:");scanf("%d",&num2);sum = num1 + num2;printf("这两个整数的和是:%d\n", sum);return 0;```解析:在这个程序中,首先使用`printf`函数提示用户输入两个整数,然后通过`scanf`函数获取用户输入的值并存储在变量`num1`和`num2`中。
接下来,将这两个数相加并将结果存储在变量`sum`中,最后使用`printf`函数输出结果。
题目二:判断一个数是否为奇数编写一个 C 语言程序,输入一个整数,判断它是否为奇数,如果是奇数输出“是奇数”,否则输出“不是奇数”。
```cinclude <stdioh>int main(){int num;printf("请输入一个整数:");scanf("%d",&num);if (num % 2!= 0) {printf("是奇数\n");} else {printf("不是奇数\n");return 0;}```解析:在这个程序中,使用取余运算符`%`来判断一个数是否能被2 整除。
如果取余结果不为 0,说明该数不能被 2 整除,即为奇数;否则,不是奇数。
题目三:计算 1 到 100 的累加和编写一个 C 语言程序,计算 1 到 100 的累加和。
```cinclude <stdioh>int main(){int sum = 0, i;for (i = 1; i <= 100; i++){sum += i;}printf("1 到 100 的累加和是:%d\n", sum);return 0;```解析:这里使用了`for`循环从 1 迭代到 100,每次迭代都将当前的数字加到变量`sum`中,最终得到 1 到 100 的累加和。
C 语言实训教程----输入输出专项练习一、实验目的1.能够熟练并正确定义、输入、输出并使用常用数据类型:整型、实型、字符型2.能够使用scanf(),printf(),getchar(),putchar(),gets(),puts()进行各种数据正确格式的输入输出二、实验内容及实验步骤(一) 验证性试验,验证以下实验,并分析实验结果1.用下面的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=ˊAˊ,c2=ˊaˊ,问在键盘上如何输入数据?#include<stdio.h>intmain(){ inta,b; flaotx,y; charc1,c2;scanf(“a=%db=%d”,&,&b);scanf(“%f%e”,&x&y);scanf(“%c%c”,&c1,&c2);printf("a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n",a,b,x,y,c1,c2);return 0;}运行时分别按以下方式输入数据,观察输出结果,分析原因。①a=3,b=7,x=8.5,y=71.82,A,a↙②a=3 b=7 x=8.5 y=71.82 A a↙③a=3 b=7 8.5 71.82 A a↙④a=3 b=7 8.5 71.82Aa↙⑤ 3 7 8.5 71.82Aa↙⑥a=3 b=7↙8.571.82↙A↙ a↙⑦a=3 b=7↙8.5 71.82↙Aa↙⑧a=3 b=7↙8.5 71.82Aa↙2.字符输入#include<stdio.h>main(){ int a;char b; floatc;printf("Please input an integer:");scanf("%d", &a); printf("integer: %d\n",a); printf("Please input a character:");scanf("%c", &b);printf("character: %c\n", b);printf("Please input a float number:");scanf("%f", &c); printf("float: %f\n", c);}如果把scanf("%c", &b);改为scanf("%1s", &b);观察运行结果3.验证格式输入#include <stdio.h>void main(){int a, b;p rintf("Please input a and b:"); scanf("%2d%*2d%2d",&a, &b);printf("a=%d, b=%d, a+b=%d\n",a,b,a+b);}(1)输入123456,验证上述实验结果(2)输入12345a4.格式输入与输出#include <stdio.h>main() { int a=-1;printf ("%d,%o, %x",a,a, a);printf("%8o, %12x",a, a);}5.无符号数据的输出#include<stdio.h>void main() {unsigned int a=65535;int b=-2;printf(“a=%d,%o,%x,%u\n”,a,a,a,a);printf(“b=%d,%o,%x,%u\n”,b,b,b,b);}6.字符串的输出#include<stdio.h> voidmain(){printf(“%3s,%7.2s,%.4s,%-5.3s\n”, “CHINA”, “CHINA”, “CHINA”,“CHINA”);}7.输出实数时的有效位数#include <stdio.h>void main(){ floatx,y;x=111111.111;y=222222.222;prinft(“%f”,x+y);}8.输出双精度数时的有效位数#include <stdio.h> void main(){double x,y;x=1111111111111.111111111;y=2222222222222.222222222;printf(“%f”,x+y);}9.输出实数时指定小数位数#include <stdio.h>void main(){float f=123.456;printf(“%f%10f%10.2f%.2f%-10.2f\n”,f,f,f,f,f);}10.字符输出#include<stdio.h>intmain(void) { int c;for ( ; ; ) { c= getchar(); if(c == EOF)break;if ((c >= ’a’) && (c <= ’z’))c += ’A’ - ’a’; putchar(c); }return 0;}(1)对比下列五种代码,将4-7、10 行代码替换如下,程序应该如何修改才能保持输出结果相同?for (c=getchar(); c!=EOF; c=getchar()) putchar(c);(2)将4-7、10 行代码替换如下,程序应该如何修改才能保持输出结果相同?while ((c=getchar())!=EOF) putchar(c);(3)将4-7、10 行代码替换如下,程序应该如何修改才能保持输出结果相同?c = getchar(); while(c!=EOF)(4)如果用ASCII 码修改if ((c >= ’a’) && (c <= ’z’));c += ’A’ - ’a’;这两句代码,应该如何修改?(5) 利用ctype函数修改上面代码,验证程序结果#include <stdio.h>#include<ctype.h>intmain(void) { int c;for ( ; ; ) { c =getchar(); if (c ==EOF) break; if(islower(c)) c =toupper(c);putchar(c); } return0;}11.转义符输出,并解释为什么是这样的输出结果#include <stdio.h>void main ( ){printf("a\nb\tc\bd\fef");转义符作用12.字符串输入输出,连续输入三个单词,每个单词以空格分隔#include <stdio.h>void main ( ){char str1[5],str2[5],str3[5]; scanf(”%s%s%s”,str1,str2,str3);printf("%s %s %s", str1,str2,str3);}(二)编程题1.编写printf函数调用下列格式来显示float型变量x:a)指数表示形式: 最小为8的字段宽度内左对齐; 小数点后保留1位数字.b)指数表示形式: 最小为10的字段宽度内右对齐; 小数点后保留6位数字c)定点十进制表示形式: 最小为8的字段宽度内左对齐; 小数点后保留3位数字d)定点十进制表示形式: 最小为6的字段宽度内右对齐; 小数点后无数字.}2.设计程序使得用户可以以任意字符(回车、空格、制表符、逗号、其它)作为分隔符进行数据的输入}输入日期的形式为月/日/年(mm/dd/yy), 输出日期的形式为年月日(yymmdd)}4.有3个字符串,要求找出其中最大者5.编写一个程序, 对用户录入的产品信息进行格式化, 程序运行后需要有以下会话:Enter item number: 583Enter unit price: 13.5Enter purchase date(mm/dd/yy): 10/24/95Item Unit Price Purchase Date583 $ 13.50 10/24/95其中, 数字项和日期项左对齐, 单位价格右对齐, 美元数量最大取值为9999.99}6.计算若干整数的值,要求输入有若干行,每行第一个整数n,代表后面还有n个数据,如果n=0代表输入结束。输出:要求对于每一行都要在相应的行输出和。。
一、选择题1. 以下程序的运行结果是。
#include <stdio.h>int main( ){ int m=5, n=10;printf(“%d, %d\n〞,m++, --n);return 0;}A.5,9 B.6,9 C.5,10 D.6,102. 有定义语句int a,b; ,假设要通过语句scanf(“%d, %d〞, &a, &b); 使变量a得到数值6,变量b得到数值5,下面形式中错误的选项是。
〔注:□代表空格〕A.6,5<回车> B.6,□□5<回车>C.6 5<回车> D.6,<回车>5<回车>3. 以下程序的输出结果是。
〔注:□代表空格〕#include <stdio.h>int main( ){ printf(“\n*s1=%15s*〞, “chinabeijing〞);pirntf(“\n*s2=%-5s*〞, “chi〞);return 0;}A.*s1=chinabeijing□□□*B.*s1=chinabeijing□□□* *s2=**chi* *s2=chi□□*C.*s1=*□□chinabeijing* D.*s1=□□□chinabeijing* *s2=□□chi* *s2=chi□□*4. 已有如下定义语句和输入语句,假设要求a1, a2, c1, c2的值分别为10、20、A 和B,当从第一列开始输入数据时,正确的数据输入方法是。
〔注:□代表空格〕int a1,a2; char c1, c2;scanf(“%d%c%d%c〞,&a1,&c1,&a2,&c2);A.10A□20B<回车> B.10□A□20□B<回车>C.10□A□20B<回车>D.10A20□B<回车>5. 已有定义int x; float y; 且执行scanf(“%3d%f〞, &x,&y); 语句,假设从第一列开始输入数据12345□678<回车>,则x的值为〔1〕,y的值为〔2〕。
c语言习题答案和练习题答案C语言习题答案和练习题答案在学习C语言的过程中,练习题和习题答案是非常重要的。
通过不断地练习和查看答案,我们可以加深对C语言知识的理解,并提高自己的编程能力。
下面我们将介绍一些常见的C语言习题和练习题答案,希望能对大家的学习有所帮助。
1. 编写一个程序,输入两个整数,然后输出它们的和。
```c#include <stdio.h>int main() {int a, b, sum;printf("请输入两个整数:");scanf("%d %d", &a, &b);sum = a + b;printf("它们的和是:%d\n", sum);return 0;}```2. 编写一个程序,输入一个整数,判断它是奇数还是偶数。
```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num % 2 == 0) {printf("%d是偶数\n", num);} else {printf("%d是奇数\n", num);}return 0;}```3. 编写一个程序,输入一个字符,判断它是大写字母、小写字母还是数字。
```c#include <stdio.h>int main() {char ch;printf("请输入一个字符:");scanf("%c", &ch);if (ch >= 'A' && ch <= 'Z') {printf("%c是大写字母\n", ch);} else if (ch >= 'a' && ch <= 'z') {printf("%c是小写字母\n", ch);} else if (ch >= '0' && ch <= '9') {printf("%c是数字\n", ch);} else {printf("%c是其他字符\n", ch);}return 0;}```以上是一些常见的C语言习题和练习题答案,希望对大家的学习有所帮助。
一、编程题1.输入2个整数,求两数的平方和并输出。
#include <stdio.h>int main(void){ intt a ,b,s;printf("please input a,b:\n");scanf("%d%d”,&a,&b);s=a*a+b*b;printf("the result is %d\n",s);return 0;}2. 输入一个圆半径r,当r>=0时,计算并输出圆的面积和周长,否则,输出提示信息。
#include <stdio.h>#define PI 3.14int main(void){ double r ,area , girth;printf("please input r:\n");scanf("%lf",&r);if (r>=0){ area =PI*r*r;girth =2*PI*r ;printf("the area is %.2f\n", area);printf("the girth is %.2f\n", girth);} elseprintf("Input error!\n");return 0;}3、已知函数y=f(x),编程实现输入一个x值,输出y值。
2x+1 (x<0)y= 0 (x=0)2x-1 (x>0)#include <stdio.h>void main(){ int x,y;scanf(“%d”,&x);if(x<0) y=2*x+1;else if(x>0) y=2*x-1;else y=0;printf(“%d”,y);}4.从键盘上输入一个百分制成绩score,按下列原则输出其等级:score≥90,等级为A;80≤score<90,等级为B;70≤score<80,等级为C;60≤score<70,等级为D;score<60,等级为E。
c语言习题及详解答案C语言是一种广泛使用的编程语言,以其结构化、可移植和高效性而著称。
以下是一些C语言的习题以及相应的详解答案。
# 习题1:求和问题编写一个C程序,输入两个整数,输出它们的和。
解答:```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("这两个整数的和是:%d\n", sum);return 0;}```# 习题2:判断素数编写一个C程序,判断一个整数是否为素数。
解答:```c#include <stdio.h>#include <math.h>int isPrime(int n) {if (n <= 1) return 0;for (int i = 2; i <= sqrt(n); i++) {if (n % i == 0) return 0;}return 1;}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (isPrime(num)) {printf("%d 是素数。
\n", num);} else {printf("%d 不是素数。
\n", num);}return 0;}```# 习题3:字符串反转编写一个C程序,输入一个字符串,然后输出它的反转。
解答:```c#include <stdio.h>#include <string.h>void reverseString(char str[]) {int len = strlen(str);for (int i = 0; i < len / 2; i++) {char temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[100];printf("请输入一个字符串:");scanf("%s", str);reverseString(str);printf("反转后的字符串是:%s\n", str);return 0;}```# 习题4:数组排序编写一个C程序,输入一个整数数组,然后使用冒泡排序算法对其进行排序。
c语言编程题及答案1. 输入输出题题目:编写一个程序,要求从键盘输入两个整数,然后输出它们的和。
答案:```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:\n");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("它们的和为:%d\n", sum);return 0;}```2. 条件语句题题目:编写一个程序,要求从键盘输入一个整数,判断它是否为正数、负数还是零,并输出相应的提示信息。
答案:```c#include <stdio.h>int main() {int num;printf("请输入一个整数:\n"); scanf("%d", &num);if (num > 0) {printf("这是一个正数。
\n"); } else if (num < 0) {printf("这是一个负数。
\n"); } else {printf("这是零。
\n");}return 0;}```3. 循环语句题题目:编写一个程序,要求计算并输出1到100之间所有偶数的和。
答案:```c#include <stdio.h>int main() {int i, sum;sum = 0;for (i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("1到100之间所有偶数的和为:%d\n", sum);return 0;}```4. 数组题题目:编写一个程序,要求定义一个包含10个整数的数组,并逐个从键盘输入数组元素的值,然后对数组进行逆序输出。
五种c语言的输入输出简单代码实例五种c语言的输入输出简单代码实例 c语言的一些输入输出实例如上内容根据周立发linux视频教程所做的笔录,为了方便大家理解,建议大家可以到下面的连接下载观看。
周立发 linux 视频教程下载(不定期持续更新)由于本人刚刚接触编程语言如以下内容有误或有不足之处,望朋友能给予意见或者建议!谢谢:)一、用标准c 提供的标准输入输出函数用法简单实例:例一、#includeint main(int argc, char **argv){char name[16] = "";unsigned int age=0;printf("Plaese input your name and age:");scanf("%s%d",name,&age);printf("you name is:%s,age is:%d\n",name,age);return 0;}例二、#includeint main(int argc, char **argv){char name[16] = "";unsigned int age = 0;fprintf(stdout, "Please input your name and age:");fscanf(stdin, "%s,%d", name, &age);fprintf(stdout, "Your name is:%s,and age is:%d\n", name, age); return 0;}下面是非格式化输入输出函数 :puts()和gets()例三、#includeint main(int argc, char **argv){char name[16] = "";unsigned int age = 0;puts("Plaese input your name:");gets(name);puts("Your name is:");puts(name);puts("Plaese input your age:");gets(&age);puts("Your age is:");puts(&age);return 0;}输出到文本:例四、#includeint main(int argc, char **argv){FILE *fp = 0;fp = fopen("/tmp/myapp.log","a");if (!fp) {printf("cannot open file /tmp./myapp.log\n","a"); return -1;}fprintf(fp, "This is my log written into a file\n"); fclose(fp);return 0;}二、linux下通常会到unistd.h这个文件来实现同样的功能:例五、#include#include#define PROMPTName "Please input your name and age:"#define OUTPUTName "Your name is:"#define OUTPUTAge ",and your age is:"int main(int argc, char **argv){char name[9] = "", age[4];write(1, PROMPTName, strlen(PROMPTName));read(0, name, 8);read(0, age, 3);write(1, OUTPUTName, strlen(OUTPUTName));write(1, name, strlen(name));write(1, OUTPUTAge, strlen(OUTPUTAge));write(1, age, strlen(age));return 0;}以上五个实例均照以下步骤编译运行root@xuanfei-desktop:~/cpropram/7# gcc -Wall printf_scanf.croot@xuanfei-desktop:~/cpropram/7# ./a.outPlaese input your name and age:xuanfei 22you name is:xuanfei,age is:22相关文章:linux c语言编程环境搭建(linux下c语言编程从零开始开始)下面是网上搜集的一些相关学习参考资料:例中第一条语句#include的含义是调用另一个文件stdio.h, 这是一个头文件, 其中包括全部标准输入输出库函数的数据类型定义和函数说明。
C 语⾔数据输⼊与输出实例详解C 语⾔提供了跨平台的数据输⼊输出函数scanf()和printf()函数,它们可以按照指定的格式来解析常见的数据类型,例如整数,浮点数,字符和字符串等等。
数据输⼊的来源可以是⽂件,控制台以及⽹络,⽽输出的终端可以是控制台,⽂件甚⾄是⽹页。
从第⼀个c 语⾔程序中,就使⽤了跨平台的库函数printf 实现将⼀段⽂字输出到控制台,⽽实际上,printf()不仅可以将数据按照指定的格式输出到控制台,还可以是⽹页或者是指定的⽂件中,printf()函数执⾏的返回结果是输出字符的个数。
2.1 输出数据到⽹页使⽤printf 函数将数据按照指定的格式输出到⽹页的使⽤案例,⽬前我们公司内部的IT 系统还有⽤C 语⾔写的⽹页程序(cgi)。
1234567891011#include <stdio.h>/*使⽤printf 输出数据到⽹页@*****************************@since 20160530 09:04*/void printf_html() {//将⽣成的exe 程序改成cgi 就可以部署在Web 服务器例如Apache 中的cgi-bin ⽬录中运⾏了就可以访问了。
//然后通过主机名+端⼝+⽂件名.cgi 的⽅式访问 printf("Content-type:text/html \n\n");//声明输出的数据格式是HTML 语⾔ printf("Hello World In HTML");}2.2 整数格式化输出printf()函数的强⼤之处在于格式化显⽰输出整数,浮点数,字符以及字符串到⽂件,⽹页。
同时在控制台我们可以使⽤这个函数来调试程序或者获取⽅法的返回值等等。
printf 函数的表现形式为:printf(“格式化字符串数据”,可变参数列表)printf 只会按照传递的参数类型解析数据,不会进⾏数据类型转换,传⼊的参数类型和个数和输出的类型和个数保持⼀致,不然程序运⾏时会出异常使⽤printf 打印字符串,整数和字符的案例1234567891011#include <stdio.h>/*使⽤printf 格式化输出数据@***************************** @since 20160530 09:14*/void printf_sample() {//最终都是以字符串的⽅式打印输出printf("Hello World \n");//输出字符串常量,默认是输出到控制台 //printf 显⽰不同数据类型的数据 printf("我的名字叫%s,我的年龄是%d 我的幸运字符是%c\n","Tony",28,'C');}printf 在打印输出整数时,不仅可以按照三种不同的进制类型(⼋进制,⼗进制和⼗六进制),同时还可以按照有符号和⽆符号两种⽅式打印整数。
实验二输入输出
要求:
上机练习每一个程序,并将运行的结果截图存放在word文件里,在规定的时间内上交。
一、输出函数printf
1、C语言格式符练习。
理论:“%”和字母组成格式符号,如“%d”,“%c”等。
1.main()
2.{ int k=1234; //这行表示:定义一个名为k的整型变量,并给k赋值1234。
3.float f=123.456; //这行表示:定义一个名为f的实型变量,并给f赋值1233.456。
4.printf(“123456789\n”); //这行表示:把双引号括起的内容送到显示器显示(输
出)
5.printf(“%d\n”,k); //这行表示:把变量k的值通过“%d”输出到显示器。
6.}
把第5行替换成下表的输出语句,运行程序验证计算机输出的结果与下表的结果是否一致。
表中输出结果中的符号□代表一个空格,其中k为int型,值为1234;f为float型,值为123.456。
2、练习转义字符。
转义字符:一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n 等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。
main(){char c1=’a’,c2=’b’,c3=’c’,c4=’\101’,c5=’\116’;printf(“123456789\n”);printf(“a%c b%c\tabc\n”,c1,c2,c3);/*除了格式符和转义字符其他字符原样输出*/ printf(“\t\b%c %c”,c4,c5);}‘\t’是横向跳8列(从屏幕最左端向右跳8列,然后再输出“abc”)‘\b’是向左删除一列,如果是这样的“\t\b”,”\b”将删除由“\t”产生的8列。
‘\101’属于’\ddd’这类转义字符,d代表一位八进制整数,三个d代表三位八进制整数(最多有三位,最少有一位);’\101’中101是一个8进制整数,101转换为十进制是65对应字符’A’。
3、练习复合赋值运算符,先计算表达式的值,然后运行程序,比较结果是否一致。
第1 行#include<stdio.h>第2 行main()第3 行{第4 行int a=10,n;第5 行printf("\na+=a 的值为%d",a+=a);/* 除了格式符和转义字符其他字符原样输出*/第6 行a=10;第7 行printf("\na-=2 的值为%d",a-=2);第8 行a=10;第9 行printf("\na*=2+3 的值为%d",a*=2+3);第10 行a=10;第11 行printf("\na/=a+a 的值为%d",a/=a+a);第12 行a=10;n=5;第13 行printf("\na%%=n%%=2 的值为%d",a%=n%=2);/*两个’%’表示只输出一个’%’*/第14 行a=10;第15 行printf("\na+=a-=a*=a 的值为%d \n",a+=a-=a*=a);第16 行}解析:理解复合赋值运算符的计算方法。
main() ??
{ int a,b;
float c,d;
long e,f;
unsigned int u,v;
char c1,c2;
scanf("%d,%d",a,b);
scanf("%f,%f",c,d);
scanf("%1d,%1d",e,f);
scanf("%o,%o",u,v);
scanf("%c,%c",c1,c2);
printf("\n");
printf("a=%d,b=%d\n",&a,&b);
printf("c=%f,d=%f\n",&c,&d);
printf("e=%d,f=%d\n",&e,&f);
printf("u=%o,v=%\n",&u,&v);
printf("c1=%d,c2=%d\n",&c1,&c2);
}
1,这个程序有语法错误吗?为什么?
2,调试上述程序无语法错误后,用下面的数据对程序进行测试:
a=123, b=456, c=17.6, d=71837.657, e=70000, f=2174506, u=62000, v=58765,
c1=‘a‘,c2=‘b‘
分析运行结果。
3,输入e和f的语句改为:scanf("%d,%d",&e,&f );
再用上述数据测试并分析结果
4,将输入u和v的语句改为:scanf("%d,%d",&u,&v );
再用上述数据测试并分析结果
5, 将输入e和f的语句改为:printf("e=%d,f=%d\n",e,f);
再用上述数据测试并分析结果
6, 将输入u和v的语句改为:printf("u=%u,v=%u\n",u,v);或printf("u=%d,v=%d\n",u,v); 再用上述数据测试并分析结果
7,请同学们自己修改程序和改变数据输入的形式,分析各种情况下的输入与输出
"
#include<reg52.h>
#include<stdio.h>
main()
{
int a,b;
float c,d;
long e,f;
unsigned u,v;
char c1,c2;
SCON=0x52;
TMOD=0x20;
TH1=0xf3;
TR1=1;
scanf("%d,%d",&a,&b);
scanf("%f,%f",&c,&d);
scanf("%ld,%ld",&e,&f); scanf("%o,%o",&u,&v);
scanf("%c,%c",&c1,&c2); printf("\n");
printf("a=%d,b=%d\n",a,b); printf("c=%f,d=%f\n",c,d); printf("e=%ld,f=%ld\n",e,f); printf("u=%o,v=%v\n",u,v); printf("c1=%c,c2=%c\n",c1,c2); }。