河南中医药大学2022年C语言专升本题库
本试卷为河南中医药大学2022年C语言专升本题库,题目包括:单项选择题,判断题,填空题,程序分析题,编程题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,程序题,结构体,文件。
C语言专升本题库
一、单项选择题 (共20题,每题2分,共计40分)
( D )
1、若有定义:int c[4][5],(*cp)[5]; 和语句cp=c; ,则能正确引用c数组元素的是________。
( B )
2、以下能正确定义二维数组的是________。
( B )
3、已知有如下结构体:
struct sk
{
int a;
float b;
}
data,*p;
若有p = &data,则对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);
}
( D )
5、下列判断正确的是________。
( B )
6、下述 for 循环语句 。
int i,k;
for(i=0,k=-1;k=1;i++,k++)
printf("* * * *");
( A )
7、以下程序段运行结果是 __________. int x=1,y=1,z=-1; x+=y+=z; printf("%d\n",x<y?y:x);
( C )
8、下面程序段中 , 循环体的执行次数是 ___________.
int a=10,b=0;
do
{
b+=2;
a-=2+b;
}
while(a>=0);
( B )
9、若有定义语句:int x=12,y=8,z; 在其后执行语句z=0.9+x/y; 则z的值为___________。
( A )
10、if语句的基本形式为:if(表达式)语句,其中"表达式"________。
( B )
11、在函数调用过程中,如果函数funa调用了函数funb,函数funb又调用了函数funa,则 ________。
( A )
12、下列四个不同数制表示的数中,数值最大的是________。
( C )
13、设有以下语句:
typedef struct tt { char c; int a[4]; } cin; 则下面叙述中正确的是________。
( D )
14、若下列选项中的各变量均为整型且已有值,其中不正确的赋值语句是________。
( D )
15、以下正确的字符串常量是________。
( C )
16、列关于计算机中数的表示的叙述中,错误的是________。
( 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);
}
执行后的输出结果是 ______。
( C )
18、若给定条件表达式(m)?(a++):(a--)则下列选项中和表达式m等价的是________。
( A )
19、下面说法正确的是________。
( B )
20、以下叙述中正确的是()。
二、判断题 (共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语言
- 河南中医药大学
- 专升本题库