C语言教程 第25页
学习C – C逻辑运算符 这些运算符可用于确定变量或值之间的逻辑。 操作符 含义 && 与 || 或 ! 非 与运算符&& 逻辑与运算符&&,是组合两个逻辑表达式的二进制运算符,即两个计算为true或false的表达式。 考虑这个表达式: test1 && test2 如果表达式test1和test2的值都为true,则此表达式计算结果为true。 如果操作数中的任一个或两个都为false,则操作结果为false。 使用&&运算符的明显地方在if表达式中。这里有一个例子: if(age > 12 && age < 20) { printf("You are a teenager."); } 仅当age的值为13到19(含)时,才执行printf()语句。 当然,&& 运算符可以是bool变量。 您可以用以下语句替换上一条语句: bool test1 = age > 12; bool test2 = age < 20; if(test1 && test2) { printf("You are a teenager."); } 和运算符的真值表 X y 结果 true true true true false false false true false false false false 使用逻辑与运算符 #include <stdio.h> #define PERIOD "." int main(void) { char ch; int charcount = 0; while ((ch = getchar()) != PERIOD) { if (ch != """ && ch != "\"") charcount++; } printf("There are %d non-quote characters.\n", charcount); return 0; } 上面的代码生成以下结果。 或运算符|| 逻辑或运算符||,检查两个或多个条件中的任何一个为真。 如果||的任一个或两个操作数运算符是真的,结果是真实的。...
C 练习实例89 C 语言经典100例 题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下: 每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。 程序分析:无。 程序源代码: // Created by www.w3cschool.cn on 15/11/9. // Copyright © 2015年 W3Cschool教程. All rights reserved. // #include<stdio.h> #include<stdlib.h> int main() { int n,i,j; printf("请输入数字:\n");i--; for(i=0;i<7;i++) { scanf("%d",&n); if(n>50){ printf("请重新输入:\n");i--; } else { for(j=0;j<n;j++) printf("*"); } printf("\n"); } return 0; } 以上实例运行输出结果为: 输入一个要加密的四位整数: 1234 加密后的数为9876 C 语言经典100例
C 练习实例80 C 语言经典100例 题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子平均分为五份,多了一个,这只 猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了 一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的, 问海滩上原来最少有多少个桃子? 程序分析:无。 程序源代码: // Created by www.w3cschool.cn on 15/11/9. // Copyright © 2015年 W3Cschool教程. All rights reserved. // #include<stdio.h> #include<stdlib.h> int main() { int x ,i=0,j=1; while(i<5){ x=4*j; for(i=0;i<5;i++) { if(x%4!=0){break;} x=(x/4)*5+1; } j++; } printf("%d\n",x); return 0; } 以上实例运行输出结果为: 3121 C 语言经典100例
C 练习实例87 C 语言经典100例 题目:回答结果(结构体变量传递)。 程序分析:无。 程序源代码: // Created by www.w3cschool.cn on 15/11/9. // Copyright © 2015年 W3Cschool教程. All rights reserved. // #include<stdio.h> struct student { int x; char c; } a; int main() { a.x=3; a.c='a'; f(a); printf("%d,%c",a.x,a.c); } f(struct student b) { b.x=20; b.c='y'; } C 语言经典100例
C 练习实例78 C 语言经典100例 题目:找到年龄最大的人,并输出。请找出程序中有什么问题。 程序分析:无。 程序源代码: // Created by www.w3cschool.cn on 15/11/9. // Copyright © 2015年 W3Cschool教程. All rights reserved. // #include<stdio.h> #include<stdlib.h> struct man{ char name[20]; int age; } person[3]={"li",18,"wang",19,"sun",22}; int main() { struct man *q,*p; int i,m=0; p=person; for(i=0;i<3;i++) { if(m<p->age)m=p->age; q=p++; } printf("%s %d\n",q->name,q->age); return 0; } 以上实例运行输出结果为: sun 22 C 语言经典100例
C 练习实例88 C 语言经典100例 题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。 程序分析:无。 程序源代码: // Created by www.w3cschool.cn on 15/11/9. // Copyright © 2015年 W3Cschool教程. All rights reserved. // #include<stdio.h> #include<stdlib.h> int main() { int n,i,j; printf("请输入数字:\n");i--; for(i=0;i<7;i++) { scanf("%d",&n); if(n>50){ printf("请重新输入:\n");i--; } else { for(j=0;j<n;j++) printf("*"); } printf("\n"); } return 0; } 以上实例运行输出结果为: 请输入数字: 5 ***** C 语言经典100例
C 练习实例75 C 语言经典100例 题目:放松一下,算一道简单的题目。 程序分析:无。 程序源代码: // Created by www.w3cschool.cn on 15/11/9. // Copyright © 2015年 W3Cschool教程. All rights reserved. // #include <stdlib.h> #include <stdio.h> int main() { int i,n; for(i=1;i<5;i++) { n=0; if(i!=1) n=n+1; if(i==3) n=n+1; if(i==4) n=n+1; if(i!=4) n=n+1; if(n==3) printf("%c\n",64+i); } } 以上实例运行输出结果为: C C 语言经典100例
C 练习实例85 C 语言经典100例 题目:判断一个素数能被几个9整除。 程序分析:丫的!这题目的意思是判断一个素数能整除几个9组成的数吧?我就这么理解吧。素数是不 能被除1和自身之外的数整除的 程序源代码: // Created by www.w3cschool.cn on 15/11/9. // Copyright © 2015年 W3Cschool教程. All rights reserved. // #include<stdio.h> #include<stdlib.h> int main() { int p,i; long int sum=9; printf("请输入一个素数:\n"); scanf("%d",&p); for(i=1;;i++) if(sum%p==0)break; else sum=sum*10+9; printf("素数%d能整除%d个9组成的数%ld\n",p,i,sum); return 0; } 以上实例运行输出结果为: 请输入一个素数: 13 素数13能整除6个9组成的数999999 C 语言经典100例
C 练习实例76 C 语言经典100例 题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+…+1/n,当输入n为奇数时,调用函数1/1+1/3+…+1/n(利用指针函数)。 程序分析:无。 程序源代码: // Created by www.w3cschool.cn on 15/11/9. // Copyright © 2015年 W3Cschool教程. All rights reserved. // #include<stdio.h> #include<stdlib.h> double evenumber(int n); double oddnumber(int n); int main() { int n; double r; double (*pfunc)(int); printf("请输入一个数字:"); scanf("%d",&n); if(n%2==0) pfunc=evenumber; else pfunc=oddnumber; r=(*pfunc)(n); printf("%lf\n",r); system("pause"); return 0; } double evenumber(int n) { double s=0,a=0; int i; for(i=2;i<=n;i+=2) { a=(double)1/i; s+=a; } return s; } double oddnumber(int n) { double s=0,a=0; int i; for(i=1;i<=n;i+=2) { a=(double)1/i; s+=a; } return s; } 以上实例运行输出结果为: 请输入一个数字:2 0.500000 C 语言经典100例
C 练习实例86 C 语言经典100例 题目:两个字符串连接程序 。 程序分析:无。 程序源代码: // Created by www.w3cschool.cn on 15/11/9. // Copyright © 2015年 W3Cschool教程. All rights reserved. // #include<stdio.h> #include<stdlib.h> #include<string.h> #include<malloc.h> char* strconnect(char *str1,char *str2); int main() { char str1[20],str2[20]; char *str; puts("请输入两个字符串,用回车分开:"); gets(str1); gets(str2); str=strconnect(str1,str2); puts("连接后的字符串为:"); puts(str); system("pause"); return 0; } char* strconnect(char *str1,char *str2) { char*str; str=(char*)malloc(strlen(str1)+strlen(str2)+1); str[0]='\0'; strcat(str,str1); strcat(str,str2); return str; } C 语言经典100例