河南中医药大学2022年C语言专升本题库

本试卷为河南中医药大学2022年C语言专升本题库,题目包括:单项选择题,判断题,填空题,程序分析题,编程题。

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

C语言专升本题库

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

(  D  )
1、若有定义:int c[4][5],(*cp)[5]; 和语句cp=c; ,则能正确引用c数组元素的是________。
A、cp+1
B、*(cp+3)
C、*(cp+1)+3
D、*(*cp+2)
(  B  )
2、以下能正确定义二维数组的是________。
A、int a[][3];
B、int a[][3]={2*3};
C、int a[][3]={};
D、int a[2][3]={{1},{2},{3,4}};
(  B  )
3、已知有如下结构体:
struct sk
{
int a;
float b;
}
data,*p;
若有p = &data,则对data的成员a引用正确的是________。
A、(*p).data.a
B、(*p).a;
C、p->data.a
D、P.data.a
(  C  )
4、下列程序的运行结果是________。
main()
{
int a=2,b=3,c=4;
if(a<b) if(b<0)c=0; else c++;
printf("%d\n",c);
}
A、2
B、3
C、5
D、4
(  D  )
5、下列判断正确的是________。
A、char a="ABCD":等价于char*a;*a="ABCD":
B、char str[10]={"ABCD"}:等价于char str[10];str []={"ABCD"};
C、char*s="ABCD":等价于char s;*s="ABCD";
D、char c[5]="ABCD",d[5]="ABCD":等价于char c [5]-d[5]="ABCD";
(  B  )
6、下述 for 循环语句 。
int i,k;
for(i=0,k=-1;k=1;i++,k++)
printf("* * * *");
A、判断循环结束的条件非法
B、是无限循环
C、只循环一次
D、一次也不循环
(  A  )
7、以下程序段运行结果是 __________. int x=1,y=1,z=-1; x+=y+=z; printf("%d\n",x<y?y:x);
A、1
B、2
C、4
D、不确定的值
(  C  )
8、下面程序段中 , 循环体的执行次数是 ___________.
int a=10,b=0;
do
{
b+=2;
a-=2+b;
}
while(a>=0);
A、4
B、5
C、3
D、2
(  B  )
9、若有定义语句:int x=12,y=8,z; 在其后执行语句z=0.9+x/y; 则z的值为___________。
A、1.9
B、1
C、2
D、2.4
(  A  )
10、if语句的基本形式为:if(表达式)语句,其中"表达式"________。
A、可以是任意合法的表达式
B、必须是逻辑表达式
C、必须是逻辑表达式或关系表达式
D、必须是关系表达式
(  B  )
11、在函数调用过程中,如果函数funa调用了函数funb,函数funb又调用了函数funa,则 ________。
A、称为函数的直接递归调用
B、称为函数的间接递归调用
C、称为函数的循环调用
D、C语言中不允许这样的递归调用
(  A  )
12、下列四个不同数制表示的数中,数值最大的是________。
A、二进制数11011101
B、八进制数334
C、十进制数219
D、十六进制数DA
(  C  )
13、设有以下语句:
typedef struct tt { char c; int a[4]; } cin; 则下面叙述中正确的是________。
A、可以用TT定义结构体变量
B、TT是struct类型的变量
C、可以用CIN定义结构体变量
D、CIN是struct TT类型的变量
(  D  )
14、若下列选项中的各变量均为整型且已有值,其中不正确的赋值语句是________。
A、++i;
B、n1=(n2/(n3=2));
C、k=i=j;
D、a=b+c=2;
(  D  )
15、以下正确的字符串常量是________。
A、"\\\"
B、'abc'
C、Olympic Games
D、""
(  C  )
16、列关于计算机中数的表示的叙述中,错误的是________。
A、正整数无论采用原码、反码或补码表示,其编码都相同
B、实数的浮点表示法由指数和尾数(含符号位)两部分组成
C、实数都能用浮点形式精确表示
D、整数也能用浮点数形式表示
(  B  )
17、有以下程序: int*f(int*x,int*y)
{
if(*x<*y) return x;
else return y;
}
main()
{
int a=7,b=8,*p,*q,*r;
p=&a;
q=&b;
r=f(p,q);
print("% d,% d,% d\n",*p,*q,*r);
}
执行后的输出结果是 ______。
A、7,8,8
B、7,8,7
C、8,7,7
D、8,7,8
(  C  )
18、若给定条件表达式(m)?(a++):(a--)则下列选项中和表达式m等价的是________。
A、(M==0)
B、(M==1)
C、(M!=0)
D、(M!=1)
(  A  )
19、下面说法正确的是________。
A、char *x,y,**str 同时定义了三个变量,符合语法规范
B、数组说明符的一对方括号中只能使用常量数值
C、单精度浮点值也可以作为数组下标
D、若有定义 float arr[2]则 printf("%2.1f", array[0.5])是合法的语句
(  B  )
20、以下叙述中正确的是()。
A、C语言的源程序不必通过编译就可以直接运行
B、C语言中的每条可执行语句最终都将被转换成二进制的机器指令
C、C 源程序经编译形成的二进制代码可以直接运行
D、C语言中的函数不可以单独进行编译

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

