中国戏曲学院往年C语言程序设计专升本
本试卷为中国戏曲学院往年C语言程序设计专升本,题目包括:单项选择题,判断题,填空题,程序分析题,编程题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,程序题,结构体,文件。
C语言程序设计专升本
一、单项选择题 (共20题,每题2分,共计40分)
( B )
1、以下程序的输出结果是________。
main()
{
char ch[3][4]= { "123","456"."78" }, *p[3];
int i;
for(i==-0; i<3; i++) p[i]=ch[i];
for(i=0; i<3; i++) printf("%s", p[i]);
}
( D )
2、设有以下语句: int a=1,b=2,c;c=a^(b<<2);执行后,c的值为________。
( D )
3、若有定义:int a[10],则对数组a元素的正确引用是________。
( C )
4、若有说明和语句 int a=5; a++; 此处表达式a++的值是________。
( D )
5、以下函数 func() 的功能是:使具有 n 个元素的一维数组 b 的每个元素的值都增加 2 ,划线处应填入 _____.
func(int b[ ],int n)
{
int ;
for(i=0;i<n;i++) __________;
}
( B )
6、设宏定义#define PI 3.1415926,用宏名PI替换的是________。
( C )
7、下面说法正确的是________。
( C )
8、若定义下列结构体,结构体变量p的出生年份赋值正确的语句是________。
struct st
{
int x;
int y;
int z;
}
struct worker
{
char name[20];
char sex;
struct st birth;
} p;
( B )
9、以下叙述中不正确的是________。
( B )
10、现代计算机中采用二进制数制是因为二进制数的优点是______。
( C )
11、以下关于结构化程序设计的叙述中正确的是________。
( D )
12、设char s[10]= 〞abcde〞,t[ ]= 〞12345〞; 则s和t在内存中分配的字节数分别是________。
( C )
13、算法的每一步都是可执行的,都是可以实现的,指的是算法的( )特点
( D )
14、以下叙述中正确的是________。
( C )
15、enum a
{
sum=9,mon=-1,tue
}
;
定义了________。
( C )
16、以下描述中正确的是________。
( C )
17、有定义:char **p1,*p2; 则下列表达式中正确合理的是________。
( A )
18、以下程序的输出结果为________。
#include <stdio.h>
int main( )
{
int i=1,j=1;
printf("%d %d\n",i,j++);
}
( C )
19、若使用一位数组名作为函数实参, 则以下正确的说法是________。
( D )
20、以下程序段的输出结果为()。
char c[]="abc";
int i=0;
do ;while(c[i++]!='\0');printf("%d",i-1);
二、判断题 (共10题,每题2分,共计20分)
( T )
1、在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元。
( T )
2、do…while循环语句中的循环体至少会执行一次。
( T )
3、对于如下的switch语句(使用break)的一般形式,其执行流程是:首先求解表达式,如果表达式的值与某个常量表达式的值相等,则执行该常量表达式后的相应语句段;
如果表达式的值与任何一个常量表达式的值都不相等,则执行 default 后的语句段,最后执行break语句,跳出switch语句。switch (表达式)
{
case 常量表达式1: 语句段1;
break;
case 常量表达式2: 语句段2;
break;
… case 常量表达式n: 语句段n;
break;
default: 语句段n+1;
break;
}
( T )
4、编译后的函数其代码存储在连成一片的内存单元中,这些代码的第一个代码所在的内存地址,称为函数的入口地址,而函数名就代表了函数的入口地址。
( F )
5、c语言程序只能有一个文件。
( T )
6、在标准c中,语句是用来完成一定的操作的,故声明部份不是语句。
( T )
7、字符串"this" 大于字符串"that"
( T )
8、在定义函数时,若函数类型为" void",则表示该函数 没有返回值 ; 若函数参数为" void",则表示该函数 没有参数 。( )
( T )
9、在一个函数内部调用另一个函数的调用方式称为嵌套调用
( F )
10、int (*p)[4]它表示p是一个指针数组,它包含4个指针变量元素
三、填空题 (共5题,每题4分,共计20分)
1、字符读写函数____________是用于从磁盘文件中读出一个字符。
2、全局变量又称外部变量,是在函数______定义的变量。
3、程序的结果是:
#include<stdio.h>
void main()
{
int i,j,x=0;
for(i=0;i<2;i++)
{
x++;
for(j=0;j<=3;j++)
{
if(j%2) continue;
x++;
}
x++;
}
printf("x=%d",x);
}
4、c语言中字符()以存在计算机中,整数以()储存在计算机中
5、在C语言中,以______作为字符串结束标志。
四、程序分析题 (共4题,每题5分,共计20分)
1、已知字母a的ascii码为65。以下程序运行后的输出结果是 ________ 。
main()
{
char a, b;
a='a'+'5'-'3';
b=a+'6'-'2' ;
printf("%d %c\n", a, b);
}
2、以下程序运行后的输出结果是 ________ 。
char *ss(char *s)
{
char *p, t;
p=s+1;
t=*s;
while(*p)
{
*(p-1) = *p;
p++;
}
*(p-1)=t;
return s;
}
main()
{
char *p, str[10]="abcdefgh";
p = ss(str) ;
printf("%s\n",p);
}
3、下列程序段的运行结果是________。
main( )
{
int a=5,b=6,c;
int max(int,int);
c=max(a,b);
printf("%d\n",c);
}
int max( int x , int y )
{
int z;
if(x>y) z=x;
else z=y;
return z ;
}
4、下列给定程序中,函数ptoc()的功能是:利用插入排序法对字符串中的字符按从小到大的顺序进行排序。插入法的基本方法是:先对字符串中的头两个元素进行排序,然后把第3个字符插入前两个字符中,插入后前3个字符依然有序;
再把第4个字符插入前三个字符中,待排序的字符串已 在主函数中赋予。 请添加合适的语句____________,使它能得出正确的结果。 注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。 试题程序:
#define M 80
void proc(char*arr)
{
int i,j,n;
char ch;
n=strlen(arr);
for(i=1;i<n;i++)
{
ch=arr[i];
j=i-1;
while(______________)
{
arr[j+1]=arr[j];
j--;
}
arr[j+1]=ch;
}
}
void main()
{
char a[M]="QWERTYUIOPASDFGHJKLMNBVCXZ";
printf("The original string:%s\n",a);
proc(a);
printf("The string after sortin9: %s\n\n",a);
}
五、编程题 (共3题,每题0分,共计50分)
1、输入某班30位学生的姓名及数学、英语成绩,计算每位学生的平均分然后输出平均分最高的学生的姓名及其数学和英语成绩,使用结构体实现.
2、打印楼梯,同时在楼梯上方打印两个笑脸。
3、编写程序,读一个在字母C和X之间的字符,打印出该字母在中间的相邻五个字母。如输入F,则输出DEFGH。
相关标签:
- C语言
- 中国戏曲学院
- 专升本