printf(“%d,%d”,a,b); }
A) 6,1 B) 2,1 C) 6,0 D) 2,0
6. 已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是 。 if(x>y) z=x; x=y; y=z;
A) x=10, y=20, z=30 B) x=20, y=30, z=30 C) x=20, y=30, z=10 D) x=20, y=30, z=20 7. 以下程序的运行结果是 。
main() { int m=5; if(m++>5)
printf(“%d\\n”,m);
else;
printf(“%d\\n”,m--); }
A) 4 B) 5 C) 6 D) 7
8. 若运行时给变量x输入12,则以下程序的运行结果是 。
main() { int x,y;
scanf(“%d”,&x); y=x>12 ? x+10 : x-12;
printf(“%d\\n”,y); }
A) 4 B) 3 C) 2 D) 1 (二)编程题
1. 编程实现:输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数
字,否则输出两数之和。 2. 编程判断输入的正整数是是否既是5又是7的整倍数。若是,则输出yes;否则输出no。
??1(x?0)?3. 用switch编程实现: y??0(x?0)
?1(x?0)? 4. 用switch语句编一程序,对于给定的一个百分制成绩,输出相应的五分制成绩,设:90分以上为‘A’,80~89分为‘B’,70~79分为‘C’,60~69分为‘D’,60分以下为‘E’ 五、循环控制 1.设有程序段 int k=10;
while(k=0)k=k-1;
这下面描述中正确的是_________.
a)while循环执行10次 B)循环是无限循环
C)循环体语句以此也不执行 D)循环体语句执行一次 2.语句while(!E);中的表达式!E等价于________. A)E==0 B)E!=1 C)E!=0 D)E==1 3.下面程序段的运行结果是_______. int n=0;
while(n++<=2);printf(\
A)2 B)3 C)4 D)有语法错 4.下面程序的运行结果是____. #include
int num=0; while(num<=2) { num++;
printf(\ } }
A)1 B)1 C)1 D)1 2 2 2 3 3 4
5.以下程序段________. x=-1; do{ x=x*x; }while(!x);
A)是死循环 B)循环执行二次 C)循环执行一次 D)有语法错误 6.若有如下语句 int x=3;
do{printf(\ 则上面程序段______.
A)输出的是1 B)输出的是1和-2 C)输出的是3和0 D)是死循环 7.下面程序的运行结果是______. #include
do{y--;}while(--y); printf(\ }
A)-1 B)1 C)8 D)0
8.若i为整型变量,则以下循环执行次数是_____. for(i=2;i==0;)printf(\ A)无限次 B)0次 C)1次 D)2次
9.执行语句for(i=1;i++<4; );后变量i的值是______. A)3 B)4 C)5 D)不定 10.以下正确的描述是_______.
A)continue语句的作用是结束整个循环的执行 B)只能在循环体内和switch语句体内使用break语句 C)在循环体内使用break语句或continue语句的作用相同
D)从多层循环嵌套中退出时,只能使用goto语句 (二)、填空题
1.下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束 循环。请填空。 int n=0,c; c=getchar();
while(__c!=’\\n’__) {
if(__c>=’0’&& c<=’9’___)n++; c=getchar(); }
2.下面程序的功能是用\辗转相除法\求两个正整数的最大公约数。请填空。 #include
scanf(\ if(m while(r){m=n;n=r;r=_m % n__;} printf(\ } 3.下面程序的运行结果是____127_____. #include {int a,s,n,count; a=2;s=0;n=1;count=1; while(count<=7){n=n*a;s=s+n;++count;} printf(\ } 4.下面程序段的运行结果是____-5_____. i=1;a=0;s=1; do{a=a+s*i;s=-s;i++;}while(i<=10); printf(\ 5.下面程序段的运行结果是__8_____. i=1;s=3; do{s+=i++; if(s%7==0)continue; else ++i; }while(s<15); printf(\六、数组 1.以下为一维整型数组a的正确说明是_________. A)int a(10); B)int n=10,a[n]; C)int n; D)#define SIZE 10; scanf(\ int a[n]; 2.以下对二维数组a的正确说明是________. A)int a[3][]; B)float a(3,4); C)double a[1][4] D)float a(3)(4); 3.若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为______. (假设a[0][0]位于数组的第一个位置上。) A)i*m+j B)j*m+i C)i*m+j-1 D)i*m+j+1 4.若二维数组a有m列,则在a[i][j]前的元素个数为______. A)j*m+i B)i*m+j C)i*m+j-1 D)i*m+j+1 5.若有以下程序段: int a[]={4,0,2,3,1},i,j,t; for(i=1;i<5;i++) {t=a[i];j=i-1;