(   T  )
1、c语言中输入与输出操作都是由库函数来实现的。 
(   T  )
2、i++表示在使用该表达式值之后将i值加1。 
(   T  )
3、switch语句中的case和default的出现次序是任意的。 
(   T  )
4、c语言中不允许嵌套定义函数。 
(   T  )
5、比较两个字符串是否相等不能通过条件运算符"=="。 
(   T  )
6、以下程序段中,当i大于10或者s大于20时,循环结束。 
(   F  )
7、c语言中不允许嵌套调用函数。 
(   T  )
8、在同一源文件中,使用extern可将全局变量的作用域向上扩展。 
(   F  )
9、c语言中运算对象必须是整型的运算符是’/’。 
(   F  )
10、使用strcpy(字符数组,字符串)函数时,字符串后面的'\0'并没有一起拷贝到字符数组中。 

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

1、表达式7+10>2 && 25 %5的结果是 ________ 。
2、if语句与_________语句一起可以构成循环结构。
3、c语言中与指针有关的两个运算符是________与*。
4、已知"float a=3.5;
int b=12;
",则算术表达式"a+b/5"的值是_____________。
5、C语言替换字符的函数是什么?

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

1、以下程序的输出结果是________。
main()
{
int x;
printf("%d\n",(x=2*4,x+5));
}
2、以下程序的输出结果是________。
main()
{
int x=5,y=6;
printf("%da%d",x――,――y);
}
3、下面程序的功能是从三个红球、五个白球、六个黑球中任意取出八个球,且其中必须有白球,输出所有可能的方案。请分析程序填空。
#include<stdio.h>
main()
{
int i,j,k;
printf("\n hong bai hei\n");
for(i=0;i<=3;i++)for( 【1】________;j<=5;j++)
{
k=8-i-j;
if( 【2】________) printf(" %3d %3d %3d\n",i,j,k);
}
}
4、请阅读下面的程序,当用户从键盘输入hello world时,分析程序是否能编绎通过并正确运行,如果不能,说明原因;
如果能,请写出运行结果。
void main()
{
char str[256];
scanf( );
printf( );
}
hello

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

1、定义一个结构体变量(包括年、月、日)。编写一个函数days,计算该日期在本年中是第几天(注意闰年问题)。由主函数将年月日传递给days函数,计算之后,将结果传回到主函数输出。
2、求3行3列矩阵a[3][3]={1,2,3,4,5,6,7,8,9}非对角线上元素之和。
3、任意输入一行字符串保存在一维字符数组中,判断里面数字字符的个数。
相关标签:
  • C语言
  • 河南中医药大学
  • 专升本题库