海南医学院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语言
- 海南医学院
- 专升本