成都中医药大学往年计算机C语言专升本测试卷

本试卷为成都中医药大学往年计算机C语言专升本测试卷,题目包括:单项选择题。

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

本卷包括如下题型:

一、单项选择题

计算机C语言专升本测试卷

一、单项选择题 (共50题,每题2分,共计100分)

(  B  )
1、c语言源程序名的后缀是________。
A、.exe
B、.C
C、.obj
D、.cp
(  A  )
2、下列运算符中优先级最高的算符是________。
A、!
B、%
C、-=
D、&&
(  D  )
3、若变量c为char类型,能正确判断出c为小写字母的表达式是________。
A、’a’<=c<=’z’
B、(c>=’a’) || (c<=’z’)
C、(‘a’<=c) and (‘z’>=c)
D、(c>=’a’) && (c<=’z’)
(  C  )
4、若有以下的说明和语句,则在执行for语句后,*(*(pt+1)+2)表示的数组元素是________。
int t[3][3],
*pt[3],k;
for(k=0;k<3;k++) pt[k]= &t[k][0];
A、t[2][0]
B、t[2][2]
C、t[1][2]
D、t[2][1]
(  B  )
5、将二进制数101101101111转换成十六进制数是________。
A、5557
B、B6F
C、7555
D、F6B
(  D  )
6、下列语句中符合c语言语法的赋值语句是________。
A、a=7+b+c=a+7;
B、a=7+b++=a+7;
C、a=7+b,b++,a+7
D、a=7+b,c=a+7;
(  B  )
7、若输入字符串:abcde<回车>,则以下while循环体将执行多少次。 while((ch=getchar())!='e') printf("*");
A、5
B、4
C、6
D、1
(  C  )
8、运行以下程序后,如果从键盘上输入:65 14<回车>,则输出结果为
main( )
{
int m,n;
printf("enter m,n:");
scanf("%d%d",&m,&n);
while (m!=n)
{
while (m>n) m-=n;
while (n>m) n-=m;
}
printf("m=%d\n",m);
}
A、m=3
B、m=2
C、m=1
D、m=0
(  D  )
9、下面程序的输出结果是________。
main( )
{
int x=10,y=10,i;
for(i=0;x>8;y=++i) printf("%d %d ",x--,y);
}
A、10 1 9 2
B、9 8 7 6
C、10 9 9 0
D、10 10 9 1
(  C  )
10、已定义c为字符型变量,则下列语句中正确的是________。
A、c='97';
B、c="97";
C、c=97;
D、c="a";
(  D  )
11、在c语言中对一维整型数组的正确定义为 。
A、int a(10);
B、int n=10,a[n];
C、int n;a[n];
D、#define N 10 int a[N];
(  C  )
12、以下叙述不正确的是: 。
A、在 C 程序中,语句之间必须要用分号 ";" 分隔
B、若 a 是实型变量, C 程序中 a=10 是正确的,因为实型变量中允许存放整型数
C、在 C 程序中,无论是整数还是实数都能正确无误地表示
D、在 C 程序中, % 是只能用于整数运算的运算符
(  C  )
13、以下关于数组的描述正确的是______。
A、数组的大小是固定的,但可以有不同的类型的数组元素。
B、数组的大小是可变的,但所有数组元素的类型必须相同。
C、数组的大小是固定的,但所有数组元素的类型必须相同。
D、数组的大小是可变的,但可以有不同的类型的数组元素。
(  D  )
14、以下能正确定义数组并正确赋初值的语句是______。
A、int n=5,b[n][n];
B、int a[1][2]={{1},{3}};
C、int c[2][]={{1,2},{3,4}}
D、int a[3][2]={{1,2},{3,4}}
(  D  )
15、下面程序段的运行结果是 _____________.
for(i=1;i<=5;)
printf("%d",i);
i++;
A、12345
B、1234
C、15
D、无限循环
(  D  )
16、下面程序输出的结果是 __________.
#include <stdio.h>
void main( )
{
int i,j,x=0;
static int a[6]={1,2,3,4,5,6};
for(i=0,j=1;i<5;++i,j++) x+=a[i]*a[j];
printf("%d\n",x);
}
A、数组 a 中首尾的对应元素的乘积
B、数组 a 中首尾的对应元素的乘积之和
C、数组 a 中相邻各元素的乘积
D、数组 a 中相邻各元素的乘积之和
(  C  )
17、若函数调用时参数为基本数据类型的变量 ( 俗称简单变量 ) ,以下叙述正确的是 __________.
A、实参与其对应的形参共占存储单元
B、只有当实参与对应的形参同名时才共占存储单元
C、实参与其对应的形参分别占用不同的存储单元
D、实参将数据传递给形参后,立即释放原先占用的存储单元
(  D  )
18、若有说明int a[3][4]; 则a数组元素的非法引用是________。
A、a[0][2*1]
B、a[1][3]
C、a[4-2][0]
D、a[0][4]
(  D  )
19、以下对文件型指针的定义,正确的是________。
A、file fp;
B、file *fp;
C、FILE fp;
D、FILE *fp;
(  B  )
20、一个c语言程序是由
A、一个主程序和若干子程序组成
B、函数组成
C、若干过程组成
D、若干子程序组成
(  C  )
21、若有以下函数首部int fun(double x[10],int *n)则下面针对此函数的函数声明语句中正确的是________。
A、int fun(double X,int *n);
B、int fun(double ,int);
C、int fun(double * X,int n);
D、int fun(double *int*);
(  C  )
22、设有如下定义:
struct sk
{
int n;
float x;
} data,*p;
若要使p指向data中的n域,正确的赋值语句是________。
A、p=&datn;
B、*p=datn;
C、p=(struct sk*)&datn;
D、p=(struct sk*)datn;
(  C  )
23、文件系统的主要目的是________。
A、实现虚拟存储管理
B、用以存储系统文档
C、提高存储空间的利用率
D、实现目录检索
(  A  )
24、以下变量x、y、z均为double类型且已正确赋值,不能正确表示数学式子x/(y*z)的c语言表达式是 ______ 。
A、x/y*z
B、x*(1/(y*z))
C、x/y*1/z
D、x/y/z
(  B  )
25、在传值调用中,要求________。
A、形参和实参类型任意,个数相等
B、形参和实参类型一致,个数相等
C、形参和实参类型一致,个数不等
D、形参和实参类型任意,个数任意。
(  D  )
26、算法一般都可以用哪几种控制结构组合而成( )
A、循环、分支、递归
B、顺序、循环、嵌套
C、循环、递归、选择
D、顺序、选择、循环
(  B  )
27、"not"属于________。
A、关系运算符
B、逻辑运算符
C、特殊运算符
D、标准运算符
(  A  )
28、下列选项中不属于c语言的数据类型是________。
A、复数型
B、逻辑型
C、双精度型
D、集合型
(  D  )
29、若采用双符号位判断溢出,当结果的符号位为11时,表示 (13) 。
A、结果为正溢出
B、结果正,无溢出
C、结果负溢出
D、结果为负,无溢出
(  C  )
30、以下关于结构化程序的说法中,正确的是________。
A、结构化程序由单入口、单出口和循环3种结构组成
B、结构化程序由顺序、单入口和单出口3种结构组成
C、结构化程序由顺序、循环和GOTO语句结构组成
D、结构化由顺序、循环、循环和分支3种结构组成
(  A  )
31、if语句的基本形式是:if(表达式)语句,以下关于"表达式"值的叙述中正确的是______。
A、可以是任意合法的数值
B、必须是整数值
C、必须是正数
D、必须是逻辑值
(  B  )
32、若题中各变量已正确定义并赋值,下面符合c语法的表达式是________。
A、a%=7.6;
B、a++,a=7+b+c
C、int(12.3)%4
D、a=c+b=a+7
(  A  )
33、若有以下程序
#include<stdio.h>
main() {
int a=6,b=0,c=0;
for(;a;) {
b+=a;
a-=++c;
}
printf("%d,%d,%d\n",a,b,c);
}
则程序的输出结果是______。
A、0,14,3
B、1,14,3
C、0,18,3
D、0,14,6
(  C  )
34、下面程序的输出结果是________。
main()
{
int num=0;
while(num<=2) {
num++;
printf("%d\n",num);
}
}
A、1
2
3
4
B、1
2
3
C、1
2
D、1
(  D  )
35、分析下列程序,其最终执行结果是______。
main()
{
int n[3],i,j,k;
for(i=0;i<3;i++)n[i]=o;
k=2;
for(i=0;i<k;i++) for(j=0;j<k;j++) n[j]=n[i]-1;
printf("%d\n",n[0]);
}
A、-2
B、-1
C、0
D、-3
(  D  )
36、有以下程序
#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  )
37、有以下程序:
main()
{
char str[]="xyz", *ps=str;
while(*ps) ps++;
for(ps--;ps-str>=o;ps--) puts(ps);
}
执行后的输出结果是________。
A、yz
xyz
B、z
yz
C、z
yz
xyz
D、x
xy
xyz
(  B  )
38、有以下程序
#include<stdio.h>
main()
{
char s[]="012xy\08s34f4w2";
int i, n=0;
for(i=0; s[i]!=0; i++) if(s[i]>='0'&&s[i]<='9') n++;
printf("%d\n", n);
}
程序运行后的输出结果是______。
A、0
B、3
C、7
D、8
(  D  )
39、请阅读程序:
#include<math.h>
#include<stdio.h>
main()
{
float a,b,c;
scanf("%f%f",&a,&b);
c=a/b;
while(1) {
if(fabs(c)>1.6) {
a=b;
b=c;
c=a/b;
}
else break;
}
printf("%f\n",b);
}
若运行时从键盘上输入3.6 2.4<回车>,则输出结果是______。
A、1.500000
B、1.600000
C、2.000000
D、2.400000
(  C  )
40、下面程序段的执行结果是________。
#include<stdio.h>
main()
{
int a[5][5],i,j;
for(i=1;i<5;i++) for(j=1;j<5;j++) a[i][j]=(i<j)*(j/i);
for(i=1;i<5;i++) {
for(j=1;j<5;j++) printf("%2d",a[i][j]);
printf("\n");
}
}
A、1111
1111
1111
1111
B、0001
0010
0100
1000
C、0234
0012
0001
0000
D、0000
0000
0000
0000
(  D  )
41、下面关于数组的初始化正确的是________。
A、chara[]='a','b','c'
B、chara[2]='a','b','c'
C、chara[2][3]='a','b','e','d','e','f'
D、chara[]="a","b","c"
(  C  )
42、\、/、mod、*等4个算术运算符中,优先级最低的是________。
A、\
B、/
C、Mod
D、*
(  D  )
43、以下程序结果为:______。
void add( )
{
static int y=1;
y++;
printf("%d",y);
}
main( )
{
int m;
for(m=0;m<4;m++)add( );
}
A、1234
B、2222
C、1111
D、2345
(  D  )
44、设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=3则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为______。
A、0
B、1
C、2
D、3
(  C  )
45、在c语言中,( )
A、函数的定义可以嵌套,但函数的调用不可以嵌套
B、函数的定义和调用均不可以嵌套
C、函数的定义不可以嵌套,但函数的调用可以嵌套
D、函数的定义和调用均可以嵌套
(  C  )
46、有定义:char **p1,*p2;
则下列表达式中正确合理的是________。
A、p1/=5
B、p1*=p2
C、p1=&p2
D、p1+=5
(  A  )
47、当定义一个结构体变量时,系统分配给它的内存是________。
A、各成员所需内存量的总和
B、结构中第一个成员所需内存量
C、结构中最后一个成员所需内存量
D、成员中占内存量最大者所需的容量
(  B  )
48、为了避免在嵌套的条件语句if-else 中产生二义性,c 语言规定: else子句总是与配对________。
A、缩排位臵相同的if
B、其之前最近的没有else配对的if
C、其之后最近的if
D、同一行上的if
(  C  )
49、c 语言提供的基本数据类型关键字是________。
A、integer
B、FLOAT
C、unsigned
D、Double
(  A  )
50、C语言中,char 类型数据占()。
A、1 个字节
B、2 个字节
C、4 个字节
D、8 个字节