大理大学往年计算机C语言专升本复习题

本试卷为大理大学往年计算机C语言专升本复习题,题目包括:单项选择题,填空题,编程题。

覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,结构体,程序题。

计算机C语言专升本复习题

一、单项选择题 (共20题,每题2分,共计40分)

(  C  )
1、若有以下说明,则( )不是对strcpy库函数正确的调用。 strcpy库函数用于复制一个字符串:char*str1=="abed", strz[10],*str3="hijklmn",*str4[-2],*str5="aaaa";
A、strcpy(str2,str1)
B、strcpy(str3,slr1)
C、strcpy(str1,str2)
D、strcpy(str5,str1)
(  C  )
2、avg功能是求整形数组中的前若干个元素的平均值,设数组元素个数最多不超过则下列函数说明语句错误的是________。
A、int avg(int*a,int n);
B、int avg(int a[lO],int n);
C、int avg(int a,int n);
D、int avg(int a[],int n);
(  A  )
3、下面程序段执行结果是________。 int i=5; printf("%d,%d,%d", i,(++i)+(++i)+(i++),i);
A、8,20,5
B、8,21,5
C、5,20,8
D、5,21,8
(  B  )
4、以下能正确定义一维数组的选项是________。
A、int a[5]={
0,1,2,3,4,5};
B、char a[]={
1,2,3,4,5,6};
C、char a={'s','d','k'};
D、int a[5]="0123";
(  C  )
5、在函数中默认存储类型说明符的变量应该是________存储类型。
A、内部静态
B、外部
C、自动
D、寄存器
(  B  )
6、下列选项中均属于c语言合法的标识符是________。
A、Int
#sub
break
B、_3ab
FOR
Long
C、3a
printf
a_b
D、WORD
auto
include
(  B  )
7、在一个应用程序中有如下定义:int a[]= {1,2,3,4,5,6,7,8,9,10 },为了打印输出数组a的最后一个元素,下面正确的代码是________。
A、printf("%d",a[10];)
B、printf("%d",a[9]);
C、printf("%d",a[a.length]);
D、printf("%d",a[8]);
(  C  )
8、以下对结构体类型变量的定义中,不正确的是________。
A、typedef struct aa {
int n;
float m;
} AA;
AA tdl;
B、#define AA struct aa AA{
int n;
float m;
} tdl;
C、struct {
int n;
float m;
} aa;
struct aa tdl;
D、struct {
int n;
float m,
} tdl;
(  B  )
9、下列程序段执行后的输出结果为 int x=3; int y=10; printf("%d",y%x);
A、0
B、1
C、2
D、3
(  B  )
10、有以下定义和语句:
struct students {
int num;
char name[20];
char c;
struct {
int grade1;
int grade2;
} s;
};
struct students w,*pw;
*pw=w;
下列赋值语句不正确的是________。
A、num=1002;
B、w.grade1=85;
C、pw->num=1002;
D、w.s.grade2=85;
(  A  )
11、已知英文字母m的ascii码值为109,那么英文字母p的ascii码值是________。
A、112
B、113
C、111
D、114
(  B  )
12、现代计算机中采用二进制数制是因为二进制数的优点是______。
A、代码表示简短,易读
B、物理上容易实现且简单可靠;运算规则简单;适合逻辑运算
C、容易阅读,不易出错
D、只有0,1两个符号,容易书写
(  C  )
13、设有如下说明
typedef struct st
{
long a;
int b;
char c[2];
}
new;
则下面叙述中正确的是______。
A、以上的说明形式非法
B、ST 是一个结构体类型
C、NEW 是一个结构体类型
D、NEW 是一个结构体变量
(  C  )
14、下列程序的输出结果是________。
main ()
{
int a = 4, b = 5, c;
if (a < b)
{
c = a * b;
printf ("%d,%d,%d\n", b, a, c);
}
else
{
c = b / a;
printf ("%d,%d,%d\n", b, a, c);
}
}
A、4,5,12
B、20
C、5,4,20
D、12
(  D  )
15、有以下程序
#include <stdio.h>
main()
{
int i,j;
for(i=3;i>=-1;i-)
{
for(i=1;j<=2;j++) printf("%d",i+j);
printf("\n");
}
}
程序的运行结果是______。
A、234 345
B、432 543
C、23 34 45
D、45 34 23
(  C  )
16、下面各语句行中,能正确进行给字符串赋值操作的语句行是______。
A、char st[4][5]={"ABCDE"};
B、char s[5]={'A','B','C','D','E'};
C、char *s="ABCDE";
D、char *s; scanf("%s",*s);
(  B  )
17、已知字母a的ascii码为十进制数65,且ch为字符型变量,则执行语句ch='a'+'6'-'3'; 后,ch中的值为__。
A、D
B、68
C、C
D、不确定
(  A  )
18、定义变量 int a; ,则表达式 a = 3, 5;  执行过后,a的值和表达式的值分别是________。
A、3 , 5
B、5 , 3
C、3 , 3
D、5 , 5
(  D  )
19、巳知字母a 的ascii 码是65,以下程序的执行结果是________。
main()
{
char c1='a',c2='y';
printf("%d,%d\n",c1,c2);
}
A、A,Y
B、65,65
C、65,90
D、65,89
(  A  )
20、若使用一维数组名作函数实参,则以下正确的说法是________。
A、必须在主调函数中说明此数组的大小
B、实参数组类型与形参数组类型可以不匹配
C、在被调用函数中,不需要考虑形参数组的大小
D、实参数组名与形参数组名必须一致

二、填空题 (共10题,每题2分,共计20分)

1、若i为整型变量,且i%2==0的值为1,则变量i为________数。
2、以下函数值的类型是【1】。
fun (float x)
{
float y;
y= 3*x-4;
return y;
}
3、下列程序段的运行结果是________。
main()
{
int n,s=0 ;
for(n=1; n<=5; n++)
{
if(n%2==0) continue;
s=s+n;
}
printf("%d\n", s);
}
4、开发一个c程序要经过编辑、编译、()和运行4个步骤、
5、下列程序段的运行结果是_____。
#define sub(x , y) x-y
main( )
{
int a , b , s;
A=5, b=6;
S=sub(a,b);
printf("s=%d\n" , s);
}
6、下列程序段的运行结果是________。
void fun()
{
int a=3;
}
main()
{
int a=1;
fun(- );
printf("a=%d",a);
}
7、#include <stdio.h>
void main()
{
int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;
for (i=1;i<3;i++) for (j=0;j<i;j++) s+=a[i][j];
printf("%d\n",s);
}
8、|x|<10,写作程序为
9、函数del 的作用是删除有序数组a 中的指定元素x。已有调用语句n=del(a,n,x);
其中实参n 为删除数组元素的个数,赋值号左边的n 为删除后数组元素的个数。请填空。del(int a[],int n,int x)
{
int p,i;
p=0;
while (x>=a[p]&&p<n)【1】________;
for(i=p-1;i<n;i++)【2】________;
n=n-1;
return n;
}
10、赋值语句是由______加上一个分号构成。

三、编程题 (共3题,每题0分,共计40分)

1、编写程序:实现求1-1000之间的所有奇数的和并输出。
2、编写input()和output()函数,输入输出5个学生记录,每个记录包括num、name、score[3],使用结构体实现。
3、用空格或换行分开的字符串称为单词。输入多行字符串,直到遇到了单词 "stop" 时才停止。最后输出单词的数量。用于分割单词的空格或换行可能多于1个。单词数量不包括"stop" 。