南京艺术学院计算机C语言期末题目
本试卷为南京艺术学院计算机C语言期末题目,题目包括:单项选择题,填空题,编程题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,结构体,程序题。
计算机C语言期末题目
一、单项选择题 (共20题,每题2分,共计40分)
( A )
1、关于c语言中数的表示,以下叙述中正确的是________。
( A )
2、下列字符串是标识符的是________。
( D )
3、若要定义一个具有5个元素的整型数组,以下错误的定义语句是________。
( C )
4、当从键盘上输入字符"12134211"下面程序的 输出结果是________。 main( ) { char s; int v1=0,v2=0,v3=0,v4=0,k; for(k=0;k<=7;k++) { scanf("%c",&s); switch(s) { default: v4++; case '1': v1++; case '3': v3++; case '2': v2++; } } printf("v1=%d,v2=%d,v3=%d,v4=%d\n",v1,v2,v3,v4); }
( A )
5、若有定义:int a=7; float x=2.5, y=4.7; 则表达式: x+a%3*(int)(x+y)%2/4的值是________。
( B )
6、以下程序的输出结果是 #include <stdio.h> main() { int i=0,a=0; while(i<20) { for(;;) { if((i%10)==0) break; else i--; } i+=11; a+=i; } printh("%d\n",a); }
( C )
7、设有以下说明语句: typedef struct stu { int a; float b; } stutype; 则下面叙述中错误的是________。
( C )
8、在定义 int a[5][6]; 后,数组 a 中的第 10 个元素是__________ (设 a[0][0] 为第一个元素)
( D )
9、以下数组定义中不正确的是 __________.
( A )
10、以下叙述中正确的是______。
( C )
11、若内存按字节编址,用存储容量为32k×8bit的存储器芯片构成地址编号a0000h至dffffh的内存空间,则至少需要______片。
( C )
12、下面程序段的运行结果是 char a[ ]="lanuage",*p; p=a; while(*p!='u') printf("%c",*p-32); p++;
( A )
13、以下选项中,与 n=i++ 完全等价的表达式是________。
( A )
14、有以下程序 struct stu { char num[10]; float score[3]; } ; main( ) { struct stu s[3]={{"20021",90,95,85},{"20022",95,80,75},{"20023",100,95,90}},*p; int i; float sum=0; p=s+1; for(i=0;i<3;i++)sum=sum+p->score[i]; printf("%.3f\n",sum); } 程序运行后的输出结果是___________。
( C )
15、有以下程序 int f1(int x,int y) { return x>y?x:y; } int f2(int x,int y) { return x>y?y:x; } main() { int a=4,b=3,c=5,d,e,f; d=f1(a,b); d=f1(d,c); e=f2(a,b); e=f2(e,c); f=a+b+c-d-e; printf("%d,%d,%d\n",d,f,e); } 执行后输出的结果是______。
( C )
16、以下程序的输出结果是______。 #include <stdio.h> main() { int i; for(i=1;i<5;i++) { if(i%2) printf("*"); else continue; printf("#"); } printf("$\n"); }
( C )
17、若x为int型变量,则以下函数fun的类型为________。 fun(x) { printf("%d\n",x); }
( C )
18、有以下程序 #include <string.h> main() { char p[20]={'a','b','c','d'},q[]="abc",r[]="abcde"; strcpy(p+strlen(q),r); strcat(p,q); printf("%d\n", strlen(p)); } 程序运行后的输出结果是______。
( B )
19、在c语言中,要求运算数必须是整型或字符型的运算符是________。
( D )
20、当定义一个结构体变量时,系统为它分配的内存空间是________。
二、填空题 (共10题,每题2分,共计20分)
1、有以下程序 #include <stdio.h> main () { int i,j,a[][3]={1,2,3,4,5,6,7,8,9}; for (i=1;i<3;i++) for(j=i;j<3;j++) printtf("%d",a[i][j]); printf("\n"); } 程序运行后的输出结果是________。
2、符合结构化原则的三种基本控制结构是:选择结构、循环结构和 ________ 。
3、有以下程序 #include<stdio.h> int*f(int *p,int*q); main() { int m=1,n=2,*r=&m; r=f(r,&n); printf("%d\n",*r); } int*f(int *p, int*q) { return(*p>*q) ? p : q; } 程序运行后的输出结果是________。
4、有以下程序 #include < stdio.h > main() { int a=1,b=2,c=3,d=0; if (a==1) if (b!=2) if(c!=3) d=1; else d=2; else if(c!=3) d=3; else d=4; else d=5; printf("%d\n",d); } 程序运行后的输出结果是: ________。
5、下列程序段的运行结果是________。 main() { int n,s=0 ; for(n=1; n<=5; n++) { if(n%2==0) continue; s=s+n; } printf("%d\n", s); }
6、以下程序的输出结果是________。 main() { int x=5,y=6; printf("%da%d",x――,――y); }
7、数学表达式x<y<z改写为c语言表达式是___________。注:表达式要在英文半角状态下按原表达式顺序书写,且表达式中不要留空格。
8、C程序的运行需要经过______和链接两步进行。
9、C语言中函数返回值的类型是由______决定的。
10、函数的形参在未被调用前不分配空间,函数形参的____要和实参相同。
三、编程题 (共3题,每题0分,共计40分)
1、编写一个函数,从传人的m个字符中找出最长的一个字符串,并通过形参指针max传回该串地址(用****作为结束输入的标志)。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填人所编写的若干语句。 试题程序: char*proc(char(*a)[81],int num) { } void main() { char ss[l0][81],*max; int n,i=0; printf("输入若干个字符串:"); gets(ss[i]); puts(ss[i]); while(!strcmp(ss[i],"****")==0) { i++; gets(ssei]); puts(ss[i]); } n=i; max=proe(ss,n); printf("\nmax=%s\n",max); }
2、输入5位同学的一组信息,包括学号、姓名、数学成绩、计算机成绩,求得每位同学的平均分和总分,然后按照总分从高到低排序。
3、输入 n,求下列级数前n项的和。1+1/2-2/3+3/4……
相关标签:
- C语言
- 南京艺术学院
- 期末题目