上海海洋大学2023年C语言专升本试题
本试卷为上海海洋大学2023年C语言专升本试题,题目包括:单项选择题,判断题,填空题,程序分析题,编程题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,程序题,结构体,文件。
C语言专升本试题
一、单项选择题 (共20题,每题2分,共计40分)
( C )
1、有一函数, ,以下程序段中不能根据x值正确计算出y值的是________。
( D )
2、已有定义:int x=3,y=4,z=5; ,则表达式!(x+y)+z-1 && y+z/2的值是________。
( D )
3、若要定义一个具有5个元素的整型数组,以下错误的定义语句是________。
( B )
4、下面的程序
main()
{
int x=3;
do
{
printf("%d\n",x-=2);
}
while(!(--x));
}
( C )
5、以下程序段的输出结果是________。 int k,n,m;
n=10;
m=1;
k=1;
while (k<=n)
{
m*=2;
k+=4;
}
printf("%d\n",m);
( D )
6、以下叙述正确的是________。
( A )
7、在c语言中(以16位pc机为例),五种基本数据类型存储空间长度的排列顺序是________。
( B )
8、当调用函数时,实参是一个数组名,则向函数传送的是 _______ 。
( A )
9、以下关于return语句的叙述中不正确的是________。
( D )
10、设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+ b/b的值是________。
( A )
11、if语句的基本形式为:if(表达式)语句,其中"表达式"________。
( A )
12、以下选项中,不能正确赋值的是 ______。
( A )
13、以下不能用于实型数据的运算符是________。
( B )
14、宏定义用于将一个标识符定义为一个
( D )
15、有如下定义: struct student
{
char name[10];
int age;
char gender;
}
std[3], *p=std;
则以下各输入语句中错误的是________。
( A )
16、下列程序执行后的输出结果是________。
main()
{
int x='f';printf("%c”,'A'+(x-‘a’+1));
}
( B )
17、定义file *fp; 则文件指针fp 指向的是________。
( A )
18、设有以下代码其中,循环体 a 与循环体 b 相同,以下叙述正确的是________。
( B )
19、下面语句中( )是c 语言的正确赋值语句。
( A )
20、以下叙述中错误的是
二、判断题 (共10题,每题2分,共计20分)
( F )
1、字符串常量是由一对单引号括起来的字符序列。
( T )
2、指针数组的每一个元素都是指针变量,且都指向相同的数据类型。
( F )
3、对于一个具体的函数来说,实参与形参不必一一对应。
( F )
4、while循环中不能再定义另一个循环。
( F )
5、c语言函数返回类型的默认定义类型是 void。
( F )
6、c语言规定, else 子句总是与它上面的最近的if 配对
( T )
7、表达式!( x>0||y>0 )等价于!(x>0)&&!(y>0) .()
( F )
8、全局变量的作用域是整个源程序文件。
( T )
9、break 语句不能够单独使用,只能用于循环语句和switch 语句
( T )
10、fseek函数一般用于二进制文件。
三、填空题 (共5题,每题4分,共计20分)
1、一般地,调用标准字符或格式输入输出库函数时,文件开头应有以下预编译命令:________ 。
2、执行下面的程序段后,*p等于【1】。
int a[5]={1,3,5,7,9},*p=a; p++;
3、下列程序段的运行结果是________。
main()
{
int i=1,s=0;
for( ; ; )
{
s=s+i ;
i++;
if(i>4) break ;
}
printf("%d\n",s);
}
4、下面程序的功能是:输出100以内能被3整除且个位数为6的 所有整数,请填空。
5、在C语言中的实型变量分为两种类型,它们是 ___和浮点型。
四、程序分析题 (共4题,每题5分,共计20分)
1、下列程序段的运行结果是________。
void sun()
{
int b=5;
}
main()
{
int b=1;
sun();
printf("b=%d",b);
}
2、以下程序运行的结果为________。
#include <stdio.h>
#include <string.h>
#define MOD(x,y) x%y
main( )
{
int i=3, j=8, k=5;
printf("%d\n", MOD(i+k,i-j));
}
3、函数del 的作用是删除有序数组a 中的指定元素x。已有调用语句n=del(a,n,x);
其中实参n 为删除数组元素的个数,赋值号左边的n 为删除后数组元素的个数。请填空。del(int a[],int n,int x)
{
int p,i;
p=0;
while (x>=a[p]&&p<n)【1】________;
for(i=p-1;i<n;i++)【2】________;
n=n-1;
return n;
}
4、当从键盘输入-1 0<cr>, 则以下程序的运行结果是________。
#include<stdio.h>
main()
{
int a,b,m,n;
m=n=1;
scanf("%d%d",&a,&b);
do
{
if(a>0)
{
m=2*n;
b++;
}
else
{
n=m+n;
a+=2;
b++;
}
}
while(a==b);
printf("m=%d n=%d\n",m,n);
}
五、编程题 (共3题,每题0分,共计50分)
1、编写程序:判断输入字符的字母的个数,以*结束输出。
2、编写程序:求两个正整数m,n之间的非素数之和(包含m和n) 例如: 如果数组m=2,n=20,则程序的输出应为:sum is: 132()
3、用一个数组存放图书信息,每本书是一个结构,包括下列几项信息书名、作者、出版年月、借出否,试写出描述这些信息的说明,并编写一个程序,读入若干本书的信息然后打印出以上信息,使用结构体实现。
相关标签:
- C语言
- 上海海洋大学
- 专升本试题