沈阳师范大学往年C语言专升本练习

本试卷为沈阳师范大学往年C语言专升本练习,题目包括:单项选择题,判断题,填空题,程序分析题,编程题。

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

C语言专升本练习

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

(  B  )
1、c语言中,下列不合法的字符串常量是________。
A、”\121”
B、'y='
C、”\n\n”
D、”ABCD\x6d”
(  A  )
2、若有定义:int x,*pb;则正确的赋值表达式是________。
A、pb=&X
B、pb=X
C、*pb=&x
D、*pb=*x
(  C  )
3、以下程序段________. x=-1;
do
{
x=x*x;
}
while(!x);
A、是死循环
B、循环执行二次
C、循环执行一次
D、有语法错误
(  B  )
4、有以下程序
main( )
{
int x=0,y=5,z=3;
while(z-->0&&++x<5) y=y-1;
printf("%d,%d,%d\n",x,y,z);
}
程序执行后的输出结果是________。
A、3,2,0
B、3,2,-1
C、4,3,-1
D、5,-2,-5
(  C  )
5、若有定义语句:int a[2][3],*p[3]; 则以下语句中正确的是________。
A、p=a;
B、p[0]=a;
C、p[0]=&a[1][2];
D、p[I]=&a;
(  A  )
6、变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是11110000。若要求将a的高4位取反,低4位不变,所要执行的运算是________。
A、a^b
B、a|b
C、a&b
D、a<<4
(  B  )
7、以下运算符中优先级最高的运算符为________。
A、&&
B、!
C、!=
D、||
(  A  )
8、下面不是c语言整型常量的是________。
A、081
B、01
C、-32768
D、0x81
(  D  )
9、若有以下说明和语句: int c[4][5],(*p)[5]; p=c; 能够正确引用c数组元素的是________。
A、p+l
B、*(p+3)
C、*(p+1)+3
D、*(p[0]+2)
(  D  )
10、设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+ b/b的值是________。
A、6.500000
B、6
C、5.500000
D、6.000000
(  A  )
11、对以下定义的表述中,正确的是________
struct node
{
int num;
char name[10];
}
stud;
A、stud是一个结构体变量
B、stud是一个结构体类型
C、node是一个结构体数据
D、node是一个结构体变量
(  B  )
12、有以下程序
#include<stdio.h>
main()
{
int a=1,b=2;
while(a<6)
{
b+=a;
a+=2;
b%=10;
}
printf("%d,%d\n",a,b);
}
程序运行后的输出结果是________。
A、5,11
B、7,1
C、7,11
D、6,1
(  B  )
13、若有定义语句:char s[10]="1234567\0\0"; 则strlen(s)的值是________。
A、7
B、8
C、9
D、10
(  A  )
14、有以下程序
#include<string.h>
main()
{
char p[]={'a','b','c'},q[10]={'a','b','c'};
printf("%d%d\n",strlen(p),strlen(q));
}
以下叙述中正确的是________。
A、在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3
B、由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3
C、由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3
D、由于p和q数组中都没有字符串结束符,故长度都不能确定
(  D  )
15、二进制数010110101转换错误的为:
A、转换为八进制为265
B、转换为十六进制为0xB5
C、转换为十进制为奇数
D、转换为十进制数为偶数
(  C  )
16、以下二维数组c 的定义形式是________。
A、int c [3][]
B、float c [ 3,4]
C、double c [3][ 4]
D、float c 3)4)
(  B  )
17、假定所有变量均已正确定义,下列程序段运行后x的值是________。
k1=1;
k2=2;
k3=3;
x=15;
if(!k1) x--;
else if(k2) x=4;
else x=3;
A、14
B、4
C、15
D、3
(  B  )
18、相同结构体类型的变量之间,可以________。
A、相加
B、赋值
C、比较大小
D、地址相同
(  D  )
19、指针变量 p 进行自加运算(即 执行 p++;)后,地址偏移值为 1,则其数据类型为()。
A、int
B、float
C、double
D、char
(  A  )
20、执行下面程序后,输出结果是()。
main()
{ a=45,b=27,c=0;
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);
}
A、45
B、27
C、18
D、72

二、判断题 (共10题,每题2分,共计20分)

(   T  )
1、字符串"that"小于字符串"the"。( ) 
(   T  )
2、变量的值保存在内存单元上,是可以被改变的。() 
(   T  )
3、数组初始化的常见方式有三种:直接对数组中的所有元素赋值、只对数组中的一部分元素赋值、对数组全部元素赋值但不指定长度。 
(   T  )
4、当多个函数发生多层嵌套调用时,最后被调用的函数却最先结束。 
(   T  )
5、在c语言中函数不可以嵌套定义,但可以嵌套调用。 
(   T  )
6、在switch语句中,多个case可以共用一组执行语句。 
(   F  )
7、用数组名作函数参数时,数组中的元素可以发生变化,故违反了函数参数传递的单向性。 
(   T  )
8、宏定义和文件包含都是c语言中的编译预处理命令,对它们的处理是在编译前完成的 
(   T  )
9、do-while 语句构成的循环至少执行一次 
(   T  )
10、函数名代表该函数的入口地址。因此,可用函数名给指向函数的指针变量赋值 

三、填空题 (共5题,每题4分,共计20分)

1、c语言的预处理语句以 ________ 开头。
2、有定义char str[]={‘d’,’o’,’g’,’\0’};
若执行puts(str);
则输出结果为________。
3、字符读写函数____________是用于从磁盘文件中读出一个字符。
4、结构化程序设计的3种基本结构是:顺序结构、_______结构、循环结构,这三种基本结构构成了复杂的c语言程序。
5、在c语言中,如果采用printf函数将整个字符串一次输出,那么对应的格式控制符为"( )"。

四、程序分析题 (共4题,每题5分,共计20分)

1、以下程序的功能是输入任意整数给n后,输出n行由大写字母a开始构成的三角形字符阵列图形。例如,输入整数5时(注意:n不得大于10),程序运行结果如下: a b c d e f g h i j k l m n o 请填空完成该程序。
main()
{
int i,j,n;
char ch=′a′;
scanf("%d",&n);
if(n<11)
{
for(i=1;i<=n;i++)
{
for(j=1; j<=n-i+1;j++)
{
printf("%2c",ch);
________;
}
________;
}
}
else printf("n is too large!\n") printf("\n");
}
2、有以下程序
#include < stdio.h >
main()
{
int m,n;
scanf("%d%d",&m,&n);
while (m!=n)
{
while(m>n) m=m-n;
while(m<n)n=n-m;
}
printf("%d\n",m);
}
程序运行后,当输入14 63<回车>时,输出结果是________。
3、已知char str[]="student",则strlen(str)的值为________。
4、以下程序的运行结果是________。
#include <stdio.h>
main()
{
int x, y = -2, z = 0;
if ((z = y) < 0) x = 4;
else if (y == 0) x = 5;
else x = 6;
printf("\t%d\t%d\n", x, z);
if (z = (y == 0)) x = 5;
x = 4;
printf("\t%d\t%d\n", x, z);
if (x = z = y) x = 4;
printf("\t%d\t%d\n", x, z);
}

五、编程题 (共3题,每题0分,共计50分)

1、编写程序:编写input()和output()函数输入,输出5个学生的数据记录。
2、判断某个数是否为素数.
3、任意输一行字符串(包括空格),求其长度(不用strlen函数)。
相关标签:
  • C语言
  • 沈阳师范大学
  • 专升本练习