南京体育学院往年C语言专升本

本试卷为南京体育学院往年C语言专升本,题目包括:单项选择题。

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

本卷包括如下题型:

一、单项选择题

C语言专升本

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

(  C  )
1、下列标识符不是关键字的是________。
A、break
B、char
C、Swith
D、return
(  D  )
2、三种基本结构中,能简化大量程序代码的是________。
A、顺序结构
B、分支结构
C、选择结构
D、重复结构
(  C  )
3、若有以下的说明和语句,则在执行for语句后,*(*(pt+1)+2)表示的数组元素是________。
int[3][3],*pt[3],k;
for(k=0;k<3;k++)
pt[k]-&t[k][0];
A、t[2]Eo]
B、t[2][2]
C、tell[2]
D、t[2][1]
(  A  )
4、合法的八进制数是________。
A、0
B、028
C、-077
D、01.0
(  C  )
5、以下函数的功能是:求x的y次方,请填空。
main( )
{
int i,x,y;
double z;
scanf("%d %d",&x,&y);
for(i=1,z=x;i<y;i++) z=z*________ ;
printf("x^y=%e\n",z);
}
A、i++
B、x++
C、x
D、i
(  D  )
6、下面程序的运行结果是________。
main( )
{
int a,b;
a=-1;
b=0;
do
{
++a;
++a;
b+=a;
}
while(a<9);
printf("%d\n",b);
}
A、34
B、24
C、26
D、25
(  D  )
7、以下程序运行后的输出结果是________。
#include <stdio.h>
main( )
{
int s=0,k;
for(k=7;k>=0;k--)
{
switch(k)
{
case 1: case 4: case 7: s++;
break;
case 2: case 3: case 6: break;
case 0: case 5: s+=2;
break;
}
}
printf("s=%d\n",s);
}
A、s=5
B、s=1
C、s=3
D、s=7
(  C  )
8、有以下程序
main()
{
char *p[]={"3697","2584"};
int i,j;
long num=0;
for(i=0;i<2;i++)
{
j=0;
while(p[i][j]!=′\0′)
{
if((p[i][j]-′0′)%2)num=10*num+p[i][j]-′0′;
j+=2;
}
}
printf("%d\n",num);
}
程序执行后的输出结果是________。
A、35
B、37
C、39
D、3975
(  D  )
9、在下列选项中 , 不正确的赋值语句是 __________.
A、++t;
B、n1=(n2=(n3=0));
C、k=i=j;
D、a=b+c=1;
(  D  )
10、以下程序输出结果是 ____________.
#include <stdio.h>
void main( )
{
int m=4;
if (++m>5) printf("%d\n",m--);
else printf("%d\n",--m);
}
A、7
B、6
C、5
D、4
(  C  )
11、下面程序段的输出结果是 __________.
x=3;
do
{
y=x--;
if (!y)
{
printf("*");
continue;
}
printf("#");
}
while(x=2);
A、##
B、##*
C、死循环
D、输出错误信息
(  B  )
12、在以下叙述中,不正确的选项是 __________ 。
A、C 语言程序总是从 main( ) 函数开始执行
B、在 C 语言程序中,被调用的函数必须在 main( ) 函数中定义
C、C 程序是函数的集合,在这个函数集中包括标准函数和用户自定义函数
D、在 C 语言程序中,函数的定义不能嵌套,但函数的调用可以嵌套
(  A  )
13、设n=886,m=345,k='m+n',表达式1+&k的值是_______。
A、1232
B、数据类型不匹配
C、1+M+N
D、346
(  A  )
14、下面关于形参与实参的说法,正确的是________。
A、形参与实参的个数、类型、顺序都应一一对应
B、形参与实参的个数可以不必相同,少一个多一个程序一样执行
C、形参与实参的类型可以不同,不影响运算结果
D、形参与实参的类型个数相同,而顺序不同,计算机可以自动进行匹配,所以形参的顺序无所谓,只要各种形参类型的数量与实参相同即可
(  D  )
15、数据的存储结构是指________。
A、存储在外存中的数据
B、数据所占的存储空间量
C、数据在计算机中的顺序存储方式
D、数据的逻辑结构在计算机中的表示
(  A  )
16、以下不构成无限循环的语句或语句组是______。
A、n=0;
do
++n;
while(n<=0);
B、n=0;
while(1)
n++;
C、n=10;
while(n);
n--;
D、for(n=0,i=1;;i++)
n+=i;
(  D  )
17、在c 语言程序中,在函数内部定义的变量称为________。
A、全局变量
B、外部变量
C、全程变量
D、内部变量
(  B  )
18、在位运算中,操作数每右移一位,其结果相当于( )
A、操作数乘以2
B、操作数除以2
C、操作数除以16
D、操作数乘以16
(  C  )
19、有定义语句:int*p[4]; 以下选项中与此语句等价的是________。
A、int p[4];
B、int **p;
C、int*(p[4]);
D、int(*p)[4];
(  A  )
20、c语言的基本数据类型包括________。
A、字符型和数值型
B、字符型和逻辑型
C、整型和实型
D、指针型和数据型
(  C  )
21、有以下程序
main()
{
int i;
for(i=1;i<=40;i++)
{
if(i++%5==0) if(++i%8==0) pfintf("%d",i);
}
printf("\n");
}
执行后的输出结果是________。
A、5
B、24
C、32
D、40
(  A  )
22、有以下程序:
main()
{
int a[]={1,2,3,4,5,6,7,8,9,0},*p;
for(p=a;p<a+10,p++)printf("%d,",*p);
}
程序运行后的输出结果是________。
A、1,234,5,6,7,8,9,0,
B、2,3,4,5,6,7,8,9,10,1,
C、01,23,4,5,6,7,8,9,
D、1,1,1,1,1,1,1,1,1,1,
(  B  )
23、有以下程序:
struct stu
{
char num[10];
float score[3];
};
main()
{
struct stu s[3]={{"20021",90,95,85}, {"20022",95,80,75}, {"20023",100,95,90}},*p=s;
int i;
float sum=0;
for(i=0;i<3;i++ ){
sum=sum+p->score[i];
}
printf("%6.2f\n",sum);
}
程序运行后的输出结果是________。
A、260
B、270
C、280
D、285
(  B  )
24、设c1,c2均是char类型变量,则不正确的函数调用为______。
A、printf("%c,%c,",c1,c2)
B、getchar(c1)
C、putchar('\')
D、putchar(c1)
(  A  )
25、设有定义:char*c; 以下选项中能够使字符型指针c正确指向一个字符串的是________。
A、charstr[]="string";c=str;
B、scanf("%s",c);
C、c=getchar();
D、char str[]="string";strcpy("C,str")
(  B  )
26、以下关系表达式中,其值为true的是________。
A、"XYZ">"XYz"
B、"VisualBasic"<>"visualbasie"
C、"the"="there"
D、"Integer"<"Int\
(  D  )
27、以下能正确定义数组并正确赋初值的选项是______。
A、int N=5,a[N][N];
B、int b[1][2]={{1},{2}};
C、int c[2][]={{1,2},{3,4}};
D、int d[3][2]={{1,2},{3,4}};
(  A  )
28、若已有定义语句:inta,b, c; 且变量已正确赋初值,则以下选项中正确的赋值语句是________。
A、a = (b = c) + 8;
B、(a = b) = c = 9;
C、a = (b == c) = 'A';
D、a + b = c + 1;
(  A  )
29、c 语言中的基本数据类型包括
A、整型、实型、字符型
B、整型、字符型、数组
C、整型、实型、逻辑型
D、整型、实型、结构体
(  C  )
30、关于二进制,下列描述错误的是________。
A、二进制数由数字0和1表示
B、一个二进制数字0和1表示一位,八位为一个字节
C、由于二进制由数值较小的0和1表示,所以只能表示一部分数据
D、二进制与十进制相互转换,不改变值的大小
(  C  )
31、下面程序的输出结果为________。
struct st
{
int x;
int *y;
}
*p;
int dt[4]={10,20,30,40};
struct st aa[4]={50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]};
void main()
{
p=aa;
printf("%d ", ++p->x);
printf("%d ", (++p)->x);
printf("%d ", ++(*p->y));
}
A、10 20 20
B、50 60 21
C、51 60 21
D、60 70 31
(  C  )
32、c语言中下面哪个不是条件语句?
A、if
B、if else
C、NSLog
D、switch
(  D  )
33、关于数组的定义与初始化,下列哪一项是错误的( )
A、int arr[5] = {1,2,3,4,5};
B、int arr[] = {1,2,3,4,5};
C、int arr[5] = { 1,2,3};
D、int arr[5] = {1,2,3,4,5,6};
(  B  )
34、设ch是char型变量,其值为c,且有下面的表达式ch=(ch>='a'&&ch<='z')?(ch+32):ch上面表达式的值是______。
A、C
B、c
C、Z
D、z
(  A  )
35、下面程序
main()
{
int x=100, a=10, b=20, ok1=5, ok2=0;
if(a<b)if(b!=15)if(!ok1) x=1;
else if(ok2) x=10;
x=-1;
printf("%d\n",x);
}
的输出是______。
A、-1
B、10
C、1
D、不确定的值
(  B  )
36、对于代码 char c1[8];
scanf("%s",c1);
printf("\n%s",c1);
在程序运行时,输入了"this pretty boy",则对应的运行输出显示结果是________。
A、this pre
B、this
C、this pretty boy
D、数组越界,不能显示
(  A  )
37、已知x=43,ch='a',y=0; 则表达式x=y&& ch<'b'&&!y的值是________。
A、0
B、语法错
C、1
D、"假"
(  B  )
38、程序必须在有限的步骤、有限的时间内执行完毕,指的是算法的( )特点
A、确定性
B、有穷性
C、可行性
D、输入
(  B  )
39、若有以下定义语句char c1=’b’, c2=’e’;
printf("%d,%c\n",c2-c1,c2-‘a’+’a’);
则输出结果是________。
A、2,M
B、3,E
C、2,E
D、输出项与相应的格式控制不一致,输出结果不确定
(  C  )
40、如下程序段运行输出的结果为________。 int a=5,b=6,c; c=++a+b--; printf("%d,%d,%d%\n",a,b,c);
A、5,6,11
B、6,5,11
C、6,5,12
D、6,6,12
(  C  )
41、下面说法正确的是________。
A、任何包含数学运算的函数都只能使用单一的基本结构
B、每个 C 语言程序 MAIN()必须定义函数,否则编译失败
C、无论什么样的复杂算法,都可以使用三种基本结构来实现
D、只要程序是使用基本结构编写的,就不会出现算法错误
(  B  )
42、若有定义语句:double x[5]= {1.0,2.0,3.0,4.0,5.0 }, *p=x;
则错误引用x数组元素的是______。
A、*p
B、x[5]
C、*(p+1)
D、*x
(  B  )
43、关于建立函数的目的,以下正确的说法是________。
A、提高程序的执行效率
B、提高程序的可读性
C、减少程序的篇幅
D、减少程序文件所占内存
(  B  )
44、下列数据中属于"字符串常量"的是________。
A、ABC
B、"ABC"
C、'ABC'
D、'A'
(  A  )
45、下面叙述中错误的是________。
A、主函数中定义的变量在整个程序中都是有效的
B、在其它函数中定义的变量在主函数中也不能使用
C、形式参数也是局部变量
D、复合语句中定义的函数只在该复合语句中有效
(  B  )
46、有语句char str1[10],str2[10]={"china"};
则能将字符串china赋给数组str1的正确语句是________。
A、str1={"china"};
B、strcpy(str1,str2);
C、str1=str2;
D、strcpy(str2,str1);
(  B  )
47、以下不合法的用户自定义标识符是________。
A、max
B、3_min
C、a1
D、_110
(  C  )
48、下列说法正确的是________ 。
A、在执行C 程序时不是从main 函数开始的
B、C 程序书写格式严格限制,一行内必须写一个语句
C、C 程序书写格式自由,一个语句可以分写在多行上
D、C 程序书写格式严格限制,一行内必须写一个语句,并要有行号
(  B  )
49、C语言函数内定义的局部变量的隐含存储类别是
A、static
B、auto
C、register
D、extern
(  A  )
50、以下叙述中错误的是____
A、用户所定义的标识符允许使用关键字
B、用户所定义的标识符应尽量做到"见名识意"
C、用户所定义的标识符中,大、小写字母代表不同标识
D、用户所定义的标识符必须以字母或下划线开头