海南医学院2023年计算机C语言专升本
本试卷为海南医学院2023年计算机C语言专升本,题目包括:单项选择题,填空题,编程题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,结构体,程序题。
计算机C语言专升本
一、单项选择题 (共20题,每题2分,共计40分)
( B )
1、以下叙述中正确的是________。
( B )
2、以下选项中不正确的实型常量是________。
( B )
3、下面结构体的定义语句中,错误的是________。
( C )
4、以下程序的运行结果是:
#include<stdio_h>
void sub(int s[] , int y)
{
static int t=3 ;
y=s[t] ;
t-- ;
}
main()
{
int a[]={1,2 , 3 , 4}, i , x=0 ;
for(i=0 ; i<4 ; i++)
{
sub(a,x) ;
printf( "% d ", x) ;
}
printf( "\ n " ) ;
}
( D )
5、已知 short int 类型变量占用两个字节 , 若有定义 : short int x[10]={ 0,2,4 }; 则数组 x 在内存中所占字节数是 __________.
( A )
6、对于 c 语言的函数,下列叙述中正确的是 ______ __.
( B )
7、以下合法的赋值语句是______。
( B )
8、在32位的计算机中,一个char型数据所占的内存长度的字节是________。
( D )
9、在c语言程序中
( C )
10、若有下面的程序片段:
int[12]={0},*p[3],**pp,i;
for(i=0;i<3;i) p[i]=&a[i*4];
pp=p
则对数组元素的错误引用是________。
( B )
11、下面程序的运行结果是________。
#include <stdio.h>
main() {
int a=1,b=10;
do
{
b-=a;
a++;
}
while(b--<0);
printf("a=%d,b=%d\n",a,b);
}
( B )
12、宏定义用于将一个标识符定义为一个
( C )
13、阅读下列程序段: char s[18] = "a book!"; printf("%.4s\n", s);
其输出结果为________。
( A )
14、有以下程序
main()
{
int a=15,b=21,m=0;
switch(a%3)
{
case 0:m++;
break;
case 1:m++;
switch(b%2)
{
default:m++;
case 0:m++;
break;
}
}
printf("%d\n",m);
}
程序运行后的输出结果是______。
( A )
15、有以下程序
struct s
{
int n;
int a[20];
}
;
void f(int *a, int n)
{
int i;
for(i=0;i<n-1;i++) a[i]+=i;
}
main()
{
int i;
struct s s={10,
{
2,3,1,6,8,7,5,4,10,9}};
f(s.a,s.n);
for(i=0;i<s.n;i++) printf("%d,",s.a[i]);
}
程序运行后的输出结果是______。
( D )
16、如下程序,输入错误的为:
void main()
{
int a;
int b;
scanf("%d%d",&a,&b);
printf("%d %d",a,b);
}
( D )
17、以下说法错误的是________。
( D )
18、int i,j,a[2][3]; 按照数组a的元素在内存的排列次序,不能将数 1,2,3,4,5,6存入a数组的是________。
( C )
19、定义结构体的关键字是________。
( B )
20、c语言的switch语句中case后____
二、填空题 (共10题,每题2分,共计20分)
1、c程序中的变量按其定义位置及作用域可分为________两种。
2、设int a; float f; double i; 则表达式10+’a’+i*f值的数据类型是________ 。
3、以下sstrcpy( )函数实现字符串复制,即将t所指字符串复制到s所指向内存空间中,形成一个新的字符串s。请填空。
void sstrcpy(char *s,char *t)
{
while(*s++= ________);
}
main( )
{
char str1[100],str2[]="abcdefgh";
sstrcpy(str1,str2);
printf("%s\n",str1);
}
4、若有定义:int a=3; 表达式a/2.0+'b'-'a'的值是【1】。
5、在c语言中,如果采用printf函数将整个字符串一次输出,那么对应的格式控制符为"( )"。
6、以下程序的输出结果是________。#inlcude <stdio.h>
main()
{
int m=68;
putchar(m+30);
}
7、下面程序段中循环体的执行次数是________。
a=10;
b=0;
do
{
b+=2;
a-=2+b;
}
while(a>=0);
8、从文件读入一行,读取字符包括空格,使用函数________。
9、设有以下程序:
main()
{
int n1,n2;
scanf("%d",&n2);
while(n2!=0)
{
n1=n2 ;
n2=n2/10;
printf("%d ",n1);
}
}
程序运行后,如果从键盘上输入1298;
则输出结果为________。
10、设y为int型变量,请写出描述“y是奇数”的表达式______。
三、编程题 (共3题,每题0分,共计40分)
1、编写程序:利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。
2、编写程序:利用指针方法, 输入3个数a,b,c,按大小顺序输出。
3、输入n个朋友的信息,包括姓名、生日、电话号码,本题要求编写程序,按照年龄从大到小的顺序依次输出通讯录。题目保证所有人的生日均不相同。 输入格式: 输入第一行给出正整数n(<10)。随后n行,每行按照“姓名 生日 电话号码”的格式给出一位朋友的信息,其中“姓名”是长度不超过10的英文字母组成的字符串,“生日”是yyyymmdd格式的日期,“电话号码”是不超过17位的数字及+、-组成的字符串。 输出格式: 按照年龄从大到小输出朋友的信息,格式同输出。 输入样例: 3 zhang 19850403 13912345678 wang 19821020 +86-0571-88018448 qian 19840619 13609876543 输出样例: wang 19821020 +86-0571-88018448 qian 19840619 13609876543 zhang 19850403 13912345678
相关标签:
- C语言
- 海南医学院
- 专升本