统考试卷八(答案及得分) | ||||||||||||||||||||||||
一、单选题 | ||||||||||||||||||||||||
1、 | 下列均能作为C语言用户自定义标识符的是_________。 | |||||||||||||||||||||||
A Void union WORD | ||||||||||||||||||||||||
B a3_b3 _123 IF | ||||||||||||||||||||||||
C For -abc Case | ||||||||||||||||||||||||
D 2a Do sizeof | ||||||||||||||||||||||||
回答错误,参考答案为:B | ||||||||||||||||||||||||
2、 | 下列选项中,不正确的赋值语句是_________。 | |||||||||||||||||||||||
A ++t; | ||||||||||||||||||||||||
B n1=(n2=(n3=0)); | ||||||||||||||||||||||||
C k=i= =j; | ||||||||||||||||||||||||
D a=b+c=1; | ||||||||||||||||||||||||
回答错误,参考答案为:D | ||||||||||||||||||||||||
3、 | 若已定义x和y为double型变量,则执行表达式x=1,y=x+3/2后,y的值是_______________。 | |||||||||||||||||||||||
A 1 | ||||||||||||||||||||||||
B 2 | ||||||||||||||||||||||||
C 2.0 | ||||||||||||||||||||||||
D 2.5 | ||||||||||||||||||||||||
回答错误,参考答案为:C | ||||||||||||||||||||||||
4、 | 下列程序段执行后的输出结果是_________。 int sum,pad; sum=pad=5; pad=sum++, pad++, ++pad; printf("%d\n",pad); | |||||||||||||||||||||||
A 7 | ||||||||||||||||||||||||
B 6 | ||||||||||||||||||||||||
C 5 | ||||||||||||||||||||||||
D 4 | ||||||||||||||||||||||||
回答错误,参考答案为:A | ||||||||||||||||||||||||
5、 | 设有变量说明:int x=2,y=1;执行语句:y=--x|| y++;后,变量y的值为_________。 | |||||||||||||||||||||||
A 0 | ||||||||||||||||||||||||
B 1 | ||||||||||||||||||||||||
C 2 | ||||||||||||||||||||||||
D 3 | ||||||||||||||||||||||||
回答错误,参考答案为:B | ||||||||||||||||||||||||
6、 | 下列程序的运行结果_________。 main() { int x=3,y=0,z=0; if (x=y+z) printf("****"); else if(x==0)printf("####"); else printf(“$$$$”); } | |||||||||||||||||||||||
A 有语法错误不能过通过编译 | ||||||||||||||||||||||||
B **** | ||||||||||||||||||||||||
C $$$$ | ||||||||||||||||||||||||
D #### | ||||||||||||||||||||||||
回答错误,参考答案为:D | ||||||||||||||||||||||||
7、 | 以下程序段的输出结果是_________。 char str[12]={'s', 't', 'r', 'i', 'n', 'g'}; printf("%d\n", strlen(str)); | |||||||||||||||||||||||
A 6 | ||||||||||||||||||||||||
B 7 | ||||||||||||||||||||||||
C 11 | ||||||||||||||||||||||||
D 12 | ||||||||||||||||||||||||
回答错误,参考答案为:A | ||||||||||||||||||||||||
8、 | 以下说法中正确的是_________。 | |||||||||||||||||||||||
A #define和printf都是C语句 | ||||||||||||||||||||||||
B #define是C语句,而printf是函数 | ||||||||||||||||||||||||
C printf是C语句,#define是预处理命令 | ||||||||||||||||||||||||
D #define和printf都不是C语句 | ||||||||||||||||||||||||
回答错误,参考答案为:D | ||||||||||||||||||||||||
9、 | 下列程序执行后的输出结果是_________。 #define MA(x) x*(x-1) main() { int a=1,b=2; printf("%d \n",MA(1+a+b)); } | |||||||||||||||||||||||
A 6 | ||||||||||||||||||||||||
B 8 | ||||||||||||||||||||||||
C 10 | ||||||||||||||||||||||||
D 12 | ||||||||||||||||||||||||
回答错误,参考答案为:B | ||||||||||||||||||||||||
10、 | 设有定义: int a[ ]={0,1,2,3,4,5,6,7,8,9}, *p=a, i; 其中 0≤i≤9, 则对a数组元素不正确的引用是_____ | |||||||||||||||||||||||
A a[10] | ||||||||||||||||||||||||
B *(a+i) | ||||||||||||||||||||||||
C a[p-a] | ||||||||||||||||||||||||
D p[i] | ||||||||||||||||||||||||
回答错误,参考答案为:A | ||||||||||||||||||||||||
11、 | 设有以下说明语句: struct ex{ int x; float y; char z; }example; 则下面的叙述中不正确的是_________。 | |||||||||||||||||||||||
A struct结构体类型的关键字 | ||||||||||||||||||||||||
B example是结构体类型名 | ||||||||||||||||||||||||
C x,y,z都是结构体成员名 | ||||||||||||||||||||||||
D struct ex是结构体类型 | ||||||||||||||||||||||||
回答错误,参考答案为:B | ||||||||||||||||||||||||
12、 | 下面程序段的输出结果是_________。 enum team{ my, your=4, his, her=10}; printf("%d %d %d %d\n", my, your, his, her); | |||||||||||||||||||||||
A 0 1 2 3 | ||||||||||||||||||||||||
B 0 4 0 10 | ||||||||||||||||||||||||
C 0 4 5 10 | ||||||||||||||||||||||||
D 1 4 5 10 | ||||||||||||||||||||||||
回答错误,参考答案为:C | ||||||||||||||||||||||||
13、 | 在函数中未指定存储类别的变量,其隐含存储类别为_________。 | |||||||||||||||||||||||
A 静态 | ||||||||||||||||||||||||
B 自动 | ||||||||||||||||||||||||
C 外部 | ||||||||||||||||||||||||
D 存储器 | ||||||||||||||||||||||||
回答错误,参考答案为:B | ||||||||||||||||||||||||
14、 | 设有变量说明:char a[6],*p=a;下面表达中,正确的赋值语句是_________。 | |||||||||||||||||||||||
A a[6]=“Hello”; | ||||||||||||||||||||||||
B a=“Hello”; | ||||||||||||||||||||||||
C *p=“Hello” | ||||||||||||||||||||||||
D p=“Hello”; | ||||||||||||||||||||||||
回答错误,参考答案为:D | ||||||||||||||||||||||||
15、 | 命题“当两个字符串s1和s2相等时为真,否则为假”的C语言表达式为_________。 | |||||||||||||||||||||||
A s1==s2 | ||||||||||||||||||||||||
B s1=s2 | ||||||||||||||||||||||||
C !strcmp(s1,s2)) | ||||||||||||||||||||||||
D strcmp(s1,s2) | ||||||||||||||||||||||||
回答错误,参考答案为:C | ||||||||||||||||||||||||
16、 | 设char *p, q; ,则下列语句引用合法且有意义的是______________。 | |||||||||||||||||||||||
A p=&q; | ||||||||||||||||||||||||
B p*=3; | ||||||||||||||||||||||||
C p+=q; | ||||||||||||||||||||||||
D p+=3 | ||||||||||||||||||||||||
回答错误,参考答案为:A | ||||||||||||||||||||||||
17、 | 设有说明:int a[4][4];与数组元素a[3][3]不等价表示的是_________。 | |||||||||||||||||||||||
A *(a[3]+3) | ||||||||||||||||||||||||
B *(*(a+3)+3) | ||||||||||||||||||||||||
C *&a[3][3] | ||||||||||||||||||||||||
D *(*(a+3))+3 | ||||||||||||||||||||||||
回答错误,参考答案为:D | ||||||||||||||||||||||||
18、 | 下面函数的功能是_________。 sss(char *s, char *t) { while((*s)&&(*t)&&(*t++==*s++)); return(*s-*t); } | |||||||||||||||||||||||
A 求字符串的长度 | ||||||||||||||||||||||||
B 比较两个字符串的大小 | ||||||||||||||||||||||||
C 将字符串s复制到字符串t中 | ||||||||||||||||||||||||
D 将字符串s接续到字符串t中 | ||||||||||||||||||||||||
回答错误,参考答案为:B | ||||||||||||||||||||||||
19、 | 以下程序段的输出结果是_________。 int i,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1]; for(i=0;i<4;i+=2)printf("%d ",p[i]); | |||||||||||||||||||||||
A 5 2 | ||||||||||||||||||||||||
B 5 1 | ||||||||||||||||||||||||
C 5 3 | ||||||||||||||||||||||||
D 9 7 | ||||||||||||||||||||||||
回答错误,参考答案为:C | ||||||||||||||||||||||||
20、 | 数组和链表都可以用于存储一组数据,以下说法不正确的是_____________。 | |||||||||||||||||||||||
A 数组和链表所占用的存储区域均不能在程序运行期间动态分配 | ||||||||||||||||||||||||
B 数组占用连续的一块存储区域,链表可能占用若干不连续的存储区域 | ||||||||||||||||||||||||
C 数组中的数据可以随机存取或顺序存取,链表中的数据只能顺序存取 | ||||||||||||||||||||||||
D 数组的长度是固定的,链表的长度是不固定的。 | ||||||||||||||||||||||||
回答错误,参考答案为:A | ||||||||||||||||||||||||
二、填空题 | ||||||||||||||||||||||||
1、 | 在C语言中,一个C源程序至少包含一个__________函数,一个语句至少包含一个____________。 | |||||||||||||||||||||||
回答错误,参考答案为:main ## ; | ||||||||||||||||||||||||
2、 | 在函数体内说明的变量称为____________ ;在所有函数之外说明的变量称为 _____________。 | |||||||||||||||||||||||
回答错误,参考答案为:局部变量(内部变量) ## 全局变量(外部变量、全程变量) | ||||||||||||||||||||||||
3、 | 在程序中需要调用库函数strcpy时必须包含头文件______________。 | |||||||||||||||||||||||
回答错误,参考答案为:string.h或#include | ||||||||||||||||||||||||
4、 | int *f ( )说明的含义是_________。 | |||||||||||||||||||||||
回答错误,参考答案为:函数类型为int指针的f函数 | ||||||||||||||||||||||||
5、 | 假设int *p; ,若要用下面的语句使指针变量p指向一个存储整型变量的动态存储单元,则应填入: p=__________ malloc( sizeof(int)); | |||||||||||||||||||||||
回答错误,参考答案为:(int *) | ||||||||||||||||||||||||
三、读程写结果 | ||||||||||||||||||||||||
1、 | 执行以下程序段: char str[13]=“abcd1234”; scanf(“%s”,str); printf(“%s\n”,str); 若从键盘上输入的数据流为:efgh 则输出结果是______________________。 | |||||||||||||||||||||||
回答错误,参考答案为:efgh | ||||||||||||||||||||||||
2、 | 下面程序的运行结果是____________。 main() { char i, x[ ]=“the teacher”; i=0; while(x[++i]!=‘\0’) if(x[i-1]==‘t’ ) printf(“%c”,x[i]); } | |||||||||||||||||||||||
回答错误,参考答案为:he | ||||||||||||||||||||||||
3、 | 下面程序的运行结果是___________。 main() { char ch[7]=“6521”; int i,s =0; for(i=0; ch[i]!='\0'; i++ s=10*s+ch[i]-'0'; printf(“%d\n”,s); } | |||||||||||||||||||||||
回答错误,参考答案为:6521 | ||||||||||||||||||||||||
4、 | 程序: int f(int x,int y) { int m=5; m+=x*y; return m; }main( ) { int m=10,a=6,b=7; printf (“%d\n”,f(a,b)/m); }执行以上程序后,输出结果是___________。 | |||||||||||||||||||||||
回答错误,参考答案为:4 | ||||||||||||||||||||||||
5、 | 程序: int i, j=2; void p( ) { for (i=0; i<4; i++) { printf(“%d”,++j); if ((i+1)%2= =0 ) printf (“\n”) }}main( ) { for(i=0; i<3; i++) p( ); printf(“%d\n”,i); }执行以上程序后,输出的第一行是 ________,第二行是________,第三行是________。 | |||||||||||||||||||||||
回答错误,参考答案为:34##56##5 | ||||||||||||||||||||||||
6、 | 如果从键盘上输入的数据流为 china#<回车>,则下列程序运行后的输出结果为______________。 #include main() { int v1=0,v2=0; char ch; while((ch=getchar())!='#') switch(ch) { case 'a': case 'h': case 'n': v1++; default : v2++; } printf("%d,%d\n",v1,v2); } | |||||||||||||||||||||||
回答错误,参考答案为:3##5 | ||||||||||||||||||||||||
7、 | 程序: struct st { int x; int *y; }*p; int dt[4]= {10, 20, 30, 40}; struct st aa[4]={50, &dt[3], 60, &dt[2], 70, &dt[1], 80, &dt[0]}; main ( ) { p=aa; printf (“%d\n”, (++p)->x); printf (“%d\n”, ++(*p->y)); } 执行以上程序后,输出的第一行是_____________,第二行是_____________ | |||||||||||||||||||||||
回答错误,参考答案为:60##31 | ||||||||||||||||||||||||
四、完善程序题 | ||||||||||||||||||||||||
1、 | 以下程序的功能是欲从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入-1时结束输入。 main ( ) { float x, amax, amin scanf (“ %f ”, &x); amax= ; amin=x; while ( _________________ ) { if ( _________________ ) amax=x; if ( _________________ ) amin=x; scanf (“%f”, &x);c语言的冒泡排序算法 } printf (“\namax=%f\namin=%f\n”, amax, amin); } | |||||||||||||||||||||||
回答错误,参考答案为:x!=-1或x>=0##amaxamax##amin>x或x<AMIN< font> | ||||||||||||||||||||||||
2、 | 4 下面程序的功能是计算100到1000之间有多少个数其各位数字之和是5。 main() { int i, s, k, count=0; for( i=100; i<=1000; i++ { s=0; k=i; while ( k ) { s = s+k%10; k =___________; } if( s!=5 ) ___________; else count++; } printf( “%d\n”, count);} | |||||||||||||||||||||||
回答错误,参考答案为:k/10## continue | ||||||||||||||||||||||||
3、 | 有如下说明: struct lin k { int data; struct link * ext; }*p; 设p已申请到一个结点空间,要求将p串接到头结点head上,写出建立如图所示的存储结构和赋值所需的 head data next head = ___________; _____________ = 20; _____________ = NUL | |||||||||||||||||||||||
回答错误,参考答案为:p## p->data(head->data##) p->next(head->next) | ||||||||||||||||||||||||
4、 | 以下程序的功能是用二分法求方程2x3-4x2+3x-6=0的根。请填空。 #include ________________ float f(float x) { return z*x*x*x-4*x*x+3*3-6 ;} main() { float m=-100,n=90,r; r=(m+n)/2; while (f(r)*f(n)!=0) { if(___________<0 )m=r; else n=r; if(fabs(f(r))<1e-6)break; r=(m+n)/2;} printf(“This fangcheng jie is %6.3f \n”,r); | |||||||||||||||||||||||
回答错误,参考答案为:#include ## f(r)*f(n) | ||||||||||||||||||||||||
5、 | 程序定义了N×N的二维数组,并在主函数中按行为主序赋予1到n2的自然数。fun函数的功能是:使数组第一列元素中的值与最后一列元素中的值对调、第二列元素的值与倒数第二列中的值对调、……、其他依次类推。请按算法要求完善下列程序。 #include #define N 5 int fun(_____________________) { int i ,m,t; for(m=0;m for(i=0;i { t = a[m][i]; _______________________; a[m][N-1-i] = t; } } main() { int a[N][N],i,j,k=1; printf("***** The array *****\n"); for(i=0;i { for(j=0;j { a[i][j]=k++; printf("%4d",a[i][j]); } printf("\n"); } fun(a); printf("***** The result *****\n"); for(i=0;i { for(j=0;j printf("%4d",a[i][j]); printf("\n"); } } | |||||||||||||||||||||||
回答错误,参考答案为:char a[][N]或char (*a)[N]##a[m][i]=a[m][N-1-i] | ||||||||||||||||||||||||
6、 | 现有10个整数12、8、23、6、15、9、32、41、28、21存放长度为10的数组a中,函数void sort(int a[])的功能是使用冒泡算法对其进行从小到大排序。请完善函数并回答题后提出的问题 void sort(int a[]) { int i , j , done=0,temp for(i=1;i<10&&!done;i++) { done =1 for(j=0;j<=9-i;j++ if(______________) {temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; done=0; } } } 请写出执行冒泡排序算法后第一趟的结果______________________________________; 上述冒泡排序共需要执行___________趟。 | |||||||||||||||||||||||
回答错误,参考答案为:a[j]>a[j+1]## 8 12 6 15 9 23 32 2## 21##41## 5(4给1分) | ||||||||||||||||||||||||
总分:100分 您的得分:0 分 正确率:0% | ||||||||||||||||||||||||
窗体底端
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论