山东交通学院C语言程序设计专升本精选样卷
本试卷为山东交通学院C语言程序设计专升本精选样卷,题目包括:单项选择题,判断题,填空题,程序分析题,编程题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,程序题,结构体,文件。
C语言程序设计专升本精选样卷
一、单项选择题 (共20题,每题2分,共计40分)
( C )
1、下述对c语言字符数组的描述中错误的是________。
( A )
2、以下程序片段( ) 。 main ( ) { int x=0,y=0,z=0; if (x=y+z) printf("***"); else printf("###"); }
( D )
3、在下列选项中,没有构成死循环的程序段是________。
( B )
4、与十六进制数200等值得十进制数为________。
( C )
5、设变量已正确定义并赋值,以下正确的表达式是________。
( B )
6、若有下列说明和语句,则对结构体变量st中成员i的引用方式不正确的是________。 struct stu { int i; int name; } st,*p; p=&st;
( D )
7、可以作为自定义标识符的是________。
( A )
8、以下不合法的字符常量是________。
( B )
9、若有定义语句:char s[10]="1234567\0\0"; 则strlen(s)的值是________。
( C )
10、有以下程序 main() { union { unsigned int n; unsigned char c; } ul; ul.c='a'; printf("%c\n",ul.n); } 执行后输出结果是______。
( D )
11、在下面的条件语句中(其中s1个s2表示c语言语句),只有()在功能上与其他三个语句不等价。
( C )
12、假定double类型变量占用8个字节,且数组定义如下,则数组length在内存中所占字节数是________。double length [10];
( B )
13、下面四个选项中,均是合法的用户标识符的选项是________。
( A )
14、若x是整型变量,pb是类型为整型的指针变量,则正确的赋值表达式是______。
( C )
15、如果用数组元素作为函数调用时的实参,则该实参向函数的形参传送的是________。
( B )
16、下面选项中合法的字符常量是________。
( A )
17、以下选项中关于 c 语言常量的叙述错误的是________。
( B )
18、假定所有变量均已正确定义,下列程序段运行后x的值是________。 k1=1; k2=2; k3=3; x=15; if(!k1) x--; else if(k2) x=4; else x=3;
( C )
19、static struct { int a1; float a2; char a3; } a[10]={1,3.5,'a'}; 说明数组a是地址常量,它有10个结构体型的下标变量,采用静态存 储方式,其中被初始化的下标变量是________。
( A )
20、以下函数调用语句中实参的个数是()。 func((e1,e2),(e3,e4,e5));
二、判断题 (共10题,每题2分,共计20分)
( T )
1、字符常量与字符串是两种不同的常量。
( F )
2、宏定义的作用域为从源程序开始起到源程序结束止。
( F )
3、文件包含命令中,只能包含扩展名为.h的文件。
( F )
4、c语言每个函数的返回值都是int型的。
( T )
5、用字符串常量给数组赋初值时,如果提供的字符个数小于数组的长度,则在最后一个字符后加'\0'作为字符串结束标志。
( T )
6、一个c程序可以有若干个c源程序组成,而c源程序可以由若干个函数和预处理组成。()
( F )
7、在switch 语句中必须使用break 语句
( T )
8、选择结构( if 语句)和循环结构都可以使用嵌套形式
( F )
9、宏定义中的宏名必须用大写字母,宏定义的优点是"一改全改"。
( T )
10、以“r”方式打开一个文件时,文件指针指向文件首。
三、填空题 (共5题,每题4分,共计20分)
1、在c语言中,正确的标识符是由 ________ 组成的,且由 ________ 开头的。
2、c语言三个循环语句分别while语句、________语句和________语句。
3、在c语言中,在调用一个函数的过程中又出现__________或间接地调用该函数本身,这一现象称为函数的递归调用。
4、在c语言中,按函数在程序中出现的位置可分为以下三种调用方式:函数语句、函数表达式和函数________。
5、在传值调用中,实际是把实参的______。
四、程序分析题 (共4题,每题5分,共计20分)
1、以下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); }
2、下列程序段的运行结果是________。 #define add(x , y) x+y main() { int a , b , s; A=5, b=6; S=add(a,b); printf("s=%d\n" , s); }
3、以下程序运行后的输出结果是________。 main() { char s[ ]="gfedcba"; int p=6; while(s[p]!=‘d’) { printf("%c ", p); p=p-1; } }
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、编写程序:从键盘输入 n (n<10)个学生的学号(学号为4位的整数,从1000开始)、成绩并存入结构数组中,查找并输出成绩最高的学生信息。 输入输出示例:括号内为说明,无需输入输出 输入样例: 3 (n=3) 1000 85 1001 90 1002 75 输出样例: 1001 90
3、输入5个数,求和并输出。要求编写求和的函数。
相关标签:
- C语言
- 山东交通学院
- 专升本精选样卷