内蒙古工业大学2023年C语言程序设计专升本预测卷
本试卷为内蒙古工业大学2023年C语言程序设计专升本预测卷,题目包括:单项选择题,判断题,填空题,程序分析题,编程题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,程序题,结构体,文件。
C语言程序设计专升本预测卷
一、单项选择题 (共20题,每题2分,共计40分)
( A )
1、关于c语言中数的表示,以下叙述中正确的是________。
( C )
2、下述程序的输出结果是________。
main()
{
char che2][5]-{"1234","5678"},*p[2];
int i,j,s=0;
for(i=0;i<2;i++) p[i]=ch[i];
for(i=0;i<2;i++)
{
s=p[i][j]一'0';
printf("%d",s);
}
}
( D )
3、以下程序运行后的输出结果是________。
#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);
}
( D )
4、以下能正确定义字符串的语句是________。
( C )
5、有以下函数定义:
void fun(int n, double x)
{
……
}
若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是________。
( B )
6、有以下程序
#include <stdio.h>
void fun( int *a,int *b)
{
int *c;
c=a;
a=b;
b=c;
}
main()
{
int x=3, y=5, *p=&x, *q=&y ;
fun(p,q);
printf("%d,%d,",*p,*q);
fun(&x,&y);
printf("%d,%d\n",*p,*q);
}
程序运行后输出的结果是________。
( D )
7、在定义 int a[10]; 之后,对 a 的引用正确的是______。
( C )
8、设有如下枚举类型定义: enum language
{
basic=3 , assembly , ada=100 , cobol , fortran
};
枚举量 fortran 的值为 。
( A )
9、如果用数组名作为实参,则传递给形参的是________。
( C )
10、下列语句中执行跳转功能的语句是________。
( B )
11、以下叙述中正确的是________。
( C )
12、下面程序的输出结果是________。
#include<stdio.h>
main() {
char a[]='a','b','c','d','f','g',*p;
p=a;
printf("%c\n",*p+4);
}
( A )
13、以下程序的运行结果是________。
#include <stdio.h>
main()
{
int a[]={1,2,3,4,5,6,7,8,9,10,11,12};
int *p=a+5,*q=null;
*q=8(p+5);
printf("%d %d\n", *p,*q);
}
( C )
14、下列字符数组长度为5的是________。
( B )
15、c语言中,关系表达式和逻辑表达式的值是________。
( C )
16、该语句打印结果为(每个d后都有空格)printf("%d ", printf("%d ", printf("%d ", 43)));
( B )
17、下列字符序列中,不可用作c语言标识符的是________。
( B )
18、c语言中,定义结构体的保留字是________。
( D )
19、设有char str[10] ,下列语句正确的是________ 。
( A )
20、下面程序段输出两个字符串中对应相等的字符。请分析程序填空。
char x[]="programming";
char y[]="fortran";
int i=0;
while (x[i]!='\0'&&y[i]!='\0')
if (x[i]==y[i]) printf("%c", _____);
else i++;
二、判断题 (共10题,每题2分,共计20分)
( T )
1、用strcat(字符串1,字符串2)连接两个字符串函数时,将字符串1后面的'\0'取消,只在新串的最后保留一个'\0'。
( T )
2、c语言中简单变量作为实参时,它和对应的形参之间的数据传递方式是单向值传递。
( T )
3、case语句后如没有break,顺序向下执行。
( T )
4、递归调用时必须有结束条件,不然就会陷入无限递归的状态。
( F )
5、表达式1/4+2.75的值是3.
( F )
6、函数调用可以出现在执行语句中,但不能出现在表达式中.
( T )
7、在switch语句中,多个case可以共用一组执行语句。
( F )
8、在定义数组时,什么时候都不可以将该数组的维数省略。
( F )
9、当函数的实参与形参同名时,它们将共占内存单元。 ( )
( F )
10、随机操作只适用于文本文件。
三、填空题 (共5题,每题4分,共计20分)
1、在c语言中,格式输入库函数为________,格式输出库函数为________。
2、表达式(int)((double)(5/2)+2.5)的值是 ________ 。
3、在c语言中,以________开头的常量代表的是十六进制数。
4、ferror函数用来检测文件读写时是否发生错误,若未发生读写错误,则返回值是________。
5、下列程序段的运行结果是________。
main()
{
int m=1,t=1;
for( ; ; )
{
m=m+t ;
t++;
if(m>9) break ;
}
printf("%d\n",m);
}
四、程序分析题 (共4题,每题5分,共计20分)
1、以下程序的输出结果是_____________。
main()
{
int a=10,b=10;
printf("%da%d",a――,――b);
}
2、下列程序段的运行结果是________。
main( )
{
int a=5,b=6,c;
int max(int,int);
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 ;
}
3、int x=6, y=7;
printf("%d,",x++);
printf("%d\n",++y);
程序的输出结果是________。
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、编写程序: 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
2、题⽬描述 万⾥⼗佳歌⼿⽐赛终于开始了,评委席坐了N(N⼤于等于3,并且N⼩于80)个评委,他们商量了很久,终于找出⼀个公正合理的评分⽅法。每次歌⼿唱完后,每个评委⾃⼰打⼀个分,然后在N个评委的打分中,去掉⼀个最⾼分,⼀个最低分。然后再把剩下的评委的打分求平均值~ 。 但是问题是他们嫌每次拿计算器按实在太烦。作为⼀名计算机专业学⽣~你⽤个程序帮帮他们搞定吧。 输⼊ 输⼊有多组数据。每组2⾏,第⼀⾏是⼀个N,代表有N个评委。然后第⼆⾏有N个数,每个数⽤空格隔开,代表每个评委的打分。 当输⼊的N为0的时候结束输⼊。 输出 对于每组输⼊,输⼊最终这个选⼿的得分(⼩数点后⾯保留2位有效数字)。 样例输⼊ 3 74 36 34 7 16 97 27 26 74 96 88 样例输出 36.00 62.20
3、任意输入一行字符串保存在一维字符数组中,判断里面数字字符的个数。
相关标签:
- C语言
- 内蒙古工业大学
- 专升本预测卷