班级姓名班内序号
软件101《c程序设计》期末模拟试卷。
一、 选择题(本大题30分,每小题2分)
1.下列说法正确的是 。
a) main函数必须放在c程序的开头。
b) main函数必须放在c程序的最后。
c) main函数可以放在c程序的中间部分,但在执行c程序时是从程序开头执行的。
d) main函数可以放在c程序的中间部分,但在执行c程序时是从main函数开始的。
2.在下面几组数据类型中, 全为最常用的基本数据类型的是哪一组: 。
a)整型实型字符型b)整型数组指针。
c)数组结构体共用体d)指针逻辑型空类型。
3.若有说明语句:char c= ‘64’ ;则变量c包含: 。
a)1个字符b)2个字符
c)3个字符d)说明不合法,c值不确定。
4.设有如下定义和执行语句,其输出结果为: 。
int a=3,b=3;
a = b + 1; printf(“%d %d”,a,b);
a)3 2 b)4 2 c)2 2 d)2 3
语言中,运算对象必须是整型数的运算符是 。
abc)% 和d)**
6.能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是 。
a)(x<=-10)||x>=-5)&&x<=0)||x>=100)
b)(x>=-10)&&x<=-5)||x>=0)&&x<=100)
c)(x>=-10)&&x<=-5)&&x>=0)&&x<=100)
d)(x<=-10)||x>=-5)&&x<=0)||x>=100)
7.程序段如下。
int k=0;
while(k++<2); printf("last=%d",k);
则执行结果是last
a)2b)3c)4d)无结果。
8.下面有关for循环的正确描述是 。
a)for循环只能用于循环次数已经确定的情况。
b)for循环是先执行循环体语句,后判断表达式。
c)在for循环中,不能用break语句跳出循环体。
d)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来。
9.若二维数组a有m列,则a[i][j]元素前的数组元素个数为: 。
a)j*m+i b)i*m+j c)i*m+j-113 d)i*m+j+1
语言中变量的指针指的是: 。
a)变量类型 b)变量值 c)变量值 d)变量地址。
11.设有两字符串“beijing”、“china”分别存放在字符数组str1[10],str2[10]中,下面语句中能把“china”连接到“beijing”之后的为: 。
a)strcpy(str1,str2);
b)strcpy(str1, “china”);
c)strcat(str1,“china”)
d)strcat(“beijing”,str2);
12.以下程序的运行结果是: 。
main( )
int a=2, i ;
for(i=0;i<3;i++)printf(“%4d”,f(a) )
f( int a)
int b=0,c=3;
b++;c++;return(a+b+c);
a)7 10 13b)7 7 7
c)7 9 11d)7 8 9
13.在c语言程序中,若未在函数定义时说明函数类型,则函数默认的类型为: 。a)void b)double c)int d)char
14.在说明一个结构体变量时系统分配给它的存储空间是 。
a) 该结构体中第一个成员所需存储空间。
b) 该结构体中最后一个成员所需存储空间。
c) 该结构体中占用最大存储空间的成员所需存储空间。
d) 该结构体中所有成员所需存储空间的总和。
15.使用fseek函数可以实现的操作是 。
a) 改变文件的位置指针的当前位置。
b) 文件的顺序读写。
c) 文件的随机读写。
d) 以上都不对
二、判断题(本大题10分,每小题1分)
1、c程序可以由若干个源文件组成,因此最小的功能单位是源文件,最译单位的是函数。(
2、c程序有三种结构化程序设计方法,分别顺序结构、选择结构和循环结构。(
3、在if语句中,if子句与else子句都可以单独使用,构成了if语句的两种缺省形式。(
4、for语句作为循环控制语句时,其括号内各个表达式及其后的分号都可缺省。(
5、c程序中函数不可以嵌套定义但可以嵌套调用。(
6、字符串可以用来给数组赋值,在c程序的执行语句中可以直接用字符串给数组名赋值。 (
7、数组名也可作为函数参数使用,此时数组名代表数组的起始地址。(
8、在函数内的复合语句中定义的变量在本函数范围内有效。(
9、声明一个结构体类型的一般形式为struct 结构体名 ;。
10、anci c规定了标准输入输出函数库,用fseek()函数来实现打开文件。(
三、程序填空题(本大题12分,每小题2分)
1.下面程序可求出1~1000的自然数中所有的完数(因子和等于该数本身的数)请填空。
main( )
int m, n, s;
for(m=2;m<1000;m++)
for(n=1;n<=m/2;n++)
if(__2)__s+=n;
if(__3)__printf(“%d”, m);
2.. 用起泡法对十个数由大到小排序。
main( )
int a[11], i, j, t;
printf(“input 10 numbers: ”);
for(i=1;i<11;i++)
scanf(“%d”,&a[i]);
printf(“”);
for (j=1;j<=9;j++)
for(i=1; _1)__i++)
if (_2)__
t=a[i]; a[i]=a[i+1]; 3)__
printf(“the sorted numbers: ”);
for ( i=1; i<11; i++)
printf(“%d”,a[i]);
四、写出下面程序的执行结果(本大题24分,每小题4分)
#include<>
void main( )
#include<>
void main( )
3. void main( )
char a[6][6], i, j;
for(i=0;i<6;i++)
for(j=0;j<6;j++)
4. void main( )
fun (int i, int j )
int x=7;
printf(“i=%d; j=%d; x=%d”, i, j, x) ;
# include <>
void main( )
6. struct stru ;
void main( )
struct stru a=,*p=&a; func (p);
printf ( d,%c”,
func (struct stru *b)
b->x=20; b->c=’y’;
五、编程题(本大题24分,每做对一题12分)
1.把输入的整数(最多不超过5位)按输入顺序的反方向输出,例如,输入数是12345,要求输出结果是54321,编程实现此功能。
2.编一程序,从键盘输入10个整数并保存到数组,要求找出最小的数和它的下标,然后把它和数组中最前面的元素对换位置。
3.编写一个函数计算一个字符串的长度,输入输出在主函数内完成。(使用指针)
一、 选择题(本大题30分,每小题2分)
1~5 d a a a a6~10 b c d d d
11~15 c b c d a
C语言C模拟试卷
一 选择题 共40分 1 下列运算符中优先级最高的是 2分 ab cd 2 若x,i和j都是整型变量,则计算x i 6,j 40 表达式后,x的值为 2分 a 6 b 46 c 34 d 40 3 以下叙述正确的是 2分 a 在c程序中,main函数必须位于程序的最前面。b c程序的每一行中只能写一...
C语言模拟试卷A
安徽农业大学经济技术学院。c语言程序设计 模拟试卷 a 所有答案写在答题卡上,否则不得分。一 单项选择题 每题1分,共30分 1.以下选项中叙述正确的是 c a c语言程序总是从第一个定义的函数开执行。b 在c语言程序中,被调用的函数必须在main 函数中声明c c语言程序总是从main 函数开始执...
C语言模拟试卷
1 在计算机上可以直接运行的程序是 c 1 a c语言源程序 b 汇编语言程序 c 机器语言程序 d 高级语言程序。2 一个程序总是从 c 开始执行程序。2 a 第一行 b 第一个函数 c 主函数 d 最后一个函数。3 c语言中的函数 c 3 a 嵌套定义和嵌套调用均可 b 可以嵌套定义但不可以嵌套...