4. 写出判断字符变量c是英文字母的表达式 。 阅卷人 5. 写出下列程序段的输出结果 。 int k, x;一、单项选择题(每小题 2 分,共 20 分) for (k=0, x=0; k<=9&&x!=10; k++) 1. C 语言程序中可以对程序进行注释,注释部分必须用符号_____括起来。 x+=2;
A、‘{‘ 和’}’ B、‘[‘和’]’ C、“/*”和”*/” D、“*/”和”/*” printf (\"%d, %d\
2. 下列运算符中,优先级最低的是_____。 6. 写出下列程序段的输出结果 。 A、* B、!= C、+ D、= printf(“%d, %d”, NULL, EOF);
3. 若变量已正确定义,表达式 (j=3, j++) 的值是_____ 。 7. 对于以下递归函数f,调用 f (3) 的返回值是_____。 A、3 B、 4 C、5 D、0 f (int n)
4. 已知字符 ‘a’ 的ASCII码为 97 ,执行下列语句的输出是_____。 { return ((n>0) ? 2*f(n-1)+f(n-2) : -1); }
printf (\"%d, %c\ 8. 写出下列程序段的输出结果 。 A、98, b B、语句不合法 C、98, 99 D、 98, c char str[]=\"hello\world\\n\";
5. 表达式strcmp(“box”, “boss”) 的值是一个_______。 printf(\"%d, %c\\n\
A、 正数 B、 负数 C、 0 D、 不确定的数 9. 输入12345#后,写出下列程序的输出结果 。 6. 数组定义为 int a[3][2]={1, 2, 3, 4, 5, 6},数组元素_____的值为6。 void main() A、a[3][2] B、a[2][1] C、a[1][2] D、a[2][3] { char c; 7. 要调用数学函数时,在#include命令行中应包含_____。 for(c=getchar(); getchar()!=’#’; c=getchar()) A、 ”stdio.h” B、 ”string.h” C、 ”math.h” D、 ”ctype.h” putchar(c);}
8. 若a是基本整型变量,c是单精度实型变量,输入语句______是错误的。 10. 执行程序find –nx ould text.txt时,*++argv[1]的值是_______。
A、scanf(”%d,%f”, &a, &c); B、scanf(”d=%d, c=%f”, &a, &c); 三、程序阅读题(每题5分,共20分)
C、scanf(”%d%f”, &a, &c); D、scanf(”%d%f”, a, c); 9. 若变量已正确定义并且指针p已经指向某个变量x,则(*p)++相当于_____。 1.#include 2.#include A、p++ B、x++ C、*(p++) D、&x++ void main() #include 10. 若p1、p2都是整型指针,p1已经指向变量x,要使p2也指向x, _____是{ void main() 正确的。 int i=16,j,x=6; {A、p2=p1; B、p2=**p1; C、p2=&p1; D、p2=*p1; j=i+++1; int a=1,b=4,c=2; x*=i=j; float x=10,y=4.0,z;
二、填空题(每小题 2 分,共 20 分) printf(“%d,%d\\n”,j,x); z=(a+b)/c+sqrt((double)y)*1.2/c+x; 1. 写出下列程序段的输出结果。 } printf(“%f\\n”,z); float x1, x2; }
运行结果是: 运行结果是:
1
3.#include 4 .#include void main() void main() { {int a,b,c,d; int i=10; a=c=0; switch(i){ b=1; case 9: i+=1; d=20; case 10: i+=1; if(a) d=d-10; case 11: i+=1; else if(!b) default : i+=1; if(!c) d=25; }
else d=15; printf(“%d”,i); printf(“d=%d\\n”,d); } }
运行结果: 运行结果:
四、程序填空题(每空 2 分,共 20 分)
1、下面程序的功能是:输入一行字符,统计其中有多少个单词,单词之间 用空格分开。请填空完成。 # include void main() {char str[81];int I,( ); char c; gets(str);
for(I=0;( )!=’\\0’;I++) if(c==’ ’)word=0;
else if( ) {word=1;
( )} printf(“There are %d word in line. \\n”,num); }
2、下面程序的功能是:用选择排序法对数组中10个数据按由小到大排序。请填空完成。
void sort(int a[],int n)
{( ) for(I=0;I{ ( )for(j=I+1;j2if( ( )) {
t=a[k];a[k]=a[I];a[I]=t;} } }
# include void main() {int b[10],I;printf(“enter the array\\n”); for(I=0;I<10;I++) scanf(“%d”.&b[I]);
( ) printf(“the sorted array: \\n”); for(I=0;I<10;I++) printf(“%d “,b[I]); printf(“\\n”); }
3、判断m是否是素数 #include # include void main() {int m,i,k;
scanf(“%d”,&m); ( ) for(i=2;i<=k;i++)
if(m%i==0) ( ); if(i>=k+1) printf(“%d is a prime number\\n”,m); else printf(“%d is not a prime number\\n”,m); }
}
五、编程题 ( 共 20 分,)
1. 写一个函数,计算x的n次方。(10分)
2. 有一个3 4的矩阵,找出最大值及该值所在位置。(10分)
3