南京工程学院C语言程序设计期末题目
本试卷为南京工程学院C语言程序设计期末题目,题目包括:单项选择题,判断题,填空题,程序分析题,编程题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,程序题,结构体,文件。
C语言程序设计期末题目
一、单项选择题 (共20题,每题2分,共计40分)
( D )
1、下列叙述中正确的是________。
( C )
2、有以下程序
main( )
{
char k;
int i;
for(i=1;i<3;i++)
{
scanf("%c",&k);
switch(k)
{
case ‘0’: printf("another\n");
case ‘1’: printf("number\n");
}
}
}
程序运行时,从键盘输入:01<回车>,程序执行后的输出结果是________。
( A )
3、以下程序的执行结果是 __________.
#include <stdio.h>
void main( )
{
int a,b,c,d,x;
a=c=0;
b=1;
d=20;
if (a) d=d-10;
else if(!b) if (!c) x=15;
else x=25;
printf("d=%d\n",d);
}
( B )
4、下列一组初始化语句中,正确的是 __________.
( B )
5、以下函数调用语句中含有实参个数为 __________. func((exp1,exp2),(exp3,exp4,exp5));
( D )
6、下面对二维数组array的定义,正确的是________。
( C )
7、以下不正确的是 ______。
( B )
8、如果一个表达式包含算术运算、关系运算、逻辑运算和字符运算时,运算的先后顺序是________。
( B )
9、在下列的标识符中,错误的是________。
( C )
10、设有以下语句:
typedef struct tt { char c; int a[4]; } cin; 则下面叙述中正确的是________。
( D )
11、有以下程序:
#include<stdio.h>
main()
{
int i=0,a=0;
while(i<20)
{
for(;;)
{
if((i%5)==0)break;
else i--;
}
i+=13,a+=i;
}
printf("%d\n",a);
}
程序的输出结果是________。
( C )
12、以下程序的输出结果是
#include<stdio.h>
struct st
{
int x;
int *y;
}
*p;
int dt[4]= {10,20,30,40 };
struct st aa[4]={50,&dt[0],60,&dt[0],60,&dt[0],60,&dt[0],};
main()
{
p=aa;
printf("%d\n",++(p->x));
}
( C )
13、下面程序段的运行结果是 char a[ ]="lanuage",*p; p=a; while(*p!='u') printf("%c",*p-32); p++;
( D )
14、下列字符常量的写法中,正确的是________。
( A )
15、下面程序的输出结果是_______。
f1(int x)
{
int y;
y=x+x;
return(y);
}
f2(int a ,int b)
{
int z;
z=f1(a*b);
return(z);
}
main( )
{
int a=2,b=5,c;
c=f2(a,b);
printf("%d",c);
}
( D )
16、下列叙述中正确的是______。
( D )
17、与二进制数100101等值的十进制数是________。
( B )
18、流程图中,输入/输出框用( )图形表示?
( A )
19、printf函数中用到格式符%-6s,其中数字6表示输出的字符串占用6列。如果字符串长度小于6,则输出按方式 ________。
( A )
20、下面说法正确的是________。
二、判断题 (共10题,每题2分,共计20分)
( F )
1、c程序函数体是由左右方括号[ ]括起来的部分。
( T )
2、用scanf()函数输入实型数时,可以指定宽度,但不能规定精度。
( F )
3、当一个c语言程序由多个文件模块组成时,整个程序可以包含多个main()函数。
( T )
4、c 语言允许用字符串的方式对数组作初始化赋值。
( F )
5、数组的下标从1开始。
( F )
6、putchar 函数可以向终端输出一个字符串
( F )
7、在switch 语句中必须使用break 语句
( T )
8、do-while 语句构成的循环至少执行一次
( T )
9、当说明一个共用体变量时系统分配给它的内存是最长的成员的长度
( F )
10、内部静态类变量的作用域和寿命与自动类变量的相同。
三、填空题 (共5题,每题4分,共计20分)
1、逻辑运算符"&&、||、 !"中的优先级是________。
2、设有如下的类型说明: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
*(p+5)=_____。
3、C 语言中,一个函数一般由两个部分组成,它们是______和函数体。
4、结构化设计中的三种基本结构是 顺序,选择,_____。
5、在C语言中的实型变量分为两种类型,它们是 ___和浮点型。
四、程序分析题 (共4题,每题5分,共计20分)
1、有以下程序
main( )
{
int n=0,m=1,x=2;
if(!n) x-=1;
if(m) x-=2;
if(x) x-=3;
printf("%d\n",x);
}
执行后输出结果是 ________。
2、已知t=5,则表达式"t-=t+=3"的值是______。
3、下列程序段的运行结果是________。
main()
{
int m=1,t=1;
for( ; ; )
{
m=m+t ;
t++;
if(m>9) break ;
}
printf("%d\n",m);
}
4、程序运行结果是________。
void swap(int a[2])
{
int t;
t=a[0];
a[0]=a[1];
a[1]=t;
}
void main()
{
int x[2]={5,8};
swap(x);
printf("x[0]=%d,x[1]=%d\n",x[0],x[1]);
}
五、编程题 (共3题,每题0分,共计50分)
1、编写程序:计算sum=1-1/3+1/5-1/7+…+1/19
2、编写程序:用getchar函数读入两个字符给c1、c2,然后分别用putchar函数和printf函数输出这两个字符。
#include<stdio.h>
void main()
{
char c1, c2;
printf("请输入两个字符给c1和c2:\n");
_________________________________
_________________________________
printf("用putchar函数输出结果为:\n") ;
_________________________________
_________________________________
printf("\n用printf函数输出结果为:\n") ;
_________________________________
}
3、题⽬描述 万⾥⼗佳歌⼿⽐赛终于开始了,评委席坐了N(N⼤于等于3,并且N⼩于80)个评委,他们商量了很久,终于找出⼀个公正合理的评分⽅法。每次歌⼿唱完后,每个评委⾃⼰打⼀个分,然后在N个评委的打分中,去掉⼀个最⾼分,⼀个最低分。然后再把剩下的评委的打分求平均值~ 。 但是问题是他们嫌每次拿计算器按实在太烦。作为⼀名计算机专业学⽣~你⽤个程序帮帮他们搞定吧。 输⼊ 输⼊有多组数据。每组2⾏,第⼀⾏是⼀个N,代表有N个评委。然后第⼆⾏有N个数,每个数⽤空格隔开,代表每个评委的打分。 当输⼊的N为0的时候结束输⼊。 输出 对于每组输⼊,输⼊最终这个选⼿的得分(⼩数点后⾯保留2位有效数字)。 样例输⼊ 3 74 36 34 7 16 97 27 26 74 96 88 样例输出 36.00 62.20
相关标签:
- C语言
- 南京工程学院
- 期末题目