该专栏主要介绍 C 语言的基本语法,作为《程序设计语言》课程的课件与参考资料,用于《程序设计语言》课程的教学,供入门级用户阅读。
1、为表示 x≥y≥z,在 C 语言中应使用表达式(A)。
A、(x>=y)&&(y>=z) B、(x>=y) AND (y>=z)
C、(x>=y>=z) D、(x>=y)&(y>=z)
2、能正确表示 a 和 b 同时为正或同时为负的逻辑表达式是(D)。
A、(a>0||b>0)&&(a<0||b<0) B、a>0 && b>0
C、a+b>0 D、a*b>0
3、设有如下程序:
#include
int main() {int a=2,b=-1,c=2;if(a
以上程序的输出结果为(B)。
A、1 B、2 C、3 D、0
4、设有如下程序:
#include
int main() {int x=1,a=0,b=0;switch (x){case 0:b++;case 1:a++;case 2:a++;b++;}printf("a=%d,b=%d\n",a,b);return 0;
}
以上程序的输出结果为(A)。
A、a=2、b=1 B、a=1、b=1 C、a=1、b=0 D、a=2、b=2
1、当 a=1、b=2、c=3 时,以下 if 语句执行后,a,b,c 中的值分别为(3)、(2)、(2)。
if (a>c)b=a;a=c;c=b;
2、以下程序段的输出结果是()。
#include
int main() {int x=0,y=2,z=3;switch (x){case 0:switch(y=2){case 1:printf("*");break;case 2:printf("&");break;};case 1:switch(z){case 1:printf("$");case 2:printf("*");break;default:printf("#");};}return 0;
}
3、当 a、b、c 的值分别为 3, 4, 5 时,以下各语句执行后 a、b、c 的值分别为多少?
(1)
if (a>c){a=b;b=c;c=a;
}
else{a=c;c=b;b=a; //a=5,c=4,b=5
}
执行后 a、b、c 的值分别为(5)、(5)、(4)。
(2)
if (a
执行后 a、b、c 的值分别为(5)、(5)、(4)。
if (a!=c);
elsea=c;c=b;b=a; //a=3,c=4,b=3
执行后 a、b、c 的值分别为(3)、(3)、(4)。
4、写出以下程序的运行结果:
(1)
#include
int main() {int a=100,x=10,y=20,ok1=5,ok2=0;if(x
以上程序的运行结果为(a=-1)。
(2)
#include
int main() {int x=2,y=-1,z=2;if(x
以上程序的运行结果为(z=2)。
(3)
#include
int main() {int a=-1,b=3,c=3,s=0,w=0,t=0;if(c>0) s=a+b; //s=2if(a<=0) w=a-b; //w=-4else if(c>0) w=a-b;else t=c;printf("%d,%d,%d\n",s,w,t);return 0;
}
以上程序的运行结果为(2,-4,0)。
(4)
#include
int main()
{int a=2,b=7,c=5;switch(a>0){case 1:switch(b<0){case 1:printf("@");break;case 2:printf("!");break;}case 0:switch(c==5){case 0:printf("*");break;case 1:printf("#");break;default:printf("&");}default:printf("&");}printf("\n");return 0;
}
以上程序的运行结果为(#&)。
(5)
#include
int main()
{int k=1;switch(k){case 1:k+=1;break;case 2:k+=2;break;case 3:k+=3;break;default:k+=4;break;}printf("k=%d\n",k);return 0;
}
以上程序的运行结果为(k=2)。
通过键盘输入 a,b,c 三个整型变量的值,输出其中的最大值。程序如下:
#include
int main()
{int a,b,c,max;printf("请输入a,b,c的值(用逗号分隔):");scanf("%d,%d,%d",&a,&b,&c);max=a;if(max
以上程序的运行结果如下:
从键盘输入一个小于 1000 的正数,要求输出它的平方根。要求在输入数据后先对其进行检查,是否为小于 1000 的正数。若不是,则要求重新输入。
#include
#include
int main()
{int i,k;printf("请输入一个0~1000之间的整数:");scanf("%d",&i);if(i<=0||i>=1000) {printf("数据输入有误,请重新输入"); printf("请输入一个0~1000之间的整数:");scanf("%d",&i);} //本部分的检验有问题:只能检验一次,如果第二次输入错误的数据,则不进行检查k=sqrt(i);printf("%d的平方根的整数部分为:%d\n",i,k);return 0;
}
以上程序的运行结果如下:
输入一个不多于 5 位的正整数:(1)求出它是几位数。(2)分别输出每一位数字。(3)按逆序输出各位数字。
程序如下:
#include
#include
int main()
{int i,k,ge,shi,bai,qian,wan;printf("请输入一个0~99999之间的整数:");scanf("%d",&i);if (i<0||i>99999) printf("输入范围有误。");if (i>=0&&i<10) k=1;if (i>=10&&i<100) k=2;if (i>=100&&i<1000) k=3;if (i>=1000&&i<10000) k=4;if (i>=10000&&i<100000) k=5;wan=i/10000;qian=(i-wan*10000)/1000;bai=(i-wan*10000-qian*1000)/100; shi=(i-wan*10000-qian*1000-bai*100)/10; ge=(i-wan*10000-qian*1000-bai*100-shi*10); printf("整数%d的位数为:%d\n",i,k);switch(k){case 1:printf("整数%d的各位数字为:%d\n",i,ge);printf("整数%d的反序数字为:%d\n",i,ge);break;case 2:printf("整数%d的各位数字为:%d,%d\n",i,shi,ge);printf("整数%d的反序数字为:%d,%d\n",i,ge,shi);break;case 3:printf("整数%d的各位数字为:%d,%d,%d\n",i,bai,shi,ge);printf("整数%d的反序数字为:%d,%d,%d\n",i,ge,shi,bai);break;case 4:printf("整数%d的各位数字为:%d,%d,%d,%d\n",i,qian,bai,shi,ge);printf("整数%d的反序数字为:%d,%d,%d,%d\n",i,ge,shi,bai,qian);break;case 5:printf("整数%d的各位数字为:%d,%d,%d,%d,%d\n",i,wan,qian,bai,shi,ge);printf("整数%d的反序数字为:%d,%d,%d,%d,%d\n",i,ge,shi,bai,qian,wan);break;} return 0;
}
以上程序的运行结果如下:
企业根据利润发放提成,利润(profits)低于或等于100000元,按 10% 发放提成;利润高于 100000元,低于 200000元(100000
程序如下:
#include
int main()
{float profits,commission;float b1,b2,b4,b6,b10;b1=100000*0.1;b2=b1+100000*0.075;b4=b2+200000*0.05;b6=b4+200000*0.03;b10=b6+400000*0.015;printf("请输入当月的利润总额:");scanf("%f",&profits);if(profits<=100000)commission=profits*0.1;if(profits<=200000&&profits>100000)commission=b1+(profits-100000)*0.075;if(profits<=400000&&profits>200000) commission=b2+(profits-200000)*0.05; if(profits<=600000&&profits>400000) commission=b4+(profits-400000)*0.03;if(profits<=1000000&&profits>600000) commission=b6+(profits-600000)*0.015;if(profits>1000000) commission=b10+(profits-1000000)*0.01;printf("当利润为%f时的提成为:%f",profits,commission);return 0;
}
以上程序的运行结果如下:
输入4个整数,然后按从小到大的顺序输出。程序如下:
#include
int main()
{int a,b,c,d,t;printf("请输入4个整数(使用逗号分隔):");scanf("%d,%d,%d,%d",&a,&b,&c,&d);if (a>b) {t=a;a=b;b=t;}if (a>c) {t=a;a=c;c=t;}if (a>d) {t=a;a=d;d=t;}if (b>c) {t=b;b=c;c=t;}if (b>d) {t=b;b=d;d=t;}if (c>d) {t=c;c=d;d=t;}printf("从小到大排序结果:%d,%d,%d,%d",a,b,c,d);return 0;
}
以上程序的运行结果如下: