南京艺术学院计算机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语言
- 南京艺术学院
- 期末题目