西华师范大学C语言程序设计专升本
本试卷为西华师范大学C语言程序设计专升本,题目包括:单项选择题,填空题,编程题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,结构体,程序题。
C语言程序设计专升本
一、单项选择题 (共20题,每题2分,共计40分)
( D )
1、语句:"printf("%d",(a=2)&&(b=-2));"的输出结果是________。
( A )
2、下列函数的类型是________。 fun(double x)
{
float y;
y=3*x-4;
return y;
}
( C )
3、设有数组定义:char array[]="student"; 则数组所占的存贮空间为________。
( B )
4、当调用函数时,实参是一个数组名,则向函数传送的是 _______ 。
( A )
5、下面关于形参与实参的说法,正确的是________。
( C )
6、若有以下函数首部int fun(double x[10],int *n)则下面针对此函数的函数声明语句中正确的是________。
( A )
7、下列描述说明正确的是________。
( D )
8、流程控制语句的基本控制结构有三种,其中不包括________。
( C )
9、若定义下列结构体,结构体变量p的出生年份赋值正确的语句是________。
struct st
{
int x;
int y;
int z;
}
struct worker
{
char name[20];
char sex;
struct st birth;
} p;
( B )
10、在c语言中,设有数组定义:char array[]="china"; 则数组array所占用的空间为________。
( B )
11、下列程序的输出结果是______。
main()
{
int i;
for(i=0;i<2;i++) add();
}
add()
{
int x=0;
static int y=0;
printf("%d,%d\n",x,y);
x++;
y=y+2;
}
( A )
12、有以下程序:
#include <stdio.h>
main()
{
int i=5;
do {
if(i%3==1)
if(i%5==2) {
printf("*%d", i);
break;
}
i++;
}
while(i!=0);
printf("\n");
}
程序的运行结果是________。
( D )
13、以下能正确定义数组并正确赋初值的选项是______。
( D )
14、在c语言程序中,注释部分从哪开始,到哪结束?()
( D )
15、设char s[10]= 〞abcde〞,t[ ]= 〞12345〞; 则s和t在内存中分配的字节数分别是________。
( C )
16、执行如下程序段,打印输出的内容是________。
#include <stdio.h>
void fun (intc, int *d)
{
c++;
(*d)++;
}
int main ( )
{
int a=5, b=9;
fun(a, &b);
printf("%d, %d",a, b);
return 0;
}
( B )
17、以下对枚举类型名的定义中正确的是________。
( A )
18、c语言的if语句中,用作判断的表达式为____
( D )
19、在宏定义#define PI 3.14159中,用宏名代替一个________。
( C )
20、如下说法不正确的是________。
二、填空题 (共10题,每题2分,共计20分)
1、已有定义:double *p; ,请写出完整的语句,利用malloc函数使p指向一个双精度型 的动态存储单元 ________ 。
2、以下函数sstrcat( )的功能是实现字符串的连接,即将t所指字符串复制到s所指字符串的尾部。例如:s所指字符串为abcd,t所指字符串为efgh,函数调用后s所指字符串为abcdefgh。请填空。
void sstrcat(char *s, char *t)
{
int n;
n= strlen(s);
while (*(s+n)= ________ )
{
s++;
t++;
}
}
3、在c语言中,一个char型数据在内存中占________个字节。
4、若有定义语句:int a=5;,则表达式a++的值是 ________ 。
5、下列程序段的运行结果是________。
main()
{
int i=1,s=0;
for( ; ; )
{
s=s+i ;
i++;
if(i>4) break ;
}
printf("%d\n",s);
}
6、下列程序的运行结果是: ________
#include <string.h>
char *ss(char *s)
{
return s+strlen(s)/2;
}
main( )
{
char *p,*str="abcdefgh";
p=ss(str);
printf("%s\n",p);
}
7、在c语言中,标识符是由( )、数字、下划线组成的。
8、从文件读入一行,读取字符包括空格,使用函数________。
9、在c 语言中的实型变量分为两种类型,它们是________和________。
10、下列给定程序中,函数proc()的功能是:读入一个字符串(长度<20),将该字符串中的所有字符按ascii码升序排序后输出。 例如,输入opdye,则应输出deopy。 请修改程序中的错误,使它能得到正确结果。 注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。 试题程序:
int proc(char str[])
{
char c;
unsigned i,j;
for(i=0;i<strlen(str)-1;i++)
for(j=i+1;j<strlen(str);j++)
if(str[i]>str[j])
{
c=str[j];
str[j]=str[i++];
str[i]=c;
}
}
void main()
{
char str[81];
system("cls");
printf("\nplease enter a character string:");
gets(str);
printf("\n\nbefore sorting:\n%s",str);
proc(str);
printf("\nafter sorting decendingly:\n %s",str);
}
三、编程题 (共3题,每题0分,共计40分)
1、编写程序:求元素个数为10的一维数组元素中的最大值和最小值。
2、通过函数调⽤实现:讲结构体数组中的三个元素按num成员进⾏升序排列。要求:
①数组元素依次赋初值为:{12,"sunny",89.1}、{8,"henry",73.5}、{21,"lucy",91.7}。
②结构体定义如下:struct s{int num;char name[30];float score;};
3、任意输一行字符串(包括空格),求其长度(不用strlen函数)。
相关标签:
- C语言
- 西华师范大学
- 专升本