2011级《C语言程序设计》作业一
姓名: 班级: 学号:
一、选择题
1、一个C程序的执行是从( A )。 A)本程序的main函数开始,到main函数结束
B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C)本程序的main函数开始,到本程序文件的最后一个函数结束 D)本程序文件的第一个函数开始,到本程序main函数结束 2、下面四个选项中,合法的用户标识符是( D ) A)P_#$ B)2ha C)goto D)_ab 3、要把整数67523赋与整型变量I,则应说明I的类型是( B ) A) int B) long C) short D) unsigned 4、已知int I; float f; 正确的表达式是( D ) A) (int f)%I B) int(f)%I
C) int (f%I)
D) (int)f%I
5、判断char型变量c1是否为小写字母的正确表达式是(D )
A)?a?<=c1<=?z? B)(c1>=a) && (c1<=z) C)98<=c1&&123>=c1 D)c1>=?a?&& c1<=?z? 6、执行以下语句后b的值为( B )。
int a = 5 , b = 6 , w = 1 , x =2 , y = 3 , z = 4 ; b= ( a = w > x ) && ( b = y > z ) ;
A)6 B) 0 C) 1 D) 4
7、以下能正确地定义整型变量a,b和c并为其赋初值5的语句是( C )。 A)int a=b=c=5; B)int a,b,c=5; C)int a=5,b=5,c=5; D)a=b=c=5;
8、已知:char a; int b; float c; double d; 执行语句c=a+b+c+d;后,变量c的数据类型是(D ) A) int
B) char
C) float
D) double
9、已知字母A的ASCII码为65,以下程序段的输出结果是( C )
char c1=?A?,c2=?Y?; printf(″%d,%d″,c1,c2);
A)65,90 B)A,Y C)65,89 D)输出格式不合法
10、阅读以下程序,当输入数据的形式为:25,13,10
(“CR”表示回车)
main( ) { int x,y,z;
scanf(“%d%d%d”,&x,&y,&z); printf(“x+y+z=%d\\n”,x+y+z); }
A、x+y+z=48 B、x+y+z=35 C、x+z=35 D、不确定值 11、以下错误的if语句是( C ) A) if(x>y); B) if (x==y) x+=y;
C) if (x!=y) scanf(“%d”,&x) else scanf(“%d”,&y)
D) if (x 12、阅读以下程序: main( ) { int x; scanf(“%d”,&x); if (x--<5)printf(“%d\\n”,x); else printf(“%d\\n”,x++); } 程序运行后,如果从键盘上输入5,则输出结果是( B ) A、3 B、4 C、5 D、6 13、若int I=10; 执行下列程序后,变量I的正确结果是( D ) switch(I) {case 9 : I+=1; A) 10 case 10 : I+=1; case 11 : I+=1; default : I+=1; } C) 12 D)13 B) 11 2011级《C语言程序设计》作业二 姓名: 班级: 学号: 14、C语言中while 与do --- while语句的主要区别是 ( A ) A)do ---while的循环体至少无条件执行一次 B)do ---while允许从外部转到循环体内 C)do ---while的循环体不能是复合语句 15、以下的for循环( B ) for ( x = 0 , y = 100 ; (y! = 123 ) && (x <=3) ; x + + ) ; A)执行3次 B)执行4次 C)循环次数不定 D) 是无限循环 16、执行”for(i=1;i++<4; ) ;”后,变量i的值为( C ) A)3 B) 4 C) 5 D) 不定 17、以下程序段( C ) x = -2 ; do { x = x * x ; } while ( !x ) ; A 是死循环 B循环执行两次 C循环执行一次 D有语法错误 18、设x和y均为int型变量,则执行下面循环后,y的值为( C )。 for( y=1,x=1;y<=50;y++) { if(x==10) break; if(x%2==1) {x+=5;continue; } x-=3; } A)2 B) 4 C) 6 D) 8 19、以下程序的输出结果是( C ) main() { int i,j,x=0; for (i=0;i<2;i++) { x++; for(j=0;j<3;j++) {if(j%3) continue; x++; } x++; } printf(“x=%d\\n”,x); } x=4 B) x=8 C) x=6 D) x=12 20、以下程序的输出结果( D ) main() { int x=10,y=10,I; for(I=0;x>8;y=++I) printf(“%d,%d”,x--,y); } A) 10,1 9,2 B) 9,8 7,6 C) 10,9 9 ,0 D) 10,10 9,1 21、以下正确的描述是( B )。 在C语言程序中: A)函数的定义可以嵌套,但函数的调用不可以嵌套 B)函数的定义不可以嵌套,但函数的调用可以嵌套 C)函数的定义和函数的调用均不可以嵌套 D)函数的定义和函数的调用均可以嵌套 22、以下正确的说法是( B )。 建立函数的目的之一是:A)提高程序的执行效率 B)提高程序的可读性 C)减少程序的篇幅 D)减少程序文件所占内存 23、以下正确的说法是( B )。 A)用户若需调用标准库函数,调用前必须重新定义 B)用户可以重新定义标准库函数,若如此,该函数将失去原有含义 C)系统根本不允许用户重新定义标准库函数 D)用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调 2011级《C语言程序设计》作业三 姓名: 班级: 学号: 24、下列定义不正确的是( C ) A)#define PI 3.141592 B) #define S 354 C) int max(int x,int y); D) static char c; 25、下列程序运行结果是( A ) #define P 3 #define S(a) P*a*a main() { int ar; ar=S(3+5); printf(“%d”,ar); } A) 192 B) 29 C) 27 D) 25 26、C语言程序中每个语句和数据定义的最后必须有一个( A) A 分号 B 逗号 C 空格 D 冒号 27、C语言的简单数据类型包括(D ) A)整型、实型、逻辑型 B)整型、实型、字符型、逻辑型 C)整型、字符型、逻辑型 D)整型、实型、字符型 28、数学关系式x≤y≤z可用C语言的表达式表示为(A ) A)(x<=y)&&(y<=z) B)(x<=y)and(y<=z) C)(x<=y<=z) D)(x<=y)&(y main() {int s,t,a,b; scanf(“%d%d”,&a,&b); s=t=1; if(a>0) s =s + 1; if(a>b) t= s + t; else if(a==b) t=5; else t=2*s; printf(“%d\\n”,t); } A)a>0并且a0并且a>b D)a<0并且a main()