当前位置:首页 > 05-2-C语言试卷A
for(y=1;y<10;) y=((x=3*y,x+1),x-1); printf(“x=%d,y=%d”,x,y);
A) x=27,y=27 B)x=12,y=13 C)x=15,y=14 D)x=y=27 35. 下面程序段的运行结果是( D )
for(x=3;x<6;x++) printf((x%2)?(“**%d”): (“##%d\\n”),x); A)**3 B) ##3 C)##3 D)**3##4 ##4 **4 **4##5 **5 **5 ##5
36. 执行语句for(i=1;i++<4;);后变量i的值是( C)
A)3 B)4 C)5 D)不定
37. 有一堆零件(100到200之间),如果分成4个零件一组的若干组,则多2个零件;如果分成7个零件一组,则多3个零件;如果分成9个零件一组,则多5个零件。下面程序是求这堆零件总数,请选择填空。( D ) #include
A) i%9=5 B) i%9!=5 C) (i-5)%9!=0 D)i%9= =5 38. 以下正确的描述是( B )
A)continue语句的作用是结束整个循环的执行 B)只能在循环体内和switch语句体内使用break语句 C)在循环体内使用break语句或continue语句的作用相同 D)从多层循环嵌套中退出时,只能使用goto语句 39. 下面程序段( D )
for(t=1;t<=100;t++) {
}
A) 当x<0时整个循环结束 B)x>=0时什么也不输出
scanf(“%d”,&x); if(x<0) continue; printf(“=”,t); int i; if((i-2)%4==0)
if(!((i-3)%7))
if( ③ )
printf(“%d”,i);
for(i=100;i<200;i++)
C)printf函数永远也不执行 D)最多允许输出100个非负整数 40. 以下描述正确的是( C)
A)由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
B)do-while循环由do开始,用while结束,在while(表达式)后面不能写分号
C)在do-while循环体中,一定要有能使while后面表达式的值变为零( “假”)的操作
D)do-while循环中,根据情况可以省略while 41. 以下正确的描述是( B )
A)continue语句的作用是结束整个循环的执行 B)只能在循环体内和switch语句体内使用break语句 C)在循环体内使用break语句或continue语句的作用相同 D)从多层循环嵌套中退出时,只能使用goto语句 42. 以下描述正确的是( C )
A)goto语句只能用于退出多层循环 B)switch语句中不能出现continue语句 C)只能用continue语句来终止本次循环 D)在循环中break语句不能独立出现 43. C语言的简单数据类型包括( D )
A)整型、实型、逻辑型 B)整型、实型、字符型、逻辑型 C)整型、字符型、逻辑型 D)整型、实型、字符型 44. 以下叙述中不正确的是( C )
A) 对结构体变量的成员可以像普通变量一样进行各种运算 B) 结构体变量的地址指的是该结构体变量在内存空间的起始地址 C) 可以将一个结构体变量作为一个整体进行输入和输出 D) 可以直接定义某种结构体类型的变量,不出现结构体名 45. 以下叙述中正确的是( B )
A) C程序是以函数为单位进行编译的 B)C程序是以源程序文件为单位进行编译的 C) C语言的函数不可以进行嵌套调用 D) C语言中的函数可以进行嵌套定义 46. 结构化程序设计不应该使用( C )
A)自顶向下,逐步细化的方法
B)模块化设计 C)灵活、简洁的goto结构
D)三种基本结构:顺序结构、选择结构、重复结构的编码方法 47. 若 int a=13 ,则执行语句a/=a+a; 后a的值是( C )
A) 13 B) 14 C)0 D) 0.5 48. 以下说法正确的是( B )
A)一个函数的返回值的类型由调用该函数的主调函数的类型决定 B)C语言程序总是从main函数开始执行
C)C语言程序中main函数必须放在程序的开始部分 D)C语言程序总是从编写在最前面的函数开始执行。 49. 数组名作为函数的实参,传递的值是( A ) A)该数组的首地址 B)该数组的长度
C)该函数中各元素的值 D)该数组的第一个元素的值 50. 若有程序段: int a[2][3]={{ 4,5,6},{1,2,3}}; int *p=&a[0][0]; 则下列哪个表达式的值是3( D )
A) a B)*(a+2) C) *(p+2) D)(*(a+1))[2]
二、读下面的程序,写出运行结果(共24分)
1. 写出下面程序的运行结果(每个结果2分,共4分)。 main() {
int a,b,d=25;
a=d/10%9; b=a&&(-1);
printf(\ a=25 printf(\}
2. 下面程序执行后的输出结果是(每个结果2分,共4分)。
void sum(int *a) { a[1]=a[0];} main( )
{ int aa[10]={1,2,3,4,5,6,7,8,9,10},i;
for(i=2;i>=0;i--) sum(&aa[i]); printf(\
3
}
3. 请写出程序执行后的输出结果(每个结果2分,共4分)。
main( )
{ int i,m=0,n=0;
b=1
printf(“%d\\n”,aa[2]);
for(i=2;i<5;i++)
{ do
{ if(i%3) continue; m++;
}
printf(\ printf(\ }
4. 写出下面程序的运行结果(每个结果3分,共6分)。 int a=2; int f(int *a) {return (*a)++;} main( ) { int s=0;
{ int a=5; s+=f(&a); } s+=f(&a);
printf ( \
printf(\}
5. 若运行以下程序时,从键盘输入2473<回车>,写出程序的运行结果(6分)
#include
int c;
while((c=getchar())!=’\\n’) switch(c-’2’) { }
case 0:
case 1: putchar(c+4); case 2: putchar(c+4); break; case 3: putchar(c+3); default: putchar(c+2); break;
} while(!i); n++;
共分享92篇相关文档