蚌埠医学院C语言程序设计期末
本试卷为蚌埠医学院C语言程序设计期末,题目包括:单项选择题,判断题,填空题,程序分析题,编程题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,程序题,结构体,文件。
C语言程序设计期末
一、单项选择题 (共20题,每题2分,共计40分)
( A )
1、以下程序段给数组所有元素输入数据: main() { int a[10],i=0; while(i<10)scanf("%d",); } 应在下划线处填入的是________。
( C )
2、有以下程序 typedef struct { char name[9]; char sex; float score [2]; } stu; stu f(stu a) { stu b={"zhao", 'm', 85.0, 90.0}; int i; strcpy(a.name, b.name); a.sex=b.sex:; for(i=0;i<2;i++) a.score[i]=b.score[i]; return a: } main() { stu c= { "qian", 'f', 95.0, 92.0 }; stu d=f(c); printf("%s, %c, %2.0f, %2.0f", d.name, d.sex, d.score[0], d.score[1]); ) 程序的运行结果是________。
( D )
3、若已定义:int a[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0≤i≤9,则对a数组元素的引用不正确的是________。
( C )
4、以下程序 #include <stdio.h> #define SUB(a) (a)-(a) main() { int a=2,b=3,c=5,d; d=SUB(a+b)*c; printf("%d\n",d); } 程序运行后的结果是________。
( B )
5、有以下程序 #include <stdlib.h> struct node { int num; struct node *next; }; main( ) { struct node *p,*q,*r; int sum=0; p=(struct node *)malloc(sizeof(struct node)); q=(struct node *)malloc(sizeof(struct node)); r=(struct node *)malloc(sizeof(struct node)); p->num=1; q->num=2; r->num=3; p->next=q; q->next=r; r->next=null; sum+=q->next->num; sum+=p->num; printf("%d\n",sum); } 执行后的输出结果是________。
( B )
6、有以下程序 main() { int i, j,m =55; for(i=l;i<3;i++) for(j=3;j<=++) m=m%j; printf("%d\n",m); } 程序的运行结果是________。
( B )
7、若有说明:int a[][3]={{1,2,3},{4,5},{6,7}};则数组a的第一维的大小为: ( )
( B )
8、下列运算符中,属于关系运算符的是________。
( A )
9、下列各循环语句中,不是死循环的是________。
( A )
10、if语句的基本形式为:if(表达式)语句,其中"表达式"________。
( B )
11、设有两个字符串p和q,其中q是p的子串,把q在p中首次出现的位置作为子串q在p中位置的算法称为 (43) 。
( D )
12、设函数定义如下: float f1(float a,float b) { return(a+b); } 若有float x=1.1,y=2.2; ,则以下语句中正确的函数调用是________。
( B )
13、标准的ascii码最多可以表示多少个字符
( D )
14、下列运算符结合性不同的是________。
( B )
15、下列语句合法的是________。
( A )
16、算法指的是________。
( A )
17、以下叙述中正确的是________。
( B )
18、下列数据中属于"字符串常量"的是________。
( A )
19、下面四个选项中,均是合法转义字符的选项是________。
( C )
20、表达式 x&&1 等价于________。
二、判断题 (共10题,每题2分,共计20分)
( F )
1、当函数的类型为float型时,vc++允许省略函数声明。
( T )
2、若不希望其他源文件引用本文件中定义的全局变量,可在定义全局变量时加上static。
( T )
3、while语句和do - while语句的一般形式分别如下,其主要区别是:while 语句先判断循环条件,只有条件满足才进入循环,如果一开始条件就不满足,则循环一次都不执行。而do - while语句先执行循环体,后判断循环条件,所以无论循环条件的值如何,至少会执行一次循环体。
( T )
4、c 语言标准格式输入函数 scanf() 的参数表中要使用变量的地址值。
( F )
5、c 语言标准输出操作中 ,putchar() 函数可以输出显示一个字符串。
( T )
6、数组定义后,数组名表示该数组所分配连续内存空间中第一个单元的地址,即首地址。
( T )
7、c 语言具有简洁明了的特点。
( F )
8、’ x61’代表字符‘ a’。
( T )
9、逻辑表达式的值只能为1或0。
( T )
10、如果函数定义出现在函数调用之前,可以不必加函数原型声明
三、填空题 (共5题,每题4分,共计20分)
1、设a=12,a定义为整型变量,表达式a*=2+3的值为________。
2、在定义函数时函数名后面括号中的变量名称为________。
3、已知a=5,则表达式"a+=a*=3"的值是________。
4、下列程序段的运行结果是________。 main() { int i=1,s=0; for( ; ; ) { s=s+i ; i++; if(i>4) break ; } printf("%d\n",s); }
5、编译预处理包括宏定义、文件包含、( )等。
四、程序分析题 (共4题,每题5分,共计20分)
1、以下程序的输出结果为________。 main() { char m ,n ; m=getchar(); /*(输入d)*/n=m-34; printf("%c",n); }
2、以下程序的输出结果是 ________ 。 main() { int x=0; sub(&x,8,1); printf("%d\n",x); } sub(int *a,int n,int k) { if(k<=n) sub(a,n/2,2*k); *a+=k; }
3、输入一个3*3的实数矩阵,求主对角线元素中的最大值。 main() { float s[3][3],max1,max2,x; int i,j; for(i=0;i<3 ;i++) for(j=0;j<3;j++) { scanf("%f", &x); s[i][j]=x; } max=s[0][0]; for(i=1;i<3;i++) if(max<________) max=________; printf("max1=%f\n",max); }
4、下列给定程序中,函数proc()的功能是计算正整数m 各位上数字的平方和。 例如,输入498,则输出应该是161。 请修改程序中的错误,使它能得到正确结果。 注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include<stdlib.h> #include<stdio.h> #include<conio.h> long proc(10ng m) { long sum=1; do { sum+=(m%10)*(m%10); m/= 10; } while(m) return(sum); } void main() { long n; system("cls"); printf("please enter a number:"); scanf("%1d",&n); printf("\n%ld\n",proc(n)); }
五、编程题 (共3题,每题0分,共计50分)
1、编写程序:计算字符串中子串出现的次数 。请输入两个字符串,以回车隔开,母先串在前,子串在后,比如: abca a 2
2、判断101-200之间有多少个素数,并输出所有素数。
3、题⽬描述 输⼊n(3≤n≤30)个学⽣的数据记录,对于每⼀个学⽣,其记录包含了学号、姓名、3门课程(程序设计基础、计算机导论、⾼等数学)的成绩共5项。 要求查找程序设计基础低于平均分的学⽣,并输出该⽣的所有信息 要求使⽤结构体数组实现,结构体中包括了每个学⽣的5项记录。 输⼊ 共有5⾏,每⾏包含了⼀个学⽣的学号(整数)、姓名(长度不超过30的⽆空格字符串)和程序设计基础、计算机导论、⾼等数学等3门课程的成绩(0⾄100之间的整数),⽤空格隔开。 输出 输出程序设计基础低于平均分的学⽣的所有信息;每个输出占1⾏;如果没有找到的话,输出“No” 样例输⼊ 3 20####0377 chensiyuan 99 91 90 20####0386 wangting 94 93 88 20####0436 chenhui 85 88 90 样例输出 20####0436 chenhui 85 88 90
相关标签:
- C语言
- 蚌埠医学院
- 期末