因为进入循环for(k = 1k <3 k++)
首先k = 1,执行switch(1),后面的case没有1,则执行default语句后面的c+=k ,之后c = 1;
该语句后面没有break,则继续执行case 2:后面的c++,之后c = 2,再往后遇到break结束。
再者k = 2,执行switch(2),有case 2,就执行其后的c++,所以c = 3,再往后遇到break退出。
k = 3时不满足for循环的判断条件,退出for循环
之后输出c的结果3
C错。A是对的,分号是C语句必须的要素,以此标志C语句的结束;B是对的,语法指的的是语句构成是否满足C语言标准,语意指的是语句要做什么完成什么任务,如同我们追究某句话说的是否通顺,而无论它的含义是骂人话还是恭唯话,因此说复合语句在语法上被看作一条语句;空语句用在某些地方将影响程序运行,C错误,切记,语句一定是分号结尾的,而不是只有几个空格罢了,如:for()和for();D也是对的,赋值表达式末尾加分号就是构成赋值语句,但也要知道若是在宏定义中,这么做将会报错。选择题第17题选择C
编程题:
#include<stdio.h>
void main(){
char str
printf("请输入一个字符:")
scanf("%c",&str)
if(((int)str>=65&&(int)str<=90)||((int)str>=97&&(int)str<=122)){
printf("%c是一个字母!\n",str)
}else{
printf("%c不是一个字母!\n",str)
}
}
#include<stdio.h>
void main(){
int year
printf("请输入一个年份:")
scanf("%d",&year)
if((year%4==0&&year%100!=0)||year%400==0){
printf("%d年是一个闰年!\n",year)
}else{
printf("%d年不是一个闰年!\n",year)
}
}
#include<stdio.h>
void main(){
int a,b,c
printf("请输入三角形三条边,并用,隔开:")
scanf("%d,%d,%d",&a,&b,&c)
while(a<=0||b<=0||c<=0){
printf("你输入的三条边不正确!\n\n")
printf("请输入三角形三条边,并用,隔开:")
scanf("%d,%d,%d",&a,&b,&c)
}
if(a<b+c&&b<a+c&&c<a+b){
printf("%d,%d,%d构成一个三角形!\n",a,b,c)
}else{
printf("%d,%d,%d不构成一个三角形!\n",a,b,c)
}
}
#include<stdio.h>
void main(){
char str
printf("请输入一个字符:")
scanf("%c",&str)
if((int)str>=48&&(int)str<=57){
printf("%c是数字字符!\n",str)
}else if((int)str>=65&&(int)str<=90){
printf("%c是大写字母字符!\n",str)
}else if((int)str>=97&&(int)str<=122){
printf("%c是小写字母字符!\n",str)
}else{
printf("%c是其它特殊字符!\n",str)
}
}
#include<stdio.h>
void main(){
int month
char *monthArry[12]={"January","February","March","April","May","June","July","August","September","October","November","December"}
printf("请输入月份(1-12之间):")
scanf("%d",&month)
while(month>13||month<1){
printf("你输入的月份不正确!\n\n")
printf("请输入月份(1-12之间):")
scanf("%d",&month)
}
printf("%d月份对应的月份英文单词是:%s。\n",month,monthArry[month-1])
}