1、若a是float型变量,b是unsigned型变量,以下输入语句(A)是合法的。
A) scanf("%6.2f%d",&a,&b) B) scanf("%f%n",&a,&b)
C) scanf("%f%3o",&a,&b) D) scanf("%f%f",&a,&b)
2、设以下变量均为int类型,则值不等于7的表达式是( C)。
A) (x=y=6,x+y,x+1) B) (x=y=6,x+y,y+1)
C) (x=6,x+1,y=6,x+y) D) (x=6,x+1,y=x,y+1)
3、设变量a是整型,b是实型,c是双精度型,则表达式10+'a'+b*c值的数据类型为( C)。
A) int B)float C)double D)不确定
4、设有说明:char wint xfloat ydouble z则表达式 w*x+z-y 值的数据类型为(D )。
A)float B) char C) int D) double
5、若给定条件表达式(x)? (a++):(a--), 则表达式x (没明白题的意思)。
A) 和(x==0)等价 B) 和(x==1)等价
C) 和(x!=0)等价 D) 和(x!=1)等价
6、C语言搏竖散中while和do-while循环的主要区别是(A )
A) do-while的循环体至少无条件执行一次
B) while的循环控制条件比do-while的循控制条件严格
C) do-while允许从外部转到循环体内
D) do-while的循环体不能是复合句
7、若有说明:int a[10],则对a数组元素的正确引用是( D)
A) a[10] B)a[3.5] C)a(5) D)a[10-10]
8、设以下变量均为int类型,则值不等于7的表达式是(和上边题目重了 )。
A) (x=y=6,x+y,x+1) B) (x=y=6,x+y,y+1)
C) (x=6,x+1,y=6,x+y) D) (x=6,x+1,y=x,y+1)
9、设i和x 都是int类型,则以下for循环(A )。
for(i=0,x=0i<=9&&x!=876i++) scanf("%d",&x)
A) 最多执行者10次 B) 最多执行者9次基氏
C) 是无限循环 D) 循环体一次也不执行
二、填空题(每纤敏小题2分,共10分)
1、以下程序的输出结果为 2,3,2,2。
main()
{int i,j,m,n
i=1j=2m=++in=j++
printf("%d,%d,%d,%d",i,j,m,n)
}
2、设 a 和 n 为整型变量,a=10,n=5,则表达式 a*=3+6 的值为90(你的题目有点问题,怎么没有n) 。
3、设x=1,y=2,z=3,则表达式 z||x>y&&11的值为1。
4、执行语句int a=3a+=a-=a*a后,a的值是-12 。
5、若 int i,j,k则计算表达式 x=(i=4,j=16,k=31)后,x的值为 31。
while((a+3)%5==0&&(a-3)%6==0)a++你这个是如果满足条件a++,而缺缺为了找到满足条件的数伏吵辩,应该是不满足条件a++,你逻辑恰好反了,而且你这个循环也没有退出条件,也是错误的。基本上整个代码都不对吧。我给你改下
应该是
#include<stdio.h>
int main(int argc, char* argv[]){
int a=1
while((a+3)%5!=0||(a-3)%6!=0)a++//不需要外层循环
printf("%d\t",a) //注意这个要在循环外面
return 0//注意这个碰伏返回值不要省略
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)